@1337exp/taoui 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/README.ru.md +18 -0
- package/dist/index.cjs +1022 -473
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1051 -637
- package/dist/index.mjs +1023 -474
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +400 -286
- package/package.json +1 -1
- package/src/styles/date-popup.css +6 -0
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$N = ["type", "disabled"];
|
|
6
|
+
const _hoisted_2$G = {
|
|
7
7
|
key: 0,
|
|
8
8
|
class: "tao-button__loader"
|
|
9
9
|
};
|
|
10
|
-
const _hoisted_3$
|
|
10
|
+
const _hoisted_3$A = {
|
|
11
11
|
key: 1,
|
|
12
12
|
class: "tao-button__icon"
|
|
13
13
|
};
|
|
14
|
-
const _hoisted_4$
|
|
15
|
-
const _sfc_main$
|
|
14
|
+
const _hoisted_4$u = { class: "tao-button__content" };
|
|
15
|
+
const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
16
16
|
...{ name: "TaoButton" },
|
|
17
17
|
__name: "TaoButton",
|
|
18
18
|
props: {
|
|
@@ -51,12 +51,12 @@
|
|
|
51
51
|
disabled: __props.disabled || __props.loading,
|
|
52
52
|
onClick: handleClick
|
|
53
53
|
}, [
|
|
54
|
-
__props.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
55
|
-
__props.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
56
|
-
vue.createElementVNode("span", _hoisted_4$
|
|
54
|
+
__props.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$G)) : vue.createCommentVNode("", true),
|
|
55
|
+
__props.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$A, vue.toDisplayString(__props.icon), 1)) : vue.createCommentVNode("", true),
|
|
56
|
+
vue.createElementVNode("span", _hoisted_4$u, [
|
|
57
57
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
58
58
|
])
|
|
59
|
-
], 10, _hoisted_1$
|
|
59
|
+
], 10, _hoisted_1$N);
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
});
|
|
@@ -67,8 +67,8 @@
|
|
|
67
67
|
}
|
|
68
68
|
return target;
|
|
69
69
|
};
|
|
70
|
-
const TaoButton = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
71
|
-
const _sfc_main$
|
|
70
|
+
const TaoButton = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["__scopeId", "data-v-c3034f66"]]);
|
|
71
|
+
const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
72
72
|
...{ name: "TaoBlock" },
|
|
73
73
|
__name: "TaoBlock",
|
|
74
74
|
props: {
|
|
@@ -100,24 +100,24 @@
|
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
102
|
});
|
|
103
|
-
const TaoBlock = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
103
|
+
const TaoBlock = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-feb87e36"]]);
|
|
104
104
|
const formFieldKey = Symbol("taoFormField");
|
|
105
|
-
const _hoisted_1$
|
|
106
|
-
const _hoisted_2$
|
|
107
|
-
const _hoisted_3$
|
|
105
|
+
const _hoisted_1$M = { class: "tao-input-wrapper" };
|
|
106
|
+
const _hoisted_2$F = ["for"];
|
|
107
|
+
const _hoisted_3$z = {
|
|
108
108
|
key: 0,
|
|
109
109
|
class: "tao-input__affix tao-input__affix--prefix"
|
|
110
110
|
};
|
|
111
|
-
const _hoisted_4$
|
|
112
|
-
const _hoisted_5$
|
|
111
|
+
const _hoisted_4$t = ["id", "type", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby"];
|
|
112
|
+
const _hoisted_5$m = {
|
|
113
113
|
key: 1,
|
|
114
114
|
class: "tao-input__affix tao-input__affix--suffix"
|
|
115
115
|
};
|
|
116
|
-
const _hoisted_6$
|
|
116
|
+
const _hoisted_6$g = {
|
|
117
117
|
key: 1,
|
|
118
118
|
class: "tao-input__error"
|
|
119
119
|
};
|
|
120
|
-
const _sfc_main$
|
|
120
|
+
const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
121
121
|
...{ name: "TaoInput" },
|
|
122
122
|
__name: "TaoInput",
|
|
123
123
|
props: {
|
|
@@ -153,12 +153,12 @@
|
|
|
153
153
|
emit("focus", event);
|
|
154
154
|
}
|
|
155
155
|
return (_ctx, _cache) => {
|
|
156
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
156
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$M, [
|
|
157
157
|
__props.label && !vue.unref(field) ? (vue.openBlock(), vue.createElementBlock("label", {
|
|
158
158
|
key: 0,
|
|
159
159
|
class: "tao-input__label",
|
|
160
160
|
for: controlId.value
|
|
161
|
-
}, vue.toDisplayString(__props.label), 9, _hoisted_2$
|
|
161
|
+
}, vue.toDisplayString(__props.label), 9, _hoisted_2$F)) : vue.createCommentVNode("", true),
|
|
162
162
|
vue.createElementVNode("div", {
|
|
163
163
|
class: vue.normalizeClass(["tao-input-shell", {
|
|
164
164
|
"tao-input-shell--focused": focused.value,
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
"tao-input-shell--suffix": _ctx.$slots.suffix
|
|
169
169
|
}])
|
|
170
170
|
}, [
|
|
171
|
-
_ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
171
|
+
_ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$z, [
|
|
172
172
|
vue.renderSlot(_ctx.$slots, "prefix", {}, void 0, true)
|
|
173
173
|
])) : vue.createCommentVNode("", true),
|
|
174
174
|
vue.createElementVNode("input", {
|
|
@@ -183,27 +183,27 @@
|
|
|
183
183
|
onInput: handleInput,
|
|
184
184
|
onBlur: handleBlur,
|
|
185
185
|
onFocus: handleFocus
|
|
186
|
-
}, null, 42, _hoisted_4$
|
|
187
|
-
_ctx.$slots.suffix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$
|
|
186
|
+
}, null, 42, _hoisted_4$t),
|
|
187
|
+
_ctx.$slots.suffix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$m, [
|
|
188
188
|
vue.renderSlot(_ctx.$slots, "suffix", {}, void 0, true)
|
|
189
189
|
])) : vue.createCommentVNode("", true)
|
|
190
190
|
], 2),
|
|
191
|
-
__props.error && __props.errorMessage ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$
|
|
191
|
+
__props.error && __props.errorMessage ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$g, vue.toDisplayString(__props.errorMessage), 1)) : vue.createCommentVNode("", true)
|
|
192
192
|
]);
|
|
193
193
|
};
|
|
194
194
|
}
|
|
195
195
|
});
|
|
196
|
-
const TaoInput = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
197
|
-
const _hoisted_1$
|
|
196
|
+
const TaoInput = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-b522e041"]]);
|
|
197
|
+
const _hoisted_1$L = {
|
|
198
198
|
key: 0,
|
|
199
199
|
class: "tao-input-group__addon tao-input-group__addon--before"
|
|
200
200
|
};
|
|
201
|
-
const _hoisted_2$
|
|
202
|
-
const _hoisted_3$
|
|
201
|
+
const _hoisted_2$E = { class: "tao-input-group__field" };
|
|
202
|
+
const _hoisted_3$y = {
|
|
203
203
|
key: 1,
|
|
204
204
|
class: "tao-input-group__addon tao-input-group__addon--after"
|
|
205
205
|
};
|
|
206
|
-
const _sfc_main$
|
|
206
|
+
const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
207
207
|
...{ name: "TaoInputGroup" },
|
|
208
208
|
__name: "TaoInputGroup",
|
|
209
209
|
setup(__props) {
|
|
@@ -225,28 +225,30 @@
|
|
|
225
225
|
onFocusin: onFocusIn,
|
|
226
226
|
onFocusout: onFocusOut
|
|
227
227
|
}, [
|
|
228
|
-
_ctx.$slots.before ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
228
|
+
_ctx.$slots.before ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$L, [
|
|
229
229
|
vue.renderSlot(_ctx.$slots, "before", {}, void 0, true)
|
|
230
230
|
])) : vue.createCommentVNode("", true),
|
|
231
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
231
|
+
vue.createElementVNode("div", _hoisted_2$E, [
|
|
232
232
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
233
233
|
]),
|
|
234
|
-
_ctx.$slots.after ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
234
|
+
_ctx.$slots.after ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$y, [
|
|
235
235
|
vue.renderSlot(_ctx.$slots, "after", {}, void 0, true)
|
|
236
236
|
])) : vue.createCommentVNode("", true)
|
|
237
237
|
], 34);
|
|
238
238
|
};
|
|
239
239
|
}
|
|
240
240
|
});
|
|
241
|
-
const TaoInputGroup = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
242
|
-
const _hoisted_1$
|
|
243
|
-
const _hoisted_2$
|
|
241
|
+
const TaoInputGroup = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-f06bb3b1"]]);
|
|
242
|
+
const _hoisted_1$K = ["id", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
|
|
243
|
+
const _hoisted_2$D = {
|
|
244
244
|
key: 0,
|
|
245
245
|
class: "tao-input-number__steppers"
|
|
246
246
|
};
|
|
247
|
-
const _hoisted_3$
|
|
248
|
-
const _hoisted_4$
|
|
249
|
-
const
|
|
247
|
+
const _hoisted_3$x = ["aria-label", "disabled"];
|
|
248
|
+
const _hoisted_4$s = { "aria-hidden": "true" };
|
|
249
|
+
const _hoisted_5$l = ["aria-label", "disabled"];
|
|
250
|
+
const _hoisted_6$f = { "aria-hidden": "true" };
|
|
251
|
+
const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
250
252
|
...{ name: "TaoInputNumber" },
|
|
251
253
|
__name: "TaoInputNumber",
|
|
252
254
|
props: {
|
|
@@ -257,7 +259,9 @@
|
|
|
257
259
|
precision: {},
|
|
258
260
|
disabled: { type: Boolean, default: false },
|
|
259
261
|
placeholder: { default: "" },
|
|
260
|
-
controls: { type: Boolean, default: true }
|
|
262
|
+
controls: { type: Boolean, default: true },
|
|
263
|
+
incrementLabel: { default: "Увеличить" },
|
|
264
|
+
decrementLabel: { default: "Уменьшить" }
|
|
261
265
|
},
|
|
262
266
|
emits: ["update:modelValue", "blur", "focus"],
|
|
263
267
|
setup(__props, { emit: __emit }) {
|
|
@@ -395,34 +399,48 @@
|
|
|
395
399
|
onFocus,
|
|
396
400
|
onBlur,
|
|
397
401
|
onKeydown
|
|
398
|
-
}, null, 40, _hoisted_1$
|
|
399
|
-
__props.controls ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
402
|
+
}, null, 40, _hoisted_1$K),
|
|
403
|
+
__props.controls ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$D, [
|
|
400
404
|
vue.createElementVNode("button", {
|
|
401
405
|
type: "button",
|
|
402
406
|
class: "tao-input-number__step",
|
|
403
|
-
"aria-label":
|
|
407
|
+
"aria-label": __props.incrementLabel,
|
|
404
408
|
tabindex: "-1",
|
|
405
409
|
disabled: __props.disabled || atMax.value,
|
|
406
410
|
onClick: _cache[0] || (_cache[0] = ($event) => bump(1))
|
|
407
|
-
},
|
|
411
|
+
}, [
|
|
412
|
+
vue.createElementVNode("span", _hoisted_4$s, [
|
|
413
|
+
vue.renderSlot(_ctx.$slots, "increment-icon", {}, () => [
|
|
414
|
+
_cache[2] || (_cache[2] = vue.createTextVNode("+", -1))
|
|
415
|
+
], true)
|
|
416
|
+
])
|
|
417
|
+
], 8, _hoisted_3$x),
|
|
408
418
|
vue.createElementVNode("button", {
|
|
409
419
|
type: "button",
|
|
410
420
|
class: "tao-input-number__step",
|
|
411
|
-
"aria-label":
|
|
421
|
+
"aria-label": __props.decrementLabel,
|
|
412
422
|
tabindex: "-1",
|
|
413
423
|
disabled: __props.disabled || atMin.value,
|
|
414
424
|
onClick: _cache[1] || (_cache[1] = ($event) => bump(-1))
|
|
415
|
-
},
|
|
425
|
+
}, [
|
|
426
|
+
vue.createElementVNode("span", _hoisted_6$f, [
|
|
427
|
+
vue.renderSlot(_ctx.$slots, "decrement-icon", {}, () => [
|
|
428
|
+
_cache[3] || (_cache[3] = vue.createTextVNode("−", -1))
|
|
429
|
+
], true)
|
|
430
|
+
])
|
|
431
|
+
], 8, _hoisted_5$l)
|
|
416
432
|
])) : vue.createCommentVNode("", true)
|
|
417
433
|
], 2);
|
|
418
434
|
};
|
|
419
435
|
}
|
|
420
436
|
});
|
|
421
|
-
const TaoInputNumber = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
422
|
-
const _hoisted_1$
|
|
423
|
-
const _hoisted_2$
|
|
424
|
-
const _hoisted_3$
|
|
425
|
-
const
|
|
437
|
+
const TaoInputNumber = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-331dd958"]]);
|
|
438
|
+
const _hoisted_1$J = ["aria-label", "disabled"];
|
|
439
|
+
const _hoisted_2$C = { "aria-hidden": "true" };
|
|
440
|
+
const _hoisted_3$w = ["id", "value", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
|
|
441
|
+
const _hoisted_4$r = ["aria-label", "disabled"];
|
|
442
|
+
const _hoisted_5$k = { "aria-hidden": "true" };
|
|
443
|
+
const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
426
444
|
...{ name: "TaoQuantity" },
|
|
427
445
|
__name: "TaoQuantity",
|
|
428
446
|
props: {
|
|
@@ -431,7 +449,10 @@
|
|
|
431
449
|
max: {},
|
|
432
450
|
disabled: { type: Boolean, default: false },
|
|
433
451
|
allowRemove: { type: Boolean, default: true },
|
|
434
|
-
forceMaxLimit: { type: Boolean, default: true }
|
|
452
|
+
forceMaxLimit: { type: Boolean, default: true },
|
|
453
|
+
decrementLabel: { default: "Уменьшить" },
|
|
454
|
+
removeLabel: { default: "Убрать" },
|
|
455
|
+
incrementLabel: { default: "Увеличить" }
|
|
435
456
|
},
|
|
436
457
|
emits: ["update:modelValue", "change", "dec", "inc", "blur", "focus"],
|
|
437
458
|
setup(__props, { emit: __emit }) {
|
|
@@ -540,7 +561,7 @@
|
|
|
540
561
|
const atMax = vue.computed(() => props.modelValue >= ceiling.value);
|
|
541
562
|
const minusDisabled = vue.computed(() => props.disabled || !props.allowRemove && atMin.value);
|
|
542
563
|
const plusDisabled = vue.computed(() => props.disabled || atMax.value);
|
|
543
|
-
const minusLabel = vue.computed(() => atMin.value && props.allowRemove ?
|
|
564
|
+
const minusLabel = vue.computed(() => atMin.value && props.allowRemove ? props.removeLabel : props.decrementLabel);
|
|
544
565
|
return (_ctx, _cache) => {
|
|
545
566
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
546
567
|
class: vue.normalizeClass(["tao-quantity", {
|
|
@@ -555,7 +576,13 @@
|
|
|
555
576
|
"aria-label": minusLabel.value,
|
|
556
577
|
disabled: minusDisabled.value,
|
|
557
578
|
onClick: onDec
|
|
558
|
-
},
|
|
579
|
+
}, [
|
|
580
|
+
vue.createElementVNode("span", _hoisted_2$C, [
|
|
581
|
+
vue.renderSlot(_ctx.$slots, "decrement-icon", {}, () => [
|
|
582
|
+
_cache[0] || (_cache[0] = vue.createTextVNode("−", -1))
|
|
583
|
+
], true)
|
|
584
|
+
])
|
|
585
|
+
], 8, _hoisted_1$J),
|
|
559
586
|
vue.createElementVNode("input", {
|
|
560
587
|
id: controlId.value,
|
|
561
588
|
class: "tao-quantity__input",
|
|
@@ -575,49 +602,55 @@
|
|
|
575
602
|
onFocus,
|
|
576
603
|
onBlur,
|
|
577
604
|
onKeydown
|
|
578
|
-
}, null, 40,
|
|
605
|
+
}, null, 40, _hoisted_3$w),
|
|
579
606
|
vue.createElementVNode("button", {
|
|
580
607
|
type: "button",
|
|
581
608
|
class: "tao-quantity__btn tao-quantity__btn--inc",
|
|
582
|
-
"aria-label":
|
|
609
|
+
"aria-label": __props.incrementLabel,
|
|
583
610
|
disabled: plusDisabled.value,
|
|
584
611
|
onClick: onInc
|
|
585
|
-
},
|
|
612
|
+
}, [
|
|
613
|
+
vue.createElementVNode("span", _hoisted_5$k, [
|
|
614
|
+
vue.renderSlot(_ctx.$slots, "increment-icon", {}, () => [
|
|
615
|
+
_cache[1] || (_cache[1] = vue.createTextVNode("+", -1))
|
|
616
|
+
], true)
|
|
617
|
+
])
|
|
618
|
+
], 8, _hoisted_4$r)
|
|
586
619
|
], 2);
|
|
587
620
|
};
|
|
588
621
|
}
|
|
589
622
|
});
|
|
590
|
-
const TaoQuantity = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
591
|
-
const _hoisted_1$
|
|
623
|
+
const TaoQuantity = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-c9c7c8b4"]]);
|
|
624
|
+
const _hoisted_1$I = {
|
|
592
625
|
key: 0,
|
|
593
626
|
class: "tao-card__cover"
|
|
594
627
|
};
|
|
595
|
-
const _hoisted_2$
|
|
628
|
+
const _hoisted_2$B = {
|
|
596
629
|
key: 0,
|
|
597
630
|
class: "tao-card__header-title"
|
|
598
631
|
};
|
|
599
|
-
const _hoisted_3$
|
|
600
|
-
const _hoisted_4$
|
|
632
|
+
const _hoisted_3$v = { key: 0 };
|
|
633
|
+
const _hoisted_4$q = {
|
|
601
634
|
key: 2,
|
|
602
635
|
class: "tao-card__title-block"
|
|
603
636
|
};
|
|
604
|
-
const _hoisted_5$
|
|
637
|
+
const _hoisted_5$j = {
|
|
605
638
|
key: 0,
|
|
606
639
|
class: "tao-card__title"
|
|
607
640
|
};
|
|
608
|
-
const _hoisted_6$
|
|
641
|
+
const _hoisted_6$e = {
|
|
609
642
|
key: 1,
|
|
610
643
|
class: "tao-card__sub"
|
|
611
644
|
};
|
|
612
|
-
const _hoisted_7$
|
|
645
|
+
const _hoisted_7$c = {
|
|
613
646
|
key: 3,
|
|
614
647
|
class: "tao-card__body"
|
|
615
648
|
};
|
|
616
|
-
const _hoisted_8$
|
|
649
|
+
const _hoisted_8$b = {
|
|
617
650
|
key: 4,
|
|
618
651
|
class: "tao-card__footer"
|
|
619
652
|
};
|
|
620
|
-
const _sfc_main$
|
|
653
|
+
const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
621
654
|
...{ name: "TaoCard" },
|
|
622
655
|
__name: "TaoCard",
|
|
623
656
|
props: {
|
|
@@ -649,14 +682,14 @@
|
|
|
649
682
|
}]),
|
|
650
683
|
style: vue.normalizeStyle(radiusStyle.value)
|
|
651
684
|
}, [
|
|
652
|
-
_ctx.$slots.cover ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
685
|
+
_ctx.$slots.cover ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$I, [
|
|
653
686
|
vue.renderSlot(_ctx.$slots, "cover", {}, void 0, true)
|
|
654
687
|
])) : vue.createCommentVNode("", true),
|
|
655
688
|
vue.createElementVNode("div", {
|
|
656
689
|
class: "tao-card__content",
|
|
657
690
|
style: vue.normalizeStyle(paddingStyle.value)
|
|
658
691
|
}, [
|
|
659
|
-
_ctx.$slots.headerTitle ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$
|
|
692
|
+
_ctx.$slots.headerTitle ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$B, [
|
|
660
693
|
vue.renderSlot(_ctx.$slots, "headerTitle", {}, void 0, true)
|
|
661
694
|
])) : vue.createCommentVNode("", true),
|
|
662
695
|
_ctx.$slots.header || _ctx.$slots.headerSecondary ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -666,22 +699,22 @@
|
|
|
666
699
|
vue.createElementVNode("span", null, [
|
|
667
700
|
vue.renderSlot(_ctx.$slots, "header", {}, void 0, true)
|
|
668
701
|
]),
|
|
669
|
-
_ctx.$slots.headerSecondary ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
702
|
+
_ctx.$slots.headerSecondary ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$v, [
|
|
670
703
|
vue.renderSlot(_ctx.$slots, "headerSecondary", {}, void 0, true)
|
|
671
704
|
])) : vue.createCommentVNode("", true)
|
|
672
705
|
], 2)) : vue.createCommentVNode("", true),
|
|
673
|
-
_ctx.$slots.title || _ctx.$slots.sub ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
674
|
-
_ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_5$
|
|
706
|
+
_ctx.$slots.title || _ctx.$slots.sub ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$q, [
|
|
707
|
+
_ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_5$j, [
|
|
675
708
|
vue.renderSlot(_ctx.$slots, "title", {}, void 0, true)
|
|
676
709
|
])) : vue.createCommentVNode("", true),
|
|
677
|
-
_ctx.$slots.sub ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$
|
|
710
|
+
_ctx.$slots.sub ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$e, [
|
|
678
711
|
vue.renderSlot(_ctx.$slots, "sub", {}, void 0, true)
|
|
679
712
|
])) : vue.createCommentVNode("", true)
|
|
680
713
|
])) : vue.createCommentVNode("", true),
|
|
681
|
-
_ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$
|
|
714
|
+
_ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$c, [
|
|
682
715
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
683
716
|
])) : vue.createCommentVNode("", true),
|
|
684
|
-
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$
|
|
717
|
+
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$b, [
|
|
685
718
|
vue.renderSlot(_ctx.$slots, "footer", {}, void 0, true)
|
|
686
719
|
])) : vue.createCommentVNode("", true)
|
|
687
720
|
], 4)
|
|
@@ -689,7 +722,7 @@
|
|
|
689
722
|
};
|
|
690
723
|
}
|
|
691
724
|
});
|
|
692
|
-
const TaoCard = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
725
|
+
const TaoCard = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-2ff3d055"]]);
|
|
693
726
|
const FOCUSABLE = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
694
727
|
function getFocusable(root) {
|
|
695
728
|
return [...root.querySelectorAll(FOCUSABLE)].filter(
|
|
@@ -718,25 +751,28 @@
|
|
|
718
751
|
first.focus();
|
|
719
752
|
}
|
|
720
753
|
}
|
|
721
|
-
const _hoisted_1$
|
|
722
|
-
const _hoisted_2$
|
|
754
|
+
const _hoisted_1$H = ["aria-labelledby"];
|
|
755
|
+
const _hoisted_2$A = {
|
|
723
756
|
key: 0,
|
|
724
757
|
class: "tao-modal__header"
|
|
725
758
|
};
|
|
726
|
-
const _hoisted_3$
|
|
727
|
-
const _hoisted_4$
|
|
728
|
-
const _hoisted_5$
|
|
729
|
-
const _hoisted_6$
|
|
759
|
+
const _hoisted_3$u = ["id"];
|
|
760
|
+
const _hoisted_4$p = { key: 1 };
|
|
761
|
+
const _hoisted_5$i = ["aria-label"];
|
|
762
|
+
const _hoisted_6$d = { "aria-hidden": "true" };
|
|
763
|
+
const _hoisted_7$b = { class: "tao-modal__content" };
|
|
764
|
+
const _hoisted_8$a = {
|
|
730
765
|
key: 1,
|
|
731
766
|
class: "tao-modal__footer"
|
|
732
767
|
};
|
|
733
|
-
const _sfc_main$
|
|
768
|
+
const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
734
769
|
...{ name: "TaoModal" },
|
|
735
770
|
__name: "TaoModal",
|
|
736
771
|
props: {
|
|
737
772
|
modelValue: { type: Boolean },
|
|
738
773
|
title: { default: "" },
|
|
739
|
-
closable: { type: Boolean, default: true }
|
|
774
|
+
closable: { type: Boolean, default: true },
|
|
775
|
+
closeLabel: { default: "Закрыть" }
|
|
740
776
|
},
|
|
741
777
|
emits: ["update:modelValue", "close"],
|
|
742
778
|
setup(__props, { emit: __emit }) {
|
|
@@ -830,29 +866,35 @@
|
|
|
830
866
|
"aria-labelledby": __props.title ? vue.unref(titleId) : void 0,
|
|
831
867
|
tabindex: "-1"
|
|
832
868
|
}, [
|
|
833
|
-
__props.title || _ctx.$slots.header || __props.closable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
869
|
+
__props.title || _ctx.$slots.header || __props.closable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$A, [
|
|
834
870
|
vue.renderSlot(_ctx.$slots, "header", {}, () => [
|
|
835
871
|
__props.title ? (vue.openBlock(), vue.createElementBlock("h2", {
|
|
836
872
|
key: 0,
|
|
837
873
|
id: vue.unref(titleId),
|
|
838
874
|
class: "tao-modal__title"
|
|
839
|
-
}, vue.toDisplayString(__props.title), 9, _hoisted_3$
|
|
875
|
+
}, vue.toDisplayString(__props.title), 9, _hoisted_3$u)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$p))
|
|
840
876
|
], true),
|
|
841
877
|
__props.closable ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
842
878
|
key: 0,
|
|
843
879
|
type: "button",
|
|
844
880
|
class: "tao-modal__close",
|
|
845
|
-
"aria-label":
|
|
881
|
+
"aria-label": __props.closeLabel,
|
|
846
882
|
onClick: close
|
|
847
|
-
},
|
|
883
|
+
}, [
|
|
884
|
+
vue.createElementVNode("span", _hoisted_6$d, [
|
|
885
|
+
vue.renderSlot(_ctx.$slots, "close-icon", {}, () => [
|
|
886
|
+
_cache[0] || (_cache[0] = vue.createTextVNode("×", -1))
|
|
887
|
+
], true)
|
|
888
|
+
])
|
|
889
|
+
], 8, _hoisted_5$i)) : vue.createCommentVNode("", true)
|
|
848
890
|
])) : vue.createCommentVNode("", true),
|
|
849
|
-
vue.createElementVNode("div",
|
|
891
|
+
vue.createElementVNode("div", _hoisted_7$b, [
|
|
850
892
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
851
893
|
]),
|
|
852
|
-
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div",
|
|
894
|
+
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$a, [
|
|
853
895
|
vue.renderSlot(_ctx.$slots, "footer", {}, void 0, true)
|
|
854
896
|
])) : vue.createCommentVNode("", true)
|
|
855
|
-
], 8, _hoisted_1$
|
|
897
|
+
], 8, _hoisted_1$H)
|
|
856
898
|
], 32)) : vue.createCommentVNode("", true)
|
|
857
899
|
]),
|
|
858
900
|
_: 3
|
|
@@ -861,11 +903,11 @@
|
|
|
861
903
|
};
|
|
862
904
|
}
|
|
863
905
|
});
|
|
864
|
-
const TaoModal = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
865
|
-
const _hoisted_1$
|
|
866
|
-
const _hoisted_2$
|
|
867
|
-
const _hoisted_3$
|
|
868
|
-
const _sfc_main$
|
|
906
|
+
const TaoModal = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-67d4b1e8"]]);
|
|
907
|
+
const _hoisted_1$G = { class: "tao-tabs" };
|
|
908
|
+
const _hoisted_2$z = ["id", "aria-selected", "aria-controls", "tabindex", "disabled", "onClick"];
|
|
909
|
+
const _hoisted_3$t = ["id", "aria-labelledby"];
|
|
910
|
+
const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
869
911
|
...{ name: "TaoTabs" },
|
|
870
912
|
__name: "TaoTabs",
|
|
871
913
|
props: {
|
|
@@ -929,7 +971,7 @@
|
|
|
929
971
|
}
|
|
930
972
|
}
|
|
931
973
|
return (_ctx, _cache) => {
|
|
932
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
974
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$G, [
|
|
933
975
|
vue.createElementVNode("div", {
|
|
934
976
|
class: "tao-tabs__list",
|
|
935
977
|
role: "tablist",
|
|
@@ -954,7 +996,7 @@
|
|
|
954
996
|
}, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
955
997
|
vue.createTextVNode(vue.toDisplayString(tab.label), 1)
|
|
956
998
|
], 64))
|
|
957
|
-
], 8, _hoisted_2$
|
|
999
|
+
], 8, _hoisted_2$z);
|
|
958
1000
|
}), 128))
|
|
959
1001
|
], 32),
|
|
960
1002
|
vue.createElementVNode("div", {
|
|
@@ -964,12 +1006,12 @@
|
|
|
964
1006
|
"aria-labelledby": tabId(__props.modelValue)
|
|
965
1007
|
}, [
|
|
966
1008
|
vue.renderSlot(_ctx.$slots, "default", { activeTab: __props.modelValue }, void 0, true)
|
|
967
|
-
], 8, _hoisted_3$
|
|
1009
|
+
], 8, _hoisted_3$t)
|
|
968
1010
|
]);
|
|
969
1011
|
};
|
|
970
1012
|
}
|
|
971
1013
|
});
|
|
972
|
-
const TaoTabs = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1014
|
+
const TaoTabs = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-bf16735e"]]);
|
|
973
1015
|
function listenFocusLoss(onLoss) {
|
|
974
1016
|
function onVisibilityChange() {
|
|
975
1017
|
if (document.hidden) {
|
|
@@ -985,7 +1027,7 @@
|
|
|
985
1027
|
window.removeEventListener("pagehide", onLoss);
|
|
986
1028
|
};
|
|
987
1029
|
}
|
|
988
|
-
const _sfc_main$
|
|
1030
|
+
const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
989
1031
|
...{ name: "TaoTooltip" },
|
|
990
1032
|
__name: "TaoTooltip",
|
|
991
1033
|
props: {
|
|
@@ -1147,9 +1189,9 @@
|
|
|
1147
1189
|
};
|
|
1148
1190
|
}
|
|
1149
1191
|
});
|
|
1150
|
-
const TaoTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1151
|
-
const _hoisted_1$
|
|
1152
|
-
const _sfc_main$
|
|
1192
|
+
const TaoTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-926dfa73"]]);
|
|
1193
|
+
const _hoisted_1$F = { class: "tao-popover" };
|
|
1194
|
+
const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
1153
1195
|
...{ name: "TaoPopover" },
|
|
1154
1196
|
__name: "TaoPopover",
|
|
1155
1197
|
props: {
|
|
@@ -1307,7 +1349,7 @@
|
|
|
1307
1349
|
window.removeEventListener("scroll", onViewportChange, true);
|
|
1308
1350
|
});
|
|
1309
1351
|
return (_ctx, _cache) => {
|
|
1310
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1352
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
|
|
1311
1353
|
vue.createElementVNode("div", {
|
|
1312
1354
|
ref_key: "triggerRef",
|
|
1313
1355
|
ref: triggerRef,
|
|
@@ -1336,17 +1378,17 @@
|
|
|
1336
1378
|
};
|
|
1337
1379
|
}
|
|
1338
1380
|
});
|
|
1339
|
-
const TaoPopover = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1381
|
+
const TaoPopover = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-e4ead301"]]);
|
|
1340
1382
|
const spoilerGroupKey = Symbol("taoSpoilerGroup");
|
|
1341
|
-
const _hoisted_1$
|
|
1342
|
-
const _hoisted_2$
|
|
1343
|
-
const _hoisted_3$
|
|
1383
|
+
const _hoisted_1$E = { class: "tao-spoiler" };
|
|
1384
|
+
const _hoisted_2$y = ["aria-expanded", "aria-controls"];
|
|
1385
|
+
const _hoisted_3$s = {
|
|
1344
1386
|
key: 0,
|
|
1345
1387
|
class: "tao-spoiler__title"
|
|
1346
1388
|
};
|
|
1347
|
-
const _hoisted_4$
|
|
1348
|
-
const _hoisted_5$
|
|
1349
|
-
const _sfc_main$
|
|
1389
|
+
const _hoisted_4$o = ["id"];
|
|
1390
|
+
const _hoisted_5$h = { class: "tao-spoiler__content-inner" };
|
|
1391
|
+
const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
1350
1392
|
...{ name: "TaoSpoiler" },
|
|
1351
1393
|
__name: "TaoSpoiler",
|
|
1352
1394
|
props: {
|
|
@@ -1401,7 +1443,7 @@
|
|
|
1401
1443
|
});
|
|
1402
1444
|
}
|
|
1403
1445
|
return (_ctx, _cache) => {
|
|
1404
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1446
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
|
|
1405
1447
|
vue.createElementVNode("button", {
|
|
1406
1448
|
type: "button",
|
|
1407
1449
|
class: "tao-spoiler__header",
|
|
@@ -1412,12 +1454,12 @@
|
|
|
1412
1454
|
vue.createElementVNode("span", {
|
|
1413
1455
|
class: vue.normalizeClass(["tao-spoiler__icon", { "tao-spoiler__icon--open": isOpen.value }])
|
|
1414
1456
|
}, "▶", 2),
|
|
1415
|
-
__props.title || _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
1457
|
+
__props.title || _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$s, [
|
|
1416
1458
|
vue.renderSlot(_ctx.$slots, "title", {}, () => [
|
|
1417
1459
|
vue.createTextVNode(vue.toDisplayString(__props.title), 1)
|
|
1418
1460
|
], true)
|
|
1419
1461
|
])) : vue.createCommentVNode("", true)
|
|
1420
|
-
], 8, _hoisted_2$
|
|
1462
|
+
], 8, _hoisted_2$y),
|
|
1421
1463
|
vue.createVNode(vue.Transition, {
|
|
1422
1464
|
name: "tao-spoiler-slide",
|
|
1423
1465
|
onBeforeEnter,
|
|
@@ -1431,10 +1473,10 @@
|
|
|
1431
1473
|
id: vue.unref(panelId),
|
|
1432
1474
|
class: "tao-spoiler__content"
|
|
1433
1475
|
}, [
|
|
1434
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
1476
|
+
vue.createElementVNode("div", _hoisted_5$h, [
|
|
1435
1477
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1436
1478
|
])
|
|
1437
|
-
], 8, _hoisted_4$
|
|
1479
|
+
], 8, _hoisted_4$o)) : vue.createCommentVNode("", true)
|
|
1438
1480
|
]),
|
|
1439
1481
|
_: 3
|
|
1440
1482
|
})
|
|
@@ -1442,9 +1484,9 @@
|
|
|
1442
1484
|
};
|
|
1443
1485
|
}
|
|
1444
1486
|
});
|
|
1445
|
-
const TaoSpoiler = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1446
|
-
const _hoisted_1$
|
|
1447
|
-
const _sfc_main$
|
|
1487
|
+
const TaoSpoiler = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-ccb052cf"]]);
|
|
1488
|
+
const _hoisted_1$D = { class: "tao-spoiler-group" };
|
|
1489
|
+
const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
1448
1490
|
...{ name: "TaoSpoilerGroup" },
|
|
1449
1491
|
__name: "TaoSpoilerGroup",
|
|
1450
1492
|
props: {
|
|
@@ -1464,20 +1506,21 @@
|
|
|
1464
1506
|
setOpen
|
|
1465
1507
|
});
|
|
1466
1508
|
return (_ctx, _cache) => {
|
|
1467
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1509
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D, [
|
|
1468
1510
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1469
1511
|
]);
|
|
1470
1512
|
};
|
|
1471
1513
|
}
|
|
1472
1514
|
});
|
|
1473
|
-
const TaoSpoilerGroup = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1474
|
-
const _hoisted_1$
|
|
1475
|
-
const _sfc_main$
|
|
1515
|
+
const TaoSpoilerGroup = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-6b172e89"]]);
|
|
1516
|
+
const _hoisted_1$C = ["aria-label"];
|
|
1517
|
+
const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
1476
1518
|
...{ name: "TaoCopy" },
|
|
1477
1519
|
__name: "TaoCopy",
|
|
1478
1520
|
props: {
|
|
1479
1521
|
text: {},
|
|
1480
1522
|
successMessage: { default: "Скопировано!" },
|
|
1523
|
+
copyLabel: { default: "Копировать" },
|
|
1481
1524
|
tip: { type: Boolean, default: true }
|
|
1482
1525
|
},
|
|
1483
1526
|
setup(__props) {
|
|
@@ -1579,7 +1622,7 @@
|
|
|
1579
1622
|
vue.createElementVNode("button", {
|
|
1580
1623
|
type: "button",
|
|
1581
1624
|
class: vue.normalizeClass(["tao-copy__button", { "tao-copy__button--copied": copied.value }]),
|
|
1582
|
-
"aria-label": copied.value ? __props.successMessage :
|
|
1625
|
+
"aria-label": copied.value ? __props.successMessage : __props.copyLabel,
|
|
1583
1626
|
onClick: copy
|
|
1584
1627
|
}, [..._cache[0] || (_cache[0] = [
|
|
1585
1628
|
vue.createElementVNode("svg", {
|
|
@@ -1606,7 +1649,7 @@
|
|
|
1606
1649
|
"stroke-width": "2"
|
|
1607
1650
|
})
|
|
1608
1651
|
], -1)
|
|
1609
|
-
])], 10, _hoisted_1$
|
|
1652
|
+
])], 10, _hoisted_1$C)
|
|
1610
1653
|
], true),
|
|
1611
1654
|
(vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
1612
1655
|
copied.value && __props.tip && __props.successMessage ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -1622,8 +1665,8 @@
|
|
|
1622
1665
|
};
|
|
1623
1666
|
}
|
|
1624
1667
|
});
|
|
1625
|
-
const TaoCopy = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1626
|
-
const _sfc_main$
|
|
1668
|
+
const TaoCopy = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-38d3381d"]]);
|
|
1669
|
+
const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
1627
1670
|
...{ name: "TaoContainer" },
|
|
1628
1671
|
__name: "TaoContainer",
|
|
1629
1672
|
props: {
|
|
@@ -1640,8 +1683,8 @@
|
|
|
1640
1683
|
};
|
|
1641
1684
|
}
|
|
1642
1685
|
});
|
|
1643
|
-
const TaoContainer = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1644
|
-
const _sfc_main$
|
|
1686
|
+
const TaoContainer = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-4c0deb90"]]);
|
|
1687
|
+
const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
1645
1688
|
...{ name: "TaoFlex" },
|
|
1646
1689
|
__name: "TaoFlex",
|
|
1647
1690
|
props: {
|
|
@@ -1672,7 +1715,7 @@
|
|
|
1672
1715
|
};
|
|
1673
1716
|
}
|
|
1674
1717
|
});
|
|
1675
|
-
const _sfc_main$
|
|
1718
|
+
const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
1676
1719
|
...{ name: "TaoSpace" },
|
|
1677
1720
|
__name: "TaoSpace",
|
|
1678
1721
|
props: {
|
|
@@ -1692,7 +1735,332 @@
|
|
|
1692
1735
|
};
|
|
1693
1736
|
}
|
|
1694
1737
|
});
|
|
1695
|
-
const TaoSpace = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1738
|
+
const TaoSpace = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-698ca712"]]);
|
|
1739
|
+
const _hoisted_1$B = { class: "tao-split__pane tao-split__pane--start" };
|
|
1740
|
+
const _hoisted_2$x = ["aria-orientation", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-valuetext", "aria-disabled", "tabindex"];
|
|
1741
|
+
const _hoisted_3$r = { class: "tao-split__pane tao-split__pane--end" };
|
|
1742
|
+
const _hoisted_4$n = {
|
|
1743
|
+
key: 0,
|
|
1744
|
+
class: "tao-split__shield"
|
|
1745
|
+
};
|
|
1746
|
+
const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
1747
|
+
...{ name: "TaoSplit" },
|
|
1748
|
+
__name: "TaoSplit",
|
|
1749
|
+
props: {
|
|
1750
|
+
modelValue: { default: 50 },
|
|
1751
|
+
direction: { default: "row" },
|
|
1752
|
+
unit: { default: "%" },
|
|
1753
|
+
min: { default: 0 },
|
|
1754
|
+
max: {},
|
|
1755
|
+
minEnd: { default: 0 },
|
|
1756
|
+
resizable: { type: Boolean, default: true },
|
|
1757
|
+
step: {}
|
|
1758
|
+
},
|
|
1759
|
+
emits: ["update:modelValue"],
|
|
1760
|
+
setup(__props, { emit: __emit }) {
|
|
1761
|
+
const props = __props;
|
|
1762
|
+
const emit = __emit;
|
|
1763
|
+
const rootRef = vue.ref(null);
|
|
1764
|
+
const handleRef = vue.ref(null);
|
|
1765
|
+
const startPx = vue.ref(0);
|
|
1766
|
+
const available = vue.ref(0);
|
|
1767
|
+
const isDragging = vue.ref(false);
|
|
1768
|
+
const size = vue.ref(props.modelValue);
|
|
1769
|
+
const isRow = vue.computed(() => props.direction === "row");
|
|
1770
|
+
const stepValue = vue.computed(() => props.step ?? (props.unit === "%" ? 1 : 8));
|
|
1771
|
+
const ariaOrientation = vue.computed(() => isRow.value ? "vertical" : "horizontal");
|
|
1772
|
+
let dragPointer = -1;
|
|
1773
|
+
let dragStartPx = 0;
|
|
1774
|
+
let dragStartCoord = 0;
|
|
1775
|
+
let savedBodyCursor = "";
|
|
1776
|
+
let savedHtmlCursor = "";
|
|
1777
|
+
let savedUserSelect = "";
|
|
1778
|
+
let resizeObserver = null;
|
|
1779
|
+
let stopFocusLoss;
|
|
1780
|
+
function axisSize(el) {
|
|
1781
|
+
const rect = el.getBoundingClientRect();
|
|
1782
|
+
return isRow.value ? rect.width : rect.height;
|
|
1783
|
+
}
|
|
1784
|
+
function measureAvailable() {
|
|
1785
|
+
if (!rootRef.value || !handleRef.value) {
|
|
1786
|
+
return 0;
|
|
1787
|
+
}
|
|
1788
|
+
return Math.max(0, axisSize(rootRef.value) - axisSize(handleRef.value));
|
|
1789
|
+
}
|
|
1790
|
+
function toPx(value, avail) {
|
|
1791
|
+
if (avail <= 0) {
|
|
1792
|
+
return 0;
|
|
1793
|
+
}
|
|
1794
|
+
return props.unit === "%" ? value / 100 * avail : value;
|
|
1795
|
+
}
|
|
1796
|
+
function fromPx(px, avail) {
|
|
1797
|
+
if (props.unit === "%") {
|
|
1798
|
+
if (avail <= 0) {
|
|
1799
|
+
return 0;
|
|
1800
|
+
}
|
|
1801
|
+
return Math.round(px / avail * 1e4) / 100;
|
|
1802
|
+
}
|
|
1803
|
+
return Math.round(px);
|
|
1804
|
+
}
|
|
1805
|
+
function valuesEqual(a, b) {
|
|
1806
|
+
if (props.unit === "%") {
|
|
1807
|
+
return Math.abs(a - b) < 5e-3;
|
|
1808
|
+
}
|
|
1809
|
+
return Math.round(a) === Math.round(b);
|
|
1810
|
+
}
|
|
1811
|
+
function clampStartPx(desiredPx, avail) {
|
|
1812
|
+
if (avail <= 0) {
|
|
1813
|
+
return 0;
|
|
1814
|
+
}
|
|
1815
|
+
const minStartPx = toPx(props.min, avail);
|
|
1816
|
+
const minEndPx = toPx(props.minEnd, avail);
|
|
1817
|
+
const maxStartPx = props.max != null ? toPx(props.max, avail) : Infinity;
|
|
1818
|
+
if (minStartPx + minEndPx > avail) {
|
|
1819
|
+
return Math.min(Math.max(desiredPx, 0), avail);
|
|
1820
|
+
}
|
|
1821
|
+
const lo = minStartPx;
|
|
1822
|
+
const hi = Math.min(maxStartPx, avail - minEndPx);
|
|
1823
|
+
return Math.min(Math.max(desiredPx, lo), Math.max(lo, hi));
|
|
1824
|
+
}
|
|
1825
|
+
function commit(next) {
|
|
1826
|
+
if (valuesEqual(next, size.value)) {
|
|
1827
|
+
size.value = next;
|
|
1828
|
+
return;
|
|
1829
|
+
}
|
|
1830
|
+
size.value = next;
|
|
1831
|
+
emit("update:modelValue", next);
|
|
1832
|
+
}
|
|
1833
|
+
function applyLayout(emitIfChanged) {
|
|
1834
|
+
const avail = measureAvailable();
|
|
1835
|
+
available.value = avail;
|
|
1836
|
+
const clamped = clampStartPx(toPx(size.value, avail), avail);
|
|
1837
|
+
startPx.value = clamped;
|
|
1838
|
+
const next = fromPx(clamped, avail);
|
|
1839
|
+
if (emitIfChanged) {
|
|
1840
|
+
commit(next);
|
|
1841
|
+
}
|
|
1842
|
+
}
|
|
1843
|
+
function isRtl() {
|
|
1844
|
+
return !!rootRef.value && getComputedStyle(rootRef.value).direction === "rtl";
|
|
1845
|
+
}
|
|
1846
|
+
function applyDragCursor() {
|
|
1847
|
+
savedBodyCursor = document.body.style.cursor;
|
|
1848
|
+
savedHtmlCursor = document.documentElement.style.cursor;
|
|
1849
|
+
savedUserSelect = document.body.style.userSelect;
|
|
1850
|
+
const cursor = isRow.value ? "col-resize" : "row-resize";
|
|
1851
|
+
document.body.style.cursor = cursor;
|
|
1852
|
+
document.documentElement.style.cursor = cursor;
|
|
1853
|
+
document.body.style.userSelect = "none";
|
|
1854
|
+
}
|
|
1855
|
+
function restoreDragCursor() {
|
|
1856
|
+
document.body.style.cursor = savedBodyCursor;
|
|
1857
|
+
document.documentElement.style.cursor = savedHtmlCursor;
|
|
1858
|
+
document.body.style.userSelect = savedUserSelect;
|
|
1859
|
+
}
|
|
1860
|
+
function releaseDragCapture() {
|
|
1861
|
+
const el = handleRef.value;
|
|
1862
|
+
const id = dragPointer;
|
|
1863
|
+
if (!el || id === -1) {
|
|
1864
|
+
return;
|
|
1865
|
+
}
|
|
1866
|
+
if (typeof el.hasPointerCapture === "function" && !el.hasPointerCapture(id)) {
|
|
1867
|
+
return;
|
|
1868
|
+
}
|
|
1869
|
+
try {
|
|
1870
|
+
el.releasePointerCapture(id);
|
|
1871
|
+
} catch {
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
function endDrag() {
|
|
1875
|
+
if (!isDragging.value) {
|
|
1876
|
+
return;
|
|
1877
|
+
}
|
|
1878
|
+
isDragging.value = false;
|
|
1879
|
+
releaseDragCapture();
|
|
1880
|
+
dragPointer = -1;
|
|
1881
|
+
restoreDragCursor();
|
|
1882
|
+
applyLayout(true);
|
|
1883
|
+
}
|
|
1884
|
+
function setStartFromDelta(delta) {
|
|
1885
|
+
const avail = measureAvailable();
|
|
1886
|
+
available.value = avail;
|
|
1887
|
+
const nextPx = clampStartPx(dragStartPx + delta, avail);
|
|
1888
|
+
startPx.value = nextPx;
|
|
1889
|
+
commit(fromPx(nextPx, avail));
|
|
1890
|
+
}
|
|
1891
|
+
function onPointerDown(event) {
|
|
1892
|
+
if (!props.resizable || event.button !== 0 || !handleRef.value) {
|
|
1893
|
+
return;
|
|
1894
|
+
}
|
|
1895
|
+
dragPointer = event.pointerId;
|
|
1896
|
+
isDragging.value = true;
|
|
1897
|
+
dragStartPx = startPx.value;
|
|
1898
|
+
dragStartCoord = isRow.value ? event.clientX : event.clientY;
|
|
1899
|
+
applyDragCursor();
|
|
1900
|
+
event.preventDefault();
|
|
1901
|
+
try {
|
|
1902
|
+
handleRef.value.setPointerCapture(event.pointerId);
|
|
1903
|
+
} catch {
|
|
1904
|
+
}
|
|
1905
|
+
}
|
|
1906
|
+
function onPointerMove(event) {
|
|
1907
|
+
if (!isDragging.value || event.pointerId !== dragPointer) {
|
|
1908
|
+
return;
|
|
1909
|
+
}
|
|
1910
|
+
const coord = isRow.value ? event.clientX : event.clientY;
|
|
1911
|
+
let delta = coord - dragStartCoord;
|
|
1912
|
+
if (isRow.value && isRtl()) {
|
|
1913
|
+
delta = -delta;
|
|
1914
|
+
}
|
|
1915
|
+
setStartFromDelta(delta);
|
|
1916
|
+
}
|
|
1917
|
+
function onPointerEnd(event) {
|
|
1918
|
+
if (!isDragging.value) {
|
|
1919
|
+
return;
|
|
1920
|
+
}
|
|
1921
|
+
if (dragPointer !== -1 && event.pointerId !== dragPointer) {
|
|
1922
|
+
return;
|
|
1923
|
+
}
|
|
1924
|
+
endDrag();
|
|
1925
|
+
}
|
|
1926
|
+
function onLostPointerCapture() {
|
|
1927
|
+
endDrag();
|
|
1928
|
+
}
|
|
1929
|
+
function ariaMax() {
|
|
1930
|
+
const avail = available.value;
|
|
1931
|
+
if (avail <= 0) {
|
|
1932
|
+
return props.max ?? (props.unit === "%" ? 100 - props.minEnd : 0);
|
|
1933
|
+
}
|
|
1934
|
+
const maxByEnd = fromPx(Math.max(0, avail - toPx(props.minEnd, avail)), avail);
|
|
1935
|
+
if (props.max == null) {
|
|
1936
|
+
return maxByEnd;
|
|
1937
|
+
}
|
|
1938
|
+
return Math.min(props.max, maxByEnd);
|
|
1939
|
+
}
|
|
1940
|
+
const ariaValueMin = vue.computed(() => props.min);
|
|
1941
|
+
const ariaValueMax = vue.computed(() => ariaMax());
|
|
1942
|
+
const ariaValueNow = vue.computed(() => size.value);
|
|
1943
|
+
const ariaValueText = vue.computed(() => props.unit === "%" ? `${size.value}%` : `${Math.round(size.value)}px`);
|
|
1944
|
+
function onKeydown(event) {
|
|
1945
|
+
if (!props.resizable) {
|
|
1946
|
+
return;
|
|
1947
|
+
}
|
|
1948
|
+
const avail = measureAvailable();
|
|
1949
|
+
available.value = avail;
|
|
1950
|
+
if (event.key === "Home") {
|
|
1951
|
+
event.preventDefault();
|
|
1952
|
+
const nextPx2 = clampStartPx(toPx(props.min, avail), avail);
|
|
1953
|
+
startPx.value = nextPx2;
|
|
1954
|
+
commit(fromPx(nextPx2, avail));
|
|
1955
|
+
return;
|
|
1956
|
+
}
|
|
1957
|
+
if (event.key === "End") {
|
|
1958
|
+
event.preventDefault();
|
|
1959
|
+
const nextPx2 = clampStartPx(toPx(ariaMax(), avail), avail);
|
|
1960
|
+
startPx.value = nextPx2;
|
|
1961
|
+
commit(fromPx(nextPx2, avail));
|
|
1962
|
+
return;
|
|
1963
|
+
}
|
|
1964
|
+
const primary = isRow.value && (event.key === "ArrowLeft" || event.key === "ArrowRight") || !isRow.value && (event.key === "ArrowUp" || event.key === "ArrowDown");
|
|
1965
|
+
const secondary = isRow.value && (event.key === "ArrowUp" || event.key === "ArrowDown") || !isRow.value && (event.key === "ArrowLeft" || event.key === "ArrowRight");
|
|
1966
|
+
if (!primary && !secondary) {
|
|
1967
|
+
return;
|
|
1968
|
+
}
|
|
1969
|
+
event.preventDefault();
|
|
1970
|
+
let dir = event.key === "ArrowRight" || event.key === "ArrowDown" ? 1 : -1;
|
|
1971
|
+
if (isRow.value && isRtl() && (event.key === "ArrowLeft" || event.key === "ArrowRight")) {
|
|
1972
|
+
dir = -dir;
|
|
1973
|
+
}
|
|
1974
|
+
const nextModel = size.value + dir * stepValue.value;
|
|
1975
|
+
const nextPx = clampStartPx(toPx(nextModel, avail), avail);
|
|
1976
|
+
startPx.value = nextPx;
|
|
1977
|
+
commit(fromPx(nextPx, avail));
|
|
1978
|
+
}
|
|
1979
|
+
vue.watch(
|
|
1980
|
+
() => props.modelValue,
|
|
1981
|
+
(value) => {
|
|
1982
|
+
if (isDragging.value) {
|
|
1983
|
+
return;
|
|
1984
|
+
}
|
|
1985
|
+
if (!valuesEqual(value, size.value)) {
|
|
1986
|
+
size.value = value;
|
|
1987
|
+
applyLayout(false);
|
|
1988
|
+
}
|
|
1989
|
+
}
|
|
1990
|
+
);
|
|
1991
|
+
vue.watch(
|
|
1992
|
+
() => [props.unit, props.direction, props.min, props.max, props.minEnd, props.resizable],
|
|
1993
|
+
() => {
|
|
1994
|
+
if (!isDragging.value) {
|
|
1995
|
+
applyLayout(true);
|
|
1996
|
+
}
|
|
1997
|
+
}
|
|
1998
|
+
);
|
|
1999
|
+
vue.onMounted(() => {
|
|
2000
|
+
applyLayout(false);
|
|
2001
|
+
resizeObserver = new ResizeObserver(() => {
|
|
2002
|
+
if (isDragging.value) {
|
|
2003
|
+
return;
|
|
2004
|
+
}
|
|
2005
|
+
applyLayout(true);
|
|
2006
|
+
});
|
|
2007
|
+
if (rootRef.value) {
|
|
2008
|
+
resizeObserver.observe(rootRef.value);
|
|
2009
|
+
}
|
|
2010
|
+
stopFocusLoss = listenFocusLoss(endDrag);
|
|
2011
|
+
});
|
|
2012
|
+
vue.onBeforeUnmount(() => {
|
|
2013
|
+
endDrag();
|
|
2014
|
+
resizeObserver == null ? void 0 : resizeObserver.disconnect();
|
|
2015
|
+
resizeObserver = null;
|
|
2016
|
+
stopFocusLoss == null ? void 0 : stopFocusLoss();
|
|
2017
|
+
});
|
|
2018
|
+
return (_ctx, _cache) => {
|
|
2019
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
2020
|
+
ref_key: "rootRef",
|
|
2021
|
+
ref: rootRef,
|
|
2022
|
+
class: vue.normalizeClass(["tao-split", [
|
|
2023
|
+
`tao-split--${__props.direction}`,
|
|
2024
|
+
{
|
|
2025
|
+
"tao-split--fixed": !__props.resizable,
|
|
2026
|
+
"tao-split--dragging": isDragging.value
|
|
2027
|
+
}
|
|
2028
|
+
]]),
|
|
2029
|
+
style: vue.normalizeStyle({ "--tao-split-start": `${startPx.value}px` })
|
|
2030
|
+
}, [
|
|
2031
|
+
vue.createElementVNode("div", _hoisted_1$B, [
|
|
2032
|
+
vue.renderSlot(_ctx.$slots, "start", {}, void 0, true)
|
|
2033
|
+
]),
|
|
2034
|
+
vue.createElementVNode("div", {
|
|
2035
|
+
ref_key: "handleRef",
|
|
2036
|
+
ref: handleRef,
|
|
2037
|
+
class: "tao-split__handle",
|
|
2038
|
+
role: "separator",
|
|
2039
|
+
"aria-orientation": ariaOrientation.value,
|
|
2040
|
+
"aria-valuemin": ariaValueMin.value,
|
|
2041
|
+
"aria-valuemax": ariaValueMax.value,
|
|
2042
|
+
"aria-valuenow": ariaValueNow.value,
|
|
2043
|
+
"aria-valuetext": ariaValueText.value,
|
|
2044
|
+
"aria-disabled": __props.resizable ? void 0 : true,
|
|
2045
|
+
tabindex: __props.resizable ? 0 : -1,
|
|
2046
|
+
onPointerdown: onPointerDown,
|
|
2047
|
+
onPointermove: onPointerMove,
|
|
2048
|
+
onPointerup: onPointerEnd,
|
|
2049
|
+
onPointercancel: onPointerEnd,
|
|
2050
|
+
onLostpointercapture: onLostPointerCapture,
|
|
2051
|
+
onKeydown,
|
|
2052
|
+
onDragstart: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
2053
|
+
}, ["prevent"]))
|
|
2054
|
+
}, null, 40, _hoisted_2$x),
|
|
2055
|
+
vue.createElementVNode("div", _hoisted_3$r, [
|
|
2056
|
+
vue.renderSlot(_ctx.$slots, "end", {}, void 0, true)
|
|
2057
|
+
]),
|
|
2058
|
+
isDragging.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$n)) : vue.createCommentVNode("", true)
|
|
2059
|
+
], 6);
|
|
2060
|
+
};
|
|
2061
|
+
}
|
|
2062
|
+
});
|
|
2063
|
+
const TaoSplit = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-f44196dc"]]);
|
|
1696
2064
|
const _hoisted_1$A = { class: "tao-icon" };
|
|
1697
2065
|
const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
1698
2066
|
...{ name: "TaoIcon" },
|
|
@@ -1785,6 +2153,7 @@
|
|
|
1785
2153
|
const TaoLoader = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-75a40018"]]);
|
|
1786
2154
|
const _hoisted_1$z = { class: "tao-image" };
|
|
1787
2155
|
const _hoisted_2$w = ["src", "alt", "loading"];
|
|
2156
|
+
const _hoisted_3$q = { class: "tao-image__placeholder" };
|
|
1788
2157
|
const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
1789
2158
|
...{ name: "TaoImage" },
|
|
1790
2159
|
__name: "TaoImage",
|
|
@@ -1792,7 +2161,8 @@
|
|
|
1792
2161
|
src: { default: "" },
|
|
1793
2162
|
alt: { default: "" },
|
|
1794
2163
|
pixelated: { type: Boolean, default: false },
|
|
1795
|
-
lazy: { type: Boolean, default: false }
|
|
2164
|
+
lazy: { type: Boolean, default: false },
|
|
2165
|
+
placeholderText: { default: "No image available" }
|
|
1796
2166
|
},
|
|
1797
2167
|
emits: ["load", "error"],
|
|
1798
2168
|
setup(__props, { emit: __emit }) {
|
|
@@ -1823,20 +2193,20 @@
|
|
|
1823
2193
|
onLoad: handleLoad,
|
|
1824
2194
|
onError: handleError
|
|
1825
2195
|
}, null, 42, _hoisted_2$w)) : vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
1826
|
-
|
|
2196
|
+
vue.createElementVNode("div", _hoisted_3$q, vue.toDisplayString(__props.placeholderText), 1)
|
|
1827
2197
|
], true, 1)
|
|
1828
2198
|
]);
|
|
1829
2199
|
};
|
|
1830
2200
|
}
|
|
1831
2201
|
});
|
|
1832
|
-
const TaoImage = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-
|
|
2202
|
+
const TaoImage = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-e7c911e5"]]);
|
|
1833
2203
|
const _hoisted_1$y = ["for"];
|
|
1834
2204
|
const _hoisted_2$v = ["id", "checked", "disabled", "aria-checked", "aria-invalid", "aria-describedby"];
|
|
1835
2205
|
const _hoisted_3$p = {
|
|
1836
2206
|
key: 0,
|
|
1837
2207
|
class: "tao-checkbox__label"
|
|
1838
2208
|
};
|
|
1839
|
-
const _hoisted_4$
|
|
2209
|
+
const _hoisted_4$m = {
|
|
1840
2210
|
key: 1,
|
|
1841
2211
|
class: "tao-checkbox__label"
|
|
1842
2212
|
};
|
|
@@ -1912,7 +2282,7 @@
|
|
|
1912
2282
|
onChange: onInputChange
|
|
1913
2283
|
}, null, 40, _hoisted_2$v),
|
|
1914
2284
|
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "tao-checkbox__box" }, null, -1)),
|
|
1915
|
-
__props.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$p, vue.toDisplayString(__props.label), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$
|
|
2285
|
+
__props.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$p, vue.toDisplayString(__props.label), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$m, [
|
|
1916
2286
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1917
2287
|
])),
|
|
1918
2288
|
vue.renderSlot(_ctx.$slots, "post", { text: __props.label }, void 0, true)
|
|
@@ -1927,6 +2297,7 @@
|
|
|
1927
2297
|
};
|
|
1928
2298
|
const _hoisted_2$u = { class: "tao-tag__text" };
|
|
1929
2299
|
const _hoisted_3$o = ["aria-label"];
|
|
2300
|
+
const _hoisted_4$l = { "aria-hidden": "true" };
|
|
1930
2301
|
const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
1931
2302
|
...{ name: "TaoTag" },
|
|
1932
2303
|
__name: "TaoTag",
|
|
@@ -1979,12 +2350,18 @@
|
|
|
1979
2350
|
class: "tao-tag__close",
|
|
1980
2351
|
"aria-label": __props.closeLabel,
|
|
1981
2352
|
onClick: vue.withModifiers(onClose, ["stop"])
|
|
1982
|
-
},
|
|
2353
|
+
}, [
|
|
2354
|
+
vue.createElementVNode("span", _hoisted_4$l, [
|
|
2355
|
+
vue.renderSlot(_ctx.$slots, "close-icon", {}, () => [
|
|
2356
|
+
_cache[0] || (_cache[0] = vue.createTextVNode("✕", -1))
|
|
2357
|
+
], true)
|
|
2358
|
+
])
|
|
2359
|
+
], 8, _hoisted_3$o)) : vue.createCommentVNode("", true)
|
|
1983
2360
|
], 6);
|
|
1984
2361
|
};
|
|
1985
2362
|
}
|
|
1986
2363
|
});
|
|
1987
|
-
const TaoTag = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-
|
|
2364
|
+
const TaoTag = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-f353f529"]]);
|
|
1988
2365
|
const _hoisted_1$w = {
|
|
1989
2366
|
key: 1,
|
|
1990
2367
|
class: "tao-divider-text"
|
|
@@ -2221,7 +2598,7 @@
|
|
|
2221
2598
|
}
|
|
2222
2599
|
});
|
|
2223
2600
|
const TaoTextarea = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-2534c0c4"]]);
|
|
2224
|
-
const _hoisted_1$t = ["tabindex"];
|
|
2601
|
+
const _hoisted_1$t = ["tabindex", "aria-label"];
|
|
2225
2602
|
const _hoisted_2$q = { class: "tao-scroll-top__content" };
|
|
2226
2603
|
const RIPPLE_DURATION = 750;
|
|
2227
2604
|
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -2234,7 +2611,8 @@
|
|
|
2234
2611
|
zIndex: { default: 1e3 },
|
|
2235
2612
|
boundary: { default: 300 },
|
|
2236
2613
|
hasOutline: { type: Boolean, default: true },
|
|
2237
|
-
tabindex: { default: 0 }
|
|
2614
|
+
tabindex: { default: 0 },
|
|
2615
|
+
ariaLabel: { default: "Наверх" }
|
|
2238
2616
|
},
|
|
2239
2617
|
setup(__props) {
|
|
2240
2618
|
const props = __props;
|
|
@@ -2321,7 +2699,7 @@
|
|
|
2321
2699
|
style: vue.normalizeStyle(mainStyle),
|
|
2322
2700
|
tabindex: props.tabindex,
|
|
2323
2701
|
class: vue.normalizeClass(["tao-scroll-top", { "tao-scroll-top--no-outline": !props.hasOutline }]),
|
|
2324
|
-
"aria-label":
|
|
2702
|
+
"aria-label": props.ariaLabel,
|
|
2325
2703
|
onClick: vue.withModifiers(onClick, ["prevent"])
|
|
2326
2704
|
}, [
|
|
2327
2705
|
vue.createElementVNode("div", _hoisted_2$q, [
|
|
@@ -2348,7 +2726,7 @@
|
|
|
2348
2726
|
};
|
|
2349
2727
|
}
|
|
2350
2728
|
});
|
|
2351
|
-
const TaoScrollTop = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-
|
|
2729
|
+
const TaoScrollTop = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-59678649"]]);
|
|
2352
2730
|
const _hoisted_1$s = { class: "tao-progress" };
|
|
2353
2731
|
const _hoisted_2$p = {
|
|
2354
2732
|
key: 0,
|
|
@@ -2359,11 +2737,11 @@
|
|
|
2359
2737
|
key: 0,
|
|
2360
2738
|
class: "tao-progress__percentage"
|
|
2361
2739
|
};
|
|
2362
|
-
const _hoisted_5$
|
|
2740
|
+
const _hoisted_5$g = {
|
|
2363
2741
|
key: 1,
|
|
2364
2742
|
class: "tao-progress__side"
|
|
2365
2743
|
};
|
|
2366
|
-
const _hoisted_6$
|
|
2744
|
+
const _hoisted_6$c = {
|
|
2367
2745
|
key: 0,
|
|
2368
2746
|
class: "tao-progress__percentage"
|
|
2369
2747
|
};
|
|
@@ -2418,9 +2796,9 @@
|
|
|
2418
2796
|
}, null, 6)
|
|
2419
2797
|
], 4)
|
|
2420
2798
|
]),
|
|
2421
|
-
_ctx.$slots.right || showEndPercent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
2799
|
+
_ctx.$slots.right || showEndPercent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$g, [
|
|
2422
2800
|
vue.renderSlot(_ctx.$slots, "right", {}, void 0, true),
|
|
2423
|
-
showEndPercent.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$
|
|
2801
|
+
showEndPercent.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$c, vue.toDisplayString(endPercentLabel.value), 1)) : vue.createCommentVNode("", true)
|
|
2424
2802
|
])) : vue.createCommentVNode("", true)
|
|
2425
2803
|
], 6)
|
|
2426
2804
|
]);
|
|
@@ -2665,14 +3043,17 @@
|
|
|
2665
3043
|
const TaoSlider = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-24a38782"]]);
|
|
2666
3044
|
const _hoisted_1$q = { class: "tao-file-drop" };
|
|
2667
3045
|
const _hoisted_2$n = { class: "tao-file-drop__row" };
|
|
2668
|
-
const _hoisted_3$j = ["
|
|
2669
|
-
const _hoisted_4$i = {
|
|
3046
|
+
const _hoisted_3$j = ["aria-label"];
|
|
3047
|
+
const _hoisted_4$i = { "aria-hidden": "true" };
|
|
3048
|
+
const _hoisted_5$f = ["accept", "multiple"];
|
|
3049
|
+
const _hoisted_6$b = {
|
|
2670
3050
|
key: 0,
|
|
2671
3051
|
class: "tao-file-drop__list"
|
|
2672
3052
|
};
|
|
2673
|
-
const
|
|
2674
|
-
const
|
|
2675
|
-
const
|
|
3053
|
+
const _hoisted_7$a = { class: "tao-file-drop__name" };
|
|
3054
|
+
const _hoisted_8$9 = { class: "tao-file-drop__meta" };
|
|
3055
|
+
const _hoisted_9$4 = ["aria-label", "onClick"];
|
|
3056
|
+
const _hoisted_10$4 = { "aria-hidden": "true" };
|
|
2676
3057
|
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
2677
3058
|
...{ name: "TaoFileDrop" },
|
|
2678
3059
|
__name: "TaoFileDrop",
|
|
@@ -2682,6 +3063,9 @@
|
|
|
2682
3063
|
accept: { default: "*" },
|
|
2683
3064
|
multiple: { type: Boolean, default: false },
|
|
2684
3065
|
showClear: { type: Boolean, default: false },
|
|
3066
|
+
clearLabel: { default: "Очистить файлы" },
|
|
3067
|
+
removeLabel: { default: "Убрать «{name}»" },
|
|
3068
|
+
formatSize: {},
|
|
2685
3069
|
list: { type: Boolean, default: true }
|
|
2686
3070
|
},
|
|
2687
3071
|
emits: ["update:modelValue", "files", "clear-request"],
|
|
@@ -2748,7 +3132,7 @@
|
|
|
2748
3132
|
el.type = "file";
|
|
2749
3133
|
}
|
|
2750
3134
|
}
|
|
2751
|
-
function
|
|
3135
|
+
function defaultFormatSize(bytes) {
|
|
2752
3136
|
if (bytes < 1024) {
|
|
2753
3137
|
return `${bytes} Б`;
|
|
2754
3138
|
}
|
|
@@ -2761,6 +3145,9 @@
|
|
|
2761
3145
|
const value = mb < 10 ? mb.toFixed(1) : String(Math.round(mb));
|
|
2762
3146
|
return `${value.replace(".", ",")} МБ`;
|
|
2763
3147
|
}
|
|
3148
|
+
function sizeLabel(bytes) {
|
|
3149
|
+
return props.formatSize ? props.formatSize(bytes) : defaultFormatSize(bytes);
|
|
3150
|
+
}
|
|
2764
3151
|
function fileKey(file, index) {
|
|
2765
3152
|
return `${file.name}-${file.size}-${file.lastModified}-${index}`;
|
|
2766
3153
|
}
|
|
@@ -2778,9 +3165,15 @@
|
|
|
2778
3165
|
key: 0,
|
|
2779
3166
|
type: "button",
|
|
2780
3167
|
class: "tao-file-drop__clear",
|
|
2781
|
-
"aria-label":
|
|
3168
|
+
"aria-label": __props.clearLabel,
|
|
2782
3169
|
onClick: requestClear
|
|
2783
|
-
},
|
|
3170
|
+
}, [
|
|
3171
|
+
vue.createElementVNode("span", _hoisted_4$i, [
|
|
3172
|
+
vue.renderSlot(_ctx.$slots, "clear-icon", {}, () => [
|
|
3173
|
+
_cache[1] || (_cache[1] = vue.createTextVNode("✕", -1))
|
|
3174
|
+
], true)
|
|
3175
|
+
])
|
|
3176
|
+
], 8, _hoisted_3$j)) : vue.createCommentVNode("", true),
|
|
2784
3177
|
vue.createElementVNode("label", {
|
|
2785
3178
|
class: vue.normalizeClass(["tao-file-drop__zone", [`tao-file-drop__zone--${__props.size}`, { "tao-file-drop__zone--dragging": isDragging.value }]]),
|
|
2786
3179
|
onDragover: handleDragOver,
|
|
@@ -2788,7 +3181,7 @@
|
|
|
2788
3181
|
onDrop: handleDrop
|
|
2789
3182
|
}, [
|
|
2790
3183
|
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
2791
|
-
_cache[
|
|
3184
|
+
_cache[2] || (_cache[2] = vue.createTextVNode("Перетащите файл сюда или нажмите, чтобы выбрать", -1))
|
|
2792
3185
|
], true),
|
|
2793
3186
|
vue.createElementVNode("input", {
|
|
2794
3187
|
ref_key: "fileInput",
|
|
@@ -2800,23 +3193,29 @@
|
|
|
2800
3193
|
onChange: handleFileSelect,
|
|
2801
3194
|
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
2802
3195
|
}, ["stop"]))
|
|
2803
|
-
}, null, 40,
|
|
3196
|
+
}, null, 40, _hoisted_5$f)
|
|
2804
3197
|
], 34)
|
|
2805
3198
|
]),
|
|
2806
|
-
__props.list && __props.modelValue.length ? (vue.openBlock(), vue.createElementBlock("ul",
|
|
3199
|
+
__props.list && __props.modelValue.length ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_6$b, [
|
|
2807
3200
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.modelValue, (file, index) => {
|
|
2808
3201
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
2809
3202
|
key: fileKey(file, index),
|
|
2810
3203
|
class: "tao-file-drop__file"
|
|
2811
3204
|
}, [
|
|
2812
|
-
vue.createElementVNode("span",
|
|
2813
|
-
vue.createElementVNode("span",
|
|
3205
|
+
vue.createElementVNode("span", _hoisted_7$a, vue.toDisplayString(file.name), 1),
|
|
3206
|
+
vue.createElementVNode("span", _hoisted_8$9, vue.toDisplayString(sizeLabel(file.size)), 1),
|
|
2814
3207
|
vue.createElementVNode("button", {
|
|
2815
3208
|
type: "button",
|
|
2816
3209
|
class: "tao-file-drop__remove",
|
|
2817
|
-
"aria-label":
|
|
3210
|
+
"aria-label": __props.removeLabel.replace("{name}", file.name),
|
|
2818
3211
|
onClick: ($event) => removeAt(index)
|
|
2819
|
-
},
|
|
3212
|
+
}, [
|
|
3213
|
+
vue.createElementVNode("span", _hoisted_10$4, [
|
|
3214
|
+
vue.renderSlot(_ctx.$slots, "remove-icon", {}, () => [
|
|
3215
|
+
_cache[3] || (_cache[3] = vue.createTextVNode("✕", -1))
|
|
3216
|
+
], true)
|
|
3217
|
+
])
|
|
3218
|
+
], 8, _hoisted_9$4)
|
|
2820
3219
|
]);
|
|
2821
3220
|
}), 128))
|
|
2822
3221
|
])) : vue.createCommentVNode("", true)
|
|
@@ -2824,19 +3223,18 @@
|
|
|
2824
3223
|
};
|
|
2825
3224
|
}
|
|
2826
3225
|
});
|
|
2827
|
-
const TaoFileDrop = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-
|
|
3226
|
+
const TaoFileDrop = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-570fc1bb"]]);
|
|
2828
3227
|
const _hoisted_1$p = ["aria-expanded"];
|
|
2829
|
-
const _hoisted_2$m =
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
};
|
|
2833
|
-
const _hoisted_3$i = ["onClick", "onMouseenter"];
|
|
2834
|
-
const _hoisted_4$h = { key: 1 };
|
|
3228
|
+
const _hoisted_2$m = ["aria-label"];
|
|
3229
|
+
const _hoisted_3$i = { "aria-hidden": "true" };
|
|
3230
|
+
const _hoisted_4$h = ["onClick", "onMouseenter"];
|
|
3231
|
+
const _hoisted_5$e = { key: 1 };
|
|
2835
3232
|
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
2836
3233
|
...{ name: "TaoDropdownMenu" },
|
|
2837
3234
|
__name: "TaoDropdownMenu",
|
|
2838
3235
|
props: {
|
|
2839
|
-
actions: { default: () => [] }
|
|
3236
|
+
actions: { default: () => [] },
|
|
3237
|
+
menuLabel: { default: "Меню" }
|
|
2840
3238
|
},
|
|
2841
3239
|
emits: ["selected"],
|
|
2842
3240
|
setup(__props, { emit: __emit }) {
|
|
@@ -2967,7 +3365,16 @@
|
|
|
2967
3365
|
"aria-expanded": isOpen.value,
|
|
2968
3366
|
onClick: toggleMenu
|
|
2969
3367
|
}, [
|
|
2970
|
-
_ctx.$slots.button ? vue.renderSlot(_ctx.$slots, "button", {}, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock("span",
|
|
3368
|
+
_ctx.$slots.button ? vue.renderSlot(_ctx.$slots, "button", {}, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock("span", {
|
|
3369
|
+
key: 1,
|
|
3370
|
+
"aria-label": __props.menuLabel
|
|
3371
|
+
}, [
|
|
3372
|
+
vue.createElementVNode("span", _hoisted_3$i, [
|
|
3373
|
+
vue.renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
3374
|
+
_cache[0] || (_cache[0] = vue.createTextVNode("⋮", -1))
|
|
3375
|
+
], true)
|
|
3376
|
+
])
|
|
3377
|
+
], 8, _hoisted_2$m))
|
|
2971
3378
|
], 8, _hoisted_1$p),
|
|
2972
3379
|
(vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
2973
3380
|
isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -2993,8 +3400,8 @@
|
|
|
2993
3400
|
id: action.id,
|
|
2994
3401
|
ico: action.ico,
|
|
2995
3402
|
text: action.name
|
|
2996
|
-
}, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock("span",
|
|
2997
|
-
], 42,
|
|
3403
|
+
}, void 0, true, 0) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$e, vue.toDisplayString(action.name), 1))
|
|
3404
|
+
], 42, _hoisted_4$h);
|
|
2998
3405
|
}), 128))
|
|
2999
3406
|
], 36)) : vue.createCommentVNode("", true)
|
|
3000
3407
|
]))
|
|
@@ -3002,7 +3409,7 @@
|
|
|
3002
3409
|
};
|
|
3003
3410
|
}
|
|
3004
3411
|
});
|
|
3005
|
-
const TaoDropdownMenu = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-
|
|
3412
|
+
const TaoDropdownMenu = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-42bc0a2a"]]);
|
|
3006
3413
|
const _hoisted_1$o = ["aria-invalid", "aria-describedby"];
|
|
3007
3414
|
const _hoisted_2$l = ["id", "value", "placeholder", "type", "inputmode", "pattern", "onInput", "onKeydown", "onFocus"];
|
|
3008
3415
|
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -3286,7 +3693,8 @@
|
|
|
3286
3693
|
options: { default: () => [] },
|
|
3287
3694
|
placeholder: { default: "Выберите" },
|
|
3288
3695
|
disabled: { type: Boolean, default: false },
|
|
3289
|
-
error: { type: Boolean, default: false }
|
|
3696
|
+
error: { type: Boolean, default: false },
|
|
3697
|
+
clearText: { default: "Очистить" }
|
|
3290
3698
|
},
|
|
3291
3699
|
emits: ["update:modelValue", "change"],
|
|
3292
3700
|
setup(__props, { emit: __emit }) {
|
|
@@ -3492,10 +3900,12 @@
|
|
|
3492
3900
|
onKeydown: onTriggerKeydown
|
|
3493
3901
|
}, [
|
|
3494
3902
|
vue.createElementVNode("span", _hoisted_2$k, vue.toDisplayString(((_a = selected.value) == null ? void 0 : _a.label) ?? __props.placeholder), 1),
|
|
3495
|
-
|
|
3496
|
-
class: "tao-select__chevron",
|
|
3903
|
+
vue.createElementVNode("span", {
|
|
3904
|
+
class: vue.normalizeClass(["tao-select__chevron", { "tao-select__chevron--custom": _ctx.$slots.chevron }]),
|
|
3497
3905
|
"aria-hidden": "true"
|
|
3498
|
-
},
|
|
3906
|
+
}, [
|
|
3907
|
+
vue.renderSlot(_ctx.$slots, "chevron", {}, void 0, true)
|
|
3908
|
+
], 2)
|
|
3499
3909
|
], 42, _hoisted_1$m),
|
|
3500
3910
|
(vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
3501
3911
|
open.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -3542,14 +3952,18 @@
|
|
|
3542
3952
|
onMousedown: _cache[1] || (_cache[1] = vue.withModifiers(() => {
|
|
3543
3953
|
}, ["prevent"])),
|
|
3544
3954
|
onClick: clear
|
|
3545
|
-
},
|
|
3955
|
+
}, [
|
|
3956
|
+
vue.renderSlot(_ctx.$slots, "clear", {}, () => [
|
|
3957
|
+
vue.createTextVNode(vue.toDisplayString(__props.clearText), 1)
|
|
3958
|
+
], true)
|
|
3959
|
+
], 32)) : vue.createCommentVNode("", true)
|
|
3546
3960
|
], 4)) : vue.createCommentVNode("", true)
|
|
3547
3961
|
]))
|
|
3548
3962
|
], 2);
|
|
3549
3963
|
};
|
|
3550
3964
|
}
|
|
3551
3965
|
});
|
|
3552
|
-
const TaoSelect = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-
|
|
3966
|
+
const TaoSelect = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-c5d6cdd3"]]);
|
|
3553
3967
|
const _hoisted_1$l = ["id", "aria-expanded", "aria-activedescendant", "aria-invalid", "aria-describedby", "disabled", "placeholder", "value"];
|
|
3554
3968
|
const _hoisted_2$j = {
|
|
3555
3969
|
key: 0,
|
|
@@ -3565,6 +3979,8 @@
|
|
|
3565
3979
|
placeholder: { default: "Начните вводить" },
|
|
3566
3980
|
disabled: { type: Boolean, default: false },
|
|
3567
3981
|
error: { type: Boolean, default: false },
|
|
3982
|
+
emptyText: { default: "Ничего не найдено" },
|
|
3983
|
+
clearText: { default: "Очистить" },
|
|
3568
3984
|
allowCreate: { type: Boolean, default: false }
|
|
3569
3985
|
},
|
|
3570
3986
|
emits: ["update:modelValue", "change", "create"],
|
|
@@ -3965,10 +4381,12 @@
|
|
|
3965
4381
|
onBlur,
|
|
3966
4382
|
onKeydown: onInputKeydown
|
|
3967
4383
|
}, null, 40, _hoisted_1$l),
|
|
3968
|
-
|
|
3969
|
-
class: "tao-combobox__chevron",
|
|
4384
|
+
vue.createElementVNode("span", {
|
|
4385
|
+
class: vue.normalizeClass(["tao-combobox__chevron", { "tao-combobox__chevron--custom": _ctx.$slots.chevron }]),
|
|
3970
4386
|
"aria-hidden": "true"
|
|
3971
|
-
},
|
|
4387
|
+
}, [
|
|
4388
|
+
vue.renderSlot(_ctx.$slots, "chevron", {}, void 0, true)
|
|
4389
|
+
], 2)
|
|
3972
4390
|
], 544),
|
|
3973
4391
|
(vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
3974
4392
|
open.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -3985,7 +4403,11 @@
|
|
|
3985
4403
|
class: "tao-combobox__list",
|
|
3986
4404
|
role: "listbox"
|
|
3987
4405
|
}, [
|
|
3988
|
-
!rows.value.length ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_2$j,
|
|
4406
|
+
!rows.value.length ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_2$j, [
|
|
4407
|
+
vue.renderSlot(_ctx.$slots, "empty", {}, () => [
|
|
4408
|
+
vue.createTextVNode(vue.toDisplayString(__props.emptyText), 1)
|
|
4409
|
+
], true)
|
|
4410
|
+
])) : vue.createCommentVNode("", true),
|
|
3989
4411
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(rows.value, (row, index) => {
|
|
3990
4412
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
3991
4413
|
id: `${listId}-row-${index}`,
|
|
@@ -4004,9 +4426,11 @@
|
|
|
4004
4426
|
onClick: ($event) => activateRow(row),
|
|
4005
4427
|
onMouseenter: ($event) => !(row.kind === "option" && row.option.disabled) && (activeIndex.value = index)
|
|
4006
4428
|
}, [
|
|
4007
|
-
row.kind === "create" ?
|
|
4429
|
+
row.kind === "create" ? vue.renderSlot(_ctx.$slots, "create", {
|
|
4430
|
+
text: row.text
|
|
4431
|
+
}, () => [
|
|
4008
4432
|
vue.createTextVNode("Добавить «" + vue.toDisplayString(row.text) + "»", 1)
|
|
4009
|
-
],
|
|
4433
|
+
], true, 0) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
4010
4434
|
vue.createTextVNode(vue.toDisplayString(row.option.label), 1)
|
|
4011
4435
|
], 64))
|
|
4012
4436
|
], 42, _hoisted_3$g);
|
|
@@ -4017,14 +4441,18 @@
|
|
|
4017
4441
|
type: "button",
|
|
4018
4442
|
class: "tao-combobox__clear",
|
|
4019
4443
|
onMousedown: vue.withModifiers(markPicking, ["prevent"])
|
|
4020
|
-
},
|
|
4444
|
+
}, [
|
|
4445
|
+
vue.renderSlot(_ctx.$slots, "clear", {}, () => [
|
|
4446
|
+
vue.createTextVNode(vue.toDisplayString(__props.clearText), 1)
|
|
4447
|
+
], true)
|
|
4448
|
+
], 32)) : vue.createCommentVNode("", true)
|
|
4021
4449
|
], 4)) : vue.createCommentVNode("", true)
|
|
4022
4450
|
]))
|
|
4023
4451
|
], 2);
|
|
4024
4452
|
};
|
|
4025
4453
|
}
|
|
4026
4454
|
});
|
|
4027
|
-
const TaoCombobox = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-
|
|
4455
|
+
const TaoCombobox = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-2281e009"]]);
|
|
4028
4456
|
const ISO_DATE = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
4029
4457
|
function formatTaoDateIso(parts) {
|
|
4030
4458
|
return `${String(parts.y).padStart(4, "0")}-${String(parts.m).padStart(2, "0")}-${String(parts.d).padStart(2, "0")}`;
|
|
@@ -4154,20 +4582,28 @@
|
|
|
4154
4582
|
}
|
|
4155
4583
|
const _hoisted_1$k = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
|
|
4156
4584
|
const _hoisted_2$i = { class: "tao-date__value" };
|
|
4157
|
-
const _hoisted_3$f =
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4585
|
+
const _hoisted_3$f = {
|
|
4586
|
+
class: "tao-date__icon",
|
|
4587
|
+
"aria-hidden": "true"
|
|
4588
|
+
};
|
|
4589
|
+
const _hoisted_4$f = ["aria-label"];
|
|
4590
|
+
const _hoisted_5$d = { class: "tao-date__header" };
|
|
4591
|
+
const _hoisted_6$a = ["aria-label"];
|
|
4592
|
+
const _hoisted_7$9 = { "aria-hidden": "true" };
|
|
4593
|
+
const _hoisted_8$8 = { class: "tao-date__month" };
|
|
4594
|
+
const _hoisted_9$3 = ["aria-label"];
|
|
4595
|
+
const _hoisted_10$3 = { "aria-hidden": "true" };
|
|
4596
|
+
const _hoisted_11$2 = {
|
|
4161
4597
|
class: "tao-date__weekdays",
|
|
4162
4598
|
"aria-hidden": "true"
|
|
4163
4599
|
};
|
|
4164
|
-
const
|
|
4600
|
+
const _hoisted_12$1 = {
|
|
4165
4601
|
class: "tao-date__grid",
|
|
4166
4602
|
role: "grid"
|
|
4167
4603
|
};
|
|
4168
|
-
const
|
|
4169
|
-
const
|
|
4170
|
-
const
|
|
4604
|
+
const _hoisted_13$1 = ["aria-label", "aria-selected", "disabled", "onClick"];
|
|
4605
|
+
const _hoisted_14$1 = { class: "tao-date__footer" };
|
|
4606
|
+
const _hoisted_15 = ["disabled"];
|
|
4171
4607
|
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
4172
4608
|
...{ name: "TaoDate" },
|
|
4173
4609
|
__name: "TaoDate",
|
|
@@ -4178,7 +4614,11 @@
|
|
|
4178
4614
|
error: { type: Boolean, default: false },
|
|
4179
4615
|
min: { default: void 0 },
|
|
4180
4616
|
max: { default: void 0 },
|
|
4181
|
-
locale: { default: "ru-RU" }
|
|
4617
|
+
locale: { default: "ru-RU" },
|
|
4618
|
+
todayText: { default: "Сегодня" },
|
|
4619
|
+
clearText: { default: "Очистить" },
|
|
4620
|
+
prevMonthLabel: { default: "Предыдущий месяц" },
|
|
4621
|
+
nextMonthLabel: { default: "Следующий месяц" }
|
|
4182
4622
|
},
|
|
4183
4623
|
emits: ["update:modelValue", "change"],
|
|
4184
4624
|
setup(__props, { emit: __emit }) {
|
|
@@ -4399,32 +4839,34 @@
|
|
|
4399
4839
|
onKeydown: onTriggerKeydown
|
|
4400
4840
|
}, [
|
|
4401
4841
|
vue.createElementVNode("span", _hoisted_2$i, vue.toDisplayString(displayLabel.value || __props.placeholder), 1),
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4842
|
+
vue.createElementVNode("span", _hoisted_3$f, [
|
|
4843
|
+
vue.renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
4844
|
+
_cache[4] || (_cache[4] = vue.createElementVNode("svg", {
|
|
4845
|
+
viewBox: "0 0 16 16",
|
|
4846
|
+
width: "16",
|
|
4847
|
+
height: "16",
|
|
4848
|
+
focusable: "false"
|
|
4849
|
+
}, [
|
|
4850
|
+
vue.createElementVNode("rect", {
|
|
4851
|
+
x: "2",
|
|
4852
|
+
y: "3",
|
|
4853
|
+
width: "12",
|
|
4854
|
+
height: "11",
|
|
4855
|
+
rx: "1.5",
|
|
4856
|
+
fill: "none",
|
|
4857
|
+
stroke: "currentColor",
|
|
4858
|
+
"stroke-width": "1.4"
|
|
4859
|
+
}),
|
|
4860
|
+
vue.createElementVNode("path", {
|
|
4861
|
+
d: "M5 1.5v3M11 1.5v3M2 6.5h12",
|
|
4862
|
+
fill: "none",
|
|
4863
|
+
stroke: "currentColor",
|
|
4864
|
+
"stroke-width": "1.4",
|
|
4865
|
+
"stroke-linecap": "round"
|
|
4866
|
+
})
|
|
4867
|
+
], -1))
|
|
4868
|
+
], true)
|
|
4869
|
+
])
|
|
4428
4870
|
], 42, _hoisted_1$k),
|
|
4429
4871
|
(vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
4430
4872
|
open.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -4439,61 +4881,67 @@
|
|
|
4439
4881
|
style: vue.normalizeStyle(panelStyle.value),
|
|
4440
4882
|
onKeydown: onPanelKeydown
|
|
4441
4883
|
}, [
|
|
4442
|
-
vue.createElementVNode("div",
|
|
4884
|
+
vue.createElementVNode("div", _hoisted_5$d, [
|
|
4443
4885
|
vue.createElementVNode("button", {
|
|
4444
4886
|
type: "button",
|
|
4445
4887
|
class: "tao-date__nav",
|
|
4446
|
-
"aria-label":
|
|
4888
|
+
"aria-label": __props.prevMonthLabel,
|
|
4447
4889
|
onClick: _cache[0] || (_cache[0] = ($event) => goMonth(-1))
|
|
4448
|
-
}, [
|
|
4449
|
-
vue.createElementVNode("
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4890
|
+
}, [
|
|
4891
|
+
vue.createElementVNode("span", _hoisted_7$9, [
|
|
4892
|
+
vue.renderSlot(_ctx.$slots, "prev-icon", {}, () => [
|
|
4893
|
+
_cache[5] || (_cache[5] = vue.createElementVNode("svg", {
|
|
4894
|
+
viewBox: "0 0 24 24",
|
|
4895
|
+
width: "14",
|
|
4896
|
+
height: "14",
|
|
4897
|
+
focusable: "false"
|
|
4898
|
+
}, [
|
|
4899
|
+
vue.createElementVNode("path", {
|
|
4900
|
+
fill: "none",
|
|
4901
|
+
stroke: "currentColor",
|
|
4902
|
+
"stroke-width": "2.2",
|
|
4903
|
+
"stroke-linecap": "round",
|
|
4904
|
+
"stroke-linejoin": "round",
|
|
4905
|
+
d: "M14.5 5 8 12l6.5 7"
|
|
4906
|
+
})
|
|
4907
|
+
], -1))
|
|
4908
|
+
], true)
|
|
4909
|
+
])
|
|
4910
|
+
], 8, _hoisted_6$a),
|
|
4911
|
+
vue.createElementVNode("p", _hoisted_8$8, vue.toDisplayString(monthLabel.value), 1),
|
|
4467
4912
|
vue.createElementVNode("button", {
|
|
4468
4913
|
type: "button",
|
|
4469
4914
|
class: "tao-date__nav",
|
|
4470
|
-
"aria-label":
|
|
4915
|
+
"aria-label": __props.nextMonthLabel,
|
|
4471
4916
|
onClick: _cache[1] || (_cache[1] = ($event) => goMonth(1))
|
|
4472
|
-
}, [
|
|
4473
|
-
vue.createElementVNode("
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4917
|
+
}, [
|
|
4918
|
+
vue.createElementVNode("span", _hoisted_10$3, [
|
|
4919
|
+
vue.renderSlot(_ctx.$slots, "next-icon", {}, () => [
|
|
4920
|
+
_cache[6] || (_cache[6] = vue.createElementVNode("svg", {
|
|
4921
|
+
viewBox: "0 0 24 24",
|
|
4922
|
+
width: "14",
|
|
4923
|
+
height: "14",
|
|
4924
|
+
focusable: "false"
|
|
4925
|
+
}, [
|
|
4926
|
+
vue.createElementVNode("path", {
|
|
4927
|
+
fill: "none",
|
|
4928
|
+
stroke: "currentColor",
|
|
4929
|
+
"stroke-width": "2.2",
|
|
4930
|
+
"stroke-linecap": "round",
|
|
4931
|
+
"stroke-linejoin": "round",
|
|
4932
|
+
d: "M9.5 5 16 12l-6.5 7"
|
|
4933
|
+
})
|
|
4934
|
+
], -1))
|
|
4935
|
+
], true)
|
|
4936
|
+
])
|
|
4937
|
+
], 8, _hoisted_9$3)
|
|
4490
4938
|
]),
|
|
4491
|
-
vue.createElementVNode("div",
|
|
4939
|
+
vue.createElementVNode("div", _hoisted_11$2, [
|
|
4492
4940
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(weekdays.value, (day) => {
|
|
4493
4941
|
return vue.openBlock(), vue.createElementBlock("span", { key: day }, vue.toDisplayString(day), 1);
|
|
4494
4942
|
}), 128))
|
|
4495
4943
|
]),
|
|
4496
|
-
vue.createElementVNode("div",
|
|
4944
|
+
vue.createElementVNode("div", _hoisted_12$1, [
|
|
4497
4945
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(cells.value, (cell) => {
|
|
4498
4946
|
return vue.openBlock(), vue.createElementBlock("button", {
|
|
4499
4947
|
key: cell.iso,
|
|
@@ -4512,42 +4960,58 @@
|
|
|
4512
4960
|
onMousedown: _cache[2] || (_cache[2] = vue.withModifiers(() => {
|
|
4513
4961
|
}, ["prevent"])),
|
|
4514
4962
|
onClick: ($event) => selectDay(cell.iso)
|
|
4515
|
-
}, vue.toDisplayString(cell.day), 43,
|
|
4963
|
+
}, vue.toDisplayString(cell.day), 43, _hoisted_13$1);
|
|
4516
4964
|
}), 128))
|
|
4517
4965
|
]),
|
|
4518
|
-
vue.createElementVNode("div",
|
|
4966
|
+
vue.createElementVNode("div", _hoisted_14$1, [
|
|
4519
4967
|
vue.createElementVNode("button", {
|
|
4520
4968
|
type: "button",
|
|
4521
4969
|
class: "tao-date__link",
|
|
4522
4970
|
disabled: !todayEnabled.value,
|
|
4523
4971
|
onClick: _cache[3] || (_cache[3] = ($event) => selectDay(todayIso.value))
|
|
4524
|
-
},
|
|
4972
|
+
}, [
|
|
4973
|
+
vue.renderSlot(_ctx.$slots, "today", {}, () => [
|
|
4974
|
+
vue.createTextVNode(vue.toDisplayString(__props.todayText), 1)
|
|
4975
|
+
], true)
|
|
4976
|
+
], 8, _hoisted_15),
|
|
4525
4977
|
valueIso.value ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
4526
4978
|
key: 0,
|
|
4527
4979
|
type: "button",
|
|
4528
4980
|
class: "tao-date__link",
|
|
4529
4981
|
onClick: clear
|
|
4530
|
-
},
|
|
4982
|
+
}, [
|
|
4983
|
+
vue.renderSlot(_ctx.$slots, "clear", {}, () => [
|
|
4984
|
+
vue.createTextVNode(vue.toDisplayString(__props.clearText), 1)
|
|
4985
|
+
], true)
|
|
4986
|
+
])) : vue.createCommentVNode("", true)
|
|
4531
4987
|
])
|
|
4532
|
-
], 44,
|
|
4988
|
+
], 44, _hoisted_4$f)) : vue.createCommentVNode("", true)
|
|
4533
4989
|
]))
|
|
4534
4990
|
], 2);
|
|
4535
4991
|
};
|
|
4536
4992
|
}
|
|
4537
4993
|
});
|
|
4538
|
-
const TaoDate = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-
|
|
4994
|
+
const TaoDate = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-771836c8"]]);
|
|
4539
4995
|
const _hoisted_1$j = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
|
|
4540
4996
|
const _hoisted_2$h = { class: "tao-date-range__value" };
|
|
4541
|
-
const _hoisted_3$e =
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
|
|
4997
|
+
const _hoisted_3$e = {
|
|
4998
|
+
class: "tao-date-range__icon",
|
|
4999
|
+
"aria-hidden": "true"
|
|
5000
|
+
};
|
|
5001
|
+
const _hoisted_4$e = ["aria-label"];
|
|
5002
|
+
const _hoisted_5$c = { class: "tao-date__header" };
|
|
5003
|
+
const _hoisted_6$9 = ["aria-label"];
|
|
5004
|
+
const _hoisted_7$8 = { "aria-hidden": "true" };
|
|
5005
|
+
const _hoisted_8$7 = { class: "tao-date__month" };
|
|
5006
|
+
const _hoisted_9$2 = ["aria-label"];
|
|
5007
|
+
const _hoisted_10$2 = { "aria-hidden": "true" };
|
|
5008
|
+
const _hoisted_11$1 = {
|
|
4545
5009
|
class: "tao-date__weekdays",
|
|
4546
5010
|
"aria-hidden": "true"
|
|
4547
5011
|
};
|
|
4548
|
-
const
|
|
4549
|
-
const
|
|
4550
|
-
const
|
|
5012
|
+
const _hoisted_12 = ["aria-label", "aria-selected", "disabled", "onMouseenter", "onClick"];
|
|
5013
|
+
const _hoisted_13 = { class: "tao-date__footer" };
|
|
5014
|
+
const _hoisted_14 = ["disabled"];
|
|
4551
5015
|
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
4552
5016
|
...{ name: "TaoDateRange" },
|
|
4553
5017
|
__name: "TaoDateRange",
|
|
@@ -4558,7 +5022,11 @@
|
|
|
4558
5022
|
error: { type: Boolean, default: false },
|
|
4559
5023
|
min: { default: void 0 },
|
|
4560
5024
|
max: { default: void 0 },
|
|
4561
|
-
locale: { default: "ru-RU" }
|
|
5025
|
+
locale: { default: "ru-RU" },
|
|
5026
|
+
todayText: { default: "Сегодня" },
|
|
5027
|
+
clearText: { default: "Очистить" },
|
|
5028
|
+
prevMonthLabel: { default: "Предыдущий месяц" },
|
|
5029
|
+
nextMonthLabel: { default: "Следующий месяц" }
|
|
4562
5030
|
},
|
|
4563
5031
|
emits: ["update:modelValue", "change"],
|
|
4564
5032
|
setup(__props, { emit: __emit }) {
|
|
@@ -4833,32 +5301,34 @@
|
|
|
4833
5301
|
onKeydown: onTriggerKeydown
|
|
4834
5302
|
}, [
|
|
4835
5303
|
vue.createElementVNode("span", _hoisted_2$h, vue.toDisplayString(displayLabel.value || __props.placeholder), 1),
|
|
4836
|
-
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
|
|
4840
|
-
|
|
4841
|
-
|
|
4842
|
-
|
|
4843
|
-
|
|
4844
|
-
|
|
4845
|
-
|
|
4846
|
-
|
|
4847
|
-
|
|
4848
|
-
|
|
4849
|
-
|
|
4850
|
-
|
|
4851
|
-
|
|
4852
|
-
|
|
4853
|
-
|
|
4854
|
-
|
|
4855
|
-
|
|
4856
|
-
|
|
4857
|
-
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
|
|
4861
|
-
|
|
5304
|
+
vue.createElementVNode("span", _hoisted_3$e, [
|
|
5305
|
+
vue.renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
5306
|
+
_cache[3] || (_cache[3] = vue.createElementVNode("svg", {
|
|
5307
|
+
viewBox: "0 0 16 16",
|
|
5308
|
+
width: "16",
|
|
5309
|
+
height: "16",
|
|
5310
|
+
focusable: "false"
|
|
5311
|
+
}, [
|
|
5312
|
+
vue.createElementVNode("rect", {
|
|
5313
|
+
x: "2",
|
|
5314
|
+
y: "3",
|
|
5315
|
+
width: "12",
|
|
5316
|
+
height: "11",
|
|
5317
|
+
rx: "1.5",
|
|
5318
|
+
fill: "none",
|
|
5319
|
+
stroke: "currentColor",
|
|
5320
|
+
"stroke-width": "1.4"
|
|
5321
|
+
}),
|
|
5322
|
+
vue.createElementVNode("path", {
|
|
5323
|
+
d: "M5 1.5v3M11 1.5v3M2 6.5h12",
|
|
5324
|
+
fill: "none",
|
|
5325
|
+
stroke: "currentColor",
|
|
5326
|
+
"stroke-width": "1.4",
|
|
5327
|
+
"stroke-linecap": "round"
|
|
5328
|
+
})
|
|
5329
|
+
], -1))
|
|
5330
|
+
], true)
|
|
5331
|
+
])
|
|
4862
5332
|
], 42, _hoisted_1$j),
|
|
4863
5333
|
(vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
4864
5334
|
open.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -4873,56 +5343,62 @@
|
|
|
4873
5343
|
style: vue.normalizeStyle(panelStyle.value),
|
|
4874
5344
|
onKeydown: onPanelKeydown
|
|
4875
5345
|
}, [
|
|
4876
|
-
vue.createElementVNode("div",
|
|
5346
|
+
vue.createElementVNode("div", _hoisted_5$c, [
|
|
4877
5347
|
vue.createElementVNode("button", {
|
|
4878
5348
|
type: "button",
|
|
4879
5349
|
class: "tao-date__nav",
|
|
4880
|
-
"aria-label":
|
|
5350
|
+
"aria-label": __props.prevMonthLabel,
|
|
4881
5351
|
onClick: _cache[0] || (_cache[0] = ($event) => goMonth(-1))
|
|
4882
|
-
}, [
|
|
4883
|
-
vue.createElementVNode("
|
|
4884
|
-
|
|
4885
|
-
|
|
4886
|
-
|
|
4887
|
-
|
|
4888
|
-
|
|
4889
|
-
|
|
4890
|
-
|
|
4891
|
-
|
|
4892
|
-
|
|
4893
|
-
|
|
4894
|
-
|
|
4895
|
-
|
|
4896
|
-
|
|
4897
|
-
|
|
4898
|
-
|
|
4899
|
-
|
|
4900
|
-
|
|
5352
|
+
}, [
|
|
5353
|
+
vue.createElementVNode("span", _hoisted_7$8, [
|
|
5354
|
+
vue.renderSlot(_ctx.$slots, "prev-icon", {}, () => [
|
|
5355
|
+
_cache[4] || (_cache[4] = vue.createElementVNode("svg", {
|
|
5356
|
+
viewBox: "0 0 24 24",
|
|
5357
|
+
width: "14",
|
|
5358
|
+
height: "14",
|
|
5359
|
+
focusable: "false"
|
|
5360
|
+
}, [
|
|
5361
|
+
vue.createElementVNode("path", {
|
|
5362
|
+
fill: "none",
|
|
5363
|
+
stroke: "currentColor",
|
|
5364
|
+
"stroke-width": "2.2",
|
|
5365
|
+
"stroke-linecap": "round",
|
|
5366
|
+
"stroke-linejoin": "round",
|
|
5367
|
+
d: "M14.5 5 8 12l6.5 7"
|
|
5368
|
+
})
|
|
5369
|
+
], -1))
|
|
5370
|
+
], true)
|
|
5371
|
+
])
|
|
5372
|
+
], 8, _hoisted_6$9),
|
|
5373
|
+
vue.createElementVNode("p", _hoisted_8$7, vue.toDisplayString(monthLabel.value), 1),
|
|
4901
5374
|
vue.createElementVNode("button", {
|
|
4902
5375
|
type: "button",
|
|
4903
5376
|
class: "tao-date__nav",
|
|
4904
|
-
"aria-label":
|
|
5377
|
+
"aria-label": __props.nextMonthLabel,
|
|
4905
5378
|
onClick: _cache[1] || (_cache[1] = ($event) => goMonth(1))
|
|
4906
|
-
}, [
|
|
4907
|
-
vue.createElementVNode("
|
|
4908
|
-
|
|
4909
|
-
|
|
4910
|
-
|
|
4911
|
-
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
|
-
|
|
4915
|
-
|
|
4916
|
-
|
|
4917
|
-
|
|
4918
|
-
|
|
4919
|
-
|
|
4920
|
-
|
|
4921
|
-
|
|
4922
|
-
|
|
4923
|
-
|
|
5379
|
+
}, [
|
|
5380
|
+
vue.createElementVNode("span", _hoisted_10$2, [
|
|
5381
|
+
vue.renderSlot(_ctx.$slots, "next-icon", {}, () => [
|
|
5382
|
+
_cache[5] || (_cache[5] = vue.createElementVNode("svg", {
|
|
5383
|
+
viewBox: "0 0 24 24",
|
|
5384
|
+
width: "14",
|
|
5385
|
+
height: "14",
|
|
5386
|
+
focusable: "false"
|
|
5387
|
+
}, [
|
|
5388
|
+
vue.createElementVNode("path", {
|
|
5389
|
+
fill: "none",
|
|
5390
|
+
stroke: "currentColor",
|
|
5391
|
+
"stroke-width": "2.2",
|
|
5392
|
+
"stroke-linecap": "round",
|
|
5393
|
+
"stroke-linejoin": "round",
|
|
5394
|
+
d: "M9.5 5 16 12l-6.5 7"
|
|
5395
|
+
})
|
|
5396
|
+
], -1))
|
|
5397
|
+
], true)
|
|
5398
|
+
])
|
|
5399
|
+
], 8, _hoisted_9$2)
|
|
4924
5400
|
]),
|
|
4925
|
-
vue.createElementVNode("div",
|
|
5401
|
+
vue.createElementVNode("div", _hoisted_11$1, [
|
|
4926
5402
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(weekdays.value, (day) => {
|
|
4927
5403
|
return vue.openBlock(), vue.createElementBlock("span", { key: day }, vue.toDisplayString(day), 1);
|
|
4928
5404
|
}), 128))
|
|
@@ -4955,30 +5431,38 @@
|
|
|
4955
5431
|
}, ["prevent"])),
|
|
4956
5432
|
onMouseenter: ($event) => onDayEnter(cell.iso),
|
|
4957
5433
|
onClick: ($event) => selectDay(cell.iso)
|
|
4958
|
-
}, vue.toDisplayString(cell.day), 43,
|
|
5434
|
+
}, vue.toDisplayString(cell.day), 43, _hoisted_12);
|
|
4959
5435
|
}), 128))
|
|
4960
5436
|
], 32),
|
|
4961
|
-
vue.createElementVNode("div",
|
|
5437
|
+
vue.createElementVNode("div", _hoisted_13, [
|
|
4962
5438
|
vue.createElementVNode("button", {
|
|
4963
5439
|
type: "button",
|
|
4964
5440
|
class: "tao-date__link",
|
|
4965
5441
|
disabled: !todayEnabled.value,
|
|
4966
5442
|
onClick: selectToday
|
|
4967
|
-
},
|
|
5443
|
+
}, [
|
|
5444
|
+
vue.renderSlot(_ctx.$slots, "today", {}, () => [
|
|
5445
|
+
vue.createTextVNode(vue.toDisplayString(__props.todayText), 1)
|
|
5446
|
+
], true)
|
|
5447
|
+
], 8, _hoisted_14),
|
|
4968
5448
|
committed.value ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
4969
5449
|
key: 0,
|
|
4970
5450
|
type: "button",
|
|
4971
5451
|
class: "tao-date__link",
|
|
4972
5452
|
onClick: clear
|
|
4973
|
-
},
|
|
5453
|
+
}, [
|
|
5454
|
+
vue.renderSlot(_ctx.$slots, "clear", {}, () => [
|
|
5455
|
+
vue.createTextVNode(vue.toDisplayString(__props.clearText), 1)
|
|
5456
|
+
], true)
|
|
5457
|
+
])) : vue.createCommentVNode("", true)
|
|
4974
5458
|
])
|
|
4975
|
-
], 44,
|
|
5459
|
+
], 44, _hoisted_4$e)) : vue.createCommentVNode("", true)
|
|
4976
5460
|
]))
|
|
4977
5461
|
], 2);
|
|
4978
5462
|
};
|
|
4979
5463
|
}
|
|
4980
5464
|
});
|
|
4981
|
-
const TaoDateRange = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-
|
|
5465
|
+
const TaoDateRange = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-4394053c"]]);
|
|
4982
5466
|
const _hoisted_1$i = ["for"];
|
|
4983
5467
|
const _hoisted_2$g = ["id", "checked", "disabled", "aria-checked"];
|
|
4984
5468
|
const _hoisted_3$d = {
|
|
@@ -5297,15 +5781,15 @@
|
|
|
5297
5781
|
class: "tao-segmented-option__icon",
|
|
5298
5782
|
"aria-hidden": "true"
|
|
5299
5783
|
};
|
|
5300
|
-
const _hoisted_5$
|
|
5784
|
+
const _hoisted_5$b = {
|
|
5301
5785
|
key: 1,
|
|
5302
5786
|
class: "tao-segmented-option__label"
|
|
5303
5787
|
};
|
|
5304
|
-
const _hoisted_6$
|
|
5788
|
+
const _hoisted_6$8 = {
|
|
5305
5789
|
key: 2,
|
|
5306
5790
|
class: "tao-segmented-option__sr"
|
|
5307
5791
|
};
|
|
5308
|
-
const _hoisted_7$
|
|
5792
|
+
const _hoisted_7$7 = {
|
|
5309
5793
|
key: 3,
|
|
5310
5794
|
class: "tao-segmented-option__count"
|
|
5311
5795
|
};
|
|
@@ -5390,12 +5874,12 @@
|
|
|
5390
5874
|
vue.createTextVNode(vue.toDisplayString(__props.icon), 1)
|
|
5391
5875
|
], true)
|
|
5392
5876
|
])) : vue.createCommentVNode("", true),
|
|
5393
|
-
hasLabel.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$
|
|
5877
|
+
hasLabel.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$b, [
|
|
5394
5878
|
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
5395
5879
|
vue.createTextVNode(vue.toDisplayString(__props.label), 1)
|
|
5396
5880
|
], true)
|
|
5397
|
-
])) : __props.ariaLabel ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$
|
|
5398
|
-
countLabel.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$
|
|
5881
|
+
])) : __props.ariaLabel ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$8, vue.toDisplayString(__props.ariaLabel), 1)) : vue.createCommentVNode("", true),
|
|
5882
|
+
countLabel.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$7, vue.toDisplayString(countLabel.value), 1)) : vue.createCommentVNode("", true)
|
|
5399
5883
|
])
|
|
5400
5884
|
], 10, _hoisted_1$e);
|
|
5401
5885
|
};
|
|
@@ -5412,13 +5896,16 @@
|
|
|
5412
5896
|
key: 1,
|
|
5413
5897
|
class: "tao-alert__message"
|
|
5414
5898
|
};
|
|
5899
|
+
const _hoisted_5$a = ["aria-label"];
|
|
5900
|
+
const _hoisted_6$7 = { "aria-hidden": "true" };
|
|
5415
5901
|
const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
5416
5902
|
...{ name: "TaoAlert" },
|
|
5417
5903
|
__name: "TaoAlert",
|
|
5418
5904
|
props: {
|
|
5419
5905
|
type: { default: "info" },
|
|
5420
5906
|
title: { default: "" },
|
|
5421
|
-
closable: { type: Boolean, default: false }
|
|
5907
|
+
closable: { type: Boolean, default: false },
|
|
5908
|
+
closeLabel: { default: "Закрыть" }
|
|
5422
5909
|
},
|
|
5423
5910
|
emits: ["close"],
|
|
5424
5911
|
setup(__props, { emit: __emit }) {
|
|
@@ -5442,22 +5929,28 @@
|
|
|
5442
5929
|
key: 0,
|
|
5443
5930
|
type: "button",
|
|
5444
5931
|
class: "tao-alert__close",
|
|
5445
|
-
"aria-label":
|
|
5932
|
+
"aria-label": __props.closeLabel,
|
|
5446
5933
|
onClick: _cache[0] || (_cache[0] = ($event) => emit("close"))
|
|
5447
|
-
},
|
|
5934
|
+
}, [
|
|
5935
|
+
vue.createElementVNode("span", _hoisted_6$7, [
|
|
5936
|
+
vue.renderSlot(_ctx.$slots, "close-icon", {}, () => [
|
|
5937
|
+
_cache[1] || (_cache[1] = vue.createTextVNode("×", -1))
|
|
5938
|
+
], true)
|
|
5939
|
+
])
|
|
5940
|
+
], 8, _hoisted_5$a)) : vue.createCommentVNode("", true)
|
|
5448
5941
|
], 10, _hoisted_1$d);
|
|
5449
5942
|
};
|
|
5450
5943
|
}
|
|
5451
5944
|
});
|
|
5452
|
-
const TaoAlert = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-
|
|
5945
|
+
const TaoAlert = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-1a1dbef3"]]);
|
|
5453
5946
|
const _hoisted_1$c = { key: 0 };
|
|
5454
5947
|
const _hoisted_2$a = ["aria-sort"];
|
|
5455
5948
|
const _hoisted_3$9 = ["onClick"];
|
|
5456
5949
|
const _hoisted_4$9 = { key: 1 };
|
|
5457
5950
|
const _hoisted_5$9 = { key: 0 };
|
|
5458
5951
|
const _hoisted_6$6 = ["colspan"];
|
|
5459
|
-
const _hoisted_7$
|
|
5460
|
-
const _hoisted_8$
|
|
5952
|
+
const _hoisted_7$6 = ["onClick"];
|
|
5953
|
+
const _hoisted_8$6 = {
|
|
5461
5954
|
key: 0,
|
|
5462
5955
|
class: "tao-table__loading",
|
|
5463
5956
|
"aria-busy": "true"
|
|
@@ -5610,11 +6103,11 @@
|
|
|
5610
6103
|
], true)
|
|
5611
6104
|
], 4);
|
|
5612
6105
|
}), 128))
|
|
5613
|
-
], 8, _hoisted_7$
|
|
6106
|
+
], 8, _hoisted_7$6);
|
|
5614
6107
|
}), 128))
|
|
5615
6108
|
])
|
|
5616
6109
|
], 2),
|
|
5617
|
-
__props.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$
|
|
6110
|
+
__props.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$6, [
|
|
5618
6111
|
vue.renderSlot(_ctx.$slots, "loading", {}, () => [
|
|
5619
6112
|
vue.createVNode(TaoLoader, { size: 36 })
|
|
5620
6113
|
], true)
|
|
@@ -5654,15 +6147,17 @@
|
|
|
5654
6147
|
class: "tao-pagination__total"
|
|
5655
6148
|
};
|
|
5656
6149
|
const _hoisted_3$8 = { class: "tao-pagination__pages" };
|
|
5657
|
-
const _hoisted_4$8 = ["disabled"];
|
|
5658
|
-
const _hoisted_5$8 =
|
|
5659
|
-
const _hoisted_6$5 =
|
|
6150
|
+
const _hoisted_4$8 = ["aria-label", "disabled"];
|
|
6151
|
+
const _hoisted_5$8 = { "aria-hidden": "true" };
|
|
6152
|
+
const _hoisted_6$5 = ["aria-label", "disabled", "onClick"];
|
|
6153
|
+
const _hoisted_7$5 = {
|
|
5660
6154
|
key: 1,
|
|
5661
6155
|
class: "tao-pagination__ellipsis",
|
|
5662
6156
|
"aria-hidden": "true"
|
|
5663
6157
|
};
|
|
5664
|
-
const
|
|
5665
|
-
const
|
|
6158
|
+
const _hoisted_8$5 = ["aria-current", "aria-label", "disabled", "onClick"];
|
|
6159
|
+
const _hoisted_9$1 = ["aria-label", "disabled"];
|
|
6160
|
+
const _hoisted_10$1 = { "aria-hidden": "true" };
|
|
5666
6161
|
const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
5667
6162
|
...{ name: "TaoPagination" },
|
|
5668
6163
|
__name: "TaoPagination",
|
|
@@ -5675,7 +6170,12 @@
|
|
|
5675
6170
|
showTotal: { type: Boolean, default: true },
|
|
5676
6171
|
size: { default: "medium" },
|
|
5677
6172
|
jump: { default: 5 },
|
|
5678
|
-
ariaLabel: { default: "Пагинация" }
|
|
6173
|
+
ariaLabel: { default: "Пагинация" },
|
|
6174
|
+
prevLabel: { default: "Назад" },
|
|
6175
|
+
nextLabel: { default: "Вперёд" },
|
|
6176
|
+
pageLabel: { default: "Страница {page}" },
|
|
6177
|
+
jumpPrevLabel: { default: "Назад на {n} страниц" },
|
|
6178
|
+
jumpNextLabel: { default: "Вперёд на {n} страниц" }
|
|
5679
6179
|
},
|
|
5680
6180
|
emits: ["update:page", "change"],
|
|
5681
6181
|
setup(__props, { emit: __emit }) {
|
|
@@ -5708,20 +6208,32 @@
|
|
|
5708
6208
|
"aria-label": __props.ariaLabel
|
|
5709
6209
|
}, [
|
|
5710
6210
|
__props.showTotal ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$9, [
|
|
5711
|
-
|
|
5712
|
-
|
|
5713
|
-
|
|
5714
|
-
|
|
5715
|
-
|
|
6211
|
+
vue.renderSlot(_ctx.$slots, "total", {
|
|
6212
|
+
from: from.value,
|
|
6213
|
+
to: to.value,
|
|
6214
|
+
total: __props.total
|
|
6215
|
+
}, () => [
|
|
6216
|
+
__props.total === 0 ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
6217
|
+
vue.createTextVNode("0 из 0")
|
|
6218
|
+
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
6219
|
+
vue.createTextVNode(vue.toDisplayString(from.value) + "–" + vue.toDisplayString(to.value) + " из " + vue.toDisplayString(__props.total), 1)
|
|
6220
|
+
], 64))
|
|
6221
|
+
], true)
|
|
5716
6222
|
])) : vue.createCommentVNode("", true),
|
|
5717
6223
|
vue.createElementVNode("div", _hoisted_3$8, [
|
|
5718
6224
|
vue.createElementVNode("button", {
|
|
5719
6225
|
type: "button",
|
|
5720
6226
|
class: "tao-pagination__btn",
|
|
5721
|
-
"aria-label":
|
|
6227
|
+
"aria-label": __props.prevLabel,
|
|
5722
6228
|
disabled: __props.disabled || current.value <= 1,
|
|
5723
6229
|
onClick: _cache[0] || (_cache[0] = ($event) => goTo(current.value - 1))
|
|
5724
|
-
},
|
|
6230
|
+
}, [
|
|
6231
|
+
vue.createElementVNode("span", _hoisted_5$8, [
|
|
6232
|
+
vue.renderSlot(_ctx.$slots, "prev-icon", {}, () => [
|
|
6233
|
+
_cache[2] || (_cache[2] = vue.createTextVNode("‹", -1))
|
|
6234
|
+
], true)
|
|
6235
|
+
])
|
|
6236
|
+
], 8, _hoisted_4$8),
|
|
5725
6237
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items.value, (item) => {
|
|
5726
6238
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
|
|
5727
6239
|
key: item.type === "page" ? item.page : item.id
|
|
@@ -5730,33 +6242,39 @@
|
|
|
5730
6242
|
key: 0,
|
|
5731
6243
|
type: "button",
|
|
5732
6244
|
class: "tao-pagination__btn tao-pagination__btn--jump",
|
|
5733
|
-
"aria-label": item.id === "left" ?
|
|
6245
|
+
"aria-label": item.id === "left" ? __props.jumpPrevLabel.replace("{n}", String(__props.jump)) : __props.jumpNextLabel.replace("{n}", String(__props.jump)),
|
|
5734
6246
|
disabled: __props.disabled,
|
|
5735
6247
|
onClick: ($event) => goTo(item.id === "left" ? current.value - __props.jump : current.value + __props.jump)
|
|
5736
|
-
}, " … ", 8,
|
|
6248
|
+
}, " … ", 8, _hoisted_6$5)) : item.type === "ellipsis" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$5, "…")) : (vue.openBlock(), vue.createElementBlock("button", {
|
|
5737
6249
|
key: 2,
|
|
5738
6250
|
type: "button",
|
|
5739
6251
|
class: vue.normalizeClass(["tao-pagination__btn", { "tao-pagination__btn--current": item.page === current.value }]),
|
|
5740
6252
|
"aria-current": item.page === current.value ? "page" : void 0,
|
|
5741
|
-
"aria-label":
|
|
6253
|
+
"aria-label": __props.pageLabel.replace("{page}", String(item.page)),
|
|
5742
6254
|
disabled: __props.disabled,
|
|
5743
6255
|
onClick: ($event) => goTo(item.page)
|
|
5744
|
-
}, vue.toDisplayString(item.page), 11,
|
|
6256
|
+
}, vue.toDisplayString(item.page), 11, _hoisted_8$5))
|
|
5745
6257
|
], 64);
|
|
5746
6258
|
}), 128)),
|
|
5747
6259
|
vue.createElementVNode("button", {
|
|
5748
6260
|
type: "button",
|
|
5749
6261
|
class: "tao-pagination__btn",
|
|
5750
|
-
"aria-label":
|
|
6262
|
+
"aria-label": __props.nextLabel,
|
|
5751
6263
|
disabled: __props.disabled || current.value >= pageCount.value,
|
|
5752
6264
|
onClick: _cache[1] || (_cache[1] = ($event) => goTo(current.value + 1))
|
|
5753
|
-
},
|
|
6265
|
+
}, [
|
|
6266
|
+
vue.createElementVNode("span", _hoisted_10$1, [
|
|
6267
|
+
vue.renderSlot(_ctx.$slots, "next-icon", {}, () => [
|
|
6268
|
+
_cache[3] || (_cache[3] = vue.createTextVNode("›", -1))
|
|
6269
|
+
], true)
|
|
6270
|
+
])
|
|
6271
|
+
], 8, _hoisted_9$1)
|
|
5754
6272
|
])
|
|
5755
6273
|
], 10, _hoisted_1$b);
|
|
5756
6274
|
};
|
|
5757
6275
|
}
|
|
5758
6276
|
});
|
|
5759
|
-
const TaoPagination = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-
|
|
6277
|
+
const TaoPagination = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-a890810c"]]);
|
|
5760
6278
|
const _hoisted_1$a = { class: "tao-empty" };
|
|
5761
6279
|
const _hoisted_2$8 = {
|
|
5762
6280
|
key: 0,
|
|
@@ -5835,8 +6353,10 @@
|
|
|
5835
6353
|
};
|
|
5836
6354
|
const _hoisted_3$6 = ["id"];
|
|
5837
6355
|
const _hoisted_4$6 = { key: 1 };
|
|
5838
|
-
const _hoisted_5$6 =
|
|
5839
|
-
const _hoisted_6$4 = {
|
|
6356
|
+
const _hoisted_5$6 = ["aria-label"];
|
|
6357
|
+
const _hoisted_6$4 = { "aria-hidden": "true" };
|
|
6358
|
+
const _hoisted_7$4 = { class: "tao-drawer__content" };
|
|
6359
|
+
const _hoisted_8$4 = {
|
|
5840
6360
|
key: 1,
|
|
5841
6361
|
class: "tao-drawer__footer"
|
|
5842
6362
|
};
|
|
@@ -5847,7 +6367,8 @@
|
|
|
5847
6367
|
modelValue: { type: Boolean },
|
|
5848
6368
|
title: { default: "" },
|
|
5849
6369
|
side: { default: "right" },
|
|
5850
|
-
closable: { type: Boolean, default: true }
|
|
6370
|
+
closable: { type: Boolean, default: true },
|
|
6371
|
+
closeLabel: { default: "Закрыть" }
|
|
5851
6372
|
},
|
|
5852
6373
|
emits: ["update:modelValue", "close"],
|
|
5853
6374
|
setup(__props, { emit: __emit }) {
|
|
@@ -5956,14 +6477,20 @@
|
|
|
5956
6477
|
key: 2,
|
|
5957
6478
|
type: "button",
|
|
5958
6479
|
class: "tao-drawer__close",
|
|
5959
|
-
"aria-label":
|
|
6480
|
+
"aria-label": __props.closeLabel,
|
|
5960
6481
|
onClick: close
|
|
5961
|
-
},
|
|
6482
|
+
}, [
|
|
6483
|
+
vue.createElementVNode("span", _hoisted_6$4, [
|
|
6484
|
+
vue.renderSlot(_ctx.$slots, "close-icon", {}, () => [
|
|
6485
|
+
_cache[0] || (_cache[0] = vue.createTextVNode("×", -1))
|
|
6486
|
+
], true)
|
|
6487
|
+
])
|
|
6488
|
+
], 8, _hoisted_5$6)) : vue.createCommentVNode("", true)
|
|
5962
6489
|
])) : vue.createCommentVNode("", true),
|
|
5963
|
-
vue.createElementVNode("div",
|
|
6490
|
+
vue.createElementVNode("div", _hoisted_7$4, [
|
|
5964
6491
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
5965
6492
|
]),
|
|
5966
|
-
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div",
|
|
6493
|
+
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$4, [
|
|
5967
6494
|
vue.renderSlot(_ctx.$slots, "footer", {}, void 0, true)
|
|
5968
6495
|
])) : vue.createCommentVNode("", true)
|
|
5969
6496
|
], 8, _hoisted_1$8)
|
|
@@ -5975,7 +6502,7 @@
|
|
|
5975
6502
|
};
|
|
5976
6503
|
}
|
|
5977
6504
|
});
|
|
5978
|
-
const TaoDrawer = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-
|
|
6505
|
+
const TaoDrawer = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-14730fe9"]]);
|
|
5979
6506
|
const _hoisted_1$7 = ["title"];
|
|
5980
6507
|
const _hoisted_2$6 = { class: "tao-avatar__face" };
|
|
5981
6508
|
const _hoisted_3$5 = ["src", "alt"];
|
|
@@ -5994,7 +6521,10 @@
|
|
|
5994
6521
|
alt: { default: "" },
|
|
5995
6522
|
size: { default: "medium" },
|
|
5996
6523
|
dot: { type: [Boolean, String], default: false },
|
|
5997
|
-
count: { default: void 0 }
|
|
6524
|
+
count: { default: void 0 },
|
|
6525
|
+
fallbackLabel: { default: "Аватар" },
|
|
6526
|
+
notificationsLabel: { default: "{count} уведомлений" },
|
|
6527
|
+
dotLabels: { default: () => ({}) }
|
|
5998
6528
|
},
|
|
5999
6529
|
setup(__props) {
|
|
6000
6530
|
const props = __props;
|
|
@@ -6039,7 +6569,7 @@
|
|
|
6039
6569
|
}
|
|
6040
6570
|
return String(props.count);
|
|
6041
6571
|
});
|
|
6042
|
-
const
|
|
6572
|
+
const defaultDotLabel = {
|
|
6043
6573
|
success: "в сети",
|
|
6044
6574
|
danger: "занят",
|
|
6045
6575
|
warning: "отошёл",
|
|
@@ -6047,13 +6577,13 @@
|
|
|
6047
6577
|
neutral: "не в сети"
|
|
6048
6578
|
};
|
|
6049
6579
|
const label = vue.computed(() => {
|
|
6050
|
-
const base = props.alt || props.name ||
|
|
6580
|
+
const base = props.alt || props.name || props.fallbackLabel;
|
|
6051
6581
|
const extra = [];
|
|
6052
6582
|
if (dotTone.value) {
|
|
6053
|
-
extra.push(
|
|
6583
|
+
extra.push(props.dotLabels[dotTone.value] ?? defaultDotLabel[dotTone.value]);
|
|
6054
6584
|
}
|
|
6055
6585
|
if (badge.value) {
|
|
6056
|
-
extra.push(
|
|
6586
|
+
extra.push(props.notificationsLabel.replace("{count}", badge.value));
|
|
6057
6587
|
}
|
|
6058
6588
|
return extra.length ? `${base}, ${extra.join(", ")}` : base;
|
|
6059
6589
|
});
|
|
@@ -6084,11 +6614,8 @@
|
|
|
6084
6614
|
};
|
|
6085
6615
|
}
|
|
6086
6616
|
});
|
|
6087
|
-
const TaoAvatar = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-
|
|
6088
|
-
const _hoisted_1$6 =
|
|
6089
|
-
class: "tao-breadcrumb",
|
|
6090
|
-
"aria-label": "Хлебные крошки"
|
|
6091
|
-
};
|
|
6617
|
+
const TaoAvatar = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-03b60017"]]);
|
|
6618
|
+
const _hoisted_1$6 = ["aria-label"];
|
|
6092
6619
|
const _hoisted_2$5 = { class: "tao-breadcrumb__list" };
|
|
6093
6620
|
const _hoisted_3$4 = {
|
|
6094
6621
|
key: 0,
|
|
@@ -6108,11 +6635,15 @@
|
|
|
6108
6635
|
...{ name: "TaoBreadcrumb" },
|
|
6109
6636
|
__name: "TaoBreadcrumb",
|
|
6110
6637
|
props: {
|
|
6111
|
-
items: {}
|
|
6638
|
+
items: {},
|
|
6639
|
+
ariaLabel: { default: "Хлебные крошки" }
|
|
6112
6640
|
},
|
|
6113
6641
|
setup(__props) {
|
|
6114
6642
|
return (_ctx, _cache) => {
|
|
6115
|
-
return vue.openBlock(), vue.createElementBlock("nav",
|
|
6643
|
+
return vue.openBlock(), vue.createElementBlock("nav", {
|
|
6644
|
+
class: "tao-breadcrumb",
|
|
6645
|
+
"aria-label": __props.ariaLabel
|
|
6646
|
+
}, [
|
|
6116
6647
|
vue.createElementVNode("ol", _hoisted_2$5, [
|
|
6117
6648
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.items, (item, index) => {
|
|
6118
6649
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
@@ -6133,11 +6664,11 @@
|
|
|
6133
6664
|
]);
|
|
6134
6665
|
}), 128))
|
|
6135
6666
|
])
|
|
6136
|
-
]);
|
|
6667
|
+
], 8, _hoisted_1$6);
|
|
6137
6668
|
};
|
|
6138
6669
|
}
|
|
6139
6670
|
});
|
|
6140
|
-
const TaoBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-
|
|
6671
|
+
const TaoBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-94ab1f67"]]);
|
|
6141
6672
|
const _hoisted_1$5 = ["aria-label"];
|
|
6142
6673
|
const _hoisted_2$4 = {
|
|
6143
6674
|
class: "tao-counter__row",
|
|
@@ -6221,16 +6752,13 @@
|
|
|
6221
6752
|
});
|
|
6222
6753
|
const TaoCounter = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-6b746f2f"]]);
|
|
6223
6754
|
const _hoisted_1$4 = { class: "tao-carousel__row" };
|
|
6224
|
-
const _hoisted_2$3 = ["disabled"];
|
|
6225
|
-
const _hoisted_3$3 =
|
|
6226
|
-
const _hoisted_4$3 = ["
|
|
6227
|
-
const _hoisted_5$3 =
|
|
6228
|
-
|
|
6229
|
-
|
|
6230
|
-
|
|
6231
|
-
"aria-label": "Слайды"
|
|
6232
|
-
};
|
|
6233
|
-
const _hoisted_6$3 = ["aria-label", "aria-current", "onClick"];
|
|
6755
|
+
const _hoisted_2$3 = ["aria-label", "disabled"];
|
|
6756
|
+
const _hoisted_3$3 = { "aria-hidden": "true" };
|
|
6757
|
+
const _hoisted_4$3 = ["aria-label"];
|
|
6758
|
+
const _hoisted_5$3 = ["aria-label", "disabled"];
|
|
6759
|
+
const _hoisted_6$3 = { "aria-hidden": "true" };
|
|
6760
|
+
const _hoisted_7$3 = ["aria-label"];
|
|
6761
|
+
const _hoisted_8$3 = ["aria-label", "aria-current", "onClick"];
|
|
6234
6762
|
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
6235
6763
|
...{ name: "TaoCarousel" },
|
|
6236
6764
|
__name: "TaoCarousel",
|
|
@@ -6242,7 +6770,11 @@
|
|
|
6242
6770
|
autoplay: { default: 0 },
|
|
6243
6771
|
loop: { type: Boolean, default: false },
|
|
6244
6772
|
dots: { type: Boolean, default: false },
|
|
6245
|
-
ariaLabel: { default: "Лента" }
|
|
6773
|
+
ariaLabel: { default: "Лента" },
|
|
6774
|
+
prevLabel: { default: "Назад" },
|
|
6775
|
+
nextLabel: { default: "Вперёд" },
|
|
6776
|
+
dotsLabel: { default: "Слайды" },
|
|
6777
|
+
slideLabel: { default: "Слайд {n} из {count}" }
|
|
6246
6778
|
},
|
|
6247
6779
|
emits: ["update:modelValue", "change"],
|
|
6248
6780
|
setup(__props, { emit: __emit }) {
|
|
@@ -6533,27 +7065,30 @@
|
|
|
6533
7065
|
key: 0,
|
|
6534
7066
|
type: "button",
|
|
6535
7067
|
class: "tao-carousel__nav",
|
|
6536
|
-
"aria-label":
|
|
7068
|
+
"aria-label": __props.prevLabel,
|
|
6537
7069
|
disabled: atStart.value,
|
|
6538
7070
|
onClick: goPrev
|
|
6539
|
-
}, [
|
|
6540
|
-
vue.createElementVNode("
|
|
6541
|
-
|
|
6542
|
-
|
|
6543
|
-
|
|
6544
|
-
|
|
6545
|
-
|
|
6546
|
-
|
|
6547
|
-
|
|
6548
|
-
|
|
6549
|
-
|
|
6550
|
-
|
|
6551
|
-
|
|
6552
|
-
|
|
6553
|
-
|
|
6554
|
-
|
|
6555
|
-
|
|
6556
|
-
|
|
7071
|
+
}, [
|
|
7072
|
+
vue.createElementVNode("span", _hoisted_3$3, [
|
|
7073
|
+
vue.renderSlot(_ctx.$slots, "prev-icon", {}, () => [
|
|
7074
|
+
_cache[0] || (_cache[0] = vue.createElementVNode("svg", {
|
|
7075
|
+
viewBox: "0 0 24 24",
|
|
7076
|
+
width: "16",
|
|
7077
|
+
height: "16",
|
|
7078
|
+
focusable: "false"
|
|
7079
|
+
}, [
|
|
7080
|
+
vue.createElementVNode("path", {
|
|
7081
|
+
fill: "none",
|
|
7082
|
+
stroke: "currentColor",
|
|
7083
|
+
"stroke-width": "2.2",
|
|
7084
|
+
"stroke-linecap": "round",
|
|
7085
|
+
"stroke-linejoin": "round",
|
|
7086
|
+
d: "M14.5 5 8 12l6.5 7"
|
|
7087
|
+
})
|
|
7088
|
+
], -1))
|
|
7089
|
+
], true)
|
|
7090
|
+
])
|
|
7091
|
+
], 8, _hoisted_2$3)) : vue.createCommentVNode("", true)
|
|
6557
7092
|
], true),
|
|
6558
7093
|
vue.createElementVNode("div", {
|
|
6559
7094
|
ref_key: "track",
|
|
@@ -6572,7 +7107,7 @@
|
|
|
6572
7107
|
onClickCapture
|
|
6573
7108
|
}, [
|
|
6574
7109
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
6575
|
-
], 42,
|
|
7110
|
+
], 42, _hoisted_4$3),
|
|
6576
7111
|
vue.renderSlot(_ctx.$slots, "next", {
|
|
6577
7112
|
disabled: atEnd.value,
|
|
6578
7113
|
go: goNext
|
|
@@ -6581,27 +7116,30 @@
|
|
|
6581
7116
|
key: 0,
|
|
6582
7117
|
type: "button",
|
|
6583
7118
|
class: "tao-carousel__nav",
|
|
6584
|
-
"aria-label":
|
|
7119
|
+
"aria-label": __props.nextLabel,
|
|
6585
7120
|
disabled: atEnd.value,
|
|
6586
7121
|
onClick: goNext
|
|
6587
|
-
}, [
|
|
6588
|
-
vue.createElementVNode("
|
|
6589
|
-
|
|
6590
|
-
|
|
6591
|
-
|
|
6592
|
-
|
|
6593
|
-
|
|
6594
|
-
|
|
6595
|
-
|
|
6596
|
-
|
|
6597
|
-
|
|
6598
|
-
|
|
6599
|
-
|
|
6600
|
-
|
|
6601
|
-
|
|
6602
|
-
|
|
6603
|
-
|
|
6604
|
-
|
|
7122
|
+
}, [
|
|
7123
|
+
vue.createElementVNode("span", _hoisted_6$3, [
|
|
7124
|
+
vue.renderSlot(_ctx.$slots, "next-icon", {}, () => [
|
|
7125
|
+
_cache[1] || (_cache[1] = vue.createElementVNode("svg", {
|
|
7126
|
+
viewBox: "0 0 24 24",
|
|
7127
|
+
width: "16",
|
|
7128
|
+
height: "16",
|
|
7129
|
+
focusable: "false"
|
|
7130
|
+
}, [
|
|
7131
|
+
vue.createElementVNode("path", {
|
|
7132
|
+
fill: "none",
|
|
7133
|
+
stroke: "currentColor",
|
|
7134
|
+
"stroke-width": "2.2",
|
|
7135
|
+
"stroke-linecap": "round",
|
|
7136
|
+
"stroke-linejoin": "round",
|
|
7137
|
+
d: "M9.5 5 16 12l-6.5 7"
|
|
7138
|
+
})
|
|
7139
|
+
], -1))
|
|
7140
|
+
], true)
|
|
7141
|
+
])
|
|
7142
|
+
], 8, _hoisted_5$3)) : vue.createCommentVNode("", true)
|
|
6605
7143
|
], true)
|
|
6606
7144
|
]),
|
|
6607
7145
|
vue.renderSlot(_ctx.$slots, "dots", {
|
|
@@ -6609,13 +7147,18 @@
|
|
|
6609
7147
|
count: snapCount.value,
|
|
6610
7148
|
go: goTo
|
|
6611
7149
|
}, () => [
|
|
6612
|
-
showDots.value ? (vue.openBlock(), vue.createElementBlock("div",
|
|
7150
|
+
showDots.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
7151
|
+
key: 0,
|
|
7152
|
+
class: "tao-carousel__dots",
|
|
7153
|
+
role: "group",
|
|
7154
|
+
"aria-label": __props.dotsLabel
|
|
7155
|
+
}, [
|
|
6613
7156
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(snapCount.value, (n) => {
|
|
6614
7157
|
return vue.openBlock(), vue.createElementBlock("button", {
|
|
6615
7158
|
key: n,
|
|
6616
7159
|
type: "button",
|
|
6617
7160
|
class: vue.normalizeClass(["tao-carousel__dot", { "tao-carousel__dot--active": n - 1 === index.value }]),
|
|
6618
|
-
"aria-label":
|
|
7161
|
+
"aria-label": __props.slideLabel.replace("{n}", String(n)).replace("{count}", String(snapCount.value)),
|
|
6619
7162
|
"aria-current": n - 1 === index.value ? "true" : void 0,
|
|
6620
7163
|
onClick: ($event) => goTo(n - 1)
|
|
6621
7164
|
}, [
|
|
@@ -6626,15 +7169,15 @@
|
|
|
6626
7169
|
}, () => [
|
|
6627
7170
|
_cache[2] || (_cache[2] = vue.createElementVNode("span", { class: "tao-carousel__pip" }, null, -1))
|
|
6628
7171
|
], true)
|
|
6629
|
-
], 10,
|
|
7172
|
+
], 10, _hoisted_8$3);
|
|
6630
7173
|
}), 128))
|
|
6631
|
-
])) : vue.createCommentVNode("", true)
|
|
7174
|
+
], 8, _hoisted_7$3)) : vue.createCommentVNode("", true)
|
|
6632
7175
|
], true)
|
|
6633
7176
|
], 36);
|
|
6634
7177
|
};
|
|
6635
7178
|
}
|
|
6636
7179
|
});
|
|
6637
|
-
const TaoCarousel = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-
|
|
7180
|
+
const TaoCarousel = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-239073ed"]]);
|
|
6638
7181
|
const _hoisted_1$3 = ["aria-label"];
|
|
6639
7182
|
const _hoisted_2$2 = ["aria-label"];
|
|
6640
7183
|
const _hoisted_3$2 = {
|
|
@@ -6676,11 +7219,12 @@
|
|
|
6676
7219
|
props: {
|
|
6677
7220
|
items: { default: () => [] },
|
|
6678
7221
|
vertical: { type: Boolean, default: true },
|
|
6679
|
-
ariaLabel: { default: "Стадии" }
|
|
7222
|
+
ariaLabel: { default: "Стадии" },
|
|
7223
|
+
statusLabels: { default: () => ({}) }
|
|
6680
7224
|
},
|
|
6681
7225
|
setup(__props) {
|
|
6682
7226
|
const props = __props;
|
|
6683
|
-
const
|
|
7227
|
+
const fallbackStatusText = {
|
|
6684
7228
|
wait: "ожидание",
|
|
6685
7229
|
work: "в работе",
|
|
6686
7230
|
ok: "готово",
|
|
@@ -6693,7 +7237,8 @@
|
|
|
6693
7237
|
return item.status ?? "wait";
|
|
6694
7238
|
}
|
|
6695
7239
|
function itemLabel(item) {
|
|
6696
|
-
|
|
7240
|
+
const status = statusOf(item);
|
|
7241
|
+
return `${item.label ?? item.key}, ${props.statusLabels[status] ?? fallbackStatusText[status]}`;
|
|
6697
7242
|
}
|
|
6698
7243
|
return (_ctx, _cache) => {
|
|
6699
7244
|
return vue.openBlock(), vue.createElementBlock("ul", {
|
|
@@ -6767,7 +7312,7 @@
|
|
|
6767
7312
|
};
|
|
6768
7313
|
}
|
|
6769
7314
|
});
|
|
6770
|
-
const TaoStages = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
7315
|
+
const TaoStages = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-b62db56d"]]);
|
|
6771
7316
|
const TOAST_POSITIONS = [
|
|
6772
7317
|
"topRight",
|
|
6773
7318
|
"topLeft",
|
|
@@ -6781,7 +7326,8 @@
|
|
|
6781
7326
|
position: "topCenter",
|
|
6782
7327
|
timeout: 3e3,
|
|
6783
7328
|
closable: true,
|
|
6784
|
-
progress: true
|
|
7329
|
+
progress: true,
|
|
7330
|
+
closeLabel: "Закрыть уведомление"
|
|
6785
7331
|
};
|
|
6786
7332
|
const toasts = vue.ref([]);
|
|
6787
7333
|
const toastsByPosition = vue.computed(() => {
|
|
@@ -6892,6 +7438,7 @@
|
|
|
6892
7438
|
key: 2,
|
|
6893
7439
|
class: "tao-toast__actions"
|
|
6894
7440
|
};
|
|
7441
|
+
const _hoisted_11 = ["aria-label"];
|
|
6895
7442
|
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
6896
7443
|
...{ name: "TaoToastItem" },
|
|
6897
7444
|
__name: "TaoToastItem",
|
|
@@ -7060,9 +7607,9 @@
|
|
|
7060
7607
|
key: 0,
|
|
7061
7608
|
type: "button",
|
|
7062
7609
|
class: "tao-toast__close",
|
|
7063
|
-
"aria-label":
|
|
7610
|
+
"aria-label": vue.unref(toastDefaults).closeLabel,
|
|
7064
7611
|
onClick: close
|
|
7065
|
-
}, " × ")) : vue.createCommentVNode("", true),
|
|
7612
|
+
}, " × ", 8, _hoisted_11)) : vue.createCommentVNode("", true),
|
|
7066
7613
|
__props.toast.progress && __props.toast.timeout ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
7067
7614
|
key: 1,
|
|
7068
7615
|
class: "tao-toast__progress",
|
|
@@ -7072,7 +7619,7 @@
|
|
|
7072
7619
|
};
|
|
7073
7620
|
}
|
|
7074
7621
|
});
|
|
7075
|
-
const TaoToastItem = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-
|
|
7622
|
+
const TaoToastItem = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-3909ff09"]]);
|
|
7076
7623
|
const _hoisted_1$1 = { class: "tao-toast-slot__inner" };
|
|
7077
7624
|
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
7078
7625
|
...{ name: "TaoToastViewport" },
|
|
@@ -7781,8 +8328,9 @@
|
|
|
7781
8328
|
TaoSpoilerGroup,
|
|
7782
8329
|
TaoCopy,
|
|
7783
8330
|
TaoContainer,
|
|
7784
|
-
_sfc_main$
|
|
8331
|
+
_sfc_main$G,
|
|
7785
8332
|
TaoSpace,
|
|
8333
|
+
TaoSplit,
|
|
7786
8334
|
TaoIcon,
|
|
7787
8335
|
TaoLoader,
|
|
7788
8336
|
TaoImage,
|
|
@@ -7852,7 +8400,7 @@
|
|
|
7852
8400
|
exports2.TaoEmpty = TaoEmpty;
|
|
7853
8401
|
exports2.TaoFieldset = TaoFieldset;
|
|
7854
8402
|
exports2.TaoFileDrop = TaoFileDrop;
|
|
7855
|
-
exports2.TaoFlex = _sfc_main$
|
|
8403
|
+
exports2.TaoFlex = _sfc_main$G;
|
|
7856
8404
|
exports2.TaoFormField = TaoFormField;
|
|
7857
8405
|
exports2.TaoIcon = TaoIcon;
|
|
7858
8406
|
exports2.TaoImage = TaoImage;
|
|
@@ -7876,6 +8424,7 @@
|
|
|
7876
8424
|
exports2.TaoSkeleton = TaoSkeleton;
|
|
7877
8425
|
exports2.TaoSlider = TaoSlider;
|
|
7878
8426
|
exports2.TaoSpace = TaoSpace;
|
|
8427
|
+
exports2.TaoSplit = TaoSplit;
|
|
7879
8428
|
exports2.TaoSpoiler = TaoSpoiler;
|
|
7880
8429
|
exports2.TaoSpoilerGroup = TaoSpoilerGroup;
|
|
7881
8430
|
exports2.TaoStages = TaoStages;
|