@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/README.md +4 -1
- package/dist/index.cjs +717 -197
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +99 -31
- package/dist/index.mjs +717 -197
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +145 -20
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("vue")) : typeof define === "function" && define.amd ? define(["exports", "vue"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.TaoUI = {}, global.Vue));
|
|
3
3
|
})(this, function(exports2, vue) {
|
|
4
4
|
"use strict";
|
|
5
|
-
const _hoisted_1$
|
|
6
|
-
const _hoisted_2$
|
|
5
|
+
const _hoisted_1$F = ["type", "disabled"];
|
|
6
|
+
const _hoisted_2$A = {
|
|
7
7
|
key: 0,
|
|
8
8
|
class: "tao-button__loader"
|
|
9
9
|
};
|
|
10
|
-
const _hoisted_3$
|
|
10
|
+
const _hoisted_3$u = {
|
|
11
11
|
key: 1,
|
|
12
12
|
class: "tao-button__icon"
|
|
13
13
|
};
|
|
14
14
|
const _hoisted_4$o = { class: "tao-button__content" };
|
|
15
|
-
const _sfc_main$
|
|
15
|
+
const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
16
16
|
...{ name: "TaoButton" },
|
|
17
17
|
__name: "TaoButton",
|
|
18
18
|
props: {
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
disabled: __props.disabled || __props.loading,
|
|
50
50
|
onClick: handleClick
|
|
51
51
|
}, [
|
|
52
|
-
__props.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
53
|
-
__props.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
52
|
+
__props.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$A)) : vue.createCommentVNode("", true),
|
|
53
|
+
__props.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$u, vue.toDisplayString(__props.icon), 1)) : vue.createCommentVNode("", true),
|
|
54
54
|
vue.createElementVNode("span", _hoisted_4$o, [
|
|
55
55
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
56
56
|
])
|
|
57
|
-
], 10, _hoisted_1$
|
|
57
|
+
], 10, _hoisted_1$F);
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
60
|
});
|
|
@@ -65,8 +65,8 @@
|
|
|
65
65
|
}
|
|
66
66
|
return target;
|
|
67
67
|
};
|
|
68
|
-
const TaoButton = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
69
|
-
const _sfc_main$
|
|
68
|
+
const TaoButton = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-5a0fd489"]]);
|
|
69
|
+
const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
70
70
|
...{ name: "TaoBlock" },
|
|
71
71
|
__name: "TaoBlock",
|
|
72
72
|
props: {
|
|
@@ -98,11 +98,11 @@
|
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
100
|
});
|
|
101
|
-
const TaoBlock = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
101
|
+
const TaoBlock = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-feb87e36"]]);
|
|
102
102
|
const formFieldKey = Symbol("taoFormField");
|
|
103
|
-
const _hoisted_1$
|
|
104
|
-
const _hoisted_2$
|
|
105
|
-
const _hoisted_3$
|
|
103
|
+
const _hoisted_1$E = { class: "tao-input-wrapper" };
|
|
104
|
+
const _hoisted_2$z = ["for"];
|
|
105
|
+
const _hoisted_3$t = {
|
|
106
106
|
key: 0,
|
|
107
107
|
class: "tao-input__affix tao-input__affix--prefix"
|
|
108
108
|
};
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
key: 1,
|
|
116
116
|
class: "tao-input__error"
|
|
117
117
|
};
|
|
118
|
-
const _sfc_main$
|
|
118
|
+
const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
119
119
|
...{ name: "TaoInput" },
|
|
120
120
|
__name: "TaoInput",
|
|
121
121
|
props: {
|
|
@@ -151,12 +151,12 @@
|
|
|
151
151
|
emit("focus", event);
|
|
152
152
|
}
|
|
153
153
|
return (_ctx, _cache) => {
|
|
154
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
154
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
|
|
155
155
|
__props.label && !vue.unref(field) ? (vue.openBlock(), vue.createElementBlock("label", {
|
|
156
156
|
key: 0,
|
|
157
157
|
class: "tao-input__label",
|
|
158
158
|
for: controlId.value
|
|
159
|
-
}, vue.toDisplayString(__props.label), 9, _hoisted_2$
|
|
159
|
+
}, vue.toDisplayString(__props.label), 9, _hoisted_2$z)) : vue.createCommentVNode("", true),
|
|
160
160
|
vue.createElementVNode("div", {
|
|
161
161
|
class: vue.normalizeClass(["tao-input-shell", {
|
|
162
162
|
"tao-input-shell--focused": focused.value,
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
"tao-input-shell--suffix": _ctx.$slots.suffix
|
|
167
167
|
}])
|
|
168
168
|
}, [
|
|
169
|
-
_ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
169
|
+
_ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$t, [
|
|
170
170
|
vue.renderSlot(_ctx.$slots, "prefix", {}, void 0, true)
|
|
171
171
|
])) : vue.createCommentVNode("", true),
|
|
172
172
|
vue.createElementVNode("input", {
|
|
@@ -191,17 +191,17 @@
|
|
|
191
191
|
};
|
|
192
192
|
}
|
|
193
193
|
});
|
|
194
|
-
const TaoInput = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
195
|
-
const _hoisted_1$
|
|
194
|
+
const TaoInput = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-b522e041"]]);
|
|
195
|
+
const _hoisted_1$D = {
|
|
196
196
|
key: 0,
|
|
197
197
|
class: "tao-input-group__addon tao-input-group__addon--before"
|
|
198
198
|
};
|
|
199
|
-
const _hoisted_2$
|
|
200
|
-
const _hoisted_3$
|
|
199
|
+
const _hoisted_2$y = { class: "tao-input-group__field" };
|
|
200
|
+
const _hoisted_3$s = {
|
|
201
201
|
key: 1,
|
|
202
202
|
class: "tao-input-group__addon tao-input-group__addon--after"
|
|
203
203
|
};
|
|
204
|
-
const _sfc_main$
|
|
204
|
+
const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
205
205
|
...{ name: "TaoInputGroup" },
|
|
206
206
|
__name: "TaoInputGroup",
|
|
207
207
|
setup(__props) {
|
|
@@ -223,28 +223,28 @@
|
|
|
223
223
|
onFocusin: onFocusIn,
|
|
224
224
|
onFocusout: onFocusOut
|
|
225
225
|
}, [
|
|
226
|
-
_ctx.$slots.before ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
226
|
+
_ctx.$slots.before ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D, [
|
|
227
227
|
vue.renderSlot(_ctx.$slots, "before", {}, void 0, true)
|
|
228
228
|
])) : vue.createCommentVNode("", true),
|
|
229
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
229
|
+
vue.createElementVNode("div", _hoisted_2$y, [
|
|
230
230
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
231
231
|
]),
|
|
232
|
-
_ctx.$slots.after ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
232
|
+
_ctx.$slots.after ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$s, [
|
|
233
233
|
vue.renderSlot(_ctx.$slots, "after", {}, void 0, true)
|
|
234
234
|
])) : vue.createCommentVNode("", true)
|
|
235
235
|
], 34);
|
|
236
236
|
};
|
|
237
237
|
}
|
|
238
238
|
});
|
|
239
|
-
const TaoInputGroup = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
240
|
-
const _hoisted_1$
|
|
241
|
-
const _hoisted_2$
|
|
239
|
+
const TaoInputGroup = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-f06bb3b1"]]);
|
|
240
|
+
const _hoisted_1$C = ["id", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
|
|
241
|
+
const _hoisted_2$x = {
|
|
242
242
|
key: 0,
|
|
243
243
|
class: "tao-input-number__steppers"
|
|
244
244
|
};
|
|
245
|
-
const _hoisted_3$
|
|
245
|
+
const _hoisted_3$r = ["disabled"];
|
|
246
246
|
const _hoisted_4$m = ["disabled"];
|
|
247
|
-
const _sfc_main$
|
|
247
|
+
const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
248
248
|
...{ name: "TaoInputNumber" },
|
|
249
249
|
__name: "TaoInputNumber",
|
|
250
250
|
props: {
|
|
@@ -393,8 +393,8 @@
|
|
|
393
393
|
onFocus,
|
|
394
394
|
onBlur,
|
|
395
395
|
onKeydown
|
|
396
|
-
}, null, 40, _hoisted_1$
|
|
397
|
-
__props.controls ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
396
|
+
}, null, 40, _hoisted_1$C),
|
|
397
|
+
__props.controls ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$x, [
|
|
398
398
|
vue.createElementVNode("button", {
|
|
399
399
|
type: "button",
|
|
400
400
|
class: "tao-input-number__step",
|
|
@@ -402,7 +402,7 @@
|
|
|
402
402
|
tabindex: "-1",
|
|
403
403
|
disabled: __props.disabled || atMax.value,
|
|
404
404
|
onClick: _cache[0] || (_cache[0] = ($event) => bump(1))
|
|
405
|
-
}, " + ", 8, _hoisted_3$
|
|
405
|
+
}, " + ", 8, _hoisted_3$r),
|
|
406
406
|
vue.createElementVNode("button", {
|
|
407
407
|
type: "button",
|
|
408
408
|
class: "tao-input-number__step",
|
|
@@ -416,11 +416,11 @@
|
|
|
416
416
|
};
|
|
417
417
|
}
|
|
418
418
|
});
|
|
419
|
-
const TaoInputNumber = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
420
|
-
const _hoisted_1$
|
|
421
|
-
const _hoisted_2$
|
|
422
|
-
const _hoisted_3$
|
|
423
|
-
const _sfc_main$
|
|
419
|
+
const TaoInputNumber = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-55b65a4d"]]);
|
|
420
|
+
const _hoisted_1$B = ["aria-label", "disabled"];
|
|
421
|
+
const _hoisted_2$w = ["id", "value", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
|
|
422
|
+
const _hoisted_3$q = ["disabled"];
|
|
423
|
+
const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
424
424
|
...{ name: "TaoQuantity" },
|
|
425
425
|
__name: "TaoQuantity",
|
|
426
426
|
props: {
|
|
@@ -553,7 +553,7 @@
|
|
|
553
553
|
"aria-label": minusLabel.value,
|
|
554
554
|
disabled: minusDisabled.value,
|
|
555
555
|
onClick: onDec
|
|
556
|
-
}, " − ", 8, _hoisted_1$
|
|
556
|
+
}, " − ", 8, _hoisted_1$B),
|
|
557
557
|
vue.createElementVNode("input", {
|
|
558
558
|
id: controlId.value,
|
|
559
559
|
class: "tao-quantity__input",
|
|
@@ -573,28 +573,28 @@
|
|
|
573
573
|
onFocus,
|
|
574
574
|
onBlur,
|
|
575
575
|
onKeydown
|
|
576
|
-
}, null, 40, _hoisted_2$
|
|
576
|
+
}, null, 40, _hoisted_2$w),
|
|
577
577
|
vue.createElementVNode("button", {
|
|
578
578
|
type: "button",
|
|
579
579
|
class: "tao-quantity__btn tao-quantity__btn--inc",
|
|
580
580
|
"aria-label": "Увеличить",
|
|
581
581
|
disabled: plusDisabled.value,
|
|
582
582
|
onClick: onInc
|
|
583
|
-
}, " + ", 8, _hoisted_3$
|
|
583
|
+
}, " + ", 8, _hoisted_3$q)
|
|
584
584
|
], 2);
|
|
585
585
|
};
|
|
586
586
|
}
|
|
587
587
|
});
|
|
588
|
-
const TaoQuantity = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
589
|
-
const _hoisted_1$
|
|
588
|
+
const TaoQuantity = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-df6baf04"]]);
|
|
589
|
+
const _hoisted_1$A = {
|
|
590
590
|
key: 0,
|
|
591
591
|
class: "tao-card__cover"
|
|
592
592
|
};
|
|
593
|
-
const _hoisted_2$
|
|
593
|
+
const _hoisted_2$v = {
|
|
594
594
|
key: 0,
|
|
595
595
|
class: "tao-card__header-title"
|
|
596
596
|
};
|
|
597
|
-
const _hoisted_3$
|
|
597
|
+
const _hoisted_3$p = { key: 0 };
|
|
598
598
|
const _hoisted_4$l = {
|
|
599
599
|
key: 2,
|
|
600
600
|
class: "tao-card__title-block"
|
|
@@ -615,7 +615,7 @@
|
|
|
615
615
|
key: 4,
|
|
616
616
|
class: "tao-card__footer"
|
|
617
617
|
};
|
|
618
|
-
const _sfc_main$
|
|
618
|
+
const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
619
619
|
...{ name: "TaoCard" },
|
|
620
620
|
__name: "TaoCard",
|
|
621
621
|
props: {
|
|
@@ -647,14 +647,14 @@
|
|
|
647
647
|
}]),
|
|
648
648
|
style: vue.normalizeStyle(radiusStyle.value)
|
|
649
649
|
}, [
|
|
650
|
-
_ctx.$slots.cover ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
650
|
+
_ctx.$slots.cover ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
|
|
651
651
|
vue.renderSlot(_ctx.$slots, "cover", {}, void 0, true)
|
|
652
652
|
])) : vue.createCommentVNode("", true),
|
|
653
653
|
vue.createElementVNode("div", {
|
|
654
654
|
class: "tao-card__content",
|
|
655
655
|
style: vue.normalizeStyle(paddingStyle.value)
|
|
656
656
|
}, [
|
|
657
|
-
_ctx.$slots.headerTitle ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$
|
|
657
|
+
_ctx.$slots.headerTitle ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$v, [
|
|
658
658
|
vue.renderSlot(_ctx.$slots, "headerTitle", {}, void 0, true)
|
|
659
659
|
])) : vue.createCommentVNode("", true),
|
|
660
660
|
_ctx.$slots.header || _ctx.$slots.headerSecondary ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -664,7 +664,7 @@
|
|
|
664
664
|
vue.createElementVNode("span", null, [
|
|
665
665
|
vue.renderSlot(_ctx.$slots, "header", {}, void 0, true)
|
|
666
666
|
]),
|
|
667
|
-
_ctx.$slots.headerSecondary ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
667
|
+
_ctx.$slots.headerSecondary ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$p, [
|
|
668
668
|
vue.renderSlot(_ctx.$slots, "headerSecondary", {}, void 0, true)
|
|
669
669
|
])) : vue.createCommentVNode("", true)
|
|
670
670
|
], 2)) : vue.createCommentVNode("", true),
|
|
@@ -687,7 +687,7 @@
|
|
|
687
687
|
};
|
|
688
688
|
}
|
|
689
689
|
});
|
|
690
|
-
const TaoCard = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
690
|
+
const TaoCard = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-2ff3d055"]]);
|
|
691
691
|
const FOCUSABLE = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
692
692
|
function getFocusable(root) {
|
|
693
693
|
return [...root.querySelectorAll(FOCUSABLE)].filter(
|
|
@@ -716,19 +716,19 @@
|
|
|
716
716
|
first.focus();
|
|
717
717
|
}
|
|
718
718
|
}
|
|
719
|
-
const _hoisted_1$
|
|
720
|
-
const _hoisted_2$
|
|
719
|
+
const _hoisted_1$z = ["aria-labelledby"];
|
|
720
|
+
const _hoisted_2$u = {
|
|
721
721
|
key: 0,
|
|
722
722
|
class: "tao-modal__header"
|
|
723
723
|
};
|
|
724
|
-
const _hoisted_3$
|
|
724
|
+
const _hoisted_3$o = ["id"];
|
|
725
725
|
const _hoisted_4$k = { key: 1 };
|
|
726
726
|
const _hoisted_5$d = { class: "tao-modal__content" };
|
|
727
727
|
const _hoisted_6$9 = {
|
|
728
728
|
key: 1,
|
|
729
729
|
class: "tao-modal__footer"
|
|
730
730
|
};
|
|
731
|
-
const _sfc_main$
|
|
731
|
+
const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
732
732
|
...{ name: "TaoModal" },
|
|
733
733
|
__name: "TaoModal",
|
|
734
734
|
props: {
|
|
@@ -828,13 +828,13 @@
|
|
|
828
828
|
"aria-labelledby": __props.title ? vue.unref(titleId) : void 0,
|
|
829
829
|
tabindex: "-1"
|
|
830
830
|
}, [
|
|
831
|
-
__props.title || _ctx.$slots.header || __props.closable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
831
|
+
__props.title || _ctx.$slots.header || __props.closable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$u, [
|
|
832
832
|
vue.renderSlot(_ctx.$slots, "header", {}, () => [
|
|
833
833
|
__props.title ? (vue.openBlock(), vue.createElementBlock("h2", {
|
|
834
834
|
key: 0,
|
|
835
835
|
id: vue.unref(titleId),
|
|
836
836
|
class: "tao-modal__title"
|
|
837
|
-
}, vue.toDisplayString(__props.title), 9, _hoisted_3$
|
|
837
|
+
}, vue.toDisplayString(__props.title), 9, _hoisted_3$o)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$k))
|
|
838
838
|
], true),
|
|
839
839
|
__props.closable ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
840
840
|
key: 0,
|
|
@@ -850,7 +850,7 @@
|
|
|
850
850
|
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$9, [
|
|
851
851
|
vue.renderSlot(_ctx.$slots, "footer", {}, void 0, true)
|
|
852
852
|
])) : vue.createCommentVNode("", true)
|
|
853
|
-
], 8, _hoisted_1$
|
|
853
|
+
], 8, _hoisted_1$z)
|
|
854
854
|
], 32)) : vue.createCommentVNode("", true)
|
|
855
855
|
]),
|
|
856
856
|
_: 3
|
|
@@ -859,11 +859,11 @@
|
|
|
859
859
|
};
|
|
860
860
|
}
|
|
861
861
|
});
|
|
862
|
-
const TaoModal = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
863
|
-
const _hoisted_1$
|
|
864
|
-
const _hoisted_2$
|
|
865
|
-
const _hoisted_3$
|
|
866
|
-
const _sfc_main$
|
|
862
|
+
const TaoModal = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-0cffe849"]]);
|
|
863
|
+
const _hoisted_1$y = { class: "tao-tabs" };
|
|
864
|
+
const _hoisted_2$t = ["id", "aria-selected", "aria-controls", "tabindex", "disabled", "onClick"];
|
|
865
|
+
const _hoisted_3$n = ["id", "aria-labelledby"];
|
|
866
|
+
const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
867
867
|
...{ name: "TaoTabs" },
|
|
868
868
|
__name: "TaoTabs",
|
|
869
869
|
props: {
|
|
@@ -927,7 +927,7 @@
|
|
|
927
927
|
}
|
|
928
928
|
}
|
|
929
929
|
return (_ctx, _cache) => {
|
|
930
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
930
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
|
|
931
931
|
vue.createElementVNode("div", {
|
|
932
932
|
class: "tao-tabs__list",
|
|
933
933
|
role: "tablist",
|
|
@@ -952,7 +952,7 @@
|
|
|
952
952
|
}, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
953
953
|
vue.createTextVNode(vue.toDisplayString(tab.label), 1)
|
|
954
954
|
], 64))
|
|
955
|
-
], 8, _hoisted_2$
|
|
955
|
+
], 8, _hoisted_2$t);
|
|
956
956
|
}), 128))
|
|
957
957
|
], 32),
|
|
958
958
|
vue.createElementVNode("div", {
|
|
@@ -962,13 +962,13 @@
|
|
|
962
962
|
"aria-labelledby": tabId(__props.modelValue)
|
|
963
963
|
}, [
|
|
964
964
|
vue.renderSlot(_ctx.$slots, "default", { activeTab: __props.modelValue }, void 0, true)
|
|
965
|
-
], 8, _hoisted_3$
|
|
965
|
+
], 8, _hoisted_3$n)
|
|
966
966
|
]);
|
|
967
967
|
};
|
|
968
968
|
}
|
|
969
969
|
});
|
|
970
|
-
const TaoTabs = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
971
|
-
const _sfc_main$
|
|
970
|
+
const TaoTabs = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-bf16735e"]]);
|
|
971
|
+
const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
972
972
|
...{ name: "TaoTooltip" },
|
|
973
973
|
__name: "TaoTooltip",
|
|
974
974
|
props: {
|
|
@@ -1000,16 +1000,16 @@
|
|
|
1000
1000
|
};
|
|
1001
1001
|
}
|
|
1002
1002
|
});
|
|
1003
|
-
const TaoTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1004
|
-
const _hoisted_1$
|
|
1005
|
-
const _hoisted_2$
|
|
1006
|
-
const _hoisted_3$
|
|
1003
|
+
const TaoTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-6f3b3c11"]]);
|
|
1004
|
+
const _hoisted_1$x = { class: "tao-spoiler" };
|
|
1005
|
+
const _hoisted_2$s = ["aria-expanded", "aria-controls"];
|
|
1006
|
+
const _hoisted_3$m = {
|
|
1007
1007
|
key: 0,
|
|
1008
1008
|
class: "tao-spoiler__title"
|
|
1009
1009
|
};
|
|
1010
1010
|
const _hoisted_4$j = ["id"];
|
|
1011
1011
|
const _hoisted_5$c = { class: "tao-spoiler__content-inner" };
|
|
1012
|
-
const _sfc_main$
|
|
1012
|
+
const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
1013
1013
|
...{ name: "TaoSpoiler" },
|
|
1014
1014
|
__name: "TaoSpoiler",
|
|
1015
1015
|
props: {
|
|
@@ -1052,7 +1052,7 @@
|
|
|
1052
1052
|
});
|
|
1053
1053
|
}
|
|
1054
1054
|
return (_ctx, _cache) => {
|
|
1055
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1055
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
|
|
1056
1056
|
vue.createElementVNode("button", {
|
|
1057
1057
|
type: "button",
|
|
1058
1058
|
class: "tao-spoiler__header",
|
|
@@ -1063,12 +1063,12 @@
|
|
|
1063
1063
|
vue.createElementVNode("span", {
|
|
1064
1064
|
class: vue.normalizeClass(["tao-spoiler__icon", { "tao-spoiler__icon--open": isOpen.value }])
|
|
1065
1065
|
}, "▶", 2),
|
|
1066
|
-
__props.title || _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
1066
|
+
__props.title || _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$m, [
|
|
1067
1067
|
vue.renderSlot(_ctx.$slots, "title", {}, () => [
|
|
1068
1068
|
vue.createTextVNode(vue.toDisplayString(__props.title), 1)
|
|
1069
1069
|
], true)
|
|
1070
1070
|
])) : vue.createCommentVNode("", true)
|
|
1071
|
-
], 8, _hoisted_2$
|
|
1071
|
+
], 8, _hoisted_2$s),
|
|
1072
1072
|
vue.createVNode(vue.Transition, {
|
|
1073
1073
|
name: "tao-spoiler-slide",
|
|
1074
1074
|
onBeforeEnter,
|
|
@@ -1093,9 +1093,9 @@
|
|
|
1093
1093
|
};
|
|
1094
1094
|
}
|
|
1095
1095
|
});
|
|
1096
|
-
const TaoSpoiler = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1097
|
-
const _hoisted_1$
|
|
1098
|
-
const _sfc_main$
|
|
1096
|
+
const TaoSpoiler = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-c9f4d962"]]);
|
|
1097
|
+
const _hoisted_1$w = { class: "tao-copy" };
|
|
1098
|
+
const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
1099
1099
|
...{ name: "TaoCopy" },
|
|
1100
1100
|
__name: "TaoCopy",
|
|
1101
1101
|
props: {
|
|
@@ -1119,7 +1119,7 @@
|
|
|
1119
1119
|
}
|
|
1120
1120
|
}
|
|
1121
1121
|
return (_ctx, _cache) => {
|
|
1122
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1122
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
|
|
1123
1123
|
vue.renderSlot(_ctx.$slots, "default", {
|
|
1124
1124
|
copy,
|
|
1125
1125
|
copied: copied.value
|
|
@@ -1134,8 +1134,8 @@
|
|
|
1134
1134
|
};
|
|
1135
1135
|
}
|
|
1136
1136
|
});
|
|
1137
|
-
const TaoCopy = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1138
|
-
const _sfc_main$
|
|
1137
|
+
const TaoCopy = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-73a42ad9"]]);
|
|
1138
|
+
const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
1139
1139
|
...{ name: "TaoContainer" },
|
|
1140
1140
|
__name: "TaoContainer",
|
|
1141
1141
|
props: {
|
|
@@ -1152,8 +1152,8 @@
|
|
|
1152
1152
|
};
|
|
1153
1153
|
}
|
|
1154
1154
|
});
|
|
1155
|
-
const TaoContainer = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1156
|
-
const _sfc_main$
|
|
1155
|
+
const TaoContainer = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-4c0deb90"]]);
|
|
1156
|
+
const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
1157
1157
|
...{ name: "TaoFlex" },
|
|
1158
1158
|
__name: "TaoFlex",
|
|
1159
1159
|
props: {
|
|
@@ -1184,7 +1184,7 @@
|
|
|
1184
1184
|
};
|
|
1185
1185
|
}
|
|
1186
1186
|
});
|
|
1187
|
-
const _sfc_main$
|
|
1187
|
+
const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
1188
1188
|
...{ name: "TaoSpace" },
|
|
1189
1189
|
__name: "TaoSpace",
|
|
1190
1190
|
props: {
|
|
@@ -1204,9 +1204,9 @@
|
|
|
1204
1204
|
};
|
|
1205
1205
|
}
|
|
1206
1206
|
});
|
|
1207
|
-
const TaoSpace = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1208
|
-
const _hoisted_1$
|
|
1209
|
-
const _sfc_main$
|
|
1207
|
+
const TaoSpace = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-698ca712"]]);
|
|
1208
|
+
const _hoisted_1$v = { class: "tao-icon" };
|
|
1209
|
+
const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
1210
1210
|
...{ name: "TaoIcon" },
|
|
1211
1211
|
__name: "TaoIcon",
|
|
1212
1212
|
props: {
|
|
@@ -1221,7 +1221,7 @@
|
|
|
1221
1221
|
}));
|
|
1222
1222
|
const props = __props;
|
|
1223
1223
|
return (_ctx, _cache) => {
|
|
1224
|
-
return vue.openBlock(), vue.createElementBlock("span", _hoisted_1$
|
|
1224
|
+
return vue.openBlock(), vue.createElementBlock("span", _hoisted_1$v, [
|
|
1225
1225
|
vue.renderSlot(_ctx.$slots, "prefix", {}, void 0, true),
|
|
1226
1226
|
vue.createElementVNode("i", {
|
|
1227
1227
|
class: vue.normalizeClass(["tao-icon__value", [`icon-${props.name}`, { "tao-icon__value--invert": props.invert }]]),
|
|
@@ -1232,8 +1232,8 @@
|
|
|
1232
1232
|
};
|
|
1233
1233
|
}
|
|
1234
1234
|
});
|
|
1235
|
-
const TaoIcon = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1236
|
-
const _sfc_main$
|
|
1235
|
+
const TaoIcon = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-145b2cfc"]]);
|
|
1236
|
+
const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
1237
1237
|
...{ name: "TaoLoader" },
|
|
1238
1238
|
__name: "TaoLoader",
|
|
1239
1239
|
props: {
|
|
@@ -1294,10 +1294,10 @@
|
|
|
1294
1294
|
};
|
|
1295
1295
|
}
|
|
1296
1296
|
});
|
|
1297
|
-
const TaoLoader = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1298
|
-
const _hoisted_1$
|
|
1299
|
-
const _hoisted_2$
|
|
1300
|
-
const _sfc_main$
|
|
1297
|
+
const TaoLoader = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-75a40018"]]);
|
|
1298
|
+
const _hoisted_1$u = { class: "tao-image" };
|
|
1299
|
+
const _hoisted_2$r = ["src", "alt"];
|
|
1300
|
+
const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
1301
1301
|
...{ name: "TaoImage" },
|
|
1302
1302
|
__name: "TaoImage",
|
|
1303
1303
|
props: {
|
|
@@ -1322,7 +1322,7 @@
|
|
|
1322
1322
|
isLoaded.value = false;
|
|
1323
1323
|
});
|
|
1324
1324
|
return (_ctx, _cache) => {
|
|
1325
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1325
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
|
|
1326
1326
|
__props.src ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
1327
1327
|
key: 0,
|
|
1328
1328
|
class: vue.normalizeClass({ "tao-image__img--hidden": !isLoaded.value, "tao-image__img--pixelated": props.pixelated }),
|
|
@@ -1331,17 +1331,17 @@
|
|
|
1331
1331
|
draggable: "false",
|
|
1332
1332
|
onLoad: handleLoad,
|
|
1333
1333
|
onError: handleError
|
|
1334
|
-
}, null, 42, _hoisted_2$
|
|
1334
|
+
}, null, 42, _hoisted_2$r)) : vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
1335
1335
|
_cache[0] || (_cache[0] = vue.createElementVNode("div", { class: "tao-image__placeholder" }, "No image available", -1))
|
|
1336
1336
|
], true, 1)
|
|
1337
1337
|
]);
|
|
1338
1338
|
};
|
|
1339
1339
|
}
|
|
1340
1340
|
});
|
|
1341
|
-
const TaoImage = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1342
|
-
const _hoisted_1$
|
|
1343
|
-
const _hoisted_2$
|
|
1344
|
-
const _hoisted_3$
|
|
1341
|
+
const TaoImage = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-9da4bb7d"]]);
|
|
1342
|
+
const _hoisted_1$t = ["for"];
|
|
1343
|
+
const _hoisted_2$q = ["id", "checked", "disabled", "aria-checked", "aria-invalid", "aria-describedby"];
|
|
1344
|
+
const _hoisted_3$l = {
|
|
1345
1345
|
key: 0,
|
|
1346
1346
|
class: "tao-checkbox__label"
|
|
1347
1347
|
};
|
|
@@ -1349,7 +1349,7 @@
|
|
|
1349
1349
|
key: 1,
|
|
1350
1350
|
class: "tao-checkbox__label"
|
|
1351
1351
|
};
|
|
1352
|
-
const _sfc_main$
|
|
1352
|
+
const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
1353
1353
|
...{ name: "TaoCheckbox" },
|
|
1354
1354
|
__name: "TaoCheckbox",
|
|
1355
1355
|
props: {
|
|
@@ -1419,18 +1419,18 @@
|
|
|
1419
1419
|
"aria-invalid": invalid.value || void 0,
|
|
1420
1420
|
"aria-describedby": describedBy.value,
|
|
1421
1421
|
onChange: onInputChange
|
|
1422
|
-
}, null, 40, _hoisted_2$
|
|
1422
|
+
}, null, 40, _hoisted_2$q),
|
|
1423
1423
|
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "tao-checkbox__box" }, null, -1)),
|
|
1424
|
-
__props.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
1424
|
+
__props.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$l, vue.toDisplayString(__props.label), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$i, [
|
|
1425
1425
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1426
1426
|
])),
|
|
1427
1427
|
vue.renderSlot(_ctx.$slots, "post", { text: __props.label }, void 0, true)
|
|
1428
|
-
], 10, _hoisted_1$
|
|
1428
|
+
], 10, _hoisted_1$t);
|
|
1429
1429
|
};
|
|
1430
1430
|
}
|
|
1431
1431
|
});
|
|
1432
|
-
const TaoCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1433
|
-
const _sfc_main$
|
|
1432
|
+
const TaoCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-f6b0e565"]]);
|
|
1433
|
+
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
1434
1434
|
...{ name: "TaoTag" },
|
|
1435
1435
|
__name: "TaoTag",
|
|
1436
1436
|
props: {
|
|
@@ -1458,17 +1458,17 @@
|
|
|
1458
1458
|
};
|
|
1459
1459
|
}
|
|
1460
1460
|
});
|
|
1461
|
-
const TaoTag = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1462
|
-
const _hoisted_1$
|
|
1461
|
+
const TaoTag = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-290c0f6a"]]);
|
|
1462
|
+
const _hoisted_1$s = {
|
|
1463
1463
|
key: 1,
|
|
1464
1464
|
class: "tao-divider-text"
|
|
1465
1465
|
};
|
|
1466
|
-
const _hoisted_2$
|
|
1467
|
-
const _hoisted_3$
|
|
1466
|
+
const _hoisted_2$p = { class: "tao-divider-text__value" };
|
|
1467
|
+
const _hoisted_3$k = {
|
|
1468
1468
|
key: 2,
|
|
1469
1469
|
class: "tao-divider-line"
|
|
1470
1470
|
};
|
|
1471
|
-
const _sfc_main$
|
|
1471
|
+
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
1472
1472
|
...{ name: "TaoDivider" },
|
|
1473
1473
|
__name: "TaoDivider",
|
|
1474
1474
|
props: {
|
|
@@ -1482,18 +1482,18 @@
|
|
|
1482
1482
|
return __props.variant === "gap" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
1483
1483
|
key: 0,
|
|
1484
1484
|
class: vue.normalizeClass(["tao-divider-gap", `tao-divider-gap--${gapSize.value}`])
|
|
1485
|
-
}, null, 2)) : __props.variant === "text" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1485
|
+
}, null, 2)) : __props.variant === "text" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
|
|
1486
1486
|
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "tao-divider-text__line tao-divider-text__line--left" }, null, -1)),
|
|
1487
|
-
vue.createElementVNode("span", _hoisted_2$
|
|
1487
|
+
vue.createElementVNode("span", _hoisted_2$p, [
|
|
1488
1488
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1489
1489
|
]),
|
|
1490
1490
|
_cache[1] || (_cache[1] = vue.createElementVNode("span", { class: "tao-divider-text__line tao-divider-text__line--right" }, null, -1))
|
|
1491
|
-
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
1491
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$k));
|
|
1492
1492
|
};
|
|
1493
1493
|
}
|
|
1494
1494
|
});
|
|
1495
|
-
const TaoDivider = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1496
|
-
const _sfc_main$
|
|
1495
|
+
const TaoDivider = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-8187a15d"]]);
|
|
1496
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
1497
1497
|
...{ name: "TaoAnimatedBorder" },
|
|
1498
1498
|
__name: "TaoAnimatedBorder",
|
|
1499
1499
|
props: {
|
|
@@ -1517,18 +1517,18 @@
|
|
|
1517
1517
|
};
|
|
1518
1518
|
}
|
|
1519
1519
|
});
|
|
1520
|
-
const TaoAnimatedBorder = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1521
|
-
const _hoisted_1$
|
|
1520
|
+
const TaoAnimatedBorder = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-f1534571"]]);
|
|
1521
|
+
const _hoisted_1$r = {
|
|
1522
1522
|
key: 0,
|
|
1523
1523
|
class: "tao-textarea tao-textarea--dummy"
|
|
1524
1524
|
};
|
|
1525
|
-
const _hoisted_2$
|
|
1525
|
+
const _hoisted_2$o = {
|
|
1526
1526
|
key: 1,
|
|
1527
1527
|
class: "tao-textarea-wrap"
|
|
1528
1528
|
};
|
|
1529
|
-
const _hoisted_3$
|
|
1529
|
+
const _hoisted_3$j = ["id", "placeholder", "spellcheck", "autocomplete", "minlength", "maxlength", "disabled", "rows", "value", "aria-invalid", "aria-describedby"];
|
|
1530
1530
|
const _hoisted_4$h = ["id"];
|
|
1531
|
-
const _sfc_main$
|
|
1531
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
1532
1532
|
...{ name: "TaoTextarea" },
|
|
1533
1533
|
__name: "TaoTextarea",
|
|
1534
1534
|
props: {
|
|
@@ -1625,7 +1625,7 @@
|
|
|
1625
1625
|
vue.nextTick(autoResize);
|
|
1626
1626
|
});
|
|
1627
1627
|
return (_ctx, _cache) => {
|
|
1628
|
-
return __props.dummy ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$
|
|
1628
|
+
return __props.dummy ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$r, vue.toDisplayString(__props.modelValue), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$o, [
|
|
1629
1629
|
vue.createElementVNode("textarea", {
|
|
1630
1630
|
id: controlId.value,
|
|
1631
1631
|
ref_key: "textareaRef",
|
|
@@ -1654,7 +1654,7 @@
|
|
|
1654
1654
|
onFocus,
|
|
1655
1655
|
onBlur,
|
|
1656
1656
|
onKeydown
|
|
1657
|
-
}, null, 42, _hoisted_3$
|
|
1657
|
+
}, null, 42, _hoisted_3$j),
|
|
1658
1658
|
__props.count ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
1659
1659
|
key: 0,
|
|
1660
1660
|
id: counterId.value,
|
|
@@ -1664,11 +1664,11 @@
|
|
|
1664
1664
|
};
|
|
1665
1665
|
}
|
|
1666
1666
|
});
|
|
1667
|
-
const TaoTextarea = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1668
|
-
const _hoisted_1$
|
|
1669
|
-
const _hoisted_2$
|
|
1667
|
+
const TaoTextarea = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-2534c0c4"]]);
|
|
1668
|
+
const _hoisted_1$q = ["tabindex"];
|
|
1669
|
+
const _hoisted_2$n = { class: "tao-scroll-top__content" };
|
|
1670
1670
|
const RIPPLE_DURATION = 750;
|
|
1671
|
-
const _sfc_main$
|
|
1671
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
1672
1672
|
...{ name: "TaoScrollTop" },
|
|
1673
1673
|
__name: "TaoScrollTop",
|
|
1674
1674
|
props: {
|
|
@@ -1768,7 +1768,7 @@
|
|
|
1768
1768
|
"aria-label": "Наверх",
|
|
1769
1769
|
onClick: vue.withModifiers(onClick, ["prevent"])
|
|
1770
1770
|
}, [
|
|
1771
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
1771
|
+
vue.createElementVNode("div", _hoisted_2$n, [
|
|
1772
1772
|
vue.createElementVNode("div", {
|
|
1773
1773
|
class: vue.normalizeClass([{ "tao-scroll-top__ripple--active": isRippleActive.value }, "tao-scroll-top__ripple"]),
|
|
1774
1774
|
style: vue.normalizeStyle(rippleStyle)
|
|
@@ -1785,20 +1785,20 @@
|
|
|
1785
1785
|
], -1))
|
|
1786
1786
|
], true)
|
|
1787
1787
|
])
|
|
1788
|
-
], 14, _hoisted_1$
|
|
1788
|
+
], 14, _hoisted_1$q)) : vue.createCommentVNode("", true)
|
|
1789
1789
|
]),
|
|
1790
1790
|
_: 3
|
|
1791
1791
|
});
|
|
1792
1792
|
};
|
|
1793
1793
|
}
|
|
1794
1794
|
});
|
|
1795
|
-
const TaoScrollTop = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1796
|
-
const _hoisted_1$
|
|
1797
|
-
const _hoisted_2$
|
|
1795
|
+
const TaoScrollTop = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-ce902f42"]]);
|
|
1796
|
+
const _hoisted_1$p = { class: "tao-progress" };
|
|
1797
|
+
const _hoisted_2$m = {
|
|
1798
1798
|
key: 0,
|
|
1799
1799
|
class: "tao-progress__side"
|
|
1800
1800
|
};
|
|
1801
|
-
const _hoisted_3$
|
|
1801
|
+
const _hoisted_3$i = { class: "tao-progress__main" };
|
|
1802
1802
|
const _hoisted_4$g = {
|
|
1803
1803
|
key: 0,
|
|
1804
1804
|
class: "tao-progress__percentage"
|
|
@@ -1811,7 +1811,7 @@
|
|
|
1811
1811
|
key: 0,
|
|
1812
1812
|
class: "tao-progress__percentage"
|
|
1813
1813
|
};
|
|
1814
|
-
const _sfc_main$
|
|
1814
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
1815
1815
|
...{ name: "TaoProgress" },
|
|
1816
1816
|
__name: "TaoProgress",
|
|
1817
1817
|
props: {
|
|
@@ -1842,15 +1842,15 @@
|
|
|
1842
1842
|
() => hasRight.value ? `(${props.progress}%)` : `${props.progress}%`
|
|
1843
1843
|
);
|
|
1844
1844
|
return (_ctx, _cache) => {
|
|
1845
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1845
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
|
|
1846
1846
|
vue.createElementVNode("div", {
|
|
1847
1847
|
class: vue.normalizeClass(["tao-progress__container", { "tao-progress__container--over": showOverPercent.value }]),
|
|
1848
1848
|
style: vue.normalizeStyle({ minWidth: `${minW.value}px`, maxWidth: `${maxW.value}px` })
|
|
1849
1849
|
}, [
|
|
1850
|
-
_ctx.$slots.left ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
1850
|
+
_ctx.$slots.left ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$m, [
|
|
1851
1851
|
vue.renderSlot(_ctx.$slots, "left", {}, void 0, true)
|
|
1852
1852
|
])) : vue.createCommentVNode("", true),
|
|
1853
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
1853
|
+
vue.createElementVNode("div", _hoisted_3$i, [
|
|
1854
1854
|
showOverPercent.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$g, vue.toDisplayString(__props.progress) + "%", 1)) : vue.createCommentVNode("", true),
|
|
1855
1855
|
vue.createElementVNode("div", {
|
|
1856
1856
|
class: "tao-progress__track",
|
|
@@ -1871,14 +1871,14 @@
|
|
|
1871
1871
|
};
|
|
1872
1872
|
}
|
|
1873
1873
|
});
|
|
1874
|
-
const TaoProgress = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1875
|
-
const _hoisted_1$
|
|
1876
|
-
const _hoisted_2$
|
|
1877
|
-
const _hoisted_3$
|
|
1874
|
+
const TaoProgress = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-54c13718"]]);
|
|
1875
|
+
const _hoisted_1$o = ["id", "tabindex", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-disabled", "aria-describedby"];
|
|
1876
|
+
const _hoisted_2$l = ["placeholder"];
|
|
1877
|
+
const _hoisted_3$h = {
|
|
1878
1878
|
key: 1,
|
|
1879
1879
|
class: "tao-slider__value"
|
|
1880
1880
|
};
|
|
1881
|
-
const _sfc_main$
|
|
1881
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
1882
1882
|
...{ name: "TaoSlider" },
|
|
1883
1883
|
__name: "TaoSlider",
|
|
1884
1884
|
props: {
|
|
@@ -2072,21 +2072,21 @@
|
|
|
2072
2072
|
onKeydown: onShadowKeydown,
|
|
2073
2073
|
onMousedown: _cache[1] || (_cache[1] = vue.withModifiers(() => {
|
|
2074
2074
|
}, ["stop"]))
|
|
2075
|
-
}, null, 40, _hoisted_2$
|
|
2075
|
+
}, null, 40, _hoisted_2$l)), [
|
|
2076
2076
|
[vue.vModelText, shadowModel.value]
|
|
2077
|
-
]) : __props.showValue ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
2077
|
+
]) : __props.showValue ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$h, [
|
|
2078
2078
|
vue.renderSlot(_ctx.$slots, "pre-value", {}, void 0, true),
|
|
2079
2079
|
vue.createTextVNode(vue.toDisplayString(__props.modelValue), 1),
|
|
2080
2080
|
vue.renderSlot(_ctx.$slots, "post-value", {}, void 0, true)
|
|
2081
2081
|
])) : vue.createCommentVNode("", true)
|
|
2082
|
-
], 42, _hoisted_1$
|
|
2082
|
+
], 42, _hoisted_1$o);
|
|
2083
2083
|
};
|
|
2084
2084
|
}
|
|
2085
2085
|
});
|
|
2086
|
-
const TaoSlider = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2087
|
-
const _hoisted_1$
|
|
2088
|
-
const _hoisted_2$
|
|
2089
|
-
const _sfc_main$
|
|
2086
|
+
const TaoSlider = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-241d1042"]]);
|
|
2087
|
+
const _hoisted_1$n = { class: "tao-file-drop" };
|
|
2088
|
+
const _hoisted_2$k = ["accept", "multiple"];
|
|
2089
|
+
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
2090
2090
|
...{ name: "TaoFileDrop" },
|
|
2091
2091
|
__name: "TaoFileDrop",
|
|
2092
2092
|
props: {
|
|
@@ -2139,7 +2139,7 @@
|
|
|
2139
2139
|
}
|
|
2140
2140
|
}
|
|
2141
2141
|
return (_ctx, _cache) => {
|
|
2142
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
2142
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
|
|
2143
2143
|
__props.showClear && __props.modelValue.length ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
2144
2144
|
key: 0,
|
|
2145
2145
|
type: "button",
|
|
@@ -2166,21 +2166,21 @@
|
|
|
2166
2166
|
onChange: handleFileSelect,
|
|
2167
2167
|
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
2168
2168
|
}, ["stop"]))
|
|
2169
|
-
}, null, 40, _hoisted_2$
|
|
2169
|
+
}, null, 40, _hoisted_2$k)
|
|
2170
2170
|
], 34)
|
|
2171
2171
|
]);
|
|
2172
2172
|
};
|
|
2173
2173
|
}
|
|
2174
2174
|
});
|
|
2175
|
-
const TaoFileDrop = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2176
|
-
const _hoisted_1$
|
|
2177
|
-
const _hoisted_2$
|
|
2175
|
+
const TaoFileDrop = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-3543419a"]]);
|
|
2176
|
+
const _hoisted_1$m = ["aria-expanded"];
|
|
2177
|
+
const _hoisted_2$j = {
|
|
2178
2178
|
key: 1,
|
|
2179
2179
|
"aria-label": "Меню"
|
|
2180
2180
|
};
|
|
2181
|
-
const _hoisted_3$
|
|
2181
|
+
const _hoisted_3$g = ["onClick", "onMouseenter"];
|
|
2182
2182
|
const _hoisted_4$f = { key: 1 };
|
|
2183
|
-
const _sfc_main$
|
|
2183
|
+
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
2184
2184
|
...{ name: "TaoDropdownMenu" },
|
|
2185
2185
|
__name: "TaoDropdownMenu",
|
|
2186
2186
|
props: {
|
|
@@ -2315,8 +2315,8 @@
|
|
|
2315
2315
|
"aria-expanded": isOpen.value,
|
|
2316
2316
|
onClick: toggleMenu
|
|
2317
2317
|
}, [
|
|
2318
|
-
_ctx.$slots.button ? vue.renderSlot(_ctx.$slots, "button", {}, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
2319
|
-
], 8, _hoisted_1$
|
|
2318
|
+
_ctx.$slots.button ? vue.renderSlot(_ctx.$slots, "button", {}, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$j, "⋮"))
|
|
2319
|
+
], 8, _hoisted_1$m),
|
|
2320
2320
|
(vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
2321
2321
|
isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2322
2322
|
key: 0,
|
|
@@ -2342,7 +2342,7 @@
|
|
|
2342
2342
|
ico: action.ico,
|
|
2343
2343
|
text: action.name
|
|
2344
2344
|
}, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$f, vue.toDisplayString(action.name), 1))
|
|
2345
|
-
], 42, _hoisted_3$
|
|
2345
|
+
], 42, _hoisted_3$g);
|
|
2346
2346
|
}), 128))
|
|
2347
2347
|
], 36)) : vue.createCommentVNode("", true)
|
|
2348
2348
|
]))
|
|
@@ -2350,10 +2350,10 @@
|
|
|
2350
2350
|
};
|
|
2351
2351
|
}
|
|
2352
2352
|
});
|
|
2353
|
-
const TaoDropdownMenu = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2354
|
-
const _hoisted_1$
|
|
2355
|
-
const _hoisted_2$
|
|
2356
|
-
const _sfc_main$
|
|
2353
|
+
const TaoDropdownMenu = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-420a7e63"]]);
|
|
2354
|
+
const _hoisted_1$l = ["aria-invalid", "aria-describedby"];
|
|
2355
|
+
const _hoisted_2$i = ["id", "value", "placeholder", "type", "inputmode", "pattern", "onInput", "onKeydown", "onFocus"];
|
|
2356
|
+
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
2357
2357
|
...{ name: "TaoPinCode" },
|
|
2358
2358
|
__name: "TaoPinCode",
|
|
2359
2359
|
props: {
|
|
@@ -2520,14 +2520,14 @@
|
|
|
2520
2520
|
onKeydown: ($event) => onKeydown($event, index),
|
|
2521
2521
|
onFocus: ($event) => onFocus(index),
|
|
2522
2522
|
onBlur
|
|
2523
|
-
}, null, 42, _hoisted_2$
|
|
2523
|
+
}, null, 42, _hoisted_2$i);
|
|
2524
2524
|
}), 128))
|
|
2525
|
-
], 8, _hoisted_1$
|
|
2525
|
+
], 8, _hoisted_1$l);
|
|
2526
2526
|
};
|
|
2527
2527
|
}
|
|
2528
2528
|
});
|
|
2529
|
-
const TaoPinCode = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2530
|
-
const _sfc_main$
|
|
2529
|
+
const TaoPinCode = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-c3182673"]]);
|
|
2530
|
+
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
2531
2531
|
...{ name: "TaoLink" },
|
|
2532
2532
|
__name: "TaoLink",
|
|
2533
2533
|
props: {
|
|
@@ -2569,8 +2569,8 @@
|
|
|
2569
2569
|
};
|
|
2570
2570
|
}
|
|
2571
2571
|
});
|
|
2572
|
-
const _hoisted_1$
|
|
2573
|
-
const _sfc_main$
|
|
2572
|
+
const _hoisted_1$k = ["for"];
|
|
2573
|
+
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
2574
2574
|
...{ name: "TaoFormField" },
|
|
2575
2575
|
__name: "TaoFormField",
|
|
2576
2576
|
props: {
|
|
@@ -2606,7 +2606,7 @@
|
|
|
2606
2606
|
key: 0,
|
|
2607
2607
|
class: "tao-form-field__label",
|
|
2608
2608
|
for: vue.unref(id)
|
|
2609
|
-
}, vue.toDisplayString(__props.label), 9, _hoisted_1$
|
|
2609
|
+
}, vue.toDisplayString(__props.label), 9, _hoisted_1$k)) : vue.createCommentVNode("", true),
|
|
2610
2610
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
|
|
2611
2611
|
__props.error ? (vue.openBlock(), vue.createElementBlock("p", {
|
|
2612
2612
|
key: 1,
|
|
@@ -2621,12 +2621,12 @@
|
|
|
2621
2621
|
};
|
|
2622
2622
|
}
|
|
2623
2623
|
});
|
|
2624
|
-
const TaoFormField = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2625
|
-
const _hoisted_1$
|
|
2626
|
-
const _hoisted_2$
|
|
2627
|
-
const _hoisted_3$
|
|
2624
|
+
const TaoFormField = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-11324f0c"]]);
|
|
2625
|
+
const _hoisted_1$j = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
|
|
2626
|
+
const _hoisted_2$h = { class: "tao-select__value" };
|
|
2627
|
+
const _hoisted_3$f = ["aria-activedescendant"];
|
|
2628
2628
|
const _hoisted_4$e = ["id", "aria-selected", "aria-disabled", "data-tao-select-index", "onClick", "onMouseenter"];
|
|
2629
|
-
const _sfc_main$
|
|
2629
|
+
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
2630
2630
|
...{ name: "TaoSelect" },
|
|
2631
2631
|
__name: "TaoSelect",
|
|
2632
2632
|
props: {
|
|
@@ -2839,12 +2839,12 @@
|
|
|
2839
2839
|
onClick: toggle,
|
|
2840
2840
|
onKeydown: onTriggerKeydown
|
|
2841
2841
|
}, [
|
|
2842
|
-
vue.createElementVNode("span", _hoisted_2$
|
|
2842
|
+
vue.createElementVNode("span", _hoisted_2$h, vue.toDisplayString(((_a = selected.value) == null ? void 0 : _a.label) ?? __props.placeholder), 1),
|
|
2843
2843
|
_cache[2] || (_cache[2] = vue.createElementVNode("span", {
|
|
2844
2844
|
class: "tao-select__chevron",
|
|
2845
2845
|
"aria-hidden": "true"
|
|
2846
2846
|
}, null, -1))
|
|
2847
|
-
], 42, _hoisted_1$
|
|
2847
|
+
], 42, _hoisted_1$j),
|
|
2848
2848
|
(vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
2849
2849
|
open.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2850
2850
|
key: 0,
|
|
@@ -2882,7 +2882,7 @@
|
|
|
2882
2882
|
onMouseenter: ($event) => !option.disabled && (activeIndex.value = index)
|
|
2883
2883
|
}, vue.toDisplayString(option.label), 43, _hoisted_4$e);
|
|
2884
2884
|
}), 128))
|
|
2885
|
-
], 40, _hoisted_3$
|
|
2885
|
+
], 40, _hoisted_3$f),
|
|
2886
2886
|
selected.value ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
2887
2887
|
key: 0,
|
|
2888
2888
|
type: "button",
|
|
@@ -2897,7 +2897,475 @@
|
|
|
2897
2897
|
};
|
|
2898
2898
|
}
|
|
2899
2899
|
});
|
|
2900
|
-
const TaoSelect = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2900
|
+
const TaoSelect = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-42551757"]]);
|
|
2901
|
+
const _hoisted_1$i = ["id", "aria-expanded", "aria-activedescendant", "aria-invalid", "aria-describedby", "disabled", "placeholder", "value"];
|
|
2902
|
+
const _hoisted_2$g = {
|
|
2903
|
+
key: 0,
|
|
2904
|
+
class: "tao-combobox__empty"
|
|
2905
|
+
};
|
|
2906
|
+
const _hoisted_3$e = ["id", "aria-selected", "aria-disabled", "data-tao-combobox-index", "onClick", "onMouseenter"];
|
|
2907
|
+
const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
2908
|
+
...{ name: "TaoCombobox" },
|
|
2909
|
+
__name: "TaoCombobox",
|
|
2910
|
+
props: {
|
|
2911
|
+
modelValue: { default: null },
|
|
2912
|
+
options: { default: () => [] },
|
|
2913
|
+
placeholder: { default: "Начните вводить" },
|
|
2914
|
+
disabled: { type: Boolean, default: false },
|
|
2915
|
+
error: { type: Boolean, default: false },
|
|
2916
|
+
allowCreate: { type: Boolean, default: false }
|
|
2917
|
+
},
|
|
2918
|
+
emits: ["update:modelValue", "change", "create"],
|
|
2919
|
+
setup(__props, { emit: __emit }) {
|
|
2920
|
+
const props = __props;
|
|
2921
|
+
const emit = __emit;
|
|
2922
|
+
const field = vue.inject(formFieldKey, null);
|
|
2923
|
+
const localId = vue.useId();
|
|
2924
|
+
const listId = `${localId}-list`;
|
|
2925
|
+
const controlId = vue.computed(() => (field == null ? void 0 : field.id) ?? localId);
|
|
2926
|
+
const invalid = vue.computed(() => props.error || Boolean(field == null ? void 0 : field.invalid.value));
|
|
2927
|
+
const describedBy = vue.computed(() => field == null ? void 0 : field.describedBy.value);
|
|
2928
|
+
const open = vue.ref(false);
|
|
2929
|
+
const focused = vue.ref(false);
|
|
2930
|
+
const picking = vue.ref(false);
|
|
2931
|
+
const skipFocusOpen = vue.ref(false);
|
|
2932
|
+
const query = vue.ref("");
|
|
2933
|
+
const activeIndex = vue.ref(-1);
|
|
2934
|
+
const fieldRef = vue.ref(null);
|
|
2935
|
+
const inputRef = vue.ref(null);
|
|
2936
|
+
const panelRef = vue.ref(null);
|
|
2937
|
+
const listRef = vue.ref(null);
|
|
2938
|
+
const listStyle = vue.ref({ top: "0px", left: "0px", width: "0px" });
|
|
2939
|
+
const selected = vue.computed(() => {
|
|
2940
|
+
const found = props.options.find((option) => option.value === props.modelValue);
|
|
2941
|
+
if (found) {
|
|
2942
|
+
return found;
|
|
2943
|
+
}
|
|
2944
|
+
if (props.modelValue === null || props.modelValue === void 0 || props.modelValue === "") {
|
|
2945
|
+
return null;
|
|
2946
|
+
}
|
|
2947
|
+
return { value: props.modelValue, label: String(props.modelValue) };
|
|
2948
|
+
});
|
|
2949
|
+
const needle = vue.computed(() => query.value.trim().toLowerCase());
|
|
2950
|
+
const filtered = vue.computed(() => {
|
|
2951
|
+
if (!needle.value) {
|
|
2952
|
+
return props.options;
|
|
2953
|
+
}
|
|
2954
|
+
return props.options.filter((option) => option.label.toLowerCase().includes(needle.value));
|
|
2955
|
+
});
|
|
2956
|
+
const canCreate = vue.computed(() => {
|
|
2957
|
+
const text = query.value.trim();
|
|
2958
|
+
if (!props.allowCreate || !text) {
|
|
2959
|
+
return false;
|
|
2960
|
+
}
|
|
2961
|
+
return !props.options.some((option) => option.label.toLowerCase() === text.toLowerCase());
|
|
2962
|
+
});
|
|
2963
|
+
const rows = vue.computed(() => {
|
|
2964
|
+
const next = filtered.value.map((option) => ({ kind: "option", option }));
|
|
2965
|
+
if (canCreate.value) {
|
|
2966
|
+
next.push({ kind: "create", text: query.value.trim() });
|
|
2967
|
+
}
|
|
2968
|
+
return next;
|
|
2969
|
+
});
|
|
2970
|
+
const enabledIndexes = vue.computed(
|
|
2971
|
+
() => rows.value.map((row, index) => row.kind === "option" && row.option.disabled ? -1 : index).filter((index) => index >= 0)
|
|
2972
|
+
);
|
|
2973
|
+
const activeId = vue.computed(() => activeIndex.value >= 0 ? `${listId}-row-${activeIndex.value}` : void 0);
|
|
2974
|
+
function syncQueryFromModel() {
|
|
2975
|
+
var _a;
|
|
2976
|
+
query.value = ((_a = selected.value) == null ? void 0 : _a.label) ?? "";
|
|
2977
|
+
}
|
|
2978
|
+
function updatePosition() {
|
|
2979
|
+
const trigger = fieldRef.value;
|
|
2980
|
+
const panel = panelRef.value;
|
|
2981
|
+
if (!trigger || !panel) {
|
|
2982
|
+
return;
|
|
2983
|
+
}
|
|
2984
|
+
const rect = trigger.getBoundingClientRect();
|
|
2985
|
+
const panelHeight = panel.offsetHeight;
|
|
2986
|
+
const gap = 4;
|
|
2987
|
+
const spaceBelow = window.innerHeight - rect.bottom - gap;
|
|
2988
|
+
const openUp = spaceBelow < panelHeight && rect.top > spaceBelow;
|
|
2989
|
+
listStyle.value = {
|
|
2990
|
+
top: `${openUp ? rect.top - panelHeight - gap : rect.bottom + gap}px`,
|
|
2991
|
+
left: `${rect.left}px`,
|
|
2992
|
+
width: `${rect.width}px`
|
|
2993
|
+
};
|
|
2994
|
+
}
|
|
2995
|
+
function resetActive() {
|
|
2996
|
+
const selectedIndex = rows.value.findIndex(
|
|
2997
|
+
(row) => row.kind === "option" && row.option.value === props.modelValue
|
|
2998
|
+
);
|
|
2999
|
+
if (selectedIndex >= 0 && enabledIndexes.value.includes(selectedIndex)) {
|
|
3000
|
+
activeIndex.value = selectedIndex;
|
|
3001
|
+
return;
|
|
3002
|
+
}
|
|
3003
|
+
activeIndex.value = enabledIndexes.value[0] ?? -1;
|
|
3004
|
+
}
|
|
3005
|
+
async function setOpen(next) {
|
|
3006
|
+
if (props.disabled) {
|
|
3007
|
+
return;
|
|
3008
|
+
}
|
|
3009
|
+
open.value = next;
|
|
3010
|
+
resetActive();
|
|
3011
|
+
await vue.nextTick();
|
|
3012
|
+
updatePosition();
|
|
3013
|
+
scrollActiveIntoView();
|
|
3014
|
+
}
|
|
3015
|
+
function emitValue(value) {
|
|
3016
|
+
emit("update:modelValue", value);
|
|
3017
|
+
emit("change", value);
|
|
3018
|
+
}
|
|
3019
|
+
function keepFocusQuiet() {
|
|
3020
|
+
var _a;
|
|
3021
|
+
skipFocusOpen.value = true;
|
|
3022
|
+
picking.value = false;
|
|
3023
|
+
(_a = inputRef.value) == null ? void 0 : _a.focus();
|
|
3024
|
+
}
|
|
3025
|
+
function commitCreated(value) {
|
|
3026
|
+
emitValue(value);
|
|
3027
|
+
emit("create", value);
|
|
3028
|
+
query.value = value;
|
|
3029
|
+
open.value = false;
|
|
3030
|
+
keepFocusQuiet();
|
|
3031
|
+
}
|
|
3032
|
+
function selectOption(option) {
|
|
3033
|
+
if (option.disabled) {
|
|
3034
|
+
return;
|
|
3035
|
+
}
|
|
3036
|
+
emitValue(option.value);
|
|
3037
|
+
query.value = option.label;
|
|
3038
|
+
open.value = false;
|
|
3039
|
+
keepFocusQuiet();
|
|
3040
|
+
}
|
|
3041
|
+
function createFromQuery(text) {
|
|
3042
|
+
const value = text.trim();
|
|
3043
|
+
if (!value) {
|
|
3044
|
+
return;
|
|
3045
|
+
}
|
|
3046
|
+
const exact = props.options.find(
|
|
3047
|
+
(option) => !option.disabled && option.label.toLowerCase() === value.toLowerCase()
|
|
3048
|
+
);
|
|
3049
|
+
if (exact) {
|
|
3050
|
+
selectOption(exact);
|
|
3051
|
+
return;
|
|
3052
|
+
}
|
|
3053
|
+
if (!props.allowCreate) {
|
|
3054
|
+
return;
|
|
3055
|
+
}
|
|
3056
|
+
commitCreated(value);
|
|
3057
|
+
}
|
|
3058
|
+
function revertQuery() {
|
|
3059
|
+
syncQueryFromModel();
|
|
3060
|
+
}
|
|
3061
|
+
function closeAndRevert() {
|
|
3062
|
+
open.value = false;
|
|
3063
|
+
revertQuery();
|
|
3064
|
+
}
|
|
3065
|
+
function closeAndCommit() {
|
|
3066
|
+
open.value = false;
|
|
3067
|
+
const text = query.value.trim();
|
|
3068
|
+
if (!text) {
|
|
3069
|
+
revertQuery();
|
|
3070
|
+
return;
|
|
3071
|
+
}
|
|
3072
|
+
const exact = props.options.find(
|
|
3073
|
+
(option) => !option.disabled && option.label.toLowerCase() === text.toLowerCase()
|
|
3074
|
+
);
|
|
3075
|
+
if (exact) {
|
|
3076
|
+
emitValue(exact.value);
|
|
3077
|
+
query.value = exact.label;
|
|
3078
|
+
return;
|
|
3079
|
+
}
|
|
3080
|
+
if (props.allowCreate) {
|
|
3081
|
+
emitValue(text);
|
|
3082
|
+
emit("create", text);
|
|
3083
|
+
query.value = text;
|
|
3084
|
+
return;
|
|
3085
|
+
}
|
|
3086
|
+
revertQuery();
|
|
3087
|
+
}
|
|
3088
|
+
function moveActive(delta) {
|
|
3089
|
+
const enabled = enabledIndexes.value;
|
|
3090
|
+
if (!enabled.length) {
|
|
3091
|
+
return;
|
|
3092
|
+
}
|
|
3093
|
+
const currentPos = enabled.indexOf(activeIndex.value);
|
|
3094
|
+
const nextPos = currentPos < 0 ? 0 : (currentPos + delta + enabled.length) % enabled.length;
|
|
3095
|
+
activeIndex.value = enabled[nextPos];
|
|
3096
|
+
scrollActiveIntoView();
|
|
3097
|
+
}
|
|
3098
|
+
function scrollActiveIntoView() {
|
|
3099
|
+
const list = listRef.value;
|
|
3100
|
+
if (!list || activeIndex.value < 0) {
|
|
3101
|
+
return;
|
|
3102
|
+
}
|
|
3103
|
+
const option = list.querySelector(`[data-tao-combobox-index="${activeIndex.value}"]`);
|
|
3104
|
+
option == null ? void 0 : option.scrollIntoView({ block: "nearest" });
|
|
3105
|
+
}
|
|
3106
|
+
function onFieldMouseDown(event) {
|
|
3107
|
+
var _a;
|
|
3108
|
+
if (props.disabled || event.button !== 0) {
|
|
3109
|
+
return;
|
|
3110
|
+
}
|
|
3111
|
+
const onInput2 = event.target === inputRef.value;
|
|
3112
|
+
if (onInput2) {
|
|
3113
|
+
if (focused.value && !open.value) {
|
|
3114
|
+
void setOpen(true);
|
|
3115
|
+
}
|
|
3116
|
+
return;
|
|
3117
|
+
}
|
|
3118
|
+
event.preventDefault();
|
|
3119
|
+
if (open.value) {
|
|
3120
|
+
open.value = false;
|
|
3121
|
+
return;
|
|
3122
|
+
}
|
|
3123
|
+
(_a = inputRef.value) == null ? void 0 : _a.focus();
|
|
3124
|
+
void setOpen(true);
|
|
3125
|
+
}
|
|
3126
|
+
function onInput() {
|
|
3127
|
+
if (props.disabled) {
|
|
3128
|
+
return;
|
|
3129
|
+
}
|
|
3130
|
+
void setOpen(true);
|
|
3131
|
+
resetActive();
|
|
3132
|
+
}
|
|
3133
|
+
function onFocus() {
|
|
3134
|
+
if (props.disabled) {
|
|
3135
|
+
return;
|
|
3136
|
+
}
|
|
3137
|
+
focused.value = true;
|
|
3138
|
+
if (skipFocusOpen.value) {
|
|
3139
|
+
skipFocusOpen.value = false;
|
|
3140
|
+
return;
|
|
3141
|
+
}
|
|
3142
|
+
void setOpen(true);
|
|
3143
|
+
vue.nextTick(() => {
|
|
3144
|
+
var _a;
|
|
3145
|
+
return (_a = inputRef.value) == null ? void 0 : _a.select();
|
|
3146
|
+
});
|
|
3147
|
+
}
|
|
3148
|
+
function markPicking() {
|
|
3149
|
+
picking.value = true;
|
|
3150
|
+
}
|
|
3151
|
+
function onBlur() {
|
|
3152
|
+
focused.value = false;
|
|
3153
|
+
window.setTimeout(() => {
|
|
3154
|
+
var _a, _b;
|
|
3155
|
+
if (picking.value) {
|
|
3156
|
+
picking.value = false;
|
|
3157
|
+
return;
|
|
3158
|
+
}
|
|
3159
|
+
if (((_a = fieldRef.value) == null ? void 0 : _a.contains(document.activeElement)) || ((_b = panelRef.value) == null ? void 0 : _b.contains(document.activeElement))) {
|
|
3160
|
+
return;
|
|
3161
|
+
}
|
|
3162
|
+
if (props.allowCreate) {
|
|
3163
|
+
closeAndCommit();
|
|
3164
|
+
return;
|
|
3165
|
+
}
|
|
3166
|
+
closeAndRevert();
|
|
3167
|
+
}, 0);
|
|
3168
|
+
}
|
|
3169
|
+
function activateRow(row) {
|
|
3170
|
+
if (row.kind === "create") {
|
|
3171
|
+
createFromQuery(row.text);
|
|
3172
|
+
return;
|
|
3173
|
+
}
|
|
3174
|
+
selectOption(row.option);
|
|
3175
|
+
}
|
|
3176
|
+
function onInputKeydown(event) {
|
|
3177
|
+
if (props.disabled) {
|
|
3178
|
+
return;
|
|
3179
|
+
}
|
|
3180
|
+
if (event.key === "Escape") {
|
|
3181
|
+
event.preventDefault();
|
|
3182
|
+
closeAndRevert();
|
|
3183
|
+
return;
|
|
3184
|
+
}
|
|
3185
|
+
if (event.key === "ArrowDown") {
|
|
3186
|
+
event.preventDefault();
|
|
3187
|
+
if (!open.value) {
|
|
3188
|
+
void setOpen(true);
|
|
3189
|
+
return;
|
|
3190
|
+
}
|
|
3191
|
+
moveActive(1);
|
|
3192
|
+
return;
|
|
3193
|
+
}
|
|
3194
|
+
if (event.key === "ArrowUp") {
|
|
3195
|
+
event.preventDefault();
|
|
3196
|
+
if (!open.value) {
|
|
3197
|
+
void setOpen(true);
|
|
3198
|
+
return;
|
|
3199
|
+
}
|
|
3200
|
+
moveActive(-1);
|
|
3201
|
+
return;
|
|
3202
|
+
}
|
|
3203
|
+
if (event.key === "Enter") {
|
|
3204
|
+
event.preventDefault();
|
|
3205
|
+
if (!open.value) {
|
|
3206
|
+
void setOpen(true);
|
|
3207
|
+
return;
|
|
3208
|
+
}
|
|
3209
|
+
const row = rows.value[activeIndex.value];
|
|
3210
|
+
if (row) {
|
|
3211
|
+
activateRow(row);
|
|
3212
|
+
return;
|
|
3213
|
+
}
|
|
3214
|
+
if (props.allowCreate) {
|
|
3215
|
+
createFromQuery(query.value);
|
|
3216
|
+
}
|
|
3217
|
+
}
|
|
3218
|
+
}
|
|
3219
|
+
function onDocumentPointer(event) {
|
|
3220
|
+
var _a, _b;
|
|
3221
|
+
const target = event.target;
|
|
3222
|
+
if (((_a = fieldRef.value) == null ? void 0 : _a.contains(target)) || ((_b = panelRef.value) == null ? void 0 : _b.contains(target))) {
|
|
3223
|
+
return;
|
|
3224
|
+
}
|
|
3225
|
+
if (props.allowCreate) {
|
|
3226
|
+
closeAndCommit();
|
|
3227
|
+
return;
|
|
3228
|
+
}
|
|
3229
|
+
closeAndRevert();
|
|
3230
|
+
}
|
|
3231
|
+
function onViewportChange() {
|
|
3232
|
+
if (open.value) {
|
|
3233
|
+
updatePosition();
|
|
3234
|
+
}
|
|
3235
|
+
}
|
|
3236
|
+
vue.watch(
|
|
3237
|
+
() => props.modelValue,
|
|
3238
|
+
() => {
|
|
3239
|
+
if (!focused.value) {
|
|
3240
|
+
syncQueryFromModel();
|
|
3241
|
+
}
|
|
3242
|
+
},
|
|
3243
|
+
{ immediate: true }
|
|
3244
|
+
);
|
|
3245
|
+
vue.watch(rows, () => {
|
|
3246
|
+
if (!open.value) {
|
|
3247
|
+
return;
|
|
3248
|
+
}
|
|
3249
|
+
if (!enabledIndexes.value.includes(activeIndex.value)) {
|
|
3250
|
+
activeIndex.value = enabledIndexes.value[0] ?? -1;
|
|
3251
|
+
}
|
|
3252
|
+
});
|
|
3253
|
+
vue.watch(open, (isOpen) => {
|
|
3254
|
+
if (isOpen) {
|
|
3255
|
+
document.addEventListener("pointerdown", onDocumentPointer);
|
|
3256
|
+
window.addEventListener("resize", onViewportChange);
|
|
3257
|
+
window.addEventListener("scroll", onViewportChange, true);
|
|
3258
|
+
return;
|
|
3259
|
+
}
|
|
3260
|
+
document.removeEventListener("pointerdown", onDocumentPointer);
|
|
3261
|
+
window.removeEventListener("resize", onViewportChange);
|
|
3262
|
+
window.removeEventListener("scroll", onViewportChange, true);
|
|
3263
|
+
});
|
|
3264
|
+
vue.onBeforeUnmount(() => {
|
|
3265
|
+
document.removeEventListener("pointerdown", onDocumentPointer);
|
|
3266
|
+
window.removeEventListener("resize", onViewportChange);
|
|
3267
|
+
window.removeEventListener("scroll", onViewportChange, true);
|
|
3268
|
+
});
|
|
3269
|
+
return (_ctx, _cache) => {
|
|
3270
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
3271
|
+
class: vue.normalizeClass(["tao-combobox", {
|
|
3272
|
+
"tao-combobox--open": open.value,
|
|
3273
|
+
"tao-combobox--invalid": invalid.value,
|
|
3274
|
+
"tao-combobox--disabled": __props.disabled
|
|
3275
|
+
}])
|
|
3276
|
+
}, [
|
|
3277
|
+
vue.createElementVNode("div", {
|
|
3278
|
+
ref_key: "fieldRef",
|
|
3279
|
+
ref: fieldRef,
|
|
3280
|
+
class: "tao-combobox__field",
|
|
3281
|
+
onMousedown: onFieldMouseDown
|
|
3282
|
+
}, [
|
|
3283
|
+
vue.createElementVNode("input", {
|
|
3284
|
+
id: controlId.value,
|
|
3285
|
+
ref_key: "inputRef",
|
|
3286
|
+
ref: inputRef,
|
|
3287
|
+
class: "tao-combobox__input",
|
|
3288
|
+
type: "text",
|
|
3289
|
+
role: "combobox",
|
|
3290
|
+
autocomplete: "off",
|
|
3291
|
+
"aria-autocomplete": "list",
|
|
3292
|
+
"aria-haspopup": "listbox",
|
|
3293
|
+
"aria-expanded": open.value,
|
|
3294
|
+
"aria-controls": listId,
|
|
3295
|
+
"aria-activedescendant": open.value ? activeId.value : void 0,
|
|
3296
|
+
"aria-invalid": invalid.value || void 0,
|
|
3297
|
+
"aria-describedby": describedBy.value,
|
|
3298
|
+
disabled: __props.disabled,
|
|
3299
|
+
placeholder: __props.placeholder,
|
|
3300
|
+
value: query.value,
|
|
3301
|
+
onInput: _cache[0] || (_cache[0] = ($event) => {
|
|
3302
|
+
query.value = $event.target.value;
|
|
3303
|
+
onInput();
|
|
3304
|
+
}),
|
|
3305
|
+
onFocus,
|
|
3306
|
+
onBlur,
|
|
3307
|
+
onKeydown: onInputKeydown
|
|
3308
|
+
}, null, 40, _hoisted_1$i),
|
|
3309
|
+
_cache[1] || (_cache[1] = vue.createElementVNode("span", {
|
|
3310
|
+
class: "tao-combobox__chevron",
|
|
3311
|
+
"aria-hidden": "true"
|
|
3312
|
+
}, null, -1))
|
|
3313
|
+
], 544),
|
|
3314
|
+
(vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
3315
|
+
open.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3316
|
+
key: 0,
|
|
3317
|
+
ref_key: "panelRef",
|
|
3318
|
+
ref: panelRef,
|
|
3319
|
+
class: "tao-combobox__panel",
|
|
3320
|
+
style: vue.normalizeStyle(listStyle.value)
|
|
3321
|
+
}, [
|
|
3322
|
+
vue.createElementVNode("ul", {
|
|
3323
|
+
id: listId,
|
|
3324
|
+
ref_key: "listRef",
|
|
3325
|
+
ref: listRef,
|
|
3326
|
+
class: "tao-combobox__list",
|
|
3327
|
+
role: "listbox"
|
|
3328
|
+
}, [
|
|
3329
|
+
!rows.value.length ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_2$g, "Ничего не найдено")) : vue.createCommentVNode("", true),
|
|
3330
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(rows.value, (row, index) => {
|
|
3331
|
+
return vue.openBlock(), vue.createElementBlock("li", {
|
|
3332
|
+
id: `${listId}-row-${index}`,
|
|
3333
|
+
key: row.kind === "create" ? "create" : String(row.option.value),
|
|
3334
|
+
class: vue.normalizeClass(["tao-combobox__option", {
|
|
3335
|
+
"tao-combobox__option--active": index === activeIndex.value,
|
|
3336
|
+
"tao-combobox__option--selected": row.kind === "option" && row.option.value === __props.modelValue,
|
|
3337
|
+
"tao-combobox__option--disabled": row.kind === "option" && row.option.disabled,
|
|
3338
|
+
"tao-combobox__option--create": row.kind === "create"
|
|
3339
|
+
}]),
|
|
3340
|
+
role: "option",
|
|
3341
|
+
"aria-selected": row.kind === "option" && row.option.value === __props.modelValue,
|
|
3342
|
+
"aria-disabled": row.kind === "option" && row.option.disabled ? true : void 0,
|
|
3343
|
+
"data-tao-combobox-index": index,
|
|
3344
|
+
onMousedown: vue.withModifiers(markPicking, ["prevent"]),
|
|
3345
|
+
onClick: ($event) => activateRow(row),
|
|
3346
|
+
onMouseenter: ($event) => !(row.kind === "option" && row.option.disabled) && (activeIndex.value = index)
|
|
3347
|
+
}, [
|
|
3348
|
+
row.kind === "create" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
3349
|
+
vue.createTextVNode("Добавить «" + vue.toDisplayString(row.text) + "»", 1)
|
|
3350
|
+
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
3351
|
+
vue.createTextVNode(vue.toDisplayString(row.option.label), 1)
|
|
3352
|
+
], 64))
|
|
3353
|
+
], 42, _hoisted_3$e);
|
|
3354
|
+
}), 128))
|
|
3355
|
+
], 512),
|
|
3356
|
+
selected.value ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
3357
|
+
key: 0,
|
|
3358
|
+
type: "button",
|
|
3359
|
+
class: "tao-combobox__clear",
|
|
3360
|
+
onMousedown: vue.withModifiers(markPicking, ["prevent"])
|
|
3361
|
+
}, " Очистить ", 32)) : vue.createCommentVNode("", true)
|
|
3362
|
+
], 4)) : vue.createCommentVNode("", true)
|
|
3363
|
+
]))
|
|
3364
|
+
], 2);
|
|
3365
|
+
};
|
|
3366
|
+
}
|
|
3367
|
+
});
|
|
3368
|
+
const TaoCombobox = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-adeb76a4"]]);
|
|
2901
3369
|
const ISO_DATE = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
2902
3370
|
function formatTaoDateIso(parts) {
|
|
2903
3371
|
return `${String(parts.y).padStart(4, "0")}-${String(parts.m).padStart(2, "0")}-${String(parts.d).padStart(2, "0")}`;
|
|
@@ -4274,7 +4742,7 @@
|
|
|
4274
4742
|
class: "tao-breadcrumb__item"
|
|
4275
4743
|
}, [
|
|
4276
4744
|
index > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$4, "/")) : vue.createCommentVNode("", true),
|
|
4277
|
-
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$
|
|
4745
|
+
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$l, {
|
|
4278
4746
|
key: 2,
|
|
4279
4747
|
class: "tao-breadcrumb__link",
|
|
4280
4748
|
to: item.to
|
|
@@ -4465,7 +4933,7 @@
|
|
|
4465
4933
|
function goNext() {
|
|
4466
4934
|
goTo(index.value + step.value);
|
|
4467
4935
|
}
|
|
4468
|
-
function goTo(next) {
|
|
4936
|
+
function goTo(next, instant = false) {
|
|
4469
4937
|
const el = track.value;
|
|
4470
4938
|
const { width, gap, total } = metrics();
|
|
4471
4939
|
if (!el || width <= 0 || total <= 0) {
|
|
@@ -4487,7 +4955,7 @@
|
|
|
4487
4955
|
}
|
|
4488
4956
|
el.scrollTo({
|
|
4489
4957
|
left: page * (width + gap),
|
|
4490
|
-
behavior: prefersReducedMotion() || dragging.value || wrapping ? "auto" : "smooth"
|
|
4958
|
+
behavior: prefersReducedMotion() || dragging.value || wrapping || instant ? "auto" : "smooth"
|
|
4491
4959
|
});
|
|
4492
4960
|
setIndex(page);
|
|
4493
4961
|
}
|
|
@@ -4545,6 +5013,35 @@
|
|
|
4545
5013
|
setIndex(nearestIndex());
|
|
4546
5014
|
});
|
|
4547
5015
|
}
|
|
5016
|
+
function releaseDragCapture() {
|
|
5017
|
+
const el = track.value;
|
|
5018
|
+
const id = dragPointer;
|
|
5019
|
+
if (!el || id === -1) {
|
|
5020
|
+
return;
|
|
5021
|
+
}
|
|
5022
|
+
if (typeof el.hasPointerCapture === "function" && !el.hasPointerCapture(id)) {
|
|
5023
|
+
return;
|
|
5024
|
+
}
|
|
5025
|
+
try {
|
|
5026
|
+
el.releasePointerCapture(id);
|
|
5027
|
+
} catch {
|
|
5028
|
+
}
|
|
5029
|
+
}
|
|
5030
|
+
function endDrag(keepClickGuard = false) {
|
|
5031
|
+
if (!dragging.value) {
|
|
5032
|
+
return;
|
|
5033
|
+
}
|
|
5034
|
+
dragging.value = false;
|
|
5035
|
+
releaseDragCapture();
|
|
5036
|
+
dragPointer = -1;
|
|
5037
|
+
if (!keepClickGuard) {
|
|
5038
|
+
dragMoved = 0;
|
|
5039
|
+
}
|
|
5040
|
+
if (track.value) {
|
|
5041
|
+
goTo(nearestIndex(), true);
|
|
5042
|
+
}
|
|
5043
|
+
syncAutoplay();
|
|
5044
|
+
}
|
|
4548
5045
|
function onPointerDown(event) {
|
|
4549
5046
|
if (event.pointerType !== "mouse" || event.button !== 0 || !track.value) {
|
|
4550
5047
|
return;
|
|
@@ -4554,7 +5051,10 @@
|
|
|
4554
5051
|
dragStartScroll = track.value.scrollLeft;
|
|
4555
5052
|
dragMoved = 0;
|
|
4556
5053
|
dragging.value = true;
|
|
4557
|
-
|
|
5054
|
+
try {
|
|
5055
|
+
track.value.setPointerCapture(event.pointerId);
|
|
5056
|
+
} catch {
|
|
5057
|
+
}
|
|
4558
5058
|
}
|
|
4559
5059
|
function onPointerMove(event) {
|
|
4560
5060
|
if (!dragging.value || event.pointerId !== dragPointer || !track.value) {
|
|
@@ -4564,13 +5064,25 @@
|
|
|
4564
5064
|
dragMoved = Math.abs(dx);
|
|
4565
5065
|
track.value.scrollLeft = dragStartScroll - dx;
|
|
4566
5066
|
}
|
|
4567
|
-
function
|
|
4568
|
-
if (!dragging.value
|
|
5067
|
+
function onPointerEnd(event) {
|
|
5068
|
+
if (!dragging.value) {
|
|
4569
5069
|
return;
|
|
4570
5070
|
}
|
|
4571
|
-
|
|
4572
|
-
|
|
4573
|
-
|
|
5071
|
+
if (dragPointer !== -1 && event.pointerId !== dragPointer) {
|
|
5072
|
+
return;
|
|
5073
|
+
}
|
|
5074
|
+
endDrag(true);
|
|
5075
|
+
}
|
|
5076
|
+
function onLostPointerCapture() {
|
|
5077
|
+
endDrag();
|
|
5078
|
+
}
|
|
5079
|
+
function onWindowBlur() {
|
|
5080
|
+
endDrag();
|
|
5081
|
+
}
|
|
5082
|
+
function onVisibilityChange() {
|
|
5083
|
+
if (document.hidden) {
|
|
5084
|
+
endDrag();
|
|
5085
|
+
}
|
|
4574
5086
|
syncAutoplay();
|
|
4575
5087
|
}
|
|
4576
5088
|
function onClickCapture(event) {
|
|
@@ -4609,13 +5121,18 @@
|
|
|
4609
5121
|
goTo(props.modelValue);
|
|
4610
5122
|
syncAutoplay();
|
|
4611
5123
|
});
|
|
4612
|
-
document.addEventListener("visibilitychange",
|
|
5124
|
+
document.addEventListener("visibilitychange", onVisibilityChange);
|
|
5125
|
+
window.addEventListener("blur", onWindowBlur);
|
|
5126
|
+
window.addEventListener("pagehide", onWindowBlur);
|
|
4613
5127
|
});
|
|
4614
5128
|
vue.onUpdated(refreshCount);
|
|
4615
5129
|
vue.onBeforeUnmount(() => {
|
|
5130
|
+
endDrag();
|
|
4616
5131
|
cancelAnimationFrame(scrollFrame);
|
|
4617
5132
|
stopAutoplay();
|
|
4618
|
-
document.removeEventListener("visibilitychange",
|
|
5133
|
+
document.removeEventListener("visibilitychange", onVisibilityChange);
|
|
5134
|
+
window.removeEventListener("blur", onWindowBlur);
|
|
5135
|
+
window.removeEventListener("pagehide", onWindowBlur);
|
|
4619
5136
|
});
|
|
4620
5137
|
return (_ctx, _cache) => {
|
|
4621
5138
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -4668,8 +5185,9 @@
|
|
|
4668
5185
|
onKeydown,
|
|
4669
5186
|
onPointerdown: onPointerDown,
|
|
4670
5187
|
onPointermove: onPointerMove,
|
|
4671
|
-
onPointerup:
|
|
4672
|
-
onPointercancel:
|
|
5188
|
+
onPointerup: onPointerEnd,
|
|
5189
|
+
onPointercancel: onPointerEnd,
|
|
5190
|
+
onLostpointercapture: onLostPointerCapture,
|
|
4673
5191
|
onClickCapture
|
|
4674
5192
|
}, [
|
|
4675
5193
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
@@ -4735,7 +5253,7 @@
|
|
|
4735
5253
|
};
|
|
4736
5254
|
}
|
|
4737
5255
|
});
|
|
4738
|
-
const TaoCarousel = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-
|
|
5256
|
+
const TaoCarousel = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-81afb8b0"]]);
|
|
4739
5257
|
const _hoisted_1$3 = ["aria-label"];
|
|
4740
5258
|
const _hoisted_2$2 = ["aria-label"];
|
|
4741
5259
|
const _hoisted_3$2 = {
|
|
@@ -5875,7 +6393,7 @@
|
|
|
5875
6393
|
TaoSpoiler,
|
|
5876
6394
|
TaoCopy,
|
|
5877
6395
|
TaoContainer,
|
|
5878
|
-
_sfc_main$
|
|
6396
|
+
_sfc_main$B,
|
|
5879
6397
|
TaoSpace,
|
|
5880
6398
|
TaoIcon,
|
|
5881
6399
|
TaoLoader,
|
|
@@ -5891,9 +6409,10 @@
|
|
|
5891
6409
|
TaoFileDrop,
|
|
5892
6410
|
TaoDropdownMenu,
|
|
5893
6411
|
TaoPinCode,
|
|
5894
|
-
_sfc_main$
|
|
6412
|
+
_sfc_main$l,
|
|
5895
6413
|
TaoFormField,
|
|
5896
6414
|
TaoSelect,
|
|
6415
|
+
TaoCombobox,
|
|
5897
6416
|
TaoDate,
|
|
5898
6417
|
TaoSwitch,
|
|
5899
6418
|
TaoRadio,
|
|
@@ -5928,6 +6447,7 @@
|
|
|
5928
6447
|
exports2.TaoCard = TaoCard;
|
|
5929
6448
|
exports2.TaoCarousel = TaoCarousel;
|
|
5930
6449
|
exports2.TaoCheckbox = TaoCheckbox;
|
|
6450
|
+
exports2.TaoCombobox = TaoCombobox;
|
|
5931
6451
|
exports2.TaoConfirmHost = TaoConfirmHost;
|
|
5932
6452
|
exports2.TaoContainer = TaoContainer;
|
|
5933
6453
|
exports2.TaoCopy = TaoCopy;
|
|
@@ -5938,14 +6458,14 @@
|
|
|
5938
6458
|
exports2.TaoDropdownMenu = TaoDropdownMenu;
|
|
5939
6459
|
exports2.TaoEmpty = TaoEmpty;
|
|
5940
6460
|
exports2.TaoFileDrop = TaoFileDrop;
|
|
5941
|
-
exports2.TaoFlex = _sfc_main$
|
|
6461
|
+
exports2.TaoFlex = _sfc_main$B;
|
|
5942
6462
|
exports2.TaoFormField = TaoFormField;
|
|
5943
6463
|
exports2.TaoIcon = TaoIcon;
|
|
5944
6464
|
exports2.TaoImage = TaoImage;
|
|
5945
6465
|
exports2.TaoInput = TaoInput;
|
|
5946
6466
|
exports2.TaoInputGroup = TaoInputGroup;
|
|
5947
6467
|
exports2.TaoInputNumber = TaoInputNumber;
|
|
5948
|
-
exports2.TaoLink = _sfc_main$
|
|
6468
|
+
exports2.TaoLink = _sfc_main$l;
|
|
5949
6469
|
exports2.TaoLoader = TaoLoader;
|
|
5950
6470
|
exports2.TaoModal = TaoModal;
|
|
5951
6471
|
exports2.TaoPagination = TaoPagination;
|