@topvisor/ui 0.9.32 → 0.9.33-dev

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.
Files changed (210) hide show
  1. package/.chunks/datepicker-B2sjxM3R.amd.js +247 -0
  2. package/.chunks/datepicker-B2sjxM3R.amd.js.map +1 -0
  3. package/.chunks/datepicker-V4rjmE4P.es.js +289 -0
  4. package/.chunks/datepicker-V4rjmE4P.es.js.map +1 -0
  5. package/.chunks/forms-Dixfp052.amd.js +4 -0
  6. package/.chunks/forms-Dixfp052.amd.js.map +1 -0
  7. package/.chunks/forms-o7UeMJFf.es.js +1507 -0
  8. package/.chunks/forms-o7UeMJFf.es.js.map +1 -0
  9. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-BfCj7kQR.es.js → listItem.vue_vue_type_script_setup_true_lang-BliXIrA8.es.js} +2 -2
  10. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BliXIrA8.es.js.map +1 -0
  11. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-C7tg-67i.amd.js → listItem.vue_vue_type_script_setup_true_lang-C0tRJmSC.amd.js} +2 -2
  12. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-C0tRJmSC.amd.js.map +1 -0
  13. package/.chunks/{menu-v5knQbeF.es.js → menu-CHczkYl6.es.js} +2 -2
  14. package/.chunks/menu-CHczkYl6.es.js.map +1 -0
  15. package/.chunks/{menu-S1Hk7D3W.amd.js → menu-buQxcAhv.amd.js} +2 -2
  16. package/.chunks/menu-buQxcAhv.amd.js.map +1 -0
  17. package/.chunks/{popup-DncRq57t.amd.js → popup-BMNS1F2G.amd.js} +440 -440
  18. package/.chunks/popup-BMNS1F2G.amd.js.map +1 -0
  19. package/.chunks/{popup-BK3xlBZm.es.js → popup-CJLGyBwQ.es.js} +485 -485
  20. package/.chunks/popup-CJLGyBwQ.es.js.map +1 -0
  21. package/.chunks/store-Bl79G7T_.amd.js.map +1 -1
  22. package/.chunks/store-PoMCiuBr.es.js.map +1 -1
  23. package/.chunks/{widgetInput-CrrUoVPc.amd.js → widgetInput-ASxjfQpi.amd.js} +2 -2
  24. package/.chunks/widgetInput-ASxjfQpi.amd.js.map +1 -0
  25. package/.chunks/{widgetInput-Br5COpvG.es.js → widgetInput-p8fSQGk9.es.js} +2 -2
  26. package/.chunks/widgetInput-p8fSQGk9.es.js.map +1 -0
  27. package/README.md +86 -86
  28. package/assets/core.css +1 -1
  29. package/assets/dark.css +1 -1
  30. package/assets/forms.css +1 -1
  31. package/assets/formsExt.css +1 -1
  32. package/assets/light.css +1 -1
  33. package/core/core.amd.js +1 -1
  34. package/core/core.js +1 -1
  35. package/forms/forms.amd.js +1 -1
  36. package/forms/forms.js +15 -14
  37. package/forms/forms.js.map +1 -1
  38. package/forms/helpers.amd.js.map +1 -1
  39. package/forms/helpers.js.map +1 -1
  40. package/formsExt/formsExt.amd.js +1 -1
  41. package/formsExt/formsExt.amd.js.map +1 -1
  42. package/formsExt/formsExt.js +82 -82
  43. package/formsExt/formsExt.js.map +1 -1
  44. package/icomoon/Read Me.txt +7 -7
  45. package/icomoon/demo-files/demo.css +161 -161
  46. package/icomoon/demo-files/demo.js +30 -30
  47. package/icomoon/demo.html +3379 -3379
  48. package/icomoon/fonts/Topvisor-2.svg +263 -263
  49. package/icomoon/style.css +740 -740
  50. package/package.json +24 -24
  51. package/popup/popup.amd.js +1 -1
  52. package/popup/popup.js +2 -2
  53. package/popup/worker.amd.js +1 -1
  54. package/popup/worker.amd.js.map +1 -1
  55. package/popup/worker.js +2 -2
  56. package/popup/worker.js.map +1 -1
  57. package/project/project.amd.js +1 -1
  58. package/project/project.amd.js.map +1 -1
  59. package/project/project.js +3 -3
  60. package/project/project.js.map +1 -1
  61. package/require/css.amd.js +11 -11
  62. package/src/components/forms/avatar/avatar.stories.d.ts +15 -14
  63. package/src/components/forms/avatar/avatar.vue.d.ts +7 -6
  64. package/src/components/forms/button/button.stories.d.ts +62 -60
  65. package/src/components/forms/button/button.vue.d.ts +14 -14
  66. package/src/components/forms/checkbox/checkbox.stories.d.ts +37 -37
  67. package/src/components/forms/checkbox/checkbox.vue.d.ts +20 -23
  68. package/src/components/forms/controlLabel/controlLabel.stories.d.ts +17 -16
  69. package/src/components/forms/controlLabel/controlLabel.vue.d.ts +5 -6
  70. package/src/components/forms/forms.d.ts +8 -0
  71. package/src/components/forms/hint/hint.stories.d.ts +87 -22
  72. package/src/components/forms/hint/hint.vue.d.ts +4 -3
  73. package/src/components/forms/input/input.stories.d.ts +67 -65
  74. package/src/components/forms/input/input.vue.d.ts +13 -13
  75. package/src/components/forms/inputDate/datepicker.d.ts +2 -0
  76. package/src/components/forms/inputDate/inputDate.stories.d.ts +31 -29
  77. package/src/components/forms/inputDate/inputDate.vue.d.ts +6 -5
  78. package/src/components/forms/inputRange/inputRange.stories.d.ts +124 -89
  79. package/src/components/forms/inputRange/inputRange.vue.d.ts +3 -4
  80. package/src/components/forms/loadbar/loadbar.stories.d.ts +2 -1
  81. package/src/components/forms/loadbar/loadbar.vue.d.ts +2 -1
  82. package/src/components/forms/radio/radio.stories.d.ts +35 -34
  83. package/src/components/forms/radio/radio.vue.d.ts +8 -9
  84. package/src/components/forms/select/select.stories.d.ts +24 -22
  85. package/src/components/forms/select/select.vue.d.ts +25 -24
  86. package/src/components/forms/switcher/switcher.stories.d.ts +35 -34
  87. package/src/components/forms/switcher/switcher.vue.d.ts +8 -9
  88. package/src/components/forms/textarea/textarea.stories.d.ts +24 -23
  89. package/src/components/forms/textarea/textarea.vue.d.ts +6 -5
  90. package/src/components/formsExt/editArea/editArea.stories.d.ts +40 -39
  91. package/src/components/formsExt/editArea/editArea.vue.d.ts +6 -5
  92. package/src/components/formsExt/editInput/editInput.stories.d.ts +25 -22
  93. package/src/components/formsExt/editInput/editInput.vue.d.ts +8 -9
  94. package/src/components/formsExt/menu/menu.stories.d.ts +16 -15
  95. package/src/components/formsExt/menu/menu.vue.d.ts +16 -15
  96. package/src/components/formsExt/radioGroup/radioGroup.stories.d.ts +16 -14
  97. package/src/components/formsExt/radioGroup/radioGroup.vue.d.ts +17 -14
  98. package/src/components/formsExt/selector2/api.d.ts +3 -3
  99. package/src/components/formsExt/selector2/itemMulti.vue.d.ts +5 -4
  100. package/src/components/formsExt/selector2/selector2.stories.d.ts +98 -97
  101. package/src/components/formsExt/selector2/selector2.vue.d.ts +47 -47
  102. package/src/components/popup/popup/listItem.vue.d.ts +9 -10
  103. package/src/components/popup/popup/opener.vue.d.ts +11 -12
  104. package/src/components/popup/popup/popup.stories.d.ts +271 -202
  105. package/src/components/popup/popup/popup.vue.d.ts +17 -18
  106. package/src/components/popup/popup/widgetInput.vue.d.ts +31 -28
  107. package/src/components/project/selectorCompetitors/composables.d.ts +2 -2
  108. package/src/components/project/selectorCompetitors/selectorCompetitors.stories.d.ts +9 -8
  109. package/src/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +10 -10
  110. package/src/components/project/selectorCompetitors/stories/items.d.ts +2 -1
  111. package/src/components/tabs/tabs/content.vue.d.ts +5 -6
  112. package/src/components/tabs/tabs/tab.vue.d.ts +5 -6
  113. package/src/components/tabs/tabs/tabs.stories.d.ts +244 -177
  114. package/src/components/tabs/tabs/tabs.vue.d.ts +5 -6
  115. package/src/components/tabsView/tabsView/menu.vue.d.ts +10 -11
  116. package/src/components/tabsView/tabsView/menuDelimeter.vue.d.ts +2 -1
  117. package/src/components/tabsView/tabsView/menuItem.vue.d.ts +9 -10
  118. package/src/components/tabsView/tabsView/menuTitle.vue.d.ts +5 -6
  119. package/src/components/tabsView/tabsView/store.d.ts +129 -72
  120. package/src/components/tabsView/tabsView/tabsView.d.ts +1 -1
  121. package/src/components/tabsView/tabsView/tabsView.stories.d.ts +107 -106
  122. package/src/components/tabsView/tabsView/tabsView.vue.d.ts +16 -17
  123. package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuItem.stories.d.ts +102 -101
  124. package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuTitle.stories.d.ts +54 -53
  125. package/src/core/core/core.d.ts +2 -1
  126. package/src/core/core/page.d.ts +4 -0
  127. package/src/core/core/plugin.d.ts +38 -0
  128. package/src/core/core/state.d.ts +4 -0
  129. package/src/core/utils/device.d.ts +9 -0
  130. package/src/core/utils/image.d.ts +12 -0
  131. package/src/core/utils/number.d.ts +7 -0
  132. package/src/core/utils/price.d.ts +1 -1
  133. package/src/core/utils/store/localStorage.d.ts +1 -1
  134. package/src/core/utils/store/plugin.d.ts +2 -1
  135. package/src/core/utils/store/store.d.ts +2 -2
  136. package/src/core/utils/string.d.ts +5 -1
  137. package/tabs/tabs.amd.js +1 -1
  138. package/tabs/tabs.js +1 -1
  139. package/tabsView/tabsView.amd.js +1 -1
  140. package/tabsView/tabsView.amd.js.map +1 -1
  141. package/tabsView/tabsView.js +2 -2
  142. package/tabsView/tabsView.js.map +1 -1
  143. package/utils/check.amd.js +1 -1
  144. package/utils/check.amd.js.map +1 -1
  145. package/utils/check.js +5 -22
  146. package/utils/check.js.map +1 -1
  147. package/utils/css.amd.js.map +1 -1
  148. package/utils/css.js.map +1 -1
  149. package/utils/date.amd.js +1 -1
  150. package/utils/date.js +4 -4
  151. package/utils/device.amd.js +1 -1
  152. package/utils/device.js +7 -6
  153. package/utils/dom.amd.js.map +1 -1
  154. package/utils/dom.js.map +1 -1
  155. package/utils/image.amd.js +2 -0
  156. package/utils/image.amd.js.map +1 -0
  157. package/utils/image.d.ts +1 -0
  158. package/utils/image.js +13 -0
  159. package/utils/image.js.map +1 -0
  160. package/utils/keyboard.amd.js.map +1 -1
  161. package/utils/keyboard.js.map +1 -1
  162. package/utils/number.amd.js +2 -0
  163. package/utils/number.amd.js.map +1 -0
  164. package/utils/number.d.ts +1 -0
  165. package/utils/number.js +9 -0
  166. package/utils/number.js.map +1 -0
  167. package/utils/price.amd.js.map +1 -1
  168. package/utils/price.js.map +1 -1
  169. package/utils/route.amd.js.map +1 -1
  170. package/utils/route.js.map +1 -1
  171. package/utils/scroll.amd.js +1 -1
  172. package/utils/scroll.amd.js.map +1 -1
  173. package/utils/scroll.js +1 -1
  174. package/utils/scroll.js.map +1 -1
  175. package/utils/string.amd.js +1 -1
  176. package/utils/string.amd.js.map +1 -1
  177. package/utils/string.js +17 -128
  178. package/utils/string.js.map +1 -1
  179. package/utils/system.amd.js +1 -1
  180. package/utils/system.amd.js.map +1 -1
  181. package/utils/system.js +8 -8
  182. package/utils/system.js.map +1 -1
  183. package/utils/url.amd.js +1 -2
  184. package/utils/url.amd.js.map +1 -1
  185. package/utils/url.js +8 -173
  186. package/utils/url.js.map +1 -1
  187. package/utils/window.amd.js +1 -1
  188. package/utils/window.js +1 -1
  189. package/.chunks/datepicker-5QMJRJn-.amd.js +0 -247
  190. package/.chunks/datepicker-5QMJRJn-.amd.js.map +0 -1
  191. package/.chunks/datepicker-D1JLNEmV.es.js +0 -289
  192. package/.chunks/datepicker-D1JLNEmV.es.js.map +0 -1
  193. package/.chunks/forms-B2NcBl7S.amd.js +0 -3
  194. package/.chunks/forms-B2NcBl7S.amd.js.map +0 -1
  195. package/.chunks/forms-S36M7cBH.es.js +0 -1170
  196. package/.chunks/forms-S36M7cBH.es.js.map +0 -1
  197. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BfCj7kQR.es.js.map +0 -1
  198. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-C7tg-67i.amd.js.map +0 -1
  199. package/.chunks/menu-S1Hk7D3W.amd.js.map +0 -1
  200. package/.chunks/menu-v5knQbeF.es.js.map +0 -1
  201. package/.chunks/popup-BK3xlBZm.es.js.map +0 -1
  202. package/.chunks/popup-DncRq57t.amd.js.map +0 -1
  203. package/.chunks/widgetInput-Br5COpvG.es.js.map +0 -1
  204. package/.chunks/widgetInput-CrrUoVPc.amd.js.map +0 -1
  205. package/src/core/utils/common.d.ts +0 -21
  206. package/utils/common.amd.js +0 -2
  207. package/utils/common.amd.js.map +0 -1
  208. package/utils/common.d.ts +0 -1
  209. package/utils/common.js +0 -21
  210. package/utils/common.js.map +0 -1
@@ -0,0 +1,1507 @@
1
+ import { insertToPage as Le } from "../utils/css.js";
2
+ import { reactive as oe, defineComponent as k, useCssVars as ge, computed as b, openBlock as m, createElementBlock as h, createElementVNode as C, createCommentVNode as w, createBlock as T, resolveDynamicComponent as We, normalizeClass as y, withCtx as I, renderSlot as z, createTextVNode as Be, toDisplayString as L, mergeModels as G, useModel as be, withDirectives as V, vModelCheckbox as we, onUnmounted as Fe, ref as De, unref as W, mergeProps as U, vModelRadio as Re, resolveDirective as Ne, vModelText as ye, watch as Ie, Fragment as q, renderList as ae, vModelSelect as Oe, withKeys as Pe, withModifiers as He } from "vue";
3
+ const Ve = ["../assets/forms.css"].map((e) => import.meta.resolve(e));
4
+ Le(Ve, !0);
5
+ function Ue() {
6
+ return "devicePixelRatio" in window && window.devicePixelRatio > 1;
7
+ }
8
+ function je() {
9
+ return !!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i);
10
+ }
11
+ function qe() {
12
+ return navigator.userAgent.indexOf("Topvisor_App") != -1;
13
+ }
14
+ function xe() {
15
+ return navigator.userAgent.indexOf("Mac OS X") !== -1;
16
+ }
17
+ function qo() {
18
+ const e = /Chrome|Android/.test(navigator.userAgent);
19
+ let t = /Safari/.test(navigator.userAgent);
20
+ return e && t && (t = !1), t;
21
+ }
22
+ function xo() {
23
+ return xe() ? "⌘" : "Ctrl";
24
+ }
25
+ const Xo = () => $(document).scrollTop(), Yo = () => $(document), Go = () => [document], Xe = () => {
26
+ const e = [
27
+ ["iOS", /(iPhone|iPad)/i],
28
+ ["Android", /(Android)/i],
29
+ ["Windows Phone", /(IEMobile)/i],
30
+ ["Windows 3.11", /Win16/i],
31
+ ["Windows 95", /(Windows 95)|(Win95)|(Windows_95)/i],
32
+ ["Windows 98", /(Windows 98)|(Win98)/i],
33
+ ["Windows 2000", /(Windows NT 5.0)|(Windows 2000)/i],
34
+ ["Windows XP", /(Windows NT 5.1)|(Windows XP)/i],
35
+ ["Windows Server 2003", /(Windows NT 5.2)/i],
36
+ ["Windows Vista", /(Windows NT 6.0)/i],
37
+ ["Windows 7", /(Windows NT 6.1)/i],
38
+ ["Windows 8", /(Windows NT 6.[23])|(Windows 8)/i],
39
+ ["Windows 10", /(Windows NT 10)/i],
40
+ ["Windows NT 4.0", /(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)/i],
41
+ ["Windows ME", /Windows ME/i],
42
+ ["Windows", /Windows/i],
43
+ ["Open BSD", /OpenBSD/i],
44
+ ["Sun OS", /SunOS/i],
45
+ ["Linux", /(Linux)|(X11)/i],
46
+ ["Macintosh", /(Mac_PowerPC)|(Macintosh)|(Mac OS X 10.4)|(Mac OS X 10.5)|(Mac OS X 10.6)/i],
47
+ ["QNX", /QNX/i],
48
+ ["BeOS", /BeOS/i],
49
+ ["OS/2", /OS\/2/i]
50
+ ];
51
+ let t = "";
52
+ for (let o = 0; o < e.length; o++)
53
+ if (e[o][1].test(navigator.userAgent)) {
54
+ t = e[o][0];
55
+ break;
56
+ }
57
+ return t;
58
+ }, Ko = async () => {
59
+ var t;
60
+ let e = Xe();
61
+ if (e === "Windows 10") {
62
+ const o = await ((t = navigator == null ? void 0 : navigator.userAgentData) == null ? void 0 : t.getHighEntropyValues(["platformVersion"]));
63
+ o && o.platformVersion >= "13" && (e = "Windows 11");
64
+ }
65
+ return e;
66
+ };
67
+ class se {
68
+ /**
69
+ * Проверить скрыта страница или нет
70
+ */
71
+ static isHidden = () => document.hidden;
72
+ }
73
+ const Ye = 100;
74
+ let ne;
75
+ const K = /* @__PURE__ */ new Map(), O = {
76
+ width: window.innerWidth,
77
+ height: window.innerHeight
78
+ };
79
+ function Ge(e) {
80
+ K.set(e, e);
81
+ }
82
+ function Ke(e) {
83
+ K.delete(e);
84
+ }
85
+ function Ze(e) {
86
+ clearTimeout(ne), ne = setTimeout(function() {
87
+ e.topEvent = {
88
+ widthDiff: O.width - window.innerWidth,
89
+ hightDiff: O.height - window.innerHeight
90
+ }, O.width = window.innerWidth, O.height = window.innerHeight, K.forEach((t) => t(e));
91
+ }, Ye);
92
+ }
93
+ window.addEventListener("resize", Ze);
94
+ const Qe = {
95
+ addOnReize: Ge,
96
+ removeOnResize: Ke
97
+ };
98
+ var me;
99
+ const Je = {
100
+ widthForMobile: 900,
101
+ dateFormat: "Y-m-d",
102
+ /**
103
+ * Для Москвы: +0300
104
+ */
105
+ gmt: (me = (/* @__PURE__ */ new Date()).toString().match(/GMT(\S+)/)) == null ? void 0 : me[1]
106
+ };
107
+ var fe;
108
+ const et = {
109
+ /**
110
+ * Device by size
111
+ * @see widthForMobile
112
+ */
113
+ isMobile: !1,
114
+ /**
115
+ * Device by user agent
116
+ */
117
+ isMobileUA: !1,
118
+ /**
119
+ * true, если плотность пикселей экрана больше 1
120
+ */
121
+ isRetina: !1,
122
+ /**
123
+ * true, елси это приложение
124
+ */
125
+ isApp: !1,
126
+ /**
127
+ * true при горизонтальном расположении устройства
128
+ */
129
+ isLandscape: !0,
130
+ /**
131
+ * true при вертикальном расположении устройства
132
+ */
133
+ isPortrait: !1,
134
+ size: 0,
135
+ // См. core.options
136
+ dateFormat: "Y-m-d",
137
+ // См. core.options
138
+ gmt: (fe = (/* @__PURE__ */ new Date()).toString().match(/GMT(\S+)/)) == null ? void 0 : fe[1],
139
+ /**
140
+ * true, если страница скрыта
141
+ */
142
+ isHidden: !1
143
+ }, x = (e) => {
144
+ var t, o;
145
+ if (!((o = (t = p.$) == null ? void 0 : t.ui) != null && o.tooltip)) {
146
+ console.info("Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip");
147
+ return;
148
+ }
149
+ return p.$(e);
150
+ }, ie = (e, t) => {
151
+ var a;
152
+ const o = e.value ?? {};
153
+ return o.content ??= (a = t.props) == null ? void 0 : a.title, o.content = String(o.content).replace(/\r\n|\r|\n/g, "<br>"), o.position ??= {
154
+ my: "bottom-18px",
155
+ at: "top center"
156
+ }, o;
157
+ }, tt = {
158
+ mounted(e, t, o) {
159
+ var a;
160
+ (a = x(e)) == null || a.tooltip(ie(t, o));
161
+ },
162
+ updated(e, t, o, a) {
163
+ var i;
164
+ const n = ie(t, o), s = (i = x(e)) == null ? void 0 : i.tooltip("instance");
165
+ s && (s.options = {
166
+ ...s.options,
167
+ ...n
168
+ });
169
+ },
170
+ unmounted(e, t, o) {
171
+ var a;
172
+ (a = x(e)) == null || a.tooltip("destroy");
173
+ }
174
+ }, ot = {
175
+ mounted: function(e, t) {
176
+ (t.value || t.value === void 0) && e.focus();
177
+ }
178
+ };
179
+ let D;
180
+ const at = {
181
+ mounted(e, t, o) {
182
+ const a = t.value || "top-sticky";
183
+ D = new IntersectionObserver((n) => {
184
+ let s = n[0].intersectionRatio < 1;
185
+ s && t.arg === "bottom" && n[0].intersectionRect.y === 0 && (s = !1), e.classList.toggle(a, s);
186
+ }, {
187
+ threshold: [1]
188
+ }), D.observe(e);
189
+ },
190
+ unmounted(e, t, o) {
191
+ D == null || D.disconnect();
192
+ }
193
+ };
194
+ let re = !1, R, Z;
195
+ const H = /* @__PURE__ */ new Map(), st = (e, t) => {
196
+ const { distance: o, percent: a } = Z, n = e.getBoundingClientRect().top, s = t * a / 100 / o, i = (t - n) / s;
197
+ i <= o ? e.style.transform = `translateY(${o - i}px)` : e.style.transform = "translateY(0px)";
198
+ }, nt = (e) => {
199
+ let t = window.innerHeight;
200
+ window.addEventListener("scroll", () => {
201
+ H.forEach((o) => st(o, t));
202
+ }, { passive: !0 }), R = new IntersectionObserver((o) => {
203
+ t = window.innerHeight, o.forEach((a) => {
204
+ const n = a.target;
205
+ if (a.intersectionRatio < 0.1 ? H.delete(n) : H.set(n, n), a.intersectionRatio === 0) {
206
+ const { distance: s, percent: i } = Z;
207
+ n.style.transform = `translateY(${s}px)`;
208
+ }
209
+ });
210
+ }, {
211
+ threshold: 0.1
212
+ });
213
+ }, it = {
214
+ mounted(e, t, o) {
215
+ var i;
216
+ if (p.state.isMobileUA) return;
217
+ const a = (i = t.arg) == null ? void 0 : i.split(":");
218
+ let n = Number((a == null ? void 0 : a[0]) ?? 100), s = Number((a == null ? void 0 : a[1]) ?? 30);
219
+ Z = {
220
+ distance: n,
221
+ percent: s
222
+ }, re || (nt(), re = !0), R.observe(e);
223
+ },
224
+ unmounted(e, t, o) {
225
+ H.delete(e), R == null || R.unobserve(e);
226
+ }
227
+ }, rt = () => typeof window > "u" ? {} : window, le = rt();
228
+ class p {
229
+ /**
230
+ * Настройки словаря
231
+ */
232
+ static L = oe({
233
+ Not_date: "Not date"
234
+ });
235
+ static page = le.page ?? {};
236
+ static Page = se;
237
+ static options = Je;
238
+ static state = oe({ ...et });
239
+ static matchMediaIsMobile;
240
+ static $ = le.$;
241
+ /**
242
+ * Добавить на страницу стили, используется для загрузки стилей из js
243
+ *
244
+ * Условная загрузка стилей m и pc отключена в пользу производительсности, стили грузятся всегда, но применяются по условию
245
+ * @param style - css стили в строке
246
+ * @param type - если указать 'm' или 'pc', то стили будут применяться по условию в зависимости от настройки this.options.widthForMobile
247
+ */
248
+ static appendStyle(t, o = "") {
249
+ let a = "all";
250
+ o === "m" && (a = "(max-width: " + this.options.widthForMobile + "px)"), o === "pc" && (a = "(min-width: " + this.options.widthForMobile + "px)");
251
+ const n = document.createElement("style");
252
+ n.innerHTML = t, n.media = a, document.head.append(n);
253
+ }
254
+ /**
255
+ * Установить как плагин в прилоежнии Vue
256
+ * Core.state является общим для всех приложений Vue на странице
257
+ * Core.options является общим для всех приложений Vue на странице
258
+ * @param app - Vue App
259
+ * @param {typeof options} options - параметры UI
260
+ */
261
+ static install(t, o) {
262
+ p.defineOptions(o), t.provide("top-core", p), this.installDirectives(t);
263
+ }
264
+ static installDirectives(t) {
265
+ t.directive("top-tooltip", tt), t.directive("top-focus", ot), t.directive("top-sticky", at), t.directive("top-swim-up", it);
266
+ }
267
+ /**
268
+ * Установить конфигурацию UI
269
+ * @param {typeof options} options
270
+ */
271
+ static defineOptions(t) {
272
+ t != null && t.widthForMobile && (this.options.widthForMobile = t.widthForMobile), t != null && t.dateFormat && (this.options.dateFormat = t.dateFormat), t != null && t.gmt && (this.options.gmt = t.gmt), p.setState();
273
+ }
274
+ static setState() {
275
+ p.matchMediaIsMobile = window.matchMedia(`(max-width: ${p.options.widthForMobile}px)`), p.state.isMobileUA = je(), p.state.isRetina = Ue(), p.state.isApp = qe(), p.state.dateFormat = this.options.dateFormat, p.state.gmt = this.options.gmt, p.state.isHidden = se.isHidden(), p.setStateByWindowSize(), Qe.addOnReize(p.onResize), p.onResize(), p.saveToCookie();
276
+ }
277
+ static onResize() {
278
+ p.setStateByWindowSize(), document.documentElement.style.setProperty("--100vh", window.innerHeight + "px");
279
+ }
280
+ static setStateByWindowSize() {
281
+ var t;
282
+ p.state.isMobile = !!((t = p.matchMediaIsMobile) != null && t.matches), p.state.isLandscape = window.innerWidth > window.innerHeight, p.state.isPortrait = !p.state.isLandscape, p.state.size = window.innerWidth > window.innerHeight ? window.innerWidth : window.innerHeight, p.saveToCookie();
283
+ }
284
+ /**
285
+ * Сохранить информацию об устройстве в cookie
286
+ */
287
+ static saveToCookie() {
288
+ const t = [
289
+ 1,
290
+ window.innerWidth,
291
+ window.innerHeight,
292
+ window.devicePixelRatio,
293
+ Number(p.state.isMobile),
294
+ Number(p.state.isRetina)
295
+ ];
296
+ document.cookie = "device=" + t.join(",") + "; path=/;";
297
+ }
298
+ }
299
+ const B = 2147483647, _ = 36, Q = 1, N = 26, lt = 38, dt = 700, ve = 72, ke = 128, $e = "-", ct = /^xn--/, pt = /[^\0-\x7F]/, ut = /[\x2E\u3002\uFF0E\uFF61]/g, mt = {
300
+ overflow: "Overflow: input needs wider integers to process",
301
+ "not-basic": "Illegal input >= 0x80 (not a basic code point)",
302
+ "invalid-input": "Invalid input"
303
+ }, X = _ - Q, M = Math.floor, Y = String.fromCharCode;
304
+ function A(e) {
305
+ throw new RangeError(mt[e]);
306
+ }
307
+ function ft(e, t) {
308
+ const o = [];
309
+ let a = e.length;
310
+ for (; a--; )
311
+ o[a] = t(e[a]);
312
+ return o;
313
+ }
314
+ function Se(e, t) {
315
+ const o = e.split("@");
316
+ let a = "";
317
+ o.length > 1 && (a = o[0] + "@", e = o[1]), e = e.replace(ut, ".");
318
+ const n = e.split("."), s = ft(n, t).join(".");
319
+ return a + s;
320
+ }
321
+ function _e(e) {
322
+ const t = [];
323
+ let o = 0;
324
+ const a = e.length;
325
+ for (; o < a; ) {
326
+ const n = e.charCodeAt(o++);
327
+ if (n >= 55296 && n <= 56319 && o < a) {
328
+ const s = e.charCodeAt(o++);
329
+ (s & 64512) == 56320 ? t.push(((n & 1023) << 10) + (s & 1023) + 65536) : (t.push(n), o--);
330
+ } else
331
+ t.push(n);
332
+ }
333
+ return t;
334
+ }
335
+ const ht = (e) => String.fromCodePoint(...e), gt = function(e) {
336
+ return e >= 48 && e < 58 ? 26 + (e - 48) : e >= 65 && e < 91 ? e - 65 : e >= 97 && e < 123 ? e - 97 : _;
337
+ }, de = function(e, t) {
338
+ return e + 22 + 75 * (e < 26) - ((t != 0) << 5);
339
+ }, Me = function(e, t, o) {
340
+ let a = 0;
341
+ for (e = o ? M(e / dt) : e >> 1, e += M(e / t); e > X * N >> 1; a += _)
342
+ e = M(e / X);
343
+ return M(a + (X + 1) * e / (e + lt));
344
+ }, Ce = function(e) {
345
+ const t = [], o = e.length;
346
+ let a = 0, n = ke, s = ve, i = e.lastIndexOf($e);
347
+ i < 0 && (i = 0);
348
+ for (let r = 0; r < i; ++r)
349
+ e.charCodeAt(r) >= 128 && A("not-basic"), t.push(e.charCodeAt(r));
350
+ for (let r = i > 0 ? i + 1 : 0; r < o; ) {
351
+ const u = a;
352
+ for (let d = 1, c = _; ; c += _) {
353
+ r >= o && A("invalid-input");
354
+ const f = gt(e.charCodeAt(r++));
355
+ f >= _ && A("invalid-input"), f > M((B - a) / d) && A("overflow"), a += f * d;
356
+ const g = c <= s ? Q : c >= s + N ? N : c - s;
357
+ if (f < g)
358
+ break;
359
+ const S = _ - g;
360
+ d > M(B / S) && A("overflow"), d *= S;
361
+ }
362
+ const l = t.length + 1;
363
+ s = Me(a - u, l, u == 0), M(a / l) > B - n && A("overflow"), n += M(a / l), a %= l, t.splice(a++, 0, n);
364
+ }
365
+ return String.fromCodePoint(...t);
366
+ }, ze = function(e) {
367
+ const t = [];
368
+ e = _e(e);
369
+ const o = e.length;
370
+ let a = ke, n = 0, s = ve;
371
+ for (const u of e)
372
+ u < 128 && t.push(Y(u));
373
+ const i = t.length;
374
+ let r = i;
375
+ for (i && t.push($e); r < o; ) {
376
+ let u = B;
377
+ for (const d of e)
378
+ d >= a && d < u && (u = d);
379
+ const l = r + 1;
380
+ u - a > M((B - n) / l) && A("overflow"), n += (u - a) * l, a = u;
381
+ for (const d of e)
382
+ if (d < a && ++n > B && A("overflow"), d === a) {
383
+ let c = n;
384
+ for (let f = _; ; f += _) {
385
+ const g = f <= s ? Q : f >= s + N ? N : f - s;
386
+ if (c < g)
387
+ break;
388
+ const S = c - g, te = _ - g;
389
+ t.push(
390
+ Y(de(g + S % te, 0))
391
+ ), c = M(S / te);
392
+ }
393
+ t.push(Y(de(c, 0))), s = Me(n, l, r === i), n = 0, ++r;
394
+ }
395
+ ++n, ++a;
396
+ }
397
+ return t.join("");
398
+ }, bt = function(e) {
399
+ return Se(e, function(t) {
400
+ return ct.test(t) ? Ce(t.slice(4).toLowerCase()) : t;
401
+ });
402
+ }, wt = function(e) {
403
+ return Se(e, function(t) {
404
+ return pt.test(t) ? "xn--" + ze(t) : t;
405
+ });
406
+ }, j = {
407
+ /**
408
+ * A string representing the current Punycode.js version number.
409
+ * @memberOf punycode
410
+ * @type String
411
+ */
412
+ version: "2.3.1",
413
+ /**
414
+ * An object of methods to convert from JavaScript's internal character
415
+ * representation (UCS-2) to Unicode code points, and back.
416
+ * @see <https://mathiasbynens.be/notes/javascript-encoding>
417
+ * @memberOf punycode
418
+ * @type Object
419
+ */
420
+ ucs2: {
421
+ decode: _e,
422
+ encode: ht
423
+ },
424
+ decode: Ce,
425
+ encode: ze,
426
+ toASCII: wt,
427
+ toUnicode: bt
428
+ }, yt = (e = "") => {
429
+ if (e = e.replace(/[\r\n]/g, " ").trim(), e.indexOf("xn--") === -1) return e;
430
+ if (e.indexOf("/") === -1) return j.toUnicode(e);
431
+ const t = J(e);
432
+ let o = t.toLowerCase();
433
+ return o = j.toUnicode(o), t !== o && (e = e.replace(t, o)), e;
434
+ }, Ae = (e) => {
435
+ if (e = e.replace(/[\r\n]/g, " ").trim(), e.indexOf("/") === -1) return j.toASCII(e);
436
+ const t = J(e);
437
+ let o = t.toLowerCase();
438
+ return o = j.toASCII(o), t !== o && (e = e.replace(t, o)), e;
439
+ }, J = (e) => e.replace(/(?:^\w+:\/\/)?([^:/]+).*/i, "$1"), Zo = (e) => (e = yt(e), e = vt(e), e), vt = (e) => {
440
+ const t = J(e), o = t.toLowerCase();
441
+ return t !== o && (e = e.replace(t, o)), e;
442
+ }, Qo = (e) => escape(kt(e)), Jo = (e) => $t(unescape(e)), kt = (e) => {
443
+ e = e.replace(/\r\n/g, `
444
+ `);
445
+ let t = "";
446
+ for (let o = 0; o < e.length; o++) {
447
+ const a = e.charCodeAt(o);
448
+ a < 128 ? t += String.fromCharCode(a) : a > 127 && a < 2048 ? (t += String.fromCharCode(a >> 6 | 192), t += String.fromCharCode(a & 63 | 128)) : (t += String.fromCharCode(a >> 12 | 224), t += String.fromCharCode(a >> 6 & 63 | 128), t += String.fromCharCode(a & 63 | 128));
449
+ }
450
+ return t;
451
+ }, $t = (e) => {
452
+ let t = "", o = 0, a = 0, n = 0;
453
+ for (; o < e.length; )
454
+ if (a = e.charCodeAt(o), a < 128)
455
+ t += String.fromCharCode(a), o++;
456
+ else if (a > 191 && a < 224)
457
+ n = e.charCodeAt(o + 1), t += String.fromCharCode((a & 31) << 6 | n & 63), o += 2;
458
+ else {
459
+ n = e.charCodeAt(o + 1);
460
+ let s = e.charCodeAt(o + 2);
461
+ t += String.fromCharCode((a & 15) << 12 | (n & 63) << 6 | s & 63), o += 3;
462
+ }
463
+ return t;
464
+ }, St = "ru|com|abbott|ac|ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|asia|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|boo|br|bs|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|coop|cr|cs|gb|cu|cv|cx|cy|cyou|cz|dd|de|dj|dk|dm|do|dz|ec|eco|edu|ee|eg|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|icu|id|ie|il|im|in|int|info|io|iq|ir|is|it|je|jm|jo|jobs|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|live|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mh|mil|mg|mk|ml|mm|mn|mo|mobi|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|ng|ni|nl|no|np|nr|nu|nz|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|rs|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tel|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vn|vu|wf|ws|ye|yt|za|zm|zw|academy|agency|art|arte|audible|audio|band|bargains|bike|blog|boutique|builders|buzz|cab|camera|camp|cam|careers|center|cheap|clothing|club|codes|coffee|company|computer|condos|construction|contractors|cool|cruises|dance|dating|democrat|diamonds|directory|domains|education|email|enterprises|equipment|estate|events|expert|exposed|farm|flights|florist|foundation|futbol|gallery|gal|gift|glass|graphics|guitars|guru|holdings|holiday|house|immobilien|kitchen|land|lighting|limo|link|maison|management|marketing|menu|men|moe|ninja|partners|photo|photography|photos|pics|plumbing|plus|productions|properties|recipes|rentals|repair|review|reviews|sandvik|sexy|shoes|singles|social|solar|solutions|support|systems|tattoo|technology|tienda|tips|today|training|travel|vacations|ventures|viajes|villas|voyage|watch|works|zone|xxx|ads|associates|booking|business|ceo|ecom|forum|gives|global|gmbh|inc|institute|insure|lifeinsurance|llc|llp|ltd|ltda|mba|new|news|ngo|press|sarl|services|srl|studio|trade|trading|wiki|xin|auction|bid|blackfriday|buy|capital|charity|claims|compare|coupon|coupons|deal|dealer|deals|delivery|discount|exchange|flowers|free|furniture|gifts|gripe|grocery|jewelry|kaufen|lotto|parts|promo|qpon|racing|rsvp|sale|salon|save|seat|shop|shopping|silk|spa|store|supplies|supply|taxi|tickets|tires|tools|toys|watches|college|courses|degree|ged|phd|prof|scholarships|school|schule|science|shiksha|study|translations|university|beer|cafe|catering|cityeats|cooking|diet|food|organic|pet|pizza|pub|rest|restaurant|soy|wine|blue|circle|dot|duck|fast|final|finish|fire|fun|fyi|goo|got|green|here|horse|how|ieee|jot|joy|like|limited|makeup|meme|mint|moi|moto|now|nowruz|ong|onl|ooo|page|pars|pid|pink|play|plus|read|red|reise|reisen|rocks|safe|safety|seek|select|sky|smile|spot|sucks|talk|top|trust|uno|vin|vodka|web|wed|win|winners|wow|wtf|xyz|yamaxun|you|zero|abudhabi|africa|alsace|amsterdam|aquitaine|arab|barcelona|bayern|berlin|boston|broadway|brussels|budapest|bzh|capetown|cologne|corsica|country|cymru|desi|doha|dubai|durban|earth|eus|gent|hamburg|helsinki|international|irish|istanbul|joburg|kiwi|koeln|kyoto|london|madrid|market|melbourne|miami|monster|nagoya|nrw|nyc|okinawa|osaka|paris|persiangulf|place|quebec|rio|roma|ryukyu|saarland|scot|shia|show|stockholm|stream|swiss|sydney|taipei|tatar|thai|tirol|tokyo|vegas|vlaanderen|wales|wanggou|wien|world|yokohama|zuerich|clinic|dental|dentist|docs|doctor|health|healthcare|hiv|hospital|med|medical|pharmacy|physio|rehab|surgery|auto|autos|bio|boats|cars|cleaning|consulting|design|energy|industries|motorcycles|adult|baby|beauty|beknown|best|bet|bingo|bom|cards|community|contact|dad|diy|dog|express|family|fan|fans|fashion|garden|gay|giving|group|guide|hair|halal|hiphop|imamat|jetzt|kid|kids|kim|kinder|latino|lgbt|lifestyle|style|living|love|luxe|luxury|moda|mom|navy|pets|poker|porn|republican|vip|vision|vote|voting|voto|wedding|feedback|film|media|mov|movie|movistar|music|pictures|radio|show|song|theater|theatre|tunes|video|accountant|accountants|analytics|bank|banque|broker|cash|cashbackbonus|cfd|cpa|credit|creditcard|finance|financial|financialaid|fund|gold|gratis|investments|ira|loan|loans|markets|money|mortgage|mutual|mutualfunds|pay|reit|prime|security|yun|abogado|airforce|archi|architect|army|attorney|author|dds|engineer|engineering|esq|law|lawyer|legal|retirement|vet|apartments|casa|case|forsale|haus|homes|lease|property|realestate|realtor|realty|rent|room|baseball|basketball|coach|cricket|fish|fishing|fit|fitness|football|game|games|golf|hockey|juegos|mls|rodeo|rugby|run|ski|soccer|sport|sports|spreadbetting|surf|team|tennis|yoga|app|box|chat|click|cloud|comsec|bot|data|date|dev|digital|download|drive|call|fail|help|host|hosting|map|mobile|network|online|original-tor|phone|report|search|secure|site|software|space|storage|tube|webcam|webs|website|weibo|zip|active|casino|christmas|hangout|hoteis|hotel|hoteles|hotels|meet|party|tech|tour|tours|bible|church|catholic|faith|indians|islam|ismaili|memorial|moscow|actor|bar|black|build|care|city|direct|immo|ink|life|tax|town|work|one|insure|saxo|sex|shell|weber|yandex|rip|car|ist|lat|lol|bond|om|skin|day|quest|wang|sbs|dhl|ing", _t = "рф|дети|онлайн|сайт|укр|католик|ком|москва|орг|рус|бел|бг";
465
+ let P = "";
466
+ const Mt = () => P || (P = _t.split("|").map((e) => Ae(e)).join("|"), P), Te = () => {
467
+ const e = `(?:${St})`, t = `(?:${Mt()})`;
468
+ return `(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+(?:${e}|${t})\\/?`;
469
+ }, ea = (e, t = !1) => {
470
+ e += "", e = e.toLowerCase();
471
+ let o = "^[-0-9a-z_\\.\\+]+@([-0-9a-z_^\\.]+\\.)+[a-z]{2,20}$";
472
+ return t && (o = "^[-0-9a-zа-яё_\\.\\+]+@([-0-9a-zа-яё_^\\.]+\\.)+[a-zа-яё]{2,20}$"), new RegExp(o).test(e);
473
+ }, ta = (e) => {
474
+ if (e = e.trim(), e.includes(" "))
475
+ return !1;
476
+ const t = e.replace(/^(https?:\/\/)?(www\.)?([^/]+).*/, "$3");
477
+ return Ct(t);
478
+ }, Ct = (e) => (e = Ae(e), new RegExp(`^${Te()}$`).test(e)), oa = (e) => new RegExp(
479
+ "((^\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\s*$)|(^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:)(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$))"
480
+ ).test(e);
481
+ var he;
482
+ const Ee = ((he = window.mo) == null ? void 0 : he.user) ?? {}, aa = (e) => {
483
+ e += "";
484
+ let t = 0;
485
+ if (!e.length) return t;
486
+ for (let o = 0; o < e.length; o++) {
487
+ const a = e.charCodeAt(o);
488
+ t = (t << 5) - t + a, t = t & t;
489
+ }
490
+ return t < 0 && (t *= -1), t;
491
+ }, sa = (e) => /^\w+:\/\/([\w-]+\.)+[\w-]+(:\d+)?(\/|$)/.test(e), na = (e) => {
492
+ e += "", e = e.replace("-", "–");
493
+ let t = e.split("."), o = t[0], a = t.length > 1 ? "." + t[1] : "";
494
+ if (o.replace(/[+–]/, "").length <= 4) return e;
495
+ const n = /(\d+)(\d{3})/;
496
+ for (; n.test(o); )
497
+ o = o.replace(n, "$1 $2");
498
+ return o + a;
499
+ }, ia = (e) => e === void 0 ? "" : e.replace(/\r\n|\r|\n/g, "<br>"), ra = (e, t = 2, o = 1e3, a = "") => {
500
+ const n = Math.pow(10, t);
501
+ let s = String(e);
502
+ return Math.abs(e) > Math.pow(o, 3) ? s = Math.round(e / Math.pow(o, 3) * n) / n + " <small>G" + a + "</small>" : Math.abs(e) > Math.pow(o, 2) ? s = Math.round(e / Math.pow(o, 2) * n) / n + " <small>M" + a + "</small>" : Math.abs(e) > o && (s = Math.round(e / o * n) / n + " <small>K" + a + "</small>"), s = s.replace(/^(-?\d+)(\d{3})/, "$1 $2"), s;
503
+ }, la = (e, t, o = 1) => {
504
+ if (e == null) return "";
505
+ if (e += "", t == null || e.length <= t) return e;
506
+ if (o === 0)
507
+ e = e.substr(e.length - t, t), e = "..." + e;
508
+ else if (o === 1) {
509
+ const a = e.substr(0, t / 2), n = e.substr(e.length - t / 2, Math.ceil(t / 2));
510
+ e = a + "..." + n;
511
+ } else o === 2 && (e = e.substr(0, t), e = e + "...");
512
+ return e;
513
+ }, da = (e, t, o, a) => {
514
+ if (Ee.lang === "en")
515
+ return e === 1 ? o : t;
516
+ const n = e % 100, s = e % 10;
517
+ return n >= 5 && n <= 20 || s === 0 ? t : s === 1 ? o : s >= 2 && s <= 4 ? a : s >= 5 && s <= 9 ? t : a;
518
+ }, ca = (e) => {
519
+ if (Ee.lang != "ru" || e == "") return e;
520
+ const t = e.split(" ");
521
+ return $.map(t, function(o, a) {
522
+ o = o + "а", o = o.replace("оа", "о"), o = o.replace("аяа", "ой"), o = o.replace("шийа", "шого"), o = o.replace("ыйа", "ого"), o = o.replace("йа", "я"), o = o.replace("ьа", "я"), o = o.replace("яа", "и"), o = o.replace("оваа", "овой"), o = o.replace("аа", "ы"), o = o.replace("кия", "кого"), o = o.replace("каи", "кой"), t[a] = o;
523
+ }), e = t.join(" "), e;
524
+ }, pa = (e) => {
525
+ const t = {
526
+ а: "a",
527
+ б: "b",
528
+ в: "v",
529
+ г: "g",
530
+ д: "d",
531
+ е: "e",
532
+ ё: "e",
533
+ ж: "j",
534
+ з: "z",
535
+ и: "i",
536
+ й: "i",
537
+ к: "k",
538
+ л: "l",
539
+ м: "m",
540
+ н: "n",
541
+ о: "o",
542
+ п: "p",
543
+ р: "r",
544
+ с: "s",
545
+ т: "t",
546
+ у: "u",
547
+ ф: "f",
548
+ х: "h",
549
+ ц: "c",
550
+ ч: "ch",
551
+ ш: "sh",
552
+ щ: "shch",
553
+ ъ: "",
554
+ ы: "y",
555
+ ь: "",
556
+ э: "e",
557
+ ю: "u",
558
+ я: "ya"
559
+ }, o = e.split(" ");
560
+ return $.map(o, function(a, n) {
561
+ const s = [];
562
+ for (let i = 0; i < a.length; ++i)
563
+ s.push(
564
+ t[a[i]] || t[a[i].toLowerCase()] == null && a[i] || t[a[i].toLowerCase()].replace(/^(.)/, function(r) {
565
+ return r.toUpperCase();
566
+ })
567
+ );
568
+ o[n] = s.join("");
569
+ }), e = o.join(" "), e;
570
+ }, ua = (e) => (typeof e == "string" && (e = e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;")), e), ma = (e, t) => {
571
+ let o = null;
572
+ switch (t.operator) {
573
+ case "CONTAINS":
574
+ case "REGEXP":
575
+ try {
576
+ let a = t.values[0];
577
+ t.operator != "REGEXP" && (a = a.replace(/([()\[\]])/g, "\\$1")), o = new RegExp("(" + a + ")", "gi");
578
+ } catch {
579
+ return e;
580
+ }
581
+ break;
582
+ }
583
+ return e = e.replace(o, '<b class="found">$1</b>'), e;
584
+ }, fa = (e) => {
585
+ var t;
586
+ return (t = e.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)) == null ? void 0 : t.map((o) => o.toLowerCase()).join("_");
587
+ }, ha = (e) => `/controller/file/?src=${"/cloud/common/flags/" + e.toUpperCase() + ".svg"}`, ga = (e) => {
588
+ const t = Te(), o = "(([\\/?\\w&=%+#;:-]*(\\.\\w+)?))*", a = new RegExp(`(^|[\\s>(),])([a-z0-9а-яё_.]+@${t}${o})`, "gui");
589
+ e = e.replace(a, '$1<a href="mailto:$2" target="_blank" rel="noopener">↑[$2]↓</a>');
590
+ const n = new RegExp(`(^|[\\s>(),])(https?://)?(${t}${o})`, "gui");
591
+ return e = e.replace(n, '$1<a href="√$2$3" target="_blank" rel="nofollow noopener">$2$3</a>'), e = e.replaceAll("√http", "http"), e = e.replaceAll("√", "http://"), e = e.replaceAll(/(↑\[|]↓)/g, ""), e;
592
+ }, ba = (e) => e.charAt(0).toUpperCase() + e.slice(1), wa = (e = 20) => {
593
+ const t = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890";
594
+ let o = "";
595
+ for (let a = 0; a < e; a++)
596
+ o += t[Math.floor(Math.random() * t.length)];
597
+ return o;
598
+ }, E = window.L ?? {}, ya = (e, t, o) => {
599
+ switch (new Date(e, t, o).getDay()) {
600
+ case 0:
601
+ return E.Vs + ".";
602
+ case 1:
603
+ return E.Pn + ".";
604
+ case 2:
605
+ return E.Vt + ".";
606
+ case 3:
607
+ return E.Sr + ".";
608
+ case 4:
609
+ return E.Ct + ".";
610
+ case 5:
611
+ return E.Pt + ".";
612
+ case 6:
613
+ return E.Sb + ".";
614
+ default:
615
+ return "";
616
+ }
617
+ }, va = (e, t = !0, o = 2) => {
618
+ let a = String(e.getFullYear()), n = String(e.getDate()).padStart(2, "0"), s = String(e.getMonth() + 1).padStart(2, "0"), i = String(e.getHours()).padStart(2, "0"), r = String(e.getMinutes()).padStart(2, "0"), u = String(e.getSeconds()).padStart(2, "0"), l = a + "-" + s + "-" + n;
619
+ return o >= 1 && (l += " " + i), o >= 2 && (l += ":" + r), o === 3 && (l += ":" + u), t && (l = F(l, o)), l;
620
+ };
621
+ function ka(e) {
622
+ return e.indexOf("T") === -1 && (e.length == 10 && (e += " 00:00:00"), e = e.replace(" ", "T") + p.state.gmt), new Date(e);
623
+ }
624
+ function zt(e, t = !0, o = 0) {
625
+ let a;
626
+ e != null ? a = new Date(e) : a = /* @__PURE__ */ new Date();
627
+ const n = a.getFullYear(), s = String(a.getMonth() + 1).padStart(2, "0"), i = a.getDate().toString().padStart(2, "0"), r = a.getHours().toString().padStart(2, "0"), u = a.getMinutes().toString().padStart(2, "0"), l = a.getSeconds().toString().padStart(2, "0");
628
+ return a = n + "-" + s + "-" + i, o && (a += " "), o >= 1 && (a += r), o >= 2 && (a += ":" + u), o >= 3 && (a += ":" + l), t && (a = F(a, o)), a;
629
+ }
630
+ function $a(e, t = !0) {
631
+ const a = (/* @__PURE__ */ new Date()).getTimezoneOffset() / 60 * -1 * 60 * 60 * 1e3, n = 3 * 60 * 60 * 1e3;
632
+ let s;
633
+ e !== void 0 ? s = new Date(e) : s = /* @__PURE__ */ new Date(), s.setTime(s.getTime() - a + n);
634
+ let i = String(s.getFullYear()), r = String(s.getDate()).padStart(2, "0"), u = String(s.getMonth() + 1).padStart(2, "0"), l = String(s.getHours()).padStart(2, "0"), d = String(s.getMinutes()).padStart(2, "0"), c = String(s.getSeconds()).padStart(2, "0"), f = i + "-" + u + "-" + r + " " + l + ":" + d + ":" + c;
635
+ return t && (f = F(f)), f;
636
+ }
637
+ function F(e, t = 2, o, a = p.L.Not_date) {
638
+ if (typeof e == "string" && (!e || e.substring(0, 10) === "0000-00-00") && a && a !== "0000-00-00" || !e) return a;
639
+ o || (o = p.state.dateFormat.toLowerCase().toLowerCase().replace("m", "mm").replace("y", "yy").replace("d", "dd"));
640
+ let n;
641
+ if (e instanceof Date)
642
+ n = e;
643
+ else {
644
+ let i = e.substring(0, 10);
645
+ if (i.length === 7 && (i += "-01"), i += " 00:00", i = i.replace(/-/g, "/"), n = new Date(i), isNaN(Number(n))) return a;
646
+ }
647
+ let s = "";
648
+ if (o && window.$ && (s = $.datepicker.formatDate(o, n)), t && typeof e == "string" && e.length > 10 || t && e instanceof Date) {
649
+ let i = "";
650
+ if (e instanceof Date)
651
+ i = (/* @__PURE__ */ new Date()).toLocaleTimeString("en-US", {
652
+ hour12: !1,
653
+ hour: "numeric",
654
+ minute: t >= 2 ? "numeric" : void 0,
655
+ second: t >= 3 ? "numeric" : void 0
656
+ });
657
+ else
658
+ switch (t) {
659
+ case 1:
660
+ i = e.substring(11, 13);
661
+ break;
662
+ case 2:
663
+ i = e.substring(11, 16);
664
+ break;
665
+ case 3:
666
+ i = e.substring(11, 19);
667
+ break;
668
+ }
669
+ s += " " + i;
670
+ }
671
+ return s = s.trim(), s;
672
+ }
673
+ function ce(e, t = p.L.Not_date) {
674
+ if (!e)
675
+ return t;
676
+ if (e.match(/\d\d\d\d-\d\d-\d\d/))
677
+ return e;
678
+ const o = p.state.dateFormat.toLowerCase(), a = e.split(/\W/), n = o.split(/\W/);
679
+ let s = "", i = "", r = "";
680
+ n.forEach((l, d) => {
681
+ switch (l) {
682
+ case "d":
683
+ s = a[d];
684
+ break;
685
+ case "m":
686
+ i = a[d];
687
+ break;
688
+ case "y":
689
+ r = a[d];
690
+ break;
691
+ }
692
+ });
693
+ let u = r + "-" + i + "-" + s;
694
+ return u.match(/\d\d\d\d-\d\d-\d\d/) || (console.info("Неверный формат даты, будет возращена текущая дата, " + u), u = zt((/* @__PURE__ */ new Date()).getTime(), !1).substring(0, 10)), u;
695
+ }
696
+ const At = { class: "top-avatar" }, Tt = ["src", "title"], Et = ["title"], Lt = /* @__PURE__ */ k({
697
+ __name: "avatar",
698
+ props: {
699
+ size: { default: 64 },
700
+ image: {},
701
+ nickname: {},
702
+ isOnline: { type: Boolean },
703
+ lastActiveTime: {},
704
+ i18n: { default: () => ({
705
+ Online: "Online",
706
+ LastSeen: "Last seen"
707
+ }) }
708
+ },
709
+ setup(e) {
710
+ ge((n) => ({
711
+ "32edb3ef": n.size + "px"
712
+ }));
713
+ const t = e, o = b(() => {
714
+ var n, s;
715
+ if (t.isOnline)
716
+ return (n = t.i18n) == null ? void 0 : n.Online;
717
+ if (t.lastActiveTime)
718
+ return ((s = t.i18n) == null ? void 0 : s.LastSeen) + ": " + F(t.lastActiveTime, 2);
719
+ }), a = b(() => t.nickname ? t.nickname + (o.value ? `
720
+ ${o.value}` : "") : o.value);
721
+ return (n, s) => (m(), h("div", At, [
722
+ C("img", {
723
+ class: "top-avatar_image",
724
+ src: n.image,
725
+ title: a.value,
726
+ alt: ""
727
+ }, null, 8, Tt),
728
+ n.isOnline ? (m(), h("div", {
729
+ key: 0,
730
+ class: "top-avatar_status",
731
+ title: o.value
732
+ }, null, 8, Et)) : w("", !0)
733
+ ]));
734
+ }
735
+ }), Vt = {
736
+ "top-avatar": "top-avatar",
737
+ "top-avatar_image": "top-avatar_image",
738
+ "top-avatar_status": "top-avatar_status"
739
+ }, v = (e, t) => {
740
+ const o = e.__vccOpts || e;
741
+ for (const [a, n] of t)
742
+ o[a] = n;
743
+ return o;
744
+ }, Wt = {
745
+ $style: Vt
746
+ }, Sa = /* @__PURE__ */ v(Lt, [["__cssModules", Wt]]), Bt = {
747
+ key: 0,
748
+ class: "top-ellipsis"
749
+ }, Ft = /* @__PURE__ */ k({
750
+ __name: "button",
751
+ props: {
752
+ color: { default: "blue" },
753
+ styling: { default: "" },
754
+ size: { default: "s" },
755
+ name: {},
756
+ title: {},
757
+ icon: {},
758
+ icon2: {},
759
+ href: {},
760
+ disabled: { type: Boolean },
761
+ isSubmit: { type: Boolean },
762
+ isActive: { type: Boolean },
763
+ isProgress: { type: Boolean }
764
+ },
765
+ setup(e) {
766
+ const t = e, o = b(() => t.href ? "a" : "button"), a = b(() => t.isSubmit ? "submit" : void 0);
767
+ return (n, s) => (m(), T(We(o.value), {
768
+ class: y({
769
+ "top-active": n.isActive,
770
+ "top-disabled": n.disabled,
771
+ "top-forms-focusable": !n.disabled,
772
+ "top-button": !0,
773
+ "top-button-progress": n.isProgress,
774
+ [`top-size_${n.size}`]: !!n.size,
775
+ [`top-color_${n.color}`]: !0,
776
+ [`top-style_${n.styling}`]: !!n.styling,
777
+ "top-button-withoutText": !n.$slots.default
778
+ }),
779
+ name: n.name,
780
+ title: n.title,
781
+ href: n.href,
782
+ type: a.value,
783
+ "data-top-icon": n.icon || void 0,
784
+ "data-top-icon2": n.icon2 || void 0,
785
+ disabled: n.disabled || void 0,
786
+ inProgress: n.isProgress
787
+ }, {
788
+ default: I(() => [
789
+ n.$slots.default ? (m(), h("span", Bt, [
790
+ z(n.$slots, "default", {}, () => [
791
+ Be(L(n.icon ? "" : "Button"), 1)
792
+ ])
793
+ ])) : w("", !0),
794
+ z(n.$slots, "html")
795
+ ]),
796
+ _: 3
797
+ }, 8, ["class", "name", "title", "href", "type", "data-top-icon", "data-top-icon2", "disabled", "inProgress"]));
798
+ }
799
+ }), Dt = "_progress_1hqxk_1", Rt = {
800
+ "top-button": "top-button",
801
+ "top-active": "top-active",
802
+ "top-button-progress": "top-button-progress",
803
+ progress: Dt,
804
+ "top-button-withoutText": "top-button-withoutText",
805
+ "top-color_blue": "top-color_blue",
806
+ "top-color_green": "top-color_green",
807
+ "top-color_orange": "top-color_orange",
808
+ "top-color_red": "top-color_red",
809
+ "top-color_pink": "top-color_pink",
810
+ "top-color_theme": "top-color_theme",
811
+ "top-style_outline": "top-style_outline",
812
+ "top-style_soft": "top-style_soft",
813
+ "top-style_transparent": "top-style_transparent",
814
+ "top-size_l": "top-size_l",
815
+ "top-size_xl": "top-size_xl"
816
+ }, Nt = {
817
+ $style: Rt
818
+ }, _a = /* @__PURE__ */ v(Ft, [["__cssModules", Nt]]), It = { class: "top-forms-optionLabel" }, Ot = /* @__PURE__ */ k({
819
+ __name: "controlLabel",
820
+ props: {
821
+ description: {},
822
+ disabled: { type: Boolean }
823
+ },
824
+ setup(e) {
825
+ return (t, o) => (m(), h("div", It, [
826
+ C("div", {
827
+ class: y({
828
+ "top-forms-optionLabel_title": !0,
829
+ "top-forms-optionLabel_title-disabled": t.disabled
830
+ })
831
+ }, [
832
+ z(t.$slots, "default")
833
+ ], 2),
834
+ t.description ? (m(), h("div", {
835
+ key: 0,
836
+ class: y(["top-forms-optionLabel_description", { "top-forms-optionLabel_description-disabled": t.disabled }])
837
+ }, L(t.description), 3)) : w("", !0)
838
+ ]));
839
+ }
840
+ }), Pt = {
841
+ "top-forms-optionLabel": "top-forms-optionLabel",
842
+ "top-forms-optionLabel_title": "top-forms-optionLabel_title",
843
+ "top-forms-optionLabel_title-disabled": "top-forms-optionLabel_title-disabled",
844
+ "top-forms-optionLabel_description": "top-forms-optionLabel_description",
845
+ "top-forms-optionLabel_description-disabled": "top-forms-optionLabel_description-disabled"
846
+ }, Ht = {
847
+ $style: Pt
848
+ }, ee = /* @__PURE__ */ v(Ot, [["__cssModules", Ht]]), Ut = ["name", "value", "indeterminate", "disabled"], jt = /* @__PURE__ */ k({
849
+ __name: "checkbox",
850
+ props: /* @__PURE__ */ G({
851
+ modelValue: { type: [Boolean, Array, Set] },
852
+ name: {},
853
+ value: {},
854
+ description: {},
855
+ disabled: { type: Boolean },
856
+ indeterminate: { type: Boolean },
857
+ isError: { type: Boolean }
858
+ }, {
859
+ modelValue: { type: [Boolean, Array, Set] },
860
+ modelModifiers: {}
861
+ }),
862
+ emits: ["update:modelValue"],
863
+ setup(e) {
864
+ const t = be(e, "modelValue");
865
+ return (o, a) => (m(), h("label", {
866
+ class: y({
867
+ "top-forms-optionWrapper": !0,
868
+ "top-checkbox": !0,
869
+ ["top-checkbox_" + o.name]: !!o.name,
870
+ "top-disabled": o.disabled,
871
+ "top-error": o.isError && !o.disabled
872
+ })
873
+ }, [
874
+ V(C("input", {
875
+ type: "checkbox",
876
+ class: y({
877
+ "top-forms-focusable": !o.disabled,
878
+ "top-forms-option": !0,
879
+ "top-checkbox_input": !0,
880
+ "top-error": o.isError && !o.disabled
881
+ }),
882
+ name: o.name,
883
+ "onUpdate:modelValue": a[0] || (a[0] = (n) => t.value = n),
884
+ value: o.value,
885
+ indeterminate: o.indeterminate,
886
+ disabled: o.disabled
887
+ }, null, 10, Ut), [
888
+ [we, t.value]
889
+ ]),
890
+ o.$slots.default ? (m(), T(ee, {
891
+ key: 0,
892
+ description: o.description,
893
+ disabled: o.disabled
894
+ }, {
895
+ default: I(() => [
896
+ z(o.$slots, "default")
897
+ ]),
898
+ _: 3
899
+ }, 8, ["description", "disabled"])) : w("", !0)
900
+ ], 2));
901
+ }
902
+ }), qt = {
903
+ "top-checkbox": "top-checkbox",
904
+ "top-checkbox_input": "top-checkbox_input",
905
+ "top-error": "top-error"
906
+ }, xt = {
907
+ $style: qt
908
+ }, Ma = /* @__PURE__ */ v(jt, [["__cssModules", xt]]), Xt = ["title"], Yt = /* @__PURE__ */ k({
909
+ __name: "hint",
910
+ props: {
911
+ hint: {}
912
+ },
913
+ setup(e) {
914
+ return (t, o) => (m(), h("span", {
915
+ class: "top-hint",
916
+ "data-top-icon": "",
917
+ title: t.hint
918
+ }, null, 8, Xt));
919
+ }
920
+ }), Gt = {
921
+ "top-hint": "top-hint"
922
+ }, Kt = {
923
+ $style: Gt
924
+ }, Zt = /* @__PURE__ */ v(Yt, [["__cssModules", Kt]]), Qt = ["modelValue"], Jt = !!document.documentElement.ontouchstart && !!document.createElement("input").showPicker;
925
+ let pe = (e) => {
926
+ };
927
+ const eo = /* @__PURE__ */ k({
928
+ __name: "inputDate",
929
+ props: {
930
+ modelValue: {},
931
+ name: {},
932
+ disabled: { type: Boolean },
933
+ readonly: { type: Boolean },
934
+ modificator: {},
935
+ size: {},
936
+ isError: { type: Boolean },
937
+ isLoading: { type: Boolean },
938
+ icon: {},
939
+ icon2: { default: "" },
940
+ addCleaner: { type: Boolean },
941
+ title: {},
942
+ captionType: {}
943
+ },
944
+ emits: ["update:modelValue"],
945
+ setup(e, { emit: t }) {
946
+ const o = e, a = t;
947
+ Fe(() => {
948
+ s && s.datepicker("destroy");
949
+ });
950
+ const n = De();
951
+ let s;
952
+ const i = b({
953
+ get() {
954
+ return F(o.modelValue, 2, void 0, "0000-00-00");
955
+ },
956
+ set(d) {
957
+ d = ce(d, "0000-00-00"), a("update:modelValue", d);
958
+ }
959
+ });
960
+ let r = (d) => {
961
+ pe(d);
962
+ }, u = (d) => {
963
+ const c = ce(d.target.value), f = F(c);
964
+ if (!f || f === p.L.Not_date || d.target.value !== f) {
965
+ d.target.value = i.value;
966
+ return;
967
+ }
968
+ i.value = d.target.value;
969
+ };
970
+ async function l(d) {
971
+ const c = await import("./datepicker-V4rjmE4P.es.js");
972
+ pe = c.oninput, s = c.connectDatepicker(d.target, {
973
+ onSelect: () => u(d)
974
+ }), s && s.datepicker("show");
975
+ }
976
+ return (d, c) => W(Jt) ? (m(), T(W(ue), U({ key: 0 }, d.$props, {
977
+ modelValue: i.value,
978
+ readonly: "",
979
+ onClick: c[1] || (c[1] = (f) => n.value.showPicker())
980
+ }), {
981
+ default: I(() => [
982
+ C("input", {
983
+ ref_key: "el",
984
+ ref: n,
985
+ type: "date",
986
+ class: "top-input_input-date",
987
+ modelValue: d.modelValue,
988
+ onChange: c[0] || (c[0] = (f) => i.value = f.target.value),
989
+ tabindex: "-1"
990
+ }, null, 40, Qt)
991
+ ]),
992
+ _: 1
993
+ }, 16, ["modelValue"])) : (m(), T(W(ue), U({ key: 1 }, d.$props, {
994
+ modelValue: i.value,
995
+ "onUpdate:modelValue": c[2] || (c[2] = (f) => f === "" ? i.value = "" : ""),
996
+ onInput: W(r),
997
+ onFocusOnce: l,
998
+ onChange: W(u),
999
+ modificator: "datepicker"
1000
+ }), null, 16, ["modelValue", "onInput", "onChange"]));
1001
+ }
1002
+ }), to = {
1003
+ "top-input-datepicker": "top-input-datepicker",
1004
+ "top-input_input-date": "top-input_input-date"
1005
+ }, oo = {
1006
+ $style: to
1007
+ }, Ca = /* @__PURE__ */ v(eo, [["__cssModules", oo]]), ao = { class: "top-inputRange" }, so = /* @__PURE__ */ C("span", { class: "top-inputRange_dash" }, " — ", -1), no = /* @__PURE__ */ k({
1008
+ __name: "inputRange",
1009
+ setup(e) {
1010
+ return (t, o) => (m(), h("div", ao, [
1011
+ z(t.$slots, "from"),
1012
+ so,
1013
+ z(t.$slots, "to")
1014
+ ]));
1015
+ }
1016
+ }), io = {
1017
+ "top-inputRange": "top-inputRange",
1018
+ "top-inputRange_dash": "top-inputRange_dash",
1019
+ "top-input": "top-input"
1020
+ }, ro = {
1021
+ $style: io
1022
+ }, za = /* @__PURE__ */ v(no, [["__cssModules", ro]]), lo = ["name", "value", "disabled"], co = /* @__PURE__ */ k({
1023
+ __name: "radio",
1024
+ props: {
1025
+ modelValue: {},
1026
+ value: {},
1027
+ name: {},
1028
+ description: {},
1029
+ disabled: { type: Boolean },
1030
+ isError: { type: Boolean }
1031
+ },
1032
+ emits: ["update:modelValue"],
1033
+ setup(e, { emit: t }) {
1034
+ const o = e, a = t, n = b({
1035
+ get() {
1036
+ return o.modelValue;
1037
+ },
1038
+ set(s) {
1039
+ a("update:modelValue", s);
1040
+ }
1041
+ });
1042
+ return (s, i) => (m(), h("label", {
1043
+ class: y({
1044
+ "top-forms-optionWrapper": !0,
1045
+ "top-radio": !0,
1046
+ ["top-radio_" + s.name]: s.name !== "",
1047
+ "top-disabled": s.disabled,
1048
+ "top-error": s.isError && !s.disabled
1049
+ })
1050
+ }, [
1051
+ V(C("input", {
1052
+ type: "radio",
1053
+ class: y({
1054
+ "top-forms-focusable": !s.disabled,
1055
+ "top-forms-option": !0,
1056
+ "top-radio_input": !0,
1057
+ "top-error": s.isError && !s.disabled
1058
+ }),
1059
+ "onUpdate:modelValue": i[0] || (i[0] = (r) => n.value = r),
1060
+ name: s.name,
1061
+ value: s.value,
1062
+ disabled: s.disabled
1063
+ }, null, 10, lo), [
1064
+ [Re, n.value]
1065
+ ]),
1066
+ s.$slots.default ? (m(), T(ee, {
1067
+ key: 0,
1068
+ description: s.description,
1069
+ disabled: s.disabled
1070
+ }, {
1071
+ default: I(() => [
1072
+ z(s.$slots, "default")
1073
+ ]),
1074
+ _: 3
1075
+ }, 8, ["description", "disabled"])) : w("", !0)
1076
+ ], 2));
1077
+ }
1078
+ }), po = {
1079
+ "top-radio": "top-radio",
1080
+ "top-radio_input": "top-radio_input",
1081
+ "top-error": "top-error"
1082
+ }, uo = {
1083
+ $style: po
1084
+ }, Aa = /* @__PURE__ */ v(co, [["__cssModules", uo]]), mo = ["name", "value", "disabled"], fo = /* @__PURE__ */ k({
1085
+ __name: "switcher",
1086
+ props: {
1087
+ modelValue: { type: [Boolean, Array, Set] },
1088
+ name: {},
1089
+ value: {},
1090
+ description: {},
1091
+ disabled: { type: Boolean },
1092
+ isError: { type: Boolean }
1093
+ },
1094
+ emits: ["update:modelValue"],
1095
+ setup(e, { emit: t }) {
1096
+ const o = e, a = t, n = b({
1097
+ get() {
1098
+ return o.modelValue;
1099
+ },
1100
+ set(s) {
1101
+ a("update:modelValue", s);
1102
+ }
1103
+ });
1104
+ return (s, i) => (m(), h("label", {
1105
+ class: y({
1106
+ "top-forms-optionWrapper": !0,
1107
+ "top-checkboxSwitcher": !0,
1108
+ "top-disabled": s.disabled,
1109
+ "top-error": s.isError && !s.disabled
1110
+ })
1111
+ }, [
1112
+ V(C("input", {
1113
+ type: "checkbox",
1114
+ class: y({
1115
+ "top-forms-focusable": !s.disabled,
1116
+ "top-forms-option": !0,
1117
+ "top-checkboxSwitcher_input": !0,
1118
+ "top-error": s.isError && !s.disabled
1119
+ }),
1120
+ "onUpdate:modelValue": i[0] || (i[0] = (r) => n.value = r),
1121
+ name: s.name,
1122
+ value: s.value,
1123
+ disabled: s.disabled
1124
+ }, null, 10, mo), [
1125
+ [we, n.value]
1126
+ ]),
1127
+ s.$slots.default ? (m(), T(ee, {
1128
+ key: 0,
1129
+ description: s.description,
1130
+ disabled: s.disabled
1131
+ }, {
1132
+ default: I(() => [
1133
+ z(s.$slots, "default")
1134
+ ]),
1135
+ _: 3
1136
+ }, 8, ["description", "disabled"])) : w("", !0)
1137
+ ], 2));
1138
+ }
1139
+ }), ho = {
1140
+ "top-checkboxSwitcher": "top-checkboxSwitcher",
1141
+ "top-checkboxSwitcher_input": "top-checkboxSwitcher_input",
1142
+ "top-error": "top-error"
1143
+ }, go = {
1144
+ $style: ho
1145
+ }, Ta = /* @__PURE__ */ v(fo, [["__cssModules", go]]), bo = ["name", "placeholder", "disabled", "readonly", "rows"], wo = {
1146
+ key: 0,
1147
+ class: "top-textarea_pseudoContent"
1148
+ }, yo = /* @__PURE__ */ k({
1149
+ inheritAttrs: !1,
1150
+ __name: "textarea",
1151
+ props: {
1152
+ modelValue: {},
1153
+ name: {},
1154
+ placeholder: {},
1155
+ rows: { default: 5 },
1156
+ minHeight: { default: 120 },
1157
+ expandable: { type: Boolean },
1158
+ disabled: { type: Boolean },
1159
+ readonly: { type: Boolean },
1160
+ isError: { type: Boolean },
1161
+ hint: {}
1162
+ },
1163
+ emits: ["update:modelValue"],
1164
+ setup(e, { emit: t }) {
1165
+ ge((s) => ({
1166
+ 32717169: s.minHeight + "px"
1167
+ }));
1168
+ const o = e, a = t, n = b({
1169
+ get() {
1170
+ return o.modelValue;
1171
+ },
1172
+ set(s) {
1173
+ a("update:modelValue", s);
1174
+ }
1175
+ });
1176
+ return (s, i) => {
1177
+ const r = Ne("top-tooltip");
1178
+ return m(), h("label", {
1179
+ class: y({
1180
+ "top-textarea": !0,
1181
+ ["top-textarea-" + s.name]: s.name,
1182
+ "top-disabled": s.disabled
1183
+ })
1184
+ }, [
1185
+ V(C("textarea", U({
1186
+ type: "text",
1187
+ class: {
1188
+ "top-forms-focusable": !s.disabled,
1189
+ "top-textarea_textarea": !0,
1190
+ "top-textarea_textarea-expandable": s.expandable,
1191
+ "top-error": s.isError
1192
+ },
1193
+ autocomplete: "off_always",
1194
+ name: s.name,
1195
+ placeholder: s.placeholder,
1196
+ disabled: s.disabled,
1197
+ readonly: s.readonly,
1198
+ rows: s.expandable ? void 0 : s.rows
1199
+ }, s.$attrs, {
1200
+ "onUpdate:modelValue": i[0] || (i[0] = (u) => n.value = u)
1201
+ }), null, 16, bo), [
1202
+ [ye, n.value]
1203
+ ]),
1204
+ s.expandable ? (m(), h("div", wo, L(n.value + " "), 1)) : w("", !0),
1205
+ s.hint ? V((m(), T(Zt, {
1206
+ key: 1,
1207
+ class: "top-textarea_hint",
1208
+ hint: s.hint
1209
+ }, null, 8, ["hint"])), [
1210
+ [r]
1211
+ ]) : w("", !0)
1212
+ ], 2);
1213
+ };
1214
+ }
1215
+ }), vo = {
1216
+ "top-textarea": "top-textarea",
1217
+ "top-textarea_textarea": "top-textarea_textarea",
1218
+ "top-textarea_textarea-expandable": "top-textarea_textarea-expandable",
1219
+ "top-textarea_pseudoContent": "top-textarea_pseudoContent",
1220
+ "top-textarea_hint": "top-textarea_hint"
1221
+ }, ko = {
1222
+ $style: vo
1223
+ }, Ea = /* @__PURE__ */ v(yo, [["__cssModules", ko]]), $o = ["data-value", "data-top-icon", "data-top-icon2"], So = ["name", "disabled"], _o = ["label", "disabled"], Mo = ["value", "selected", "disabled"], Co = ["value", "selected", "disabled"], zo = {
1224
+ key: 1,
1225
+ class: "top-formsCaption"
1226
+ }, Ao = /* @__PURE__ */ k({
1227
+ __name: "select",
1228
+ props: /* @__PURE__ */ G({
1229
+ modelValue: {},
1230
+ options: {},
1231
+ name: {},
1232
+ disabled: { type: Boolean },
1233
+ icon: {},
1234
+ size: { default: "s" },
1235
+ addChanger: { type: Boolean },
1236
+ title: {},
1237
+ isError: { type: Boolean }
1238
+ }, {
1239
+ modelValue: {
1240
+ required: !0
1241
+ },
1242
+ modelModifiers: {}
1243
+ }),
1244
+ emits: /* @__PURE__ */ G(["update:modelValue"], ["update:modelValue"]),
1245
+ setup(e, { emit: t }) {
1246
+ const o = e, a = be(e, "modelValue"), n = b(() => {
1247
+ const l = /* @__PURE__ */ new Map();
1248
+ return o.options.forEach((d, c) => {
1249
+ if (typeof d == "string" && (d = i(c, d)), d.children) {
1250
+ const f = /* @__PURE__ */ new Map();
1251
+ d.children.forEach((g, S) => {
1252
+ typeof g == "string" && (g = i(S, g)), f.set(g.value, g);
1253
+ }), d = { ...d }, d.children = f, l.set(d.value, d);
1254
+ } else
1255
+ l.set(d.value, d);
1256
+ }), l;
1257
+ }), s = b(() => {
1258
+ const l = /* @__PURE__ */ new Map();
1259
+ return n.value.forEach((d) => {
1260
+ if (!d.disabled) {
1261
+ if (d.children) {
1262
+ d.children.forEach((c) => {
1263
+ c.disabled || l.set(c.value, c);
1264
+ });
1265
+ return;
1266
+ }
1267
+ l.set(d.value, d);
1268
+ }
1269
+ }), l;
1270
+ }), i = (l, d) => ({
1271
+ value: l,
1272
+ title: d
1273
+ });
1274
+ Ie([
1275
+ () => o.modelValue,
1276
+ s
1277
+ ], () => {
1278
+ (a.value === null || a.value === void 0) && s.value.size && (console.warn("Пожалуйста, не передавайте в компонент Select значения null и undefined"), a.value = s.value.keys().next().value);
1279
+ }, { immediate: !0 });
1280
+ const r = b(() => {
1281
+ var l;
1282
+ return (l = s.value.get(a.value)) == null ? void 0 : l.icon;
1283
+ }), u = () => {
1284
+ const l = [...s.value.keys()], c = (l.indexOf(a.value) + 1) % l.length;
1285
+ a.value = l[c];
1286
+ };
1287
+ return (l, d) => (m(), h("label", {
1288
+ class: y({
1289
+ "top-select": !0,
1290
+ ["top-select-" + l.name]: l.name,
1291
+ ["top-size_" + l.size]: !0,
1292
+ "top-formsCaptionWrapper": !!l.title,
1293
+ "top-select-error": l.isError,
1294
+ "top-disabled": l.disabled
1295
+ }),
1296
+ "data-value": a.value,
1297
+ "data-top-icon": l.icon,
1298
+ "data-top-icon2": r.value
1299
+ }, [
1300
+ V(C("select", {
1301
+ class: y({
1302
+ "top-forms-focusable": !l.disabled,
1303
+ "top-select_select": !0,
1304
+ "top-select_arrow": !0,
1305
+ "top-error": l.isError
1306
+ }),
1307
+ name: l.name,
1308
+ disabled: l.disabled,
1309
+ "onUpdate:modelValue": d[0] || (d[0] = (c) => a.value = c)
1310
+ }, [
1311
+ (m(!0), h(q, null, ae(n.value, ([c, f]) => (m(), h(q, null, [
1312
+ f.children ? (m(), h("optgroup", {
1313
+ key: "group_" + c,
1314
+ label: f.title,
1315
+ disabled: f.disabled
1316
+ }, [
1317
+ (m(!0), h(q, null, ae(f.children, ([g, S]) => (m(), h("option", {
1318
+ key: g,
1319
+ value: g,
1320
+ selected: g === a.value,
1321
+ disabled: S.disabled
1322
+ }, L(S.title), 9, Mo))), 128))
1323
+ ], 8, _o)) : (m(), h("option", {
1324
+ key: c ?? void 0,
1325
+ value: c,
1326
+ selected: c === a.value,
1327
+ disabled: f.disabled
1328
+ }, L(f.title), 9, Co))
1329
+ ], 64))), 256))
1330
+ ], 10, So), [
1331
+ [Oe, a.value]
1332
+ ]),
1333
+ l.addChanger && s.value.size && !l.disabled ? (m(), h("span", {
1334
+ key: 0,
1335
+ class: "top-changer",
1336
+ onClick: u
1337
+ })) : w("", !0),
1338
+ l.title ? (m(), h("span", zo, L(l.title), 1)) : w("", !0)
1339
+ ], 10, $o));
1340
+ }
1341
+ }), To = {
1342
+ "top-select": "top-select",
1343
+ "top-select-error": "top-select-error",
1344
+ "top-select_select": "top-select_select",
1345
+ "top-changer": "top-changer"
1346
+ }, Eo = {
1347
+ $style: To
1348
+ }, La = /* @__PURE__ */ v(Ao, [["__cssModules", Eo]]), Lo = {
1349
+ "top-loadbar": "top-loadbar"
1350
+ }, Vo = {}, Wo = { class: "top-loadbar" };
1351
+ function Bo(e, t) {
1352
+ return m(), h("div", Wo);
1353
+ }
1354
+ const Fo = {
1355
+ $style: Lo
1356
+ }, Do = /* @__PURE__ */ v(Vo, [["render", Bo], ["__cssModules", Fo]]), Ro = ["data-top-icon", "data-top-icon2"], No = ["name", "title", "placeholder", "disabled", "readonly"], Io = {
1357
+ key: 2,
1358
+ class: "top-formsCaption"
1359
+ }, Oo = /* @__PURE__ */ k({
1360
+ inheritAttrs: !1,
1361
+ __name: "input",
1362
+ props: {
1363
+ modelValue: {},
1364
+ name: {},
1365
+ disabled: { type: Boolean },
1366
+ readonly: { type: Boolean },
1367
+ modificator: {},
1368
+ size: { default: "s" },
1369
+ isError: { type: Boolean },
1370
+ isLoading: { type: Boolean },
1371
+ icon: {},
1372
+ icon2: {},
1373
+ addCleaner: { type: Boolean },
1374
+ title: {},
1375
+ captionType: { default: "" }
1376
+ },
1377
+ emits: ["update:modelValue"],
1378
+ setup(e, { emit: t }) {
1379
+ const o = e, a = t, n = b({
1380
+ get() {
1381
+ return o.modelValue;
1382
+ },
1383
+ set(r) {
1384
+ a("update:modelValue", r);
1385
+ }
1386
+ }), s = b(() => o.addCleaner && !o.title || o.captionType !== "" ? "" : o.title), i = (r) => {
1387
+ o.modelValue && r.stopPropagation(), a("update:modelValue", "");
1388
+ };
1389
+ return (r, u) => (m(), h("label", {
1390
+ class: y({
1391
+ "top-input": !0,
1392
+ ["top-size_" + r.size]: !0,
1393
+ "top-disabled": r.disabled,
1394
+ ["top-input-" + r.modificator]: !!r.modificator,
1395
+ "top-input-withCleaner": r.addCleaner && n.value && n.value !== "0000-00-00",
1396
+ "top-formsCaptionWrapper": r.captionType !== "",
1397
+ "top-formsCaptionWrapper-always": r.captionType === "top"
1398
+ }),
1399
+ "data-top-icon": r.icon,
1400
+ "data-top-icon2": r.icon2
1401
+ }, [
1402
+ r.isLoading ? (m(), T(W(Do), { key: 0 })) : w("", !0),
1403
+ V(C("input", U({
1404
+ type: "text",
1405
+ class: {
1406
+ "top-input_input": !0,
1407
+ ["top-input_input-" + r.modificator]: !!r.modificator,
1408
+ "top-forms-focusable": !r.disabled,
1409
+ "top-error": r.isError
1410
+ },
1411
+ autocomplete: "off_always",
1412
+ name: r.name,
1413
+ "onUpdate:modelValue": u[0] || (u[0] = (l) => n.value = l),
1414
+ title: r.title,
1415
+ placeholder: s.value,
1416
+ disabled: r.disabled,
1417
+ readonly: r.readonly,
1418
+ onKeydown: u[1] || (u[1] = Pe((l) => (r.addCleaner || !!r.$slots.btn) && i(l), ["esc"]))
1419
+ }, r.$attrs), null, 16, No), [
1420
+ [ye, n.value]
1421
+ ]),
1422
+ r.addCleaner && n.value && n.value !== "0000-00-00" ? (m(), h("span", {
1423
+ key: 1,
1424
+ class: "top-input_cleaner",
1425
+ "data-top-icon": "",
1426
+ onClick: He(i, ["prevent"])
1427
+ })) : w("", !0),
1428
+ r.captionType !== "" ? (m(), h("span", Io, L(r.title), 1)) : w("", !0),
1429
+ z(r.$slots, "default")
1430
+ ], 10, Ro));
1431
+ }
1432
+ }), Po = {
1433
+ "top-input": "top-input",
1434
+ "top-input_input": "top-input_input",
1435
+ "top-input-withCleaner": "top-input-withCleaner",
1436
+ "top-input_cleaner": "top-input_cleaner",
1437
+ "top-loadbar": "top-loadbar"
1438
+ }, Ho = {
1439
+ $style: Po
1440
+ }, ue = /* @__PURE__ */ v(Oo, [["__cssModules", Ho]]);
1441
+ export {
1442
+ $a as $,
1443
+ aa as A,
1444
+ _a as B,
1445
+ p as C,
1446
+ sa as D,
1447
+ Qe as E,
1448
+ na as F,
1449
+ ia as G,
1450
+ ra as H,
1451
+ ue as I,
1452
+ la as J,
1453
+ da as K,
1454
+ Do as L,
1455
+ ca as M,
1456
+ pa as N,
1457
+ ua as O,
1458
+ ma as P,
1459
+ fa as Q,
1460
+ ha as R,
1461
+ ga as S,
1462
+ Ea as T,
1463
+ ba as U,
1464
+ wa as V,
1465
+ ya as W,
1466
+ va as X,
1467
+ ka as Y,
1468
+ zt as Z,
1469
+ le as _,
1470
+ v as a,
1471
+ ce as a0,
1472
+ Sa as a1,
1473
+ Ma as a2,
1474
+ ee as a3,
1475
+ Zt as a4,
1476
+ Ca as a5,
1477
+ za as a6,
1478
+ Aa as a7,
1479
+ Ta as a8,
1480
+ La as a9,
1481
+ Ue as b,
1482
+ je as c,
1483
+ F as d,
1484
+ qe as e,
1485
+ xe as f,
1486
+ xo as g,
1487
+ Xo as h,
1488
+ qo as i,
1489
+ Yo as j,
1490
+ Go as k,
1491
+ Xe as l,
1492
+ Ko as m,
1493
+ yt as n,
1494
+ J as o,
1495
+ j as p,
1496
+ Zo as q,
1497
+ vt as r,
1498
+ Qo as s,
1499
+ Ae as t,
1500
+ Jo as u,
1501
+ Te as v,
1502
+ ea as w,
1503
+ ta as x,
1504
+ Ct as y,
1505
+ oa as z
1506
+ };
1507
+ //# sourceMappingURL=forms-o7UeMJFf.es.js.map