@topvisor/ui 0.9.37 → 1.0.0-rc-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/.chunks/datepicker-C-d1Do_N.amd.js +248 -0
  2. package/.chunks/datepicker-C-d1Do_N.amd.js.map +1 -0
  3. package/.chunks/datepicker-DTNYG8Iy.es.js +290 -0
  4. package/.chunks/datepicker-DTNYG8Iy.es.js.map +1 -0
  5. package/.chunks/debounce-4ipCj607.amd.js +2 -0
  6. package/.chunks/debounce-4ipCj607.amd.js.map +1 -0
  7. package/.chunks/debounce-BISRz08p.es.js +116 -0
  8. package/.chunks/debounce-BISRz08p.es.js.map +1 -0
  9. package/.chunks/forms--Ye61xQ5.amd.js +3 -0
  10. package/.chunks/forms--Ye61xQ5.amd.js.map +1 -0
  11. package/.chunks/{forms-BZoPbSQt.es.js → forms-NfVxcPud.es.js} +241 -227
  12. package/.chunks/forms-NfVxcPud.es.js.map +1 -0
  13. package/.chunks/i18n-C_OH9IT3.amd.js +2 -0
  14. package/.chunks/i18n-C_OH9IT3.amd.js.map +1 -0
  15. package/.chunks/i18n-DuTvft1T.es.js +26 -0
  16. package/.chunks/i18n-DuTvft1T.es.js.map +1 -0
  17. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BToGplRR.es.js +174 -0
  18. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BToGplRR.es.js.map +1 -0
  19. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BsrusTUW.amd.js +2 -0
  20. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BsrusTUW.amd.js.map +1 -0
  21. package/.chunks/{menu-DDYYS64d.es.js → menu-ChmT8cWp.es.js} +30 -32
  22. package/.chunks/menu-ChmT8cWp.es.js.map +1 -0
  23. package/.chunks/menu-Gnm18ZCc.amd.js +2 -0
  24. package/.chunks/menu-Gnm18ZCc.amd.js.map +1 -0
  25. package/.chunks/{popup-BFJ2eTTB.amd.js → popup-Dwf3PJQf.amd.js} +447 -441
  26. package/.chunks/popup-Dwf3PJQf.amd.js.map +1 -0
  27. package/.chunks/{popup-Bc6YggdE.es.js → popup-_a1ivPRI.es.js} +491 -485
  28. package/.chunks/popup-_a1ivPRI.es.js.map +1 -0
  29. package/.chunks/store-CX_6ZXhO.es.js.map +1 -1
  30. package/.chunks/store-esTid5oI.amd.js.map +1 -1
  31. package/README.md +86 -86
  32. package/assets/core.css +1 -1
  33. package/assets/forms.css +1 -1
  34. package/assets/listItem.css +1 -1
  35. package/assets/menu.css +1 -1
  36. package/common/common.d.ts +1 -1
  37. package/components/forms/avatar/avatar.vue.d.ts +12 -12
  38. package/components/forms/button/button.d.ts +14 -2
  39. package/components/forms/button/button.vue.d.ts +11 -12
  40. package/components/forms/checkbox/checkbox.vue.d.ts +19 -43
  41. package/components/forms/controlLabel/controlLabel.vue.d.ts +7 -8
  42. package/components/forms/forms.d.ts +0 -1
  43. package/components/forms/hint/hint.vue.d.ts +2 -3
  44. package/components/forms/input/input.d.ts +0 -1
  45. package/components/forms/input/input.vue.d.ts +11 -12
  46. package/components/forms/inputDate/inputDate.d.ts +0 -1
  47. package/components/forms/inputDate/inputDate.vue.d.ts +11 -12
  48. package/components/forms/radio/radio.vue.d.ts +8 -9
  49. package/components/forms/select/select.d.ts +0 -1
  50. package/components/forms/select/select.vue.d.ts +31 -69
  51. package/components/forms/select/stories/exampleOptions.d.ts +0 -1
  52. package/components/forms/switcher/switcher.vue.d.ts +8 -9
  53. package/components/forms/textarea/textarea.vue.d.ts +11 -12
  54. package/components/formsExt/editArea/editArea.d.ts +0 -1
  55. package/components/formsExt/editArea/editArea.vue.d.ts +13 -14
  56. package/components/formsExt/editInput/editInput.d.ts +0 -1
  57. package/components/formsExt/editInput/editInput.vue.d.ts +3 -4
  58. package/components/formsExt/formsExt.d.ts +0 -1
  59. package/components/formsExt/menu/menu.d.ts +0 -1
  60. package/components/formsExt/menu/menu.vue.d.ts +32 -48
  61. package/components/formsExt/menu/stories/items.d.ts +0 -1
  62. package/components/formsExt/radioGroup/radioGroup.d.ts +0 -1
  63. package/components/formsExt/radioGroup/radioGroup.vue.d.ts +31 -42
  64. package/components/formsExt/selector2/api.d.ts +0 -1
  65. package/components/formsExt/selector2/itemMulti.vue.d.ts +3 -4
  66. package/components/formsExt/selector2/selector2.d.ts +0 -1
  67. package/components/formsExt/selector2/selector2.vue.d.ts +37 -117
  68. package/components/popup/alert/alert.d.ts +8 -0
  69. package/components/popup/alert/alert.vue.d.ts +33 -0
  70. package/components/popup/confirm/confirm.d.ts +21 -0
  71. package/components/popup/confirm/confirm.vue.d.ts +35 -0
  72. package/components/popup/lib/popup.d.ts +0 -1
  73. package/components/popup/lib/worker.d.ts +4 -5
  74. package/components/popup/popup/listItem.vue.d.ts +11 -12
  75. package/components/popup/popup/opener.vue.d.ts +13 -14
  76. package/components/popup/popup/popup.d.ts +8 -2
  77. package/components/popup/popup/popup.vue.d.ts +13 -14
  78. package/components/popup/popup/widgetInput.vue.d.ts +32 -82
  79. package/components/popup/popup.d.ts +6 -1
  80. package/components/popup/prompt/prompt.d.ts +21 -0
  81. package/components/popup/prompt/prompt.vue.d.ts +35 -0
  82. package/components/project/project.d.ts +0 -1
  83. package/components/project/selectorCompetitors/composables.d.ts +0 -1
  84. package/components/project/selectorCompetitors/selectorCompetitors.d.ts +0 -1
  85. package/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +32 -24
  86. package/components/tabs/tabs/content.vue.d.ts +7 -8
  87. package/components/tabs/tabs/tab.vue.d.ts +7 -8
  88. package/components/tabs/tabs/tabs.vue.d.ts +7 -8
  89. package/components/tabs/tabs.d.ts +0 -1
  90. package/components/tabsView/tabsView/menu.vue.d.ts +22 -14
  91. package/components/tabsView/tabsView/menuItem.vue.d.ts +12 -12
  92. package/components/tabsView/tabsView/menuTitle.vue.d.ts +8 -8
  93. package/components/tabsView/tabsView/store.d.ts +1 -2
  94. package/components/tabsView/tabsView/tabsView.d.ts +0 -1
  95. package/components/tabsView/tabsView/tabsView.vue.d.ts +34 -34
  96. package/components/tabsView/tabsView.d.ts +0 -1
  97. package/core/app.amd.js +1 -1
  98. package/core/app.amd.js.map +1 -1
  99. package/core/app.d.ts +0 -1
  100. package/core/app.js +23 -21
  101. package/core/app.js.map +1 -1
  102. package/core/core/core.d.ts +14 -0
  103. package/core/core.amd.js +1 -1
  104. package/core/core.d.ts +2 -1
  105. package/core/core.js +1 -1
  106. package/core/directives/focus.d.ts +0 -1
  107. package/core/directives/sticky.d.ts +0 -1
  108. package/core/directives/swimUp.d.ts +0 -1
  109. package/core/directives/tooltip.d.ts +0 -1
  110. package/core/plugins/core.d.ts +0 -1
  111. package/core/plugins/i18n.d.ts +0 -1
  112. package/core/plugins/piniaTPA.d.ts +0 -1
  113. package/core/utils/lodash.d.ts +6 -0
  114. package/core/utils/price.d.ts +0 -1
  115. package/core/utils/store/localStorage.d.ts +0 -1
  116. package/core/utils/store/plugin.d.ts +0 -1
  117. package/core/utils/store/store.d.ts +0 -1
  118. package/forms/forms.amd.js +1 -1
  119. package/forms/forms.d.ts +1 -0
  120. package/forms/forms.js +1 -1
  121. package/forms/helpers.amd.js.map +1 -1
  122. package/forms/helpers.d.ts +1 -0
  123. package/forms/helpers.js.map +1 -1
  124. package/formsExt/formsExt.amd.js +1 -1
  125. package/formsExt/formsExt.amd.js.map +1 -1
  126. package/formsExt/formsExt.d.ts +1 -0
  127. package/formsExt/formsExt.js +3 -3
  128. package/formsExt/formsExt.js.map +1 -1
  129. package/icomoon/Read Me.txt +7 -7
  130. package/icomoon/demo-files/demo.css +161 -161
  131. package/icomoon/demo-files/demo.js +30 -30
  132. package/icomoon/demo.html +3379 -3379
  133. package/icomoon/fonts/Topvisor-2.svg +263 -263
  134. package/icomoon/style.css +740 -740
  135. package/package.json +36 -37
  136. package/popup/popup.amd.js +1 -1
  137. package/popup/popup.amd.js.map +1 -1
  138. package/popup/popup.d.ts +1 -0
  139. package/popup/popup.js +219 -21
  140. package/popup/popup.js.map +1 -1
  141. package/popup/worker.amd.js +1 -1
  142. package/popup/worker.amd.js.map +1 -1
  143. package/popup/worker.d.ts +3 -0
  144. package/popup/worker.js +2 -2
  145. package/popup/worker.js.map +1 -1
  146. package/project/project.amd.js +1 -1
  147. package/project/project.amd.js.map +1 -1
  148. package/project/project.d.ts +1 -0
  149. package/project/project.js +20 -20
  150. package/project/project.js.map +1 -1
  151. package/require/css.amd.js +12 -12
  152. package/tabs/tabs.amd.js +1 -1
  153. package/tabs/tabs.amd.js.map +1 -1
  154. package/tabs/tabs.d.ts +1 -0
  155. package/tabs/tabs.js +1 -1
  156. package/tabs/tabs.js.map +1 -1
  157. package/tabsView/tabsView.amd.js +1 -1
  158. package/tabsView/tabsView.amd.js.map +1 -1
  159. package/tabsView/tabsView.d.ts +1 -0
  160. package/tabsView/tabsView.js +1 -1
  161. package/tabsView/tabsView.js.map +1 -1
  162. package/utils/check.amd.js.map +1 -1
  163. package/utils/check.d.ts +1 -0
  164. package/utils/check.js.map +1 -1
  165. package/utils/clipboard.amd.js.map +1 -1
  166. package/utils/clipboard.d.ts +1 -0
  167. package/utils/clipboard.js.map +1 -1
  168. package/utils/date.amd.js +1 -1
  169. package/utils/date.d.ts +1 -0
  170. package/utils/date.js +2 -2
  171. package/utils/device.amd.js +1 -1
  172. package/utils/device.d.ts +1 -0
  173. package/utils/device.js +1 -1
  174. package/utils/dom.amd.js.map +1 -1
  175. package/utils/dom.d.ts +3 -0
  176. package/utils/dom.js.map +1 -1
  177. package/utils/image.amd.js.map +1 -1
  178. package/utils/image.d.ts +1 -0
  179. package/utils/image.js.map +1 -1
  180. package/utils/keyboard.amd.js.map +1 -1
  181. package/utils/keyboard.d.ts +1 -0
  182. package/utils/keyboard.js.map +1 -1
  183. package/utils/lodash.amd.js +2 -0
  184. package/utils/lodash.amd.js.map +1 -0
  185. package/utils/lodash.d.ts +2 -0
  186. package/utils/lodash.js +706 -0
  187. package/utils/lodash.js.map +1 -0
  188. package/utils/number.amd.js.map +1 -1
  189. package/utils/number.d.ts +1 -0
  190. package/utils/number.js.map +1 -1
  191. package/utils/price.amd.js +1 -1
  192. package/utils/price.amd.js.map +1 -1
  193. package/utils/price.d.ts +1 -0
  194. package/utils/price.js +2 -2
  195. package/utils/price.js.map +1 -1
  196. package/utils/route.amd.js.map +1 -1
  197. package/utils/route.d.ts +1 -0
  198. package/utils/route.js.map +1 -1
  199. package/utils/scroll.amd.js.map +1 -1
  200. package/utils/scroll.d.ts +1 -0
  201. package/utils/scroll.js.map +1 -1
  202. package/utils/store.d.ts +1 -0
  203. package/utils/string.amd.js +1 -1
  204. package/utils/string.amd.js.map +1 -1
  205. package/utils/string.d.ts +1 -0
  206. package/utils/string.js +1 -1
  207. package/utils/string.js.map +1 -1
  208. package/utils/system.amd.js.map +1 -1
  209. package/utils/system.d.ts +1 -0
  210. package/utils/system.js.map +1 -1
  211. package/utils/url.amd.js.map +1 -1
  212. package/utils/url.d.ts +1 -0
  213. package/utils/url.js.map +1 -1
  214. package/web-types.json +72 -72
  215. package/.chunks/datepicker-CcRVcC5P.es.js +0 -290
  216. package/.chunks/datepicker-CcRVcC5P.es.js.map +0 -1
  217. package/.chunks/datepicker-D_95vv2c.amd.js +0 -248
  218. package/.chunks/datepicker-D_95vv2c.amd.js.map +0 -1
  219. package/.chunks/forms-BZoPbSQt.es.js.map +0 -1
  220. package/.chunks/forms-KR6uVX5Z.amd.js +0 -3
  221. package/.chunks/forms-KR6uVX5Z.amd.js.map +0 -1
  222. package/.chunks/i18n-eDh3Aaw9.amd.js +0 -2
  223. package/.chunks/i18n-eDh3Aaw9.amd.js.map +0 -1
  224. package/.chunks/i18n-qpB8zyhD.es.js +0 -20
  225. package/.chunks/i18n-qpB8zyhD.es.js.map +0 -1
  226. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-4m2ZOlaP.amd.js +0 -2
  227. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-4m2ZOlaP.amd.js.map +0 -1
  228. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-C2uuAtpx.es.js +0 -161
  229. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-C2uuAtpx.es.js.map +0 -1
  230. package/.chunks/menu-CNIQ9vFJ.amd.js +0 -2
  231. package/.chunks/menu-CNIQ9vFJ.amd.js.map +0 -1
  232. package/.chunks/menu-DDYYS64d.es.js.map +0 -1
  233. package/.chunks/popup-BFJ2eTTB.amd.js.map +0 -1
  234. package/.chunks/popup-Bc6YggdE.es.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { C as f } from "./forms-BZoPbSQt.es.js";
2
- import r from "../utils/dom.js";
1
+ import { C as f } from "./forms-NfVxcPud.es.js";
2
+ import n from "../utils/dom.js";
3
3
  import { TopPopupWorker as s } from "../popup/worker.js";
4
- import { a as P } from "./i18n-qpB8zyhD.es.js";
4
+ import { a as P } from "./i18n-DuTvft1T.es.js";
5
5
  class v {
6
6
  static componentName = "Top";
7
7
  componentName;
@@ -29,11 +29,11 @@ class v {
29
29
  }
30
30
  // получить инициированный компонент
31
31
  static getComponent(t, p) {
32
- return r.storage(t, "#" + p);
32
+ return n.storage(t, "#" + p);
33
33
  }
34
34
  // устанвоить компонент
35
35
  _setComponent(t) {
36
- r.storage(t, "#" + this.componentName, this);
36
+ n.storage(t, "#" + this.componentName, this);
37
37
  }
38
38
  // функция подключения компонента
39
39
  mount() {
@@ -41,7 +41,7 @@ class v {
41
41
  }
42
42
  // функция отключения компонента
43
43
  unmount() {
44
- r.storage(this.el, "#" + this.componentName, null), this.unmountEls.forEach((t) => {
44
+ n.storage(this.el, "#" + this.componentName, null), this.unmountEls.forEach((t) => {
45
45
  t.remove();
46
46
  }), this.unmountEls = [], this.unmountEvents.forEach((t) => {
47
47
  t.el.removeEventListener(t.type, t.listener, t.options);
@@ -57,13 +57,13 @@ class v {
57
57
  }
58
58
  // указание новые события, которые должны будут удалиться после unmount
59
59
  registerEventForUnmount(t, p, o, e) {
60
- const i = {
60
+ const r = {
61
61
  el: t,
62
62
  type: p,
63
63
  listener: o,
64
64
  options: e
65
65
  };
66
- this.unmountEvents.push(i);
66
+ this.unmountEvents.push(r);
67
67
  }
68
68
  // функция перенастройки уже подключенного компонента
69
69
  reInit(t) {
@@ -100,8 +100,8 @@ class w {
100
100
  if (!e || p.matches(".top-popup-noCloser"))
101
101
  return;
102
102
  if (p.getAttribute("href") === "." && t.preventDefault(), t.target.matches("[data-top-popup]")) {
103
- const i = t.target.closest("ul"), n = t.target.closest("a, .a");
104
- i && ((o = i.querySelector("a.top-active, .a.top-active")) == null || o.classList.remove("top-active")), n && n.classList.add("top-active");
103
+ const r = t.target.closest("ul"), i = t.target.closest("a, .a");
104
+ r && ((o = r.querySelector("a.top-active, .a.top-active")) == null || o.classList.remove("top-active")), i && i.classList.add("top-active");
105
105
  return;
106
106
  }
107
107
  s.close(e);
@@ -115,7 +115,7 @@ class w {
115
115
  * Глобальный обработчик нажатия кнопки на клавиатуре
116
116
  */
117
117
  static onkeydown(t) {
118
- var e, i;
118
+ var e, r;
119
119
  if (!(t.target instanceof HTMLElement)) return;
120
120
  const p = t.target.closest(".top-popup-wrapper");
121
121
  if (!p)
@@ -127,19 +127,19 @@ class w {
127
127
  break;
128
128
  case "Enter":
129
129
  if (!o) {
130
- if (r.querySelectorVisible(p, ".preloader"))
130
+ if (n.querySelectorVisible(p, ".preloader"))
131
131
  break;
132
- const c = r.querySelectorVisible(p, ".top-popup_footer .go, .top-popup_footer [data-action]");
132
+ const c = n.querySelectorVisible(p, ".top-popup_footer .go, .top-popup_footer [data-action]");
133
133
  if (c instanceof HTMLElement) {
134
134
  c.click();
135
135
  break;
136
136
  }
137
- const m = r.querySelectorVisibleLast(p, ".top-popup_footer .top-button");
137
+ const m = n.querySelectorVisibleLast(p, ".top-popup_footer .top-button");
138
138
  m instanceof HTMLElement && m.click();
139
139
  break;
140
140
  }
141
- const n = r.querySelectorVisible(p, "li > a.top-active");
142
- n && n.getAttribute("href") && (t.preventDefault(), location.href = n.getAttribute("href"));
141
+ const i = n.querySelectorVisible(p, "li > a.top-active");
142
+ i && i.getAttribute("href") && (t.preventDefault(), location.href = i.getAttribute("href"));
143
143
  const u = p.querySelector("li > .top-active");
144
144
  u instanceof HTMLElement && u.click();
145
145
  break;
@@ -149,7 +149,7 @@ class w {
149
149
  case "ArrowLeft":
150
150
  if (!o)
151
151
  break;
152
- t.key === "ArrowRight" || t.key === "ArrowLeft" ? r.querySelectorVisible(
152
+ t.key === "ArrowRight" || t.key === "ArrowLeft" ? n.querySelectorVisible(
153
153
  p,
154
154
  "ul.top-popup_content > li:not(.top-popup_liNoSelectable) > .top-active > .top-popup_listMore"
155
155
  ) && t.preventDefault() : t.preventDefault();
@@ -159,7 +159,7 @@ class w {
159
159
  if (c instanceof HTMLElement)
160
160
  return c.click();
161
161
  }
162
- const d = r.querySelectorAllVisible(p, "ul.top-popup_content > li:not(.top-popup_liNoSelectable)"), h = d.length;
162
+ const d = n.querySelectorAllVisible(p, "ul.top-popup_content > li:not(.top-popup_liNoSelectable)"), h = d.length;
163
163
  if (!h)
164
164
  return;
165
165
  let a = -1;
@@ -167,450 +167,456 @@ class w {
167
167
  return t.target.matches("input") ? void 0 : s.close(p);
168
168
  if (t.key === "ArrowRight" && a === h)
169
169
  return;
170
- a < 0 && (a = h - 1), a > h - 1 && (a = 0), p.querySelectorAll("ul.top-popup_content > li > .top-active").forEach((c) => c.classList.remove("top-active")), (i = d[a].querySelector(":scope > a, :scope > .a")) == null || i.classList.add("top-active"), s.scrollToActive(p);
170
+ a < 0 && (a = h - 1), a > h - 1 && (a = 0), p.querySelectorAll("ul.top-popup_content > li > .top-active").forEach((c) => c.classList.remove("top-active")), (r = d[a].querySelector(":scope > a, :scope > .a")) == null || r.classList.add("top-active"), s.scrollToActive(p);
171
171
  break;
172
172
  }
173
173
  }
174
174
  }
175
- const y = `:root {\r
176
- --top-popup-z-index: 200000;\r
177
- --top-popup-transition-delay: 100ms;\r
178
- \r
179
- --top-popup-background-color: var(--color-bg-3);\r
180
- --top-popup-background-color-hover: var(--color-cell-secondary-2);\r
181
- --top-popup-background-color-active: var(--color-layer-primary-1);\r
182
- \r
183
- --top-popup-border-color: var(--color-line-2-opacity);\r
184
- --top-popup-title-background-color: var(--color-layer-secondary-1);\r
185
- \r
186
- /* суммарный отсуп от каря popup до элемента */\r
187
- --top-popup-content-padding: calc(var(--top-popup-list-padding) + var(--top-popup-listItem-padding));\r
188
- \r
189
- /* списки */\r
190
- --top-popup-list-padding: var(--top-padding-2);\r
191
- \r
192
- --top-popup-listItem-radius: var(--top-radius-2);\r
193
- --top-popup-listItem-padding: var(--top-padding-2);\r
194
- }\r
195
- \r
196
- .top-popup-front { position: relative; }\r
197
- \r
198
- .top-popup-wrapper {\r
199
- /* см. recalcPosition() */\r
200
- --top-popup-height: 0px;\r
201
- --top-popup-right-bounding: 0px;\r
202
- --top-popup-bottom-bounding: 0px;\r
203
- --top-popup-top: 0px;\r
204
- --top-popup-right: calc(100vw - var(--top-popup-right-bounding));\r
205
- --top-popup-bottom: calc(var(--100vh) - var(--top-popup-bottom-bounding));\r
206
- --top-popup-left: 0px;\r
207
- \r
208
- text-align: initial; white-space: normal; word-break: normal;\r
209
- position: absolute; z-index: 200000;\r
210
- }\r
211
- \r
212
- .top-popup-wrapper:not(.top-popup-wrapper-shown) { overflow: hidden; }\r
213
- \r
214
- /* top-popupPanel */\r
215
- .top-popupPanel {\r
216
- cursor: default;\r
217
- box-shadow: var(--top-shadow-b);\r
218
- border-radius: 14px;\r
219
- background: var(--top-popup-background-color);\r
220
- position: absolute; overflow: hidden;\r
221
- display: flex; flex-direction: column;\r
222
- }\r
223
- \r
224
- /* position */\r
225
- .top-popup-wrapper > * {\r
226
- opacity: 0;\r
227
- transition: opacity var(--top-popup-transition-delay) linear, transform var(--top-popup-transition-delay) linear;\r
228
- }\r
229
- \r
230
- .top-popup-wrapper.p0 > * { transform: translateY(-8px); }\r
231
- \r
232
- .top-popup-wrapper.p1 > * { transform: translateY(8px); }\r
233
- \r
234
- .top-popup-wrapper.p2 > * { transform: translateX(8px); }\r
235
- \r
236
- .top-popup-wrapper.p3 > * { transform: translateY(8px); }\r
237
- \r
238
- .top-popup-wrapper.p4 > * { transform: translateX(-8px); }\r
239
- \r
240
- .top-popup-wrapper-shown:not(.top-popup-wrapper-closed) > * {opacity: 1;transform: translate(0, 0) !important;}\r
241
- \r
242
- .top-popup-wrapper.p0 > .top-popup { top: calc(-16px); left: calc(0px - 8px); }\r
243
- \r
244
- .top-popup-wrapper.p1 > .top-popup { bottom: calc(100% + 8px); }\r
245
- \r
246
- .top-popup-wrapper.p2 > .top-popup { left: calc(100% + 8px); }\r
247
- \r
248
- .top-popup-wrapper.p3 > .top-popup { top: calc(100% + 8px); }\r
249
- \r
250
- .top-popup-wrapper.p4 > .top-popup { right: calc(100% + 8px); }\r
251
- \r
252
- .top-popup-wrapper.p2 > .top-popup,\r
253
- .top-popup-wrapper.p4 > .top-popup { margin-top: -10px; }\r
254
- \r
255
- .top-popup-wrapper.p1.with_notch > .top-popup { margin-bottom: 5px; }\r
256
- \r
257
- .top-popup-wrapper.p2.with_notch > .top-popup { margin-left: 5px; }\r
258
- \r
259
- .top-popup-wrapper.p3.with_notch > .top-popup { margin-top: 5px; }\r
260
- \r
261
- .top-popup-wrapper.p4.with_notch > .top-popup { margin-right: 5px; }\r
262
- \r
263
- .top-popup-wrapper.invert-x > .top-popup { right: 0; }\r
264
- \r
265
- .top-popup-wrapper.invert-y > .top-popup { bottom: 0; }\r
266
- \r
267
- /* notch */\r
268
- .top-popup-wrapper > .notch { border: 7.4px solid transparent; position: absolute; display: block; }\r
269
- \r
270
- .top-popup-wrapper.p1 > .notch { border-bottom: 0; border-top: 7.4px solid var(--content-background-color); margin: 0 0 7.4px -7.4px; bottom: 100%; left: 50% }\r
271
- \r
272
- .top-popup-wrapper.p2 > .notch { border-left: 0; border-right: 7.4px solid var(--content-background-color); margin: 0 0 -7.4px 7.4px; bottom: 50%; left: 100%; }\r
273
- \r
274
- .top-popup-wrapper.p3 > .notch { border-top: 0; border-bottom: 7.4px solid var(--content-background-color); margin: 7.4px 0 0 -7.4px; top: 100%; left: 50%; }\r
275
- \r
276
- .top-popup-wrapper.p4 > .notch { border-right: 0; border-left: 7.4px solid var(--content-background-color); margin: 0 7.4px -7.4px 0; bottom: 50%; right: 100%; }\r
277
- \r
278
- .top-popup-wrapper.p1 > .notch-border { border-top-color: rgba(0, 0, 0, 0.05); margin-bottom: 6px; }\r
279
- \r
280
- .top-popup-wrapper.p2 > .notch-border { border-right-color: rgba(0, 0, 0, 0.05); margin-left: 6px; }\r
281
- \r
282
- .top-popup-wrapper.p3 > .notch-border { border-bottom-color: rgba(0, 0, 0, 0.05); margin-top: 6px; }\r
283
- \r
284
- .top-popup-wrapper.p4 > .notch-border { border-left-color: rgba(0, 0, 0, 0.05); margin-right: 6px; }\r
285
- \r
286
- /* common */\r
287
- .top-popup_header,\r
288
- .top-popup_content,\r
289
- .top-popup_footer { font-size: 14px; }\r
290
- \r
291
- .top-popup_header,\r
292
- .top-popup_footer { display: flex; align-items: center; justify-content: space-between; }\r
293
- \r
294
- /* header */\r
295
- .top-popup_header {\r
296
- color: var(--color-text-1);\r
297
- border-bottom: 1px solid var(--top-popup-border-color);\r
298
- padding: var(--top-padding-3);\r
299
- font-weight: 600;\r
300
- }\r
301
- \r
302
- .top-popup_header > * { font-weight: 400; }\r
303
- \r
304
- .top-popup_header > .a { cursor: pointer;}\r
305
- \r
306
- .top-popup_header > .a:hover { color: var(--color-text-primary-2); }\r
307
- \r
308
- .top-popup_headerButton { width: 60px; }\r
309
- \r
310
- /* widget */\r
311
- .top-popup_widget {\r
312
- padding: var(--top-padding-2) var(--top-padding-2) 0 var(--top-padding-2);\r
313
- }\r
314
- \r
315
- /* content */\r
316
- .top-popup_content {\r
317
- margin: 0;\r
318
- flex-grow: 1;\r
319
- overflow-y: auto;\r
320
- display: flex;\r
321
- flex-direction: column;\r
322
- gap: var(--top-gap-4);\r
323
- \r
324
- -webkit-overflow-scrolling: touch;\r
325
- }\r
326
- \r
327
- div.top-popup_content {\r
328
- color: var(--color-text-1);\r
329
- padding: var(--top-popup-content-padding);\r
330
- }\r
331
- \r
332
- div.top-popup_content > * { flex-shrink: 0; }\r
333
- \r
334
- div.top-popup_content > .top-button { margin: 0; }\r
335
- \r
336
- div.top-popup_content .top-unwrap {\r
337
- --top-unwrap-x: var(--top-popup-content-padding);\r
338
- }\r
339
- \r
340
- ul.top-popup_content {\r
341
- color: var(--color-text-1);\r
342
- padding: var(--top-popup-list-padding);\r
343
- gap: 2px;\r
344
- }\r
345
- \r
346
- ul.top-popup_content .top-unwrap {\r
347
- --top-unwrap-x: var(--top-popup-list-padding);\r
348
- }\r
349
- \r
350
- .top-popup_listItem {\r
351
- border-radius: var(--top-popup-listItem-radius);\r
352
- padding: var(--top-popup-listItem-padding);\r
353
- line-height: 1 !important;\r
354
- }\r
355
- \r
356
- ul.top-popup_content li { margin: 0; list-style: none; display: flex; position: relative }\r
357
- \r
358
- ul.top-popup_content li > * { flex-grow: 1; }\r
359
- \r
360
- ul.top-popup_content li > a:not(.top-button),\r
361
- ul.top-popup_content li > .a {\r
362
- cursor: pointer;\r
363
- box-sizing: border-box;\r
364
- border-radius: var(--top-popup-listItem-radius);\r
365
- background: var(--top-popup-background-color);\r
366
- padding: var(--top-popup-listItem-padding);\r
367
- color: var(--color-text-1) !important; font-size: 14px; font-weight: normal !important; text-decoration: none !important; font-style: normal;\r
368
- line-height: 1 !important;\r
369
- display: flex; flex: 1 1 100%; align-items: center;\r
370
- transition: background-color 0.1s ease-in-out;\r
371
- }\r
372
- \r
373
- .top-popup-wrapper-no_animate ul.top-popup_content li > a:not(.top-button),\r
374
- .top-popup-wrapper-no_animate ul.top-popup_content li > .a { transition: none; }\r
375
- \r
376
- ul.top-popup_content li > a:not(.top-button):hover,\r
377
- ul.top-popup_content li > .a:hover { background: var(--top-popup-background-color-hover); }\r
378
- \r
379
- ul.top-popup_content li > a:not(.top-button).top-active,\r
380
- ul.top-popup_content li > .a.top-active {\r
381
- --top-icon-color: var(--color-icon-primary-1) !important;\r
382
- \r
383
- background: var(--top-popup-background-color-active);\r
384
- }\r
385
- \r
386
- .top-popup_content + .top-popup_content { padding-top: 0; }\r
387
- \r
388
- /* listTitle */\r
389
- .top-popup_listItem-title {\r
390
- background: var(--color-layer-secondary-1);\r
391
- color: var(--color-text-1); font-size: 12px;\r
392
- }\r
393
- \r
394
- /* listDelimiter */\r
395
- .top-popup_listItem-delimiter {\r
396
- border-radius: 3px;\r
397
- background: var(--top-popup-border-color);\r
398
- height: 1px;\r
399
- padding: 0;\r
400
- margin: 4px;\r
401
- }\r
402
- \r
403
- /* listMore */\r
404
- .top-popup_listMore {\r
405
- font-size: 20px;\r
406
- margin: calc(0px - var(--top-popup-listItem-padding)) calc(0px - var(--top-popup-listItem-padding) / 2) calc(0px - var(--top-popup-listItem-padding)) 0;\r
407
- }\r
408
- \r
409
- .top-popup_listMore.top-button { margin: 0; }\r
410
- \r
411
- ul.top-popup_content li > .a.top-popup_listMore {\r
412
- text-align: center;\r
413
- flex-basis: 10px;\r
414
- }\r
415
- \r
416
- ul.top-popup_content li > .a.top-popup_listMore:before { color: var(--color-icon-2); }\r
417
- \r
418
- ul.top-popup_content li > * > .top-popup_listMore {\r
419
- margin-left: auto;\r
420
- color: var(--color-layer-secondary-4);\r
421
- font-size: 14px;\r
422
- }\r
423
- \r
424
- ul.top-popup_content li > * > i.top-popup_listMore:hover,\r
425
- ul.top-popup_content li > * > i.top-popup_listMore.top-active { color: var(--color-text-primary-1); }\r
426
- \r
427
- ul.top-popup_content li > * > i.top-popup_listMore:before {\r
428
- transform: rotate(90deg);\r
429
- display: block;\r
430
- }\r
431
- \r
432
- ul.top-popup_content li a.close { background: none !important; }\r
433
- \r
434
- /* data-top-icon */\r
435
- .top-popup_content > [data-top-icon]:before {\r
436
- --top-icon-size: 20px;\r
437
- }\r
438
- \r
439
- ul.top-popup_content li > [data-top-icon]:not(.top-button) {\r
440
- --top-icon-color: var(--color-icon-3);\r
441
- --top-icon-size: 20px;\r
442
- --top-icon-width: 20px;\r
443
- }\r
444
- \r
445
- ul.top-popup_content li > [data-top-icon]:not(.top-button):before {\r
446
- height: 1rem; margin-right: 8px; transition: color 0.1s;\r
447
- }\r
448
- \r
449
- ul.top-popup_content li:hover > [data-top-icon]:not(.top-button) {\r
450
- --top-icon-color: var(--color-icon-2);\r
451
- }\r
452
- \r
453
- /* footer */\r
454
- .top-popup_footer {\r
455
- padding: var(--top-popup-list-padding);\r
456
- border-top: 1px solid var(--top-popup-border-color);\r
457
- display: flex;\r
458
- gap: var(--top-gap-2);\r
459
- justify-content: flex-end;\r
460
- }\r
461
- \r
462
- /* Виджеты */\r
463
- .top-popup > [data-widget] { padding: 0 var(--top-popup-list-padding); }\r
464
- \r
465
- .top-popup > [data-widget] + hr { margin: 0 var(--top-popup-list-padding); }\r
466
- \r
467
- .top-popup .placeholder {\r
468
- border: 1px solid #E0D9D9 !important; border-right: none !important; border-left: none !important; background: #F9F9F9 !important; margin: -1px 0; z-index: 1;\r
469
- position: relative;\r
470
- }\r
471
- \r
472
- /* компоненты */\r
473
- .top-popup-wrapper.simple_list > .top-popup { min-width: 0; white-space: nowrap; }\r
474
- \r
475
- .top-popup_content .top-column { display: flex; flex-direction: column; gap: 4px; }\r
476
- \r
477
- html .top-popup .top-popup_content li > .top-button {\r
478
- margin: calc(var(--top-popup-listItem-padding) / 2) var(--top-popup-listItem-padding);\r
479
- }\r
480
- \r
481
- .top-popup li .check_all,\r
482
- .top-popup li .clear_all { cursor: pointer; color: var(--color-text-primary-1); padding: 8px; display: inline-block; }\r
483
- \r
484
- .top-popup li .check_all:hover,\r
485
- .top-popup li .clear_all:hover { text-decoration: underline; }\r
486
- \r
487
- .top-popup li .clear_all { display: none; }\r
488
- \r
489
- /* table */\r
490
- .top-popup_content table { margin: -9px 0; }\r
491
- \r
492
- .top-popup_content table td,\r
493
- .top-popup_content table th { padding: 9px var(--top-popup-listItem-padding) 9px 0; vertical-align: top; }\r
494
- \r
495
- .top-popup_content table th { width: 40%; font-weight: 600; white-space: nowrap; }\r
496
- \r
497
- /* формы */\r
498
- ul.top-popup_content .a > [type="checkbox"],\r
499
- ul.top-popup_content .a > [type="radio"] { margin: -8px 0 -8px auto; }\r
500
- \r
501
- /* deprecated */\r
502
- ul.top-popup_content a > [class*=icon],\r
503
- ul.top-popup_content i.a > [class*=icon] {\r
504
- transition: 0.1s;\r
505
- }\r
506
- \r
507
- .top-popup .buttons { border-radius: 0 0 4px 4px; border-top: 1px solid #BDC3C7; background: #ECF0F1; padding: 10px 15px; margin: 10px -15px -10px -15px; white-space: nowrap; }\r
508
- \r
509
- .top-popup_footer [class*=btn]:not(.btn-transparent) { min-width: 100px; padding: 5px 14px; margin-left: 10px; }\r
510
- \r
511
- .top-popup_footer [class*=btn]:first-child { margin-left: 0; }\r
512
- \r
513
- .top-popup_footer .btn.full_width { margin: 0; flex-grow: 1; }`, _ = `:root {\r
514
- --top-popup-list-padding: 0px;\r
515
- \r
516
- --top-popup-listItem-radius: 0px;\r
517
- --top-popup-listItem-padding: var(--top-padding-4);\r
518
- }\r
519
- \r
520
- html.with_popup { background: #808080; }\r
521
- \r
522
- .top-popup-wrapper {\r
523
- --top-popup-footer-offset: 25px;\r
524
- \r
525
- width: auto !important; height: auto !important;\r
526
- position: fixed; top: 0 !important; right: 0 !important; left: 0 !important; overflow: hidden;\r
527
- transition: background 0.3s;\r
528
- }\r
529
- \r
530
- .top-popup-wrapper-shown:not(.top-popup-wrapper-closed) { background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(1px); }\r
531
- .top-popup-wrapper-shown:not(.top-popup-wrapper-closed) > .top-popup { opacity: 1 !important; }\r
532
- \r
533
- .top-popup {\r
534
- border-radius: 8px 8px 0 0; width: auto !important; max-height: calc(100% - var(--header-height, 0px) - var(--toolbar-height, 0px) - 12px); margin: 0 !important;\r
535
- top: auto !important; right: 0 !important; bottom: var(--toolbar-height, 0px) !important; left: 0 !important;\r
536
- display: flex; flex-direction: column;\r
537
- \r
538
- /* невозможно опустить элемент вниз за экран на 100%, fix: opacity и translateY(80%) */\r
539
- transform: translateY(80%);\r
540
- \r
541
- transition: opacity 0.3s, transform 0.3s;\r
542
- }\r
543
- \r
544
- /* from top */\r
545
- .top-popup-wrapper.p-from-top {\r
546
- --top-popup-footer-offset: 0px;\r
547
- \r
548
- top: var(--header-height, 0px) !important;\r
549
- }\r
550
- .with_dialog .top-popup-wrapper.p-from-top { top: 50px !important; }\r
551
- .top-popup-wrapper.p-from-top > .top-popup {\r
552
- border-radius: 0 0 8px 8px; max-height: calc(100% - 24px); top: 0 !important; bottom: auto !important;\r
553
- transform: translateY(calc(-100% - 24px));\r
554
- }\r
555
- \r
556
- /* widget */\r
557
- .top-popup_widget { padding: var(--top-padding-2);}\r
558
- .top-popup_widget:not(.p-from-top) { order: 10; }\r
559
- \r
560
- /* content */\r
561
- ul.top-popup_content {\r
562
- gap: 0;\r
563
- }\r
564
- ul.top-popup_content li:not(:last-child) { border-bottom: 1px solid var(--top-popup-border-color); }\r
565
- \r
566
- .top-popup-wrapper.top-style_alt > .top-popup > ul > li { border-bottom: none; }\r
567
- \r
568
- /* footer */\r
569
- .top-popup_footer {\r
570
- flex-direction: column-reverse;\r
571
- }\r
572
- .top-popup_footer > .top-button {\r
573
- --top-forms-base-height: var(--top-forms-base-height_l);\r
574
- \r
575
- width: 100%;\r
576
- }\r
577
- \r
578
- /* listTitle */\r
579
- ul.top-popup_content .top-popup_listItem-title {\r
580
- --top-popup-padding-v: 12px;\r
581
- }\r
582
- \r
583
- /* listDelimiter */\r
584
- ul.top-popup_content .top-popup_listItem-delimiter { background: var(--color-line-1-opacity); height: 4px; margin: 0; }\r
585
- ul.top-popup_content li:first-child > .top-popup_listItem-delimiter { border-top: 1px solid var(--top-popup-border-color); }\r
586
- `, L = `html:not(.with_dialog) { margin-right: 0 !important; }\r
587
- \r
588
- .top-popup { min-width: 250px; max-width: calc(100vw - var(--top-popup-left) - 16px); max-height: calc(var(--top-popup-bottom) + var(--top-popup-height)); }\r
589
- .top-popup-wrapper.invert-x > .top-popup { max-width: calc(100vw - var(--top-popup-right) - 16px); }\r
590
- .top-popup-wrapper.invert-y > .top-popup { max-height: calc(100vh - var(--top-popup-bottom) - 16px); }\r
591
- \r
592
- /* position */\r
593
- .top-popup-wrapper.p1 > .top-popup { max-height: calc(var(--top-popup-top) - var(--header-height, 0px) - 16px); }\r
594
- .top-popup-wrapper.p3 > .top-popup { max-height: calc(var(--top-popup-bottom) - 16px); }\r
595
- .top-popup-wrapper.p2 > .top-popup { max-width: calc(var(--top-popup-right) - 16px); }\r
596
- .top-popup-wrapper.p4 > .top-popup { max-width: calc(var(--top-popup-left) - 16px); }\r
597
- \r
598
- /* notch */\r
599
- .top-popup-wrapper.p1.with_notch > .top-popup,\r
600
- .top-popup-wrapper.p3.with_notch > .top-popup { margin-left: -16px !important; }\r
601
- .top-popup-wrapper.p1.with_notch > .notch,\r
602
- .top-popup-wrapper.p3.with_notch > .notch { margin-left: -8px !important; }\r
603
- \r
604
- .top-popup-wrapper.p1.with_notch.invert-x,\r
605
- .top-popup-wrapper.p3.with_notch.invert-x { margin-left: 3px !important; }\r
606
- .top-popup-wrapper.p1.with_notch.invert-x > .notch,\r
607
- .top-popup-wrapper.p3.with_notch.invert-x > .notch { margin-left: -9px !important; }\r
608
- \r
609
- /* listMore */\r
610
- ul.top-popup_content li > * > i.top-popup_listMore { visibility: hidden; transition: none; }\r
611
- ul.top-popup_content li:hover > * > i.top-popup_listMore,\r
612
- ul.top-popup_content li > *.top-active > i.top-popup_listMore,\r
613
- ul.top-popup_content li > * > i.top-popup_listMore.top-active { visibility: visible; }\r
175
+ const y = `:root {
176
+ --top-popup-z-index: 200000;
177
+ --top-popup-transition-delay: 100ms;
178
+
179
+ --top-popup-background-color: var(--color-bg-3);
180
+ --top-popup-background-color-hover: var(--color-cell-secondary-2);
181
+ --top-popup-background-color-active: var(--color-layer-primary-1);
182
+
183
+ --top-popup-border-color: var(--color-line-2-opacity);
184
+ --top-popup-title-background-color: var(--color-layer-secondary-1);
185
+
186
+ /* суммарный отсуп от каря popup до элемента */
187
+ --top-popup-content-padding: calc(var(--top-popup-list-padding) + var(--top-popup-listItem-padding));
188
+
189
+ /* списки */
190
+ --top-popup-list-padding: var(--top-padding-2);
191
+
192
+ --top-popup-listItem-radius: var(--top-radius-2);
193
+ --top-popup-listItem-padding: var(--top-padding-2);
194
+ }
195
+
196
+ .top-popup-front { position: relative; }
197
+
198
+ .top-popup-wrapper {
199
+ /* см. recalcPosition() */
200
+ --top-popup-height: 0px;
201
+ --top-popup-right-bounding: 0px;
202
+ --top-popup-bottom-bounding: 0px;
203
+ --top-popup-top: 0px;
204
+ --top-popup-right: calc(100vw - var(--top-popup-right-bounding));
205
+ --top-popup-bottom: calc(var(--100vh) - var(--top-popup-bottom-bounding));
206
+ --top-popup-left: 0px;
207
+
208
+ text-align: initial; white-space: normal; word-break: normal;
209
+ position: absolute; z-index: 200000;
210
+ }
211
+
212
+ .top-popup-wrapper:not(.top-popup-wrapper-shown) { overflow: hidden; }
213
+
214
+ /* top-popupPanel */
215
+ .top-popupPanel {
216
+ cursor: default;
217
+ box-shadow: var(--top-shadow-b);
218
+ border-radius: 14px;
219
+ background: var(--top-popup-background-color);
220
+ position: absolute; overflow: hidden;
221
+ display: flex; flex-direction: column;
222
+ }
223
+
224
+ /* position */
225
+ .top-popup-wrapper > * {
226
+ opacity: 0;
227
+ transition: opacity var(--top-popup-transition-delay) linear, transform var(--top-popup-transition-delay) linear;
228
+ }
229
+
230
+ .top-popup-wrapper.p0 > * { transform: translateY(-8px); }
231
+
232
+ .top-popup-wrapper.p1 > * { transform: translateY(8px); }
233
+
234
+ .top-popup-wrapper.p2 > * { transform: translateX(8px); }
235
+
236
+ .top-popup-wrapper.p3 > * { transform: translateY(8px); }
237
+
238
+ .top-popup-wrapper.p4 > * { transform: translateX(-8px); }
239
+
240
+ .top-popup-wrapper-shown:not(.top-popup-wrapper-closed) > * {opacity: 1;transform: translate(0, 0) !important;}
241
+
242
+ .top-popup-wrapper.p0 > .top-popup { top: calc(-16px); left: calc(0px - 8px); }
243
+
244
+ .top-popup-wrapper.p1 > .top-popup { bottom: calc(100% + 8px); }
245
+
246
+ .top-popup-wrapper.p2 > .top-popup { left: calc(100% + 8px); }
247
+
248
+ .top-popup-wrapper.p3 > .top-popup { top: calc(100% + 8px); }
249
+
250
+ .top-popup-wrapper.p4 > .top-popup { right: calc(100% + 8px); }
251
+
252
+ .top-popup-wrapper.p2 > .top-popup,
253
+ .top-popup-wrapper.p4 > .top-popup { margin-top: -10px; }
254
+
255
+ .top-popup-wrapper.p1.with_notch > .top-popup { margin-bottom: 5px; }
256
+
257
+ .top-popup-wrapper.p2.with_notch > .top-popup { margin-left: 5px; }
258
+
259
+ .top-popup-wrapper.p3.with_notch > .top-popup { margin-top: 5px; }
260
+
261
+ .top-popup-wrapper.p4.with_notch > .top-popup { margin-right: 5px; }
262
+
263
+ .top-popup-wrapper.invert-x > .top-popup { right: 0; }
264
+
265
+ .top-popup-wrapper.invert-y > .top-popup { bottom: 0; }
266
+
267
+ /* notch */
268
+ .top-popup-wrapper > .notch { border: 7.4px solid transparent; position: absolute; display: block; }
269
+
270
+ .top-popup-wrapper.p1 > .notch { border-bottom: 0; border-top: 7.4px solid var(--content-background-color); margin: 0 0 7.4px -7.4px; bottom: 100%; left: 50% }
271
+
272
+ .top-popup-wrapper.p2 > .notch { border-left: 0; border-right: 7.4px solid var(--content-background-color); margin: 0 0 -7.4px 7.4px; bottom: 50%; left: 100%; }
273
+
274
+ .top-popup-wrapper.p3 > .notch { border-top: 0; border-bottom: 7.4px solid var(--content-background-color); margin: 7.4px 0 0 -7.4px; top: 100%; left: 50%; }
275
+
276
+ .top-popup-wrapper.p4 > .notch { border-right: 0; border-left: 7.4px solid var(--content-background-color); margin: 0 7.4px -7.4px 0; bottom: 50%; right: 100%; }
277
+
278
+ .top-popup-wrapper.p1 > .notch-border { border-top-color: rgba(0, 0, 0, 0.05); margin-bottom: 6px; }
279
+
280
+ .top-popup-wrapper.p2 > .notch-border { border-right-color: rgba(0, 0, 0, 0.05); margin-left: 6px; }
281
+
282
+ .top-popup-wrapper.p3 > .notch-border { border-bottom-color: rgba(0, 0, 0, 0.05); margin-top: 6px; }
283
+
284
+ .top-popup-wrapper.p4 > .notch-border { border-left-color: rgba(0, 0, 0, 0.05); margin-right: 6px; }
285
+
286
+ /* common */
287
+ .top-popup_header,
288
+ .top-popup_content,
289
+ .top-popup_footer { font-size: 14px; }
290
+
291
+ .top-popup_header,
292
+ .top-popup_footer { display: flex; align-items: center; justify-content: space-between; }
293
+
294
+ /* header */
295
+ .top-popup_header {
296
+ color: var(--color-text-1);
297
+ border-bottom: 1px solid var(--top-popup-border-color);
298
+ padding: var(--top-padding-3);
299
+ font-weight: 600;
300
+ }
301
+
302
+ .top-popup_header > * { font-weight: 400; }
303
+
304
+ .top-popup_header > .a { cursor: pointer;}
305
+
306
+ .top-popup_header > .a:hover { color: var(--color-text-primary-2); }
307
+
308
+ .top-popup_headerButton { width: 60px; }
309
+
310
+ /* widget */
311
+ .top-popup_widget {
312
+ padding: var(--top-padding-2) var(--top-padding-2) 0 var(--top-padding-2);
313
+ }
314
+
315
+ /* content */
316
+ .top-popup_content {
317
+ margin: 0;
318
+ flex-grow: 1;
319
+ overflow-y: auto;
320
+ display: flex;
321
+ flex-direction: column;
322
+ gap: var(--top-gap-4);
323
+
324
+ -webkit-overflow-scrolling: touch;
325
+ }
326
+
327
+ div.top-popup_content {
328
+ color: var(--color-text-1);
329
+ padding: var(--top-popup-content-padding);
330
+ }
331
+
332
+ div.top-popup_content > * { flex-shrink: 0; }
333
+
334
+ div.top-popup_content > .top-button { margin: 0; }
335
+
336
+ div.top-popup_content .top-unwrap {
337
+ --top-unwrap-x: var(--top-popup-content-padding);
338
+ }
339
+
340
+ ul.top-popup_content {
341
+ color: var(--color-text-1);
342
+ padding: var(--top-popup-list-padding);
343
+ gap: 2px;
344
+ }
345
+
346
+ ul.top-popup_content .top-unwrap {
347
+ --top-unwrap-x: var(--top-popup-list-padding);
348
+ }
349
+
350
+ .top-popup_listItem {
351
+ border-radius: var(--top-popup-listItem-radius);
352
+ padding: var(--top-popup-listItem-padding);
353
+ line-height: 1 !important;
354
+ }
355
+
356
+ ul.top-popup_content li { margin: 0; list-style: none; display: flex; position: relative }
357
+
358
+ ul.top-popup_content li > * { flex-grow: 1; }
359
+
360
+ ul.top-popup_content li > a:not(.top-button),
361
+ ul.top-popup_content li > .a {
362
+ cursor: pointer;
363
+ box-sizing: border-box;
364
+ border-radius: var(--top-popup-listItem-radius);
365
+ background: var(--top-popup-background-color);
366
+ padding: var(--top-popup-listItem-padding);
367
+ color: var(--color-text-1) !important; font-size: 14px; font-weight: normal !important; text-decoration: none !important; font-style: normal;
368
+ line-height: 1 !important;
369
+ display: flex; flex: 1 1 100%; align-items: center;
370
+ transition: background-color 0.1s ease-in-out;
371
+ }
372
+
373
+ .top-popup-wrapper-no_animate ul.top-popup_content li > a:not(.top-button),
374
+ .top-popup-wrapper-no_animate ul.top-popup_content li > .a { transition: none; }
375
+
376
+ ul.top-popup_content li > a:not(.top-button):hover,
377
+ ul.top-popup_content li > .a:hover { background: var(--top-popup-background-color-hover); }
378
+
379
+ ul.top-popup_content li > a:not(.top-button).top-active,
380
+ ul.top-popup_content li > .a.top-active {
381
+ --top-icon-color: var(--color-icon-primary-1) !important;
382
+
383
+ background: var(--top-popup-background-color-active);
384
+ }
385
+
386
+ .top-popup_content + .top-popup_content { padding-top: 0; }
387
+
388
+ /* listTitle */
389
+ .top-popup_listItem-title {
390
+ background: var(--color-layer-secondary-1);
391
+ color: var(--color-text-1); font-size: 12px;
392
+ }
393
+
394
+ /* listDelimiter */
395
+ .top-popup_listItem-delimiter {
396
+ border-radius: 3px;
397
+ background: var(--top-popup-border-color);
398
+ height: 1px;
399
+ padding: 0;
400
+ margin: 4px;
401
+ }
402
+
403
+ /* listMore */
404
+ .top-popup_listMore {
405
+ font-size: 20px;
406
+ margin: calc(0px - var(--top-popup-listItem-padding)) calc(0px - var(--top-popup-listItem-padding) / 2) calc(0px - var(--top-popup-listItem-padding)) 0;
407
+ }
408
+
409
+ .top-popup_listMore.top-button { margin: 0; }
410
+
411
+ ul.top-popup_content li > .a.top-popup_listMore {
412
+ text-align: center;
413
+ flex-basis: 10px;
414
+ }
415
+
416
+ ul.top-popup_content li > .a.top-popup_listMore:before { color: var(--color-icon-2); }
417
+
418
+ ul.top-popup_content li > * > .top-popup_listMore {
419
+ margin-left: auto;
420
+ color: var(--color-layer-secondary-4);
421
+ font-size: 14px;
422
+ }
423
+
424
+ ul.top-popup_content li > * > i.top-popup_listMore:hover,
425
+ ul.top-popup_content li > * > i.top-popup_listMore.top-active { color: var(--color-text-primary-1); }
426
+
427
+ ul.top-popup_content li > * > i.top-popup_listMore:before {
428
+ transform: rotate(90deg);
429
+ display: block;
430
+ }
431
+
432
+ ul.top-popup_content li a.close { background: none !important; }
433
+
434
+ /* data-top-icon */
435
+ .top-popup_content > [data-top-icon]:before {
436
+ --top-icon-size: 20px;
437
+ }
438
+
439
+ ul.top-popup_content li > [data-top-icon]:not(.top-button) {
440
+ --top-icon-color: var(--color-icon-3);
441
+ --top-icon-size: 20px;
442
+ --top-icon-width: 20px;
443
+ }
444
+
445
+ ul.top-popup_content li > [data-top-icon]:not(.top-button):before {
446
+ height: 1rem; margin-right: 8px; transition: color 0.1s;
447
+ }
448
+
449
+ ul.top-popup_content li:hover > [data-top-icon]:not(.top-button) {
450
+ --top-icon-color: var(--color-icon-2);
451
+ }
452
+
453
+ /* footer */
454
+ .top-popup_footer {
455
+ padding: var(--top-popup-list-padding);
456
+ border-top: 1px solid var(--top-popup-border-color);
457
+ display: flex;
458
+ gap: var(--top-gap-2);
459
+ justify-content: flex-end;
460
+ }
461
+
462
+ /* footerSupportLink */
463
+ .top-popup_footerSupportLink {
464
+ margin-right: auto;
465
+ }
466
+
467
+ /* Виджеты */
468
+ .top-popup > [data-widget] { padding: 0 var(--top-popup-list-padding); }
469
+
470
+ .top-popup > [data-widget] + hr { margin: 0 var(--top-popup-list-padding); }
471
+
472
+ .top-popup .placeholder {
473
+ border: 1px solid #E0D9D9 !important; border-right: none !important; border-left: none !important; background: #F9F9F9 !important; margin: -1px 0; z-index: 1;
474
+ position: relative;
475
+ }
476
+
477
+ /* компоненты */
478
+ .top-popup-wrapper.simple_list > .top-popup { min-width: 0; white-space: nowrap; }
479
+
480
+ .top-popup_content .top-column { display: flex; flex-direction: column; gap: 4px; }
481
+
482
+ html .top-popup .top-popup_content li > .top-button {
483
+ margin: calc(var(--top-popup-listItem-padding) / 2) var(--top-popup-listItem-padding);
484
+ }
485
+
486
+ .top-popup li .check_all,
487
+ .top-popup li .clear_all { cursor: pointer; color: var(--color-text-primary-1); padding: 8px; display: inline-block; }
488
+
489
+ .top-popup li .check_all:hover,
490
+ .top-popup li .clear_all:hover { text-decoration: underline; }
491
+
492
+ .top-popup li .clear_all { display: none; }
493
+
494
+ /* table */
495
+ .top-popup_content table { margin: -9px 0; }
496
+
497
+ .top-popup_content table td,
498
+ .top-popup_content table th { padding: 9px var(--top-popup-listItem-padding) 9px 0; vertical-align: top; }
499
+
500
+ .top-popup_content table th { width: 40%; font-weight: 600; white-space: nowrap; }
501
+
502
+ /* формы */
503
+ ul.top-popup_content .a > [type="checkbox"],
504
+ ul.top-popup_content .a > [type="radio"] { margin: -8px 0 -8px auto; }
505
+
506
+ /* deprecated */
507
+ ul.top-popup_content a > [class*=icon],
508
+ ul.top-popup_content i.a > [class*=icon] {
509
+ transition: 0.1s;
510
+ }
511
+
512
+ .top-popup .buttons { border-radius: 0 0 4px 4px; border-top: 1px solid #BDC3C7; background: #ECF0F1; padding: 10px 15px; margin: 10px -15px -10px -15px; white-space: nowrap; }
513
+
514
+ .top-popup_footer [class*=btn]:not(.btn-transparent) { min-width: 100px; padding: 5px 14px; margin-left: 10px; }
515
+
516
+ .top-popup_footer [class*=btn]:first-child { margin-left: 0; }
517
+
518
+ .top-popup_footer .btn.full_width { margin: 0; flex-grow: 1; }
519
+ `, _ = `:root {
520
+ --top-popup-list-padding: 0px;
521
+
522
+ --top-popup-listItem-radius: 0px;
523
+ --top-popup-listItem-padding: var(--top-padding-4);
524
+ }
525
+
526
+ html.with_popup { background: #808080; }
527
+
528
+ .top-popup-wrapper {
529
+ --top-popup-footer-offset: 25px;
530
+
531
+ width: auto !important; height: auto !important;
532
+ position: fixed; top: 0 !important; right: 0 !important; left: 0 !important; overflow: hidden;
533
+ transition: background 0.3s;
534
+ }
535
+
536
+ .top-popup-wrapper-shown:not(.top-popup-wrapper-closed) { background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(1px); }
537
+ .top-popup-wrapper-shown:not(.top-popup-wrapper-closed) > .top-popup { opacity: 1 !important; }
538
+
539
+ .top-popup {
540
+ border-radius: 8px 8px 0 0; width: auto !important; max-height: calc(100% - var(--header-height, 0px) - var(--toolbar-height, 0px) - 12px); margin: 0 !important;
541
+ top: auto !important; right: 0 !important; bottom: var(--toolbar-height, 0px) !important; left: 0 !important;
542
+ display: flex; flex-direction: column;
543
+
544
+ /* невозможно опустить элемент вниз за экран на 100%, fix: opacity и translateY(80%) */
545
+ transform: translateY(80%);
546
+
547
+ transition: opacity 0.3s, transform 0.3s;
548
+ }
549
+
550
+ /* from top */
551
+ .top-popup-wrapper.p-from-top {
552
+ --top-popup-footer-offset: 0px;
553
+
554
+ top: var(--header-height, 0px) !important;
555
+ }
556
+ .with_dialog .top-popup-wrapper.p-from-top { top: 50px !important; }
557
+ .top-popup-wrapper.p-from-top > .top-popup {
558
+ border-radius: 0 0 8px 8px; max-height: calc(100% - 24px); top: 0 !important; bottom: auto !important;
559
+ transform: translateY(calc(-100% - 24px));
560
+ }
561
+
562
+ /* widget */
563
+ .top-popup_widget { padding: var(--top-padding-2);}
564
+ .top-popup_widget:not(.p-from-top) { order: 10; }
565
+
566
+ /* content */
567
+ ul.top-popup_content {
568
+ gap: 0;
569
+ }
570
+ ul.top-popup_content li:not(:last-child) { border-bottom: 1px solid var(--top-popup-border-color); }
571
+
572
+ .top-popup-wrapper.top-style_alt > .top-popup > ul > li { border-bottom: none; }
573
+
574
+ /* footer */
575
+ .top-popup_footer {
576
+ flex-direction: column-reverse;
577
+ }
578
+ .top-popup_footer > .top-button {
579
+ --top-forms-base-height: var(--top-forms-base-height_l);
580
+
581
+ width: 100%;
582
+ }
583
+
584
+ /* listTitle */
585
+ ul.top-popup_content .top-popup_listItem-title {
586
+ --top-popup-padding-v: 12px;
587
+ }
588
+
589
+ /* listDelimiter */
590
+ ul.top-popup_content .top-popup_listItem-delimiter { background: var(--color-line-1-opacity); height: 4px; margin: 0; }
591
+ ul.top-popup_content li:first-child > .top-popup_listItem-delimiter { border-top: 1px solid var(--top-popup-border-color); }
592
+ `, L = `html:not(.with_dialog) { margin-right: 0 !important; }
593
+
594
+ .top-popup { min-width: 250px; max-width: calc(100vw - var(--top-popup-left) - 16px); max-height: calc(var(--top-popup-bottom) + var(--top-popup-height)); }
595
+ .top-popup-wrapper.invert-x > .top-popup { max-width: calc(100vw - var(--top-popup-right) - 16px); }
596
+ .top-popup-wrapper.invert-y > .top-popup { max-height: calc(100vh - var(--top-popup-bottom) - 16px); }
597
+
598
+ /* position */
599
+ .top-popup-wrapper.p1 > .top-popup { max-height: calc(var(--top-popup-top) - var(--header-height, 0px) - 16px); }
600
+ .top-popup-wrapper.p3 > .top-popup { max-height: calc(var(--top-popup-bottom) - 16px); }
601
+ .top-popup-wrapper.p2 > .top-popup { max-width: calc(var(--top-popup-right) - 16px); }
602
+ .top-popup-wrapper.p4 > .top-popup { max-width: calc(var(--top-popup-left) - 16px); }
603
+
604
+ /* notch */
605
+ .top-popup-wrapper.p1.with_notch > .top-popup,
606
+ .top-popup-wrapper.p3.with_notch > .top-popup { margin-left: -16px !important; }
607
+ .top-popup-wrapper.p1.with_notch > .notch,
608
+ .top-popup-wrapper.p3.with_notch > .notch { margin-left: -8px !important; }
609
+
610
+ .top-popup-wrapper.p1.with_notch.invert-x,
611
+ .top-popup-wrapper.p3.with_notch.invert-x { margin-left: 3px !important; }
612
+ .top-popup-wrapper.p1.with_notch.invert-x > .notch,
613
+ .top-popup-wrapper.p3.with_notch.invert-x > .notch { margin-left: -9px !important; }
614
+
615
+ /* listMore */
616
+ ul.top-popup_content li > * > i.top-popup_listMore { visibility: hidden; transition: none; }
617
+ ul.top-popup_content li:hover > * > i.top-popup_listMore,
618
+ ul.top-popup_content li > *.top-active > i.top-popup_listMore,
619
+ ul.top-popup_content li > * > i.top-popup_listMore.top-active { visibility: visible; }
614
620
  `;
615
621
  f.insertStyleToPage(y);
616
622
  f.insertStyleToPage(_, "m");
@@ -671,17 +677,17 @@ class x extends v {
671
677
  return super(), this.init(x.componentName, t, p);
672
678
  }
673
679
  async mount() {
674
- var e, i;
680
+ var e, r;
675
681
  if (!(this.el instanceof HTMLElement)) return;
676
682
  const t = this.vueGetComponent();
677
- if (this.el.closest(".top-popup-wrapper") && (this.popupParent = s.getPopup(this.el.closest(".top-popup-wrapper"))), await this.mountJQuery(), r.css(this.el, "position") !== "absolute" && (this.el.style.position = "relative"), this.el.dataset.topPopupOpened = "opened", this.elActiveByDefault = this.el.classList.contains("top-active"), this.el.classList.add("top-active"), t)
678
- this.type = "vue", this.options.popup = "", this.elPopup = r.genEl("div", {}, this.options.popup);
683
+ if (this.el.closest(".top-popup-wrapper") && (this.popupParent = s.getPopup(this.el.closest(".top-popup-wrapper"))), await this.mountJQuery(), n.css(this.el, "position") !== "absolute" && (this.el.style.position = "relative"), this.el.dataset.topPopupOpened = "opened", this.elActiveByDefault = this.el.classList.contains("top-active"), this.el.classList.add("top-active"), t)
684
+ this.type = "vue", this.options.popup = "", this.elPopup = n.genEl("div", {}, this.options.popup);
679
685
  else if ((e = this.options.popup) != null && e.match(/^[#.]/))
680
686
  this.type = "selector", this.elPopup = document.querySelector(`${this.options.popup}.template`);
681
687
  else {
682
688
  if (this.type = "html", this.options.useOriginal)
683
689
  throw "Option useOriginal not allowed for text templates";
684
- this.elPopup = r.genEl("div", {}, this.options.popup ?? "");
690
+ this.elPopup = n.genEl("div", {}, this.options.popup ?? "");
685
691
  }
686
692
  if (!this.elPopup || t != null && t.opened) {
687
693
  if (this.options.useOriginal || t != null && t.opened) {
@@ -695,29 +701,29 @@ class x extends v {
695
701
  }
696
702
  if (!this.elPopup)
697
703
  return;
698
- for (this.options.useOriginal ? (this.elStartPosition = this.elPopup.closest(".top-popup-el-start-position"), this.elStartPosition || (this.elStartPosition = r.wrap(this.elPopup, "i"), this.elStartPosition.classList.add("top-popup-el-start-position", "hidden"))) : (this.elPopup = this.elPopup.cloneNode(!0), this.type === "selector" && !this.elPopup.matches(".template") && (this.elPopup.classList.remove("hidden"), this.elPopup.querySelector(":scope > .top-popup_content") || this.elPopup.classList.add("top-popup_content"), this.elPopup = r.wrap(this.elPopup, "div")), this.type === "html" && (this.elPopup.querySelector(":scope > .top-popup_content") || (this.elPopup.classList.add("top-popup_content"), this.elPopup = r.wrap(this.elPopup, "div"))), (this.type === "selector" && !this.elPopup.matches(".template") || this.type === "html" || this.type === "vue") && (r.querySelectorAllArray(this.elPopup, "[data-top-popup]").forEach((n) => {
699
- n instanceof HTMLElement && (n.dataset.topPopupPosBy = "fixed");
700
- }), r.querySelectorAllArray(this.elPopup, ".top-popup-wrapper").forEach((n) => n.remove()))), s.decoratorBeforeOpen(this), t && (this.options.class = t.classRef.value, t.transitionDurationRef.value !== void 0 && (this.options.transitionDuration = t.transitionDurationRef.value, this.elPopup instanceof HTMLElement && this.elPopup.style.setProperty(
704
+ for (this.options.useOriginal ? (this.elStartPosition = this.elPopup.closest(".top-popup-el-start-position"), this.elStartPosition || (this.elStartPosition = n.wrap(this.elPopup, "i"), this.elStartPosition.classList.add("top-popup-el-start-position", "hidden"))) : (this.elPopup = this.elPopup.cloneNode(!0), this.type === "selector" && !this.elPopup.matches(".template") && (this.elPopup.classList.remove("hidden"), this.elPopup.querySelector(":scope > .top-popup_content") || this.elPopup.classList.add("top-popup_content"), this.elPopup = n.wrap(this.elPopup, "div")), this.type === "html" && (this.elPopup.querySelector(":scope > .top-popup_content") || (this.elPopup.classList.add("top-popup_content"), this.elPopup = n.wrap(this.elPopup, "div"))), (this.type === "selector" && !this.elPopup.matches(".template") || this.type === "html" || this.type === "vue") && (n.querySelectorAllArray(this.elPopup, "[data-top-popup]").forEach((i) => {
705
+ i instanceof HTMLElement && (i.dataset.topPopupPosBy = "fixed");
706
+ }), n.querySelectorAllArray(this.elPopup, ".top-popup-wrapper").forEach((i) => i.remove()))), s.decoratorBeforeOpen(this), t && (this.options.class = t.classRef.value, t.transitionDurationRef.value !== void 0 && (this.options.transitionDuration = t.transitionDurationRef.value, this.elPopup instanceof HTMLElement && this.elPopup.style.setProperty(
701
707
  "--top-popup-transition-delay",
702
708
  this.options.transitionDuration + "ms"
703
709
  ))), this.elPopupInner = document.createElement("div"), this.elPopupInner.classList.add("top-popupPanel", "top-popup"); this.elPopup.firstChild; )
704
710
  this.elPopupInner.appendChild(this.elPopup.firstChild);
705
711
  if (this.elPopup.append(this.elPopupInner), this.elPopup.classList.add("top-popup-wrapper"), this.options.class) {
706
- const n = this.options.class.split(" ");
707
- this.elPopup.classList.add(...n);
712
+ const i = this.options.class.split(" ");
713
+ this.elPopup.classList.add(...i);
708
714
  }
709
715
  this.options.notch && (this.elPopup.classList.add("with_notch"), this.elPopup.insertAdjacentHTML("beforeend", '<i class="notch notch-border"></i><i class="notch"></i>')), await this.vueOpen(), this.elPopupHeader = this.elPopupInner.querySelector(".top-popup_header"), this.elPopupWidget = this.elPopupInner.querySelector(".top-popup_widget"), this.elPopupBody = this.elPopupInner.querySelector(".top-popup_content"), this.elPopupFooter = this.elPopupInner.querySelector(".top-popup_footer");
710
716
  const p = !!this.elPopup.querySelector('[data-widget="search"]');
711
717
  if (this.options.isFullScreen && !p) {
712
- const n = P();
713
- !this.elPopupHeader && n.Common.Close && (this.elPopupHeader = r.genEl("i", { class: "top-popup_header" }), this.elPopupInner.prepend(this.elPopupHeader), this.elPopupHeader.prepend(r.genEl("i", { class: "a closer" }, n.Common.Close)), this.elPopupHeader.append(r.genEl("i", { class: "top-popup_headerButton" })));
718
+ const i = P();
719
+ !this.elPopupHeader && i.Common.Close && (this.elPopupHeader = n.genEl("i", { class: "top-popup_header" }), this.elPopupInner.prepend(this.elPopupHeader), this.elPopupHeader.prepend(n.genEl("i", { class: "a closer" }, i.Common.Close)), this.elPopupHeader.append(n.genEl("i", { class: "top-popup_headerButton" })));
714
720
  }
715
- r.storage(this.elPopup, "Popup", this), this.options.frontSelector && (this.elFront = document.querySelector(this.options.frontSelector)), this.elFront || (this.elFront = this.el.closest(".top-popup-front")), this.elFront || (this.elFront = document.body), this.elPopup instanceof HTMLElement && (this.elPopup.style.width = this.el.offsetWidth + "px", this.elPopup.style.height = this.el.offsetHeight + "px", this.elPopup.style.top = this.el.offsetTop + "px", this.elPopup.style.right = parseInt(this.el.style.right || "0") + "px", this.elPopup.style.bottom = parseInt(this.el.style.bottom || "0") + "px"), (i = this.el.parentElement) == null || i.insertBefore(this.elPopup, this.el), this.elPopup.classList.remove("template"), this.options.invertX && this.elPopup.classList.add("invert-x");
721
+ n.storage(this.elPopup, "Popup", this), this.options.frontSelector && (this.elFront = document.querySelector(this.options.frontSelector)), this.elFront || (this.elFront = this.el.closest(".top-popup-front")), this.elFront || (this.elFront = document.body), this.elPopup instanceof HTMLElement && (this.elPopup.style.width = this.el.offsetWidth + "px", this.elPopup.style.height = this.el.offsetHeight + "px", this.elPopup.style.top = this.el.offsetTop + "px", this.elPopup.style.right = parseInt(this.el.style.right || "0") + "px", this.elPopup.style.bottom = parseInt(this.el.style.bottom || "0") + "px"), (r = this.el.parentElement) == null || r.insertBefore(this.elPopup, this.el), this.elPopup.classList.remove("template"), this.options.invertX && this.elPopup.classList.add("invert-x");
716
722
  let o = !!this.el.closest(".modal-header");
717
723
  o || (o = !!this.el.closest("#top_panel")), o || (o = !!this.el.closest("#secondmenu")), o && this.elPopup.classList.add("p-from-top"), setTimeout(() => {
718
- var n;
719
- return (n = this.elPopup) == null ? void 0 : n.classList.add("top-popup-wrapper-shown");
720
- }), this.elFront && !this.elFront.matches("body") && (this.elFront.append(this.elPopup), this.shift.top = r.offset(this.el).top - this.el.offsetTop - r.offset(this.elFront).top, this.shift.left = r.offset(this.el).left - this.el.offsetLeft - r.offset(this.elFront).left, this.shift.top -= parseInt(this.el.style["margin-top"] || 0), this.shift.left -= parseInt(this.el.style["margin-left"] || 0), this.elPopup instanceof HTMLElement && (this.elPopup.style.top = parseInt(this.elPopup.style.top || "0") + this.shift.top + "px", this.elPopup.style.left = parseInt(this.elPopup.style.left || "0") + this.shift.left + "px")), this.$ && f.$ && this.$.trigger("aftershow.top-menu-popup", [f.$(this.elPopup)]), this.recalcPosition(), this.elPopup.setAttribute("tabindex", "0"), this.focus(), s.decoratorAfterOpen(this), this.mountEvents();
724
+ var i;
725
+ return (i = this.elPopup) == null ? void 0 : i.classList.add("top-popup-wrapper-shown");
726
+ }), this.elFront && !this.elFront.matches("body") && (this.elFront.append(this.elPopup), this.shift.top = n.offset(this.el).top - this.el.offsetTop - n.offset(this.elFront).top, this.shift.left = n.offset(this.el).left - this.el.offsetLeft - n.offset(this.elFront).left, this.shift.top -= parseInt(this.el.style["margin-top"] || 0), this.shift.left -= parseInt(this.el.style["margin-left"] || 0), this.elPopup instanceof HTMLElement && (this.elPopup.style.top = parseInt(this.elPopup.style.top || "0") + this.shift.top + "px", this.elPopup.style.left = parseInt(this.elPopup.style.left || "0") + this.shift.left + "px")), this.$ && f.$ && this.$.trigger("aftershow.top-menu-popup", [f.$(this.elPopup)]), this.recalcPosition(), this.elPopup.setAttribute("tabindex", "0"), this.focus(), s.decoratorAfterOpen(this), this.mountEvents();
721
727
  }
722
728
  async mountJQuery() {
723
729
  f.$ && (this.$ = f.$(this.el));
@@ -727,7 +733,7 @@ class x extends v {
727
733
  */
728
734
  focus() {
729
735
  let t;
730
- this.elPopup && (t = r.querySelectorVisible(this.elPopup, ".top-popup-autofocus"), t || (t = r.querySelectorVisible(this.elPopup, ":read-write, select:not(:disabled)")), t || (t = r.querySelectorVisible(this.elPopup, ".top-popup_footer .top-button")), t || (t = this.elPopup), t instanceof HTMLElement && t.focus(), setTimeout(() => {
736
+ this.elPopup && (t = n.querySelectorVisible(this.elPopup, ".top-popup-autofocus"), t || (t = n.querySelectorVisible(this.elPopup, ":read-write, select:not(:disabled)")), t || (t = n.querySelectorVisible(this.elPopup, ".top-popup_footer .top-button")), t || (t = this.elPopup), t instanceof HTMLElement && t.focus(), setTimeout(() => {
731
737
  t instanceof HTMLElement && t.focus();
732
738
  }, this.options.transitionDuration));
733
739
  }
@@ -740,8 +746,8 @@ class x extends v {
740
746
  onMousedown(t) {
741
747
  if (!this.elPopup || !(t.target instanceof Element) || !this.isFirstClick || (this.isFirstClick = !1, setTimeout(() => this.isFirstClick = !0), t instanceof MouseEvent && t.button !== 0))
742
748
  return;
743
- let p = r.querySelectorVisibleLast(document.body, ":scope > .top-popup-wrapper");
744
- p && p !== this.elPopup || t.target.closest(".top-popup-front") && (p = r.querySelectorVisibleLast(t.target.closest(".top-popup-front"), ":scope > .top-popup-wrapper"), p && p !== this.elPopup) || this.elPopup.contains(t.target) || this.elPopup.closest(".ui-dialog") && !t.target.closest(".ui-dialog") || s.decoratorIsIgnoreOuterClick(t) || s.close(this.elPopup);
749
+ let p = n.querySelectorVisibleLast(document.body, ":scope > .top-popup-wrapper");
750
+ p && p !== this.elPopup || t.target.closest(".top-popup-front") && (p = n.querySelectorVisibleLast(t.target.closest(".top-popup-front"), ":scope > .top-popup-wrapper"), p && p !== this.elPopup) || this.elPopup.contains(t.target) || this.elPopup.closest(".ui-dialog") && !t.target.closest(".ui-dialog") || s.decoratorIsIgnoreOuterClick(t) || s.close(this.elPopup);
745
751
  }
746
752
  /**
747
753
  * Закрыть другие Popup при фокусе на элемент формы в текущем
@@ -750,8 +756,8 @@ class x extends v {
750
756
  if (t.target instanceof Element && t.target.matches("input") || this.isClosed)
751
757
  return;
752
758
  s.getAllVisible().forEach((o) => {
753
- var e, i, n, u;
754
- (e = this.elPopup) != null && e.contains(o) || ((i = this.popupParent) == null ? void 0 : i.elPopup) === o || ((u = (n = this.popupParent) == null ? void 0 : n.popupParent) == null ? void 0 : u.elPopup) === o || s.close(o);
759
+ var e, r, i, u;
760
+ (e = this.elPopup) != null && e.contains(o) || ((r = this.popupParent) == null ? void 0 : r.elPopup) === o || ((u = (i = this.popupParent) == null ? void 0 : i.popupParent) == null ? void 0 : u.elPopup) === o || s.close(o);
755
761
  });
756
762
  }
757
763
  /**
@@ -766,7 +772,7 @@ class x extends v {
766
772
  * Контроль положения Popup при fixed позиционировании
767
773
  */
768
774
  onResize() {
769
- this.elPopup && this.elPopup.parentElement !== document.body && document.body.append(this.elPopup), this.elPopup instanceof HTMLElement && (this.elPopup.style.top = r.offset(this.el).top + "px", this.elPopup.style.left = r.offset(this.el).left + "px");
775
+ this.elPopup && this.elPopup.parentElement !== document.body && document.body.append(this.elPopup), this.elPopup instanceof HTMLElement && (this.elPopup.style.top = n.offset(this.el).top + "px", this.elPopup.style.left = n.offset(this.el).left + "px");
770
776
  }
771
777
  unmount() {
772
778
  super.unmount(), this.el instanceof HTMLElement && (this.el.dataset.topPopupOpened = ""), this.elActiveByDefault || this.el.classList.remove("top-active");
@@ -795,16 +801,16 @@ class x extends v {
795
801
  }
796
802
  const o = this.elPopup.getBoundingClientRect();
797
803
  this.elPopup.style.setProperty("--top-popup-height", this.elPopup.offsetHeight + "px"), this.elPopup.style.setProperty("--top-popup-right-bounding", o.right + "px"), this.elPopup.style.setProperty("--top-popup-bottom-bounding", o.bottom + "px"), this.elPopup.style.setProperty("--top-popup-top", o.top + "px"), this.elPopup.style.setProperty("--top-popup-left", o.left + "px"), this.elPopupInner instanceof HTMLElement && (this.elPopupInner.style.maxWidth = "unset", this.elPopupInner.style.maxHeight = "unset");
798
- let e = !1, i = !1, n = !1, u = !1, l = o.left > window.innerWidth / 2, d = o.top > window.innerHeight / 2;
804
+ let e = !1, r = !1, i = !1, u = !1, l = o.left > window.innerWidth / 2, d = o.top > window.innerHeight / 2;
799
805
  t === 4 && (l = !l), t === 1 && (d = !d);
800
806
  const h = (b = this.elPopupInner) == null ? void 0 : b.getBoundingClientRect();
801
807
  let a, c;
802
808
  if (h) {
803
809
  a = window.innerWidth - h.right, c = window.innerHeight - h.bottom;
804
810
  const g = 8;
805
- h.top < g && (e = !0), a < g && (i = !0), c < g && (n = !0), h.left < g && (u = !0);
811
+ h.top < g && (e = !0), a < g && (r = !0), c < g && (i = !0), h.left < g && (u = !0);
806
812
  }
807
- e && (t === 0 || t === 1) && d && (t = 3), n && t === 3 && d && (t = 1), i && t === 2 && l && (t = 4), u && t === 4 && l && (t = 2), i && (t === 0 || t === 1 || t === 3) && this.elPopup.classList.add("invert-x"), n && (t === 2 || t === 4) && d && (t === 2 && !l && this.elPopup.classList.add("invert-y"), t === 4 && !l && this.elPopup.classList.add("invert-x"), this.elPopup.matches(".invert-y") || (t = 1)), this.elPopup.classList.remove("p0", "p1", "p2", "p3", "p4"), this.elPopup.classList.add("p" + t), this.elPopupInner instanceof HTMLElement && (this.elPopupInner.style.maxWidth = "", this.elPopupInner.style.maxHeight = ""), s.scrollToActive(this.elPopup);
813
+ e && (t === 0 || t === 1) && d && (t = 3), i && t === 3 && d && (t = 1), r && t === 2 && l && (t = 4), u && t === 4 && l && (t = 2), r && (t === 0 || t === 1 || t === 3) && this.elPopup.classList.add("invert-x"), i && (t === 2 || t === 4) && d && (t === 2 && !l && this.elPopup.classList.add("invert-y"), t === 4 && !l && this.elPopup.classList.add("invert-x"), this.elPopup.matches(".invert-y") || (t = 1)), this.elPopup.classList.remove("p0", "p1", "p2", "p3", "p4"), this.elPopup.classList.add("p" + t), this.elPopupInner instanceof HTMLElement && (this.elPopupInner.style.maxWidth = "", this.elPopupInner.style.maxHeight = ""), s.scrollToActive(this.elPopup);
808
814
  }
809
815
  onTouchmove(t) {
810
816
  var p, o, e;
@@ -817,9 +823,9 @@ class x extends v {
817
823
  close() {
818
824
  var t;
819
825
  this.isClosed || (this.isClosed = !0, this.$ && f.$ && this.elPopup && this.$.trigger("afterclose.top-menu-popup", [f.$(this.elPopup)]), !s.noClose && (this.unmount(), (t = this.elPopup) == null || t.classList.add("top-popup-wrapper-closed"), setTimeout(() => {
820
- var e, i, n, u, l;
826
+ var e, r, i, u, l;
821
827
  if (this.vueClose(), !this.elPopup) return;
822
- this.options.useOriginal ? (this.elPopup.removeAttribute("style"), this.elPopup.classList.remove("top-popup-wrapper-shown", "top-popup-wrapper-closed"), this.elPopup.classList.add("template"), (e = this.elStartPosition) == null || e.append(this.elPopup), (i = this.elPopup.querySelector("div.top-popup_content.top-column")) == null || i.classList.remove("top-column"), (n = this.elPopup.querySelector(".notch-border")) == null || n.remove(), (u = this.elPopup.querySelector(".notch")) == null || u.remove(), (l = this.elPopupInner) == null || l.replaceWith(...this.elPopupInner.childNodes), r.storageClear(this.elPopup)) : (r.storageClear(this.elPopup), this.elPopup.remove(), delete this.elPopup);
828
+ this.options.useOriginal ? (this.elPopup.removeAttribute("style"), this.elPopup.classList.remove("top-popup-wrapper-shown", "top-popup-wrapper-closed"), this.elPopup.classList.add("template"), (e = this.elStartPosition) == null || e.append(this.elPopup), (r = this.elPopup.querySelector("div.top-popup_content.top-column")) == null || r.classList.remove("top-column"), (i = this.elPopup.querySelector(".notch-border")) == null || i.remove(), (u = this.elPopup.querySelector(".notch")) == null || u.remove(), (l = this.elPopupInner) == null || l.replaceWith(...this.elPopupInner.childNodes), n.storageClear(this.elPopup)) : (n.storageClear(this.elPopup), this.elPopup.remove(), delete this.elPopup);
823
829
  const p = s.getAllVisible(), o = p.length && p[p.length - 1];
824
830
  o ? s.getPopup(o).focus() : document.documentElement.classList.remove("with_popup");
825
831
  }, this.options.transitionDuration)));
@@ -842,4 +848,4 @@ export {
842
848
  x as Popup,
843
849
  x as default
844
850
  };
845
- //# sourceMappingURL=popup-Bc6YggdE.es.js.map
851
+ //# sourceMappingURL=popup-_a1ivPRI.es.js.map