@1337exp/taoui 1.1.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,15 +1,15 @@
1
1
  import { defineComponent, openBlock, createElementBlock, normalizeClass, createCommentVNode, toDisplayString, createElementVNode, renderSlot, computed, normalizeStyle, inject, useId, ref, unref, watch, onBeforeUnmount, createBlock, Teleport, createVNode, Transition, withCtx, withModifiers, nextTick, Fragment, renderList, createTextVNode, resolveDynamicComponent, useCssVars, onMounted, reactive, onBeforeMount, useSlots, withDirectives, vModelText, resolveComponent, mergeProps, provide, TransitionGroup, onUpdated, createApp } from "vue";
2
- const _hoisted_1$E = ["type", "disabled"];
3
- const _hoisted_2$z = {
2
+ const _hoisted_1$F = ["type", "disabled"];
3
+ const _hoisted_2$A = {
4
4
  key: 0,
5
5
  class: "tao-button__loader"
6
6
  };
7
- const _hoisted_3$t = {
7
+ const _hoisted_3$u = {
8
8
  key: 1,
9
9
  class: "tao-button__icon"
10
10
  };
11
11
  const _hoisted_4$o = { class: "tao-button__content" };
12
- const _sfc_main$N = /* @__PURE__ */ defineComponent({
12
+ const _sfc_main$O = /* @__PURE__ */ defineComponent({
13
13
  ...{ name: "TaoButton" },
14
14
  __name: "TaoButton",
15
15
  props: {
@@ -46,12 +46,12 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
46
46
  disabled: __props.disabled || __props.loading,
47
47
  onClick: handleClick
48
48
  }, [
49
- __props.loading ? (openBlock(), createElementBlock("span", _hoisted_2$z)) : createCommentVNode("", true),
50
- __props.icon ? (openBlock(), createElementBlock("span", _hoisted_3$t, toDisplayString(__props.icon), 1)) : createCommentVNode("", true),
49
+ __props.loading ? (openBlock(), createElementBlock("span", _hoisted_2$A)) : createCommentVNode("", true),
50
+ __props.icon ? (openBlock(), createElementBlock("span", _hoisted_3$u, toDisplayString(__props.icon), 1)) : createCommentVNode("", true),
51
51
  createElementVNode("span", _hoisted_4$o, [
52
52
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
53
53
  ])
54
- ], 10, _hoisted_1$E);
54
+ ], 10, _hoisted_1$F);
55
55
  };
56
56
  }
57
57
  });
@@ -62,8 +62,8 @@ const _export_sfc = (sfc, props) => {
62
62
  }
63
63
  return target;
64
64
  };
65
- const TaoButton = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-5a0fd489"]]);
66
- const _sfc_main$M = /* @__PURE__ */ defineComponent({
65
+ const TaoButton = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-5a0fd489"]]);
66
+ const _sfc_main$N = /* @__PURE__ */ defineComponent({
67
67
  ...{ name: "TaoBlock" },
68
68
  __name: "TaoBlock",
69
69
  props: {
@@ -95,11 +95,11 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
95
95
  };
96
96
  }
97
97
  });
98
- const TaoBlock = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-feb87e36"]]);
98
+ const TaoBlock = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-feb87e36"]]);
99
99
  const formFieldKey = Symbol("taoFormField");
100
- const _hoisted_1$D = { class: "tao-input-wrapper" };
101
- const _hoisted_2$y = ["for"];
102
- const _hoisted_3$s = {
100
+ const _hoisted_1$E = { class: "tao-input-wrapper" };
101
+ const _hoisted_2$z = ["for"];
102
+ const _hoisted_3$t = {
103
103
  key: 0,
104
104
  class: "tao-input__affix tao-input__affix--prefix"
105
105
  };
@@ -112,7 +112,7 @@ const _hoisted_6$b = {
112
112
  key: 1,
113
113
  class: "tao-input__error"
114
114
  };
115
- const _sfc_main$L = /* @__PURE__ */ defineComponent({
115
+ const _sfc_main$M = /* @__PURE__ */ defineComponent({
116
116
  ...{ name: "TaoInput" },
117
117
  __name: "TaoInput",
118
118
  props: {
@@ -148,12 +148,12 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
148
148
  emit("focus", event);
149
149
  }
150
150
  return (_ctx, _cache) => {
151
- return openBlock(), createElementBlock("div", _hoisted_1$D, [
151
+ return openBlock(), createElementBlock("div", _hoisted_1$E, [
152
152
  __props.label && !unref(field) ? (openBlock(), createElementBlock("label", {
153
153
  key: 0,
154
154
  class: "tao-input__label",
155
155
  for: controlId.value
156
- }, toDisplayString(__props.label), 9, _hoisted_2$y)) : createCommentVNode("", true),
156
+ }, toDisplayString(__props.label), 9, _hoisted_2$z)) : createCommentVNode("", true),
157
157
  createElementVNode("div", {
158
158
  class: normalizeClass(["tao-input-shell", {
159
159
  "tao-input-shell--focused": focused.value,
@@ -163,7 +163,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
163
163
  "tao-input-shell--suffix": _ctx.$slots.suffix
164
164
  }])
165
165
  }, [
166
- _ctx.$slots.prefix ? (openBlock(), createElementBlock("span", _hoisted_3$s, [
166
+ _ctx.$slots.prefix ? (openBlock(), createElementBlock("span", _hoisted_3$t, [
167
167
  renderSlot(_ctx.$slots, "prefix", {}, void 0, true)
168
168
  ])) : createCommentVNode("", true),
169
169
  createElementVNode("input", {
@@ -188,17 +188,17 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
188
188
  };
189
189
  }
190
190
  });
191
- const TaoInput = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-b522e041"]]);
192
- const _hoisted_1$C = {
191
+ const TaoInput = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-b522e041"]]);
192
+ const _hoisted_1$D = {
193
193
  key: 0,
194
194
  class: "tao-input-group__addon tao-input-group__addon--before"
195
195
  };
196
- const _hoisted_2$x = { class: "tao-input-group__field" };
197
- const _hoisted_3$r = {
196
+ const _hoisted_2$y = { class: "tao-input-group__field" };
197
+ const _hoisted_3$s = {
198
198
  key: 1,
199
199
  class: "tao-input-group__addon tao-input-group__addon--after"
200
200
  };
201
- const _sfc_main$K = /* @__PURE__ */ defineComponent({
201
+ const _sfc_main$L = /* @__PURE__ */ defineComponent({
202
202
  ...{ name: "TaoInputGroup" },
203
203
  __name: "TaoInputGroup",
204
204
  setup(__props) {
@@ -220,28 +220,28 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
220
220
  onFocusin: onFocusIn,
221
221
  onFocusout: onFocusOut
222
222
  }, [
223
- _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_1$C, [
223
+ _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_1$D, [
224
224
  renderSlot(_ctx.$slots, "before", {}, void 0, true)
225
225
  ])) : createCommentVNode("", true),
226
- createElementVNode("div", _hoisted_2$x, [
226
+ createElementVNode("div", _hoisted_2$y, [
227
227
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
228
228
  ]),
229
- _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_3$r, [
229
+ _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_3$s, [
230
230
  renderSlot(_ctx.$slots, "after", {}, void 0, true)
231
231
  ])) : createCommentVNode("", true)
232
232
  ], 34);
233
233
  };
234
234
  }
235
235
  });
236
- const TaoInputGroup = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-f06bb3b1"]]);
237
- const _hoisted_1$B = ["id", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
238
- const _hoisted_2$w = {
236
+ const TaoInputGroup = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-f06bb3b1"]]);
237
+ const _hoisted_1$C = ["id", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
238
+ const _hoisted_2$x = {
239
239
  key: 0,
240
240
  class: "tao-input-number__steppers"
241
241
  };
242
- const _hoisted_3$q = ["disabled"];
242
+ const _hoisted_3$r = ["disabled"];
243
243
  const _hoisted_4$m = ["disabled"];
244
- const _sfc_main$J = /* @__PURE__ */ defineComponent({
244
+ const _sfc_main$K = /* @__PURE__ */ defineComponent({
245
245
  ...{ name: "TaoInputNumber" },
246
246
  __name: "TaoInputNumber",
247
247
  props: {
@@ -390,8 +390,8 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
390
390
  onFocus,
391
391
  onBlur,
392
392
  onKeydown
393
- }, null, 40, _hoisted_1$B),
394
- __props.controls ? (openBlock(), createElementBlock("div", _hoisted_2$w, [
393
+ }, null, 40, _hoisted_1$C),
394
+ __props.controls ? (openBlock(), createElementBlock("div", _hoisted_2$x, [
395
395
  createElementVNode("button", {
396
396
  type: "button",
397
397
  class: "tao-input-number__step",
@@ -399,7 +399,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
399
399
  tabindex: "-1",
400
400
  disabled: __props.disabled || atMax.value,
401
401
  onClick: _cache[0] || (_cache[0] = ($event) => bump(1))
402
- }, " + ", 8, _hoisted_3$q),
402
+ }, " + ", 8, _hoisted_3$r),
403
403
  createElementVNode("button", {
404
404
  type: "button",
405
405
  class: "tao-input-number__step",
@@ -413,11 +413,11 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
413
413
  };
414
414
  }
415
415
  });
416
- const TaoInputNumber = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-55b65a4d"]]);
417
- const _hoisted_1$A = ["aria-label", "disabled"];
418
- const _hoisted_2$v = ["id", "value", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
419
- const _hoisted_3$p = ["disabled"];
420
- const _sfc_main$I = /* @__PURE__ */ defineComponent({
416
+ const TaoInputNumber = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-55b65a4d"]]);
417
+ const _hoisted_1$B = ["aria-label", "disabled"];
418
+ const _hoisted_2$w = ["id", "value", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
419
+ const _hoisted_3$q = ["disabled"];
420
+ const _sfc_main$J = /* @__PURE__ */ defineComponent({
421
421
  ...{ name: "TaoQuantity" },
422
422
  __name: "TaoQuantity",
423
423
  props: {
@@ -550,7 +550,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
550
550
  "aria-label": minusLabel.value,
551
551
  disabled: minusDisabled.value,
552
552
  onClick: onDec
553
- }, " − ", 8, _hoisted_1$A),
553
+ }, " − ", 8, _hoisted_1$B),
554
554
  createElementVNode("input", {
555
555
  id: controlId.value,
556
556
  class: "tao-quantity__input",
@@ -570,28 +570,28 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
570
570
  onFocus,
571
571
  onBlur,
572
572
  onKeydown
573
- }, null, 40, _hoisted_2$v),
573
+ }, null, 40, _hoisted_2$w),
574
574
  createElementVNode("button", {
575
575
  type: "button",
576
576
  class: "tao-quantity__btn tao-quantity__btn--inc",
577
577
  "aria-label": "Увеличить",
578
578
  disabled: plusDisabled.value,
579
579
  onClick: onInc
580
- }, " + ", 8, _hoisted_3$p)
580
+ }, " + ", 8, _hoisted_3$q)
581
581
  ], 2);
582
582
  };
583
583
  }
584
584
  });
585
- const TaoQuantity = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-df6baf04"]]);
586
- const _hoisted_1$z = {
585
+ const TaoQuantity = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-df6baf04"]]);
586
+ const _hoisted_1$A = {
587
587
  key: 0,
588
588
  class: "tao-card__cover"
589
589
  };
590
- const _hoisted_2$u = {
590
+ const _hoisted_2$v = {
591
591
  key: 0,
592
592
  class: "tao-card__header-title"
593
593
  };
594
- const _hoisted_3$o = { key: 0 };
594
+ const _hoisted_3$p = { key: 0 };
595
595
  const _hoisted_4$l = {
596
596
  key: 2,
597
597
  class: "tao-card__title-block"
@@ -612,7 +612,7 @@ const _hoisted_8$6 = {
612
612
  key: 4,
613
613
  class: "tao-card__footer"
614
614
  };
615
- const _sfc_main$H = /* @__PURE__ */ defineComponent({
615
+ const _sfc_main$I = /* @__PURE__ */ defineComponent({
616
616
  ...{ name: "TaoCard" },
617
617
  __name: "TaoCard",
618
618
  props: {
@@ -644,14 +644,14 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
644
644
  }]),
645
645
  style: normalizeStyle(radiusStyle.value)
646
646
  }, [
647
- _ctx.$slots.cover ? (openBlock(), createElementBlock("div", _hoisted_1$z, [
647
+ _ctx.$slots.cover ? (openBlock(), createElementBlock("div", _hoisted_1$A, [
648
648
  renderSlot(_ctx.$slots, "cover", {}, void 0, true)
649
649
  ])) : createCommentVNode("", true),
650
650
  createElementVNode("div", {
651
651
  class: "tao-card__content",
652
652
  style: normalizeStyle(paddingStyle.value)
653
653
  }, [
654
- _ctx.$slots.headerTitle ? (openBlock(), createElementBlock("h2", _hoisted_2$u, [
654
+ _ctx.$slots.headerTitle ? (openBlock(), createElementBlock("h2", _hoisted_2$v, [
655
655
  renderSlot(_ctx.$slots, "headerTitle", {}, void 0, true)
656
656
  ])) : createCommentVNode("", true),
657
657
  _ctx.$slots.header || _ctx.$slots.headerSecondary ? (openBlock(), createElementBlock("div", {
@@ -661,7 +661,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
661
661
  createElementVNode("span", null, [
662
662
  renderSlot(_ctx.$slots, "header", {}, void 0, true)
663
663
  ]),
664
- _ctx.$slots.headerSecondary ? (openBlock(), createElementBlock("span", _hoisted_3$o, [
664
+ _ctx.$slots.headerSecondary ? (openBlock(), createElementBlock("span", _hoisted_3$p, [
665
665
  renderSlot(_ctx.$slots, "headerSecondary", {}, void 0, true)
666
666
  ])) : createCommentVNode("", true)
667
667
  ], 2)) : createCommentVNode("", true),
@@ -684,7 +684,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
684
684
  };
685
685
  }
686
686
  });
687
- const TaoCard = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-2ff3d055"]]);
687
+ const TaoCard = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-2ff3d055"]]);
688
688
  const FOCUSABLE = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
689
689
  function getFocusable(root) {
690
690
  return [...root.querySelectorAll(FOCUSABLE)].filter(
@@ -713,19 +713,19 @@ function trapTab(event, root) {
713
713
  first.focus();
714
714
  }
715
715
  }
716
- const _hoisted_1$y = ["aria-labelledby"];
717
- const _hoisted_2$t = {
716
+ const _hoisted_1$z = ["aria-labelledby"];
717
+ const _hoisted_2$u = {
718
718
  key: 0,
719
719
  class: "tao-modal__header"
720
720
  };
721
- const _hoisted_3$n = ["id"];
721
+ const _hoisted_3$o = ["id"];
722
722
  const _hoisted_4$k = { key: 1 };
723
723
  const _hoisted_5$d = { class: "tao-modal__content" };
724
724
  const _hoisted_6$9 = {
725
725
  key: 1,
726
726
  class: "tao-modal__footer"
727
727
  };
728
- const _sfc_main$G = /* @__PURE__ */ defineComponent({
728
+ const _sfc_main$H = /* @__PURE__ */ defineComponent({
729
729
  ...{ name: "TaoModal" },
730
730
  __name: "TaoModal",
731
731
  props: {
@@ -825,13 +825,13 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
825
825
  "aria-labelledby": __props.title ? unref(titleId) : void 0,
826
826
  tabindex: "-1"
827
827
  }, [
828
- __props.title || _ctx.$slots.header || __props.closable ? (openBlock(), createElementBlock("div", _hoisted_2$t, [
828
+ __props.title || _ctx.$slots.header || __props.closable ? (openBlock(), createElementBlock("div", _hoisted_2$u, [
829
829
  renderSlot(_ctx.$slots, "header", {}, () => [
830
830
  __props.title ? (openBlock(), createElementBlock("h2", {
831
831
  key: 0,
832
832
  id: unref(titleId),
833
833
  class: "tao-modal__title"
834
- }, toDisplayString(__props.title), 9, _hoisted_3$n)) : (openBlock(), createElementBlock("span", _hoisted_4$k))
834
+ }, toDisplayString(__props.title), 9, _hoisted_3$o)) : (openBlock(), createElementBlock("span", _hoisted_4$k))
835
835
  ], true),
836
836
  __props.closable ? (openBlock(), createElementBlock("button", {
837
837
  key: 0,
@@ -847,7 +847,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
847
847
  _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_6$9, [
848
848
  renderSlot(_ctx.$slots, "footer", {}, void 0, true)
849
849
  ])) : createCommentVNode("", true)
850
- ], 8, _hoisted_1$y)
850
+ ], 8, _hoisted_1$z)
851
851
  ], 32)) : createCommentVNode("", true)
852
852
  ]),
853
853
  _: 3
@@ -856,11 +856,11 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
856
856
  };
857
857
  }
858
858
  });
859
- const TaoModal = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-0cffe849"]]);
860
- const _hoisted_1$x = { class: "tao-tabs" };
861
- const _hoisted_2$s = ["id", "aria-selected", "aria-controls", "tabindex", "disabled", "onClick"];
862
- const _hoisted_3$m = ["id", "aria-labelledby"];
863
- const _sfc_main$F = /* @__PURE__ */ defineComponent({
859
+ const TaoModal = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-0cffe849"]]);
860
+ const _hoisted_1$y = { class: "tao-tabs" };
861
+ const _hoisted_2$t = ["id", "aria-selected", "aria-controls", "tabindex", "disabled", "onClick"];
862
+ const _hoisted_3$n = ["id", "aria-labelledby"];
863
+ const _sfc_main$G = /* @__PURE__ */ defineComponent({
864
864
  ...{ name: "TaoTabs" },
865
865
  __name: "TaoTabs",
866
866
  props: {
@@ -924,7 +924,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
924
924
  }
925
925
  }
926
926
  return (_ctx, _cache) => {
927
- return openBlock(), createElementBlock("div", _hoisted_1$x, [
927
+ return openBlock(), createElementBlock("div", _hoisted_1$y, [
928
928
  createElementVNode("div", {
929
929
  class: "tao-tabs__list",
930
930
  role: "tablist",
@@ -949,7 +949,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
949
949
  }, void 0, true, 0) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
950
950
  createTextVNode(toDisplayString(tab.label), 1)
951
951
  ], 64))
952
- ], 8, _hoisted_2$s);
952
+ ], 8, _hoisted_2$t);
953
953
  }), 128))
954
954
  ], 32),
955
955
  createElementVNode("div", {
@@ -959,13 +959,13 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
959
959
  "aria-labelledby": tabId(__props.modelValue)
960
960
  }, [
961
961
  renderSlot(_ctx.$slots, "default", { activeTab: __props.modelValue }, void 0, true)
962
- ], 8, _hoisted_3$m)
962
+ ], 8, _hoisted_3$n)
963
963
  ]);
964
964
  };
965
965
  }
966
966
  });
967
- const TaoTabs = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-bf16735e"]]);
968
- const _sfc_main$E = /* @__PURE__ */ defineComponent({
967
+ const TaoTabs = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-bf16735e"]]);
968
+ const _sfc_main$F = /* @__PURE__ */ defineComponent({
969
969
  ...{ name: "TaoTooltip" },
970
970
  __name: "TaoTooltip",
971
971
  props: {
@@ -997,16 +997,16 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
997
997
  };
998
998
  }
999
999
  });
1000
- const TaoTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-6f3b3c11"]]);
1001
- const _hoisted_1$w = { class: "tao-spoiler" };
1002
- const _hoisted_2$r = ["aria-expanded", "aria-controls"];
1003
- const _hoisted_3$l = {
1000
+ const TaoTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-6f3b3c11"]]);
1001
+ const _hoisted_1$x = { class: "tao-spoiler" };
1002
+ const _hoisted_2$s = ["aria-expanded", "aria-controls"];
1003
+ const _hoisted_3$m = {
1004
1004
  key: 0,
1005
1005
  class: "tao-spoiler__title"
1006
1006
  };
1007
1007
  const _hoisted_4$j = ["id"];
1008
1008
  const _hoisted_5$c = { class: "tao-spoiler__content-inner" };
1009
- const _sfc_main$D = /* @__PURE__ */ defineComponent({
1009
+ const _sfc_main$E = /* @__PURE__ */ defineComponent({
1010
1010
  ...{ name: "TaoSpoiler" },
1011
1011
  __name: "TaoSpoiler",
1012
1012
  props: {
@@ -1049,7 +1049,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1049
1049
  });
1050
1050
  }
1051
1051
  return (_ctx, _cache) => {
1052
- return openBlock(), createElementBlock("div", _hoisted_1$w, [
1052
+ return openBlock(), createElementBlock("div", _hoisted_1$x, [
1053
1053
  createElementVNode("button", {
1054
1054
  type: "button",
1055
1055
  class: "tao-spoiler__header",
@@ -1060,12 +1060,12 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1060
1060
  createElementVNode("span", {
1061
1061
  class: normalizeClass(["tao-spoiler__icon", { "tao-spoiler__icon--open": isOpen.value }])
1062
1062
  }, "▶", 2),
1063
- __props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("span", _hoisted_3$l, [
1063
+ __props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("span", _hoisted_3$m, [
1064
1064
  renderSlot(_ctx.$slots, "title", {}, () => [
1065
1065
  createTextVNode(toDisplayString(__props.title), 1)
1066
1066
  ], true)
1067
1067
  ])) : createCommentVNode("", true)
1068
- ], 8, _hoisted_2$r),
1068
+ ], 8, _hoisted_2$s),
1069
1069
  createVNode(Transition, {
1070
1070
  name: "tao-spoiler-slide",
1071
1071
  onBeforeEnter,
@@ -1090,9 +1090,9 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1090
1090
  };
1091
1091
  }
1092
1092
  });
1093
- const TaoSpoiler = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-c9f4d962"]]);
1094
- const _hoisted_1$v = { class: "tao-copy" };
1095
- const _sfc_main$C = /* @__PURE__ */ defineComponent({
1093
+ const TaoSpoiler = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-c9f4d962"]]);
1094
+ const _hoisted_1$w = { class: "tao-copy" };
1095
+ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1096
1096
  ...{ name: "TaoCopy" },
1097
1097
  __name: "TaoCopy",
1098
1098
  props: {
@@ -1116,7 +1116,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1116
1116
  }
1117
1117
  }
1118
1118
  return (_ctx, _cache) => {
1119
- return openBlock(), createElementBlock("div", _hoisted_1$v, [
1119
+ return openBlock(), createElementBlock("div", _hoisted_1$w, [
1120
1120
  renderSlot(_ctx.$slots, "default", {
1121
1121
  copy,
1122
1122
  copied: copied.value
@@ -1131,8 +1131,8 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1131
1131
  };
1132
1132
  }
1133
1133
  });
1134
- const TaoCopy = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-73a42ad9"]]);
1135
- const _sfc_main$B = /* @__PURE__ */ defineComponent({
1134
+ const TaoCopy = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-73a42ad9"]]);
1135
+ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1136
1136
  ...{ name: "TaoContainer" },
1137
1137
  __name: "TaoContainer",
1138
1138
  props: {
@@ -1149,8 +1149,8 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
1149
1149
  };
1150
1150
  }
1151
1151
  });
1152
- const TaoContainer = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-4c0deb90"]]);
1153
- const _sfc_main$A = /* @__PURE__ */ defineComponent({
1152
+ const TaoContainer = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-4c0deb90"]]);
1153
+ const _sfc_main$B = /* @__PURE__ */ defineComponent({
1154
1154
  ...{ name: "TaoFlex" },
1155
1155
  __name: "TaoFlex",
1156
1156
  props: {
@@ -1181,7 +1181,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
1181
1181
  };
1182
1182
  }
1183
1183
  });
1184
- const _sfc_main$z = /* @__PURE__ */ defineComponent({
1184
+ const _sfc_main$A = /* @__PURE__ */ defineComponent({
1185
1185
  ...{ name: "TaoSpace" },
1186
1186
  __name: "TaoSpace",
1187
1187
  props: {
@@ -1201,9 +1201,9 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1201
1201
  };
1202
1202
  }
1203
1203
  });
1204
- const TaoSpace = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-698ca712"]]);
1205
- const _hoisted_1$u = { class: "tao-icon" };
1206
- const _sfc_main$y = /* @__PURE__ */ defineComponent({
1204
+ const TaoSpace = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-698ca712"]]);
1205
+ const _hoisted_1$v = { class: "tao-icon" };
1206
+ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1207
1207
  ...{ name: "TaoIcon" },
1208
1208
  __name: "TaoIcon",
1209
1209
  props: {
@@ -1218,7 +1218,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
1218
1218
  }));
1219
1219
  const props = __props;
1220
1220
  return (_ctx, _cache) => {
1221
- return openBlock(), createElementBlock("span", _hoisted_1$u, [
1221
+ return openBlock(), createElementBlock("span", _hoisted_1$v, [
1222
1222
  renderSlot(_ctx.$slots, "prefix", {}, void 0, true),
1223
1223
  createElementVNode("i", {
1224
1224
  class: normalizeClass(["tao-icon__value", [`icon-${props.name}`, { "tao-icon__value--invert": props.invert }]]),
@@ -1229,8 +1229,8 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
1229
1229
  };
1230
1230
  }
1231
1231
  });
1232
- const TaoIcon = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-145b2cfc"]]);
1233
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
1232
+ const TaoIcon = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-145b2cfc"]]);
1233
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
1234
1234
  ...{ name: "TaoLoader" },
1235
1235
  __name: "TaoLoader",
1236
1236
  props: {
@@ -1291,10 +1291,10 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1291
1291
  };
1292
1292
  }
1293
1293
  });
1294
- const TaoLoader = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-75a40018"]]);
1295
- const _hoisted_1$t = { class: "tao-image" };
1296
- const _hoisted_2$q = ["src", "alt"];
1297
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
1294
+ const TaoLoader = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-75a40018"]]);
1295
+ const _hoisted_1$u = { class: "tao-image" };
1296
+ const _hoisted_2$r = ["src", "alt"];
1297
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1298
1298
  ...{ name: "TaoImage" },
1299
1299
  __name: "TaoImage",
1300
1300
  props: {
@@ -1319,7 +1319,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1319
1319
  isLoaded.value = false;
1320
1320
  });
1321
1321
  return (_ctx, _cache) => {
1322
- return openBlock(), createElementBlock("div", _hoisted_1$t, [
1322
+ return openBlock(), createElementBlock("div", _hoisted_1$u, [
1323
1323
  __props.src ? (openBlock(), createElementBlock("img", {
1324
1324
  key: 0,
1325
1325
  class: normalizeClass({ "tao-image__img--hidden": !isLoaded.value, "tao-image__img--pixelated": props.pixelated }),
@@ -1328,17 +1328,17 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1328
1328
  draggable: "false",
1329
1329
  onLoad: handleLoad,
1330
1330
  onError: handleError
1331
- }, null, 42, _hoisted_2$q)) : renderSlot(_ctx.$slots, "default", {}, () => [
1331
+ }, null, 42, _hoisted_2$r)) : renderSlot(_ctx.$slots, "default", {}, () => [
1332
1332
  _cache[0] || (_cache[0] = createElementVNode("div", { class: "tao-image__placeholder" }, "No image available", -1))
1333
1333
  ], true, 1)
1334
1334
  ]);
1335
1335
  };
1336
1336
  }
1337
1337
  });
1338
- const TaoImage = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-9da4bb7d"]]);
1339
- const _hoisted_1$s = ["for"];
1340
- const _hoisted_2$p = ["id", "checked", "disabled", "aria-checked", "aria-invalid", "aria-describedby"];
1341
- const _hoisted_3$k = {
1338
+ const TaoImage = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-9da4bb7d"]]);
1339
+ const _hoisted_1$t = ["for"];
1340
+ const _hoisted_2$q = ["id", "checked", "disabled", "aria-checked", "aria-invalid", "aria-describedby"];
1341
+ const _hoisted_3$l = {
1342
1342
  key: 0,
1343
1343
  class: "tao-checkbox__label"
1344
1344
  };
@@ -1346,7 +1346,7 @@ const _hoisted_4$i = {
1346
1346
  key: 1,
1347
1347
  class: "tao-checkbox__label"
1348
1348
  };
1349
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
1349
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1350
1350
  ...{ name: "TaoCheckbox" },
1351
1351
  __name: "TaoCheckbox",
1352
1352
  props: {
@@ -1416,18 +1416,18 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1416
1416
  "aria-invalid": invalid.value || void 0,
1417
1417
  "aria-describedby": describedBy.value,
1418
1418
  onChange: onInputChange
1419
- }, null, 40, _hoisted_2$p),
1419
+ }, null, 40, _hoisted_2$q),
1420
1420
  _cache[0] || (_cache[0] = createElementVNode("span", { class: "tao-checkbox__box" }, null, -1)),
1421
- __props.label ? (openBlock(), createElementBlock("span", _hoisted_3$k, toDisplayString(__props.label), 1)) : (openBlock(), createElementBlock("span", _hoisted_4$i, [
1421
+ __props.label ? (openBlock(), createElementBlock("span", _hoisted_3$l, toDisplayString(__props.label), 1)) : (openBlock(), createElementBlock("span", _hoisted_4$i, [
1422
1422
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
1423
1423
  ])),
1424
1424
  renderSlot(_ctx.$slots, "post", { text: __props.label }, void 0, true)
1425
- ], 10, _hoisted_1$s);
1425
+ ], 10, _hoisted_1$t);
1426
1426
  };
1427
1427
  }
1428
1428
  });
1429
- const TaoCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-f6b0e565"]]);
1430
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
1429
+ const TaoCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-f6b0e565"]]);
1430
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1431
1431
  ...{ name: "TaoTag" },
1432
1432
  __name: "TaoTag",
1433
1433
  props: {
@@ -1455,17 +1455,17 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1455
1455
  };
1456
1456
  }
1457
1457
  });
1458
- const TaoTag = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-290c0f6a"]]);
1459
- const _hoisted_1$r = {
1458
+ const TaoTag = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-290c0f6a"]]);
1459
+ const _hoisted_1$s = {
1460
1460
  key: 1,
1461
1461
  class: "tao-divider-text"
1462
1462
  };
1463
- const _hoisted_2$o = { class: "tao-divider-text__value" };
1464
- const _hoisted_3$j = {
1463
+ const _hoisted_2$p = { class: "tao-divider-text__value" };
1464
+ const _hoisted_3$k = {
1465
1465
  key: 2,
1466
1466
  class: "tao-divider-line"
1467
1467
  };
1468
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
1468
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1469
1469
  ...{ name: "TaoDivider" },
1470
1470
  __name: "TaoDivider",
1471
1471
  props: {
@@ -1479,18 +1479,18 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
1479
1479
  return __props.variant === "gap" ? (openBlock(), createElementBlock("div", {
1480
1480
  key: 0,
1481
1481
  class: normalizeClass(["tao-divider-gap", `tao-divider-gap--${gapSize.value}`])
1482
- }, null, 2)) : __props.variant === "text" ? (openBlock(), createElementBlock("div", _hoisted_1$r, [
1482
+ }, null, 2)) : __props.variant === "text" ? (openBlock(), createElementBlock("div", _hoisted_1$s, [
1483
1483
  _cache[0] || (_cache[0] = createElementVNode("span", { class: "tao-divider-text__line tao-divider-text__line--left" }, null, -1)),
1484
- createElementVNode("span", _hoisted_2$o, [
1484
+ createElementVNode("span", _hoisted_2$p, [
1485
1485
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
1486
1486
  ]),
1487
1487
  _cache[1] || (_cache[1] = createElementVNode("span", { class: "tao-divider-text__line tao-divider-text__line--right" }, null, -1))
1488
- ])) : (openBlock(), createElementBlock("div", _hoisted_3$j));
1488
+ ])) : (openBlock(), createElementBlock("div", _hoisted_3$k));
1489
1489
  };
1490
1490
  }
1491
1491
  });
1492
- const TaoDivider = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-8187a15d"]]);
1493
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
1492
+ const TaoDivider = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-8187a15d"]]);
1493
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
1494
1494
  ...{ name: "TaoAnimatedBorder" },
1495
1495
  __name: "TaoAnimatedBorder",
1496
1496
  props: {
@@ -1514,18 +1514,18 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1514
1514
  };
1515
1515
  }
1516
1516
  });
1517
- const TaoAnimatedBorder = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-f1534571"]]);
1518
- const _hoisted_1$q = {
1517
+ const TaoAnimatedBorder = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-f1534571"]]);
1518
+ const _hoisted_1$r = {
1519
1519
  key: 0,
1520
1520
  class: "tao-textarea tao-textarea--dummy"
1521
1521
  };
1522
- const _hoisted_2$n = {
1522
+ const _hoisted_2$o = {
1523
1523
  key: 1,
1524
1524
  class: "tao-textarea-wrap"
1525
1525
  };
1526
- const _hoisted_3$i = ["id", "placeholder", "spellcheck", "autocomplete", "minlength", "maxlength", "disabled", "rows", "value", "aria-invalid", "aria-describedby"];
1526
+ const _hoisted_3$j = ["id", "placeholder", "spellcheck", "autocomplete", "minlength", "maxlength", "disabled", "rows", "value", "aria-invalid", "aria-describedby"];
1527
1527
  const _hoisted_4$h = ["id"];
1528
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
1528
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1529
1529
  ...{ name: "TaoTextarea" },
1530
1530
  __name: "TaoTextarea",
1531
1531
  props: {
@@ -1622,7 +1622,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1622
1622
  nextTick(autoResize);
1623
1623
  });
1624
1624
  return (_ctx, _cache) => {
1625
- return __props.dummy ? (openBlock(), createElementBlock("span", _hoisted_1$q, toDisplayString(__props.modelValue), 1)) : (openBlock(), createElementBlock("div", _hoisted_2$n, [
1625
+ return __props.dummy ? (openBlock(), createElementBlock("span", _hoisted_1$r, toDisplayString(__props.modelValue), 1)) : (openBlock(), createElementBlock("div", _hoisted_2$o, [
1626
1626
  createElementVNode("textarea", {
1627
1627
  id: controlId.value,
1628
1628
  ref_key: "textareaRef",
@@ -1651,7 +1651,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1651
1651
  onFocus,
1652
1652
  onBlur,
1653
1653
  onKeydown
1654
- }, null, 42, _hoisted_3$i),
1654
+ }, null, 42, _hoisted_3$j),
1655
1655
  __props.count ? (openBlock(), createElementBlock("span", {
1656
1656
  key: 0,
1657
1657
  id: counterId.value,
@@ -1661,11 +1661,11 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1661
1661
  };
1662
1662
  }
1663
1663
  });
1664
- const TaoTextarea = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-2534c0c4"]]);
1665
- const _hoisted_1$p = ["tabindex"];
1666
- const _hoisted_2$m = { class: "tao-scroll-top__content" };
1664
+ const TaoTextarea = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-2534c0c4"]]);
1665
+ const _hoisted_1$q = ["tabindex"];
1666
+ const _hoisted_2$n = { class: "tao-scroll-top__content" };
1667
1667
  const RIPPLE_DURATION = 750;
1668
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
1668
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1669
1669
  ...{ name: "TaoScrollTop" },
1670
1670
  __name: "TaoScrollTop",
1671
1671
  props: {
@@ -1765,7 +1765,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1765
1765
  "aria-label": "Наверх",
1766
1766
  onClick: withModifiers(onClick, ["prevent"])
1767
1767
  }, [
1768
- createElementVNode("div", _hoisted_2$m, [
1768
+ createElementVNode("div", _hoisted_2$n, [
1769
1769
  createElementVNode("div", {
1770
1770
  class: normalizeClass([{ "tao-scroll-top__ripple--active": isRippleActive.value }, "tao-scroll-top__ripple"]),
1771
1771
  style: normalizeStyle(rippleStyle)
@@ -1782,20 +1782,20 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1782
1782
  ], -1))
1783
1783
  ], true)
1784
1784
  ])
1785
- ], 14, _hoisted_1$p)) : createCommentVNode("", true)
1785
+ ], 14, _hoisted_1$q)) : createCommentVNode("", true)
1786
1786
  ]),
1787
1787
  _: 3
1788
1788
  });
1789
1789
  };
1790
1790
  }
1791
1791
  });
1792
- const TaoScrollTop = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-ce902f42"]]);
1793
- const _hoisted_1$o = { class: "tao-progress" };
1794
- const _hoisted_2$l = {
1792
+ const TaoScrollTop = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-ce902f42"]]);
1793
+ const _hoisted_1$p = { class: "tao-progress" };
1794
+ const _hoisted_2$m = {
1795
1795
  key: 0,
1796
1796
  class: "tao-progress__side"
1797
1797
  };
1798
- const _hoisted_3$h = { class: "tao-progress__main" };
1798
+ const _hoisted_3$i = { class: "tao-progress__main" };
1799
1799
  const _hoisted_4$g = {
1800
1800
  key: 0,
1801
1801
  class: "tao-progress__percentage"
@@ -1808,7 +1808,7 @@ const _hoisted_6$8 = {
1808
1808
  key: 0,
1809
1809
  class: "tao-progress__percentage"
1810
1810
  };
1811
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
1811
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1812
1812
  ...{ name: "TaoProgress" },
1813
1813
  __name: "TaoProgress",
1814
1814
  props: {
@@ -1839,15 +1839,15 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1839
1839
  () => hasRight.value ? `(${props.progress}%)` : `${props.progress}%`
1840
1840
  );
1841
1841
  return (_ctx, _cache) => {
1842
- return openBlock(), createElementBlock("div", _hoisted_1$o, [
1842
+ return openBlock(), createElementBlock("div", _hoisted_1$p, [
1843
1843
  createElementVNode("div", {
1844
1844
  class: normalizeClass(["tao-progress__container", { "tao-progress__container--over": showOverPercent.value }]),
1845
1845
  style: normalizeStyle({ minWidth: `${minW.value}px`, maxWidth: `${maxW.value}px` })
1846
1846
  }, [
1847
- _ctx.$slots.left ? (openBlock(), createElementBlock("div", _hoisted_2$l, [
1847
+ _ctx.$slots.left ? (openBlock(), createElementBlock("div", _hoisted_2$m, [
1848
1848
  renderSlot(_ctx.$slots, "left", {}, void 0, true)
1849
1849
  ])) : createCommentVNode("", true),
1850
- createElementVNode("div", _hoisted_3$h, [
1850
+ createElementVNode("div", _hoisted_3$i, [
1851
1851
  showOverPercent.value ? (openBlock(), createElementBlock("span", _hoisted_4$g, toDisplayString(__props.progress) + "%", 1)) : createCommentVNode("", true),
1852
1852
  createElementVNode("div", {
1853
1853
  class: "tao-progress__track",
@@ -1868,14 +1868,14 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1868
1868
  };
1869
1869
  }
1870
1870
  });
1871
- const TaoProgress = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-54c13718"]]);
1872
- const _hoisted_1$n = ["id", "tabindex", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-disabled", "aria-describedby"];
1873
- const _hoisted_2$k = ["placeholder"];
1874
- const _hoisted_3$g = {
1871
+ const TaoProgress = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-54c13718"]]);
1872
+ const _hoisted_1$o = ["id", "tabindex", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-disabled", "aria-describedby"];
1873
+ const _hoisted_2$l = ["placeholder"];
1874
+ const _hoisted_3$h = {
1875
1875
  key: 1,
1876
1876
  class: "tao-slider__value"
1877
1877
  };
1878
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
1878
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1879
1879
  ...{ name: "TaoSlider" },
1880
1880
  __name: "TaoSlider",
1881
1881
  props: {
@@ -2069,21 +2069,21 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2069
2069
  onKeydown: onShadowKeydown,
2070
2070
  onMousedown: _cache[1] || (_cache[1] = withModifiers(() => {
2071
2071
  }, ["stop"]))
2072
- }, null, 40, _hoisted_2$k)), [
2072
+ }, null, 40, _hoisted_2$l)), [
2073
2073
  [vModelText, shadowModel.value]
2074
- ]) : __props.showValue ? (openBlock(), createElementBlock("div", _hoisted_3$g, [
2074
+ ]) : __props.showValue ? (openBlock(), createElementBlock("div", _hoisted_3$h, [
2075
2075
  renderSlot(_ctx.$slots, "pre-value", {}, void 0, true),
2076
2076
  createTextVNode(toDisplayString(__props.modelValue), 1),
2077
2077
  renderSlot(_ctx.$slots, "post-value", {}, void 0, true)
2078
2078
  ])) : createCommentVNode("", true)
2079
- ], 42, _hoisted_1$n);
2079
+ ], 42, _hoisted_1$o);
2080
2080
  };
2081
2081
  }
2082
2082
  });
2083
- const TaoSlider = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-241d1042"]]);
2084
- const _hoisted_1$m = { class: "tao-file-drop" };
2085
- const _hoisted_2$j = ["accept", "multiple"];
2086
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
2083
+ const TaoSlider = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-241d1042"]]);
2084
+ const _hoisted_1$n = { class: "tao-file-drop" };
2085
+ const _hoisted_2$k = ["accept", "multiple"];
2086
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2087
2087
  ...{ name: "TaoFileDrop" },
2088
2088
  __name: "TaoFileDrop",
2089
2089
  props: {
@@ -2136,7 +2136,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2136
2136
  }
2137
2137
  }
2138
2138
  return (_ctx, _cache) => {
2139
- return openBlock(), createElementBlock("div", _hoisted_1$m, [
2139
+ return openBlock(), createElementBlock("div", _hoisted_1$n, [
2140
2140
  __props.showClear && __props.modelValue.length ? (openBlock(), createElementBlock("button", {
2141
2141
  key: 0,
2142
2142
  type: "button",
@@ -2163,21 +2163,21 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2163
2163
  onChange: handleFileSelect,
2164
2164
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {
2165
2165
  }, ["stop"]))
2166
- }, null, 40, _hoisted_2$j)
2166
+ }, null, 40, _hoisted_2$k)
2167
2167
  ], 34)
2168
2168
  ]);
2169
2169
  };
2170
2170
  }
2171
2171
  });
2172
- const TaoFileDrop = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-3543419a"]]);
2173
- const _hoisted_1$l = ["aria-expanded"];
2174
- const _hoisted_2$i = {
2172
+ const TaoFileDrop = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-3543419a"]]);
2173
+ const _hoisted_1$m = ["aria-expanded"];
2174
+ const _hoisted_2$j = {
2175
2175
  key: 1,
2176
2176
  "aria-label": "Меню"
2177
2177
  };
2178
- const _hoisted_3$f = ["onClick", "onMouseenter"];
2178
+ const _hoisted_3$g = ["onClick", "onMouseenter"];
2179
2179
  const _hoisted_4$f = { key: 1 };
2180
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
2180
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2181
2181
  ...{ name: "TaoDropdownMenu" },
2182
2182
  __name: "TaoDropdownMenu",
2183
2183
  props: {
@@ -2312,8 +2312,8 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2312
2312
  "aria-expanded": isOpen.value,
2313
2313
  onClick: toggleMenu
2314
2314
  }, [
2315
- _ctx.$slots.button ? renderSlot(_ctx.$slots, "button", {}, void 0, true, 0) : (openBlock(), createElementBlock("span", _hoisted_2$i, "⋮"))
2316
- ], 8, _hoisted_1$l),
2315
+ _ctx.$slots.button ? renderSlot(_ctx.$slots, "button", {}, void 0, true, 0) : (openBlock(), createElementBlock("span", _hoisted_2$j, "⋮"))
2316
+ ], 8, _hoisted_1$m),
2317
2317
  (openBlock(), createBlock(Teleport, { to: "body" }, [
2318
2318
  isOpen.value ? (openBlock(), createElementBlock("div", {
2319
2319
  key: 0,
@@ -2339,7 +2339,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2339
2339
  ico: action.ico,
2340
2340
  text: action.name
2341
2341
  }, void 0, true, 0) : (openBlock(), createElementBlock("span", _hoisted_4$f, toDisplayString(action.name), 1))
2342
- ], 42, _hoisted_3$f);
2342
+ ], 42, _hoisted_3$g);
2343
2343
  }), 128))
2344
2344
  ], 36)) : createCommentVNode("", true)
2345
2345
  ]))
@@ -2347,10 +2347,10 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2347
2347
  };
2348
2348
  }
2349
2349
  });
2350
- const TaoDropdownMenu = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-420a7e63"]]);
2351
- const _hoisted_1$k = ["aria-invalid", "aria-describedby"];
2352
- const _hoisted_2$h = ["id", "value", "placeholder", "type", "inputmode", "pattern", "onInput", "onKeydown", "onFocus"];
2353
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
2350
+ const TaoDropdownMenu = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-420a7e63"]]);
2351
+ const _hoisted_1$l = ["aria-invalid", "aria-describedby"];
2352
+ const _hoisted_2$i = ["id", "value", "placeholder", "type", "inputmode", "pattern", "onInput", "onKeydown", "onFocus"];
2353
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2354
2354
  ...{ name: "TaoPinCode" },
2355
2355
  __name: "TaoPinCode",
2356
2356
  props: {
@@ -2517,14 +2517,14 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
2517
2517
  onKeydown: ($event) => onKeydown($event, index),
2518
2518
  onFocus: ($event) => onFocus(index),
2519
2519
  onBlur
2520
- }, null, 42, _hoisted_2$h);
2520
+ }, null, 42, _hoisted_2$i);
2521
2521
  }), 128))
2522
- ], 8, _hoisted_1$k);
2522
+ ], 8, _hoisted_1$l);
2523
2523
  };
2524
2524
  }
2525
2525
  });
2526
- const TaoPinCode = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-c3182673"]]);
2527
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
2526
+ const TaoPinCode = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-c3182673"]]);
2527
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
2528
2528
  ...{ name: "TaoLink" },
2529
2529
  __name: "TaoLink",
2530
2530
  props: {
@@ -2566,8 +2566,8 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
2566
2566
  };
2567
2567
  }
2568
2568
  });
2569
- const _hoisted_1$j = ["for"];
2570
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
2569
+ const _hoisted_1$k = ["for"];
2570
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
2571
2571
  ...{ name: "TaoFormField" },
2572
2572
  __name: "TaoFormField",
2573
2573
  props: {
@@ -2603,7 +2603,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2603
2603
  key: 0,
2604
2604
  class: "tao-form-field__label",
2605
2605
  for: unref(id)
2606
- }, toDisplayString(__props.label), 9, _hoisted_1$j)) : createCommentVNode("", true),
2606
+ }, toDisplayString(__props.label), 9, _hoisted_1$k)) : createCommentVNode("", true),
2607
2607
  renderSlot(_ctx.$slots, "default", {}, void 0, true),
2608
2608
  __props.error ? (openBlock(), createElementBlock("p", {
2609
2609
  key: 1,
@@ -2618,12 +2618,12 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2618
2618
  };
2619
2619
  }
2620
2620
  });
2621
- const TaoFormField = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-11324f0c"]]);
2622
- const _hoisted_1$i = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
2623
- const _hoisted_2$g = { class: "tao-select__value" };
2624
- const _hoisted_3$e = ["aria-activedescendant"];
2621
+ const TaoFormField = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-11324f0c"]]);
2622
+ const _hoisted_1$j = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
2623
+ const _hoisted_2$h = { class: "tao-select__value" };
2624
+ const _hoisted_3$f = ["aria-activedescendant"];
2625
2625
  const _hoisted_4$e = ["id", "aria-selected", "aria-disabled", "data-tao-select-index", "onClick", "onMouseenter"];
2626
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
2626
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2627
2627
  ...{ name: "TaoSelect" },
2628
2628
  __name: "TaoSelect",
2629
2629
  props: {
@@ -2836,12 +2836,12 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2836
2836
  onClick: toggle,
2837
2837
  onKeydown: onTriggerKeydown
2838
2838
  }, [
2839
- createElementVNode("span", _hoisted_2$g, toDisplayString(((_a = selected.value) == null ? void 0 : _a.label) ?? __props.placeholder), 1),
2839
+ createElementVNode("span", _hoisted_2$h, toDisplayString(((_a = selected.value) == null ? void 0 : _a.label) ?? __props.placeholder), 1),
2840
2840
  _cache[2] || (_cache[2] = createElementVNode("span", {
2841
2841
  class: "tao-select__chevron",
2842
2842
  "aria-hidden": "true"
2843
2843
  }, null, -1))
2844
- ], 42, _hoisted_1$i),
2844
+ ], 42, _hoisted_1$j),
2845
2845
  (openBlock(), createBlock(Teleport, { to: "body" }, [
2846
2846
  open.value ? (openBlock(), createElementBlock("div", {
2847
2847
  key: 0,
@@ -2879,7 +2879,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2879
2879
  onMouseenter: ($event) => !option.disabled && (activeIndex.value = index)
2880
2880
  }, toDisplayString(option.label), 43, _hoisted_4$e);
2881
2881
  }), 128))
2882
- ], 40, _hoisted_3$e),
2882
+ ], 40, _hoisted_3$f),
2883
2883
  selected.value ? (openBlock(), createElementBlock("button", {
2884
2884
  key: 0,
2885
2885
  type: "button",
@@ -2894,7 +2894,475 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2894
2894
  };
2895
2895
  }
2896
2896
  });
2897
- const TaoSelect = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-42551757"]]);
2897
+ const TaoSelect = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-42551757"]]);
2898
+ const _hoisted_1$i = ["id", "aria-expanded", "aria-activedescendant", "aria-invalid", "aria-describedby", "disabled", "placeholder", "value"];
2899
+ const _hoisted_2$g = {
2900
+ key: 0,
2901
+ class: "tao-combobox__empty"
2902
+ };
2903
+ const _hoisted_3$e = ["id", "aria-selected", "aria-disabled", "data-tao-combobox-index", "onClick", "onMouseenter"];
2904
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2905
+ ...{ name: "TaoCombobox" },
2906
+ __name: "TaoCombobox",
2907
+ props: {
2908
+ modelValue: { default: null },
2909
+ options: { default: () => [] },
2910
+ placeholder: { default: "Начните вводить" },
2911
+ disabled: { type: Boolean, default: false },
2912
+ error: { type: Boolean, default: false },
2913
+ allowCreate: { type: Boolean, default: false }
2914
+ },
2915
+ emits: ["update:modelValue", "change", "create"],
2916
+ setup(__props, { emit: __emit }) {
2917
+ const props = __props;
2918
+ const emit = __emit;
2919
+ const field = inject(formFieldKey, null);
2920
+ const localId = useId();
2921
+ const listId = `${localId}-list`;
2922
+ const controlId = computed(() => (field == null ? void 0 : field.id) ?? localId);
2923
+ const invalid = computed(() => props.error || Boolean(field == null ? void 0 : field.invalid.value));
2924
+ const describedBy = computed(() => field == null ? void 0 : field.describedBy.value);
2925
+ const open = ref(false);
2926
+ const focused = ref(false);
2927
+ const picking = ref(false);
2928
+ const skipFocusOpen = ref(false);
2929
+ const query = ref("");
2930
+ const activeIndex = ref(-1);
2931
+ const fieldRef = ref(null);
2932
+ const inputRef = ref(null);
2933
+ const panelRef = ref(null);
2934
+ const listRef = ref(null);
2935
+ const listStyle = ref({ top: "0px", left: "0px", width: "0px" });
2936
+ const selected = computed(() => {
2937
+ const found = props.options.find((option) => option.value === props.modelValue);
2938
+ if (found) {
2939
+ return found;
2940
+ }
2941
+ if (props.modelValue === null || props.modelValue === void 0 || props.modelValue === "") {
2942
+ return null;
2943
+ }
2944
+ return { value: props.modelValue, label: String(props.modelValue) };
2945
+ });
2946
+ const needle = computed(() => query.value.trim().toLowerCase());
2947
+ const filtered = computed(() => {
2948
+ if (!needle.value) {
2949
+ return props.options;
2950
+ }
2951
+ return props.options.filter((option) => option.label.toLowerCase().includes(needle.value));
2952
+ });
2953
+ const canCreate = computed(() => {
2954
+ const text = query.value.trim();
2955
+ if (!props.allowCreate || !text) {
2956
+ return false;
2957
+ }
2958
+ return !props.options.some((option) => option.label.toLowerCase() === text.toLowerCase());
2959
+ });
2960
+ const rows = computed(() => {
2961
+ const next = filtered.value.map((option) => ({ kind: "option", option }));
2962
+ if (canCreate.value) {
2963
+ next.push({ kind: "create", text: query.value.trim() });
2964
+ }
2965
+ return next;
2966
+ });
2967
+ const enabledIndexes = computed(
2968
+ () => rows.value.map((row, index) => row.kind === "option" && row.option.disabled ? -1 : index).filter((index) => index >= 0)
2969
+ );
2970
+ const activeId = computed(() => activeIndex.value >= 0 ? `${listId}-row-${activeIndex.value}` : void 0);
2971
+ function syncQueryFromModel() {
2972
+ var _a;
2973
+ query.value = ((_a = selected.value) == null ? void 0 : _a.label) ?? "";
2974
+ }
2975
+ function updatePosition() {
2976
+ const trigger = fieldRef.value;
2977
+ const panel = panelRef.value;
2978
+ if (!trigger || !panel) {
2979
+ return;
2980
+ }
2981
+ const rect = trigger.getBoundingClientRect();
2982
+ const panelHeight = panel.offsetHeight;
2983
+ const gap = 4;
2984
+ const spaceBelow = window.innerHeight - rect.bottom - gap;
2985
+ const openUp = spaceBelow < panelHeight && rect.top > spaceBelow;
2986
+ listStyle.value = {
2987
+ top: `${openUp ? rect.top - panelHeight - gap : rect.bottom + gap}px`,
2988
+ left: `${rect.left}px`,
2989
+ width: `${rect.width}px`
2990
+ };
2991
+ }
2992
+ function resetActive() {
2993
+ const selectedIndex = rows.value.findIndex(
2994
+ (row) => row.kind === "option" && row.option.value === props.modelValue
2995
+ );
2996
+ if (selectedIndex >= 0 && enabledIndexes.value.includes(selectedIndex)) {
2997
+ activeIndex.value = selectedIndex;
2998
+ return;
2999
+ }
3000
+ activeIndex.value = enabledIndexes.value[0] ?? -1;
3001
+ }
3002
+ async function setOpen(next) {
3003
+ if (props.disabled) {
3004
+ return;
3005
+ }
3006
+ open.value = next;
3007
+ resetActive();
3008
+ await nextTick();
3009
+ updatePosition();
3010
+ scrollActiveIntoView();
3011
+ }
3012
+ function emitValue(value) {
3013
+ emit("update:modelValue", value);
3014
+ emit("change", value);
3015
+ }
3016
+ function keepFocusQuiet() {
3017
+ var _a;
3018
+ skipFocusOpen.value = true;
3019
+ picking.value = false;
3020
+ (_a = inputRef.value) == null ? void 0 : _a.focus();
3021
+ }
3022
+ function commitCreated(value) {
3023
+ emitValue(value);
3024
+ emit("create", value);
3025
+ query.value = value;
3026
+ open.value = false;
3027
+ keepFocusQuiet();
3028
+ }
3029
+ function selectOption(option) {
3030
+ if (option.disabled) {
3031
+ return;
3032
+ }
3033
+ emitValue(option.value);
3034
+ query.value = option.label;
3035
+ open.value = false;
3036
+ keepFocusQuiet();
3037
+ }
3038
+ function createFromQuery(text) {
3039
+ const value = text.trim();
3040
+ if (!value) {
3041
+ return;
3042
+ }
3043
+ const exact = props.options.find(
3044
+ (option) => !option.disabled && option.label.toLowerCase() === value.toLowerCase()
3045
+ );
3046
+ if (exact) {
3047
+ selectOption(exact);
3048
+ return;
3049
+ }
3050
+ if (!props.allowCreate) {
3051
+ return;
3052
+ }
3053
+ commitCreated(value);
3054
+ }
3055
+ function revertQuery() {
3056
+ syncQueryFromModel();
3057
+ }
3058
+ function closeAndRevert() {
3059
+ open.value = false;
3060
+ revertQuery();
3061
+ }
3062
+ function closeAndCommit() {
3063
+ open.value = false;
3064
+ const text = query.value.trim();
3065
+ if (!text) {
3066
+ revertQuery();
3067
+ return;
3068
+ }
3069
+ const exact = props.options.find(
3070
+ (option) => !option.disabled && option.label.toLowerCase() === text.toLowerCase()
3071
+ );
3072
+ if (exact) {
3073
+ emitValue(exact.value);
3074
+ query.value = exact.label;
3075
+ return;
3076
+ }
3077
+ if (props.allowCreate) {
3078
+ emitValue(text);
3079
+ emit("create", text);
3080
+ query.value = text;
3081
+ return;
3082
+ }
3083
+ revertQuery();
3084
+ }
3085
+ function moveActive(delta) {
3086
+ const enabled = enabledIndexes.value;
3087
+ if (!enabled.length) {
3088
+ return;
3089
+ }
3090
+ const currentPos = enabled.indexOf(activeIndex.value);
3091
+ const nextPos = currentPos < 0 ? 0 : (currentPos + delta + enabled.length) % enabled.length;
3092
+ activeIndex.value = enabled[nextPos];
3093
+ scrollActiveIntoView();
3094
+ }
3095
+ function scrollActiveIntoView() {
3096
+ const list = listRef.value;
3097
+ if (!list || activeIndex.value < 0) {
3098
+ return;
3099
+ }
3100
+ const option = list.querySelector(`[data-tao-combobox-index="${activeIndex.value}"]`);
3101
+ option == null ? void 0 : option.scrollIntoView({ block: "nearest" });
3102
+ }
3103
+ function onFieldMouseDown(event) {
3104
+ var _a;
3105
+ if (props.disabled || event.button !== 0) {
3106
+ return;
3107
+ }
3108
+ const onInput2 = event.target === inputRef.value;
3109
+ if (onInput2) {
3110
+ if (focused.value && !open.value) {
3111
+ void setOpen(true);
3112
+ }
3113
+ return;
3114
+ }
3115
+ event.preventDefault();
3116
+ if (open.value) {
3117
+ open.value = false;
3118
+ return;
3119
+ }
3120
+ (_a = inputRef.value) == null ? void 0 : _a.focus();
3121
+ void setOpen(true);
3122
+ }
3123
+ function onInput() {
3124
+ if (props.disabled) {
3125
+ return;
3126
+ }
3127
+ void setOpen(true);
3128
+ resetActive();
3129
+ }
3130
+ function onFocus() {
3131
+ if (props.disabled) {
3132
+ return;
3133
+ }
3134
+ focused.value = true;
3135
+ if (skipFocusOpen.value) {
3136
+ skipFocusOpen.value = false;
3137
+ return;
3138
+ }
3139
+ void setOpen(true);
3140
+ nextTick(() => {
3141
+ var _a;
3142
+ return (_a = inputRef.value) == null ? void 0 : _a.select();
3143
+ });
3144
+ }
3145
+ function markPicking() {
3146
+ picking.value = true;
3147
+ }
3148
+ function onBlur() {
3149
+ focused.value = false;
3150
+ window.setTimeout(() => {
3151
+ var _a, _b;
3152
+ if (picking.value) {
3153
+ picking.value = false;
3154
+ return;
3155
+ }
3156
+ if (((_a = fieldRef.value) == null ? void 0 : _a.contains(document.activeElement)) || ((_b = panelRef.value) == null ? void 0 : _b.contains(document.activeElement))) {
3157
+ return;
3158
+ }
3159
+ if (props.allowCreate) {
3160
+ closeAndCommit();
3161
+ return;
3162
+ }
3163
+ closeAndRevert();
3164
+ }, 0);
3165
+ }
3166
+ function activateRow(row) {
3167
+ if (row.kind === "create") {
3168
+ createFromQuery(row.text);
3169
+ return;
3170
+ }
3171
+ selectOption(row.option);
3172
+ }
3173
+ function onInputKeydown(event) {
3174
+ if (props.disabled) {
3175
+ return;
3176
+ }
3177
+ if (event.key === "Escape") {
3178
+ event.preventDefault();
3179
+ closeAndRevert();
3180
+ return;
3181
+ }
3182
+ if (event.key === "ArrowDown") {
3183
+ event.preventDefault();
3184
+ if (!open.value) {
3185
+ void setOpen(true);
3186
+ return;
3187
+ }
3188
+ moveActive(1);
3189
+ return;
3190
+ }
3191
+ if (event.key === "ArrowUp") {
3192
+ event.preventDefault();
3193
+ if (!open.value) {
3194
+ void setOpen(true);
3195
+ return;
3196
+ }
3197
+ moveActive(-1);
3198
+ return;
3199
+ }
3200
+ if (event.key === "Enter") {
3201
+ event.preventDefault();
3202
+ if (!open.value) {
3203
+ void setOpen(true);
3204
+ return;
3205
+ }
3206
+ const row = rows.value[activeIndex.value];
3207
+ if (row) {
3208
+ activateRow(row);
3209
+ return;
3210
+ }
3211
+ if (props.allowCreate) {
3212
+ createFromQuery(query.value);
3213
+ }
3214
+ }
3215
+ }
3216
+ function onDocumentPointer(event) {
3217
+ var _a, _b;
3218
+ const target = event.target;
3219
+ if (((_a = fieldRef.value) == null ? void 0 : _a.contains(target)) || ((_b = panelRef.value) == null ? void 0 : _b.contains(target))) {
3220
+ return;
3221
+ }
3222
+ if (props.allowCreate) {
3223
+ closeAndCommit();
3224
+ return;
3225
+ }
3226
+ closeAndRevert();
3227
+ }
3228
+ function onViewportChange() {
3229
+ if (open.value) {
3230
+ updatePosition();
3231
+ }
3232
+ }
3233
+ watch(
3234
+ () => props.modelValue,
3235
+ () => {
3236
+ if (!focused.value) {
3237
+ syncQueryFromModel();
3238
+ }
3239
+ },
3240
+ { immediate: true }
3241
+ );
3242
+ watch(rows, () => {
3243
+ if (!open.value) {
3244
+ return;
3245
+ }
3246
+ if (!enabledIndexes.value.includes(activeIndex.value)) {
3247
+ activeIndex.value = enabledIndexes.value[0] ?? -1;
3248
+ }
3249
+ });
3250
+ watch(open, (isOpen) => {
3251
+ if (isOpen) {
3252
+ document.addEventListener("pointerdown", onDocumentPointer);
3253
+ window.addEventListener("resize", onViewportChange);
3254
+ window.addEventListener("scroll", onViewportChange, true);
3255
+ return;
3256
+ }
3257
+ document.removeEventListener("pointerdown", onDocumentPointer);
3258
+ window.removeEventListener("resize", onViewportChange);
3259
+ window.removeEventListener("scroll", onViewportChange, true);
3260
+ });
3261
+ onBeforeUnmount(() => {
3262
+ document.removeEventListener("pointerdown", onDocumentPointer);
3263
+ window.removeEventListener("resize", onViewportChange);
3264
+ window.removeEventListener("scroll", onViewportChange, true);
3265
+ });
3266
+ return (_ctx, _cache) => {
3267
+ return openBlock(), createElementBlock("div", {
3268
+ class: normalizeClass(["tao-combobox", {
3269
+ "tao-combobox--open": open.value,
3270
+ "tao-combobox--invalid": invalid.value,
3271
+ "tao-combobox--disabled": __props.disabled
3272
+ }])
3273
+ }, [
3274
+ createElementVNode("div", {
3275
+ ref_key: "fieldRef",
3276
+ ref: fieldRef,
3277
+ class: "tao-combobox__field",
3278
+ onMousedown: onFieldMouseDown
3279
+ }, [
3280
+ createElementVNode("input", {
3281
+ id: controlId.value,
3282
+ ref_key: "inputRef",
3283
+ ref: inputRef,
3284
+ class: "tao-combobox__input",
3285
+ type: "text",
3286
+ role: "combobox",
3287
+ autocomplete: "off",
3288
+ "aria-autocomplete": "list",
3289
+ "aria-haspopup": "listbox",
3290
+ "aria-expanded": open.value,
3291
+ "aria-controls": listId,
3292
+ "aria-activedescendant": open.value ? activeId.value : void 0,
3293
+ "aria-invalid": invalid.value || void 0,
3294
+ "aria-describedby": describedBy.value,
3295
+ disabled: __props.disabled,
3296
+ placeholder: __props.placeholder,
3297
+ value: query.value,
3298
+ onInput: _cache[0] || (_cache[0] = ($event) => {
3299
+ query.value = $event.target.value;
3300
+ onInput();
3301
+ }),
3302
+ onFocus,
3303
+ onBlur,
3304
+ onKeydown: onInputKeydown
3305
+ }, null, 40, _hoisted_1$i),
3306
+ _cache[1] || (_cache[1] = createElementVNode("span", {
3307
+ class: "tao-combobox__chevron",
3308
+ "aria-hidden": "true"
3309
+ }, null, -1))
3310
+ ], 544),
3311
+ (openBlock(), createBlock(Teleport, { to: "body" }, [
3312
+ open.value ? (openBlock(), createElementBlock("div", {
3313
+ key: 0,
3314
+ ref_key: "panelRef",
3315
+ ref: panelRef,
3316
+ class: "tao-combobox__panel",
3317
+ style: normalizeStyle(listStyle.value)
3318
+ }, [
3319
+ createElementVNode("ul", {
3320
+ id: listId,
3321
+ ref_key: "listRef",
3322
+ ref: listRef,
3323
+ class: "tao-combobox__list",
3324
+ role: "listbox"
3325
+ }, [
3326
+ !rows.value.length ? (openBlock(), createElementBlock("li", _hoisted_2$g, "Ничего не найдено")) : createCommentVNode("", true),
3327
+ (openBlock(true), createElementBlock(Fragment, null, renderList(rows.value, (row, index) => {
3328
+ return openBlock(), createElementBlock("li", {
3329
+ id: `${listId}-row-${index}`,
3330
+ key: row.kind === "create" ? "create" : String(row.option.value),
3331
+ class: normalizeClass(["tao-combobox__option", {
3332
+ "tao-combobox__option--active": index === activeIndex.value,
3333
+ "tao-combobox__option--selected": row.kind === "option" && row.option.value === __props.modelValue,
3334
+ "tao-combobox__option--disabled": row.kind === "option" && row.option.disabled,
3335
+ "tao-combobox__option--create": row.kind === "create"
3336
+ }]),
3337
+ role: "option",
3338
+ "aria-selected": row.kind === "option" && row.option.value === __props.modelValue,
3339
+ "aria-disabled": row.kind === "option" && row.option.disabled ? true : void 0,
3340
+ "data-tao-combobox-index": index,
3341
+ onMousedown: withModifiers(markPicking, ["prevent"]),
3342
+ onClick: ($event) => activateRow(row),
3343
+ onMouseenter: ($event) => !(row.kind === "option" && row.option.disabled) && (activeIndex.value = index)
3344
+ }, [
3345
+ row.kind === "create" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
3346
+ createTextVNode("Добавить «" + toDisplayString(row.text) + "»", 1)
3347
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
3348
+ createTextVNode(toDisplayString(row.option.label), 1)
3349
+ ], 64))
3350
+ ], 42, _hoisted_3$e);
3351
+ }), 128))
3352
+ ], 512),
3353
+ selected.value ? (openBlock(), createElementBlock("button", {
3354
+ key: 0,
3355
+ type: "button",
3356
+ class: "tao-combobox__clear",
3357
+ onMousedown: withModifiers(markPicking, ["prevent"])
3358
+ }, " Очистить ", 32)) : createCommentVNode("", true)
3359
+ ], 4)) : createCommentVNode("", true)
3360
+ ]))
3361
+ ], 2);
3362
+ };
3363
+ }
3364
+ });
3365
+ const TaoCombobox = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-adeb76a4"]]);
2898
3366
  const ISO_DATE = /^(\d{4})-(\d{2})-(\d{2})$/;
2899
3367
  function formatTaoDateIso(parts) {
2900
3368
  return `${String(parts.y).padStart(4, "0")}-${String(parts.m).padStart(2, "0")}-${String(parts.d).padStart(2, "0")}`;
@@ -4271,7 +4739,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
4271
4739
  class: "tao-breadcrumb__item"
4272
4740
  }, [
4273
4741
  index > 0 ? (openBlock(), createElementBlock("span", _hoisted_3$4, "/")) : createCommentVNode("", true),
4274
- index === __props.items.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$4, toDisplayString(item.label), 1)) : item.to ? (openBlock(), createBlock(_sfc_main$k, {
4742
+ index === __props.items.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$4, toDisplayString(item.label), 1)) : item.to ? (openBlock(), createBlock(_sfc_main$l, {
4275
4743
  key: 2,
4276
4744
  class: "tao-breadcrumb__link",
4277
4745
  to: item.to
@@ -4462,7 +4930,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4462
4930
  function goNext() {
4463
4931
  goTo(index.value + step.value);
4464
4932
  }
4465
- function goTo(next) {
4933
+ function goTo(next, instant = false) {
4466
4934
  const el = track.value;
4467
4935
  const { width, gap, total } = metrics();
4468
4936
  if (!el || width <= 0 || total <= 0) {
@@ -4484,7 +4952,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4484
4952
  }
4485
4953
  el.scrollTo({
4486
4954
  left: page * (width + gap),
4487
- behavior: prefersReducedMotion() || dragging.value || wrapping ? "auto" : "smooth"
4955
+ behavior: prefersReducedMotion() || dragging.value || wrapping || instant ? "auto" : "smooth"
4488
4956
  });
4489
4957
  setIndex(page);
4490
4958
  }
@@ -4542,6 +5010,35 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4542
5010
  setIndex(nearestIndex());
4543
5011
  });
4544
5012
  }
5013
+ function releaseDragCapture() {
5014
+ const el = track.value;
5015
+ const id = dragPointer;
5016
+ if (!el || id === -1) {
5017
+ return;
5018
+ }
5019
+ if (typeof el.hasPointerCapture === "function" && !el.hasPointerCapture(id)) {
5020
+ return;
5021
+ }
5022
+ try {
5023
+ el.releasePointerCapture(id);
5024
+ } catch {
5025
+ }
5026
+ }
5027
+ function endDrag(keepClickGuard = false) {
5028
+ if (!dragging.value) {
5029
+ return;
5030
+ }
5031
+ dragging.value = false;
5032
+ releaseDragCapture();
5033
+ dragPointer = -1;
5034
+ if (!keepClickGuard) {
5035
+ dragMoved = 0;
5036
+ }
5037
+ if (track.value) {
5038
+ goTo(nearestIndex(), true);
5039
+ }
5040
+ syncAutoplay();
5041
+ }
4545
5042
  function onPointerDown(event) {
4546
5043
  if (event.pointerType !== "mouse" || event.button !== 0 || !track.value) {
4547
5044
  return;
@@ -4551,7 +5048,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4551
5048
  dragStartScroll = track.value.scrollLeft;
4552
5049
  dragMoved = 0;
4553
5050
  dragging.value = true;
4554
- track.value.setPointerCapture(event.pointerId);
5051
+ try {
5052
+ track.value.setPointerCapture(event.pointerId);
5053
+ } catch {
5054
+ }
4555
5055
  }
4556
5056
  function onPointerMove(event) {
4557
5057
  if (!dragging.value || event.pointerId !== dragPointer || !track.value) {
@@ -4561,13 +5061,25 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4561
5061
  dragMoved = Math.abs(dx);
4562
5062
  track.value.scrollLeft = dragStartScroll - dx;
4563
5063
  }
4564
- function onPointerUp(event) {
4565
- if (!dragging.value || event.pointerId !== dragPointer) {
5064
+ function onPointerEnd(event) {
5065
+ if (!dragging.value) {
4566
5066
  return;
4567
5067
  }
4568
- dragging.value = false;
4569
- dragPointer = -1;
4570
- goTo(nearestIndex());
5068
+ if (dragPointer !== -1 && event.pointerId !== dragPointer) {
5069
+ return;
5070
+ }
5071
+ endDrag(true);
5072
+ }
5073
+ function onLostPointerCapture() {
5074
+ endDrag();
5075
+ }
5076
+ function onWindowBlur() {
5077
+ endDrag();
5078
+ }
5079
+ function onVisibilityChange() {
5080
+ if (document.hidden) {
5081
+ endDrag();
5082
+ }
4571
5083
  syncAutoplay();
4572
5084
  }
4573
5085
  function onClickCapture(event) {
@@ -4606,13 +5118,18 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4606
5118
  goTo(props.modelValue);
4607
5119
  syncAutoplay();
4608
5120
  });
4609
- document.addEventListener("visibilitychange", syncAutoplay);
5121
+ document.addEventListener("visibilitychange", onVisibilityChange);
5122
+ window.addEventListener("blur", onWindowBlur);
5123
+ window.addEventListener("pagehide", onWindowBlur);
4610
5124
  });
4611
5125
  onUpdated(refreshCount);
4612
5126
  onBeforeUnmount(() => {
5127
+ endDrag();
4613
5128
  cancelAnimationFrame(scrollFrame);
4614
5129
  stopAutoplay();
4615
- document.removeEventListener("visibilitychange", syncAutoplay);
5130
+ document.removeEventListener("visibilitychange", onVisibilityChange);
5131
+ window.removeEventListener("blur", onWindowBlur);
5132
+ window.removeEventListener("pagehide", onWindowBlur);
4616
5133
  });
4617
5134
  return (_ctx, _cache) => {
4618
5135
  return openBlock(), createElementBlock("div", {
@@ -4665,8 +5182,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4665
5182
  onKeydown,
4666
5183
  onPointerdown: onPointerDown,
4667
5184
  onPointermove: onPointerMove,
4668
- onPointerup: onPointerUp,
4669
- onPointercancel: onPointerUp,
5185
+ onPointerup: onPointerEnd,
5186
+ onPointercancel: onPointerEnd,
5187
+ onLostpointercapture: onLostPointerCapture,
4670
5188
  onClickCapture
4671
5189
  }, [
4672
5190
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
@@ -4732,7 +5250,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4732
5250
  };
4733
5251
  }
4734
5252
  });
4735
- const TaoCarousel = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-173f4ce0"]]);
5253
+ const TaoCarousel = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-81afb8b0"]]);
4736
5254
  const _hoisted_1$3 = ["aria-label"];
4737
5255
  const _hoisted_2$2 = ["aria-label"];
4738
5256
  const _hoisted_3$2 = {
@@ -5872,7 +6390,7 @@ const components = [
5872
6390
  TaoSpoiler,
5873
6391
  TaoCopy,
5874
6392
  TaoContainer,
5875
- _sfc_main$A,
6393
+ _sfc_main$B,
5876
6394
  TaoSpace,
5877
6395
  TaoIcon,
5878
6396
  TaoLoader,
@@ -5888,9 +6406,10 @@ const components = [
5888
6406
  TaoFileDrop,
5889
6407
  TaoDropdownMenu,
5890
6408
  TaoPinCode,
5891
- _sfc_main$k,
6409
+ _sfc_main$l,
5892
6410
  TaoFormField,
5893
6411
  TaoSelect,
6412
+ TaoCombobox,
5894
6413
  TaoDate,
5895
6414
  TaoSwitch,
5896
6415
  TaoRadio,
@@ -5926,6 +6445,7 @@ export {
5926
6445
  TaoCard,
5927
6446
  TaoCarousel,
5928
6447
  TaoCheckbox,
6448
+ TaoCombobox,
5929
6449
  TaoConfirmHost,
5930
6450
  TaoContainer,
5931
6451
  TaoCopy,
@@ -5936,14 +6456,14 @@ export {
5936
6456
  TaoDropdownMenu,
5937
6457
  TaoEmpty,
5938
6458
  TaoFileDrop,
5939
- _sfc_main$A as TaoFlex,
6459
+ _sfc_main$B as TaoFlex,
5940
6460
  TaoFormField,
5941
6461
  TaoIcon,
5942
6462
  TaoImage,
5943
6463
  TaoInput,
5944
6464
  TaoInputGroup,
5945
6465
  TaoInputNumber,
5946
- _sfc_main$k as TaoLink,
6466
+ _sfc_main$l as TaoLink,
5947
6467
  TaoLoader,
5948
6468
  TaoModal,
5949
6469
  TaoPagination,