@retailcrm/embed-ui-v1-components 0.9.7 → 0.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/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$m = {
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$a(_ctx, _cache) {
13
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$m, [..._cache[0] || (_cache[0] = [
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$a };
23
- const _hoisted_1$l = {
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$9(_ctx, _cache) {
28
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$l, [..._cache[0] || (_cache[0] = [
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$9 };
35
- const _hoisted_1$k = {
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$8(_ctx, _cache) {
40
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$k, [..._cache[0] || (_cache[0] = [
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$8 };
46
+ const SpriteVIP = { render: render$9 };
47
47
  const ImageWorkersKey = Symbol("$image.workers");
48
- const _hoisted_1$j = ["alt", "src"];
49
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
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$j);
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$6 = /* @__PURE__ */ ((SIZE2) => {
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$6 || {});
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$i = {
119
+ const _hoisted_1$m = {
120
120
  key: 1,
121
121
  class: "ui-v1-avatar__unresolved"
122
122
  };
123
- const _hoisted_2$7 = {
123
+ const _hoisted_2$9 = {
124
124
  key: 3,
125
125
  class: "ui-v1-avatar__initials"
126
126
  };
127
- const _hoisted_3$6 = {
127
+ const _hoisted_3$8 = {
128
128
  key: 4,
129
129
  class: "ui-v1-avatar__labels"
130
130
  };
131
- const _hoisted_4$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$3 = {
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$o = /* @__PURE__ */ vue.defineComponent({
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$6).includes(size),
179
- default: SIZE$6.SM
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$6.XS]: "48x-",
208
- [SIZE$6.SM]: "72x-",
209
- [SIZE$6.LG]: "104x-"
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$p, {
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$i, [
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$7, [
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$6, [
252
- __props.vip ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$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$3, [
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$n = /* @__PURE__ */ vue.defineComponent({
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$6).includes(size),
277
- default: SIZE$6.SM
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$o, {
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$5 = /* @__PURE__ */ ((SIZE2) => {
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$5 || {});
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$m = vue.defineComponent({
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$5.SM
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$h = {
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$7(_ctx, _cache) {
450
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$h, [..._cache[0] || (_cache[0] = [
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$7 };
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$g = ["id", "value", "name", "disabled", "checked"];
481
- const _hoisted_2$6 = { class: "ui-v1-checkbox__checkmark" };
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$l = /* @__PURE__ */ vue.defineComponent({
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$g),
592
- vue.createElementVNode("span", _hoisted_2$6, [
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$f = {
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$6(_ctx, _cache) {
608
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$f, [..._cache[0] || (_cache[0] = [
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$6 };
618
- const _hoisted_1$e = {
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$5(_ctx, _cache) {
623
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$e, [..._cache[0] || (_cache[0] = [
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$5 };
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$d = { class: "ui-v1-popper__content" };
2298
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
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$d, [
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$j = /* @__PURE__ */ vue.defineComponent({
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$k, vue.mergeProps({
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$c = { class: "ui-v1-copy-button__tooltip" };
2794
- const _hoisted_2$5 = { class: "ui-v1-copy-button__icon" };
2795
- const _hoisted_3$5 = { class: "ui-v1-copy-button__text" };
2796
- const _hoisted_4$3 = ["value"];
2797
- const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
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$5.XS
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$m, {
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$j, vue.mergeProps({
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$c, [
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$5, [
2895
+ vue.createElementVNode("div", _hoisted_2$7, [
2892
2896
  vue.createVNode(vue.unref(IconCheckmarkCircleOutlined))
2893
2897
  ]),
2894
- vue.createElementVNode("div", _hoisted_3$5, [
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$3)) : vue.createCommentVNode("", true)
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$h = /* @__PURE__ */ vue.defineComponent({
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$g = /* @__PURE__ */ vue.defineComponent({
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$b = {
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$4(_ctx, _cache) {
4620
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$b, [..._cache[0] || (_cache[0] = [
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$4 };
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$4 = /* @__PURE__ */ ((SIZE2) => {
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$4 || {});
4646
- const _hoisted_1$a = ["href", "target"];
4647
- const _hoisted_2$4 = {
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$4 = {
4655
+ const _hoisted_3$6 = {
4652
4656
  key: 2,
4653
4657
  class: "ui-v1-link__icon"
4654
4658
  };
4655
- const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
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$4).includes(size),
4682
- default: SIZE$4.BODY
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$4, [
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$4, [
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$a);
4736
+ ], 16, _hoisted_1$e);
4733
4737
  };
4734
4738
  }
4735
4739
  });
4736
- const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
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$d = /* @__PURE__ */ vue.defineComponent({
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$e : "div"), vue.normalizeProps(vue.guardReactiveProps(__props.transition ? {
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
- const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
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$9 = {
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$3(_ctx, _cache) {
4928
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$9, [..._cache[0] || (_cache[0] = [
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$3 };
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$8 = ["id", "aria-hidden"];
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$b = /* @__PURE__ */ vue.defineComponent({
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$e, {
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$e, {
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$j, {
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$c, {
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$8), [
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$a = /* @__PURE__ */ vue.defineComponent({
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$e, {
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$e, {
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$c, {
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$7 = {
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$2(_ctx, _cache) {
5671
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$7, [..._cache[0] || (_cache[0] = [
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$2 };
5681
- const _hoisted_1$6 = {
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$9 = /* @__PURE__ */ vue.defineComponent({
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$a, vue.mergeProps({
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$6, [
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$c, {
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$8 = /* @__PURE__ */ vue.defineComponent({
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$7 = /* @__PURE__ */ vue.defineComponent({
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$5 = ["id", "name", "value", "checked", "disabled"];
6132
+ const _hoisted_1$7 = ["id", "name", "value", "checked", "disabled"];
5937
6133
  let counter = 0;
5938
6134
  const __default__ = {};
5939
- const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
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$5),
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
- const _hoisted_1$4 = {
6019
- xmlns: "http://www.w3.org/2000/svg",
6020
- viewBox: "0 0 24 24"
6021
- };
6022
- function render$1(_ctx, _cache) {
6023
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$4, [..._cache[0] || (_cache[0] = [
6024
- vue.createElementVNode("path", {
6025
- fill: "currentColor",
6026
- 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"
6027
- }, null, -1)
6028
- ])]);
6029
- }
6030
- const IconPinned = { render: render$1 };
6031
- class VueI18n {
6032
- _state;
6033
- constructor(locale = void 0) {
6034
- this._state = vue.reactive({ locale });
6035
- }
6036
- get locale() {
6037
- return this._state.locale;
6038
- }
6039
- set locale(locale) {
6040
- this._state.locale = locale;
6041
- }
6042
- }
6043
- const I18nInjectKey = Symbol("$embedI18n");
6044
- const plugin = {
6045
- install(app, options) {
6046
- app.provide(I18nInjectKey, options instanceof VueI18n ? options : new VueI18n(options?.locale));
6047
- }
6048
- };
6049
- var SIZE$2 = /* @__PURE__ */ ((SIZE2) => {
6050
- SIZE2["LG"] = "lg";
6051
- SIZE2["MD"] = "md";
6052
- SIZE2["SM"] = "sm";
6053
- SIZE2["XS"] = "xs";
6054
- return SIZE2;
6055
- })(SIZE$2 || {});
6056
- function deltaTransition(el) {
6057
- const delta = el.scrollWidth - el.clientWidth;
6058
- const animationDuration = `${(el.scrollWidth / el.clientWidth * 2).toFixed(2)}s`;
6059
- return delta !== 0 ? {
6060
- "--delta-width": `-${delta}px`,
6061
- animationDuration
6062
- } : {};
6063
- }
6064
- const pluralization_en_GB = (choice) => choice === 1 ? 0 : 1;
6065
- const pluralization_es_ES = (choice) => choice === 1 ? 0 : 1;
6066
- const pluralization_ru_RU = (choice, choicesLength) => {
6067
- if (choicesLength === 2) {
6068
- return choice === 1 ? 0 : 1;
6069
- }
6070
- const mod100 = choice % 100;
6071
- return mod100 % 10 === 1 && mod100 !== 11 ? 0 : mod100 % 10 >= 2 && mod100 % 10 <= 4 && !(mod100 >= 10 && mod100 < 15) ? 1 : 2;
6072
- };
6073
- const get = (messages, path) => {
6074
- let i = 0;
6075
- let slice = messages[path[0]];
6076
- while (i < path.length) {
6077
- if (typeof slice === "string" && i + 1 === path.length) {
6078
- return slice;
6079
- }
6080
- if (typeof slice !== "object") {
6081
- return void 0;
6082
- }
6083
- slice = slice[path[++i]];
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$2.LG
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$1.SM
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$1).XS,
6779
- "ui-v1-textbox_md": __props.size === vue.unref(SIZE$1).MD,
6780
- "ui-v1-textbox_lg": __props.size === vue.unref(SIZE$1).LG,
6781
- "ui-v1-textbox_xl": __props.size === vue.unref(SIZE$1).XL
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$5.XS;
7572
+ return SIZE$6.XS;
6942
7573
  }
6943
- return SIZE$5.SM;
7574
+ return SIZE$6.SM;
6944
7575
  });
6945
7576
  return (_ctx, _cache) => {
6946
- return vue.openBlock(), vue.createBlock(_sfc_main$m, vue.mergeProps({
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$f, vue.mergeProps({
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$d, { key: 0 })) : vue.createCommentVNode("", true),
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$o;
7209
- exports.UiAvatarList = _sfc_main$n;
7210
- exports.UiButton = _sfc_main$m;
7211
- exports.UiCheckbox = _sfc_main$l;
7212
- exports.UiCopyButton = _sfc_main$i;
7213
- exports.UiDate = _sfc_main$h;
7214
- exports.UiError = _sfc_main$g;
7215
- exports.UiImage = _sfc_main$p;
7216
- exports.UiLink = _sfc_main$f;
7217
- exports.UiLoader = _sfc_main$d;
7218
- exports.UiModalSidebar = _sfc_main$b;
7219
- exports.UiModalWindow = _sfc_main$9;
7220
- exports.UiModalWindowSurface = _sfc_main$a;
7221
- exports.UiPopper = _sfc_main$k;
7222
- exports.UiPopperConnector = _sfc_main$8;
7223
- exports.UiPopperTarget = _sfc_main$7;
7224
- exports.UiRadio = _sfc_main$6;
7225
- exports.UiScrollBox = _sfc_main$c;
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$j;
7232
- exports.UiTransition = _sfc_main$e;
7866
+ exports.UiTooltip = _sfc_main$n;
7867
+ exports.UiTransition = _sfc_main$i;
7233
7868
  exports.UiYandexMap = _sfc_main;
7234
7869
  exports.VueI18n = VueI18n;