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