@1337exp/taoui 1.3.4 → 1.4.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.cjs CHANGED
@@ -2,17 +2,17 @@
2
2
  typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("vue")) : typeof define === "function" && define.amd ? define(["exports", "vue"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.TaoUI = {}, global.Vue));
3
3
  })(this, function(exports2, vue) {
4
4
  "use strict";
5
- const _hoisted_1$J = ["type", "disabled"];
6
- const _hoisted_2$C = {
5
+ const _hoisted_1$M = ["type", "disabled"];
6
+ const _hoisted_2$F = {
7
7
  key: 0,
8
8
  class: "tao-button__loader"
9
9
  };
10
- const _hoisted_3$w = {
10
+ const _hoisted_3$y = {
11
11
  key: 1,
12
12
  class: "tao-button__icon"
13
13
  };
14
- const _hoisted_4$q = { class: "tao-button__content" };
15
- const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
14
+ const _hoisted_4$r = { class: "tao-button__content" };
15
+ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
16
16
  ...{ name: "TaoButton" },
17
17
  __name: "TaoButton",
18
18
  props: {
@@ -49,12 +49,12 @@
49
49
  disabled: __props.disabled || __props.loading,
50
50
  onClick: handleClick
51
51
  }, [
52
- __props.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$C)) : vue.createCommentVNode("", true),
53
- __props.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$w, vue.toDisplayString(__props.icon), 1)) : vue.createCommentVNode("", true),
54
- vue.createElementVNode("span", _hoisted_4$q, [
52
+ __props.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$F)) : vue.createCommentVNode("", true),
53
+ __props.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$y, vue.toDisplayString(__props.icon), 1)) : vue.createCommentVNode("", true),
54
+ vue.createElementVNode("span", _hoisted_4$r, [
55
55
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
56
56
  ])
57
- ], 10, _hoisted_1$J);
57
+ ], 10, _hoisted_1$M);
58
58
  };
59
59
  }
60
60
  });
@@ -65,8 +65,8 @@
65
65
  }
66
66
  return target;
67
67
  };
68
- const TaoButton = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-5a0fd489"]]);
69
- const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
68
+ const TaoButton = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-085cd74d"]]);
69
+ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
70
70
  ...{ name: "TaoBlock" },
71
71
  __name: "TaoBlock",
72
72
  props: {
@@ -98,24 +98,24 @@
98
98
  };
99
99
  }
100
100
  });
101
- const TaoBlock = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-feb87e36"]]);
101
+ const TaoBlock = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-feb87e36"]]);
102
102
  const formFieldKey = Symbol("taoFormField");
103
- const _hoisted_1$I = { class: "tao-input-wrapper" };
104
- const _hoisted_2$B = ["for"];
105
- const _hoisted_3$v = {
103
+ const _hoisted_1$L = { class: "tao-input-wrapper" };
104
+ const _hoisted_2$E = ["for"];
105
+ const _hoisted_3$x = {
106
106
  key: 0,
107
107
  class: "tao-input__affix tao-input__affix--prefix"
108
108
  };
109
- const _hoisted_4$p = ["id", "type", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby"];
110
- const _hoisted_5$h = {
109
+ const _hoisted_4$q = ["id", "type", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby"];
110
+ const _hoisted_5$i = {
111
111
  key: 1,
112
112
  class: "tao-input__affix tao-input__affix--suffix"
113
113
  };
114
- const _hoisted_6$d = {
114
+ const _hoisted_6$e = {
115
115
  key: 1,
116
116
  class: "tao-input__error"
117
117
  };
118
- const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
118
+ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
119
119
  ...{ name: "TaoInput" },
120
120
  __name: "TaoInput",
121
121
  props: {
@@ -151,12 +151,12 @@
151
151
  emit("focus", event);
152
152
  }
153
153
  return (_ctx, _cache) => {
154
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$I, [
154
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$L, [
155
155
  __props.label && !vue.unref(field) ? (vue.openBlock(), vue.createElementBlock("label", {
156
156
  key: 0,
157
157
  class: "tao-input__label",
158
158
  for: controlId.value
159
- }, vue.toDisplayString(__props.label), 9, _hoisted_2$B)) : vue.createCommentVNode("", true),
159
+ }, vue.toDisplayString(__props.label), 9, _hoisted_2$E)) : vue.createCommentVNode("", true),
160
160
  vue.createElementVNode("div", {
161
161
  class: vue.normalizeClass(["tao-input-shell", {
162
162
  "tao-input-shell--focused": focused.value,
@@ -166,7 +166,7 @@
166
166
  "tao-input-shell--suffix": _ctx.$slots.suffix
167
167
  }])
168
168
  }, [
169
- _ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$v, [
169
+ _ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$x, [
170
170
  vue.renderSlot(_ctx.$slots, "prefix", {}, void 0, true)
171
171
  ])) : vue.createCommentVNode("", true),
172
172
  vue.createElementVNode("input", {
@@ -181,27 +181,27 @@
181
181
  onInput: handleInput,
182
182
  onBlur: handleBlur,
183
183
  onFocus: handleFocus
184
- }, null, 42, _hoisted_4$p),
185
- _ctx.$slots.suffix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$h, [
184
+ }, null, 42, _hoisted_4$q),
185
+ _ctx.$slots.suffix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$i, [
186
186
  vue.renderSlot(_ctx.$slots, "suffix", {}, void 0, true)
187
187
  ])) : vue.createCommentVNode("", true)
188
188
  ], 2),
189
- __props.error && __props.errorMessage ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$d, vue.toDisplayString(__props.errorMessage), 1)) : vue.createCommentVNode("", true)
189
+ __props.error && __props.errorMessage ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$e, vue.toDisplayString(__props.errorMessage), 1)) : vue.createCommentVNode("", true)
190
190
  ]);
191
191
  };
192
192
  }
193
193
  });
194
- const TaoInput = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-b522e041"]]);
195
- const _hoisted_1$H = {
194
+ const TaoInput = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-b522e041"]]);
195
+ const _hoisted_1$K = {
196
196
  key: 0,
197
197
  class: "tao-input-group__addon tao-input-group__addon--before"
198
198
  };
199
- const _hoisted_2$A = { class: "tao-input-group__field" };
200
- const _hoisted_3$u = {
199
+ const _hoisted_2$D = { class: "tao-input-group__field" };
200
+ const _hoisted_3$w = {
201
201
  key: 1,
202
202
  class: "tao-input-group__addon tao-input-group__addon--after"
203
203
  };
204
- const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
204
+ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
205
205
  ...{ name: "TaoInputGroup" },
206
206
  __name: "TaoInputGroup",
207
207
  setup(__props) {
@@ -223,28 +223,28 @@
223
223
  onFocusin: onFocusIn,
224
224
  onFocusout: onFocusOut
225
225
  }, [
226
- _ctx.$slots.before ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
226
+ _ctx.$slots.before ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$K, [
227
227
  vue.renderSlot(_ctx.$slots, "before", {}, void 0, true)
228
228
  ])) : vue.createCommentVNode("", true),
229
- vue.createElementVNode("div", _hoisted_2$A, [
229
+ vue.createElementVNode("div", _hoisted_2$D, [
230
230
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
231
231
  ]),
232
- _ctx.$slots.after ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$u, [
232
+ _ctx.$slots.after ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$w, [
233
233
  vue.renderSlot(_ctx.$slots, "after", {}, void 0, true)
234
234
  ])) : vue.createCommentVNode("", true)
235
235
  ], 34);
236
236
  };
237
237
  }
238
238
  });
239
- const TaoInputGroup = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-f06bb3b1"]]);
240
- const _hoisted_1$G = ["id", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
241
- const _hoisted_2$z = {
239
+ const TaoInputGroup = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-f06bb3b1"]]);
240
+ const _hoisted_1$J = ["id", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
241
+ const _hoisted_2$C = {
242
242
  key: 0,
243
243
  class: "tao-input-number__steppers"
244
244
  };
245
- const _hoisted_3$t = ["disabled"];
246
- const _hoisted_4$o = ["disabled"];
247
- const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
245
+ const _hoisted_3$v = ["disabled"];
246
+ const _hoisted_4$p = ["disabled"];
247
+ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
248
248
  ...{ name: "TaoInputNumber" },
249
249
  __name: "TaoInputNumber",
250
250
  props: {
@@ -393,8 +393,8 @@
393
393
  onFocus,
394
394
  onBlur,
395
395
  onKeydown
396
- }, null, 40, _hoisted_1$G),
397
- __props.controls ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$z, [
396
+ }, null, 40, _hoisted_1$J),
397
+ __props.controls ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$C, [
398
398
  vue.createElementVNode("button", {
399
399
  type: "button",
400
400
  class: "tao-input-number__step",
@@ -402,7 +402,7 @@
402
402
  tabindex: "-1",
403
403
  disabled: __props.disabled || atMax.value,
404
404
  onClick: _cache[0] || (_cache[0] = ($event) => bump(1))
405
- }, " + ", 8, _hoisted_3$t),
405
+ }, " + ", 8, _hoisted_3$v),
406
406
  vue.createElementVNode("button", {
407
407
  type: "button",
408
408
  class: "tao-input-number__step",
@@ -410,17 +410,17 @@
410
410
  tabindex: "-1",
411
411
  disabled: __props.disabled || atMin.value,
412
412
  onClick: _cache[1] || (_cache[1] = ($event) => bump(-1))
413
- }, " − ", 8, _hoisted_4$o)
413
+ }, " − ", 8, _hoisted_4$p)
414
414
  ])) : vue.createCommentVNode("", true)
415
415
  ], 2);
416
416
  };
417
417
  }
418
418
  });
419
- const TaoInputNumber = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-55b65a4d"]]);
420
- const _hoisted_1$F = ["aria-label", "disabled"];
421
- const _hoisted_2$y = ["id", "value", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
422
- const _hoisted_3$s = ["disabled"];
423
- const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
419
+ const TaoInputNumber = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-55b65a4d"]]);
420
+ const _hoisted_1$I = ["aria-label", "disabled"];
421
+ const _hoisted_2$B = ["id", "value", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
422
+ const _hoisted_3$u = ["disabled"];
423
+ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
424
424
  ...{ name: "TaoQuantity" },
425
425
  __name: "TaoQuantity",
426
426
  props: {
@@ -553,7 +553,7 @@
553
553
  "aria-label": minusLabel.value,
554
554
  disabled: minusDisabled.value,
555
555
  onClick: onDec
556
- }, " − ", 8, _hoisted_1$F),
556
+ }, " − ", 8, _hoisted_1$I),
557
557
  vue.createElementVNode("input", {
558
558
  id: controlId.value,
559
559
  class: "tao-quantity__input",
@@ -573,41 +573,41 @@
573
573
  onFocus,
574
574
  onBlur,
575
575
  onKeydown
576
- }, null, 40, _hoisted_2$y),
576
+ }, null, 40, _hoisted_2$B),
577
577
  vue.createElementVNode("button", {
578
578
  type: "button",
579
579
  class: "tao-quantity__btn tao-quantity__btn--inc",
580
580
  "aria-label": "Увеличить",
581
581
  disabled: plusDisabled.value,
582
582
  onClick: onInc
583
- }, " + ", 8, _hoisted_3$s)
583
+ }, " + ", 8, _hoisted_3$u)
584
584
  ], 2);
585
585
  };
586
586
  }
587
587
  });
588
- const TaoQuantity = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-df6baf04"]]);
589
- const _hoisted_1$E = {
588
+ const TaoQuantity = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-df6baf04"]]);
589
+ const _hoisted_1$H = {
590
590
  key: 0,
591
591
  class: "tao-card__cover"
592
592
  };
593
- const _hoisted_2$x = {
593
+ const _hoisted_2$A = {
594
594
  key: 0,
595
595
  class: "tao-card__header-title"
596
596
  };
597
- const _hoisted_3$r = { key: 0 };
598
- const _hoisted_4$n = {
597
+ const _hoisted_3$t = { key: 0 };
598
+ const _hoisted_4$o = {
599
599
  key: 2,
600
600
  class: "tao-card__title-block"
601
601
  };
602
- const _hoisted_5$g = {
602
+ const _hoisted_5$h = {
603
603
  key: 0,
604
604
  class: "tao-card__title"
605
605
  };
606
- const _hoisted_6$c = {
606
+ const _hoisted_6$d = {
607
607
  key: 1,
608
608
  class: "tao-card__sub"
609
609
  };
610
- const _hoisted_7$8 = {
610
+ const _hoisted_7$9 = {
611
611
  key: 3,
612
612
  class: "tao-card__body"
613
613
  };
@@ -615,7 +615,7 @@
615
615
  key: 4,
616
616
  class: "tao-card__footer"
617
617
  };
618
- const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
618
+ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
619
619
  ...{ name: "TaoCard" },
620
620
  __name: "TaoCard",
621
621
  props: {
@@ -647,14 +647,14 @@
647
647
  }]),
648
648
  style: vue.normalizeStyle(radiusStyle.value)
649
649
  }, [
650
- _ctx.$slots.cover ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
650
+ _ctx.$slots.cover ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
651
651
  vue.renderSlot(_ctx.$slots, "cover", {}, void 0, true)
652
652
  ])) : vue.createCommentVNode("", true),
653
653
  vue.createElementVNode("div", {
654
654
  class: "tao-card__content",
655
655
  style: vue.normalizeStyle(paddingStyle.value)
656
656
  }, [
657
- _ctx.$slots.headerTitle ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$x, [
657
+ _ctx.$slots.headerTitle ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$A, [
658
658
  vue.renderSlot(_ctx.$slots, "headerTitle", {}, void 0, true)
659
659
  ])) : vue.createCommentVNode("", true),
660
660
  _ctx.$slots.header || _ctx.$slots.headerSecondary ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -664,19 +664,19 @@
664
664
  vue.createElementVNode("span", null, [
665
665
  vue.renderSlot(_ctx.$slots, "header", {}, void 0, true)
666
666
  ]),
667
- _ctx.$slots.headerSecondary ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$r, [
667
+ _ctx.$slots.headerSecondary ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$t, [
668
668
  vue.renderSlot(_ctx.$slots, "headerSecondary", {}, void 0, true)
669
669
  ])) : vue.createCommentVNode("", true)
670
670
  ], 2)) : vue.createCommentVNode("", true),
671
- _ctx.$slots.title || _ctx.$slots.sub ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$n, [
672
- _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_5$g, [
671
+ _ctx.$slots.title || _ctx.$slots.sub ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$o, [
672
+ _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_5$h, [
673
673
  vue.renderSlot(_ctx.$slots, "title", {}, void 0, true)
674
674
  ])) : vue.createCommentVNode("", true),
675
- _ctx.$slots.sub ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$c, [
675
+ _ctx.$slots.sub ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$d, [
676
676
  vue.renderSlot(_ctx.$slots, "sub", {}, void 0, true)
677
677
  ])) : vue.createCommentVNode("", true)
678
678
  ])) : vue.createCommentVNode("", true),
679
- _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$8, [
679
+ _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$9, [
680
680
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
681
681
  ])) : vue.createCommentVNode("", true),
682
682
  _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$7, [
@@ -687,7 +687,7 @@
687
687
  };
688
688
  }
689
689
  });
690
- const TaoCard = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-2ff3d055"]]);
690
+ const TaoCard = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-2ff3d055"]]);
691
691
  const FOCUSABLE = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
692
692
  function getFocusable(root) {
693
693
  return [...root.querySelectorAll(FOCUSABLE)].filter(
@@ -716,19 +716,19 @@
716
716
  first.focus();
717
717
  }
718
718
  }
719
- const _hoisted_1$D = ["aria-labelledby"];
720
- const _hoisted_2$w = {
719
+ const _hoisted_1$G = ["aria-labelledby"];
720
+ const _hoisted_2$z = {
721
721
  key: 0,
722
722
  class: "tao-modal__header"
723
723
  };
724
- const _hoisted_3$q = ["id"];
725
- const _hoisted_4$m = { key: 1 };
726
- const _hoisted_5$f = { class: "tao-modal__content" };
727
- const _hoisted_6$b = {
724
+ const _hoisted_3$s = ["id"];
725
+ const _hoisted_4$n = { key: 1 };
726
+ const _hoisted_5$g = { class: "tao-modal__content" };
727
+ const _hoisted_6$c = {
728
728
  key: 1,
729
729
  class: "tao-modal__footer"
730
730
  };
731
- const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
731
+ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
732
732
  ...{ name: "TaoModal" },
733
733
  __name: "TaoModal",
734
734
  props: {
@@ -828,13 +828,13 @@
828
828
  "aria-labelledby": __props.title ? vue.unref(titleId) : void 0,
829
829
  tabindex: "-1"
830
830
  }, [
831
- __props.title || _ctx.$slots.header || __props.closable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$w, [
831
+ __props.title || _ctx.$slots.header || __props.closable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$z, [
832
832
  vue.renderSlot(_ctx.$slots, "header", {}, () => [
833
833
  __props.title ? (vue.openBlock(), vue.createElementBlock("h2", {
834
834
  key: 0,
835
835
  id: vue.unref(titleId),
836
836
  class: "tao-modal__title"
837
- }, vue.toDisplayString(__props.title), 9, _hoisted_3$q)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$m))
837
+ }, vue.toDisplayString(__props.title), 9, _hoisted_3$s)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$n))
838
838
  ], true),
839
839
  __props.closable ? (vue.openBlock(), vue.createElementBlock("button", {
840
840
  key: 0,
@@ -844,13 +844,13 @@
844
844
  onClick: close
845
845
  }, " × ")) : vue.createCommentVNode("", true)
846
846
  ])) : vue.createCommentVNode("", true),
847
- vue.createElementVNode("div", _hoisted_5$f, [
847
+ vue.createElementVNode("div", _hoisted_5$g, [
848
848
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
849
849
  ]),
850
- _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$b, [
850
+ _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$c, [
851
851
  vue.renderSlot(_ctx.$slots, "footer", {}, void 0, true)
852
852
  ])) : vue.createCommentVNode("", true)
853
- ], 8, _hoisted_1$D)
853
+ ], 8, _hoisted_1$G)
854
854
  ], 32)) : vue.createCommentVNode("", true)
855
855
  ]),
856
856
  _: 3
@@ -859,11 +859,11 @@
859
859
  };
860
860
  }
861
861
  });
862
- const TaoModal = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-0cffe849"]]);
863
- const _hoisted_1$C = { class: "tao-tabs" };
864
- const _hoisted_2$v = ["id", "aria-selected", "aria-controls", "tabindex", "disabled", "onClick"];
865
- const _hoisted_3$p = ["id", "aria-labelledby"];
866
- const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
862
+ const TaoModal = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-0cffe849"]]);
863
+ const _hoisted_1$F = { class: "tao-tabs" };
864
+ const _hoisted_2$y = ["id", "aria-selected", "aria-controls", "tabindex", "disabled", "onClick"];
865
+ const _hoisted_3$r = ["id", "aria-labelledby"];
866
+ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
867
867
  ...{ name: "TaoTabs" },
868
868
  __name: "TaoTabs",
869
869
  props: {
@@ -927,7 +927,7 @@
927
927
  }
928
928
  }
929
929
  return (_ctx, _cache) => {
930
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
930
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
931
931
  vue.createElementVNode("div", {
932
932
  class: "tao-tabs__list",
933
933
  role: "tablist",
@@ -952,7 +952,7 @@
952
952
  }, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
953
953
  vue.createTextVNode(vue.toDisplayString(tab.label), 1)
954
954
  ], 64))
955
- ], 8, _hoisted_2$v);
955
+ ], 8, _hoisted_2$y);
956
956
  }), 128))
957
957
  ], 32),
958
958
  vue.createElementVNode("div", {
@@ -962,12 +962,12 @@
962
962
  "aria-labelledby": tabId(__props.modelValue)
963
963
  }, [
964
964
  vue.renderSlot(_ctx.$slots, "default", { activeTab: __props.modelValue }, void 0, true)
965
- ], 8, _hoisted_3$p)
965
+ ], 8, _hoisted_3$r)
966
966
  ]);
967
967
  };
968
968
  }
969
969
  });
970
- const TaoTabs = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-bf16735e"]]);
970
+ const TaoTabs = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-bf16735e"]]);
971
971
  function listenFocusLoss(onLoss) {
972
972
  function onVisibilityChange() {
973
973
  if (document.hidden) {
@@ -983,7 +983,7 @@
983
983
  window.removeEventListener("pagehide", onLoss);
984
984
  };
985
985
  }
986
- const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
986
+ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
987
987
  ...{ name: "TaoTooltip" },
988
988
  __name: "TaoTooltip",
989
989
  props: {
@@ -991,41 +991,163 @@
991
991
  position: { default: "top" }
992
992
  },
993
993
  setup(__props) {
994
+ const props = __props;
995
+ const wrapperRef = vue.ref(null);
996
+ const tooltipRef = vue.ref(null);
994
997
  const showTooltip = vue.ref(false);
998
+ const placed = vue.ref(props.position);
999
+ const panelStyle = vue.ref({ visibility: "hidden" });
1000
+ const arrowStyle = vue.ref({});
1001
+ const opposite = {
1002
+ top: "bottom",
1003
+ bottom: "top",
1004
+ left: "right",
1005
+ right: "left"
1006
+ };
995
1007
  function hide() {
996
1008
  showTooltip.value = false;
997
1009
  }
1010
+ function show() {
1011
+ showTooltip.value = true;
1012
+ }
1013
+ function updatePosition() {
1014
+ const trigger = wrapperRef.value;
1015
+ const tip = tooltipRef.value;
1016
+ if (!trigger || !tip) {
1017
+ return;
1018
+ }
1019
+ const rect = trigger.getBoundingClientRect();
1020
+ const width = tip.offsetWidth;
1021
+ const height = tip.offsetHeight;
1022
+ const gap = 8;
1023
+ const pad = 8;
1024
+ const viewW = window.innerWidth;
1025
+ const viewH = window.innerHeight;
1026
+ const space = {
1027
+ bottom: viewH - rect.bottom - gap - pad,
1028
+ top: rect.top - gap - pad,
1029
+ right: viewW - rect.right - gap - pad,
1030
+ left: rect.left - gap - pad
1031
+ };
1032
+ let side = props.position;
1033
+ const need = side === "top" || side === "bottom" ? height : width;
1034
+ if (space[side] < need && space[opposite[side]] > space[side]) {
1035
+ side = opposite[side];
1036
+ }
1037
+ const cx = rect.left + rect.width / 2;
1038
+ const cy = rect.top + rect.height / 2;
1039
+ let top = 0;
1040
+ let left = 0;
1041
+ if (side === "bottom") {
1042
+ top = rect.bottom + gap;
1043
+ left = cx - width / 2;
1044
+ } else if (side === "top") {
1045
+ top = rect.top - height - gap;
1046
+ left = cx - width / 2;
1047
+ } else if (side === "right") {
1048
+ top = cy - height / 2;
1049
+ left = rect.right + gap;
1050
+ } else {
1051
+ top = cy - height / 2;
1052
+ left = rect.left - width - gap;
1053
+ }
1054
+ if (left + width > viewW - pad) {
1055
+ left = viewW - pad - width;
1056
+ }
1057
+ if (left < pad) {
1058
+ left = pad;
1059
+ }
1060
+ if (top + height > viewH - pad) {
1061
+ top = viewH - pad - height;
1062
+ }
1063
+ if (top < pad) {
1064
+ top = pad;
1065
+ }
1066
+ const arrowPad = 10;
1067
+ if (side === "top" || side === "bottom") {
1068
+ const x = Math.min(width - arrowPad, Math.max(arrowPad, cx - left));
1069
+ arrowStyle.value = { left: `${x}px`, top: "" };
1070
+ } else {
1071
+ const y = Math.min(height - arrowPad, Math.max(arrowPad, cy - top));
1072
+ arrowStyle.value = { top: `${y}px`, left: "" };
1073
+ }
1074
+ placed.value = side;
1075
+ panelStyle.value = { top: `${top}px`, left: `${left}px`, visibility: "visible" };
1076
+ }
1077
+ function onViewportChange() {
1078
+ if (showTooltip.value) {
1079
+ updatePosition();
1080
+ }
1081
+ }
1082
+ vue.watch(showTooltip, async (isOpen) => {
1083
+ if (isOpen) {
1084
+ await vue.nextTick();
1085
+ updatePosition();
1086
+ requestAnimationFrame(() => updatePosition());
1087
+ window.addEventListener("resize", onViewportChange);
1088
+ window.addEventListener("scroll", onViewportChange, true);
1089
+ return;
1090
+ }
1091
+ window.removeEventListener("resize", onViewportChange);
1092
+ window.removeEventListener("scroll", onViewportChange, true);
1093
+ });
1094
+ vue.watch(
1095
+ () => props.position,
1096
+ () => {
1097
+ if (showTooltip.value) {
1098
+ updatePosition();
1099
+ }
1100
+ }
1101
+ );
998
1102
  let stopFocusLoss;
999
1103
  vue.onMounted(() => {
1000
1104
  stopFocusLoss = listenFocusLoss(hide);
1001
1105
  });
1002
- vue.onBeforeUnmount(() => stopFocusLoss == null ? void 0 : stopFocusLoss());
1106
+ vue.onBeforeUnmount(() => {
1107
+ stopFocusLoss == null ? void 0 : stopFocusLoss();
1108
+ window.removeEventListener("resize", onViewportChange);
1109
+ window.removeEventListener("scroll", onViewportChange, true);
1110
+ });
1003
1111
  return (_ctx, _cache) => {
1004
1112
  return vue.openBlock(), vue.createElementBlock("div", {
1113
+ ref_key: "wrapperRef",
1114
+ ref: wrapperRef,
1005
1115
  class: "tao-tooltip-wrapper",
1006
- onMouseenter: _cache[0] || (_cache[0] = ($event) => showTooltip.value = true),
1007
- onMouseleave: _cache[1] || (_cache[1] = ($event) => showTooltip.value = false),
1008
- onFocusin: _cache[2] || (_cache[2] = ($event) => showTooltip.value = true),
1009
- onFocusout: _cache[3] || (_cache[3] = ($event) => showTooltip.value = false)
1116
+ onMouseenter: show,
1117
+ onMouseleave: hide,
1118
+ onFocusin: show,
1119
+ onFocusout: hide
1010
1120
  }, [
1011
1121
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
1012
- vue.createVNode(vue.Transition, { name: "tao-tooltip-fade" }, {
1013
- default: vue.withCtx(() => [
1014
- showTooltip.value ? (vue.openBlock(), vue.createElementBlock("div", {
1015
- key: 0,
1016
- class: vue.normalizeClass(["tao-tooltip", [`tao-tooltip--${__props.position}`]]),
1017
- role: "tooltip"
1018
- }, vue.toDisplayString(__props.content), 3)) : vue.createCommentVNode("", true)
1019
- ]),
1020
- _: 1
1021
- })
1022
- ], 32);
1122
+ (vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
1123
+ vue.createVNode(vue.Transition, { name: "tao-tooltip-fade" }, {
1124
+ default: vue.withCtx(() => [
1125
+ showTooltip.value ? (vue.openBlock(), vue.createElementBlock("div", {
1126
+ key: 0,
1127
+ ref_key: "tooltipRef",
1128
+ ref: tooltipRef,
1129
+ class: vue.normalizeClass(["tao-tooltip", `tao-tooltip--${placed.value}`]),
1130
+ role: "tooltip",
1131
+ style: vue.normalizeStyle(panelStyle.value)
1132
+ }, [
1133
+ vue.createTextVNode(vue.toDisplayString(__props.content) + " ", 1),
1134
+ vue.createElementVNode("span", {
1135
+ class: "tao-tooltip__arrow",
1136
+ style: vue.normalizeStyle(arrowStyle.value),
1137
+ "aria-hidden": "true"
1138
+ }, null, 4)
1139
+ ], 6)) : vue.createCommentVNode("", true)
1140
+ ]),
1141
+ _: 1
1142
+ })
1143
+ ]))
1144
+ ], 544);
1023
1145
  };
1024
1146
  }
1025
1147
  });
1026
- const TaoTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-fa4a9dac"]]);
1027
- const _hoisted_1$B = { class: "tao-popover" };
1028
- const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
1148
+ const TaoTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-926dfa73"]]);
1149
+ const _hoisted_1$E = { class: "tao-popover" };
1150
+ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
1029
1151
  ...{ name: "TaoPopover" },
1030
1152
  __name: "TaoPopover",
1031
1153
  props: {
@@ -1183,7 +1305,7 @@
1183
1305
  window.removeEventListener("scroll", onViewportChange, true);
1184
1306
  });
1185
1307
  return (_ctx, _cache) => {
1186
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
1308
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
1187
1309
  vue.createElementVNode("div", {
1188
1310
  ref_key: "triggerRef",
1189
1311
  ref: triggerRef,
@@ -1212,17 +1334,17 @@
1212
1334
  };
1213
1335
  }
1214
1336
  });
1215
- const TaoPopover = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-e4ead301"]]);
1337
+ const TaoPopover = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-e4ead301"]]);
1216
1338
  const spoilerGroupKey = Symbol("taoSpoilerGroup");
1217
- const _hoisted_1$A = { class: "tao-spoiler" };
1218
- const _hoisted_2$u = ["aria-expanded", "aria-controls"];
1219
- const _hoisted_3$o = {
1339
+ const _hoisted_1$D = { class: "tao-spoiler" };
1340
+ const _hoisted_2$x = ["aria-expanded", "aria-controls"];
1341
+ const _hoisted_3$q = {
1220
1342
  key: 0,
1221
1343
  class: "tao-spoiler__title"
1222
1344
  };
1223
- const _hoisted_4$l = ["id"];
1224
- const _hoisted_5$e = { class: "tao-spoiler__content-inner" };
1225
- const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1345
+ const _hoisted_4$m = ["id"];
1346
+ const _hoisted_5$f = { class: "tao-spoiler__content-inner" };
1347
+ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
1226
1348
  ...{ name: "TaoSpoiler" },
1227
1349
  __name: "TaoSpoiler",
1228
1350
  props: {
@@ -1277,7 +1399,7 @@
1277
1399
  });
1278
1400
  }
1279
1401
  return (_ctx, _cache) => {
1280
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
1402
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D, [
1281
1403
  vue.createElementVNode("button", {
1282
1404
  type: "button",
1283
1405
  class: "tao-spoiler__header",
@@ -1288,12 +1410,12 @@
1288
1410
  vue.createElementVNode("span", {
1289
1411
  class: vue.normalizeClass(["tao-spoiler__icon", { "tao-spoiler__icon--open": isOpen.value }])
1290
1412
  }, "▶", 2),
1291
- __props.title || _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$o, [
1413
+ __props.title || _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$q, [
1292
1414
  vue.renderSlot(_ctx.$slots, "title", {}, () => [
1293
1415
  vue.createTextVNode(vue.toDisplayString(__props.title), 1)
1294
1416
  ], true)
1295
1417
  ])) : vue.createCommentVNode("", true)
1296
- ], 8, _hoisted_2$u),
1418
+ ], 8, _hoisted_2$x),
1297
1419
  vue.createVNode(vue.Transition, {
1298
1420
  name: "tao-spoiler-slide",
1299
1421
  onBeforeEnter,
@@ -1307,10 +1429,10 @@
1307
1429
  id: vue.unref(panelId),
1308
1430
  class: "tao-spoiler__content"
1309
1431
  }, [
1310
- vue.createElementVNode("div", _hoisted_5$e, [
1432
+ vue.createElementVNode("div", _hoisted_5$f, [
1311
1433
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
1312
1434
  ])
1313
- ], 8, _hoisted_4$l)) : vue.createCommentVNode("", true)
1435
+ ], 8, _hoisted_4$m)) : vue.createCommentVNode("", true)
1314
1436
  ]),
1315
1437
  _: 3
1316
1438
  })
@@ -1318,9 +1440,9 @@
1318
1440
  };
1319
1441
  }
1320
1442
  });
1321
- const TaoSpoiler = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-ccb052cf"]]);
1322
- const _hoisted_1$z = { class: "tao-spoiler-group" };
1323
- const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
1443
+ const TaoSpoiler = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-ccb052cf"]]);
1444
+ const _hoisted_1$C = { class: "tao-spoiler-group" };
1445
+ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
1324
1446
  ...{ name: "TaoSpoilerGroup" },
1325
1447
  __name: "TaoSpoilerGroup",
1326
1448
  props: {
@@ -1340,15 +1462,15 @@
1340
1462
  setOpen
1341
1463
  });
1342
1464
  return (_ctx, _cache) => {
1343
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$z, [
1465
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
1344
1466
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
1345
1467
  ]);
1346
1468
  };
1347
1469
  }
1348
1470
  });
1349
- const TaoSpoilerGroup = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-6b172e89"]]);
1350
- const _hoisted_1$y = ["aria-label"];
1351
- const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
1471
+ const TaoSpoilerGroup = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-6b172e89"]]);
1472
+ const _hoisted_1$B = ["aria-label"];
1473
+ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1352
1474
  ...{ name: "TaoCopy" },
1353
1475
  __name: "TaoCopy",
1354
1476
  props: {
@@ -1482,7 +1604,7 @@
1482
1604
  "stroke-width": "2"
1483
1605
  })
1484
1606
  ], -1)
1485
- ])], 10, _hoisted_1$y)
1607
+ ])], 10, _hoisted_1$B)
1486
1608
  ], true),
1487
1609
  (vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
1488
1610
  copied.value && __props.tip && __props.successMessage ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -1498,8 +1620,8 @@
1498
1620
  };
1499
1621
  }
1500
1622
  });
1501
- const TaoCopy = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-1953c07e"]]);
1502
- const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
1623
+ const TaoCopy = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-1953c07e"]]);
1624
+ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
1503
1625
  ...{ name: "TaoContainer" },
1504
1626
  __name: "TaoContainer",
1505
1627
  props: {
@@ -1516,8 +1638,8 @@
1516
1638
  };
1517
1639
  }
1518
1640
  });
1519
- const TaoContainer = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-4c0deb90"]]);
1520
- const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
1641
+ const TaoContainer = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-4c0deb90"]]);
1642
+ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
1521
1643
  ...{ name: "TaoFlex" },
1522
1644
  __name: "TaoFlex",
1523
1645
  props: {
@@ -1548,7 +1670,7 @@
1548
1670
  };
1549
1671
  }
1550
1672
  });
1551
- const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
1673
+ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
1552
1674
  ...{ name: "TaoSpace" },
1553
1675
  __name: "TaoSpace",
1554
1676
  props: {
@@ -1568,9 +1690,9 @@
1568
1690
  };
1569
1691
  }
1570
1692
  });
1571
- const TaoSpace = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-698ca712"]]);
1572
- const _hoisted_1$x = { class: "tao-icon" };
1573
- const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
1693
+ const TaoSpace = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-698ca712"]]);
1694
+ const _hoisted_1$A = { class: "tao-icon" };
1695
+ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
1574
1696
  ...{ name: "TaoIcon" },
1575
1697
  __name: "TaoIcon",
1576
1698
  props: {
@@ -1585,7 +1707,7 @@
1585
1707
  }));
1586
1708
  const props = __props;
1587
1709
  return (_ctx, _cache) => {
1588
- return vue.openBlock(), vue.createElementBlock("span", _hoisted_1$x, [
1710
+ return vue.openBlock(), vue.createElementBlock("span", _hoisted_1$A, [
1589
1711
  vue.renderSlot(_ctx.$slots, "prefix", {}, void 0, true),
1590
1712
  vue.createElementVNode("i", {
1591
1713
  class: vue.normalizeClass(["tao-icon__value", [`icon-${props.name}`, { "tao-icon__value--invert": props.invert }]]),
@@ -1596,8 +1718,8 @@
1596
1718
  };
1597
1719
  }
1598
1720
  });
1599
- const TaoIcon = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-145b2cfc"]]);
1600
- const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
1721
+ const TaoIcon = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-145b2cfc"]]);
1722
+ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
1601
1723
  ...{ name: "TaoLoader" },
1602
1724
  __name: "TaoLoader",
1603
1725
  props: {
@@ -1658,10 +1780,10 @@
1658
1780
  };
1659
1781
  }
1660
1782
  });
1661
- const TaoLoader = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-75a40018"]]);
1662
- const _hoisted_1$w = { class: "tao-image" };
1663
- const _hoisted_2$t = ["src", "alt", "loading"];
1664
- const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
1783
+ const TaoLoader = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-75a40018"]]);
1784
+ const _hoisted_1$z = { class: "tao-image" };
1785
+ const _hoisted_2$w = ["src", "alt", "loading"];
1786
+ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
1665
1787
  ...{ name: "TaoImage" },
1666
1788
  __name: "TaoImage",
1667
1789
  props: {
@@ -1687,7 +1809,7 @@
1687
1809
  isLoaded.value = false;
1688
1810
  });
1689
1811
  return (_ctx, _cache) => {
1690
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
1812
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$z, [
1691
1813
  __props.src ? (vue.openBlock(), vue.createElementBlock("img", {
1692
1814
  key: 0,
1693
1815
  class: vue.normalizeClass({ "tao-image__img--hidden": !isLoaded.value, "tao-image__img--pixelated": props.pixelated }),
@@ -1698,25 +1820,25 @@
1698
1820
  draggable: "false",
1699
1821
  onLoad: handleLoad,
1700
1822
  onError: handleError
1701
- }, null, 42, _hoisted_2$t)) : vue.renderSlot(_ctx.$slots, "default", {}, () => [
1823
+ }, null, 42, _hoisted_2$w)) : vue.renderSlot(_ctx.$slots, "default", {}, () => [
1702
1824
  _cache[0] || (_cache[0] = vue.createElementVNode("div", { class: "tao-image__placeholder" }, "No image available", -1))
1703
1825
  ], true, 1)
1704
1826
  ]);
1705
1827
  };
1706
1828
  }
1707
1829
  });
1708
- const TaoImage = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-522fe4da"]]);
1709
- const _hoisted_1$v = ["for"];
1710
- const _hoisted_2$s = ["id", "checked", "disabled", "aria-checked", "aria-invalid", "aria-describedby"];
1711
- const _hoisted_3$n = {
1830
+ const TaoImage = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-522fe4da"]]);
1831
+ const _hoisted_1$y = ["for"];
1832
+ const _hoisted_2$v = ["id", "checked", "disabled", "aria-checked", "aria-invalid", "aria-describedby"];
1833
+ const _hoisted_3$p = {
1712
1834
  key: 0,
1713
1835
  class: "tao-checkbox__label"
1714
1836
  };
1715
- const _hoisted_4$k = {
1837
+ const _hoisted_4$l = {
1716
1838
  key: 1,
1717
1839
  class: "tao-checkbox__label"
1718
1840
  };
1719
- const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
1841
+ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
1720
1842
  ...{ name: "TaoCheckbox" },
1721
1843
  __name: "TaoCheckbox",
1722
1844
  props: {
@@ -1786,18 +1908,24 @@
1786
1908
  "aria-invalid": invalid.value || void 0,
1787
1909
  "aria-describedby": describedBy.value,
1788
1910
  onChange: onInputChange
1789
- }, null, 40, _hoisted_2$s),
1911
+ }, null, 40, _hoisted_2$v),
1790
1912
  _cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "tao-checkbox__box" }, null, -1)),
1791
- __props.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$n, vue.toDisplayString(__props.label), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$k, [
1913
+ __props.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$p, vue.toDisplayString(__props.label), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$l, [
1792
1914
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
1793
1915
  ])),
1794
1916
  vue.renderSlot(_ctx.$slots, "post", { text: __props.label }, void 0, true)
1795
- ], 10, _hoisted_1$v);
1917
+ ], 10, _hoisted_1$y);
1796
1918
  };
1797
1919
  }
1798
1920
  });
1799
- const TaoCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-f6b0e565"]]);
1800
- const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
1921
+ const TaoCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-f6b0e565"]]);
1922
+ const _hoisted_1$x = {
1923
+ key: 0,
1924
+ class: "tao-tag__prefix"
1925
+ };
1926
+ const _hoisted_2$u = { class: "tao-tag__text" };
1927
+ const _hoisted_3$o = ["aria-label"];
1928
+ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
1801
1929
  ...{ name: "TaoTag" },
1802
1930
  __name: "TaoTag",
1803
1931
  props: {
@@ -1805,37 +1933,66 @@
1805
1933
  color: {},
1806
1934
  background: {},
1807
1935
  borderColor: {},
1808
- pointer: { type: Boolean, default: false }
1936
+ pointer: { type: Boolean, default: false },
1937
+ closable: { type: Boolean, default: false },
1938
+ closeLabel: { default: "Убрать" },
1939
+ flat: { type: Boolean, default: false }
1809
1940
  },
1810
- setup(__props) {
1941
+ emits: ["close"],
1942
+ setup(__props, { emit: __emit }) {
1811
1943
  const props = __props;
1944
+ const emit = __emit;
1945
+ const slots = vue.useSlots();
1812
1946
  const tone = vue.computed(() => props.type === "error" ? "danger" : props.type);
1813
1947
  const style = vue.computed(() => ({
1814
1948
  color: props.color || "",
1815
1949
  background: props.background || "",
1816
- "border-color": props.borderColor || ""
1950
+ "border-color": props.flat ? "transparent" : props.borderColor || ""
1817
1951
  }));
1952
+ function onClose(event) {
1953
+ emit("close", event);
1954
+ }
1818
1955
  return (_ctx, _cache) => {
1819
- return vue.openBlock(), vue.createElementBlock("div", {
1820
- class: vue.normalizeClass(["tao-tag", [props.pointer && "tao-tag--pointer", tone.value ? `tao-tag--${tone.value}` : ""]]),
1956
+ return vue.openBlock(), vue.createElementBlock("span", {
1957
+ class: vue.normalizeClass(["tao-tag", [
1958
+ tone.value ? `tao-tag--${tone.value}` : "",
1959
+ {
1960
+ "tao-tag--pointer": __props.pointer,
1961
+ "tao-tag--closable": __props.closable,
1962
+ "tao-tag--prefix": Boolean(vue.unref(slots).prefix),
1963
+ "tao-tag--flat": __props.flat
1964
+ }
1965
+ ]]),
1821
1966
  style: vue.normalizeStyle(style.value)
1822
1967
  }, [
1823
- vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
1968
+ _ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$x, [
1969
+ vue.renderSlot(_ctx.$slots, "prefix", {}, void 0, true)
1970
+ ])) : vue.createCommentVNode("", true),
1971
+ vue.createElementVNode("span", _hoisted_2$u, [
1972
+ vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
1973
+ ]),
1974
+ __props.closable ? (vue.openBlock(), vue.createElementBlock("button", {
1975
+ key: 1,
1976
+ type: "button",
1977
+ class: "tao-tag__close",
1978
+ "aria-label": __props.closeLabel,
1979
+ onClick: vue.withModifiers(onClose, ["stop"])
1980
+ }, " ✕ ", 8, _hoisted_3$o)) : vue.createCommentVNode("", true)
1824
1981
  ], 6);
1825
1982
  };
1826
1983
  }
1827
1984
  });
1828
- const TaoTag = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-290c0f6a"]]);
1829
- const _hoisted_1$u = {
1985
+ const TaoTag = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-5bd7ca79"]]);
1986
+ const _hoisted_1$w = {
1830
1987
  key: 1,
1831
1988
  class: "tao-divider-text"
1832
1989
  };
1833
- const _hoisted_2$r = { class: "tao-divider-text__value" };
1834
- const _hoisted_3$m = {
1990
+ const _hoisted_2$t = { class: "tao-divider-text__value" };
1991
+ const _hoisted_3$n = {
1835
1992
  key: 2,
1836
1993
  class: "tao-divider-line"
1837
1994
  };
1838
- const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
1995
+ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
1839
1996
  ...{ name: "TaoDivider" },
1840
1997
  __name: "TaoDivider",
1841
1998
  props: {
@@ -1849,23 +2006,23 @@
1849
2006
  return __props.variant === "gap" ? (vue.openBlock(), vue.createElementBlock("div", {
1850
2007
  key: 0,
1851
2008
  class: vue.normalizeClass(["tao-divider-gap", `tao-divider-gap--${gapSize.value}`])
1852
- }, null, 2)) : __props.variant === "text" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
2009
+ }, null, 2)) : __props.variant === "text" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
1853
2010
  _cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "tao-divider-text__line tao-divider-text__line--left" }, null, -1)),
1854
- vue.createElementVNode("span", _hoisted_2$r, [
2011
+ vue.createElementVNode("span", _hoisted_2$t, [
1855
2012
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
1856
2013
  ]),
1857
2014
  _cache[1] || (_cache[1] = vue.createElementVNode("span", { class: "tao-divider-text__line tao-divider-text__line--right" }, null, -1))
1858
- ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$m));
2015
+ ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$n));
1859
2016
  };
1860
2017
  }
1861
2018
  });
1862
- const TaoDivider = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-8187a15d"]]);
1863
- const _hoisted_1$t = {
2019
+ const TaoDivider = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-8187a15d"]]);
2020
+ const _hoisted_1$v = {
1864
2021
  key: 0,
1865
2022
  class: "tao-fieldset__legend"
1866
2023
  };
1867
- const _hoisted_2$q = { class: "tao-fieldset__body" };
1868
- const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
2024
+ const _hoisted_2$s = { class: "tao-fieldset__body" };
2025
+ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
1869
2026
  ...{ name: "TaoFieldset" },
1870
2027
  __name: "TaoFieldset",
1871
2028
  props: {
@@ -1877,20 +2034,20 @@
1877
2034
  return vue.openBlock(), vue.createElementBlock("fieldset", {
1878
2035
  class: vue.normalizeClass(["tao-fieldset", `tao-fieldset--${__props.align}`])
1879
2036
  }, [
1880
- __props.legend || _ctx.$slots.legend ? (vue.openBlock(), vue.createElementBlock("legend", _hoisted_1$t, [
2037
+ __props.legend || _ctx.$slots.legend ? (vue.openBlock(), vue.createElementBlock("legend", _hoisted_1$v, [
1881
2038
  vue.renderSlot(_ctx.$slots, "legend", {}, () => [
1882
2039
  vue.createTextVNode(vue.toDisplayString(__props.legend), 1)
1883
2040
  ], true)
1884
2041
  ])) : vue.createCommentVNode("", true),
1885
- vue.createElementVNode("div", _hoisted_2$q, [
2042
+ vue.createElementVNode("div", _hoisted_2$s, [
1886
2043
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
1887
2044
  ])
1888
2045
  ], 2);
1889
2046
  };
1890
2047
  }
1891
2048
  });
1892
- const TaoFieldset = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-34440ba5"]]);
1893
- const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
2049
+ const TaoFieldset = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-34440ba5"]]);
2050
+ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
1894
2051
  ...{ name: "TaoAnimatedBorder" },
1895
2052
  __name: "TaoAnimatedBorder",
1896
2053
  props: {
@@ -1914,18 +2071,18 @@
1914
2071
  };
1915
2072
  }
1916
2073
  });
1917
- const TaoAnimatedBorder = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-f1534571"]]);
1918
- const _hoisted_1$s = {
2074
+ const TaoAnimatedBorder = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-f1534571"]]);
2075
+ const _hoisted_1$u = {
1919
2076
  key: 0,
1920
2077
  class: "tao-textarea tao-textarea--dummy"
1921
2078
  };
1922
- const _hoisted_2$p = {
2079
+ const _hoisted_2$r = {
1923
2080
  key: 1,
1924
2081
  class: "tao-textarea-wrap"
1925
2082
  };
1926
- const _hoisted_3$l = ["id", "placeholder", "spellcheck", "autocomplete", "minlength", "maxlength", "disabled", "rows", "value", "aria-invalid", "aria-describedby"];
1927
- const _hoisted_4$j = ["id"];
1928
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
2083
+ const _hoisted_3$m = ["id", "placeholder", "spellcheck", "autocomplete", "minlength", "maxlength", "disabled", "rows", "value", "aria-invalid", "aria-describedby"];
2084
+ const _hoisted_4$k = ["id"];
2085
+ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
1929
2086
  ...{ name: "TaoTextarea" },
1930
2087
  __name: "TaoTextarea",
1931
2088
  props: {
@@ -2022,7 +2179,7 @@
2022
2179
  vue.nextTick(autoResize);
2023
2180
  });
2024
2181
  return (_ctx, _cache) => {
2025
- return __props.dummy ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$s, vue.toDisplayString(__props.modelValue), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$p, [
2182
+ return __props.dummy ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$u, vue.toDisplayString(__props.modelValue), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$r, [
2026
2183
  vue.createElementVNode("textarea", {
2027
2184
  id: controlId.value,
2028
2185
  ref_key: "textareaRef",
@@ -2051,21 +2208,21 @@
2051
2208
  onFocus,
2052
2209
  onBlur,
2053
2210
  onKeydown
2054
- }, null, 42, _hoisted_3$l),
2211
+ }, null, 42, _hoisted_3$m),
2055
2212
  __props.count ? (vue.openBlock(), vue.createElementBlock("span", {
2056
2213
  key: 0,
2057
2214
  id: counterId.value,
2058
2215
  class: vue.normalizeClass(["tao-textarea__count", { "tao-textarea__count--limit": atLimit.value }])
2059
- }, vue.toDisplayString(countLabel.value), 11, _hoisted_4$j)) : vue.createCommentVNode("", true)
2216
+ }, vue.toDisplayString(countLabel.value), 11, _hoisted_4$k)) : vue.createCommentVNode("", true)
2060
2217
  ]));
2061
2218
  };
2062
2219
  }
2063
2220
  });
2064
- const TaoTextarea = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-2534c0c4"]]);
2065
- const _hoisted_1$r = ["tabindex"];
2066
- const _hoisted_2$o = { class: "tao-scroll-top__content" };
2221
+ const TaoTextarea = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-2534c0c4"]]);
2222
+ const _hoisted_1$t = ["tabindex"];
2223
+ const _hoisted_2$q = { class: "tao-scroll-top__content" };
2067
2224
  const RIPPLE_DURATION = 750;
2068
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
2225
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
2069
2226
  ...{ name: "TaoScrollTop" },
2070
2227
  __name: "TaoScrollTop",
2071
2228
  props: {
@@ -2165,7 +2322,7 @@
2165
2322
  "aria-label": "Наверх",
2166
2323
  onClick: vue.withModifiers(onClick, ["prevent"])
2167
2324
  }, [
2168
- vue.createElementVNode("div", _hoisted_2$o, [
2325
+ vue.createElementVNode("div", _hoisted_2$q, [
2169
2326
  vue.createElementVNode("div", {
2170
2327
  class: vue.normalizeClass([{ "tao-scroll-top__ripple--active": isRippleActive.value }, "tao-scroll-top__ripple"]),
2171
2328
  style: vue.normalizeStyle(rippleStyle)
@@ -2182,33 +2339,33 @@
2182
2339
  ], -1))
2183
2340
  ], true)
2184
2341
  ])
2185
- ], 14, _hoisted_1$r)) : vue.createCommentVNode("", true)
2342
+ ], 14, _hoisted_1$t)) : vue.createCommentVNode("", true)
2186
2343
  ]),
2187
2344
  _: 3
2188
2345
  });
2189
2346
  };
2190
2347
  }
2191
2348
  });
2192
- const TaoScrollTop = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-ce902f42"]]);
2193
- const _hoisted_1$q = { class: "tao-progress" };
2194
- const _hoisted_2$n = {
2349
+ const TaoScrollTop = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-ce902f42"]]);
2350
+ const _hoisted_1$s = { class: "tao-progress" };
2351
+ const _hoisted_2$p = {
2195
2352
  key: 0,
2196
2353
  class: "tao-progress__side"
2197
2354
  };
2198
- const _hoisted_3$k = { class: "tao-progress__main" };
2199
- const _hoisted_4$i = {
2355
+ const _hoisted_3$l = { class: "tao-progress__main" };
2356
+ const _hoisted_4$j = {
2200
2357
  key: 0,
2201
2358
  class: "tao-progress__percentage"
2202
2359
  };
2203
- const _hoisted_5$d = {
2360
+ const _hoisted_5$e = {
2204
2361
  key: 1,
2205
2362
  class: "tao-progress__side"
2206
2363
  };
2207
- const _hoisted_6$a = {
2364
+ const _hoisted_6$b = {
2208
2365
  key: 0,
2209
2366
  class: "tao-progress__percentage"
2210
2367
  };
2211
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
2368
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
2212
2369
  ...{ name: "TaoProgress" },
2213
2370
  __name: "TaoProgress",
2214
2371
  props: {
@@ -2239,16 +2396,16 @@
2239
2396
  () => hasRight.value ? `(${props.progress}%)` : `${props.progress}%`
2240
2397
  );
2241
2398
  return (_ctx, _cache) => {
2242
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
2399
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
2243
2400
  vue.createElementVNode("div", {
2244
2401
  class: vue.normalizeClass(["tao-progress__container", { "tao-progress__container--over": showOverPercent.value }]),
2245
2402
  style: vue.normalizeStyle({ minWidth: `${minW.value}px`, maxWidth: `${maxW.value}px` })
2246
2403
  }, [
2247
- _ctx.$slots.left ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$n, [
2404
+ _ctx.$slots.left ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$p, [
2248
2405
  vue.renderSlot(_ctx.$slots, "left", {}, void 0, true)
2249
2406
  ])) : vue.createCommentVNode("", true),
2250
- vue.createElementVNode("div", _hoisted_3$k, [
2251
- showOverPercent.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$i, vue.toDisplayString(__props.progress) + "%", 1)) : vue.createCommentVNode("", true),
2407
+ vue.createElementVNode("div", _hoisted_3$l, [
2408
+ showOverPercent.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$j, vue.toDisplayString(__props.progress) + "%", 1)) : vue.createCommentVNode("", true),
2252
2409
  vue.createElementVNode("div", {
2253
2410
  class: "tao-progress__track",
2254
2411
  style: vue.normalizeStyle({ height: `${__props.height}px` })
@@ -2259,23 +2416,23 @@
2259
2416
  }, null, 6)
2260
2417
  ], 4)
2261
2418
  ]),
2262
- _ctx.$slots.right || showEndPercent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$d, [
2419
+ _ctx.$slots.right || showEndPercent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$e, [
2263
2420
  vue.renderSlot(_ctx.$slots, "right", {}, void 0, true),
2264
- showEndPercent.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$a, vue.toDisplayString(endPercentLabel.value), 1)) : vue.createCommentVNode("", true)
2421
+ showEndPercent.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$b, vue.toDisplayString(endPercentLabel.value), 1)) : vue.createCommentVNode("", true)
2265
2422
  ])) : vue.createCommentVNode("", true)
2266
2423
  ], 6)
2267
2424
  ]);
2268
2425
  };
2269
2426
  }
2270
2427
  });
2271
- const TaoProgress = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-54c13718"]]);
2272
- const _hoisted_1$p = ["id", "tabindex", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-disabled", "aria-describedby"];
2273
- const _hoisted_2$m = ["placeholder"];
2274
- const _hoisted_3$j = {
2428
+ const TaoProgress = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-54c13718"]]);
2429
+ const _hoisted_1$r = ["id", "tabindex", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-disabled", "aria-describedby"];
2430
+ const _hoisted_2$o = ["placeholder"];
2431
+ const _hoisted_3$k = {
2275
2432
  key: 1,
2276
2433
  class: "tao-slider__value"
2277
2434
  };
2278
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
2435
+ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
2279
2436
  ...{ name: "TaoSlider" },
2280
2437
  __name: "TaoSlider",
2281
2438
  props: {
@@ -2492,29 +2649,29 @@
2492
2649
  onKeydown: onShadowKeydown,
2493
2650
  onPointerdown: _cache[1] || (_cache[1] = vue.withModifiers(() => {
2494
2651
  }, ["stop"]))
2495
- }, null, 40, _hoisted_2$m)), [
2652
+ }, null, 40, _hoisted_2$o)), [
2496
2653
  [vue.vModelText, shadowModel.value]
2497
- ]) : __props.showValue ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$j, [
2654
+ ]) : __props.showValue ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$k, [
2498
2655
  vue.renderSlot(_ctx.$slots, "pre-value", {}, void 0, true),
2499
2656
  vue.createTextVNode(vue.toDisplayString(__props.modelValue), 1),
2500
2657
  vue.renderSlot(_ctx.$slots, "post-value", {}, void 0, true)
2501
2658
  ])) : vue.createCommentVNode("", true)
2502
- ], 42, _hoisted_1$p);
2659
+ ], 42, _hoisted_1$r);
2503
2660
  };
2504
2661
  }
2505
2662
  });
2506
- const TaoSlider = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-24a38782"]]);
2507
- const _hoisted_1$o = { class: "tao-file-drop" };
2508
- const _hoisted_2$l = { class: "tao-file-drop__row" };
2509
- const _hoisted_3$i = ["accept", "multiple"];
2510
- const _hoisted_4$h = {
2663
+ const TaoSlider = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-24a38782"]]);
2664
+ const _hoisted_1$q = { class: "tao-file-drop" };
2665
+ const _hoisted_2$n = { class: "tao-file-drop__row" };
2666
+ const _hoisted_3$j = ["accept", "multiple"];
2667
+ const _hoisted_4$i = {
2511
2668
  key: 0,
2512
2669
  class: "tao-file-drop__list"
2513
2670
  };
2514
- const _hoisted_5$c = { class: "tao-file-drop__name" };
2515
- const _hoisted_6$9 = { class: "tao-file-drop__meta" };
2516
- const _hoisted_7$7 = ["aria-label", "onClick"];
2517
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
2671
+ const _hoisted_5$d = { class: "tao-file-drop__name" };
2672
+ const _hoisted_6$a = { class: "tao-file-drop__meta" };
2673
+ const _hoisted_7$8 = ["aria-label", "onClick"];
2674
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
2518
2675
  ...{ name: "TaoFileDrop" },
2519
2676
  __name: "TaoFileDrop",
2520
2677
  props: {
@@ -2613,8 +2770,8 @@
2613
2770
  });
2614
2771
  vue.onBeforeUnmount(() => stopFocusLoss == null ? void 0 : stopFocusLoss());
2615
2772
  return (_ctx, _cache) => {
2616
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
2617
- vue.createElementVNode("div", _hoisted_2$l, [
2773
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
2774
+ vue.createElementVNode("div", _hoisted_2$n, [
2618
2775
  __props.showClear && __props.modelValue.length ? (vue.openBlock(), vue.createElementBlock("button", {
2619
2776
  key: 0,
2620
2777
  type: "button",
@@ -2641,23 +2798,23 @@
2641
2798
  onChange: handleFileSelect,
2642
2799
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
2643
2800
  }, ["stop"]))
2644
- }, null, 40, _hoisted_3$i)
2801
+ }, null, 40, _hoisted_3$j)
2645
2802
  ], 34)
2646
2803
  ]),
2647
- __props.list && __props.modelValue.length ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_4$h, [
2804
+ __props.list && __props.modelValue.length ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_4$i, [
2648
2805
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.modelValue, (file, index) => {
2649
2806
  return vue.openBlock(), vue.createElementBlock("li", {
2650
2807
  key: fileKey(file, index),
2651
2808
  class: "tao-file-drop__file"
2652
2809
  }, [
2653
- vue.createElementVNode("span", _hoisted_5$c, vue.toDisplayString(file.name), 1),
2654
- vue.createElementVNode("span", _hoisted_6$9, vue.toDisplayString(formatSize(file.size)), 1),
2810
+ vue.createElementVNode("span", _hoisted_5$d, vue.toDisplayString(file.name), 1),
2811
+ vue.createElementVNode("span", _hoisted_6$a, vue.toDisplayString(formatSize(file.size)), 1),
2655
2812
  vue.createElementVNode("button", {
2656
2813
  type: "button",
2657
2814
  class: "tao-file-drop__remove",
2658
2815
  "aria-label": `Убрать «${file.name}»`,
2659
2816
  onClick: ($event) => removeAt(index)
2660
- }, " ✕ ", 8, _hoisted_7$7)
2817
+ }, " ✕ ", 8, _hoisted_7$8)
2661
2818
  ]);
2662
2819
  }), 128))
2663
2820
  ])) : vue.createCommentVNode("", true)
@@ -2665,15 +2822,15 @@
2665
2822
  };
2666
2823
  }
2667
2824
  });
2668
- const TaoFileDrop = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-f97c4e91"]]);
2669
- const _hoisted_1$n = ["aria-expanded"];
2670
- const _hoisted_2$k = {
2825
+ const TaoFileDrop = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-f97c4e91"]]);
2826
+ const _hoisted_1$p = ["aria-expanded"];
2827
+ const _hoisted_2$m = {
2671
2828
  key: 1,
2672
2829
  "aria-label": "Меню"
2673
2830
  };
2674
- const _hoisted_3$h = ["onClick", "onMouseenter"];
2675
- const _hoisted_4$g = { key: 1 };
2676
- const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
2831
+ const _hoisted_3$i = ["onClick", "onMouseenter"];
2832
+ const _hoisted_4$h = { key: 1 };
2833
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
2677
2834
  ...{ name: "TaoDropdownMenu" },
2678
2835
  __name: "TaoDropdownMenu",
2679
2836
  props: {
@@ -2808,8 +2965,8 @@
2808
2965
  "aria-expanded": isOpen.value,
2809
2966
  onClick: toggleMenu
2810
2967
  }, [
2811
- _ctx.$slots.button ? vue.renderSlot(_ctx.$slots, "button", {}, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$k, "⋮"))
2812
- ], 8, _hoisted_1$n),
2968
+ _ctx.$slots.button ? vue.renderSlot(_ctx.$slots, "button", {}, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$m, "⋮"))
2969
+ ], 8, _hoisted_1$p),
2813
2970
  (vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
2814
2971
  isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", {
2815
2972
  key: 0,
@@ -2834,8 +2991,8 @@
2834
2991
  id: action.id,
2835
2992
  ico: action.ico,
2836
2993
  text: action.name
2837
- }, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$g, vue.toDisplayString(action.name), 1))
2838
- ], 42, _hoisted_3$h);
2994
+ }, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$h, vue.toDisplayString(action.name), 1))
2995
+ ], 42, _hoisted_3$i);
2839
2996
  }), 128))
2840
2997
  ], 36)) : vue.createCommentVNode("", true)
2841
2998
  ]))
@@ -2843,10 +3000,10 @@
2843
3000
  };
2844
3001
  }
2845
3002
  });
2846
- const TaoDropdownMenu = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-420a7e63"]]);
2847
- const _hoisted_1$m = ["aria-invalid", "aria-describedby"];
2848
- const _hoisted_2$j = ["id", "value", "placeholder", "type", "inputmode", "pattern", "onInput", "onKeydown", "onFocus"];
2849
- const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
3003
+ const TaoDropdownMenu = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-420a7e63"]]);
3004
+ const _hoisted_1$o = ["aria-invalid", "aria-describedby"];
3005
+ const _hoisted_2$l = ["id", "value", "placeholder", "type", "inputmode", "pattern", "onInput", "onKeydown", "onFocus"];
3006
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
2850
3007
  ...{ name: "TaoPinCode" },
2851
3008
  __name: "TaoPinCode",
2852
3009
  props: {
@@ -3013,14 +3170,14 @@
3013
3170
  onKeydown: ($event) => onKeydown($event, index),
3014
3171
  onFocus: ($event) => onFocus(index),
3015
3172
  onBlur
3016
- }, null, 42, _hoisted_2$j);
3173
+ }, null, 42, _hoisted_2$l);
3017
3174
  }), 128))
3018
- ], 8, _hoisted_1$m);
3175
+ ], 8, _hoisted_1$o);
3019
3176
  };
3020
3177
  }
3021
3178
  });
3022
- const TaoPinCode = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-c3182673"]]);
3023
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
3179
+ const TaoPinCode = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-c3182673"]]);
3180
+ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
3024
3181
  ...{ name: "TaoLink" },
3025
3182
  __name: "TaoLink",
3026
3183
  props: {
@@ -3062,8 +3219,8 @@
3062
3219
  };
3063
3220
  }
3064
3221
  });
3065
- const _hoisted_1$l = ["for"];
3066
- const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
3222
+ const _hoisted_1$n = ["for"];
3223
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
3067
3224
  ...{ name: "TaoFormField" },
3068
3225
  __name: "TaoFormField",
3069
3226
  props: {
@@ -3099,7 +3256,7 @@
3099
3256
  key: 0,
3100
3257
  class: "tao-form-field__label",
3101
3258
  for: vue.unref(id)
3102
- }, vue.toDisplayString(__props.label), 9, _hoisted_1$l)) : vue.createCommentVNode("", true),
3259
+ }, vue.toDisplayString(__props.label), 9, _hoisted_1$n)) : vue.createCommentVNode("", true),
3103
3260
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
3104
3261
  __props.error ? (vue.openBlock(), vue.createElementBlock("p", {
3105
3262
  key: 1,
@@ -3114,12 +3271,12 @@
3114
3271
  };
3115
3272
  }
3116
3273
  });
3117
- const TaoFormField = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-11324f0c"]]);
3118
- const _hoisted_1$k = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
3119
- const _hoisted_2$i = { class: "tao-select__value" };
3120
- const _hoisted_3$g = ["aria-activedescendant"];
3121
- const _hoisted_4$f = ["id", "aria-selected", "aria-disabled", "data-tao-select-index", "onClick", "onMouseenter"];
3122
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
3274
+ const TaoFormField = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-11324f0c"]]);
3275
+ const _hoisted_1$m = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
3276
+ const _hoisted_2$k = { class: "tao-select__value" };
3277
+ const _hoisted_3$h = ["aria-activedescendant"];
3278
+ const _hoisted_4$g = ["id", "aria-selected", "aria-disabled", "data-tao-select-index", "onClick", "onMouseenter"];
3279
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
3123
3280
  ...{ name: "TaoSelect" },
3124
3281
  __name: "TaoSelect",
3125
3282
  props: {
@@ -3332,12 +3489,12 @@
3332
3489
  onClick: toggle,
3333
3490
  onKeydown: onTriggerKeydown
3334
3491
  }, [
3335
- vue.createElementVNode("span", _hoisted_2$i, vue.toDisplayString(((_a = selected.value) == null ? void 0 : _a.label) ?? __props.placeholder), 1),
3492
+ vue.createElementVNode("span", _hoisted_2$k, vue.toDisplayString(((_a = selected.value) == null ? void 0 : _a.label) ?? __props.placeholder), 1),
3336
3493
  _cache[2] || (_cache[2] = vue.createElementVNode("span", {
3337
3494
  class: "tao-select__chevron",
3338
3495
  "aria-hidden": "true"
3339
3496
  }, null, -1))
3340
- ], 42, _hoisted_1$k),
3497
+ ], 42, _hoisted_1$m),
3341
3498
  (vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
3342
3499
  open.value ? (vue.openBlock(), vue.createElementBlock("div", {
3343
3500
  key: 0,
@@ -3373,9 +3530,9 @@
3373
3530
  }, ["prevent"])),
3374
3531
  onClick: ($event) => selectOption(option),
3375
3532
  onMouseenter: ($event) => !option.disabled && (activeIndex.value = index)
3376
- }, vue.toDisplayString(option.label), 43, _hoisted_4$f);
3533
+ }, vue.toDisplayString(option.label), 43, _hoisted_4$g);
3377
3534
  }), 128))
3378
- ], 40, _hoisted_3$g),
3535
+ ], 40, _hoisted_3$h),
3379
3536
  selected.value ? (vue.openBlock(), vue.createElementBlock("button", {
3380
3537
  key: 0,
3381
3538
  type: "button",
@@ -3390,14 +3547,14 @@
3390
3547
  };
3391
3548
  }
3392
3549
  });
3393
- const TaoSelect = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-42551757"]]);
3394
- const _hoisted_1$j = ["id", "aria-expanded", "aria-activedescendant", "aria-invalid", "aria-describedby", "disabled", "placeholder", "value"];
3395
- const _hoisted_2$h = {
3550
+ const TaoSelect = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-42551757"]]);
3551
+ const _hoisted_1$l = ["id", "aria-expanded", "aria-activedescendant", "aria-invalid", "aria-describedby", "disabled", "placeholder", "value"];
3552
+ const _hoisted_2$j = {
3396
3553
  key: 0,
3397
3554
  class: "tao-combobox__empty"
3398
3555
  };
3399
- const _hoisted_3$f = ["id", "aria-selected", "aria-disabled", "data-tao-combobox-index", "onClick", "onMouseenter"];
3400
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
3556
+ const _hoisted_3$g = ["id", "aria-selected", "aria-disabled", "data-tao-combobox-index", "onClick", "onMouseenter"];
3557
+ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
3401
3558
  ...{ name: "TaoCombobox" },
3402
3559
  __name: "TaoCombobox",
3403
3560
  props: {
@@ -3805,7 +3962,7 @@
3805
3962
  onFocus,
3806
3963
  onBlur,
3807
3964
  onKeydown: onInputKeydown
3808
- }, null, 40, _hoisted_1$j),
3965
+ }, null, 40, _hoisted_1$l),
3809
3966
  _cache[1] || (_cache[1] = vue.createElementVNode("span", {
3810
3967
  class: "tao-combobox__chevron",
3811
3968
  "aria-hidden": "true"
@@ -3826,7 +3983,7 @@
3826
3983
  class: "tao-combobox__list",
3827
3984
  role: "listbox"
3828
3985
  }, [
3829
- !rows.value.length ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_2$h, "Ничего не найдено")) : vue.createCommentVNode("", true),
3986
+ !rows.value.length ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_2$j, "Ничего не найдено")) : vue.createCommentVNode("", true),
3830
3987
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(rows.value, (row, index) => {
3831
3988
  return vue.openBlock(), vue.createElementBlock("li", {
3832
3989
  id: `${listId}-row-${index}`,
@@ -3850,7 +4007,7 @@
3850
4007
  ], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
3851
4008
  vue.createTextVNode(vue.toDisplayString(row.option.label), 1)
3852
4009
  ], 64))
3853
- ], 42, _hoisted_3$f);
4010
+ ], 42, _hoisted_3$g);
3854
4011
  }), 128))
3855
4012
  ], 512),
3856
4013
  selected.value ? (vue.openBlock(), vue.createElementBlock("button", {
@@ -3865,7 +4022,7 @@
3865
4022
  };
3866
4023
  }
3867
4024
  });
3868
- const TaoCombobox = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-60be67d0"]]);
4025
+ const TaoCombobox = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-60be67d0"]]);
3869
4026
  const ISO_DATE = /^(\d{4})-(\d{2})-(\d{2})$/;
3870
4027
  function formatTaoDateIso(parts) {
3871
4028
  return `${String(parts.y).padStart(4, "0")}-${String(parts.m).padStart(2, "0")}-${String(parts.d).padStart(2, "0")}`;
@@ -3993,23 +4150,23 @@
3993
4150
  };
3994
4151
  });
3995
4152
  }
3996
- const _hoisted_1$i = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
3997
- const _hoisted_2$g = { class: "tao-date__value" };
3998
- const _hoisted_3$e = ["aria-label"];
3999
- const _hoisted_4$e = { class: "tao-date__header" };
4000
- const _hoisted_5$b = { class: "tao-date__month" };
4001
- const _hoisted_6$8 = {
4153
+ const _hoisted_1$k = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
4154
+ const _hoisted_2$i = { class: "tao-date__value" };
4155
+ const _hoisted_3$f = ["aria-label"];
4156
+ const _hoisted_4$f = { class: "tao-date__header" };
4157
+ const _hoisted_5$c = { class: "tao-date__month" };
4158
+ const _hoisted_6$9 = {
4002
4159
  class: "tao-date__weekdays",
4003
4160
  "aria-hidden": "true"
4004
4161
  };
4005
- const _hoisted_7$6 = {
4162
+ const _hoisted_7$7 = {
4006
4163
  class: "tao-date__grid",
4007
4164
  role: "grid"
4008
4165
  };
4009
4166
  const _hoisted_8$6 = ["aria-label", "aria-selected", "disabled", "onClick"];
4010
4167
  const _hoisted_9$2 = { class: "tao-date__footer" };
4011
4168
  const _hoisted_10$1 = ["disabled"];
4012
- const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
4169
+ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
4013
4170
  ...{ name: "TaoDate" },
4014
4171
  __name: "TaoDate",
4015
4172
  props: {
@@ -4239,7 +4396,7 @@
4239
4396
  onClick: toggle,
4240
4397
  onKeydown: onTriggerKeydown
4241
4398
  }, [
4242
- vue.createElementVNode("span", _hoisted_2$g, vue.toDisplayString(displayLabel.value || __props.placeholder), 1),
4399
+ vue.createElementVNode("span", _hoisted_2$i, vue.toDisplayString(displayLabel.value || __props.placeholder), 1),
4243
4400
  _cache[4] || (_cache[4] = vue.createElementVNode("svg", {
4244
4401
  class: "tao-date__icon",
4245
4402
  viewBox: "0 0 16 16",
@@ -4266,7 +4423,7 @@
4266
4423
  "stroke-linecap": "round"
4267
4424
  })
4268
4425
  ], -1))
4269
- ], 42, _hoisted_1$i),
4426
+ ], 42, _hoisted_1$k),
4270
4427
  (vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
4271
4428
  open.value ? (vue.openBlock(), vue.createElementBlock("div", {
4272
4429
  key: 0,
@@ -4280,7 +4437,7 @@
4280
4437
  style: vue.normalizeStyle(panelStyle.value),
4281
4438
  onKeydown: onPanelKeydown
4282
4439
  }, [
4283
- vue.createElementVNode("div", _hoisted_4$e, [
4440
+ vue.createElementVNode("div", _hoisted_4$f, [
4284
4441
  vue.createElementVNode("button", {
4285
4442
  type: "button",
4286
4443
  class: "tao-date__nav",
@@ -4304,7 +4461,7 @@
4304
4461
  })
4305
4462
  ], -1)
4306
4463
  ])]),
4307
- vue.createElementVNode("p", _hoisted_5$b, vue.toDisplayString(monthLabel.value), 1),
4464
+ vue.createElementVNode("p", _hoisted_5$c, vue.toDisplayString(monthLabel.value), 1),
4308
4465
  vue.createElementVNode("button", {
4309
4466
  type: "button",
4310
4467
  class: "tao-date__nav",
@@ -4329,12 +4486,12 @@
4329
4486
  ], -1)
4330
4487
  ])])
4331
4488
  ]),
4332
- vue.createElementVNode("div", _hoisted_6$8, [
4489
+ vue.createElementVNode("div", _hoisted_6$9, [
4333
4490
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(weekdays.value, (day) => {
4334
4491
  return vue.openBlock(), vue.createElementBlock("span", { key: day }, vue.toDisplayString(day), 1);
4335
4492
  }), 128))
4336
4493
  ]),
4337
- vue.createElementVNode("div", _hoisted_7$6, [
4494
+ vue.createElementVNode("div", _hoisted_7$7, [
4338
4495
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(cells.value, (cell) => {
4339
4496
  return vue.openBlock(), vue.createElementBlock("button", {
4340
4497
  key: cell.iso,
@@ -4370,26 +4527,26 @@
4370
4527
  onClick: clear
4371
4528
  }, "Очистить")) : vue.createCommentVNode("", true)
4372
4529
  ])
4373
- ], 44, _hoisted_3$e)) : vue.createCommentVNode("", true)
4530
+ ], 44, _hoisted_3$f)) : vue.createCommentVNode("", true)
4374
4531
  ]))
4375
4532
  ], 2);
4376
4533
  };
4377
4534
  }
4378
4535
  });
4379
- const TaoDate = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-f4a9cddd"]]);
4380
- const _hoisted_1$h = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
4381
- const _hoisted_2$f = { class: "tao-date-range__value" };
4382
- const _hoisted_3$d = ["aria-label"];
4383
- const _hoisted_4$d = { class: "tao-date__header" };
4384
- const _hoisted_5$a = { class: "tao-date__month" };
4385
- const _hoisted_6$7 = {
4536
+ const TaoDate = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-f4a9cddd"]]);
4537
+ const _hoisted_1$j = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
4538
+ const _hoisted_2$h = { class: "tao-date-range__value" };
4539
+ const _hoisted_3$e = ["aria-label"];
4540
+ const _hoisted_4$e = { class: "tao-date__header" };
4541
+ const _hoisted_5$b = { class: "tao-date__month" };
4542
+ const _hoisted_6$8 = {
4386
4543
  class: "tao-date__weekdays",
4387
4544
  "aria-hidden": "true"
4388
4545
  };
4389
- const _hoisted_7$5 = ["aria-label", "aria-selected", "disabled", "onMouseenter", "onClick"];
4546
+ const _hoisted_7$6 = ["aria-label", "aria-selected", "disabled", "onMouseenter", "onClick"];
4390
4547
  const _hoisted_8$5 = { class: "tao-date__footer" };
4391
4548
  const _hoisted_9$1 = ["disabled"];
4392
- const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
4549
+ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
4393
4550
  ...{ name: "TaoDateRange" },
4394
4551
  __name: "TaoDateRange",
4395
4552
  props: {
@@ -4673,7 +4830,7 @@
4673
4830
  onClick: toggle,
4674
4831
  onKeydown: onTriggerKeydown
4675
4832
  }, [
4676
- vue.createElementVNode("span", _hoisted_2$f, vue.toDisplayString(displayLabel.value || __props.placeholder), 1),
4833
+ vue.createElementVNode("span", _hoisted_2$h, vue.toDisplayString(displayLabel.value || __props.placeholder), 1),
4677
4834
  _cache[3] || (_cache[3] = vue.createElementVNode("svg", {
4678
4835
  class: "tao-date-range__icon",
4679
4836
  viewBox: "0 0 16 16",
@@ -4700,7 +4857,7 @@
4700
4857
  "stroke-linecap": "round"
4701
4858
  })
4702
4859
  ], -1))
4703
- ], 42, _hoisted_1$h),
4860
+ ], 42, _hoisted_1$j),
4704
4861
  (vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
4705
4862
  open.value ? (vue.openBlock(), vue.createElementBlock("div", {
4706
4863
  key: 0,
@@ -4714,7 +4871,7 @@
4714
4871
  style: vue.normalizeStyle(panelStyle.value),
4715
4872
  onKeydown: onPanelKeydown
4716
4873
  }, [
4717
- vue.createElementVNode("div", _hoisted_4$d, [
4874
+ vue.createElementVNode("div", _hoisted_4$e, [
4718
4875
  vue.createElementVNode("button", {
4719
4876
  type: "button",
4720
4877
  class: "tao-date__nav",
@@ -4738,7 +4895,7 @@
4738
4895
  })
4739
4896
  ], -1)
4740
4897
  ])]),
4741
- vue.createElementVNode("p", _hoisted_5$a, vue.toDisplayString(monthLabel.value), 1),
4898
+ vue.createElementVNode("p", _hoisted_5$b, vue.toDisplayString(monthLabel.value), 1),
4742
4899
  vue.createElementVNode("button", {
4743
4900
  type: "button",
4744
4901
  class: "tao-date__nav",
@@ -4763,7 +4920,7 @@
4763
4920
  ], -1)
4764
4921
  ])])
4765
4922
  ]),
4766
- vue.createElementVNode("div", _hoisted_6$7, [
4923
+ vue.createElementVNode("div", _hoisted_6$8, [
4767
4924
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(weekdays.value, (day) => {
4768
4925
  return vue.openBlock(), vue.createElementBlock("span", { key: day }, vue.toDisplayString(day), 1);
4769
4926
  }), 128))
@@ -4796,7 +4953,7 @@
4796
4953
  }, ["prevent"])),
4797
4954
  onMouseenter: ($event) => onDayEnter(cell.iso),
4798
4955
  onClick: ($event) => selectDay(cell.iso)
4799
- }, vue.toDisplayString(cell.day), 43, _hoisted_7$5);
4956
+ }, vue.toDisplayString(cell.day), 43, _hoisted_7$6);
4800
4957
  }), 128))
4801
4958
  ], 32),
4802
4959
  vue.createElementVNode("div", _hoisted_8$5, [
@@ -4813,24 +4970,24 @@
4813
4970
  onClick: clear
4814
4971
  }, "Очистить")) : vue.createCommentVNode("", true)
4815
4972
  ])
4816
- ], 44, _hoisted_3$d)) : vue.createCommentVNode("", true)
4973
+ ], 44, _hoisted_3$e)) : vue.createCommentVNode("", true)
4817
4974
  ]))
4818
4975
  ], 2);
4819
4976
  };
4820
4977
  }
4821
4978
  });
4822
- const TaoDateRange = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-3d067081"]]);
4823
- const _hoisted_1$g = ["for"];
4824
- const _hoisted_2$e = ["id", "checked", "disabled", "aria-checked"];
4825
- const _hoisted_3$c = {
4979
+ const TaoDateRange = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-3d067081"]]);
4980
+ const _hoisted_1$i = ["for"];
4981
+ const _hoisted_2$g = ["id", "checked", "disabled", "aria-checked"];
4982
+ const _hoisted_3$d = {
4826
4983
  key: 0,
4827
4984
  class: "tao-switch__label"
4828
4985
  };
4829
- const _hoisted_4$c = {
4986
+ const _hoisted_4$d = {
4830
4987
  key: 1,
4831
4988
  class: "tao-switch__label"
4832
4989
  };
4833
- const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
4990
+ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
4834
4991
  ...{ name: "TaoSwitch" },
4835
4992
  __name: "TaoSwitch",
4836
4993
  props: {
@@ -4867,33 +5024,33 @@
4867
5024
  disabled: __props.disabled,
4868
5025
  "aria-checked": __props.modelValue,
4869
5026
  onChange: toggle
4870
- }, null, 40, _hoisted_2$e),
5027
+ }, null, 40, _hoisted_2$g),
4871
5028
  _cache[0] || (_cache[0] = vue.createElementVNode("span", {
4872
5029
  class: "tao-switch__track",
4873
5030
  "aria-hidden": "true"
4874
5031
  }, [
4875
5032
  vue.createElementVNode("span", { class: "tao-switch__thumb" })
4876
5033
  ], -1)),
4877
- __props.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$c, vue.toDisplayString(__props.label), 1)) : _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$c, [
5034
+ __props.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$d, vue.toDisplayString(__props.label), 1)) : _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$d, [
4878
5035
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
4879
5036
  ])) : vue.createCommentVNode("", true)
4880
- ], 10, _hoisted_1$g);
5037
+ ], 10, _hoisted_1$i);
4881
5038
  };
4882
5039
  }
4883
5040
  });
4884
- const TaoSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-db2bca61"]]);
5041
+ const TaoSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-db2bca61"]]);
4885
5042
  const radioGroupKey = Symbol("taoRadioGroup");
4886
- const _hoisted_1$f = ["for"];
4887
- const _hoisted_2$d = ["id", "name", "value", "checked", "disabled"];
4888
- const _hoisted_3$b = {
5043
+ const _hoisted_1$h = ["for"];
5044
+ const _hoisted_2$f = ["id", "name", "value", "checked", "disabled"];
5045
+ const _hoisted_3$c = {
4889
5046
  key: 0,
4890
5047
  class: "tao-radio__label"
4891
5048
  };
4892
- const _hoisted_4$b = {
5049
+ const _hoisted_4$c = {
4893
5050
  key: 1,
4894
5051
  class: "tao-radio__label"
4895
5052
  };
4896
- const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
5053
+ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
4897
5054
  ...{ name: "TaoRadio" },
4898
5055
  __name: "TaoRadio",
4899
5056
  props: {
@@ -4940,25 +5097,25 @@
4940
5097
  checked: isChecked.value,
4941
5098
  disabled: isDisabled.value,
4942
5099
  onChange
4943
- }, null, 40, _hoisted_2$d),
5100
+ }, null, 40, _hoisted_2$f),
4944
5101
  _cache[0] || (_cache[0] = vue.createElementVNode("span", {
4945
5102
  class: "tao-radio__dot",
4946
5103
  "aria-hidden": "true"
4947
5104
  }, null, -1)),
4948
- __props.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$b, vue.toDisplayString(__props.label), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$b, [
5105
+ __props.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$c, vue.toDisplayString(__props.label), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$c, [
4949
5106
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
4950
5107
  ]))
4951
- ], 10, _hoisted_1$f);
5108
+ ], 10, _hoisted_1$h);
4952
5109
  };
4953
5110
  }
4954
5111
  });
4955
- const TaoRadio = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-c9c84481"]]);
4956
- const _hoisted_1$e = ["disabled"];
4957
- const _hoisted_2$c = {
5112
+ const TaoRadio = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-c9c84481"]]);
5113
+ const _hoisted_1$g = ["disabled"];
5114
+ const _hoisted_2$e = {
4958
5115
  key: 0,
4959
5116
  class: "tao-radio-group__legend"
4960
5117
  };
4961
- const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
5118
+ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
4962
5119
  ...{ name: "TaoRadioGroup" },
4963
5120
  __name: "TaoRadioGroup",
4964
5121
  props: {
@@ -4991,13 +5148,258 @@
4991
5148
  class: vue.normalizeClass(["tao-radio-group", `tao-radio-group--${__props.direction}`]),
4992
5149
  disabled: __props.disabled
4993
5150
  }, [
4994
- __props.legend ? (vue.openBlock(), vue.createElementBlock("legend", _hoisted_2$c, vue.toDisplayString(__props.legend), 1)) : vue.createCommentVNode("", true),
5151
+ __props.legend ? (vue.openBlock(), vue.createElementBlock("legend", _hoisted_2$e, vue.toDisplayString(__props.legend), 1)) : vue.createCommentVNode("", true),
4995
5152
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
5153
+ ], 10, _hoisted_1$g);
5154
+ };
5155
+ }
5156
+ });
5157
+ const TaoRadioGroup = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-a0b1cb1f"]]);
5158
+ const segmentedKey = Symbol("taoSegmented");
5159
+ const _hoisted_1$f = ["disabled", "aria-describedby", "aria-invalid"];
5160
+ const _hoisted_2$d = {
5161
+ key: 0,
5162
+ class: "tao-segmented__legend"
5163
+ };
5164
+ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
5165
+ ...{ name: "TaoSegmented" },
5166
+ __name: "TaoSegmented",
5167
+ props: {
5168
+ modelValue: { type: [String, Number, Boolean] },
5169
+ name: {},
5170
+ legend: {},
5171
+ disabled: { type: Boolean, default: false },
5172
+ size: { default: "medium" },
5173
+ block: { type: Boolean, default: false }
5174
+ },
5175
+ emits: ["update:modelValue", "change"],
5176
+ setup(__props, { emit: __emit }) {
5177
+ const props = __props;
5178
+ const emit = __emit;
5179
+ const field = vue.inject(formFieldKey, null);
5180
+ const autoName = vue.useId();
5181
+ const groupName = vue.computed(() => props.name || autoName);
5182
+ const model = vue.computed(() => props.modelValue);
5183
+ const groupDisabled = vue.computed(() => props.disabled);
5184
+ const groupSize = vue.computed(() => props.size);
5185
+ const invalid = vue.computed(() => Boolean(field == null ? void 0 : field.invalid.value));
5186
+ const describedBy = vue.computed(() => field == null ? void 0 : field.describedBy.value);
5187
+ const trackRef = vue.ref(null);
5188
+ const thumbStyle = vue.ref({ opacity: "0" });
5189
+ let resizeObserver = null;
5190
+ let mutationObserver = null;
5191
+ function setValue(value) {
5192
+ emit("update:modelValue", value);
5193
+ emit("change", value);
5194
+ }
5195
+ function updateThumb() {
5196
+ const track = trackRef.value;
5197
+ if (!track) {
5198
+ return;
5199
+ }
5200
+ const selected = track.querySelector(".tao-segmented-option--checked");
5201
+ if (!selected) {
5202
+ if (thumbStyle.value.opacity !== "0") {
5203
+ thumbStyle.value = { opacity: "0" };
5204
+ }
5205
+ return;
5206
+ }
5207
+ const trackBox = track.getBoundingClientRect();
5208
+ const optionBox = selected.getBoundingClientRect();
5209
+ const next = {
5210
+ width: `${optionBox.width}px`,
5211
+ height: `${optionBox.height}px`,
5212
+ transform: `translate(${optionBox.left - trackBox.left - track.clientLeft}px, ${optionBox.top - trackBox.top - track.clientTop}px)`,
5213
+ opacity: "1"
5214
+ };
5215
+ const prev = thumbStyle.value;
5216
+ if (prev.width === next.width && prev.height === next.height && prev.transform === next.transform && prev.opacity === next.opacity) {
5217
+ return;
5218
+ }
5219
+ thumbStyle.value = next;
5220
+ }
5221
+ vue.provide(segmentedKey, {
5222
+ name: groupName,
5223
+ model,
5224
+ disabled: groupDisabled,
5225
+ size: groupSize,
5226
+ setValue
5227
+ });
5228
+ vue.onMounted(() => {
5229
+ const track = trackRef.value;
5230
+ void vue.nextTick(updateThumb);
5231
+ if (!track) {
5232
+ return;
5233
+ }
5234
+ if (typeof ResizeObserver !== "undefined") {
5235
+ resizeObserver = new ResizeObserver(() => updateThumb());
5236
+ resizeObserver.observe(track);
5237
+ }
5238
+ mutationObserver = new MutationObserver(() => updateThumb());
5239
+ mutationObserver.observe(track, {
5240
+ subtree: true,
5241
+ childList: true,
5242
+ attributes: true,
5243
+ attributeFilter: ["class"]
5244
+ });
5245
+ });
5246
+ vue.watch(
5247
+ () => [props.modelValue, props.size, props.block, props.disabled],
5248
+ () => {
5249
+ void vue.nextTick(updateThumb);
5250
+ }
5251
+ );
5252
+ vue.onBeforeUnmount(() => {
5253
+ resizeObserver == null ? void 0 : resizeObserver.disconnect();
5254
+ resizeObserver = null;
5255
+ mutationObserver == null ? void 0 : mutationObserver.disconnect();
5256
+ mutationObserver = null;
5257
+ });
5258
+ return (_ctx, _cache) => {
5259
+ return vue.openBlock(), vue.createElementBlock("fieldset", {
5260
+ class: vue.normalizeClass(["tao-segmented", [
5261
+ `tao-segmented--${__props.size}`,
5262
+ {
5263
+ "tao-segmented--block": __props.block,
5264
+ "tao-segmented--disabled": __props.disabled,
5265
+ "tao-segmented--invalid": invalid.value
5266
+ }
5267
+ ]]),
5268
+ disabled: __props.disabled,
5269
+ "aria-describedby": describedBy.value,
5270
+ "aria-invalid": invalid.value || void 0
5271
+ }, [
5272
+ __props.legend ? (vue.openBlock(), vue.createElementBlock("legend", _hoisted_2$d, vue.toDisplayString(__props.legend), 1)) : vue.createCommentVNode("", true),
5273
+ vue.createElementVNode("div", {
5274
+ ref_key: "trackRef",
5275
+ ref: trackRef,
5276
+ class: "tao-segmented__track"
5277
+ }, [
5278
+ vue.createElementVNode("div", {
5279
+ class: "tao-segmented__thumb",
5280
+ style: vue.normalizeStyle(thumbStyle.value),
5281
+ "aria-hidden": "true"
5282
+ }, null, 4),
5283
+ vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
5284
+ ], 512)
5285
+ ], 10, _hoisted_1$f);
5286
+ };
5287
+ }
5288
+ });
5289
+ const TaoSegmented = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-cb3c591b"]]);
5290
+ const _hoisted_1$e = ["for"];
5291
+ const _hoisted_2$c = ["id", "name", "value", "checked", "disabled", "aria-label"];
5292
+ const _hoisted_3$b = { class: "tao-segmented-option__face" };
5293
+ const _hoisted_4$b = {
5294
+ key: 0,
5295
+ class: "tao-segmented-option__icon",
5296
+ "aria-hidden": "true"
5297
+ };
5298
+ const _hoisted_5$a = {
5299
+ key: 1,
5300
+ class: "tao-segmented-option__label"
5301
+ };
5302
+ const _hoisted_6$7 = {
5303
+ key: 2,
5304
+ class: "tao-segmented-option__sr"
5305
+ };
5306
+ const _hoisted_7$5 = {
5307
+ key: 3,
5308
+ class: "tao-segmented-option__count"
5309
+ };
5310
+ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
5311
+ ...{ name: "TaoSegmentedOption" },
5312
+ __name: "TaoSegmentedOption",
5313
+ props: {
5314
+ value: { type: [String, Number, Boolean] },
5315
+ modelValue: { type: [String, Number, Boolean] },
5316
+ name: {},
5317
+ label: { default: "" },
5318
+ icon: { default: "" },
5319
+ count: {},
5320
+ disabled: { type: Boolean, default: false },
5321
+ ariaLabel: {}
5322
+ },
5323
+ emits: ["update:modelValue", "change"],
5324
+ setup(__props, { emit: __emit }) {
5325
+ const props = __props;
5326
+ const emit = __emit;
5327
+ const group = vue.inject(segmentedKey, null);
5328
+ const slots = vue.useSlots();
5329
+ const localId = vue.useId();
5330
+ const isDisabled = vue.computed(() => props.disabled || Boolean(group == null ? void 0 : group.disabled.value));
5331
+ const inputName = vue.computed(() => (group == null ? void 0 : group.name.value) ?? props.name);
5332
+ const size = vue.computed(() => (group == null ? void 0 : group.size.value) ?? "medium");
5333
+ const isChecked = vue.computed(() => {
5334
+ const current = group ? group.model.value : props.modelValue;
5335
+ return current === props.value;
5336
+ });
5337
+ const hasLabel = vue.computed(() => Boolean(props.label || slots.default));
5338
+ const isIconOnly = vue.computed(() => Boolean((props.icon || slots.icon) && !hasLabel.value));
5339
+ const countLabel = vue.computed(() => {
5340
+ if (props.count === void 0 || props.count === null || props.count === "") {
5341
+ return "";
5342
+ }
5343
+ if (typeof props.count === "number") {
5344
+ if (props.count > 99) {
5345
+ return "99+";
5346
+ }
5347
+ return String(props.count);
5348
+ }
5349
+ return String(props.count);
5350
+ });
5351
+ function onChange() {
5352
+ if (isDisabled.value) {
5353
+ return;
5354
+ }
5355
+ if (group) {
5356
+ group.setValue(props.value);
5357
+ return;
5358
+ }
5359
+ emit("update:modelValue", props.value);
5360
+ emit("change", props.value);
5361
+ }
5362
+ return (_ctx, _cache) => {
5363
+ return vue.openBlock(), vue.createElementBlock("label", {
5364
+ class: vue.normalizeClass(["tao-segmented-option", [
5365
+ `tao-segmented-option--${size.value}`,
5366
+ {
5367
+ "tao-segmented-option--checked": isChecked.value,
5368
+ "tao-segmented-option--disabled": props.disabled,
5369
+ "tao-segmented-option--icon-only": isIconOnly.value
5370
+ }
5371
+ ]]),
5372
+ for: vue.unref(localId)
5373
+ }, [
5374
+ vue.createElementVNode("input", {
5375
+ id: vue.unref(localId),
5376
+ class: "tao-segmented-option__input",
5377
+ type: "radio",
5378
+ name: inputName.value,
5379
+ value: String(__props.value),
5380
+ checked: isChecked.value,
5381
+ disabled: isDisabled.value,
5382
+ "aria-label": __props.ariaLabel,
5383
+ onChange
5384
+ }, null, 40, _hoisted_2$c),
5385
+ vue.createElementVNode("span", _hoisted_3$b, [
5386
+ __props.icon || _ctx.$slots.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$b, [
5387
+ vue.renderSlot(_ctx.$slots, "icon", {}, () => [
5388
+ vue.createTextVNode(vue.toDisplayString(__props.icon), 1)
5389
+ ], true)
5390
+ ])) : vue.createCommentVNode("", true),
5391
+ hasLabel.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$a, [
5392
+ vue.renderSlot(_ctx.$slots, "default", {}, () => [
5393
+ vue.createTextVNode(vue.toDisplayString(__props.label), 1)
5394
+ ], true)
5395
+ ])) : __props.ariaLabel ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$7, vue.toDisplayString(__props.ariaLabel), 1)) : vue.createCommentVNode("", true),
5396
+ countLabel.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$5, vue.toDisplayString(countLabel.value), 1)) : vue.createCommentVNode("", true)
5397
+ ])
4996
5398
  ], 10, _hoisted_1$e);
4997
5399
  };
4998
5400
  }
4999
5401
  });
5000
- const TaoRadioGroup = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-a0b1cb1f"]]);
5402
+ const TaoSegmentedOption = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-1a9357a1"]]);
5001
5403
  const _hoisted_1$d = ["role", "aria-live"];
5002
5404
  const _hoisted_2$b = { class: "tao-alert__body" };
5003
5405
  const _hoisted_3$a = {
@@ -5716,7 +6118,7 @@
5716
6118
  class: "tao-breadcrumb__item"
5717
6119
  }, [
5718
6120
  index > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$4, "/")) : vue.createCommentVNode("", true),
5719
- index === __props.items.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$4, vue.toDisplayString(item.label), 1)) : item.to ? (vue.openBlock(), vue.createBlock(_sfc_main$m, {
6121
+ index === __props.items.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$4, vue.toDisplayString(item.label), 1)) : item.to ? (vue.openBlock(), vue.createBlock(_sfc_main$o, {
5720
6122
  key: 2,
5721
6123
  class: "tao-breadcrumb__link",
5722
6124
  to: item.to
@@ -7377,7 +7779,7 @@
7377
7779
  TaoSpoilerGroup,
7378
7780
  TaoCopy,
7379
7781
  TaoContainer,
7380
- _sfc_main$D,
7782
+ _sfc_main$F,
7381
7783
  TaoSpace,
7382
7784
  TaoIcon,
7383
7785
  TaoLoader,
@@ -7394,7 +7796,7 @@
7394
7796
  TaoFileDrop,
7395
7797
  TaoDropdownMenu,
7396
7798
  TaoPinCode,
7397
- _sfc_main$m,
7799
+ _sfc_main$o,
7398
7800
  TaoFormField,
7399
7801
  TaoSelect,
7400
7802
  TaoCombobox,
@@ -7403,6 +7805,8 @@
7403
7805
  TaoSwitch,
7404
7806
  TaoRadio,
7405
7807
  TaoRadioGroup,
7808
+ TaoSegmented,
7809
+ TaoSegmentedOption,
7406
7810
  TaoAlert,
7407
7811
  TaoTable,
7408
7812
  TaoPagination,
@@ -7446,14 +7850,14 @@
7446
7850
  exports2.TaoEmpty = TaoEmpty;
7447
7851
  exports2.TaoFieldset = TaoFieldset;
7448
7852
  exports2.TaoFileDrop = TaoFileDrop;
7449
- exports2.TaoFlex = _sfc_main$D;
7853
+ exports2.TaoFlex = _sfc_main$F;
7450
7854
  exports2.TaoFormField = TaoFormField;
7451
7855
  exports2.TaoIcon = TaoIcon;
7452
7856
  exports2.TaoImage = TaoImage;
7453
7857
  exports2.TaoInput = TaoInput;
7454
7858
  exports2.TaoInputGroup = TaoInputGroup;
7455
7859
  exports2.TaoInputNumber = TaoInputNumber;
7456
- exports2.TaoLink = _sfc_main$m;
7860
+ exports2.TaoLink = _sfc_main$o;
7457
7861
  exports2.TaoLoader = TaoLoader;
7458
7862
  exports2.TaoModal = TaoModal;
7459
7863
  exports2.TaoPagination = TaoPagination;
@@ -7464,6 +7868,8 @@
7464
7868
  exports2.TaoRadio = TaoRadio;
7465
7869
  exports2.TaoRadioGroup = TaoRadioGroup;
7466
7870
  exports2.TaoScrollTop = TaoScrollTop;
7871
+ exports2.TaoSegmented = TaoSegmented;
7872
+ exports2.TaoSegmentedOption = TaoSegmentedOption;
7467
7873
  exports2.TaoSelect = TaoSelect;
7468
7874
  exports2.TaoSkeleton = TaoSkeleton;
7469
7875
  exports2.TaoSlider = TaoSlider;