@retailcrm/embed-ui-v1-components 0.9.7 → 0.9.9
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/assets/stylesheets/motion.less +1 -0
- package/assets/stylesheets/typography.less +9 -0
- package/dist/host.cjs +939 -304
- package/dist/host.css +320 -2
- package/dist/host.d.ts +76 -11
- package/dist/host.js +940 -305
- package/dist/remote.cjs +860 -0
- package/dist/remote.d.ts +564 -0
- package/dist/remote.js +861 -1
- package/package.json +1 -1
package/dist/host.cjs
CHANGED
|
@@ -5,12 +5,12 @@ const imagePreview = require("@retailcrm/image-preview");
|
|
|
5
5
|
const isEqual = require("lodash.isequal");
|
|
6
6
|
const dateFns = require("date-fns");
|
|
7
7
|
const vue3PerfectScrollbar = require("vue3-perfect-scrollbar");
|
|
8
|
-
const _hoisted_1$
|
|
8
|
+
const _hoisted_1$q = {
|
|
9
9
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10
10
|
viewBox: "0 0 24 24"
|
|
11
11
|
};
|
|
12
|
-
function render$
|
|
13
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
12
|
+
function render$b(_ctx, _cache) {
|
|
13
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$q, [..._cache[0] || (_cache[0] = [
|
|
14
14
|
vue.createElementVNode("path", {
|
|
15
15
|
fill: "currentColor",
|
|
16
16
|
"fill-rule": "evenodd",
|
|
@@ -19,34 +19,34 @@ function render$a(_ctx, _cache) {
|
|
|
19
19
|
}, null, -1)
|
|
20
20
|
])]);
|
|
21
21
|
}
|
|
22
|
-
const IconHelpOutlined = { render: render$
|
|
23
|
-
const _hoisted_1$
|
|
22
|
+
const IconHelpOutlined = { render: render$b };
|
|
23
|
+
const _hoisted_1$p = {
|
|
24
24
|
xmlns: "http://www.w3.org/2000/svg",
|
|
25
25
|
viewBox: "0 0 18 8"
|
|
26
26
|
};
|
|
27
|
-
function render$
|
|
28
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
27
|
+
function render$a(_ctx, _cache) {
|
|
28
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$p, [..._cache[0] || (_cache[0] = [
|
|
29
29
|
vue.createElementVNode("g", { fill: "currentColor" }, [
|
|
30
30
|
vue.createElementVNode("path", { d: "M0 0v8h2.867q1.257-.011 1.935-.604.68-.594.68-1.748 0-.675-.33-1.143a1.54 1.54 0 0 0-.892-.62q.497-.21.775-.654.279-.45.279-1.039 0-1.077-.694-1.632Q3.926 0 2.584 0zm1.52 6.676v-2.16h1.393q1.048.016 1.048 1.116 0 .488-.303.77-.3.273-.836.274zm1.124-3.324H1.52V1.335h1.064q.628 0 .916.242.294.236.294.78 0 .972-1.15.995M7.503 6.352h2.665L10.679 8h1.616l-2.76-8H8.125L5.38 8h1.616zm2.254-1.336H7.913l.917-2.994zM12.362 8V0h2.27q.972 0 1.737.478.77.473 1.2 1.352.432.873.431 1.989v.368q0 1.115-.425 1.983a3.17 3.17 0 0 1-1.191 1.346A3.26 3.26 0 0 1 14.646 8zm1.52-6.665v5.34h.734q.891 0 1.363-.631.47-.632.481-1.808v-.423q0-1.22-.466-1.846-.466-.632-1.363-.632z" })
|
|
31
31
|
], -1)
|
|
32
32
|
])]);
|
|
33
33
|
}
|
|
34
|
-
const SpriteBAD = { render: render$
|
|
35
|
-
const _hoisted_1$
|
|
34
|
+
const SpriteBAD = { render: render$a };
|
|
35
|
+
const _hoisted_1$o = {
|
|
36
36
|
xmlns: "http://www.w3.org/2000/svg",
|
|
37
37
|
viewBox: "0 0 16 8"
|
|
38
38
|
};
|
|
39
|
-
function render$
|
|
40
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
39
|
+
function render$9(_ctx, _cache) {
|
|
40
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$o, [..._cache[0] || (_cache[0] = [
|
|
41
41
|
vue.createElementVNode("g", { fill: "currentColor" }, [
|
|
42
42
|
vue.createElementVNode("path", { d: "M3.373 6.016 5.058 0h1.704L4.175 8H2.577L0 0h1.7zM8.99 8H7.46V0H8.99zM11.84 8V5.181h1.343q1.322 0 2.067-.676.75-.681.75-1.857 0-.774-.342-1.379a2.3 2.3 0 0 0-.98-.94Q14.045 0 13.208 0H10.31v8zm1.368-4.154h-1.367v-2.51h1.403q.567.01.888.373t.322.95q0 .571-.322.88-.316.307-.924.307" })
|
|
43
43
|
], -1)
|
|
44
44
|
])]);
|
|
45
45
|
}
|
|
46
|
-
const SpriteVIP = { render: render$
|
|
46
|
+
const SpriteVIP = { render: render$9 };
|
|
47
47
|
const ImageWorkersKey = Symbol("$image.workers");
|
|
48
|
-
const _hoisted_1$
|
|
49
|
-
const _sfc_main$
|
|
48
|
+
const _hoisted_1$n = ["alt", "src"];
|
|
49
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
50
50
|
__name: "UiImage",
|
|
51
51
|
props: {
|
|
52
52
|
alt: {
|
|
@@ -82,7 +82,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
82
82
|
return vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({
|
|
83
83
|
alt: __props.alt,
|
|
84
84
|
src: url.value
|
|
85
|
-
}, _ctx.$attrs), null, 16, _hoisted_1$
|
|
85
|
+
}, _ctx.$attrs), null, 16, _hoisted_1$n);
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
});
|
|
@@ -102,12 +102,12 @@ const isURL = (href, loose = true) => {
|
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
104
|
const AvatarSizeKey = Symbol("UiAvatarSize");
|
|
105
|
-
var SIZE$
|
|
105
|
+
var SIZE$7 = /* @__PURE__ */ ((SIZE2) => {
|
|
106
106
|
SIZE2["XS"] = "xs";
|
|
107
107
|
SIZE2["SM"] = "sm";
|
|
108
108
|
SIZE2["LG"] = "lg";
|
|
109
109
|
return SIZE2;
|
|
110
|
-
})(SIZE$
|
|
110
|
+
})(SIZE$7 || {});
|
|
111
111
|
var STATUS = /* @__PURE__ */ ((STATUS2) => {
|
|
112
112
|
STATUS2["NONE"] = "";
|
|
113
113
|
STATUS2["BUSY"] = "busy";
|
|
@@ -116,27 +116,27 @@ var STATUS = /* @__PURE__ */ ((STATUS2) => {
|
|
|
116
116
|
STATUS2["FREE"] = "free";
|
|
117
117
|
return STATUS2;
|
|
118
118
|
})(STATUS || {});
|
|
119
|
-
const _hoisted_1$
|
|
119
|
+
const _hoisted_1$m = {
|
|
120
120
|
key: 1,
|
|
121
121
|
class: "ui-v1-avatar__unresolved"
|
|
122
122
|
};
|
|
123
|
-
const _hoisted_2$
|
|
123
|
+
const _hoisted_2$9 = {
|
|
124
124
|
key: 3,
|
|
125
125
|
class: "ui-v1-avatar__initials"
|
|
126
126
|
};
|
|
127
|
-
const _hoisted_3$
|
|
127
|
+
const _hoisted_3$8 = {
|
|
128
128
|
key: 4,
|
|
129
129
|
class: "ui-v1-avatar__labels"
|
|
130
130
|
};
|
|
131
|
-
const _hoisted_4$
|
|
131
|
+
const _hoisted_4$6 = {
|
|
132
132
|
key: 0,
|
|
133
133
|
class: "ui-v1-avatar__label ui-v1-avatar__label_vip"
|
|
134
134
|
};
|
|
135
|
-
const _hoisted_5$
|
|
135
|
+
const _hoisted_5$5 = {
|
|
136
136
|
key: 1,
|
|
137
137
|
class: "ui-v1-avatar__label ui-v1-avatar__label_bad"
|
|
138
138
|
};
|
|
139
|
-
const _sfc_main$
|
|
139
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
140
140
|
__name: "UiAvatar",
|
|
141
141
|
props: {
|
|
142
142
|
/** Путь к изображению */
|
|
@@ -175,8 +175,8 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
175
175
|
/** Размер изображения */
|
|
176
176
|
size: {
|
|
177
177
|
type: String,
|
|
178
|
-
validator: (size) => Object.values(SIZE$
|
|
179
|
-
default: SIZE$
|
|
178
|
+
validator: (size) => Object.values(SIZE$7).includes(size),
|
|
179
|
+
default: SIZE$7.SM
|
|
180
180
|
},
|
|
181
181
|
optimize: {
|
|
182
182
|
type: [Boolean, Object],
|
|
@@ -204,9 +204,9 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
204
204
|
const processing = typeof props.optimize === "object" ? props.optimize : {};
|
|
205
205
|
return {
|
|
206
206
|
resize: processing.resize ?? {
|
|
207
|
-
[SIZE$
|
|
208
|
-
[SIZE$
|
|
209
|
-
[SIZE$
|
|
207
|
+
[SIZE$7.XS]: "48x-",
|
|
208
|
+
[SIZE$7.SM]: "72x-",
|
|
209
|
+
[SIZE$7.LG]: "104x-"
|
|
210
210
|
}[size.value],
|
|
211
211
|
crop: processing.crop
|
|
212
212
|
};
|
|
@@ -223,7 +223,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
223
223
|
}
|
|
224
224
|
}, _ctx.$attrs), {
|
|
225
225
|
default: vue.withCtx(() => [
|
|
226
|
-
__props.src ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
226
|
+
__props.src ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
227
227
|
key: 0,
|
|
228
228
|
src: __props.src,
|
|
229
229
|
resize: optimization.value.resize,
|
|
@@ -232,7 +232,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
232
232
|
draggable: "false",
|
|
233
233
|
onLoad: _cache[0] || (_cache[0] = ($event) => loaded.value = true),
|
|
234
234
|
onError: _cache[1] || (_cache[1] = ($event) => loaded.value = false)
|
|
235
|
-
}, null, 8, ["src", "resize", "crop"])) : !__props.src && unresolved.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
235
|
+
}, null, 8, ["src", "resize", "crop"])) : !__props.src && unresolved.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
|
|
236
236
|
vue.createVNode(vue.unref(IconHelpOutlined))
|
|
237
237
|
])) : vue.createCommentVNode("", true),
|
|
238
238
|
__props.status && !(__props.vip || __props.bad) ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
@@ -243,16 +243,16 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
243
243
|
[`ui-v1-avatar__status_${__props.status}`]: __props.status
|
|
244
244
|
})
|
|
245
245
|
}, null, 2)) : vue.createCommentVNode("", true),
|
|
246
|
-
!(unresolved.value || loaded.value) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
246
|
+
!(unresolved.value || loaded.value) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$9, [
|
|
247
247
|
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
248
248
|
vue.createTextVNode(vue.toDisplayString(initials.value), 1)
|
|
249
249
|
])
|
|
250
250
|
])) : vue.createCommentVNode("", true),
|
|
251
|
-
__props.vip || __props.bad ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
252
|
-
__props.vip ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$
|
|
251
|
+
__props.vip || __props.bad ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$8, [
|
|
252
|
+
__props.vip ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$6, [
|
|
253
253
|
vue.createVNode(vue.unref(SpriteVIP), { class: "ui-v1-avatar__vip" })
|
|
254
254
|
])) : vue.createCommentVNode("", true),
|
|
255
|
-
__props.bad ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$
|
|
255
|
+
__props.bad ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$5, [
|
|
256
256
|
vue.createVNode(vue.unref(SpriteBAD), { class: "ui-v1-avatar__bad" })
|
|
257
257
|
])) : vue.createCommentVNode("", true)
|
|
258
258
|
])) : vue.createCommentVNode("", true)
|
|
@@ -262,7 +262,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
262
262
|
};
|
|
263
263
|
}
|
|
264
264
|
});
|
|
265
|
-
const _sfc_main$
|
|
265
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
266
266
|
__name: "UiAvatarList",
|
|
267
267
|
props: {
|
|
268
268
|
/** Список аватарок пользователей */
|
|
@@ -273,8 +273,8 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
273
273
|
/** Размер аватарок */
|
|
274
274
|
size: {
|
|
275
275
|
type: String,
|
|
276
|
-
validator: (size) => Object.values(SIZE$
|
|
277
|
-
default: SIZE$
|
|
276
|
+
validator: (size) => Object.values(SIZE$7).includes(size),
|
|
277
|
+
default: SIZE$7.SM
|
|
278
278
|
}
|
|
279
279
|
},
|
|
280
280
|
setup(__props) {
|
|
@@ -289,7 +289,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
289
289
|
key: index,
|
|
290
290
|
class: "ui-v1-avatar-list__item"
|
|
291
291
|
}, [
|
|
292
|
-
vue.createVNode(_sfc_main$
|
|
292
|
+
vue.createVNode(_sfc_main$s, {
|
|
293
293
|
src: avatar.src,
|
|
294
294
|
name: avatar.name
|
|
295
295
|
}, null, 8, ["src", "name"])
|
|
@@ -343,20 +343,20 @@ var APPEARANCE$2 = /* @__PURE__ */ ((APPEARANCE2) => {
|
|
|
343
343
|
APPEARANCE2["TERTIARY"] = "tertiary";
|
|
344
344
|
return APPEARANCE2;
|
|
345
345
|
})(APPEARANCE$2 || {});
|
|
346
|
-
var SIZE$
|
|
346
|
+
var SIZE$6 = /* @__PURE__ */ ((SIZE2) => {
|
|
347
347
|
SIZE2["LG"] = "lg";
|
|
348
348
|
SIZE2["MD"] = "md";
|
|
349
349
|
SIZE2["SM"] = "sm";
|
|
350
350
|
SIZE2["XS"] = "xs";
|
|
351
351
|
return SIZE2;
|
|
352
|
-
})(SIZE$
|
|
352
|
+
})(SIZE$6 || {});
|
|
353
353
|
var VARIANT = /* @__PURE__ */ ((VARIANT2) => {
|
|
354
354
|
VARIANT2["DEFAULT"] = "default";
|
|
355
355
|
VARIANT2["SUCCESS"] = "success";
|
|
356
356
|
VARIANT2["DANGER"] = "danger";
|
|
357
357
|
return VARIANT2;
|
|
358
358
|
})(VARIANT || {});
|
|
359
|
-
const _sfc_main$
|
|
359
|
+
const _sfc_main$q = vue.defineComponent({
|
|
360
360
|
props: {
|
|
361
361
|
/** Устанавливает тип кнопки */
|
|
362
362
|
type: {
|
|
@@ -382,7 +382,7 @@ const _sfc_main$m = vue.defineComponent({
|
|
|
382
382
|
/** Размер */
|
|
383
383
|
size: {
|
|
384
384
|
type: String,
|
|
385
|
-
default: SIZE$
|
|
385
|
+
default: SIZE$6.SM
|
|
386
386
|
},
|
|
387
387
|
/** Если кнопка активна */
|
|
388
388
|
active: {
|
|
@@ -442,12 +442,12 @@ const _sfc_main$m = vue.defineComponent({
|
|
|
442
442
|
};
|
|
443
443
|
}
|
|
444
444
|
});
|
|
445
|
-
const _hoisted_1$
|
|
445
|
+
const _hoisted_1$l = {
|
|
446
446
|
xmlns: "http://www.w3.org/2000/svg",
|
|
447
447
|
viewBox: "0 0 24 24"
|
|
448
448
|
};
|
|
449
|
-
function render$
|
|
450
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
449
|
+
function render$8(_ctx, _cache) {
|
|
450
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$l, [..._cache[0] || (_cache[0] = [
|
|
451
451
|
vue.createElementVNode("path", {
|
|
452
452
|
fill: "currentColor",
|
|
453
453
|
"fill-rule": "evenodd",
|
|
@@ -456,7 +456,7 @@ function render$7(_ctx, _cache) {
|
|
|
456
456
|
}, null, -1)
|
|
457
457
|
])]);
|
|
458
458
|
}
|
|
459
|
-
const IconDone = { render: render$
|
|
459
|
+
const IconDone = { render: render$8 };
|
|
460
460
|
const expect = (value) => ({
|
|
461
461
|
toBeOneOf(variants) {
|
|
462
462
|
return Object.values(variants).includes(value);
|
|
@@ -477,11 +477,11 @@ const without = (obj, exclude) => {
|
|
|
477
477
|
});
|
|
478
478
|
return newObj;
|
|
479
479
|
};
|
|
480
|
-
const _hoisted_1$
|
|
481
|
-
const _hoisted_2$
|
|
480
|
+
const _hoisted_1$k = ["id", "value", "name", "disabled", "checked"];
|
|
481
|
+
const _hoisted_2$8 = { class: "ui-v1-checkbox__checkmark" };
|
|
482
482
|
let counter$2 = 0;
|
|
483
483
|
const __default__$1 = {};
|
|
484
|
-
const _sfc_main$
|
|
484
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
485
485
|
...__default__$1,
|
|
486
486
|
__name: "UiCheckbox",
|
|
487
487
|
props: {
|
|
@@ -588,8 +588,8 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
588
588
|
type: "checkbox",
|
|
589
589
|
class: "ui-v1-checkbox__input",
|
|
590
590
|
onChange
|
|
591
|
-
}), null, 16, _hoisted_1$
|
|
592
|
-
vue.createElementVNode("span", _hoisted_2$
|
|
591
|
+
}), null, 16, _hoisted_1$k),
|
|
592
|
+
vue.createElementVNode("span", _hoisted_2$8, [
|
|
593
593
|
checked.value && !__props.indeterminate ? (vue.openBlock(), vue.createBlock(vue.unref(IconDone), {
|
|
594
594
|
key: 0,
|
|
595
595
|
class: "ui-v1-checkbox__checkmark-icon"
|
|
@@ -599,13 +599,13 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
599
599
|
};
|
|
600
600
|
}
|
|
601
601
|
});
|
|
602
|
-
const _hoisted_1$
|
|
602
|
+
const _hoisted_1$j = {
|
|
603
603
|
xmlns: "http://www.w3.org/2000/svg",
|
|
604
604
|
fill: "none",
|
|
605
605
|
viewBox: "0 0 24 24"
|
|
606
606
|
};
|
|
607
|
-
function render$
|
|
608
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
607
|
+
function render$7(_ctx, _cache) {
|
|
608
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$j, [..._cache[0] || (_cache[0] = [
|
|
609
609
|
vue.createElementVNode("path", {
|
|
610
610
|
fill: "currentColor",
|
|
611
611
|
"fill-rule": "evenodd",
|
|
@@ -614,20 +614,20 @@ function render$6(_ctx, _cache) {
|
|
|
614
614
|
}, null, -1)
|
|
615
615
|
])]);
|
|
616
616
|
}
|
|
617
|
-
const IconCheckmarkCircleOutlined = { render: render$
|
|
618
|
-
const _hoisted_1$
|
|
617
|
+
const IconCheckmarkCircleOutlined = { render: render$7 };
|
|
618
|
+
const _hoisted_1$i = {
|
|
619
619
|
xmlns: "http://www.w3.org/2000/svg",
|
|
620
620
|
viewBox: "0 0 24 24"
|
|
621
621
|
};
|
|
622
|
-
function render$
|
|
623
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
622
|
+
function render$6(_ctx, _cache) {
|
|
623
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$i, [..._cache[0] || (_cache[0] = [
|
|
624
624
|
vue.createElementVNode("path", {
|
|
625
625
|
fill: "currentColor",
|
|
626
626
|
d: "M18 16V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2M4 4h12v12H4zm16 14V6a2 2 0 0 1 2 2v10a4 4 0 0 1-4 4H8a2 2 0 0 1-2-2h12a2 2 0 0 0 2-2"
|
|
627
627
|
}, null, -1)
|
|
628
628
|
])]);
|
|
629
629
|
}
|
|
630
|
-
const IconCopy = { render: render$
|
|
630
|
+
const IconCopy = { render: render$6 };
|
|
631
631
|
const isArray = Array.isArray;
|
|
632
632
|
const normalize = (triggers) => {
|
|
633
633
|
const show = isArray(triggers) ? triggers : triggers.show ?? [];
|
|
@@ -2294,8 +2294,8 @@ if (typeof document !== "undefined" && typeof window !== "undefined") {
|
|
|
2294
2294
|
window.addEventListener("click", onGlobalEvent("click"), true);
|
|
2295
2295
|
}
|
|
2296
2296
|
}
|
|
2297
|
-
const _hoisted_1$
|
|
2298
|
-
const _sfc_main$
|
|
2297
|
+
const _hoisted_1$h = { class: "ui-v1-popper__content" };
|
|
2298
|
+
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
2299
2299
|
__name: "UiPopper",
|
|
2300
2300
|
props: {
|
|
2301
2301
|
/** Флаг для ручного переключения видимости */
|
|
@@ -2381,6 +2381,8 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
2381
2381
|
}
|
|
2382
2382
|
},
|
|
2383
2383
|
emits: [
|
|
2384
|
+
/** Элемент добавлен на страницу */
|
|
2385
|
+
"attached",
|
|
2384
2386
|
/** Смена значения флага видимости плавающего элемента */
|
|
2385
2387
|
"update:visible",
|
|
2386
2388
|
/** Появление плавающего элемента */
|
|
@@ -2481,6 +2483,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
2481
2483
|
}
|
|
2482
2484
|
state.hiding = false;
|
|
2483
2485
|
state.attached = true;
|
|
2486
|
+
emit("attached");
|
|
2484
2487
|
showingScheduler.schedule(doShow, immediately ? 0 : delay.value.show);
|
|
2485
2488
|
emit("show");
|
|
2486
2489
|
state.showing = true;
|
|
@@ -2580,6 +2583,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
2580
2583
|
if (isAttached && !wasAttached) {
|
|
2581
2584
|
vue.nextTick(async () => {
|
|
2582
2585
|
if (state.visible) {
|
|
2586
|
+
emit("attached");
|
|
2583
2587
|
autoAdjustOff();
|
|
2584
2588
|
await adjust();
|
|
2585
2589
|
autoAdjustOn();
|
|
@@ -2637,7 +2641,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
2637
2641
|
ref: arrow2,
|
|
2638
2642
|
class: "ui-v1-popper__arrow"
|
|
2639
2643
|
}, null, 512)) : vue.createCommentVNode("", true),
|
|
2640
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
2644
|
+
vue.createElementVNode("div", _hoisted_1$h, [
|
|
2641
2645
|
vue.renderSlot(_ctx.$slots, "default")
|
|
2642
2646
|
])
|
|
2643
2647
|
], 16)
|
|
@@ -2645,7 +2649,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
2645
2649
|
};
|
|
2646
2650
|
}
|
|
2647
2651
|
});
|
|
2648
|
-
const _sfc_main$
|
|
2652
|
+
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
2649
2653
|
__name: "UiTooltip",
|
|
2650
2654
|
props: {
|
|
2651
2655
|
/** Флаг для ручного переключения видимости */
|
|
@@ -2756,7 +2760,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
2756
2760
|
hide: () => popper.value?.hide()
|
|
2757
2761
|
});
|
|
2758
2762
|
return (_ctx, _cache) => {
|
|
2759
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2763
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$o, vue.mergeProps({
|
|
2760
2764
|
ref_key: "popper",
|
|
2761
2765
|
ref: popper,
|
|
2762
2766
|
visible: __props.visible,
|
|
@@ -2790,11 +2794,11 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
2790
2794
|
};
|
|
2791
2795
|
}
|
|
2792
2796
|
});
|
|
2793
|
-
const _hoisted_1$
|
|
2794
|
-
const _hoisted_2$
|
|
2795
|
-
const _hoisted_3$
|
|
2796
|
-
const _hoisted_4$
|
|
2797
|
-
const _sfc_main$
|
|
2797
|
+
const _hoisted_1$g = { class: "ui-v1-copy-button__tooltip" };
|
|
2798
|
+
const _hoisted_2$7 = { class: "ui-v1-copy-button__icon" };
|
|
2799
|
+
const _hoisted_3$7 = { class: "ui-v1-copy-button__text" };
|
|
2800
|
+
const _hoisted_4$5 = ["value"];
|
|
2801
|
+
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
2798
2802
|
__name: "UiCopyButton",
|
|
2799
2803
|
props: {
|
|
2800
2804
|
/** Текст для копирования в буфер обмена */
|
|
@@ -2805,7 +2809,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
2805
2809
|
/** Размер кнопки */
|
|
2806
2810
|
size: {
|
|
2807
2811
|
type: String,
|
|
2808
|
-
default: SIZE$
|
|
2812
|
+
default: SIZE$6.XS
|
|
2809
2813
|
},
|
|
2810
2814
|
/** Объект, содержащий параметры настройки Tooltip */
|
|
2811
2815
|
tooltipOptions: {
|
|
@@ -2866,7 +2870,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
2866
2870
|
onClick: copy
|
|
2867
2871
|
}, [
|
|
2868
2872
|
vue.renderSlot(_ctx.$slots, "trigger", {}, () => [
|
|
2869
|
-
vue.createVNode(_sfc_main$
|
|
2873
|
+
vue.createVNode(_sfc_main$q, {
|
|
2870
2874
|
size: __props.size,
|
|
2871
2875
|
appearance: "tertiary"
|
|
2872
2876
|
}, {
|
|
@@ -2876,7 +2880,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
2876
2880
|
_: 1
|
|
2877
2881
|
}, 8, ["size"])
|
|
2878
2882
|
]),
|
|
2879
|
-
vue.createVNode(_sfc_main$
|
|
2883
|
+
vue.createVNode(_sfc_main$n, vue.mergeProps({
|
|
2880
2884
|
visible: visible.value,
|
|
2881
2885
|
"onUpdate:visible": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
|
|
2882
2886
|
target: rootTarget.value,
|
|
@@ -2886,12 +2890,12 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
2886
2890
|
...__props.tooltipOptions
|
|
2887
2891
|
}), {
|
|
2888
2892
|
default: vue.withCtx(() => [
|
|
2889
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
2893
|
+
vue.createElementVNode("div", _hoisted_1$g, [
|
|
2890
2894
|
copied.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
2891
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
2895
|
+
vue.createElementVNode("div", _hoisted_2$7, [
|
|
2892
2896
|
vue.createVNode(vue.unref(IconCheckmarkCircleOutlined))
|
|
2893
2897
|
]),
|
|
2894
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
2898
|
+
vue.createElementVNode("div", _hoisted_3$7, [
|
|
2895
2899
|
vue.renderSlot(_ctx.$slots, "hint-copied")
|
|
2896
2900
|
])
|
|
2897
2901
|
], 64)) : vue.renderSlot(_ctx.$slots, "hint", { key: 1 })
|
|
@@ -2906,7 +2910,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
2906
2910
|
value: __props.text,
|
|
2907
2911
|
class: "ui-v1-copy-button__area",
|
|
2908
2912
|
type: "text"
|
|
2909
|
-
}, null, 8, _hoisted_4$
|
|
2913
|
+
}, null, 8, _hoisted_4$5)) : vue.createCommentVNode("", true)
|
|
2910
2914
|
], 544);
|
|
2911
2915
|
};
|
|
2912
2916
|
}
|
|
@@ -4541,7 +4545,7 @@ function detectLocale() {
|
|
|
4541
4545
|
}
|
|
4542
4546
|
return "en-GB";
|
|
4543
4547
|
}
|
|
4544
|
-
const _sfc_main$
|
|
4548
|
+
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
4545
4549
|
__name: "UiDate",
|
|
4546
4550
|
props: {
|
|
4547
4551
|
date: {
|
|
@@ -4573,7 +4577,7 @@ var ALIGN = /* @__PURE__ */ ((ALIGN2) => {
|
|
|
4573
4577
|
ALIGN2["RIGHT"] = "right";
|
|
4574
4578
|
return ALIGN2;
|
|
4575
4579
|
})(ALIGN || {});
|
|
4576
|
-
const _sfc_main$
|
|
4580
|
+
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
4577
4581
|
__name: "UiError",
|
|
4578
4582
|
props: {
|
|
4579
4583
|
/** Тест, разметка ошибки */
|
|
@@ -4612,19 +4616,19 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
4612
4616
|
};
|
|
4613
4617
|
}
|
|
4614
4618
|
});
|
|
4615
|
-
const _hoisted_1$
|
|
4619
|
+
const _hoisted_1$f = {
|
|
4616
4620
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4617
4621
|
viewBox: "0 0 24 24"
|
|
4618
4622
|
};
|
|
4619
|
-
function render$
|
|
4620
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
4623
|
+
function render$5(_ctx, _cache) {
|
|
4624
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$f, [..._cache[0] || (_cache[0] = [
|
|
4621
4625
|
vue.createElementVNode("path", {
|
|
4622
4626
|
fill: "currentColor",
|
|
4623
4627
|
d: "m6.844 17.854-.7-.703a.5.5 0 0 1 0-.704l8.48-8.456-6.212.007a.49.49 0 0 1-.496-.5l.007-.991a.5.5 0 0 1 .496-.5L16.994 6c.196 0 .385.078.524.218l.265.267c.137.142.215.33.217.528l-.007 8.633a.5.5 0 0 1-.496.5h-.992a.48.48 0 0 1-.49-.493l.007-6.255-8.48 8.456a.49.49 0 0 1-.698 0"
|
|
4624
4628
|
}, null, -1)
|
|
4625
4629
|
])]);
|
|
4626
4630
|
}
|
|
4627
|
-
const IconOpenInNew = { render: render$
|
|
4631
|
+
const IconOpenInNew = { render: render$5 };
|
|
4628
4632
|
var APPEARANCE$1 = /* @__PURE__ */ ((APPEARANCE2) => {
|
|
4629
4633
|
APPEARANCE2["BREADCRUMBS"] = "breadcrumbs";
|
|
4630
4634
|
APPEARANCE2["DEFAULT"] = "default";
|
|
@@ -4633,7 +4637,7 @@ var APPEARANCE$1 = /* @__PURE__ */ ((APPEARANCE2) => {
|
|
|
4633
4637
|
APPEARANCE2["TITLE"] = "title";
|
|
4634
4638
|
return APPEARANCE2;
|
|
4635
4639
|
})(APPEARANCE$1 || {});
|
|
4636
|
-
var SIZE$
|
|
4640
|
+
var SIZE$5 = /* @__PURE__ */ ((SIZE2) => {
|
|
4637
4641
|
SIZE2["ARTICLE"] = "article";
|
|
4638
4642
|
SIZE2["BODY"] = "body";
|
|
4639
4643
|
SIZE2["PARAGRAPH"] = "paragraph";
|
|
@@ -4642,17 +4646,17 @@ var SIZE$4 = /* @__PURE__ */ ((SIZE2) => {
|
|
|
4642
4646
|
SIZE2["TITLE01"] = "title-01";
|
|
4643
4647
|
SIZE2["TITLE02"] = "title-02";
|
|
4644
4648
|
return SIZE2;
|
|
4645
|
-
})(SIZE$
|
|
4646
|
-
const _hoisted_1$
|
|
4647
|
-
const _hoisted_2$
|
|
4649
|
+
})(SIZE$5 || {});
|
|
4650
|
+
const _hoisted_1$e = ["href", "target"];
|
|
4651
|
+
const _hoisted_2$6 = {
|
|
4648
4652
|
key: 0,
|
|
4649
4653
|
class: "ui-v1-link__inner"
|
|
4650
4654
|
};
|
|
4651
|
-
const _hoisted_3$
|
|
4655
|
+
const _hoisted_3$6 = {
|
|
4652
4656
|
key: 2,
|
|
4653
4657
|
class: "ui-v1-link__icon"
|
|
4654
4658
|
};
|
|
4655
|
-
const _sfc_main$
|
|
4659
|
+
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
4656
4660
|
__name: "UiLink",
|
|
4657
4661
|
props: {
|
|
4658
4662
|
/** Атрибут ссылки */
|
|
@@ -4678,8 +4682,8 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
4678
4682
|
/** Размер текста */
|
|
4679
4683
|
size: {
|
|
4680
4684
|
type: String,
|
|
4681
|
-
validator: (size) => Object.values(SIZE$
|
|
4682
|
-
default: SIZE$
|
|
4685
|
+
validator: (size) => Object.values(SIZE$5).includes(size),
|
|
4686
|
+
default: SIZE$5.BODY
|
|
4683
4687
|
},
|
|
4684
4688
|
/** Инвертированный цвет ссылок для тёмного фона */
|
|
4685
4689
|
light: {
|
|
@@ -4721,19 +4725,19 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
4721
4725
|
},
|
|
4722
4726
|
target: __props.external ? "_blank" : "_self"
|
|
4723
4727
|
}, _ctx.$attrs), [
|
|
4724
|
-
__props.dotted ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
4728
|
+
__props.dotted ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$6, [
|
|
4725
4729
|
vue.renderSlot(_ctx.$slots, "default")
|
|
4726
4730
|
])) : vue.renderSlot(_ctx.$slots, "default", { key: 1 }),
|
|
4727
|
-
_ctx.$slots.icon || __props.external ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
4731
|
+
_ctx.$slots.icon || __props.external ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$6, [
|
|
4728
4732
|
vue.renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
4729
4733
|
vue.createVNode(vue.unref(IconOpenInNew), { class: "ui-v1-link__icon-sprite" })
|
|
4730
4734
|
])
|
|
4731
4735
|
])) : vue.createCommentVNode("", true)
|
|
4732
|
-
], 16, _hoisted_1$
|
|
4736
|
+
], 16, _hoisted_1$e);
|
|
4733
4737
|
};
|
|
4734
4738
|
}
|
|
4735
4739
|
});
|
|
4736
|
-
const _sfc_main$
|
|
4740
|
+
const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
4737
4741
|
__name: "UiTransition",
|
|
4738
4742
|
props: {
|
|
4739
4743
|
/** Наименование анимации перехода */
|
|
@@ -4761,7 +4765,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
4761
4765
|
};
|
|
4762
4766
|
}
|
|
4763
4767
|
});
|
|
4764
|
-
const _sfc_main$
|
|
4768
|
+
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
4765
4769
|
__name: "UiLoader",
|
|
4766
4770
|
props: {
|
|
4767
4771
|
/** Диаметр (размер) окружности индикатора */
|
|
@@ -4793,7 +4797,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
4793
4797
|
},
|
|
4794
4798
|
setup(__props) {
|
|
4795
4799
|
return (_ctx, _cache) => {
|
|
4796
|
-
return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(__props.transition ? _sfc_main$
|
|
4800
|
+
return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(__props.transition ? _sfc_main$i : "div"), vue.normalizeProps(vue.guardReactiveProps(__props.transition ? {
|
|
4797
4801
|
appear: true,
|
|
4798
4802
|
class: "ui-v1-loader-wrapper",
|
|
4799
4803
|
name: __props.transition
|
|
@@ -4820,7 +4824,199 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
4820
4824
|
};
|
|
4821
4825
|
}
|
|
4822
4826
|
});
|
|
4823
|
-
|
|
4827
|
+
var SIZE$4 = /* @__PURE__ */ ((SIZE2) => {
|
|
4828
|
+
SIZE2["XS"] = "xs";
|
|
4829
|
+
SIZE2["SM"] = "sm";
|
|
4830
|
+
SIZE2["MD"] = "md";
|
|
4831
|
+
SIZE2["LG"] = "lg";
|
|
4832
|
+
return SIZE2;
|
|
4833
|
+
})(SIZE$4 || {});
|
|
4834
|
+
const deltaTransition$1 = (el) => {
|
|
4835
|
+
const delta = el.scrollWidth - el.clientWidth;
|
|
4836
|
+
return delta !== 0 ? {
|
|
4837
|
+
"--delta-width": `-${delta}px`,
|
|
4838
|
+
animationDuration: `${delta * 15}ms`
|
|
4839
|
+
} : {};
|
|
4840
|
+
};
|
|
4841
|
+
const _hoisted_1$d = {
|
|
4842
|
+
key: 0,
|
|
4843
|
+
class: "ui-v1-menu-item__avatar"
|
|
4844
|
+
};
|
|
4845
|
+
const _hoisted_2$5 = {
|
|
4846
|
+
key: 1,
|
|
4847
|
+
class: "ui-v1-menu-item__icon ui-v1-menu-item__icon_leading"
|
|
4848
|
+
};
|
|
4849
|
+
const _hoisted_3$5 = { class: "ui-v1-menu-item__content" };
|
|
4850
|
+
const _hoisted_4$4 = { class: "ui-v1-menu-item__text" };
|
|
4851
|
+
const _hoisted_5$4 = {
|
|
4852
|
+
key: 0,
|
|
4853
|
+
class: "ui-v1-menu-item__description"
|
|
4854
|
+
};
|
|
4855
|
+
const _hoisted_6$2 = {
|
|
4856
|
+
key: 2,
|
|
4857
|
+
class: "ui-v1-menu-item__counter"
|
|
4858
|
+
};
|
|
4859
|
+
const _hoisted_7$1 = {
|
|
4860
|
+
key: 3,
|
|
4861
|
+
class: "ui-v1-menu-item__icon ui-v1-menu-item__icon_trailing"
|
|
4862
|
+
};
|
|
4863
|
+
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
4864
|
+
__name: "UiMenuItem",
|
|
4865
|
+
props: {
|
|
4866
|
+
/** Размер */
|
|
4867
|
+
size: {
|
|
4868
|
+
type: String,
|
|
4869
|
+
default: SIZE$4.MD
|
|
4870
|
+
},
|
|
4871
|
+
/** Описание */
|
|
4872
|
+
description: {
|
|
4873
|
+
type: String,
|
|
4874
|
+
default: null
|
|
4875
|
+
},
|
|
4876
|
+
/** Счетчик количества */
|
|
4877
|
+
counter: {
|
|
4878
|
+
type: null,
|
|
4879
|
+
validator: (counter2) => counter2 === null || ["string", "number"].includes(typeof counter2),
|
|
4880
|
+
default: null
|
|
4881
|
+
},
|
|
4882
|
+
/** Жирное начертание */
|
|
4883
|
+
accent: {
|
|
4884
|
+
type: Boolean,
|
|
4885
|
+
default: false
|
|
4886
|
+
},
|
|
4887
|
+
/** Состояние нажатия */
|
|
4888
|
+
active: {
|
|
4889
|
+
type: Boolean,
|
|
4890
|
+
default: false
|
|
4891
|
+
},
|
|
4892
|
+
/** Индикация опасного действия */
|
|
4893
|
+
danger: {
|
|
4894
|
+
type: Boolean,
|
|
4895
|
+
default: false
|
|
4896
|
+
},
|
|
4897
|
+
/** Анимация бегущей строки при наведении */
|
|
4898
|
+
ticker: {
|
|
4899
|
+
type: Boolean,
|
|
4900
|
+
default: false
|
|
4901
|
+
},
|
|
4902
|
+
/** Делает заголовок синим и убирает внутренние отступы на корневом элементе */
|
|
4903
|
+
simple: {
|
|
4904
|
+
type: Boolean,
|
|
4905
|
+
default: false
|
|
4906
|
+
},
|
|
4907
|
+
/** Заблокированный */
|
|
4908
|
+
disabled: {
|
|
4909
|
+
type: Boolean,
|
|
4910
|
+
default: false
|
|
4911
|
+
}
|
|
4912
|
+
},
|
|
4913
|
+
setup(__props) {
|
|
4914
|
+
const props = __props;
|
|
4915
|
+
const textRef = vue.ref(null);
|
|
4916
|
+
const textStyle = vue.ref({});
|
|
4917
|
+
const onHover = () => {
|
|
4918
|
+
if (props.ticker && textRef.value) {
|
|
4919
|
+
textStyle.value = deltaTransition$1(textRef.value);
|
|
4920
|
+
}
|
|
4921
|
+
};
|
|
4922
|
+
return (_ctx, _cache) => {
|
|
4923
|
+
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
4924
|
+
class: {
|
|
4925
|
+
"ui-v1-menu-item": true,
|
|
4926
|
+
[`ui-v1-menu-item_${__props.size}`]: true,
|
|
4927
|
+
"ui-v1-menu-item_accent": __props.accent,
|
|
4928
|
+
"ui-v1-menu-item_active": __props.active,
|
|
4929
|
+
"ui-v1-menu-item_danger": __props.danger,
|
|
4930
|
+
"ui-v1-menu-item_simple": __props.simple,
|
|
4931
|
+
"ui-v1-menu-item_disabled": __props.disabled
|
|
4932
|
+
}
|
|
4933
|
+
}, _ctx.$attrs), [
|
|
4934
|
+
vue.createElementVNode("div", {
|
|
4935
|
+
class: vue.normalizeClass({
|
|
4936
|
+
"ui-v1-menu-item__inner": true,
|
|
4937
|
+
"ui-v1-menu-item__inner_centered": _ctx.$slots["avatar"] && !_ctx.$slots["description"],
|
|
4938
|
+
"ui-v1-menu-item__inner_disabled": __props.disabled
|
|
4939
|
+
}),
|
|
4940
|
+
onMouseoverOnce: onHover
|
|
4941
|
+
}, [
|
|
4942
|
+
_ctx.$slots["avatar"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [
|
|
4943
|
+
vue.renderSlot(_ctx.$slots, "avatar")
|
|
4944
|
+
])) : _ctx.$slots["leading-icon"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$5, [
|
|
4945
|
+
vue.renderSlot(_ctx.$slots, "leading-icon")
|
|
4946
|
+
])) : vue.createCommentVNode("", true),
|
|
4947
|
+
vue.createElementVNode("div", _hoisted_3$5, [
|
|
4948
|
+
vue.createElementVNode("div", _hoisted_4$4, [
|
|
4949
|
+
__props.ticker ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
4950
|
+
key: 0,
|
|
4951
|
+
ref_key: "textRef",
|
|
4952
|
+
ref: textRef,
|
|
4953
|
+
style: vue.normalizeStyle(textStyle.value),
|
|
4954
|
+
class: "ui-v1-menu-item__ticker"
|
|
4955
|
+
}, [
|
|
4956
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
4957
|
+
], 4)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
|
|
4958
|
+
]),
|
|
4959
|
+
_ctx.$slots["description"] || __props.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$4, [
|
|
4960
|
+
vue.renderSlot(_ctx.$slots, "description", {}, () => [
|
|
4961
|
+
vue.createTextVNode(vue.toDisplayString(__props.description), 1)
|
|
4962
|
+
])
|
|
4963
|
+
])) : vue.createCommentVNode("", true)
|
|
4964
|
+
]),
|
|
4965
|
+
__props.counter !== null ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$2, vue.toDisplayString(__props.counter), 1)) : vue.createCommentVNode("", true),
|
|
4966
|
+
_ctx.$slots["trailing-icon"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$1, [
|
|
4967
|
+
vue.renderSlot(_ctx.$slots, "trailing-icon")
|
|
4968
|
+
])) : vue.createCommentVNode("", true)
|
|
4969
|
+
], 34)
|
|
4970
|
+
], 16);
|
|
4971
|
+
};
|
|
4972
|
+
}
|
|
4973
|
+
});
|
|
4974
|
+
const _export_sfc = (sfc, props) => {
|
|
4975
|
+
const target = sfc.__vccOpts || sfc;
|
|
4976
|
+
for (const [key, val] of props) {
|
|
4977
|
+
target[key] = val;
|
|
4978
|
+
}
|
|
4979
|
+
return target;
|
|
4980
|
+
};
|
|
4981
|
+
const _sfc_main$f = {};
|
|
4982
|
+
const _hoisted_1$c = { class: "ui-v1-menu-item-group" };
|
|
4983
|
+
const _hoisted_2$4 = { class: "ui-v1-menu-item-group__head" };
|
|
4984
|
+
const _hoisted_3$4 = {
|
|
4985
|
+
key: 0,
|
|
4986
|
+
class: "ui-v1-menu-item-group__head-option"
|
|
4987
|
+
};
|
|
4988
|
+
const _hoisted_4$3 = {
|
|
4989
|
+
key: 1,
|
|
4990
|
+
class: "ui-v1-menu-item-group__head-inner"
|
|
4991
|
+
};
|
|
4992
|
+
const _hoisted_5$3 = {
|
|
4993
|
+
key: 0,
|
|
4994
|
+
class: "ui-v1-menu-item-group__count"
|
|
4995
|
+
};
|
|
4996
|
+
function _sfc_render(_ctx, _cache) {
|
|
4997
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
|
|
4998
|
+
vue.createElementVNode("div", _hoisted_2$4, [
|
|
4999
|
+
_ctx.$slots.option ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, [
|
|
5000
|
+
vue.renderSlot(_ctx.$slots, "option")
|
|
5001
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, [
|
|
5002
|
+
vue.createElementVNode("div", {
|
|
5003
|
+
class: vue.normalizeClass({
|
|
5004
|
+
"ui-v1-menu-item-group__title": true,
|
|
5005
|
+
"ui-v1-menu-item-group__title_upper": !_ctx.$slots.option
|
|
5006
|
+
})
|
|
5007
|
+
}, [
|
|
5008
|
+
vue.renderSlot(_ctx.$slots, "label")
|
|
5009
|
+
], 2),
|
|
5010
|
+
_ctx.$slots.quantity ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$3, [
|
|
5011
|
+
vue.renderSlot(_ctx.$slots, "quantity")
|
|
5012
|
+
])) : vue.createCommentVNode("", true)
|
|
5013
|
+
]))
|
|
5014
|
+
]),
|
|
5015
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
5016
|
+
]);
|
|
5017
|
+
}
|
|
5018
|
+
const UiMenuItemGroup = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["render", _sfc_render]]);
|
|
5019
|
+
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
4824
5020
|
__name: "UiScrollBox",
|
|
4825
5021
|
props: {
|
|
4826
5022
|
/** Наименование тэга-обёртки для нативного скролла */
|
|
@@ -4920,19 +5116,19 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
4920
5116
|
};
|
|
4921
5117
|
}
|
|
4922
5118
|
});
|
|
4923
|
-
const _hoisted_1$
|
|
5119
|
+
const _hoisted_1$b = {
|
|
4924
5120
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4925
5121
|
viewBox: "0 0 24 24"
|
|
4926
5122
|
};
|
|
4927
|
-
function render$
|
|
4928
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
5123
|
+
function render$4(_ctx, _cache) {
|
|
5124
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$b, [..._cache[0] || (_cache[0] = [
|
|
4929
5125
|
vue.createElementVNode("path", {
|
|
4930
5126
|
fill: "currentColor",
|
|
4931
5127
|
d: "M7.113 6.176a.6.6 0 0 1 .848 0L12 10.214l4.038-4.038a.6.6 0 0 1 .849 0l.937.937a.6.6 0 0 1 0 .848L13.785 12l4.04 4.04a.6.6 0 0 1 0 .848l-.937.937a.6.6 0 0 1-.849 0L12 13.784l-4.038 4.04a.6.6 0 0 1-.849 0l-.937-.937a.6.6 0 0 1 0-.848l4.04-4.04-4.039-4.038a.6.6 0 0 1 0-.849z"
|
|
4932
5128
|
}, null, -1)
|
|
4933
5129
|
])]);
|
|
4934
5130
|
}
|
|
4935
|
-
const IconClear = { render: render$
|
|
5131
|
+
const IconClear = { render: render$4 };
|
|
4936
5132
|
const ModalInjectKey = Symbol("$embedModal");
|
|
4937
5133
|
const plugin$1 = {
|
|
4938
5134
|
install(app, options) {
|
|
@@ -5028,7 +5224,7 @@ var SIZE$3 = /* @__PURE__ */ ((SIZE2) => {
|
|
|
5028
5224
|
SIZE2["SM"] = "sm";
|
|
5029
5225
|
return SIZE2;
|
|
5030
5226
|
})(SIZE$3 || {});
|
|
5031
|
-
const _hoisted_1$
|
|
5227
|
+
const _hoisted_1$a = ["id", "aria-hidden"];
|
|
5032
5228
|
const _hoisted_2$3 = ["id"];
|
|
5033
5229
|
const _hoisted_3$3 = { class: "ui-v1-modal-sidebar__header" };
|
|
5034
5230
|
const _hoisted_4$2 = { class: "ui-v1-modal-sidebar__header-inner" };
|
|
@@ -5045,7 +5241,7 @@ const _hoisted_7 = {
|
|
|
5045
5241
|
key: 2,
|
|
5046
5242
|
class: "ui-v1-modal-sidebar__footer"
|
|
5047
5243
|
};
|
|
5048
|
-
const _sfc_main$
|
|
5244
|
+
const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
5049
5245
|
...{
|
|
5050
5246
|
inheritAttrs: false
|
|
5051
5247
|
},
|
|
@@ -5265,7 +5461,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
5265
5461
|
key: 0,
|
|
5266
5462
|
to: vue.unref(globals)?.container || "body"
|
|
5267
5463
|
}, [
|
|
5268
|
-
vue.createVNode(_sfc_main$
|
|
5464
|
+
vue.createVNode(_sfc_main$i, {
|
|
5269
5465
|
name: "fade-2",
|
|
5270
5466
|
onBeforeEnter: _cache[5] || (_cache[5] = ($event) => visibilityOfOverlay.value = "showing"),
|
|
5271
5467
|
onAfterEnter: _cache[6] || (_cache[6] = ($event) => visibilityOfOverlay.value = "shown"),
|
|
@@ -5285,7 +5481,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
5285
5481
|
}],
|
|
5286
5482
|
"aria-modal": "true"
|
|
5287
5483
|
}, _ctx.$attrs, { onClick: onBackdropClick }), [
|
|
5288
|
-
vue.createVNode(_sfc_main$
|
|
5484
|
+
vue.createVNode(_sfc_main$i, {
|
|
5289
5485
|
name: `slide-${__props.direction}`,
|
|
5290
5486
|
onBeforeEnter: _cache[1] || (_cache[1] = ($event) => visibilityOfSidebar.value = "showing"),
|
|
5291
5487
|
onAfterEnter: _cache[2] || (_cache[2] = ($event) => visibilityOfSidebar.value = "shown"),
|
|
@@ -5323,7 +5519,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
5323
5519
|
"aria-hidden": "true",
|
|
5324
5520
|
width: "32"
|
|
5325
5521
|
}),
|
|
5326
|
-
vue.createVNode(_sfc_main$
|
|
5522
|
+
vue.createVNode(_sfc_main$n, {
|
|
5327
5523
|
target: closerTarget.value,
|
|
5328
5524
|
"offset-main-axis": 0
|
|
5329
5525
|
}, {
|
|
@@ -5338,7 +5534,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
5338
5534
|
vue.renderSlot(_ctx.$slots, "default", {
|
|
5339
5535
|
overlapped: state.overlapped
|
|
5340
5536
|
})
|
|
5341
|
-
])) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
5537
|
+
])) : (vue.openBlock(), vue.createBlock(_sfc_main$e, {
|
|
5342
5538
|
key: 1,
|
|
5343
5539
|
native: __props.scrolling === vue.unref(SCROLLING$1).NATIVE,
|
|
5344
5540
|
class: "ui-v1-modal-sidebar__body",
|
|
@@ -5361,7 +5557,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
5361
5557
|
]),
|
|
5362
5558
|
_: 3
|
|
5363
5559
|
}, 8, ["name"])
|
|
5364
|
-
], 16, _hoisted_1$
|
|
5560
|
+
], 16, _hoisted_1$a), [
|
|
5365
5561
|
[vue.vShow, state.shown]
|
|
5366
5562
|
])
|
|
5367
5563
|
]),
|
|
@@ -5383,7 +5579,7 @@ var SCROLLING = /* @__PURE__ */ ((SCROLLING2) => {
|
|
|
5383
5579
|
SCROLLING2["NATIVE"] = "native";
|
|
5384
5580
|
return SCROLLING2;
|
|
5385
5581
|
})(SCROLLING || {});
|
|
5386
|
-
const _sfc_main$
|
|
5582
|
+
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
5387
5583
|
__name: "UiModalWindowSurface",
|
|
5388
5584
|
props: {
|
|
5389
5585
|
/** Атрибут id корневого элемента модального окна. Должен быть уникальным на странице */
|
|
@@ -5597,7 +5793,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
5597
5793
|
const slots = vue.useSlots();
|
|
5598
5794
|
const renderBody = () => {
|
|
5599
5795
|
const appearance = props.appearance;
|
|
5600
|
-
return vue.h(_sfc_main$
|
|
5796
|
+
return vue.h(_sfc_main$i, {
|
|
5601
5797
|
name: "zoom",
|
|
5602
5798
|
onBeforeEnter: () => visibilityOfBody.value = "showing",
|
|
5603
5799
|
onAfterEnter: () => visibilityOfBody.value = "shown",
|
|
@@ -5622,7 +5818,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
5622
5818
|
};
|
|
5623
5819
|
const EmbedModalWindowSurface = () => !state.attached ? void 0 : vue.h(vue.Teleport, {
|
|
5624
5820
|
to: globals?.container ?? document.body
|
|
5625
|
-
}, vue.h(_sfc_main$
|
|
5821
|
+
}, vue.h(_sfc_main$i, {
|
|
5626
5822
|
name: "fade-2",
|
|
5627
5823
|
onBeforeEnter: () => visibilityOfOverlay.value = "showing",
|
|
5628
5824
|
onAfterEnter: () => visibilityOfOverlay.value = "shown",
|
|
@@ -5639,7 +5835,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
5639
5835
|
"ui-v1-modal_overlapped": state.overlapped
|
|
5640
5836
|
}],
|
|
5641
5837
|
onClick: onOverlayClick
|
|
5642
|
-
}, vue.h(_sfc_main$
|
|
5838
|
+
}, vue.h(_sfc_main$e, {
|
|
5643
5839
|
class: {
|
|
5644
5840
|
"ui-v1-modal-window-container": true,
|
|
5645
5841
|
"ui-v1-modal-window-container_fullscreen": props.fullscreen,
|
|
@@ -5663,12 +5859,12 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
5663
5859
|
};
|
|
5664
5860
|
}
|
|
5665
5861
|
});
|
|
5666
|
-
const _hoisted_1$
|
|
5862
|
+
const _hoisted_1$9 = {
|
|
5667
5863
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5668
5864
|
viewBox: "0 0 24 24"
|
|
5669
5865
|
};
|
|
5670
|
-
function render$
|
|
5671
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
5866
|
+
function render$3(_ctx, _cache) {
|
|
5867
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$9, [..._cache[0] || (_cache[0] = [
|
|
5672
5868
|
vue.createElementVNode("path", {
|
|
5673
5869
|
fill: "currentColor",
|
|
5674
5870
|
"fill-rule": "evenodd",
|
|
@@ -5677,8 +5873,8 @@ function render$2(_ctx, _cache) {
|
|
|
5677
5873
|
}, null, -1)
|
|
5678
5874
|
])]);
|
|
5679
5875
|
}
|
|
5680
|
-
const IconWarning = { render: render$
|
|
5681
|
-
const _hoisted_1$
|
|
5876
|
+
const IconWarning = { render: render$3 };
|
|
5877
|
+
const _hoisted_1$8 = {
|
|
5682
5878
|
key: 0,
|
|
5683
5879
|
class: "ui-v1-modal-window__icon"
|
|
5684
5880
|
};
|
|
@@ -5695,7 +5891,7 @@ const _hoisted_5$1 = {
|
|
|
5695
5891
|
key: 0,
|
|
5696
5892
|
class: "ui-v1-modal-window__footer-text"
|
|
5697
5893
|
};
|
|
5698
|
-
const _sfc_main$
|
|
5894
|
+
const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
5699
5895
|
__name: "UiModalWindow",
|
|
5700
5896
|
props: {
|
|
5701
5897
|
/** Атрибут id корневого элемента модального окна. Должен быть уникальным на странице */
|
|
@@ -5809,7 +6005,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
5809
6005
|
});
|
|
5810
6006
|
vue.watch(() => props.opened, toggle);
|
|
5811
6007
|
return (_ctx, _cache) => {
|
|
5812
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
6008
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$c, vue.mergeProps({
|
|
5813
6009
|
id: __props.id,
|
|
5814
6010
|
opened: state.opened,
|
|
5815
6011
|
closable: __props.closable,
|
|
@@ -5837,7 +6033,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
5837
6033
|
"ui-v1-modal-window__header_pinned": _ctx.$slots.title && state.scrolled && __props.appearance === vue.unref(APPEARANCE).POPUP && !__props.responsive
|
|
5838
6034
|
})
|
|
5839
6035
|
}, [
|
|
5840
|
-
__props.appearance === vue.unref(APPEARANCE).ALERT ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
6036
|
+
__props.appearance === vue.unref(APPEARANCE).ALERT ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
|
|
5841
6037
|
vue.renderSlot(_ctx.$slots, "icon", {
|
|
5842
6038
|
overlapped: state.overlapped
|
|
5843
6039
|
}, () => [
|
|
@@ -5866,7 +6062,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
5866
6062
|
})
|
|
5867
6063
|
])) : vue.createCommentVNode("", true)
|
|
5868
6064
|
], 2),
|
|
5869
|
-
__props.responsive ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
6065
|
+
__props.responsive ? (vue.openBlock(), vue.createBlock(_sfc_main$e, {
|
|
5870
6066
|
key: 0,
|
|
5871
6067
|
class: "ui-v1-modal-window__content",
|
|
5872
6068
|
"show-on-mac": "",
|
|
@@ -5899,7 +6095,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
5899
6095
|
};
|
|
5900
6096
|
}
|
|
5901
6097
|
});
|
|
5902
|
-
const _sfc_main$
|
|
6098
|
+
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
5903
6099
|
__name: "UiPopperConnector",
|
|
5904
6100
|
setup(__props) {
|
|
5905
6101
|
const target = vue.ref(null);
|
|
@@ -5910,7 +6106,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
5910
6106
|
};
|
|
5911
6107
|
}
|
|
5912
6108
|
});
|
|
5913
|
-
const _sfc_main$
|
|
6109
|
+
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
5914
6110
|
__name: "UiPopperTarget",
|
|
5915
6111
|
props: {
|
|
5916
6112
|
tag: {
|
|
@@ -5933,10 +6129,10 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
5933
6129
|
};
|
|
5934
6130
|
}
|
|
5935
6131
|
});
|
|
5936
|
-
const _hoisted_1$
|
|
6132
|
+
const _hoisted_1$7 = ["id", "name", "value", "checked", "disabled"];
|
|
5937
6133
|
let counter = 0;
|
|
5938
6134
|
const __default__ = {};
|
|
5939
|
-
const _sfc_main$
|
|
6135
|
+
const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
5940
6136
|
...__default__,
|
|
5941
6137
|
__name: "UiRadio",
|
|
5942
6138
|
props: {
|
|
@@ -6009,79 +6205,221 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
6009
6205
|
type: "radio",
|
|
6010
6206
|
class: "ui-v1-radio__input",
|
|
6011
6207
|
onChange
|
|
6012
|
-
}), null, 16, _hoisted_1$
|
|
6208
|
+
}), null, 16, _hoisted_1$7),
|
|
6013
6209
|
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "ui-v1-radio__checkmark" }, null, -1))
|
|
6014
6210
|
], 16);
|
|
6015
6211
|
};
|
|
6016
6212
|
}
|
|
6017
6213
|
});
|
|
6018
|
-
|
|
6019
|
-
|
|
6020
|
-
|
|
6021
|
-
|
|
6022
|
-
|
|
6023
|
-
|
|
6024
|
-
|
|
6025
|
-
|
|
6026
|
-
|
|
6027
|
-
|
|
6028
|
-
|
|
6029
|
-
|
|
6030
|
-
|
|
6031
|
-
|
|
6032
|
-
|
|
6033
|
-
|
|
6034
|
-
|
|
6035
|
-
|
|
6036
|
-
|
|
6037
|
-
|
|
6038
|
-
|
|
6039
|
-
|
|
6040
|
-
|
|
6041
|
-
|
|
6042
|
-
|
|
6043
|
-
|
|
6044
|
-
|
|
6045
|
-
|
|
6046
|
-
|
|
6047
|
-
|
|
6048
|
-
}
|
|
6049
|
-
|
|
6050
|
-
|
|
6051
|
-
|
|
6052
|
-
|
|
6053
|
-
|
|
6054
|
-
|
|
6055
|
-
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
|
|
6061
|
-
|
|
6062
|
-
|
|
6063
|
-
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
|
|
6072
|
-
|
|
6073
|
-
|
|
6074
|
-
|
|
6075
|
-
|
|
6076
|
-
|
|
6077
|
-
|
|
6078
|
-
|
|
6079
|
-
|
|
6080
|
-
|
|
6081
|
-
|
|
6082
|
-
|
|
6083
|
-
|
|
6084
|
-
|
|
6214
|
+
var PLACEMENT = /* @__PURE__ */ ((PLACEMENT2) => {
|
|
6215
|
+
PLACEMENT2["TOP"] = "top";
|
|
6216
|
+
PLACEMENT2["TOP_START"] = "top-start";
|
|
6217
|
+
PLACEMENT2["TOP_END"] = "top-end";
|
|
6218
|
+
PLACEMENT2["BOTTOM"] = "bottom";
|
|
6219
|
+
PLACEMENT2["BOTTOM_START"] = "bottom-start";
|
|
6220
|
+
PLACEMENT2["BOTTOM_END"] = "bottom-end";
|
|
6221
|
+
PLACEMENT2["LEFT"] = "left";
|
|
6222
|
+
PLACEMENT2["LEFT_START"] = "left-start";
|
|
6223
|
+
return PLACEMENT2;
|
|
6224
|
+
})(PLACEMENT || {});
|
|
6225
|
+
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
6226
|
+
__name: "UiSelectPopper",
|
|
6227
|
+
props: {
|
|
6228
|
+
/** Атрибут id корневого элемента выпадающего списка. Должен быть уникальным на странице */
|
|
6229
|
+
id: {
|
|
6230
|
+
type: String,
|
|
6231
|
+
default: void 0
|
|
6232
|
+
},
|
|
6233
|
+
/** Начальное состояние выпадающего списка - открыт/закрыт */
|
|
6234
|
+
opened: {
|
|
6235
|
+
type: Boolean,
|
|
6236
|
+
default: false
|
|
6237
|
+
},
|
|
6238
|
+
/** События целевого элемента, по которым производится переключение видимости */
|
|
6239
|
+
targetTriggers: {
|
|
6240
|
+
type: [Array, Object],
|
|
6241
|
+
default: () => ({
|
|
6242
|
+
show: ["click"]
|
|
6243
|
+
})
|
|
6244
|
+
},
|
|
6245
|
+
/** События плавающего элемента, по которым производится переключение видимости */
|
|
6246
|
+
popperTriggers: {
|
|
6247
|
+
type: [Array, Object],
|
|
6248
|
+
default: () => []
|
|
6249
|
+
},
|
|
6250
|
+
/**
|
|
6251
|
+
* Флаг, устанавливающий ширину выпадающего списка по ширине целевого элемента.
|
|
6252
|
+
* По-умолчанию отключает такое поведение
|
|
6253
|
+
*/
|
|
6254
|
+
popperFitTrigger: {
|
|
6255
|
+
type: Boolean,
|
|
6256
|
+
default: false
|
|
6257
|
+
},
|
|
6258
|
+
/**
|
|
6259
|
+
* Сторона цели, у которой появится плавающий элемент,
|
|
6260
|
+
* или подробный объект настройки положения и адаптации положения при нехватке места
|
|
6261
|
+
*/
|
|
6262
|
+
placement: {
|
|
6263
|
+
type: [String, Object],
|
|
6264
|
+
validator: (value) => isPlacementLiteral(value) || isPlacementOptions(value),
|
|
6265
|
+
default: PLACEMENT.BOTTOM
|
|
6266
|
+
},
|
|
6267
|
+
/** Стиль для плавающего элемента */
|
|
6268
|
+
popperClass: {
|
|
6269
|
+
type: String,
|
|
6270
|
+
default: null
|
|
6271
|
+
},
|
|
6272
|
+
/** Набор свойств плавающего элемента. See @/common/components/popper */
|
|
6273
|
+
popperOptions: {
|
|
6274
|
+
type: Object,
|
|
6275
|
+
default: () => ({})
|
|
6276
|
+
},
|
|
6277
|
+
/** Блокировка поля ввода */
|
|
6278
|
+
disabled: {
|
|
6279
|
+
type: Boolean,
|
|
6280
|
+
default: false
|
|
6281
|
+
},
|
|
6282
|
+
/** Устанавливает поле ввода в состояние доступное только для чтения */
|
|
6283
|
+
readonly: {
|
|
6284
|
+
type: Boolean,
|
|
6285
|
+
default: false
|
|
6286
|
+
},
|
|
6287
|
+
/** Наличие множественного выбора среди элементов выпадающего списка */
|
|
6288
|
+
multiple: {
|
|
6289
|
+
type: Boolean,
|
|
6290
|
+
default: false
|
|
6291
|
+
},
|
|
6292
|
+
/** Добавляет анимацию показала полной строки при переполнении */
|
|
6293
|
+
ticker: {
|
|
6294
|
+
type: Boolean,
|
|
6295
|
+
default: false
|
|
6296
|
+
}
|
|
6297
|
+
},
|
|
6298
|
+
emits: [
|
|
6299
|
+
/** Смена значения флага видимости плавающего элемента */
|
|
6300
|
+
"update:visible",
|
|
6301
|
+
/** Появление плавающего элемента */
|
|
6302
|
+
"show",
|
|
6303
|
+
/** Сокрытие плавающего элемента */
|
|
6304
|
+
"hide",
|
|
6305
|
+
/** Появление плавающего элемента после окончания перехода */
|
|
6306
|
+
"shown",
|
|
6307
|
+
/** Сокрытие плавающего элемента после окончания перехода */
|
|
6308
|
+
"hidden",
|
|
6309
|
+
/** Удаление с формы плавающего элемента */
|
|
6310
|
+
"dispose"
|
|
6311
|
+
],
|
|
6312
|
+
setup(__props, { expose: __expose }) {
|
|
6313
|
+
const props = __props;
|
|
6314
|
+
const target = useElementRef();
|
|
6315
|
+
const popper = vue.ref(null);
|
|
6316
|
+
const scrollable = vue.ref(null);
|
|
6317
|
+
const width = vue.ref("auto");
|
|
6318
|
+
const visible = vue.computed(() => props.opened);
|
|
6319
|
+
const autoScroll = async () => {
|
|
6320
|
+
const option = scrollable.value?.querySelector(".ui-v1-select-option_selected");
|
|
6321
|
+
if (scrollable.value && option) {
|
|
6322
|
+
scrollable.value.scrollTop = option.offsetTop;
|
|
6323
|
+
}
|
|
6324
|
+
};
|
|
6325
|
+
const updateWidth = () => width.value = `${target.value?.clientWidth}px`;
|
|
6326
|
+
const scrollableStyle = vue.computed(() => {
|
|
6327
|
+
if (props.popperFitTrigger) {
|
|
6328
|
+
return { minWidth: width.value };
|
|
6329
|
+
}
|
|
6330
|
+
const style = { width: width.value };
|
|
6331
|
+
if (parseInt(width.value) > 500) {
|
|
6332
|
+
style.maxWidth = width.value;
|
|
6333
|
+
}
|
|
6334
|
+
return style;
|
|
6335
|
+
});
|
|
6336
|
+
__expose({
|
|
6337
|
+
adjust: () => popper.value?.adjust(),
|
|
6338
|
+
dispose: () => popper.value?.dispose(),
|
|
6339
|
+
show: () => popper.value?.show(),
|
|
6340
|
+
hide: () => popper.value?.hide()
|
|
6341
|
+
});
|
|
6342
|
+
vue.watch(() => props.opened, () => updateWidth());
|
|
6343
|
+
vue.onMounted(() => {
|
|
6344
|
+
});
|
|
6345
|
+
return (_ctx, _cache) => {
|
|
6346
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$o, vue.mergeProps({
|
|
6347
|
+
id: __props.id + "-popper",
|
|
6348
|
+
ref_key: "popper",
|
|
6349
|
+
ref: popper,
|
|
6350
|
+
visible: visible.value,
|
|
6351
|
+
"target-triggers": __props.targetTriggers,
|
|
6352
|
+
"popper-triggers": __props.popperTriggers,
|
|
6353
|
+
"popper-options": __props.popperOptions,
|
|
6354
|
+
"global-triggers": ["miss-click"],
|
|
6355
|
+
placement: __props.placement,
|
|
6356
|
+
"aria-hidden": !visible.value ? "true" : "false",
|
|
6357
|
+
"aria-multiselectable": __props.multiple ? "true" : "false",
|
|
6358
|
+
class: ["ui-v1-select__popper", __props.popperClass],
|
|
6359
|
+
disabled: __props.disabled || __props.readonly
|
|
6360
|
+
}, _ctx.$attrs, {
|
|
6361
|
+
role: "listbox",
|
|
6362
|
+
onAttached: autoScroll,
|
|
6363
|
+
onShow: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("show", $event)),
|
|
6364
|
+
onShown: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("shown", $event)),
|
|
6365
|
+
onHide: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("hide", $event)),
|
|
6366
|
+
onHidden: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("hidden", $event)),
|
|
6367
|
+
onDispose: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("dispose", $event))
|
|
6368
|
+
}), {
|
|
6369
|
+
default: vue.withCtx(() => [
|
|
6370
|
+
vue.createElementVNode("div", {
|
|
6371
|
+
ref_key: "scrollable",
|
|
6372
|
+
ref: scrollable,
|
|
6373
|
+
style: vue.normalizeStyle(scrollableStyle.value),
|
|
6374
|
+
class: vue.normalizeClass({
|
|
6375
|
+
"ui-v1-select__content": true,
|
|
6376
|
+
"ui-v1-select__content_long": __props.ticker
|
|
6377
|
+
})
|
|
6378
|
+
}, [
|
|
6379
|
+
vue.createElementVNode("div", null, [
|
|
6380
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
6381
|
+
])
|
|
6382
|
+
], 6)
|
|
6383
|
+
]),
|
|
6384
|
+
_: 3
|
|
6385
|
+
}, 16, ["id", "visible", "target-triggers", "popper-triggers", "popper-options", "placement", "aria-hidden", "aria-multiselectable", "class", "disabled"]);
|
|
6386
|
+
};
|
|
6387
|
+
}
|
|
6388
|
+
});
|
|
6389
|
+
const _hoisted_1$6 = {
|
|
6390
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6391
|
+
viewBox: "0 0 24 24"
|
|
6392
|
+
};
|
|
6393
|
+
function render$2(_ctx, _cache) {
|
|
6394
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$6, [..._cache[0] || (_cache[0] = [
|
|
6395
|
+
vue.createElementVNode("path", {
|
|
6396
|
+
fill: "currentColor",
|
|
6397
|
+
d: "M8.138 11.06A.52.52 0 0 1 8 10.705c0-.133.05-.261.138-.355l.187-.2A.44.44 0 0 1 8.66 10h6.68a.44.44 0 0 1 .335.15l.187.2a.52.52 0 0 1 .138.355c0 .133-.05.26-.138.355l-3.536 3.788A.43.43 0 0 1 12 15a.43.43 0 0 1-.326-.152z"
|
|
6398
|
+
}, null, -1)
|
|
6399
|
+
])]);
|
|
6400
|
+
}
|
|
6401
|
+
const IconCaret = { render: render$2 };
|
|
6402
|
+
const pluralization_en_GB = (choice) => choice === 1 ? 0 : 1;
|
|
6403
|
+
const pluralization_es_ES = (choice) => choice === 1 ? 0 : 1;
|
|
6404
|
+
const pluralization_ru_RU = (choice, choicesLength) => {
|
|
6405
|
+
if (choicesLength === 2) {
|
|
6406
|
+
return choice === 1 ? 0 : 1;
|
|
6407
|
+
}
|
|
6408
|
+
const mod100 = choice % 100;
|
|
6409
|
+
return mod100 % 10 === 1 && mod100 !== 11 ? 0 : mod100 % 10 >= 2 && mod100 % 10 <= 4 && !(mod100 >= 10 && mod100 < 15) ? 1 : 2;
|
|
6410
|
+
};
|
|
6411
|
+
const get = (messages, path) => {
|
|
6412
|
+
let i = 0;
|
|
6413
|
+
let slice = messages[path[0]];
|
|
6414
|
+
while (i < path.length) {
|
|
6415
|
+
if (typeof slice === "string" && i + 1 === path.length) {
|
|
6416
|
+
return slice;
|
|
6417
|
+
}
|
|
6418
|
+
if (typeof slice !== "object") {
|
|
6419
|
+
return void 0;
|
|
6420
|
+
}
|
|
6421
|
+
slice = slice[path[++i]];
|
|
6422
|
+
}
|
|
6085
6423
|
return slice;
|
|
6086
6424
|
};
|
|
6087
6425
|
const replace = (message, values) => {
|
|
@@ -6198,6 +6536,379 @@ const define = (options = void 0, parent = void 0) => {
|
|
|
6198
6536
|
fallback
|
|
6199
6537
|
};
|
|
6200
6538
|
};
|
|
6539
|
+
const selected$2 = "Selected";
|
|
6540
|
+
const search$2 = { "placeholder": "", "noResult": "Nothing found" };
|
|
6541
|
+
const messages_en_GB$2 = {
|
|
6542
|
+
selected: selected$2,
|
|
6543
|
+
search: search$2
|
|
6544
|
+
};
|
|
6545
|
+
const selected$1 = "Seleccionado";
|
|
6546
|
+
const search$1 = { "placeholder": "", "noResult": "No se ha encontrado" };
|
|
6547
|
+
const messages_es_ES$2 = {
|
|
6548
|
+
selected: selected$1,
|
|
6549
|
+
search: search$1
|
|
6550
|
+
};
|
|
6551
|
+
const selected = "Выбрано";
|
|
6552
|
+
const search = { "placeholder": "", "noResult": "Ничего не найдено" };
|
|
6553
|
+
const messages_ru_RU$2 = {
|
|
6554
|
+
selected,
|
|
6555
|
+
search
|
|
6556
|
+
};
|
|
6557
|
+
const _i18n$2 = define({
|
|
6558
|
+
messages: {
|
|
6559
|
+
"en-GB": messages_en_GB$2,
|
|
6560
|
+
"es-ES": messages_es_ES$2,
|
|
6561
|
+
"ru-RU": messages_ru_RU$2
|
|
6562
|
+
}
|
|
6563
|
+
});
|
|
6564
|
+
var TYPE = /* @__PURE__ */ ((TYPE2) => {
|
|
6565
|
+
TYPE2["EMAIL"] = "email";
|
|
6566
|
+
TYPE2["PASSWORD"] = "password";
|
|
6567
|
+
TYPE2["PHONE"] = "tel";
|
|
6568
|
+
TYPE2["SEARCH"] = "search";
|
|
6569
|
+
TYPE2["TEXT"] = "text";
|
|
6570
|
+
TYPE2["URL"] = "url";
|
|
6571
|
+
return TYPE2;
|
|
6572
|
+
})(TYPE || {});
|
|
6573
|
+
var INPUTMODE = /* @__PURE__ */ ((INPUTMODE2) => {
|
|
6574
|
+
INPUTMODE2["DECIMAL"] = "decimal";
|
|
6575
|
+
INPUTMODE2["EMAIL"] = "email";
|
|
6576
|
+
INPUTMODE2["NONE"] = "none";
|
|
6577
|
+
INPUTMODE2["NUMERIC"] = "numeric";
|
|
6578
|
+
INPUTMODE2["SEARCH"] = "search";
|
|
6579
|
+
INPUTMODE2["TEL"] = "tel";
|
|
6580
|
+
INPUTMODE2["TEXT"] = "text";
|
|
6581
|
+
INPUTMODE2["URL"] = "url";
|
|
6582
|
+
return INPUTMODE2;
|
|
6583
|
+
})(INPUTMODE || {});
|
|
6584
|
+
var SIZE$2 = /* @__PURE__ */ ((SIZE2) => {
|
|
6585
|
+
SIZE2["XS"] = "xs";
|
|
6586
|
+
SIZE2["SM"] = "sm";
|
|
6587
|
+
SIZE2["MD"] = "md";
|
|
6588
|
+
SIZE2["LG"] = "lg";
|
|
6589
|
+
SIZE2["XL"] = "xl";
|
|
6590
|
+
return SIZE2;
|
|
6591
|
+
})(SIZE$2 || {});
|
|
6592
|
+
const decimalsOf = (value) => {
|
|
6593
|
+
const [, fraction] = String(value).replace(",", ".").split(".");
|
|
6594
|
+
return fraction ? fraction.length : 0;
|
|
6595
|
+
};
|
|
6596
|
+
const isMaxDecimalsExceeded = (value, decimals) => {
|
|
6597
|
+
return decimals !== void 0 && decimalsOf(value) > decimals;
|
|
6598
|
+
};
|
|
6599
|
+
const sanitizeNumeric = (raw) => raw.replace(/\D+/g, "");
|
|
6600
|
+
const sanitizeDecimal = (raw, allowNegative, decimals) => {
|
|
6601
|
+
let s = raw.replace(/,/g, ".");
|
|
6602
|
+
s = s.replace(/-/g, "");
|
|
6603
|
+
if (allowNegative && raw.trim().startsWith("-")) {
|
|
6604
|
+
s = "-" + s;
|
|
6605
|
+
}
|
|
6606
|
+
s = s.replace(/[^0-9.-]/g, "");
|
|
6607
|
+
s = normalizeDot(s);
|
|
6608
|
+
if (s.indexOf("-") > 0) s = s.replace(/-/g, "");
|
|
6609
|
+
s = normalizeZero(s);
|
|
6610
|
+
s = normalizeDecimals(s, decimals);
|
|
6611
|
+
return s;
|
|
6612
|
+
};
|
|
6613
|
+
function normalizeZero(value) {
|
|
6614
|
+
const m = value.match(/^(-)?(\d+)(?:\.(\d*))?$/);
|
|
6615
|
+
if (m) {
|
|
6616
|
+
const sign = m[1] ?? "";
|
|
6617
|
+
let integer = m[2];
|
|
6618
|
+
const fraction = m[3] ?? "";
|
|
6619
|
+
integer = integer.replace(/^0+(?=\d)/, "");
|
|
6620
|
+
if (integer === "") integer = "0";
|
|
6621
|
+
return integer === "0" && fraction === "" && !/\.$/.test(value) ? `${sign}${integer}` : fraction !== "" || /\.$/.test(value) ? `${sign}${integer}.${fraction}` : `${sign}${integer}`;
|
|
6622
|
+
}
|
|
6623
|
+
return value;
|
|
6624
|
+
}
|
|
6625
|
+
function normalizeDot(value) {
|
|
6626
|
+
const dotAt = value.indexOf(".");
|
|
6627
|
+
if (dotAt !== -1) {
|
|
6628
|
+
return value.slice(0, dotAt + 1) + value.slice(dotAt + 1).replace(/\./g, "");
|
|
6629
|
+
}
|
|
6630
|
+
return value;
|
|
6631
|
+
}
|
|
6632
|
+
function normalizeDecimals(value, decimals) {
|
|
6633
|
+
if (decimals !== "*") {
|
|
6634
|
+
const m = value.match(/^(-)?(\d+)(?:\.(\d*))?$/);
|
|
6635
|
+
if (m) {
|
|
6636
|
+
const sign = m[1] ?? "";
|
|
6637
|
+
const integer = m[2];
|
|
6638
|
+
const fraction = (m[3] ?? "").slice(0, decimals);
|
|
6639
|
+
return fraction.length > 0 && decimals > 0 ? `${sign}${integer}.${fraction}` : `${sign}${integer}`;
|
|
6640
|
+
}
|
|
6641
|
+
}
|
|
6642
|
+
return value;
|
|
6643
|
+
}
|
|
6644
|
+
class VueI18n {
|
|
6645
|
+
_state;
|
|
6646
|
+
constructor(locale = void 0) {
|
|
6647
|
+
this._state = vue.reactive({ locale });
|
|
6648
|
+
}
|
|
6649
|
+
get locale() {
|
|
6650
|
+
return this._state.locale;
|
|
6651
|
+
}
|
|
6652
|
+
set locale(locale) {
|
|
6653
|
+
this._state.locale = locale;
|
|
6654
|
+
}
|
|
6655
|
+
}
|
|
6656
|
+
const I18nInjectKey = Symbol("$embedI18n");
|
|
6657
|
+
const plugin = {
|
|
6658
|
+
install(app, options) {
|
|
6659
|
+
app.provide(I18nInjectKey, options instanceof VueI18n ? options : new VueI18n(options?.locale));
|
|
6660
|
+
}
|
|
6661
|
+
};
|
|
6662
|
+
const _hoisted_1$5 = ["aria-controls", "aria-expanded", "aria-invalid"];
|
|
6663
|
+
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
6664
|
+
__name: "UiSelectTrigger",
|
|
6665
|
+
props: {
|
|
6666
|
+
/** Атрибут id корневого элемента выпадающего списка. Должен быть уникальным на странице */
|
|
6667
|
+
id: {
|
|
6668
|
+
type: String,
|
|
6669
|
+
default: void 0
|
|
6670
|
+
},
|
|
6671
|
+
/** Атрибут value, содержащий выбранный элемент из выпадающего списка */
|
|
6672
|
+
value: {
|
|
6673
|
+
type: null,
|
|
6674
|
+
default: void 0
|
|
6675
|
+
},
|
|
6676
|
+
/** Текст фильтра для поиска */
|
|
6677
|
+
filter: {
|
|
6678
|
+
type: String,
|
|
6679
|
+
default: ""
|
|
6680
|
+
},
|
|
6681
|
+
/** Отображает иконку сброса введённого или выбранного значения в виде крестика */
|
|
6682
|
+
clearable: {
|
|
6683
|
+
type: Boolean,
|
|
6684
|
+
default: false
|
|
6685
|
+
},
|
|
6686
|
+
/** Фильтрация строк выпадающего списка на соответствие введённого выражения в input */
|
|
6687
|
+
filterable: {
|
|
6688
|
+
type: Boolean,
|
|
6689
|
+
default: false
|
|
6690
|
+
},
|
|
6691
|
+
/** Подсвечивает поле как содержащее некорректное значение */
|
|
6692
|
+
invalid: {
|
|
6693
|
+
type: Boolean,
|
|
6694
|
+
default: false
|
|
6695
|
+
},
|
|
6696
|
+
/** Наличие множественного выбора среди элементов выпадающего списка */
|
|
6697
|
+
multiple: {
|
|
6698
|
+
type: Boolean,
|
|
6699
|
+
default: false
|
|
6700
|
+
},
|
|
6701
|
+
/** Атрибут placeholder нативного поля ввода input */
|
|
6702
|
+
placeholder: {
|
|
6703
|
+
type: String,
|
|
6704
|
+
default: ""
|
|
6705
|
+
},
|
|
6706
|
+
/** Устанавливает поле ввода в состояние доступное только для чтения */
|
|
6707
|
+
readonly: {
|
|
6708
|
+
type: Boolean,
|
|
6709
|
+
default: false
|
|
6710
|
+
},
|
|
6711
|
+
/** Блокировка поля ввода */
|
|
6712
|
+
disabled: {
|
|
6713
|
+
type: Boolean,
|
|
6714
|
+
default: false
|
|
6715
|
+
},
|
|
6716
|
+
/** Устанавливает в качестве выводимого в input значения только содержимое placeholder */
|
|
6717
|
+
placeholderOnly: {
|
|
6718
|
+
type: Boolean,
|
|
6719
|
+
default: false
|
|
6720
|
+
},
|
|
6721
|
+
/** Размер поля ввода */
|
|
6722
|
+
textboxSize: {
|
|
6723
|
+
type: String,
|
|
6724
|
+
validator: (size) => Object.values(SIZE$2).includes(size),
|
|
6725
|
+
default: SIZE$2.SM
|
|
6726
|
+
},
|
|
6727
|
+
/** Состояние открытия выпадающего списка */
|
|
6728
|
+
expanded: {
|
|
6729
|
+
type: Boolean,
|
|
6730
|
+
default: false
|
|
6731
|
+
},
|
|
6732
|
+
/** Выбранные элементы из выпадающего списка. Должен содержать значение или массив значений, соответствующих атрибуту value опций из выпадающего списка */
|
|
6733
|
+
selection: {
|
|
6734
|
+
type: Array,
|
|
6735
|
+
default: () => []
|
|
6736
|
+
}
|
|
6737
|
+
},
|
|
6738
|
+
emits: [
|
|
6739
|
+
/** Ввод значения в поле ввода */
|
|
6740
|
+
"input",
|
|
6741
|
+
/** Установка фокуса на поле ввода */
|
|
6742
|
+
"focus",
|
|
6743
|
+
/** Потеря фокуса полем ввода */
|
|
6744
|
+
"blur",
|
|
6745
|
+
/** Сброс значения фильтра */
|
|
6746
|
+
"clear",
|
|
6747
|
+
/** Изменение значения */
|
|
6748
|
+
"update:value",
|
|
6749
|
+
/** Открытие выпадающего списка */
|
|
6750
|
+
"update:expanded"
|
|
6751
|
+
],
|
|
6752
|
+
setup(__props, { emit: __emit }) {
|
|
6753
|
+
const props = __props;
|
|
6754
|
+
const emit = __emit;
|
|
6755
|
+
const i18n = vue.computed(() => _i18n$2.init(vue.inject(I18nInjectKey, null)?.locale ?? _i18n$2.fallback));
|
|
6756
|
+
const input = vue.ref(null);
|
|
6757
|
+
const inputReadonly = vue.computed(() => props.readonly || !props.filterable);
|
|
6758
|
+
const trigger = vue.ref(null);
|
|
6759
|
+
const touchstone = vue.ref(null);
|
|
6760
|
+
const selectionLabels = vue.computed(() => props.selection.map((o) => o.label).join(", "));
|
|
6761
|
+
const selectionText = vue.computed(() => {
|
|
6762
|
+
if (props.placeholder && props.placeholderOnly) return props.placeholder;
|
|
6763
|
+
if (props.multiple) {
|
|
6764
|
+
const width = input.value?.clientWidth ?? 0;
|
|
6765
|
+
if (width > 0 && selectionWidth.value > width) {
|
|
6766
|
+
return `${i18n.value.t("selected")}: ${props.selection.length}`;
|
|
6767
|
+
}
|
|
6768
|
+
}
|
|
6769
|
+
return selectionLabels.value;
|
|
6770
|
+
});
|
|
6771
|
+
const selectionWidth = vue.ref(0);
|
|
6772
|
+
const updateSelectionWidth = () => {
|
|
6773
|
+
if (touchstone.value && !props.placeholderOnly) {
|
|
6774
|
+
vue.nextTick().then(() => {
|
|
6775
|
+
selectionWidth.value = touchstone.value?.clientWidth ?? 0;
|
|
6776
|
+
});
|
|
6777
|
+
}
|
|
6778
|
+
};
|
|
6779
|
+
const inputValue = vue.computed(() => {
|
|
6780
|
+
if (!inputReadonly.value && props.expanded) {
|
|
6781
|
+
if (props.multiple && !props.filter) {
|
|
6782
|
+
return selectionText.value;
|
|
6783
|
+
}
|
|
6784
|
+
return props.filter;
|
|
6785
|
+
}
|
|
6786
|
+
return selectionText.value;
|
|
6787
|
+
});
|
|
6788
|
+
const open = () => {
|
|
6789
|
+
if (props.expanded) return;
|
|
6790
|
+
emit("update:expanded", true);
|
|
6791
|
+
};
|
|
6792
|
+
const close = () => {
|
|
6793
|
+
if (!props.expanded) return;
|
|
6794
|
+
emit("update:expanded", false);
|
|
6795
|
+
};
|
|
6796
|
+
const onClick = () => {
|
|
6797
|
+
if (props.disabled || props.readonly) return;
|
|
6798
|
+
return props.expanded ? close() : open();
|
|
6799
|
+
};
|
|
6800
|
+
const onInput = (event) => {
|
|
6801
|
+
const target = event.target;
|
|
6802
|
+
emit("input", target?.value ?? "");
|
|
6803
|
+
};
|
|
6804
|
+
const onFocus = (event) => emit("focus", event);
|
|
6805
|
+
const onBlur = (event) => emit("blur", event);
|
|
6806
|
+
const onClear = (event) => {
|
|
6807
|
+
const value = props.multiple ? [] : null;
|
|
6808
|
+
emit("update:value", value);
|
|
6809
|
+
emit("clear", event);
|
|
6810
|
+
};
|
|
6811
|
+
vue.watch(() => props.value, () => {
|
|
6812
|
+
updateSelectionWidth();
|
|
6813
|
+
if (props.multiple && props.expanded) {
|
|
6814
|
+
vue.nextTick(() => input.value?.focus());
|
|
6815
|
+
}
|
|
6816
|
+
});
|
|
6817
|
+
vue.onMounted(async () => {
|
|
6818
|
+
input.value = trigger.value?.querySelector("input") ?? null;
|
|
6819
|
+
updateSelectionWidth();
|
|
6820
|
+
});
|
|
6821
|
+
return (_ctx, _cache) => {
|
|
6822
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
6823
|
+
ref_key: "trigger",
|
|
6824
|
+
ref: trigger,
|
|
6825
|
+
"aria-controls": __props.id + "-popper",
|
|
6826
|
+
"aria-expanded": __props.expanded ? "true" : "false",
|
|
6827
|
+
"aria-invalid": __props.invalid ? "true" : "false",
|
|
6828
|
+
role: "combobox",
|
|
6829
|
+
"aria-haspopup": "listbox",
|
|
6830
|
+
class: vue.normalizeClass({
|
|
6831
|
+
"ui-v1-select": true,
|
|
6832
|
+
"ui-v1-select_active": __props.expanded,
|
|
6833
|
+
"ui-v1-select_disabled": __props.disabled,
|
|
6834
|
+
"ui-v1-select_filterable": __props.filterable
|
|
6835
|
+
}),
|
|
6836
|
+
onClick
|
|
6837
|
+
}, [
|
|
6838
|
+
__props.multiple && !_ctx.$slots.trigger ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
6839
|
+
key: 0,
|
|
6840
|
+
ref_key: "touchstone",
|
|
6841
|
+
ref: touchstone,
|
|
6842
|
+
class: "ui-v1-select__touchstone"
|
|
6843
|
+
}, vue.toDisplayString(selectionLabels.value), 513)) : vue.createCommentVNode("", true),
|
|
6844
|
+
vue.renderSlot(_ctx.$slots, "trigger", {}, () => [
|
|
6845
|
+
vue.createVNode(vue.unref(_sfc_main$4), {
|
|
6846
|
+
id: __props.id,
|
|
6847
|
+
value: inputValue.value,
|
|
6848
|
+
placeholder: !inputReadonly.value && __props.expanded ? i18n.value.t("search.placeholder") : __props.placeholder,
|
|
6849
|
+
active: __props.expanded,
|
|
6850
|
+
clearable: __props.clearable,
|
|
6851
|
+
invalid: __props.invalid,
|
|
6852
|
+
readonly: inputReadonly.value,
|
|
6853
|
+
size: __props.textboxSize,
|
|
6854
|
+
disabled: __props.disabled,
|
|
6855
|
+
class: "ui-v1-select__trigger",
|
|
6856
|
+
onInput,
|
|
6857
|
+
onFocus,
|
|
6858
|
+
onBlur,
|
|
6859
|
+
onClear
|
|
6860
|
+
}, vue.createSlots({
|
|
6861
|
+
"trailing-icon": vue.withCtx(() => [
|
|
6862
|
+
vue.renderSlot(_ctx.$slots, "trailing-icon", {}, () => [
|
|
6863
|
+
vue.createVNode(vue.unref(IconCaret), {
|
|
6864
|
+
"aria-hidden": "true",
|
|
6865
|
+
class: "ui-v1-select__caret"
|
|
6866
|
+
})
|
|
6867
|
+
])
|
|
6868
|
+
]),
|
|
6869
|
+
_: 2
|
|
6870
|
+
}, [
|
|
6871
|
+
_ctx.$slots["leading-icon"] ? {
|
|
6872
|
+
name: "leading-icon",
|
|
6873
|
+
fn: vue.withCtx(() => [
|
|
6874
|
+
vue.renderSlot(_ctx.$slots, "leading-icon")
|
|
6875
|
+
]),
|
|
6876
|
+
key: "0"
|
|
6877
|
+
} : void 0
|
|
6878
|
+
]), 1032, ["id", "value", "placeholder", "active", "clearable", "invalid", "readonly", "size", "disabled"])
|
|
6879
|
+
])
|
|
6880
|
+
], 10, _hoisted_1$5);
|
|
6881
|
+
};
|
|
6882
|
+
}
|
|
6883
|
+
});
|
|
6884
|
+
const _hoisted_1$4 = {
|
|
6885
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6886
|
+
viewBox: "0 0 24 24"
|
|
6887
|
+
};
|
|
6888
|
+
function render$1(_ctx, _cache) {
|
|
6889
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$4, [..._cache[0] || (_cache[0] = [
|
|
6890
|
+
vue.createElementVNode("path", {
|
|
6891
|
+
fill: "currentColor",
|
|
6892
|
+
d: "m14.675 4.6.544-1.257a.99.99 0 0 0-.04-.911.82.82 0 0 0-.739-.421L9.5 2a.81.81 0 0 0-.704.423.99.99 0 0 0-.047.88l.55 1.26c.155.358.201.762.13 1.15l-.623 3.441a2.8 2.8 0 0 1-.685 1.426l-.875.96a.96.96 0 0 0-.246.646l.025.555c.002.502.373.91.83.912l8.312.025c.458 0 .828-.407.828-.909l.005-.536a.96.96 0 0 0-.248-.646l-.878-.964a2.85 2.85 0 0 1-.691-1.43l-.636-3.443a2 2 0 0 1 .128-1.15M10.967 20.047a3 3 0 0 1-.196-1.079l-.007-3.771 2.424.057.007 3.758a3 3 0 0 1-.193 1.079l-.638 1.632a.415.415 0 0 1-.382.277.42.42 0 0 1-.383-.279z"
|
|
6893
|
+
}, null, -1)
|
|
6894
|
+
])]);
|
|
6895
|
+
}
|
|
6896
|
+
const IconPinned = { render: render$1 };
|
|
6897
|
+
var SIZE$1 = /* @__PURE__ */ ((SIZE2) => {
|
|
6898
|
+
SIZE2["LG"] = "lg";
|
|
6899
|
+
SIZE2["MD"] = "md";
|
|
6900
|
+
SIZE2["SM"] = "sm";
|
|
6901
|
+
SIZE2["XS"] = "xs";
|
|
6902
|
+
return SIZE2;
|
|
6903
|
+
})(SIZE$1 || {});
|
|
6904
|
+
function deltaTransition(el) {
|
|
6905
|
+
const delta = el.scrollWidth - el.clientWidth;
|
|
6906
|
+
const animationDuration = `${(el.scrollWidth / el.clientWidth * 2).toFixed(2)}s`;
|
|
6907
|
+
return delta !== 0 ? {
|
|
6908
|
+
"--delta-width": `-${delta}px`,
|
|
6909
|
+
animationDuration
|
|
6910
|
+
} : {};
|
|
6911
|
+
}
|
|
6201
6912
|
const messages_en_GB$1 = {
|
|
6202
6913
|
"delete": "Delete"
|
|
6203
6914
|
};
|
|
@@ -6226,7 +6937,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
6226
6937
|
/** Размер */
|
|
6227
6938
|
size: {
|
|
6228
6939
|
type: String,
|
|
6229
|
-
default: SIZE$
|
|
6940
|
+
default: SIZE$1.LG
|
|
6230
6941
|
},
|
|
6231
6942
|
/** Слева выводим иконку закреплённого тега */
|
|
6232
6943
|
pinned: {
|
|
@@ -6327,86 +7038,6 @@ function render(_ctx, _cache) {
|
|
|
6327
7038
|
])]);
|
|
6328
7039
|
}
|
|
6329
7040
|
const IconClearCircle = { render };
|
|
6330
|
-
var TYPE = /* @__PURE__ */ ((TYPE2) => {
|
|
6331
|
-
TYPE2["EMAIL"] = "email";
|
|
6332
|
-
TYPE2["PASSWORD"] = "password";
|
|
6333
|
-
TYPE2["PHONE"] = "tel";
|
|
6334
|
-
TYPE2["SEARCH"] = "search";
|
|
6335
|
-
TYPE2["TEXT"] = "text";
|
|
6336
|
-
TYPE2["URL"] = "url";
|
|
6337
|
-
return TYPE2;
|
|
6338
|
-
})(TYPE || {});
|
|
6339
|
-
var INPUTMODE = /* @__PURE__ */ ((INPUTMODE2) => {
|
|
6340
|
-
INPUTMODE2["DECIMAL"] = "decimal";
|
|
6341
|
-
INPUTMODE2["EMAIL"] = "email";
|
|
6342
|
-
INPUTMODE2["NONE"] = "none";
|
|
6343
|
-
INPUTMODE2["NUMERIC"] = "numeric";
|
|
6344
|
-
INPUTMODE2["SEARCH"] = "search";
|
|
6345
|
-
INPUTMODE2["TEL"] = "tel";
|
|
6346
|
-
INPUTMODE2["TEXT"] = "text";
|
|
6347
|
-
INPUTMODE2["URL"] = "url";
|
|
6348
|
-
return INPUTMODE2;
|
|
6349
|
-
})(INPUTMODE || {});
|
|
6350
|
-
var SIZE$1 = /* @__PURE__ */ ((SIZE2) => {
|
|
6351
|
-
SIZE2["XS"] = "xs";
|
|
6352
|
-
SIZE2["SM"] = "sm";
|
|
6353
|
-
SIZE2["MD"] = "md";
|
|
6354
|
-
SIZE2["LG"] = "lg";
|
|
6355
|
-
SIZE2["XL"] = "xl";
|
|
6356
|
-
return SIZE2;
|
|
6357
|
-
})(SIZE$1 || {});
|
|
6358
|
-
const decimalsOf = (value) => {
|
|
6359
|
-
const [, fraction] = String(value).replace(",", ".").split(".");
|
|
6360
|
-
return fraction ? fraction.length : 0;
|
|
6361
|
-
};
|
|
6362
|
-
const isMaxDecimalsExceeded = (value, decimals) => {
|
|
6363
|
-
return decimals !== void 0 && decimalsOf(value) > decimals;
|
|
6364
|
-
};
|
|
6365
|
-
const sanitizeNumeric = (raw) => raw.replace(/\D+/g, "");
|
|
6366
|
-
const sanitizeDecimal = (raw, allowNegative, decimals) => {
|
|
6367
|
-
let s = raw.replace(/,/g, ".");
|
|
6368
|
-
s = s.replace(/-/g, "");
|
|
6369
|
-
if (allowNegative && raw.trim().startsWith("-")) {
|
|
6370
|
-
s = "-" + s;
|
|
6371
|
-
}
|
|
6372
|
-
s = s.replace(/[^0-9.-]/g, "");
|
|
6373
|
-
s = normalizeDot(s);
|
|
6374
|
-
if (s.indexOf("-") > 0) s = s.replace(/-/g, "");
|
|
6375
|
-
s = normalizeZero(s);
|
|
6376
|
-
s = normalizeDecimals(s, decimals);
|
|
6377
|
-
return s;
|
|
6378
|
-
};
|
|
6379
|
-
function normalizeZero(value) {
|
|
6380
|
-
const m = value.match(/^(-)?(\d+)(?:\.(\d*))?$/);
|
|
6381
|
-
if (m) {
|
|
6382
|
-
const sign = m[1] ?? "";
|
|
6383
|
-
let integer = m[2];
|
|
6384
|
-
const fraction = m[3] ?? "";
|
|
6385
|
-
integer = integer.replace(/^0+(?=\d)/, "");
|
|
6386
|
-
if (integer === "") integer = "0";
|
|
6387
|
-
return integer === "0" && fraction === "" && !/\.$/.test(value) ? `${sign}${integer}` : fraction !== "" || /\.$/.test(value) ? `${sign}${integer}.${fraction}` : `${sign}${integer}`;
|
|
6388
|
-
}
|
|
6389
|
-
return value;
|
|
6390
|
-
}
|
|
6391
|
-
function normalizeDot(value) {
|
|
6392
|
-
const dotAt = value.indexOf(".");
|
|
6393
|
-
if (dotAt !== -1) {
|
|
6394
|
-
return value.slice(0, dotAt + 1) + value.slice(dotAt + 1).replace(/\./g, "");
|
|
6395
|
-
}
|
|
6396
|
-
return value;
|
|
6397
|
-
}
|
|
6398
|
-
function normalizeDecimals(value, decimals) {
|
|
6399
|
-
if (decimals !== "*") {
|
|
6400
|
-
const m = value.match(/^(-)?(\d+)(?:\.(\d*))?$/);
|
|
6401
|
-
if (m) {
|
|
6402
|
-
const sign = m[1] ?? "";
|
|
6403
|
-
const integer = m[2];
|
|
6404
|
-
const fraction = (m[3] ?? "").slice(0, decimals);
|
|
6405
|
-
return fraction.length > 0 && decimals > 0 ? `${sign}${integer}.${fraction}` : `${sign}${integer}`;
|
|
6406
|
-
}
|
|
6407
|
-
}
|
|
6408
|
-
return value;
|
|
6409
|
-
}
|
|
6410
7041
|
const clear$2 = "Clear";
|
|
6411
7042
|
const messages_en_GB = {
|
|
6412
7043
|
clear: clear$2
|
|
@@ -6504,7 +7135,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
6504
7135
|
/** Размер поля ввода */
|
|
6505
7136
|
size: {
|
|
6506
7137
|
type: String,
|
|
6507
|
-
default: SIZE$
|
|
7138
|
+
default: SIZE$2.SM
|
|
6508
7139
|
},
|
|
6509
7140
|
/** Нативный атрибут input|textarea */
|
|
6510
7141
|
placeholder: {
|
|
@@ -6775,10 +7406,10 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
6775
7406
|
"ui-v1-textbox_active": __props.active,
|
|
6776
7407
|
"ui-v1-textbox_invalid": __props.invalid,
|
|
6777
7408
|
"ui-v1-textbox_outlined": __props.outlined,
|
|
6778
|
-
"ui-v1-textbox_xs": __props.size === vue.unref(SIZE$
|
|
6779
|
-
"ui-v1-textbox_md": __props.size === vue.unref(SIZE$
|
|
6780
|
-
"ui-v1-textbox_lg": __props.size === vue.unref(SIZE$
|
|
6781
|
-
"ui-v1-textbox_xl": __props.size === vue.unref(SIZE$
|
|
7409
|
+
"ui-v1-textbox_xs": __props.size === vue.unref(SIZE$2).XS,
|
|
7410
|
+
"ui-v1-textbox_md": __props.size === vue.unref(SIZE$2).MD,
|
|
7411
|
+
"ui-v1-textbox_lg": __props.size === vue.unref(SIZE$2).LG,
|
|
7412
|
+
"ui-v1-textbox_xl": __props.size === vue.unref(SIZE$2).XL
|
|
6782
7413
|
}
|
|
6783
7414
|
}, _ctx.$attrs), [
|
|
6784
7415
|
__props.prefix || "prefix" in _ctx.$slots ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2, [
|
|
@@ -6938,12 +7569,12 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
6938
7569
|
const toolbarSize = useToolbarSize();
|
|
6939
7570
|
const size = vue.computed(() => {
|
|
6940
7571
|
if (toolbarSize.value === SIZE.SM) {
|
|
6941
|
-
return SIZE$
|
|
7572
|
+
return SIZE$6.XS;
|
|
6942
7573
|
}
|
|
6943
|
-
return SIZE$
|
|
7574
|
+
return SIZE$6.SM;
|
|
6944
7575
|
});
|
|
6945
7576
|
return (_ctx, _cache) => {
|
|
6946
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
7577
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$q, vue.mergeProps({
|
|
6947
7578
|
ref_key: "root",
|
|
6948
7579
|
ref: root,
|
|
6949
7580
|
href: __props.href,
|
|
@@ -7016,7 +7647,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
7016
7647
|
},
|
|
7017
7648
|
setup(__props) {
|
|
7018
7649
|
return (_ctx, _cache) => {
|
|
7019
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
7650
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$j, vue.mergeProps({
|
|
7020
7651
|
href: __props.href,
|
|
7021
7652
|
external: __props.external,
|
|
7022
7653
|
appearance: __props.appearance,
|
|
@@ -7189,7 +7820,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
7189
7820
|
});
|
|
7190
7821
|
return (_ctx, _cache) => {
|
|
7191
7822
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
7192
|
-
!ready.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
7823
|
+
!ready.value ? (vue.openBlock(), vue.createBlock(_sfc_main$h, { key: 0 })) : vue.createCommentVNode("", true),
|
|
7193
7824
|
vue.withDirectives((vue.openBlock(), vue.createElementBlock("iframe", {
|
|
7194
7825
|
ref_key: "iframe",
|
|
7195
7826
|
ref: iframe,
|
|
@@ -7205,30 +7836,34 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
7205
7836
|
exports.I18nPlugin = plugin;
|
|
7206
7837
|
exports.ImageWorkersKey = ImageWorkersKey;
|
|
7207
7838
|
exports.ModalPlugin = plugin$1;
|
|
7208
|
-
exports.UiAvatar = _sfc_main$
|
|
7209
|
-
exports.UiAvatarList = _sfc_main$
|
|
7210
|
-
exports.UiButton = _sfc_main$
|
|
7211
|
-
exports.UiCheckbox = _sfc_main$
|
|
7212
|
-
exports.UiCopyButton = _sfc_main$
|
|
7213
|
-
exports.UiDate = _sfc_main$
|
|
7214
|
-
exports.UiError = _sfc_main$
|
|
7215
|
-
exports.UiImage = _sfc_main$
|
|
7216
|
-
exports.UiLink = _sfc_main$
|
|
7217
|
-
exports.UiLoader = _sfc_main$
|
|
7218
|
-
exports.
|
|
7219
|
-
exports.
|
|
7220
|
-
exports.
|
|
7221
|
-
exports.
|
|
7222
|
-
exports.
|
|
7223
|
-
exports.
|
|
7224
|
-
exports.
|
|
7225
|
-
exports.
|
|
7839
|
+
exports.UiAvatar = _sfc_main$s;
|
|
7840
|
+
exports.UiAvatarList = _sfc_main$r;
|
|
7841
|
+
exports.UiButton = _sfc_main$q;
|
|
7842
|
+
exports.UiCheckbox = _sfc_main$p;
|
|
7843
|
+
exports.UiCopyButton = _sfc_main$m;
|
|
7844
|
+
exports.UiDate = _sfc_main$l;
|
|
7845
|
+
exports.UiError = _sfc_main$k;
|
|
7846
|
+
exports.UiImage = _sfc_main$t;
|
|
7847
|
+
exports.UiLink = _sfc_main$j;
|
|
7848
|
+
exports.UiLoader = _sfc_main$h;
|
|
7849
|
+
exports.UiMenuItem = _sfc_main$g;
|
|
7850
|
+
exports.UiMenuItemGroup = UiMenuItemGroup;
|
|
7851
|
+
exports.UiModalSidebar = _sfc_main$d;
|
|
7852
|
+
exports.UiModalWindow = _sfc_main$b;
|
|
7853
|
+
exports.UiModalWindowSurface = _sfc_main$c;
|
|
7854
|
+
exports.UiPopper = _sfc_main$o;
|
|
7855
|
+
exports.UiPopperConnector = _sfc_main$a;
|
|
7856
|
+
exports.UiPopperTarget = _sfc_main$9;
|
|
7857
|
+
exports.UiRadio = _sfc_main$8;
|
|
7858
|
+
exports.UiScrollBox = _sfc_main$e;
|
|
7859
|
+
exports.UiSelectPopper = _sfc_main$7;
|
|
7860
|
+
exports.UiSelectTrigger = _sfc_main$6;
|
|
7226
7861
|
exports.UiTag = _sfc_main$5;
|
|
7227
7862
|
exports.UiTextbox = _sfc_main$4;
|
|
7228
7863
|
exports.UiToolbar = _sfc_main$3;
|
|
7229
7864
|
exports.UiToolbarButton = _sfc_main$2;
|
|
7230
7865
|
exports.UiToolbarLink = _sfc_main$1;
|
|
7231
|
-
exports.UiTooltip = _sfc_main$
|
|
7232
|
-
exports.UiTransition = _sfc_main$
|
|
7866
|
+
exports.UiTooltip = _sfc_main$n;
|
|
7867
|
+
exports.UiTransition = _sfc_main$i;
|
|
7233
7868
|
exports.UiYandexMap = _sfc_main;
|
|
7234
7869
|
exports.VueI18n = VueI18n;
|