@topvisor/ui 1.0.42-popupPosition.0 → 1.1.0-apiClient.1

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 (467) hide show
  1. package/.chunks/{core-BGKb9a73.es.js → core-CUCQCH9e.es.js} +4 -4
  2. package/.chunks/{core-BGKb9a73.es.js.map → core-CUCQCH9e.es.js.map} +1 -1
  3. package/.chunks/core-DQ7J2vig.amd.js +2 -0
  4. package/.chunks/{core-D-etXW3Y.amd.js.map → core-DQ7J2vig.amd.js.map} +1 -1
  5. package/.chunks/datepicker-DsKl-YZR.amd.js +2 -0
  6. package/.chunks/{datepicker-BWaVsTd0.amd.js.map → datepicker-DsKl-YZR.amd.js.map} +1 -1
  7. package/.chunks/{datepicker-DCDYQmsc.es.js → datepicker-U31BrqE_.es.js} +2 -2
  8. package/.chunks/{datepicker-DCDYQmsc.es.js.map → datepicker-U31BrqE_.es.js.map} +1 -1
  9. package/.chunks/{dialog_selectorRegions-BAK6xG6N.es.js → dialog_selectorRegions-C9751c-B.es.js} +4 -4
  10. package/.chunks/{dialog_selectorRegions-BAK6xG6N.es.js.map → dialog_selectorRegions-C9751c-B.es.js.map} +1 -1
  11. package/.chunks/dialog_selectorRegions-DcPd0Spw.amd.js +2 -0
  12. package/.chunks/{dialog_selectorRegions-CMI1gx5d.amd.js.map → dialog_selectorRegions-DcPd0Spw.amd.js.map} +1 -1
  13. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CXghec6S.amd.js +2 -0
  14. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CXghec6S.amd.js.map +1 -0
  15. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-CjUHErAY.es.js → dialogs.vue_vue_type_script_setup_true_lang-DjuN_1ox.es.js} +23 -23
  16. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-DjuN_1ox.es.js.map +1 -0
  17. package/.chunks/field-Cvv0SRcJ.amd.js +2 -0
  18. package/.chunks/field-Cvv0SRcJ.amd.js.map +1 -0
  19. package/.chunks/field-CyyFzM-Y.es.js +16 -0
  20. package/.chunks/field-CyyFzM-Y.es.js.map +1 -0
  21. package/.chunks/forms-DRhpgERJ.amd.js +3 -0
  22. package/.chunks/forms-DRhpgERJ.amd.js.map +1 -0
  23. package/.chunks/{forms-DOGPN_TR.es.js → forms-t2AEUjqg.es.js} +20 -20
  24. package/.chunks/forms-t2AEUjqg.es.js.map +1 -0
  25. package/.chunks/lazy-Dr-Frbwe.amd.js +2 -0
  26. package/.chunks/lazy-Dr-Frbwe.amd.js.map +1 -0
  27. package/.chunks/lazy-Dy9IVVUy.es.js +19 -0
  28. package/.chunks/lazy-Dy9IVVUy.es.js.map +1 -0
  29. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-B6psuRkm.es.js +184 -0
  30. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-B6psuRkm.es.js.map +1 -0
  31. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-C8PDRggQ.amd.js +2 -0
  32. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-C8PDRggQ.amd.js.map +1 -0
  33. package/.chunks/menu.vue_vue_type_style_index_0_lang-6kqWYFuX.es.js +110 -0
  34. package/.chunks/menu.vue_vue_type_style_index_0_lang-6kqWYFuX.es.js.map +1 -0
  35. package/.chunks/menu.vue_vue_type_style_index_0_lang-DRHk9iBB.amd.js +2 -0
  36. package/.chunks/menu.vue_vue_type_style_index_0_lang-DRHk9iBB.amd.js.map +1 -0
  37. package/.chunks/{notice-DE88Oe-t.es.js → notice-4bdzRXtl.es.js} +2 -2
  38. package/.chunks/{notice-DE88Oe-t.es.js.map → notice-4bdzRXtl.es.js.map} +1 -1
  39. package/.chunks/{notice-C5sXcBql.amd.js → notice-DQ9qFyQ2.amd.js} +3 -3
  40. package/.chunks/{notice-C5sXcBql.amd.js.map → notice-DQ9qFyQ2.amd.js.map} +1 -1
  41. package/.chunks/page.vue_vue_type_script_setup_true_lang-D4tsfsex.amd.js +2 -0
  42. package/.chunks/{page.vue_vue_type_script_setup_true_lang-DJSuza2e.amd.js.map → page.vue_vue_type_script_setup_true_lang-D4tsfsex.amd.js.map} +1 -1
  43. package/.chunks/{page.vue_vue_type_script_setup_true_lang-DFvul4oF.es.js → page.vue_vue_type_script_setup_true_lang-DseS_zy8.es.js} +4 -4
  44. package/.chunks/{page.vue_vue_type_script_setup_true_lang-DFvul4oF.es.js.map → page.vue_vue_type_script_setup_true_lang-DseS_zy8.es.js.map} +1 -1
  45. package/.chunks/{popup-BjsK_pMZ.es.js → popup-DuraSW2f.es.js} +84 -77
  46. package/.chunks/popup-DuraSW2f.es.js.map +1 -0
  47. package/.chunks/popup-IcMnYYXr.amd.js +2 -0
  48. package/.chunks/popup-IcMnYYXr.amd.js.map +1 -0
  49. package/.chunks/punycode.es6-CNOnFR2-.amd.js +2 -0
  50. package/.chunks/{punycode.es6-C2yitnNb.amd.js.map → punycode.es6-CNOnFR2-.amd.js.map} +1 -1
  51. package/.chunks/punycode.es6-CgGegfA_.es.js +134 -0
  52. package/.chunks/{punycode.es6-CNI-zL6U.es.js.map → punycode.es6-CgGegfA_.es.js.map} +1 -1
  53. package/.chunks/store-CX_6ZXhO.es.js.map +1 -1
  54. package/.chunks/store-YRW59xEF.amd.js +2 -0
  55. package/.chunks/{store-esTid5oI.amd.js.map → store-YRW59xEF.amd.js.map} +1 -1
  56. package/.chunks/utils-16CqqvVO.amd.js +2 -0
  57. package/.chunks/utils-16CqqvVO.amd.js.map +1 -0
  58. package/.chunks/{utils-CacKxWvO.es.js → utils-Bl2P0srR.es.js} +147 -146
  59. package/.chunks/utils-Bl2P0srR.es.js.map +1 -0
  60. package/.chunks/{utils-CRPkMfKD.es.js → utils-Ct2fnz3h.es.js} +2 -2
  61. package/.chunks/{utils-CRPkMfKD.es.js.map → utils-Ct2fnz3h.es.js.map} +1 -1
  62. package/.chunks/utils-g7NSc8VW.amd.js +2 -0
  63. package/.chunks/{utils-BVdq18mg.amd.js.map → utils-g7NSc8VW.amd.js.map} +1 -1
  64. package/api/additional.amd.js +2 -0
  65. package/api/additional.amd.js.map +1 -0
  66. package/api/additional.js +66 -0
  67. package/api/additional.js.map +1 -0
  68. package/api/index.amd.js +2 -0
  69. package/api/index.amd.js.map +1 -0
  70. package/api/index.js +257 -0
  71. package/api/index.js.map +1 -0
  72. package/assets/core.css +1 -1
  73. package/assets/forms.css +1 -1
  74. package/assets/formsExt.css +1 -1
  75. package/assets/project.css +1 -1
  76. package/charts/charts.amd.js +1 -1
  77. package/charts/charts.amd.js.map +1 -1
  78. package/charts/charts.js +1 -1
  79. package/charts/charts.js.map +1 -1
  80. package/core/app.amd.js +1 -1
  81. package/core/app.amd.js.map +1 -1
  82. package/core/app.js +5 -5
  83. package/core/app.js.map +1 -1
  84. package/dialog/dialog.amd.js +1 -1
  85. package/dialog/dialog.amd.js.map +1 -1
  86. package/dialog/dialog.js +2 -2
  87. package/dialog/dialog.js.map +1 -1
  88. package/extra/extra.amd.js +1 -1
  89. package/extra/extra.amd.js.map +1 -1
  90. package/extra/extra.js.map +1 -1
  91. package/forms/forms.amd.js +1 -1
  92. package/forms/forms.js +1 -1
  93. package/forms/helpers.amd.js +1 -1
  94. package/formsExt/formsExt.amd.js +1 -1
  95. package/formsExt/formsExt.amd.js.map +1 -1
  96. package/formsExt/formsExt.js +409 -320
  97. package/formsExt/formsExt.js.map +1 -1
  98. package/layout/layout.amd.js +1 -1
  99. package/layout/layout.amd.js.map +1 -1
  100. package/layout/layout.js +1 -1
  101. package/layout/layout.js.map +1 -1
  102. package/package.json +4 -2
  103. package/popup/popup.amd.js +1 -1
  104. package/popup/popup.amd.js.map +1 -1
  105. package/popup/popup.js +125 -109
  106. package/popup/popup.js.map +1 -1
  107. package/popup/worker.amd.js +1 -1
  108. package/popup/worker.amd.js.map +1 -1
  109. package/popup/worker.js +30 -21
  110. package/popup/worker.js.map +1 -1
  111. package/project/project.amd.js +1 -1
  112. package/project/project.amd.js.map +1 -1
  113. package/project/project.js +6 -6
  114. package/project/project.js.map +1 -1
  115. package/tabs/tabs.amd.js +1 -1
  116. package/tabs/tabs.amd.js.map +1 -1
  117. package/tabs/tabs.js.map +1 -1
  118. package/tabsView/tabsView.amd.js +1 -1
  119. package/tabsView/tabsView.amd.js.map +1 -1
  120. package/tabsView/tabsView.js +1 -1
  121. package/tabsView/tabsView.js.map +1 -1
  122. package/types/api/additional.d.ts +2 -0
  123. package/types/api/api/additional.d.ts +1 -0
  124. package/types/api/api/client/client.d.ts +55 -0
  125. package/types/api/api/client/request-options.d.ts +1 -0
  126. package/types/api/api/client/request.d.ts +2 -0
  127. package/types/api/api/index.d.ts +12 -0
  128. package/types/api/api/tests/model.d.ts +0 -0
  129. package/types/api/api/tests/test.d.ts +16 -0
  130. package/types/api/api/types/api.d.ts +139 -0
  131. package/types/api/api/types/client/middleware.d.ts +65 -0
  132. package/types/api/api/types/client/options.d.ts +60 -0
  133. package/types/api/api/types/client/request-context.d.ts +35 -0
  134. package/types/api/api/types/client/request-options.d.ts +73 -0
  135. package/types/api/api/types/client/request.d.ts +87 -0
  136. package/types/api/api/types/ext.d.ts +51 -0
  137. package/types/api/api/types/field.d.ts +33 -0
  138. package/types/api/api/types/index.d.ts +11 -0
  139. package/types/api/api/types/schema.d.ts +50 -0
  140. package/types/api/api/types/tv.d.ts +59 -0
  141. package/types/api/api/types/utils.d.ts +51 -0
  142. package/types/api/api/utils/common.d.ts +16 -0
  143. package/types/api/api/utils/field.d.ts +8 -0
  144. package/types/api/api/utils/filters.d.ts +48 -0
  145. package/types/api/api/utils/lazy.d.ts +13 -0
  146. package/types/api/index.d.ts +2 -0
  147. package/{components → types/components}/forms/button/button.vue.d.ts +2 -5
  148. package/{components → types/components}/forms/button/types.d.ts +10 -0
  149. package/{components → types/components}/forms/checkbox/checkbox.vue.d.ts +2 -2
  150. package/types/components/formsExt/policy/policy.vue.d.ts +8 -0
  151. package/types/components/formsExt/policy/types.d.ts +20 -0
  152. package/{components → types/components}/formsExt/selector2/composables/useAPI.d.ts +1 -1
  153. package/{components → types/components}/formsExt/selector2/composables/useMenu.d.ts +3 -1
  154. package/{components → types/components}/formsExt/selector2/selector2.vue.d.ts +11 -3
  155. package/{components → types/components}/formsExt/selector2/types.d.ts +50 -27
  156. package/types/components/popup/alert/alert.vue.d.ts +25 -0
  157. package/types/components/popup/alert/types.d.ts +8 -0
  158. package/types/components/popup/confirm/confirm.vue.d.ts +26 -0
  159. package/{components → types/components}/popup/confirm/types.d.ts +2 -2
  160. package/{components → types/components}/popup/lib/popup.d.ts +6 -2
  161. package/{components → types/components}/popup/lib/worker.d.ts +6 -4
  162. package/types/components/popup/popup/opener.vue.d.ts +17 -0
  163. package/types/components/popup/popup/popup.vue.d.ts +38 -0
  164. package/{components → types/components}/popup/popup/types.d.ts +20 -11
  165. package/types/components/popup/prompt/prompt.vue.d.ts +26 -0
  166. package/{components → types/components}/popup/prompt/types.d.ts +2 -2
  167. package/{core → types/core}/utils/string.d.ts +1 -1
  168. package/types/for-delete/dark-positions.d.ts +1 -0
  169. package/types/for-delete/dark-th-positions.d.ts +1 -0
  170. package/types/for-delete/dark-th.d.ts +1 -0
  171. package/types/for-delete/dark.d.ts +1 -0
  172. package/types/for-delete/light-positions.d.ts +1 -0
  173. package/types/for-delete/light.d.ts +1 -0
  174. package/types/forms/helpers.d.ts +1 -0
  175. package/utils/check.amd.js +1 -1
  176. package/utils/check.amd.js.map +1 -1
  177. package/utils/check.js.map +1 -1
  178. package/utils/clipboard.amd.js +2 -2
  179. package/utils/clipboard.amd.js.map +1 -1
  180. package/utils/clipboard.js +1 -1
  181. package/utils/clipboard.js.map +1 -1
  182. package/utils/date.amd.js +1 -1
  183. package/utils/date.js +1 -1
  184. package/utils/device.amd.js +1 -1
  185. package/utils/device.js +1 -1
  186. package/utils/dom.amd.js +1 -1
  187. package/utils/dom.amd.js.map +1 -1
  188. package/utils/dom.js.map +1 -1
  189. package/utils/image.amd.js +2 -2
  190. package/utils/image.amd.js.map +1 -1
  191. package/utils/image.js +1 -1
  192. package/utils/image.js.map +1 -1
  193. package/utils/keyboard.amd.js +1 -1
  194. package/utils/keyboard.amd.js.map +1 -1
  195. package/utils/keyboard.js.map +1 -1
  196. package/utils/lodash.amd.js +1 -1
  197. package/utils/lodash.js +1 -1
  198. package/utils/number.amd.js +1 -1
  199. package/utils/number.amd.js.map +1 -1
  200. package/utils/number.js.map +1 -1
  201. package/utils/price.amd.js +1 -1
  202. package/utils/price.amd.js.map +1 -1
  203. package/utils/price.js +1 -1
  204. package/utils/price.js.map +1 -1
  205. package/utils/route.amd.js +1 -1
  206. package/utils/route.amd.js.map +1 -1
  207. package/utils/route.js.map +1 -1
  208. package/utils/scroll.amd.js +1 -1
  209. package/utils/scroll.amd.js.map +1 -1
  210. package/utils/scroll.js.map +1 -1
  211. package/utils/searchers.amd.js +1 -1
  212. package/utils/searchers.amd.js.map +1 -1
  213. package/utils/searchers.js +3 -3
  214. package/utils/searchers.js.map +1 -1
  215. package/utils/store.amd.js +1 -1
  216. package/utils/string.amd.js +1 -1
  217. package/utils/string.amd.js.map +1 -1
  218. package/utils/string.js +34 -30
  219. package/utils/string.js.map +1 -1
  220. package/utils/system.amd.js +1 -1
  221. package/utils/system.amd.js.map +1 -1
  222. package/utils/system.js.map +1 -1
  223. package/utils/url.amd.js +2 -2
  224. package/utils/url.amd.js.map +1 -1
  225. package/utils/url.js +1 -1
  226. package/utils/url.js.map +1 -1
  227. package/.chunks/core-D-etXW3Y.amd.js +0 -2
  228. package/.chunks/datepicker-BWaVsTd0.amd.js +0 -2
  229. package/.chunks/dialog_selectorRegions-CMI1gx5d.amd.js +0 -2
  230. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BSxHPUWf.amd.js +0 -2
  231. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BSxHPUWf.amd.js.map +0 -1
  232. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CjUHErAY.es.js.map +0 -1
  233. package/.chunks/forms-DOGPN_TR.es.js.map +0 -1
  234. package/.chunks/forms-Gb7ujpmz.amd.js +0 -3
  235. package/.chunks/forms-Gb7ujpmz.amd.js.map +0 -1
  236. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CF_hIWa6.amd.js +0 -2
  237. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CF_hIWa6.amd.js.map +0 -1
  238. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CJQj81Yq.es.js +0 -181
  239. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CJQj81Yq.es.js.map +0 -1
  240. package/.chunks/menu.vue_vue_type_style_index_0_lang-CczcI_-j.amd.js +0 -2
  241. package/.chunks/menu.vue_vue_type_style_index_0_lang-CczcI_-j.amd.js.map +0 -1
  242. package/.chunks/menu.vue_vue_type_style_index_0_lang-Dq5eEX9i.es.js +0 -109
  243. package/.chunks/menu.vue_vue_type_style_index_0_lang-Dq5eEX9i.es.js.map +0 -1
  244. package/.chunks/page.vue_vue_type_script_setup_true_lang-DJSuza2e.amd.js +0 -2
  245. package/.chunks/popup-B_8bvIsF.amd.js +0 -2
  246. package/.chunks/popup-B_8bvIsF.amd.js.map +0 -1
  247. package/.chunks/popup-BjsK_pMZ.es.js.map +0 -1
  248. package/.chunks/punycode.es6-C2yitnNb.amd.js +0 -2
  249. package/.chunks/punycode.es6-CNI-zL6U.es.js +0 -134
  250. package/.chunks/store-esTid5oI.amd.js +0 -2
  251. package/.chunks/utils-BVdq18mg.amd.js +0 -2
  252. package/.chunks/utils-CacKxWvO.es.js.map +0 -1
  253. package/.chunks/utils-DiQZv1Ae.amd.js +0 -2
  254. package/.chunks/utils-DiQZv1Ae.amd.js.map +0 -1
  255. package/components/charts/miniChart/stories/dummy.d.ts +0 -13
  256. package/components/charts/miniCharts/stories/dummy.d.ts +0 -6
  257. package/components/dialog/dialog/stories/autoload.d.ts +0 -2
  258. package/components/forms/select/stories/exampleOptions.d.ts +0 -5
  259. package/components/formsExt/checkboxGroup/stories/example.d.ts +0 -15
  260. package/components/formsExt/menu/stories/items.d.ts +0 -3
  261. package/components/formsExt/policy/policy.vue.d.ts +0 -4
  262. package/components/formsExt/policy/types.d.ts +0 -10
  263. package/components/formsExt/radioGroup/stories/example.d.ts +0 -20
  264. package/components/formsExt/selector2/stories/dummyAPIRequest.d.ts +0 -10
  265. package/components/popup/alert/alert.vue.d.ts +0 -31
  266. package/components/popup/alert/types.d.ts +0 -8
  267. package/components/popup/confirm/confirm.vue.d.ts +0 -33
  268. package/components/popup/popup/opener.vue.d.ts +0 -23
  269. package/components/popup/popup/popup.vue.d.ts +0 -40
  270. package/components/popup/prompt/prompt.vue.d.ts +0 -33
  271. package/components/project/selectorCompetitors/stories/items.d.ts +0 -3
  272. package/components/project/selectorRegion/stories/searchers.d.ts +0 -3
  273. package/icomoon/Topvisor icons.json +0 -6635
  274. package/{charts → types/charts}/charts.d.ts +0 -0
  275. package/{components → types/components}/charts/charts.d.ts +0 -0
  276. package/{components → types/components}/charts/miniChart/miniChart.vue.d.ts +0 -0
  277. package/{components → types/components}/charts/miniChart/types.d.ts +0 -0
  278. package/{components → types/components}/charts/miniChart/utils/consts.d.ts +0 -0
  279. package/{components → types/components}/charts/miniCharts/miniCharts.d.ts +0 -0
  280. package/{components → types/components}/charts/miniCharts/miniCharts.vue.d.ts +0 -0
  281. package/{components → types/components}/core/notice/item/item.vue.d.ts +0 -0
  282. package/{components → types/components}/core/notice/item/types.d.ts +0 -0
  283. package/{components → types/components}/core/notice/notice.vue.d.ts +0 -0
  284. package/{components → types/components}/core/notice/types.d.ts +0 -0
  285. package/{components → types/components}/core/notice/utils.d.ts +0 -0
  286. package/{components → types/components}/dialog/dialog/composables/asyncDialogHandle.d.ts +0 -0
  287. package/{components → types/components}/dialog/dialog/composables/dialogHandle.d.ts +0 -0
  288. package/{components → types/components}/dialog/dialog/composables/types.d.ts +0 -0
  289. package/{components → types/components}/dialog/dialog/composables/utils.d.ts +0 -0
  290. package/{components → types/components}/dialog/dialog/dialog.vue.d.ts +0 -0
  291. package/{components → types/components}/dialog/dialog/dialogs/dialogs.vue.d.ts +0 -0
  292. package/{components → types/components}/dialog/dialog/page/page.vue.d.ts +0 -0
  293. package/{components → types/components}/dialog/dialog/page/types.d.ts +0 -0
  294. package/{components → types/components}/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -0
  295. package/{components → types/components}/dialog/dialog/pageComponent/types.d.ts +0 -0
  296. package/{components → types/components}/dialog/dialog/stories/dialog_example/pages/utils.d.ts +0 -0
  297. package/{components → types/components}/dialog/dialog/types.d.ts +0 -0
  298. package/{components → types/components}/dialog/dialog.d.ts +0 -0
  299. package/{components → types/components}/dialog/lib/types.d.ts +0 -0
  300. package/{components → types/components}/dialog/lib/utils.d.ts +0 -0
  301. package/{components → types/components}/dialog/lib/utils.globalEvents.d.ts +0 -0
  302. package/{components → types/components}/dialog/lib/worker.d.ts +0 -0
  303. package/{components → types/components}/extra/extra.d.ts +0 -0
  304. package/{components → types/components}/extra/rive/rive.vue.d.ts +0 -0
  305. package/{components → types/components}/extra/rive/types.d.ts +0 -0
  306. package/{components → types/components}/forms/avatar/avatar.vue.d.ts +1 -1
  307. /package/{components → types/components}/forms/avatar/types.d.ts +0 -0
  308. /package/{components → types/components}/forms/caption/caption.vue.d.ts +0 -0
  309. /package/{components → types/components}/forms/caption/types.d.ts +0 -0
  310. /package/{components → types/components}/forms/checkbox/types.d.ts +0 -0
  311. /package/{components → types/components}/forms/controlLabel/controlLabel.vue.d.ts +0 -0
  312. /package/{components → types/components}/forms/controlLabel/types.d.ts +0 -0
  313. /package/{components → types/components}/forms/forms.d.ts +0 -0
  314. /package/{components → types/components}/forms/helpers.d.ts +0 -0
  315. /package/{components → types/components}/forms/hint/hint.vue.d.ts +0 -0
  316. /package/{components → types/components}/forms/hint/types.d.ts +0 -0
  317. /package/{components → types/components}/forms/input/input.vue.d.ts +0 -0
  318. /package/{components → types/components}/forms/input/types.d.ts +0 -0
  319. /package/{components → types/components}/forms/inputDate/datepicker.d.ts +0 -0
  320. /package/{components → types/components}/forms/inputDate/inputDate.vue.d.ts +0 -0
  321. /package/{components → types/components}/forms/inputDate/types.d.ts +0 -0
  322. /package/{components → types/components}/forms/inputRange/inputRange.vue.d.ts +0 -0
  323. /package/{components → types/components}/forms/inputRange/types.d.ts +0 -0
  324. /package/{components → types/components}/forms/loadbar/loadbar.vue.d.ts +0 -0
  325. /package/{components → types/components}/forms/preloader/preloader.vue.d.ts +0 -0
  326. /package/{components → types/components}/forms/preloader/types.d.ts +0 -0
  327. /package/{components → types/components}/forms/radio/radio.vue.d.ts +0 -0
  328. /package/{components → types/components}/forms/radio/types.d.ts +0 -0
  329. /package/{components → types/components}/forms/select/select.vue.d.ts +0 -0
  330. /package/{components → types/components}/forms/select/types.d.ts +0 -0
  331. /package/{components → types/components}/forms/switcher/switcher.vue.d.ts +0 -0
  332. /package/{components → types/components}/forms/switcher/types.d.ts +0 -0
  333. /package/{components → types/components}/forms/textarea/textarea.vue.d.ts +0 -0
  334. /package/{components → types/components}/forms/textarea/types.d.ts +0 -0
  335. /package/{components → types/components}/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +0 -0
  336. /package/{components → types/components}/formsExt/checkboxGroup/types.d.ts +0 -0
  337. /package/{components → types/components}/formsExt/editArea/editArea.vue.d.ts +0 -0
  338. /package/{components → types/components}/formsExt/editArea/types.d.ts +0 -0
  339. /package/{components → types/components}/formsExt/editInput/editInput.vue.d.ts +0 -0
  340. /package/{components → types/components}/formsExt/editInput/types.d.ts +0 -0
  341. /package/{components → types/components}/formsExt/formsExt.d.ts +0 -0
  342. /package/{components → types/components}/formsExt/info/info.vue.d.ts +0 -0
  343. /package/{components → types/components}/formsExt/info/types.d.ts +0 -0
  344. /package/{components → types/components}/formsExt/menu/menu.vue.d.ts +0 -0
  345. /package/{components → types/components}/formsExt/menu/types.d.ts +0 -0
  346. /package/{components → types/components}/formsExt/radioGroup/radioGroup.vue.d.ts +0 -0
  347. /package/{components → types/components}/formsExt/radioGroup/types.d.ts +0 -0
  348. /package/{components → types/components}/formsExt/selector2/itemMulti.vue.d.ts +0 -0
  349. /package/{components → types/components}/formsExt/selector2/utils.d.ts +0 -0
  350. /package/{components → types/components}/layout/islandRows/islandRows.vue.d.ts +0 -0
  351. /package/{components → types/components}/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -0
  352. /package/{components → types/components}/layout/islandRows/islandRowsRow/types.d.ts +0 -0
  353. /package/{components → types/components}/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -0
  354. /package/{components → types/components}/layout/islandRows/types.d.ts +0 -0
  355. /package/{components → types/components}/layout/layout.d.ts +0 -0
  356. /package/{components → types/components}/layout/rows/rows.vue.d.ts +0 -0
  357. /package/{components → types/components}/layout/rows/types.d.ts +0 -0
  358. /package/{components → types/components}/popup/lib/popup.globalEvents.d.ts +0 -0
  359. /package/{components → types/components}/popup/lib/worker.globalEvents.d.ts +0 -0
  360. /package/{components → types/components}/popup/popup/listItem.vue.d.ts +0 -0
  361. /package/{components → types/components}/popup/popup/widgetInput.vue.d.ts +0 -0
  362. /package/{components → types/components}/popup/popup.d.ts +0 -0
  363. /package/{components → types/components}/popup/worker.d.ts +0 -0
  364. /package/{components → types/components}/project/project.d.ts +0 -0
  365. /package/{components → types/components}/project/selectorCompetitors/composables.d.ts +0 -0
  366. /package/{components → types/components}/project/selectorCompetitors/selectorCompetitors.vue.d.ts +0 -0
  367. /package/{components → types/components}/project/selectorCompetitors/types.d.ts +0 -0
  368. /package/{components → types/components}/project/selectorRegion/composables/compare.d.ts +0 -0
  369. /package/{components → types/components}/project/selectorRegion/composables/selectRegion.d.ts +0 -0
  370. /package/{components → types/components}/project/selectorRegion/composables/selectSearcher.d.ts +0 -0
  371. /package/{components → types/components}/project/selectorRegion/composables/selectorRegion.d.ts +0 -0
  372. /package/{components → types/components}/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue.d.ts +0 -0
  373. /package/{components → types/components}/project/selectorRegion/dialog_selectorRegions/types.d.ts +0 -0
  374. /package/{components → types/components}/project/selectorRegion/selectorRegion.vue.d.ts +0 -0
  375. /package/{components → types/components}/project/selectorRegion/types.d.ts +0 -0
  376. /package/{components → types/components}/project/selectorRegion/utils/consts.d.ts +0 -0
  377. /package/{components → types/components}/project/selectorRegion/utils/utils.d.ts +0 -0
  378. /package/{components → types/components}/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -0
  379. /package/{components → types/components}/project/tagSelector/popupListItem/types.d.ts +0 -0
  380. /package/{components → types/components}/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -0
  381. /package/{components → types/components}/project/tagSelector/popupOpener/types.d.ts +0 -0
  382. /package/{components → types/components}/project/tagSelector/tagIcon/tagIcon.vue.d.ts +0 -0
  383. /package/{components → types/components}/project/tagSelector/tagIcon/types.d.ts +0 -0
  384. /package/{components → types/components}/project/tagSelector/tagSelector.vue.d.ts +0 -0
  385. /package/{components → types/components}/project/tagSelector/tagsDefaults.d.ts +0 -0
  386. /package/{components → types/components}/project/tagSelector/types.d.ts +0 -0
  387. /package/{components → types/components}/project/tagSelector/utils/el.d.ts +0 -0
  388. /package/{components → types/components}/project/tagSelector/utils/utils.d.ts +0 -0
  389. /package/{components → types/components}/tabs/tabs/content.vue.d.ts +0 -0
  390. /package/{components → types/components}/tabs/tabs/tab.vue.d.ts +0 -0
  391. /package/{components → types/components}/tabs/tabs/tabs.vue.d.ts +0 -0
  392. /package/{components → types/components}/tabs/tabs/types.d.ts +0 -0
  393. /package/{components → types/components}/tabs/tabs.d.ts +0 -0
  394. /package/{components → types/components}/tabsView/tabsView/menu.vue.d.ts +0 -0
  395. /package/{components → types/components}/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -0
  396. /package/{components → types/components}/tabsView/tabsView/menuItem.vue.d.ts +0 -0
  397. /package/{components → types/components}/tabsView/tabsView/menuTitle.vue.d.ts +0 -0
  398. /package/{components → types/components}/tabsView/tabsView/store.d.ts +0 -0
  399. /package/{components → types/components}/tabsView/tabsView/tabsView.vue.d.ts +0 -0
  400. /package/{components → types/components}/tabsView/tabsView/types.d.ts +0 -0
  401. /package/{components → types/components}/tabsView/tabsView/utils.d.ts +0 -0
  402. /package/{components → types/components}/tabsView/tabsView.d.ts +0 -0
  403. /package/{core → types/core}/app.d.ts +0 -0
  404. /package/{core → types/core}/core/core.d.ts +0 -0
  405. /package/{core → types/core}/core/events/resize.d.ts +0 -0
  406. /package/{core → types/core}/core/events.d.ts +0 -0
  407. /package/{core → types/core}/core/options.d.ts +0 -0
  408. /package/{core → types/core}/core/preloaders.d.ts +0 -0
  409. /package/{core → types/core}/core/state.d.ts +0 -0
  410. /package/{core → types/core}/directives/data.d.ts +0 -0
  411. /package/{core → types/core}/directives/focus.d.ts +0 -0
  412. /package/{core → types/core}/directives/preloader.d.ts +0 -0
  413. /package/{core → types/core}/directives/scrollIntoView.d.ts +0 -0
  414. /package/{core → types/core}/directives/scrollShadow.d.ts +0 -0
  415. /package/{core → types/core}/directives/sticky.d.ts +0 -0
  416. /package/{core → types/core}/directives/swimUp.d.ts +0 -0
  417. /package/{core → types/core}/directives/tooltip.d.ts +0 -0
  418. /package/{core → types/core}/plugins/core.d.ts +0 -0
  419. /package/{core → types/core}/plugins/i18n.d.ts +0 -0
  420. /package/{core → types/core}/plugins/piniaTPA.d.ts +0 -0
  421. /package/{core → types/core}/utils/check.d.ts +0 -0
  422. /package/{core → types/core}/utils/clipboard.d.ts +0 -0
  423. /package/{core → types/core}/utils/date.d.ts +0 -0
  424. /package/{core → types/core}/utils/device.d.ts +0 -0
  425. /package/{core → types/core}/utils/dom.d.ts +0 -0
  426. /package/{core → types/core}/utils/image.d.ts +0 -0
  427. /package/{core → types/core}/utils/keyboard.d.ts +0 -0
  428. /package/{core → types/core}/utils/lodash.d.ts +0 -0
  429. /package/{core → types/core}/utils/number.d.ts +0 -0
  430. /package/{core → types/core}/utils/price.d.ts +0 -0
  431. /package/{core → types/core}/utils/route.d.ts +0 -0
  432. /package/{core → types/core}/utils/scroll.d.ts +0 -0
  433. /package/{core → types/core}/utils/searchers.d.ts +0 -0
  434. /package/{core → types/core}/utils/store/localStorage.d.ts +0 -0
  435. /package/{core → types/core}/utils/store/plugin.d.ts +0 -0
  436. /package/{core → types/core}/utils/store/store.d.ts +0 -0
  437. /package/{core → types/core}/utils/store.d.ts +0 -0
  438. /package/{core → types/core}/utils/system.d.ts +0 -0
  439. /package/{core → types/core}/utils/url.d.ts +0 -0
  440. /package/{dialog → types/dialog}/dialog.d.ts +0 -0
  441. /package/{extra → types/extra}/extra.d.ts +0 -0
  442. /package/{forms/helpers.d.ts → types/for-delete/core.d.ts} +0 -0
  443. /package/{forms → types/forms}/forms.d.ts +0 -0
  444. /package/{formsExt → types/formsExt}/formsExt.d.ts +0 -0
  445. /package/{layout → types/layout}/layout.d.ts +0 -0
  446. /package/{popup → types/popup}/popup.d.ts +0 -0
  447. /package/{popup → types/popup}/worker.d.ts +0 -0
  448. /package/{project → types/project}/project.d.ts +0 -0
  449. /package/{tabs → types/tabs}/tabs.d.ts +0 -0
  450. /package/{tabsView → types/tabsView}/tabsView.d.ts +0 -0
  451. /package/{utils → types/utils}/check.d.ts +0 -0
  452. /package/{utils → types/utils}/clipboard.d.ts +0 -0
  453. /package/{utils → types/utils}/date.d.ts +0 -0
  454. /package/{utils → types/utils}/device.d.ts +0 -0
  455. /package/{utils → types/utils}/dom.d.ts +0 -0
  456. /package/{utils → types/utils}/image.d.ts +0 -0
  457. /package/{utils → types/utils}/keyboard.d.ts +0 -0
  458. /package/{utils → types/utils}/lodash.d.ts +0 -0
  459. /package/{utils → types/utils}/number.d.ts +0 -0
  460. /package/{utils → types/utils}/price.d.ts +0 -0
  461. /package/{utils → types/utils}/route.d.ts +0 -0
  462. /package/{utils → types/utils}/scroll.d.ts +0 -0
  463. /package/{utils → types/utils}/searchers.d.ts +0 -0
  464. /package/{utils → types/utils}/store.d.ts +0 -0
  465. /package/{utils → types/utils}/string.d.ts +0 -0
  466. /package/{utils → types/utils}/system.d.ts +0 -0
  467. /package/{utils → types/utils}/url.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"listItem.vue_vue_type_script_setup_true_lang-CF_hIWa6.amd.js","sources":["../../src/components/popup/popup/opener.vue","../../src/components/popup/popup/popup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\n\nconst props = withDefaults(defineProps<OpenerProps>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внтурь элемента слота\n *\n * @param el - вспомогательрный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\tpointer-events: none;\n\tcursor: auto !important;\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits>();\n\nconst expose = {\n\tpopup: undefined as TopLibPopup | undefined,\n};\ndefineExpose(expose);\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id=\"id\"\n\t\t:pos=\"pos\"\n\t\t:posBy=\"posBy\"\n\t\t:notch=\"notch\"\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n"],"names":["id","props","elOpener","render","el","renderOpener","elOpener2","elPopupRef","vue","elPopupInnerRef","popup","vueConnector","expose","emit","delClasses","oldClass","newClasses","popup_worker"],"mappings":"+WAUAA,EAAAC,EAAA,IAAA,KAAA,OAAA,EAAA,GAEA,IAAAC,EAOA,SAAAC,EAAAC,EAAA,iBAEEF,EAAAE,EAAA,0BAIA,CAAA,CACA,yBAMD,CAAA,EAGD,SAAAC,EAAAC,EAAA,0BAQCA,EAAA,QAAA,WAAAN,8DAGAM,EAAA,QAAA,cAAAL,EAAA,MAAA,OAAA,GACAK,EAAA,QAAA,oBAAAL,EAAA,YAAA,OAAA,EAAoE,4nBC9BtD,MAAA,aAKf,MAAAD,EAAAC,EAAA,IAAA,gBAAA,KAAA,OAAA,EAEAM,EAAAC,EAAA,IAAA,IAAA,EACAC,EAAAD,EAAA,IAAA,IAAA,KA8BqB,OA3BrB,MAAAE,GAAA,gCAGCA,EAAA,eACCA,EAAA,aAAA,UAAA,GAEAD,EAAA,MAAAC,EAAA,cAGDC,EAAA,OAAA,GACAA,EAAA,MAAAD,EAEAE,EAAA,MAAAF,EAEAG,EAAA,OAAA,CAAA,QAAAH,EAAA,QAAA,cAAAA,EAAA,EAAA,CAAA,GAcA,QAVDA,GAAA,CACCD,EAAA,MAAA,KAEAE,EAAA,OAAA,GACAA,EAAA,MAAA,OAEAE,EAAA,QAAA,CAAA,QAAAH,EAAA,QAAA,cAAAA,EAAA,EAAA,CAAA,GAKA,SAAAF,EAAA,MAAAP,EAAA,OAAA,yBAGO,sBAAAO,EAAA,MAAAP,EAAA,oBAAA,sCAKP,GAAA,CAAAM,EAAA,MAAA,iDAKAO,sCAAA,OAAAC,GAAA,CAAAC,EAAA,SAAAD,CAAA,CAAA,4DAG4C,CAAA,EAG7CE,EAAA,eAAA,gBAAAjB,EAAAW,CAAA,qBAGCM,EAAA,eAAA,kBAAAjB,CAAA,CAA2B,CAAA"}
@@ -1,181 +0,0 @@
1
- import { Core as I } from "../core/app.js";
2
- import { defineComponent as C, onUpdated as H, createElementBlock as n, openBlock as s, Fragment as S, createElementVNode as M, renderSlot as a, ref as B, toRef as P, watch as N, onUnmounted as w, resolveDirective as R, createBlock as h, createCommentVNode as l, unref as T, withCtx as b, Teleport as E, withDirectives as k, toDisplayString as U, createVNode as A, normalizeClass as O, resolveDynamicComponent as W, mergeProps as z } from "vue";
3
- import { e as F } from "./forms-DOGPN_TR.es.js";
4
- import { TopPopupWorker as _ } from "../popup/worker.js";
5
- const D = ["../assets/listItem.css"].map((i) => import.meta.resolve(i));
6
- I.insertCSSLinkToPage(D, !0);
7
- const j = /* @__PURE__ */ C({
8
- __name: "opener",
9
- props: {
10
- id: {},
11
- pos: { default: "3" },
12
- notch: { type: Boolean, default: !0 },
13
- openByHover: { type: Boolean },
14
- posBy: { default: "fixed" }
15
- },
16
- setup(i) {
17
- const t = i, r = t.id || Math.random() + "";
18
- let p;
19
- function y(o) {
20
- setTimeout(() => {
21
- p = o.nextElementSibling, p && d(p);
22
- });
23
- }
24
- H(() => {
25
- p && d(p);
26
- });
27
- function d(o) {
28
- o.dataset.topPopup = "#" + r, o.dataset.topPopupId = r, o.dataset.topPopupPos = t.pos, o.dataset.topPopupPosBy = t.posBy, o.dataset.topPopupNotch = t.notch ? "true" : "", o.dataset.topPopupOpenByHover = t.openByHover ? "true" : "";
29
- }
30
- return (o, c) => (s(), n(S, null, [
31
- M("template", { ref: y }),
32
- a(o.$slots, "default")
33
- ], 64));
34
- }
35
- }), q = {
36
- key: 0,
37
- class: "top-popup_header"
38
- }, G = {
39
- key: 0,
40
- class: "top-as-a closer"
41
- }, J = {
42
- key: 1,
43
- class: "top-popup_widget"
44
- }, K = {
45
- key: 2,
46
- class: "top-popup_content"
47
- }, Q = {
48
- key: 4,
49
- class: "top-popup_footer"
50
- }, X = ["href"], te = /* @__PURE__ */ C({
51
- __name: "popup",
52
- props: {
53
- id: { default: "" },
54
- class: {},
55
- transitionDuration: {},
56
- footerSupportLink: {},
57
- pos: { default: "3" },
58
- notch: { type: Boolean, default: !0 },
59
- openByHover: { type: Boolean },
60
- posBy: { default: "fixed" }
61
- },
62
- emits: ["open", "close", "scrollContentList"],
63
- setup(i, { expose: t, emit: r }) {
64
- const p = i, y = r, d = {
65
- popup: void 0
66
- };
67
- t(d);
68
- const o = p.id || "top-popup-id-" + Math.random(), c = B(null), v = B(null), f = {
69
- onOpen: async (e) => {
70
- e.elPopup && (c.value = e.elPopup), e.elPopupInner && (e.elPopupInner.innerText = "", v.value = e.elPopupInner), f.opened = !0, f.popup = e, d.popup = e, y("open", { elPopup: e.elPopup, elPopupOpener: e.el });
71
- },
72
- onClose: (e) => {
73
- v.value = null, f.opened = !1, f.popup = void 0, y("close", { elPopup: e.elPopup, elPopupOpener: e.el });
74
- },
75
- classRef: P(p, "class"),
76
- opened: !1,
77
- popup: void 0,
78
- transitionDurationRef: P(p, "transitionDuration")
79
- };
80
- return N(() => p.class, (e, u) => {
81
- if (!c.value) return;
82
- const m = (e == null ? void 0 : e.split(" ")) ?? [], L = ((u == null ? void 0 : u.split(" ")) ?? []).filter((g) => !m.includes(g));
83
- c.value.classList.remove(...L), c.value.classList.add(...m);
84
- }), _.regVueComponent(o, f), w(() => {
85
- _.unregVueComponent(o);
86
- }), (e, u) => {
87
- const m = R("top-scroll-shadow");
88
- return s(), n(S, null, [
89
- e.$slots.opener ? (s(), h(j, {
90
- key: 0,
91
- id: T(o),
92
- pos: e.pos,
93
- posBy: e.posBy,
94
- notch: e.notch,
95
- openByHover: e.$core.state.isMobile || e.$core.state.isMobileUA ? !1 : e.openByHover
96
- }, {
97
- default: b(() => [
98
- a(e.$slots, "opener")
99
- ]),
100
- _: 3
101
- }, 8, ["id", "pos", "posBy", "notch", "openByHover"])) : l("", !0),
102
- v.value ? (s(), h(E, {
103
- key: 1,
104
- to: v.value
105
- }, [
106
- e.$slots.header || e.$core.state.isMobile ? (s(), n("div", q, [
107
- e.$core.state.isMobile ? (s(), n("span", G, U(e.$i18n.Common.Close), 1)) : l("", !0),
108
- a(e.$slots, "header")
109
- ])) : l("", !0),
110
- e.$slots.widget ? (s(), n("div", J, [
111
- a(e.$slots, "widget")
112
- ])) : l("", !0),
113
- e.$slots.content ? k((s(), n("div", K, [
114
- a(e.$slots, "content")
115
- ])), [
116
- [m]
117
- ]) : l("", !0),
118
- e.$slots.contentList ? k((s(), n("ul", {
119
- key: 3,
120
- class: "top-popup_content",
121
- onScroll: u[0] || (u[0] = ($) => e.$emit("scrollContentList", $))
122
- }, [
123
- a(e.$slots, "contentList")
124
- ], 32)), [
125
- [m]
126
- ]) : l("", !0),
127
- e.$slots.footer || e.footerSupportLink ? (s(), n("div", Q, [
128
- e.footerSupportLink ? (s(), n("a", {
129
- key: 0,
130
- class: "top-popup_footerSupportLink",
131
- href: e.footerSupportLink,
132
- target: "_blank"
133
- }, [
134
- A(F, { hint: "" })
135
- ], 8, X)) : l("", !0),
136
- a(e.$slots, "footer")
137
- ])) : l("", !0)
138
- ], 8, ["to"])) : l("", !0)
139
- ], 64);
140
- };
141
- }
142
- }), se = /* @__PURE__ */ C({
143
- inheritAttrs: !1,
144
- __name: "listItem",
145
- props: {
146
- type: { default: "button" },
147
- closeByClick: { type: Boolean, default: !0 }
148
- },
149
- setup(i) {
150
- const t = i;
151
- return (r, p) => (s(), n("li", {
152
- class: O({
153
- "top-popup_liNoSelectable": t.type !== "button"
154
- })
155
- }, [
156
- (s(), h(W(r.$attrs.href ? "a" : "div"), z({
157
- class: {
158
- "top-popup_listItem": !0,
159
- "top-popup_listItem-button": t.type === "button",
160
- // оформления кнопки
161
- a: t.type === "button",
162
- // оформления кнопки, deprecated
163
- "top-popup_listItem-title": t.type === "title",
164
- "top-popup_listItem-delimiter": t.type === "delimiter",
165
- "top-popup-noCloser": !r.closeByClick
166
- }
167
- }, r.$attrs), {
168
- default: b(() => [
169
- a(r.$slots, "default")
170
- ]),
171
- _: 3
172
- }, 16, ["class"]))
173
- ], 2));
174
- }
175
- });
176
- export {
177
- te as _,
178
- se as a,
179
- j as b
180
- };
181
- //# sourceMappingURL=listItem.vue_vue_type_script_setup_true_lang-CJQj81Yq.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listItem.vue_vue_type_script_setup_true_lang-CJQj81Yq.es.js","sources":["../../src/components/popup/popup/opener.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/listItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\n\nconst props = withDefaults(defineProps<OpenerProps>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внтурь элемента слота\n *\n * @param el - вспомогательрный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\tpointer-events: none;\n\tcursor: auto !important;\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits>();\n\nconst expose = {\n\tpopup: undefined as TopLibPopup | undefined,\n};\ndefineExpose(expose);\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id=\"id\"\n\t\t:pos=\"pos\"\n\t\t:posBy=\"posBy\"\n\t\t:notch=\"notch\"\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { ListItemProps } from './types';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<ListItemProps>(), {\n\ttype: 'button',\n\tcloseByClick: true,\n});\n</script>\n\n<template>\n\t<li\n\t\t:class=\"{\n\t\t'top-popup_liNoSelectable': props.type !== 'button'\n\t}\"\n\t>\n\t\t<component\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\n\t\t\t:class=\"{\n\t\t\t\t'top-popup_listItem': true,\n\t\t\t\t'top-popup_listItem-button': props.type === 'button', // оформления кнопки\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\n\t\t\t\t'top-popup_listItem-title': props.type === 'title',\n\t\t\t\t'top-popup_listItem-delimiter': props.type === 'delimiter',\n\t\t\t\t'top-popup-noCloser': !closeByClick\n\t\t\t}\"\n\t\t\t:=$attrs\n\t\t>\n\t\t\t<slot></slot>\n\t\t</component>\n\t</li>\n</template>\n"],"names":["props","__props","id","elOpener","render","el","renderOpener","onUpdated","elOpener2","emit","__emit","expose","__expose","elPopupRef","ref","elPopupInnerRef","vueConnector","popup","toRef","watch","newValue","oldValue","newClasses","delClasses","oldClass","Worker","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;AAIA,UAAAA,IAAAC,GAMAC,IAAAF,EAAA,MAAA,KAAA,OAAA,IAAA;AAEA,QAAAG;AAOA,aAAAC,EAAAC,GAAA;AACC,iBAAA,MAAA;AACC,QAAAF,IAAAE,EAAA,oBAEAF,KACCG,EAAAH,CAAA;AAAA,MACD,CAAA;AAAA,IACA;AAGF,IAAAI,EAAA,MAAA;AACC,MAAAJ,KACCG,EAAAH,CAAA;AAAA,IACD,CAAA;AAGD,aAAAG,EAAAE,GAAA;AAMC,MAAAA,EAAA,QAAA,WAAA,MAAAN,GAEAM,EAAA,QAAA,aAAAN,GACAM,EAAA,QAAA,cAAAR,EAAA,KACAQ,EAAA,QAAA,gBAAAR,EAAA,OACAQ,EAAA,QAAA,gBAAAR,EAAA,QAAA,SAAA,IACAQ,EAAA,QAAA,sBAAAR,EAAA,cAAA,SAAA;AAAA,IAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCrE,UAAAA,IAAAC,GAOAQ,IAAAC,GAEAC,IAAA;AAAA,MAAe,OAAA;AAAA,IACP;AAER,IAAAC,EAAAD,CAAA;AAEA,UAAAT,IAAAF,EAAA,MAAA,kBAAA,KAAA,OAAA,GAEAa,IAAAC,EAAA,IAAA,GACAC,IAAAD,EAAA,IAAA,GA8BAE,IAAA;AAAA,MAAqB,QA3BrB,OAAAC,MAAA;AACC,QAAAA,EAAA,YAAAJ,EAAA,QAAAI,EAAA,UAEAA,EAAA,iBACCA,EAAA,aAAA,YAAA,IAEAF,EAAA,QAAAE,EAAA,eAGDD,EAAA,SAAA,IACAA,EAAA,QAAAC,GAEAN,EAAA,QAAAM,GAEAR,EAAA,QAAA,EAAA,SAAAQ,EAAA,SAAA,eAAAA,EAAA,GAAA,CAAA;AAAA,MAAiE;AAAA,MAcjE,SAVD,CAAAA,MAAA;AACC,QAAAF,EAAA,QAAA,MAEAC,EAAA,SAAA,IACAA,EAAA,QAAA,QAEAP,EAAA,SAAA,EAAA,SAAAQ,EAAA,SAAA,eAAAA,EAAA,GAAA,CAAA;AAAA,MAAkE;AAAA,MAKlE,UAAAC,EAAAlB,GAAA,OAAA;AAAA,MAC8B,QAAA;AAAA,MACtB,OAAA;AAAA,MACD,uBAAAkB,EAAAlB,GAAA,oBAAA;AAAA,IACiD;AAGzD,WAAAmB,EAAA,MAAAnB,EAAA,OAAA,CAAAoB,GAAAC,MAAA;AACC,UAAA,CAAAR,EAAA,MAAA;AAEA,YAAAS,KAAAF,KAAA,gBAAAA,EAAA,MAAA,SAAA,CAAA,GAGAG,MAFAF,KAAA,gBAAAA,EAAA,MAAA,SAAA,CAAA,GAEA,OAAA,CAAAG,MAAA,CAAAF,EAAA,SAAAE,CAAA,CAAA;AAEA,MAAAX,EAAA,MAAA,UAAA,OAAA,GAAAU,CAAA,GACAV,EAAA,MAAA,UAAA,IAAA,GAAAS,CAAA;AAAA,IAA4C,CAAA,GAG7CG,EAAA,gBAAAvB,GAAAc,CAAA,GAEAU,EAAA,MAAA;AACC,MAAAD,EAAA,kBAAAvB,CAAA;AAAA,IAA2B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxE5B,UAAAF,IAAAC;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +0,0 @@
1
- define(["require","exports","vue","./forms-Gb7ujpmz.amd","../require/css.amd!../assets/menu.css"],function(_,m,e,u){"use strict";if(typeof e>"u")var e=window.Vue;const y={key:0,class:"top-menu_selectAll"},h=e.defineComponent({__name:"menu",props:e.mergeModels({modelValue:{},items:{},isMultiple:{type:Boolean},canBeEmptyMultiple:{type:Boolean},styling:{default:"default"},selectAllItem:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(f){const n=f,a=e.useModel(f,"modelValue"),r=e.ref();!n.isMultiple&&!(typeof a.value=="string"||a.value instanceof String)&&console.warn('Type check failed for prop "modelValue". Expected String: '+typeof a.value),n.isMultiple&&!Array.isArray(a.value)&&console.warn('Type check failed for prop "modelValue". Expected Array: '+typeof a.value),n.isMultiple&&!n.canBeEmptyMultiple&&Array.isArray(a.value)&&!a.value.length&&(a.value=[n.items[0].href??n.items[0].value]);const g=l=>Array.isArray(a.value)?a.value.includes(l.value):l.value===a.value,A=(l,o=!1)=>{if(Array.isArray(a.value)){let t=a.value.slice();if(o){t.length||(t=n.items.map(c=>c.value));const s=t.indexOf(l.value);s===-1?t.push(l.value):t.splice(s,1)}else t.length===1&&t[0]===l.value?t=[]:t=[l.value];!n.canBeEmptyMultiple&&!t.length&&(t=[l.value]),a.value=t;return}a.value=l.value},k=l=>{if(r.value.scrollWidth<=r.value.offsetWidth||l.shiftKey||Math.abs(l.deltaY)<50)return;l.preventDefault();const o=l.deltaY>0?30:-30;r.value.scrollLeft=r.value.scrollLeft+o},v=(l=!0)=>{var d,p;const o=r.value.querySelector(".top-active");if(!o)return;const t=24,s=o.offsetLeft-r.value.offsetLeft-t,c=o.offsetLeft-r.value.offsetLeft+o.clientWidth+t,B=r.value.scrollLeft,V=r.value.clientWidth+r.value.scrollLeft;let i;s<B&&(i=s),c>V&&(i=c-r.value.clientWidth),i!==void 0&&(u.isSafari()?(p=(d=u.Core).$)==null||p.call(d,r.value).animate({scrollLeft:i},l?200:0):r.value.scrollTo({left:i,behavior:l?"smooth":"auto"}))},M=()=>{if(Array.isArray(a.value)){if(a.value.length===n.items.length){a.value=[n.items[0].href??n.items[0].value];return}a.value=n.items.map(l=>l.href??l.value)}};return e.onMounted(()=>v(!1)),e.onUpdated(()=>v(!0)),(l,o)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"el",ref:r,class:e.normalizeClass({"top-menu":!0,["top-style_"+l.styling]:!0}),onWheel:k},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,t=>(e.openBlock(),e.createBlock(u._sfc_main,e.mergeProps({ref_for:!0},t,{class:"top-menu_item",color:"theme",onClick:s=>A(t,s.ctrlKey||s.metaKey),isActive:g(t)}),e.createSlots({_:2},[t.content?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.content),1)]),key:"0"}:void 0]),1040,["onClick","isActive"]))),256)),Array.isArray(a.value)&&l.selectAllItem?(e.openBlock(),e.createElementBlock("div",y,[e.createVNode(u._sfc_main,e.mergeProps(l.selectAllItem,{class:"top-menu_item",color:"theme",styling:"",onClick:o[0]||(o[0]=t=>M()),isActive:a.value.length===l.items.length}),e.createSlots({_:2},[l.selectAllItem.content?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.selectAllItem.content),1)]),key:"0"}:void 0]),1040,["isActive"])])):e.createCommentVNode("",!0)],34))}});m._sfc_main=h});
2
- //# sourceMappingURL=menu.vue_vue_type_style_index_0_lang-CczcI_-j.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu.vue_vue_type_style_index_0_lang-CczcI_-j.amd.js","sources":["../../src/components/formsExt/menu/menu.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, onUpdated, ref } from 'vue';\nimport type { Item, Props } from './types';\nimport Core from '@/core/core/core';\nimport { isSafari } from '@/core/utils/device';\nimport TopButton from '@/components/forms/button/button.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tstyling: 'default',\n});\n\nconst model = defineModel({\n\trequired: true,\n});\n\nconst el = ref();\n\n// валидация типа modelValue без возможности выбора нескольких значений (ожидается строка)\nif (!props.isMultiple && !(typeof (model.value) === 'string' || model.value instanceof String)) {\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected String: ' + typeof (model.value));\n}\n\n// валидация типа modelValue с возможностью выбора нескольких значений (ожидается массив)\nif (props.isMultiple && !Array.isArray(model.value)) {\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected Array: ' + typeof (model.value));\n}\n\n// для множественного выбора без пустого множества\n// если ничего не выбрано, присваиваем 1-ое значение\nif (props.isMultiple && !props.canBeEmptyMultiple && Array.isArray(model.value) && !model.value.length) {\n\tmodel.value = [props.items[0].href ?? props.items[0].value];\n}\n\nconst itemIsActive = (item: Item) => {\n\tif (!Array.isArray(model.value)) {\n\t\treturn item.value === model.value;\n\t}\n\n\treturn model.value.includes(item.value);\n};\n\n/**\n * Выбрать элемент\n * @param item\n * @param toggle - добавить или исключить элемент, для isMultiple\n */\nconst select = (item: Item, toggle = false) => {\n\tif (Array.isArray(model.value)) {\n\t\tlet modelNew = model.value.slice();\n\n\t\tif (toggle) {\n\t\t\tif (!modelNew.length) modelNew = props.items.map(item => item.value);\n\n\t\t\tconst index = modelNew.indexOf(item.value);\n\t\t\tif (index === -1) {\n\t\t\t\tmodelNew.push(item.value);\n\t\t\t} else {\n\t\t\t\tmodelNew.splice(index, 1);\n\t\t\t}\n\t\t} else {\n\t\t\tif (modelNew.length === 1 && modelNew[0] === item.value) {\n\t\t\t\tmodelNew = [];\n\t\t\t} else {\n\t\t\t\tmodelNew = [item.value];\n\t\t\t}\n\t\t}\n\n\t\tif (!props.canBeEmptyMultiple && !modelNew.length) modelNew = [item.value];\n\n\t\tmodel.value = modelNew;\n\n\t\treturn;\n\t}\n\n\tmodel.value = item.value;\n};\n\n// вертикальный скролл в горизонтальный скролл\nconst onWheel = (event: WheelEvent) => {\n\tif (el.value.scrollWidth <= el.value.offsetWidth) return;\n\tif (event.shiftKey) return;\n\tif (Math.abs(event.deltaY) < 50) return; // устройство с высокой точностью, например тачпад\n\n\tevent.preventDefault();\n\n\tconst delta = event.deltaY > 0 ? 30 : -30;\n\tel.value.scrollLeft = el.value.scrollLeft + delta;\n};\n\n/**\n * Замена стандартному scrollIntoView, который меняет скролл документа\n *\n * Выравнивание по ближнему краю элемента\n *\n * Выравнивается таким образом, чтобы был виден соседний элемент\n */\nconst scrollIntoView = (isSmooth = true) => {\n\tconst elBtn = el.value.querySelector('.top-active');\n\tif (!elBtn) return;\n\n\tconst gap = 24;\n\n\t// левая и правая координаты элемента\n\tconst leftMargin = elBtn.offsetLeft - el.value.offsetLeft - gap;\n\tconst rightMargin = elBtn.offsetLeft - el.value.offsetLeft + elBtn.clientWidth + gap;\n\n\t// левая и правая границы видимой части меню\n\tconst leftMarginParent = el.value.scrollLeft;\n\tconst rightMarginParent = el.value.clientWidth + el.value.scrollLeft;\n\n\tlet scrollLeft: number | undefined = undefined;\n\n\t// левую границу элемента к левой границе меню\n\tif (leftMargin < leftMarginParent) scrollLeft = leftMargin;\n\n\t// правую границу элемента к правой границе меню\n\tif (rightMargin > rightMarginParent) scrollLeft = rightMargin - el.value.clientWidth;\n\n\tif (scrollLeft !== undefined) {\n\t\tif (isSafari()) {\n\t\t\tCore.$?.(el.value).animate({ scrollLeft: scrollLeft }, isSmooth ? 200 : 0);\n\t\t} else {\n\t\t\tel.value.scrollTo({ left: scrollLeft, behavior: isSmooth ? 'smooth' : 'auto' });\n\t\t}\n\t}\n};\n\n/**\n * Выбрать все элементы в меню\n */\nconst selectAll = () => {\n\tif (!Array.isArray(model.value)) return;\n\n\tif (model.value.length === props.items.length) {\n\t\tmodel.value = [props.items[0].href ?? props.items[0].value];\n\t\treturn;\n\t}\n\n\tmodel.value = props.items.map(item => item.href ?? item.value);\n};\n\nonMounted(() => scrollIntoView(false));\nonUpdated(() => scrollIntoView(true));\n\n</script>\n\n<template>\n\t<div\n\t\tref=\"el\"\n\t\t:class=\"{\n\t\t\t'top-menu': true,\n\t\t\t['top-style_' + styling]: true,\n\t\t\t// ['top-unwrap-x']: styling === 'default',\n\t\t}\"\n\t\t@wheel=\"onWheel\"\n\t>\n\t\t<TopButton\n\t\t\tv-for=\"item in items\"\n\t\t\t:=\"item\"\n\t\t\tclass=\"top-menu_item\"\n\t\t\tcolor=\"theme\"\n\t\t\t@click=\"select(item, $event.ctrlKey || $event.metaKey)\"\n\t\t\t:isActive=\"itemIsActive(item)\"\n\t\t>\n\t\t\t<template #default v-if=\"item.content\">\n\t\t\t\t{{ item.content }}\n\t\t\t</template>\n\t\t</TopButton>\n\n\t\t<div\n\t\t\tv-if=\"Array.isArray(model) && selectAllItem\"\n\t\t\tclass=\"top-menu_selectAll\"\n\t\t>\n\t\t\t<TopButton\n\t\t\t\t:=\"selectAllItem\"\n\t\t\t\tclass=\"top-menu_item\"\n\t\t\t\tcolor=\"theme\"\n\t\t\t\tstyling=\"\"\n\t\t\t\t@click=\"selectAll()\"\n\t\t\t\t:isActive=\"model.length === items.length\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"selectAllItem.content\">\n\t\t\t\t\t{{ selectAllItem.content }}\n\t\t\t\t</template>\n\t\t\t</TopButton>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-menu {\n\t--scroll-thumb-color: var(--color-line-1);\n\t--scroll-thumb-color-hover: var(--color-line-2);\n\t--scroll-thumb-color-active: var(--color-line-3);\n\n\tmax-width: 100%;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: var(--top-gap-2);\n\toverflow-x: auto;\n\tscrollbar-width: none; /* firefox */\n\n\t/* предотвратить натинвые события браузера (назад / вперед) */\n\toverscroll-behavior-x: contain;\n}\n\n.top-menu::-webkit-scrollbar { display: none; }\n\n.top-menu .top-menu_item {\n\t--top-button-color: var(--color-text-2);\n\n\toutline-offset: -2px !important;\n\tmin-width: 0;\n\tmax-width: 200px;\n\tmargin: 0;\n\tflex-shrink: 0;\n}\n\n.top-menu .top-menu_item[data-top-icon] {\n\t--top-icon-color: var(--color-text-2);\n}\n\n.top-menu_selectAll {\n\tposition: sticky;\n\tright: 0;\n\tbackground: var(--color-layout-front-1);\n\tborder-left: 1px solid var(--color-line-1);\n\tpadding-left: var(--top-padding-1);\n\tbox-shadow: var(--color-layout-front-1) var(--top-padding-2) 0px;\n}\n\n/* style default */\n.top-menu.top-style_default .top-menu_item {\n\t--top-forms-radius: 0;\n\t--top-forms-border-color: transparent;\n\t--top-forms-border-width: 2px;\n\n\tfilter: none;\n\tbox-shadow: none;\n\tborder: none;\n\tborder-bottom: var(--top-forms-border-width) solid var(--top-forms-border-color);\n\tbackground: none;\n}\n\n.top-style_default > .top-menu_item > [data-top-badge] {\n\tmargin-top: 0;\n}\n\n.top-menu.top-style_default .top-menu_item:hover {\n\t--top-icon-color: var(--color-text-1);\n\t--top-button-color: var(--color-text-1);\n\t--top-forms-border-color: var(--color-line-2);\n}\n\n.top-menu.top-style_default .top-menu_item:active,\n.top-menu.top-style_default .top-menu_item.top-active {\n\t--top-icon-color: var(--color-text-primary);\n\t--top-button-color: var(--color-text-1);\n\t--top-forms-border-color: var(--color-line-primary-1);\n}\n\n.top-menu.top-style_default .top-menu_selectAll {\n\tpadding-left: var(--top-padding-2);\n}\n\n/* style bar */\n.top-menu.top-style_bar {\n\tborder-radius: var(--top-radius-3);\n\tborder: 1px solid var(--color-line-2);\n\tpadding: var(--top-padding-1);\n\tgap: 3px;\n}\n.top-menu.top-style_bar .top-menu_item {\n\t--top-button-background-color-hover: var(--color-layer-1);\n\t--top-button-background-color-active: var(--color-layer-2);\n\t--top-button-background-color-selected: var(--color-layer-primary-1);\n\n\tposition: relative;\n}\n\n.top-menu.top-style_bar .top-menu_item:hover {\n\t--top-icon-color: var(--color-text-1);\n\t--top-button-color: var(--color-text-1);\n}\n\n.top-menu.top-style_bar .top-menu_item.top-active {\n\t--top-icon-color: var(--color-text-primary);\n\t--top-button-color: var(--color-text-primary);\n}\n\n/* разделители кнопок в баре */\n.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after {\n\tcontent: \"\";\n\tbackground: var(--color-line-1-opacity);\n\twidth: 1px;\n\theight: 60%;\n\tdisplay: block;\n\tposition: absolute;\n\tleft: -2px;\n}\n.top-menu.top-style_bar .top-menu_item.top-active + .top-menu_item:after,\n.top-menu.top-style_bar .top-menu_item:hover + .top-menu_item:after {\n\tcontent: none !important;\n}\n\n/*\n.top-style_bar > .top-menu_item > [data-top-badge] {\n\tmargin-top: -3px;\n}\n*/\n\n/** TODO: .top-unwrap-x надо вынести глобально в UI или добавить в стили для storybook */\n/*\n.top-menu.top-unwrap-x {\n\tpadding-right: var(--top-unwrap-x);\n\tpadding-left: var(--top-unwrap-x);\n\tmargin-right: calc(0px - var(--top-unwrap-x));\n\tmargin-left: calc(0px - var(--top-unwrap-x));\n}\n*/\n</style>\n"],"names":["el","vue","props","model","itemIsActive","item","index","modelNew","onWheel","event","delta","scrollIntoView","isSmooth","leftMargin","elBtn","gap","rightMargin","leftMarginParent","rightMarginParent","scrollLeft"],"mappings":"ggBAeAA,EAAAC,EAAA,IAAA,mKAQAC,EAAA,YAAA,CAAA,MAAA,QAAAC,EAAA,KAAA,wNAUA,MAAAC,EAAAC,oDAEEA,EAAA,QAAAF,EAAA,2IAmBCG,IAAA,GACCC,EAAA,KAAAF,EAAA,KAAA,EAEAE,EAAA,OAAAD,EAAA,CAAA,CACD,MAEAC,EAAA,SAAA,GAAAA,EAAA,CAAA,IAAAF,EAAA,WAGCE,EAAA,CAAAF,EAAA,KAAA,EAIF,CAAAH,EAAA,oBAAA,CAAAK,EAAA,SAAAA,EAAA,CAAAF,EAAA,KAAA,GAEAF,EAAA,MAAAI,QAEA,CAGDJ,EAAA,MAAAE,EAAA,OAIDG,EAAAC,GAAA,IACCT,EAAA,MAAA,aAAAA,EAAA,MAAA,aACAS,EAAA,oFAMAT,EAAA,MAAA,WAAAA,EAAA,MAAA,WAAAU,GAUDC,EAAA,CAAAC,EAAA,KAAA,8EAOCC,EAAAC,EAAA,WAAAd,EAAA,MAAA,WAAAe,EACAC,EAAAF,EAAA,WAAAd,EAAA,MAAA,WAAAc,EAAA,YAAAC,EAGAE,EAAAjB,EAAA,MAAA,WACAkB,EAAAlB,EAAA,MAAA,YAAAA,EAAA,MAAA,iBAKAa,EAAAI,IAAAE,EAAAN,GAGAG,EAAAE,IAAAC,EAAAH,EAAAhB,EAAA,MAAA,aAEAmB,IAAA,gGAIEnB,EAAA,MAAA,SAAA,CAAA,KAAAmB,EAAA,SAAAP,EAAA,SAAA,MAAA,CAAA,qCAWF,IAAAT,EAAA,MAAA,SAAAD,EAAA,MAAA,OAAA,mDAEC,2CAMF,OAAAD,EAAA,UAAA,IAAAU,EAAA,EAAA,CAAA,EACAV,EAAA,UAAA,IAAAU,EAAA,EAAA,CAAA"}
@@ -1,109 +0,0 @@
1
- import { Core as S } from "../core/app.js";
2
- import { defineComponent as E, mergeModels as W, useModel as w, ref as N, onMounted as T, onUpdated as P, createElementBlock as f, openBlock as c, normalizeClass as b, createCommentVNode as K, Fragment as q, renderList as D, createBlock as Y, mergeProps as d, createSlots as y, withCtx as h, createTextVNode as g, toDisplayString as A, createVNode as $ } from "vue";
3
- import { _ as M, b as x, C as z } from "./forms-DOGPN_TR.es.js";
4
- const I = ["../assets/menu.css"].map((n) => import.meta.resolve(n));
5
- S.insertCSSLinkToPage(I, !0);
6
- const F = {
7
- key: 0,
8
- class: "top-menu_selectAll"
9
- }, G = /* @__PURE__ */ E({
10
- __name: "menu",
11
- props: /* @__PURE__ */ W({
12
- modelValue: {},
13
- items: {},
14
- isMultiple: { type: Boolean },
15
- canBeEmptyMultiple: { type: Boolean },
16
- styling: { default: "default" },
17
- selectAllItem: {}
18
- }, {
19
- modelValue: {
20
- required: !0
21
- },
22
- modelModifiers: {}
23
- }),
24
- emits: ["update:modelValue"],
25
- setup(n) {
26
- const r = n, t = w(n, "modelValue"), a = N();
27
- !r.isMultiple && !(typeof t.value == "string" || t.value instanceof String) && console.warn('Type check failed for prop "modelValue". Expected String: ' + typeof t.value), r.isMultiple && !Array.isArray(t.value) && console.warn('Type check failed for prop "modelValue". Expected Array: ' + typeof t.value), r.isMultiple && !r.canBeEmptyMultiple && Array.isArray(t.value) && !t.value.length && (t.value = [r.items[0].href ?? r.items[0].value]);
28
- const k = (e) => Array.isArray(t.value) ? t.value.includes(e.value) : e.value === t.value, C = (e, o = !1) => {
29
- if (Array.isArray(t.value)) {
30
- let l = t.value.slice();
31
- if (o) {
32
- l.length || (l = r.items.map((u) => u.value));
33
- const s = l.indexOf(e.value);
34
- s === -1 ? l.push(e.value) : l.splice(s, 1);
35
- } else
36
- l.length === 1 && l[0] === e.value ? l = [] : l = [e.value];
37
- !r.canBeEmptyMultiple && !l.length && (l = [e.value]), t.value = l;
38
- return;
39
- }
40
- t.value = e.value;
41
- }, L = (e) => {
42
- if (a.value.scrollWidth <= a.value.offsetWidth || e.shiftKey || Math.abs(e.deltaY) < 50) return;
43
- e.preventDefault();
44
- const o = e.deltaY > 0 ? 30 : -30;
45
- a.value.scrollLeft = a.value.scrollLeft + o;
46
- }, v = (e = !0) => {
47
- var m, p;
48
- const o = a.value.querySelector(".top-active");
49
- if (!o) return;
50
- const l = 24, s = o.offsetLeft - a.value.offsetLeft - l, u = o.offsetLeft - a.value.offsetLeft + o.clientWidth + l, _ = a.value.scrollLeft, B = a.value.clientWidth + a.value.scrollLeft;
51
- let i;
52
- s < _ && (i = s), u > B && (i = u - a.value.clientWidth), i !== void 0 && (x() ? (p = (m = z).$) == null || p.call(m, a.value).animate({ scrollLeft: i }, e ? 200 : 0) : a.value.scrollTo({ left: i, behavior: e ? "smooth" : "auto" }));
53
- }, V = () => {
54
- if (Array.isArray(t.value)) {
55
- if (t.value.length === r.items.length) {
56
- t.value = [r.items[0].href ?? r.items[0].value];
57
- return;
58
- }
59
- t.value = r.items.map((e) => e.href ?? e.value);
60
- }
61
- };
62
- return T(() => v(!1)), P(() => v(!0)), (e, o) => (c(), f("div", {
63
- ref_key: "el",
64
- ref: a,
65
- class: b({
66
- "top-menu": !0,
67
- ["top-style_" + e.styling]: !0
68
- // ['top-unwrap-x']: styling === 'default',
69
- }),
70
- onWheel: L
71
- }, [
72
- (c(!0), f(q, null, D(e.items, (l) => (c(), Y(M, d({ ref_for: !0 }, l, {
73
- class: "top-menu_item",
74
- color: "theme",
75
- onClick: (s) => C(l, s.ctrlKey || s.metaKey),
76
- isActive: k(l)
77
- }), y({ _: 2 }, [
78
- l.content ? {
79
- name: "default",
80
- fn: h(() => [
81
- g(A(l.content), 1)
82
- ]),
83
- key: "0"
84
- } : void 0
85
- ]), 1040, ["onClick", "isActive"]))), 256)),
86
- Array.isArray(t.value) && e.selectAllItem ? (c(), f("div", F, [
87
- $(M, d(e.selectAllItem, {
88
- class: "top-menu_item",
89
- color: "theme",
90
- styling: "",
91
- onClick: o[0] || (o[0] = (l) => V()),
92
- isActive: t.value.length === e.items.length
93
- }), y({ _: 2 }, [
94
- e.selectAllItem.content ? {
95
- name: "default",
96
- fn: h(() => [
97
- g(A(e.selectAllItem.content), 1)
98
- ]),
99
- key: "0"
100
- } : void 0
101
- ]), 1040, ["isActive"])
102
- ])) : K("", !0)
103
- ], 34));
104
- }
105
- });
106
- export {
107
- G as _
108
- };
109
- //# sourceMappingURL=menu.vue_vue_type_style_index_0_lang-Dq5eEX9i.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu.vue_vue_type_style_index_0_lang-Dq5eEX9i.es.js","sources":["../../src/components/formsExt/menu/menu.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, onUpdated, ref } from 'vue';\nimport type { Item, Props } from './types';\nimport Core from '@/core/core/core';\nimport { isSafari } from '@/core/utils/device';\nimport TopButton from '@/components/forms/button/button.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tstyling: 'default',\n});\n\nconst model = defineModel({\n\trequired: true,\n});\n\nconst el = ref();\n\n// валидация типа modelValue без возможности выбора нескольких значений (ожидается строка)\nif (!props.isMultiple && !(typeof (model.value) === 'string' || model.value instanceof String)) {\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected String: ' + typeof (model.value));\n}\n\n// валидация типа modelValue с возможностью выбора нескольких значений (ожидается массив)\nif (props.isMultiple && !Array.isArray(model.value)) {\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected Array: ' + typeof (model.value));\n}\n\n// для множественного выбора без пустого множества\n// если ничего не выбрано, присваиваем 1-ое значение\nif (props.isMultiple && !props.canBeEmptyMultiple && Array.isArray(model.value) && !model.value.length) {\n\tmodel.value = [props.items[0].href ?? props.items[0].value];\n}\n\nconst itemIsActive = (item: Item) => {\n\tif (!Array.isArray(model.value)) {\n\t\treturn item.value === model.value;\n\t}\n\n\treturn model.value.includes(item.value);\n};\n\n/**\n * Выбрать элемент\n * @param item\n * @param toggle - добавить или исключить элемент, для isMultiple\n */\nconst select = (item: Item, toggle = false) => {\n\tif (Array.isArray(model.value)) {\n\t\tlet modelNew = model.value.slice();\n\n\t\tif (toggle) {\n\t\t\tif (!modelNew.length) modelNew = props.items.map(item => item.value);\n\n\t\t\tconst index = modelNew.indexOf(item.value);\n\t\t\tif (index === -1) {\n\t\t\t\tmodelNew.push(item.value);\n\t\t\t} else {\n\t\t\t\tmodelNew.splice(index, 1);\n\t\t\t}\n\t\t} else {\n\t\t\tif (modelNew.length === 1 && modelNew[0] === item.value) {\n\t\t\t\tmodelNew = [];\n\t\t\t} else {\n\t\t\t\tmodelNew = [item.value];\n\t\t\t}\n\t\t}\n\n\t\tif (!props.canBeEmptyMultiple && !modelNew.length) modelNew = [item.value];\n\n\t\tmodel.value = modelNew;\n\n\t\treturn;\n\t}\n\n\tmodel.value = item.value;\n};\n\n// вертикальный скролл в горизонтальный скролл\nconst onWheel = (event: WheelEvent) => {\n\tif (el.value.scrollWidth <= el.value.offsetWidth) return;\n\tif (event.shiftKey) return;\n\tif (Math.abs(event.deltaY) < 50) return; // устройство с высокой точностью, например тачпад\n\n\tevent.preventDefault();\n\n\tconst delta = event.deltaY > 0 ? 30 : -30;\n\tel.value.scrollLeft = el.value.scrollLeft + delta;\n};\n\n/**\n * Замена стандартному scrollIntoView, который меняет скролл документа\n *\n * Выравнивание по ближнему краю элемента\n *\n * Выравнивается таким образом, чтобы был виден соседний элемент\n */\nconst scrollIntoView = (isSmooth = true) => {\n\tconst elBtn = el.value.querySelector('.top-active');\n\tif (!elBtn) return;\n\n\tconst gap = 24;\n\n\t// левая и правая координаты элемента\n\tconst leftMargin = elBtn.offsetLeft - el.value.offsetLeft - gap;\n\tconst rightMargin = elBtn.offsetLeft - el.value.offsetLeft + elBtn.clientWidth + gap;\n\n\t// левая и правая границы видимой части меню\n\tconst leftMarginParent = el.value.scrollLeft;\n\tconst rightMarginParent = el.value.clientWidth + el.value.scrollLeft;\n\n\tlet scrollLeft: number | undefined = undefined;\n\n\t// левую границу элемента к левой границе меню\n\tif (leftMargin < leftMarginParent) scrollLeft = leftMargin;\n\n\t// правую границу элемента к правой границе меню\n\tif (rightMargin > rightMarginParent) scrollLeft = rightMargin - el.value.clientWidth;\n\n\tif (scrollLeft !== undefined) {\n\t\tif (isSafari()) {\n\t\t\tCore.$?.(el.value).animate({ scrollLeft: scrollLeft }, isSmooth ? 200 : 0);\n\t\t} else {\n\t\t\tel.value.scrollTo({ left: scrollLeft, behavior: isSmooth ? 'smooth' : 'auto' });\n\t\t}\n\t}\n};\n\n/**\n * Выбрать все элементы в меню\n */\nconst selectAll = () => {\n\tif (!Array.isArray(model.value)) return;\n\n\tif (model.value.length === props.items.length) {\n\t\tmodel.value = [props.items[0].href ?? props.items[0].value];\n\t\treturn;\n\t}\n\n\tmodel.value = props.items.map(item => item.href ?? item.value);\n};\n\nonMounted(() => scrollIntoView(false));\nonUpdated(() => scrollIntoView(true));\n\n</script>\n\n<template>\n\t<div\n\t\tref=\"el\"\n\t\t:class=\"{\n\t\t\t'top-menu': true,\n\t\t\t['top-style_' + styling]: true,\n\t\t\t// ['top-unwrap-x']: styling === 'default',\n\t\t}\"\n\t\t@wheel=\"onWheel\"\n\t>\n\t\t<TopButton\n\t\t\tv-for=\"item in items\"\n\t\t\t:=\"item\"\n\t\t\tclass=\"top-menu_item\"\n\t\t\tcolor=\"theme\"\n\t\t\t@click=\"select(item, $event.ctrlKey || $event.metaKey)\"\n\t\t\t:isActive=\"itemIsActive(item)\"\n\t\t>\n\t\t\t<template #default v-if=\"item.content\">\n\t\t\t\t{{ item.content }}\n\t\t\t</template>\n\t\t</TopButton>\n\n\t\t<div\n\t\t\tv-if=\"Array.isArray(model) && selectAllItem\"\n\t\t\tclass=\"top-menu_selectAll\"\n\t\t>\n\t\t\t<TopButton\n\t\t\t\t:=\"selectAllItem\"\n\t\t\t\tclass=\"top-menu_item\"\n\t\t\t\tcolor=\"theme\"\n\t\t\t\tstyling=\"\"\n\t\t\t\t@click=\"selectAll()\"\n\t\t\t\t:isActive=\"model.length === items.length\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"selectAllItem.content\">\n\t\t\t\t\t{{ selectAllItem.content }}\n\t\t\t\t</template>\n\t\t\t</TopButton>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-menu {\n\t--scroll-thumb-color: var(--color-line-1);\n\t--scroll-thumb-color-hover: var(--color-line-2);\n\t--scroll-thumb-color-active: var(--color-line-3);\n\n\tmax-width: 100%;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: var(--top-gap-2);\n\toverflow-x: auto;\n\tscrollbar-width: none; /* firefox */\n\n\t/* предотвратить натинвые события браузера (назад / вперед) */\n\toverscroll-behavior-x: contain;\n}\n\n.top-menu::-webkit-scrollbar { display: none; }\n\n.top-menu .top-menu_item {\n\t--top-button-color: var(--color-text-2);\n\n\toutline-offset: -2px !important;\n\tmin-width: 0;\n\tmax-width: 200px;\n\tmargin: 0;\n\tflex-shrink: 0;\n}\n\n.top-menu .top-menu_item[data-top-icon] {\n\t--top-icon-color: var(--color-text-2);\n}\n\n.top-menu_selectAll {\n\tposition: sticky;\n\tright: 0;\n\tbackground: var(--color-layout-front-1);\n\tborder-left: 1px solid var(--color-line-1);\n\tpadding-left: var(--top-padding-1);\n\tbox-shadow: var(--color-layout-front-1) var(--top-padding-2) 0px;\n}\n\n/* style default */\n.top-menu.top-style_default .top-menu_item {\n\t--top-forms-radius: 0;\n\t--top-forms-border-color: transparent;\n\t--top-forms-border-width: 2px;\n\n\tfilter: none;\n\tbox-shadow: none;\n\tborder: none;\n\tborder-bottom: var(--top-forms-border-width) solid var(--top-forms-border-color);\n\tbackground: none;\n}\n\n.top-style_default > .top-menu_item > [data-top-badge] {\n\tmargin-top: 0;\n}\n\n.top-menu.top-style_default .top-menu_item:hover {\n\t--top-icon-color: var(--color-text-1);\n\t--top-button-color: var(--color-text-1);\n\t--top-forms-border-color: var(--color-line-2);\n}\n\n.top-menu.top-style_default .top-menu_item:active,\n.top-menu.top-style_default .top-menu_item.top-active {\n\t--top-icon-color: var(--color-text-primary);\n\t--top-button-color: var(--color-text-1);\n\t--top-forms-border-color: var(--color-line-primary-1);\n}\n\n.top-menu.top-style_default .top-menu_selectAll {\n\tpadding-left: var(--top-padding-2);\n}\n\n/* style bar */\n.top-menu.top-style_bar {\n\tborder-radius: var(--top-radius-3);\n\tborder: 1px solid var(--color-line-2);\n\tpadding: var(--top-padding-1);\n\tgap: 3px;\n}\n.top-menu.top-style_bar .top-menu_item {\n\t--top-button-background-color-hover: var(--color-layer-1);\n\t--top-button-background-color-active: var(--color-layer-2);\n\t--top-button-background-color-selected: var(--color-layer-primary-1);\n\n\tposition: relative;\n}\n\n.top-menu.top-style_bar .top-menu_item:hover {\n\t--top-icon-color: var(--color-text-1);\n\t--top-button-color: var(--color-text-1);\n}\n\n.top-menu.top-style_bar .top-menu_item.top-active {\n\t--top-icon-color: var(--color-text-primary);\n\t--top-button-color: var(--color-text-primary);\n}\n\n/* разделители кнопок в баре */\n.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after {\n\tcontent: \"\";\n\tbackground: var(--color-line-1-opacity);\n\twidth: 1px;\n\theight: 60%;\n\tdisplay: block;\n\tposition: absolute;\n\tleft: -2px;\n}\n.top-menu.top-style_bar .top-menu_item.top-active + .top-menu_item:after,\n.top-menu.top-style_bar .top-menu_item:hover + .top-menu_item:after {\n\tcontent: none !important;\n}\n\n/*\n.top-style_bar > .top-menu_item > [data-top-badge] {\n\tmargin-top: -3px;\n}\n*/\n\n/** TODO: .top-unwrap-x надо вынести глобально в UI или добавить в стили для storybook */\n/*\n.top-menu.top-unwrap-x {\n\tpadding-right: var(--top-unwrap-x);\n\tpadding-left: var(--top-unwrap-x);\n\tmargin-right: calc(0px - var(--top-unwrap-x));\n\tmargin-left: calc(0px - var(--top-unwrap-x));\n}\n*/\n</style>\n"],"names":["props","__props","model","useModel","el","ref","itemIsActive","item","select","toggle","modelNew","item2","index","onWheel","event","delta","scrollIntoView","isSmooth","elBtn","gap","leftMargin","rightMargin","leftMarginParent","rightMarginParent","scrollLeft","isSafari","_b","_a","Core","selectAll","onMounted","onUpdated"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,UAAAA,IAAAC,GAIAC,IAAAC,EAAAF,GAAA,YAAA,GAIAG,IAAAC,EAAA;AAGA,IAAA,CAAAL,EAAA,cAAA,EAAA,OAAAE,EAAA,SAAA,YAAAA,EAAA,iBAAA,WACC,QAAA,KAAA,+DAAA,OAAAA,EAAA,KAAA,GAIDF,EAAA,cAAA,CAAA,MAAA,QAAAE,EAAA,KAAA,KACC,QAAA,KAAA,8DAAA,OAAAA,EAAA,KAAA,GAKDF,EAAA,cAAA,CAAAA,EAAA,sBAAA,MAAA,QAAAE,EAAA,KAAA,KAAA,CAAAA,EAAA,MAAA,WACCA,EAAA,QAAA,CAAAF,EAAA,MAAA,CAAA,EAAA,QAAAA,EAAA,MAAA,CAAA,EAAA,KAAA;AAGD,UAAAM,IAAA,CAAAC,MACC,MAAA,QAAAL,EAAA,KAAA,IAIAA,EAAA,MAAA,SAAAK,EAAA,KAAA,IAHCA,EAAA,UAAAL,EAAA,OAWFM,IAAA,CAAAD,GAAAE,IAAA,OAAA;AACC,UAAA,MAAA,QAAAP,EAAA,KAAA,GAAA;AACC,YAAAQ,IAAAR,EAAA,MAAA,MAAA;AAEA,YAAAO,GAAA;AACC,UAAAC,EAAA,WAAAA,IAAAV,EAAA,MAAA,IAAA,CAAAW,MAAAA,EAAA,KAAA;AAEA,gBAAAC,IAAAF,EAAA,QAAAH,EAAA,KAAA;AACA,UAAAK,MAAA,KACCF,EAAA,KAAAH,EAAA,KAAA,IAEAG,EAAA,OAAAE,GAAA,CAAA;AAAA,QACD;AAEA,UAAAF,EAAA,WAAA,KAAAA,EAAA,CAAA,MAAAH,EAAA,QACCG,IAAA,CAAA,IAEAA,IAAA,CAAAH,EAAA,KAAA;AAIF,QAAA,CAAAP,EAAA,sBAAA,CAAAU,EAAA,WAAAA,IAAA,CAAAH,EAAA,KAAA,IAEAL,EAAA,QAAAQ;AAEA;AAAA,MAAA;AAGD,MAAAR,EAAA,QAAAK,EAAA;AAAA,IAAmB,GAIpBM,IAAA,CAAAC,MAAA;AAGC,UAFAV,EAAA,MAAA,eAAAA,EAAA,MAAA,eACAU,EAAA,YACA,KAAA,IAAAA,EAAA,MAAA,IAAA,GAAA;AAEA,MAAAA,EAAA,eAAA;AAEA,YAAAC,IAAAD,EAAA,SAAA,IAAA,KAAA;AACA,MAAAV,EAAA,MAAA,aAAAA,EAAA,MAAA,aAAAW;AAAA,IAA4C,GAU7CC,IAAA,CAAAC,IAAA,OAAA;;AACC,YAAAC,IAAAd,EAAA,MAAA,cAAA,aAAA;AACA,UAAA,CAAAc,EAAA;AAEA,YAAAC,IAAA,IAGAC,IAAAF,EAAA,aAAAd,EAAA,MAAA,aAAAe,GACAE,IAAAH,EAAA,aAAAd,EAAA,MAAA,aAAAc,EAAA,cAAAC,GAGAG,IAAAlB,EAAA,MAAA,YACAmB,IAAAnB,EAAA,MAAA,cAAAA,EAAA,MAAA;AAEA,UAAAoB;AAGA,MAAAJ,IAAAE,MAAAE,IAAAJ,IAGAC,IAAAE,MAAAC,IAAAH,IAAAjB,EAAA,MAAA,cAEAoB,MAAA,WACCC,EAAA,KACCC,KAAAC,IAAAC,GAAA,MAAA,QAAAF,EAAA,KAAAC,GAAAvB,EAAA,OAAA,QAAA,EAAA,YAAAoB,EAAA,GAAAP,IAAA,MAAA,KAEAb,EAAA,MAAA,SAAA,EAAA,MAAAoB,GAAA,UAAAP,IAAA,WAAA,OAAA,CAAA;AAAA,IAEF,GAMDY,IAAA,MAAA;AACC,UAAA,MAAA,QAAA3B,EAAA,KAAA,GAEA;AAAA,YAAAA,EAAA,MAAA,WAAAF,EAAA,MAAA,QAAA;AACC,UAAAE,EAAA,QAAA,CAAAF,EAAA,MAAA,CAAA,EAAA,QAAAA,EAAA,MAAA,CAAA,EAAA,KAAA;AACA;AAAA,QAAA;AAGD,QAAAE,EAAA,QAAAF,EAAA,MAAA,IAAA,CAAAO,MAAAA,EAAA,QAAAA,EAAA,KAAA;AAAA;AAAA,IAA6D;AAG9D,WAAAuB,EAAA,MAAAd,EAAA,EAAA,CAAA,GACAe,EAAA,MAAAf,EAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +0,0 @@
1
- define(["require","exports","vue","./dialogs.vue_vue_type_script_setup_true_lang-BSxHPUWf.amd","./forms-Gb7ujpmz.amd","./utils-BVdq18mg.amd"],function(b,i,e,r,d,p){"use strict";if(typeof e>"u")var e=window.Vue;const c=["id","data-view-page-active","data-modal","data-position"],u=e.defineComponent({__name:"dialog",props:{id:{},pageActive:{},width:{default:"600px"},height:{default:"auto"},modal:{type:Boolean,default:!0},position:{},historyType:{default:"push"},classes:{}},emits:["open","close"],setup(s){const n=s,t=r.getDialogWorker(n.id);if(!t)throw new Error("TopDialog cannot be used in a template, use useTopDialog() / useAsyncTopDialog()");return e.provide("dialogWorker",t),e.onMounted(()=>{var l;const a=e.getCurrentInstance(),o=a.parent;if(((l=o==null?void 0:o.parent)==null?void 0:l.type.name)!=="DialogWrapper")throw new Error("TopDialog cannot be used in a template, use useTopDialog()");if(Array.isArray(o.subTree.children)&&o.subTree.children.length!==1)throw new Error("TopDialog can has only one root element");t.onMounted(o,a)}),e.watch(t.isOpened,()=>{t.isReady.value=!0},{flush:"post",once:!0}),(a,o)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(t).idAttr,class:e.normalizeClass(["top-dialog",a.classes]),style:e.normalizeStyle({"--top-dialog-width":a.width,"--top-dialog-height":a.height}),tabindex:"-1","data-view-page-active":e.unref(t).pageActive.value,"data-modal":a.modal,"data-position":a.position},[o[0]||(o[0]=e.createElementVNode("div",{class:"modal-layer modal-layer-header"},null,-1)),e.createElementVNode("div",{class:"modal-layer modal-layer-body",style:e.normalizeStyle({"min-height":a.height+"px"})},null,4),e.renderSlot(a.$slots,"default")],14,c))}}),m={key:0,style:{display:"none"}},h=["data-order","data-view-page"],v={class:"modal-header"},g={class:"top-title"},f={class:"buttons"},y=["title"],k=["title"],w=["data-order","data-view-page"],B={class:"modal-body"},_=e.defineComponent({__name:"page",props:{isLoading:{type:Boolean},name:{},order:{default:0},prevName:{},footerFullWith:{type:Boolean}},setup(s){const n=s,t=p.useTopDialogSelf(),a=e.computed(()=>{var o;return{active:((o=t.pageActive)==null?void 0:o.value)===n.name,"i-load-data":n.isLoading||t.isLoadingPage.value}});return(o,l)=>{const E=e.resolveDirective("top-scroll-shadow");return e.unref(t).isReady.value?(e.openBlock(),e.createElementBlock("div",m,[(e.openBlock(),e.createBlock(e.Teleport,{to:"#"+e.unref(t).idAttr+" .modal-layer-header",disabled:!e.unref(t).needShowPage(o.name)},[e.createElementVNode("div",{"data-order":o.order,"data-view-page":o.name,class:e.normalizeClass(a.value)},[e.createElementVNode("div",v,[e.createElementVNode("div",g,[e.renderSlot(o.$slots,"header")]),e.createElementVNode("div",f,[e.renderSlot(o.$slots,"headerButtons")]),e.unref(d.Core).state.isMobile&&o.prevName?(e.openBlock(),e.createElementBlock("div",{key:0,class:"close",title:o.$i18n.Common.Back,"data-top-icon":"",onClick:l[0]||(l[0]=C=>e.unref(t).open(o.prevName))},null,8,y)):(e.openBlock(),e.createElementBlock("div",{key:1,class:"close",title:o.$i18n.Common.Close,"data-top-icon":"","data-action":"top-dialog-close"},null,8,k))])],10,h)],8,["to","disabled"])),(e.openBlock(),e.createBlock(e.Teleport,{to:"#"+e.unref(t).idAttr+" .modal-layer-body",disabled:!e.unref(t).needShowPage(o.name)},[e.createElementVNode("div",{"data-order":o.order,"data-view-page":o.name,class:e.normalizeClass(["has_scroll_container",a.value]),style:e.normalizeStyle({"--top-dialog-footer-height":o.$slots.footer?void 0:"0px"})},[e.withDirectives((e.openBlock(),e.createElementBlock("div",B,[e.renderSlot(o.$slots,"body")])),[[E]]),o.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["modal-footer",{"modal-footer-fullWith":o.footerFullWith}])},[e.renderSlot(o.$slots,"footer")],2)):e.createCommentVNode("",!0)],14,w)],8,["to","disabled"]))])):e.createCommentVNode("",!0)}}});i._sfc_main=u,i._sfc_main$1=_});
2
- //# sourceMappingURL=page.vue_vue_type_script_setup_true_lang-DJSuza2e.amd.js.map
@@ -1,2 +0,0 @@
1
- define(["require","exports","./forms-Gb7ujpmz.amd","../utils/dom.amd","../popup/worker.amd"],function(W,w,f,i,s){"use strict";if(typeof E>"u")var E=window.Vue;class b{static componentName="Top";componentName;className;uid;el;options={};unmountEls=[];unmountEvents=[];init(t,p,o){if(!p)throw t+": el is undefined";const e=b.getComponent(p,t);if(e)return e.reInit(o),e;this.componentName=t,this.className="top"+t[0].toUpperCase()+t.substring(1),this.uid=this.componentName+(Math.random()+"").replace(".",""),this._setComponent(p),this.el=p,this.el.classList.add(this.className),this.options=Object.assign(this.options,o),this.mount()}static getComponent(t,p){return i.default.storage(t,"#"+p)}_setComponent(t){i.default.storage(t,"#"+this.componentName,this)}mount(){throw"Please, add method mount() to component: "+this.componentName}unmount(){i.default.storage(this.el,"#"+this.componentName,null),this.unmountEls.forEach(t=>{t.remove()}),this.unmountEls=[],this.unmountEvents.forEach(t=>{t.el.removeEventListener(t.type,t.listener,t.options)}),this.unmountEvents=[]}registerElForUnmount(t){this.unmountEls.push(t)}addEventListenerWithUnmount(t,p,o,e){t.addEventListener(p,o,e),this.registerEventForUnmount(t,p,o,e)}registerEventForUnmount(t,p,o,e){const r={el:t,type:p,listener:o,options:e};this.unmountEvents.push(r)}reInit(t){throw"Please, add method reInit() to component: "+this.componentName}static detach(t){var p;if(t instanceof NodeList)t.forEach(o=>{var e;return(e=o.parentElement)==null?void 0:e.removeChild(o)});else{const o=t;(p=o.parentElement)==null||p.removeChild(o)}}}class k{static isInited=!1;static init(){this.isInited||(this.isInited=!0,document.addEventListener("click",this.onclickCapture,{capture:!0}),document.addEventListener("click",this.onclick),document.addEventListener("keydown",this.onkeydown))}static onclickCapture(t){var o;if(!(!(t.target instanceof HTMLElement)||!t.target.closest(".top-popup-wrapper"))){if(t.target.matches("[data-top-popup]")){const e=t.target.closest("ul"),r=t.target.closest("a, .a");e&&((o=e.querySelector("a.top-active, .a.top-active"))==null||o.classList.remove("top-active")),r&&r.classList.add("top-active"),t.stopPropagation();return}if(t.target.matches(".top-popup-wrapper")){const e=t.target;s.TopPopupWorker.close(e),t.stopPropagation();return}}}static onclick(t){if(!(t.target instanceof HTMLElement))return;const p=t.target.closest(".closer, a, .a, .top-button");if(p){const o=t.target.closest(".top-popup-wrapper");if(!o||p.matches(".top-popup-noCloser"))return;p.getAttribute("href")==="."&&t.preventDefault(),s.TopPopupWorker.close(o)}}static onkeydown(t){var e,r;if(!(t.target instanceof HTMLElement))return;const p=t.target.closest(".top-popup-wrapper");if(!p)return;const o=p.querySelector("ul.top-popup_content");switch(t.key){case"Escape":s.TopPopupWorker.close(p);break;case"Enter":if(!o){if(i.default.querySelectorVisible(p,".preloader"))break;const a=i.default.querySelectorVisible(p,".top-popup_footer .go, .top-popup_footer [data-action]");if(a instanceof HTMLElement){a.click();break}let g=i.default.querySelectorVisibleLast(p,".top-popup_footer .top-button:focus");g||(g=i.default.querySelectorVisibleLast(p,".top-popup_footer .top-button")),g instanceof HTMLElement&&g.click();break}const n=i.default.querySelectorVisible(p,"li > a.top-active");n&&n.getAttribute("href")&&(t.preventDefault(),location.href=n.getAttribute("href"));const c=p.querySelector("li > .top-active");c instanceof HTMLElement&&c.click();break;case"ArrowUp":case"ArrowRight":case"ArrowDown":case"ArrowLeft":if(!o)break;t.key==="ArrowRight"||t.key==="ArrowLeft"?i.default.querySelectorVisible(p,"ul.top-popup_content > li:not(.top-popup_liNoSelectable) > .top-active > .top-popup_listMore")&&t.preventDefault():t.preventDefault();const h=(e=p.querySelector("ul.top-popup_content > li:not(.top-popup_liNoSelectable) > .top-active"))==null?void 0:e.parentElement;if(t.key==="ArrowRight"&&h){const a=h.querySelector(".top-active > .top-popup_listMore");if(a instanceof HTMLElement)return a.click()}const u=i.default.querySelectorAllVisible(p,"ul.top-popup_content > li:not(.top-popup_liNoSelectable)"),m=u.length;if(!m)return;let d=-1;if(h&&(d=u.indexOf(h)),t.key==="ArrowUp"||t.key==="ArrowLeft"?d--:d++,t.key==="ArrowLeft"&&d===-1)return t.target.matches("input")?void 0:s.TopPopupWorker.close(p);if(t.key==="ArrowRight"&&d===m)return;d<0&&(d=m-1),d>m-1&&(d=0),p.querySelectorAll("ul.top-popup_content > li > .top-active").forEach(a=>a.classList.remove("top-active")),(r=u[d].querySelector(":scope > a, :scope > .a"))==null||r.classList.add("top-active"),s.TopPopupWorker.scrollToActive(p);break}}}const I=":root{--top-popup-z-index: 200000;--top-popup-transition-delay: .1s;--top-popup-offset: var(--top-padding-2);--top-popup-background-color: var(--color-layout-front-1);--top-popup-background-color-hover: var(--color-layout-front-3);--top-popup-background-color-active: var(--color-layout-front-4);--top-popup-border-color: var(--color-line-2-opacity);--top-popup-title-background-color: var(--color-layer-1);--top-popup-content-padding: calc(var(--top-popup-list-padding) + var(--top-popup-listItem-padding));--top-popup-list-padding: var(--top-padding-2);--top-popup-listItem-radius: var(--top-radius-2);--top-popup-listItem-padding: var(--top-padding-2)}.top-popup-front{position:relative}.top-popup-wrapper{--top-popup-height: 0px;--top-popup-right-bounding: 0px;--top-popup-bottom-bounding: 0px;--top-popup-top: 0px;--top-popup-right: calc(100vw - var(--top-popup-right-bounding));--top-popup-bottom: calc(var(--100vh) - var(--top-popup-bottom-bounding));--top-popup-left: 0px;--top-popup-margin: -10px;text-align:initial;white-space:normal;word-break:normal;position:absolute;z-index:200000}.top-popup-wrapper:not(.top-popup-wrapper-shown){overflow:hidden}.top-popupPanel{cursor:default;box-shadow:var(--top-shadow-b);border-radius:14px;background:var(--top-popup-background-color);position:absolute;overflow:hidden;display:flex;flex-direction:column}.top-popup-wrapper>*{opacity:0;transition:opacity var(--top-popup-transition-delay) linear,transform var(--top-popup-transition-delay) linear}.top-popup-wrapper.p0>*{transform:translateY(-8px)}.top-popup-wrapper.p1>*{transform:translateY(8px)}.top-popup-wrapper.p2>*{transform:translate(8px)}.top-popup-wrapper.p3>*{transform:translateY(8px)}.top-popup-wrapper.p4>*{transform:translate(-8px)}.top-popup-wrapper-shown:not(.top-popup-wrapper-closed)>*{opacity:1;transform:translate(0)!important}.top-popup-wrapper.p0>.top-popup{top:-16px;left:-8px}.top-popup-wrapper.p1>.top-popup{bottom:calc(100% + 8px)}.top-popup-wrapper.p2>.top-popup{left:calc(100% + 8px)}.top-popup-wrapper.p3>.top-popup{top:calc(100% + 8px)}.top-popup-wrapper.p4>.top-popup{right:calc(100% + 8px)}.top-popup-wrapper.p2>.top-popup,.top-popup-wrapper.p4>.top-popup{margin-top:var(--top-popup-margin)}.top-popup-wrapper.p2.invert-y>.top-popup,.top-popup-wrapper.p4.invert-y>.top-popup{margin-bottom:var(--top-popup-margin)}.top-popup-wrapper.p1.with_notch>.top-popup{margin-bottom:5px}.top-popup-wrapper.p2.with_notch>.top-popup{margin-left:5px}.top-popup-wrapper.p3.with_notch>.top-popup{margin-top:5px}.top-popup-wrapper.p4.with_notch>.top-popup{margin-right:5px}.top-popup-wrapper.invert-x>.top-popup{right:0}.top-popup-wrapper.invert-y>.top-popup{bottom:0}.top-popup-wrapper>.notch{border:7.4px solid transparent;position:absolute;display:block}.top-popup-wrapper.p1>.notch{border-bottom:0;border-top:7.4px solid var(--color-layout-front-1);margin:0 0 7.4px -7.4px;bottom:100%;left:50%}.top-popup-wrapper.p2>.notch{border-left:0;border-right:7.4px solid var(--color-layout-front-1);margin:0 0 -7.4px 7.4px;bottom:50%;left:100%}.top-popup-wrapper.p3>.notch{border-top:0;border-bottom:7.4px solid var(--color-layout-front-1);margin:7.4px 0 0 -7.4px;top:100%;left:50%}.top-popup-wrapper.p4>.notch{border-right:0;border-left:7.4px solid var(--color-layout-front-1);margin:0 7.4px -7.4px 0;bottom:50%;right:100%}.top-popup-wrapper.p1>.notch-border{border-top-color:#0000000d;margin-bottom:6px}.top-popup-wrapper.p2>.notch-border{border-right-color:#0000000d;margin-left:6px}.top-popup-wrapper.p3>.notch-border{border-bottom-color:#0000000d;margin-top:6px}.top-popup-wrapper.p4>.notch-border{border-left-color:#0000000d;margin-right:6px}.top-popup_header,.top-popup_content,.top-popup_footer{font-size:14px}.top-popup_header,.top-popup_footer{display:flex;align-items:center;justify-content:space-between}.top-popup_header{color:var(--color-text-1);border-bottom:1px solid var(--top-popup-border-color);padding:var(--top-padding-3);font-weight:600}.top-popup_header>*{font-weight:400}.top-popup_header>.a{cursor:pointer}.top-popup_header>.a:hover{color:var(--color-text-primary)}.top-popup_headerButton{width:60px}.top-popup_widget{padding:var(--top-padding-2)}.top-popup_content{margin:0;flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--top-gap-4);-webkit-overflow-scrolling:touch}div.top-popup_content{color:var(--color-text-1);padding:var(--top-popup-content-padding)}div.top-popup_content>*{flex-shrink:0}div.top-popup_content>.top-button{margin:0}div.top-popup_content .top-unwrap{--top-unwrap-x: var(--top-popup-content-padding)}ul.top-popup_content{color:var(--color-text-1);padding:var(--top-popup-list-padding);gap:2px}ul.top-popup_content .top-unwrap{--top-unwrap-x: var(--top-popup-list-padding)}.top-popup_listItem{border-radius:var(--top-popup-listItem-radius);padding:var(--top-popup-listItem-padding);line-height:1!important}ul.top-popup_content li{margin:0;list-style:none;display:flex;position:relative}ul.top-popup_content li>*{flex-grow:1}ul.top-popup_content li>a:not(.top-button),ul.top-popup_content li>.a{cursor:pointer;box-sizing:border-box;border-radius:var(--top-popup-listItem-radius);background:var(--top-popup-background-color);padding:var(--top-popup-listItem-padding);color:var(--color-text-1)!important;font-size:14px;font-weight:400!important;text-decoration:none!important;font-style:normal;line-height:1!important;display:flex;flex:1 1 100%;align-items:center;transition:background-color .1s ease-in-out}.top-popup-wrapper-no_animate ul.top-popup_content li>a:not(.top-button),.top-popup-wrapper-no_animate ul.top-popup_content li>.a{transition:none}ul.top-popup_content li>a:not(.top-button):hover,ul.top-popup_content li>.a:hover{background:var(--top-popup-background-color-hover)}ul.top-popup_content li>a:not(.top-button).top-active,ul.top-popup_content li>.a.top-active{--top-icon-color: var(--color-text-primary) !important;background:var(--top-popup-background-color-active)}.top-popup_content+.top-popup_content{padding-top:0}.top-popup_listItem-title{background:var(--color-layer-1);color:var(--color-text-1);font-size:12px}.top-popup_listItem-delimiter{border-radius:3px;background:var(--top-popup-border-color);height:1px;padding:0;margin:4px}.top-popup_listMore{font-size:20px;margin:calc(0px - var(--top-popup-listItem-padding)) calc(0px - var(--top-popup-listItem-padding) / 2) calc(0px - var(--top-popup-listItem-padding)) 0}.top-popup_listMore.top-button{margin:0}ul.top-popup_content li>.a.top-popup_listMore{text-align:center;flex-basis:10px}ul.top-popup_content li>.a.top-popup_listMore:before{color:var(--color-text-2)}ul.top-popup_content li>*>.top-popup_listMore{margin-left:auto;color:var(--color-layer-4);font-size:14px}ul.top-popup_content li>*>i.top-popup_listMore:hover,ul.top-popup_content li>*>i.top-popup_listMore.top-active{color:var(--color-text-primary)}ul.top-popup_content li>*>i.top-popup_listMore:before{transform:rotate(90deg);display:block}ul.top-popup_content li a.close{background:none!important}.top-popup_content>[data-top-icon]:before{--top-icon-size: 20px}ul.top-popup_content li>[data-top-icon]:not(.top-button){--top-icon-color: var(--color-text-3);--top-icon-size: 20px;--top-icon-width: 20px}ul.top-popup_content li>[data-top-icon]:not(.top-button):before{height:1rem;margin-right:8px;transition:color .1s}ul.top-popup_content li:hover>[data-top-icon]:not(.top-button){--top-icon-color: var(--color-text-2)}.top-popup_footer{padding:var(--top-padding-3);border-top:1px solid var(--top-popup-border-color);display:flex;gap:var(--top-gap-2);justify-content:flex-end}.top-popup_footerSupportLink{margin-right:auto}.top-popup>[data-widget]{padding:0 var(--top-popup-list-padding)}.top-popup>[data-widget]+hr{margin:0 var(--top-popup-list-padding)}.top-popup .placeholder{border:1px solid #E0D9D9!important;border-right:none!important;border-left:none!important;background:#f9f9f9!important;margin:-1px 0;z-index:1;position:relative}.top-popup-wrapper.simple_list>.top-popup{min-width:0;white-space:nowrap}.top-popup_content .top-column{display:flex;flex-direction:column;gap:4px}html .top-popup .top-popup_content li>.top-button{margin:calc(var(--top-popup-listItem-padding) / 2) var(--top-popup-listItem-padding)}.top-popup li .check_all,.top-popup li .clear_all{cursor:pointer;color:var(--color-text-primary);padding:8px;display:inline-block}.top-popup li .check_all:hover,.top-popup li .clear_all:hover{text-decoration:underline}.top-popup li .clear_all{display:none}.top-popup_content table{margin:-9px 0}.top-popup_content table td,.top-popup_content table th{padding:9px var(--top-popup-listItem-padding) 9px 0;vertical-align:top}.top-popup_content table th{width:40%;font-weight:600;white-space:nowrap}ul.top-popup_content .a>[type=checkbox],ul.top-popup_content .a>[type=radio]{margin:-8px 0 -8px auto}ul.top-popup_content a>[class*=icon],ul.top-popup_content i.a>[class*=icon]{transition:.1s}.top-popup .buttons{border-radius:0 0 4px 4px;border-top:1px solid #BDC3C7;background:#ecf0f1;padding:10px 15px;margin:10px -15px -10px;white-space:nowrap}.top-popup_footer [class*=btn]:not(.btn-transparent){min-width:100px;padding:5px 14px;margin-left:10px}.top-popup_footer [class*=btn]:first-child{margin-left:0}.top-popup_footer .btn.full_width{margin:0;flex-grow:1}",T=":root{--top-popup-list-padding: 0px;--top-popup-listItem-radius: 0px;--top-popup-listItem-padding: var(--top-padding-4)}html.with_popup{background:gray}.top-popup-wrapper{--top-popup-footer-offset: 25px;width:auto!important;height:auto!important;position:fixed;top:0!important;right:0!important;left:0!important;overflow:hidden;transition:background .3s}.top-popup-wrapper-shown:not(.top-popup-wrapper-closed){background:#00000080;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.top-popup-wrapper-shown:not(.top-popup-wrapper-closed)>.top-popup{opacity:1!important}.top-popup{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;top:auto!important;right:0!important;bottom:var(--toolbar-height, 0px)!important;left:0!important;display:flex;flex-direction:column;transform:translateY(80%);transition:opacity .3s,transform .3s}.top-popup-wrapper.p-from-top{--top-popup-footer-offset: 0px;top:var(--header-height, 0px)!important}.with_dialog .top-popup-wrapper.p-from-top{top:50px!important}.top-popup-wrapper.p-from-top>.top-popup{border-radius:0 0 8px 8px;max-height:calc(100% - 24px);top:0!important;bottom:auto!important;transform:translateY(calc(-100% - 24px))}.top-popup_widget:not(.p-from-top){order:10}ul.top-popup_content{gap:0}ul.top-popup_content li:not(:last-child){border-bottom:1px solid var(--top-popup-border-color)}.top-popup-wrapper.top-style_alt>.top-popup>ul>li{border-bottom:none}.top-popup_footer{flex-direction:column-reverse}.top-popup_footer>.top-button{--top-forms-base-height: var(--top-forms-base-height_l);width:100%}ul.top-popup_content .top-popup_listItem-title{--top-popup-padding-v: 12px}ul.top-popup_content .top-popup_listItem-delimiter{background:var(--color-line-1-opacity);height:4px;margin:0}ul.top-popup_content li:first-child>.top-popup_listItem-delimiter{border-top:1px solid var(--top-popup-border-color)}",S=".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))}.top-popup-wrapper.invert-x>.top-popup{max-width:calc(100vw - var(--top-popup-right) - 16px)}.top-popup-wrapper.invert-y>.top-popup{max-height:calc(100vh - var(--top-popup-bottom) - 16px)}.top-popup-wrapper.p1>.top-popup{max-height:calc(var(--top-popup-top) - var(--header-height, 0px) - 16px)}.top-popup-wrapper.p3>.top-popup{max-height:calc(var(--top-popup-bottom) - 16px)}.top-popup-wrapper.p2>.top-popup{max-width:calc(var(--top-popup-right) - 16px)}.top-popup-wrapper.p4>.top-popup{max-width:calc(var(--top-popup-left) - 16px)}.top-popup-wrapper.p1.with_notch>.top-popup,.top-popup-wrapper.p3.with_notch>.top-popup{margin-left:-16px!important}.top-popup-wrapper.p1.with_notch>.notch,.top-popup-wrapper.p3.with_notch>.notch{margin-left:-8px!important}.top-popup-wrapper.p1.with_notch.invert-x,.top-popup-wrapper.p3.with_notch.invert-x{margin-left:3px!important}.top-popup-wrapper.p1.with_notch.invert-x>.notch,.top-popup-wrapper.p3.with_notch.invert-x>.notch{margin-left:-9px!important}ul.top-popup_content li>*>i.top-popup_listMore{visibility:hidden;transition:none}ul.top-popup_content li:hover>*>i.top-popup_listMore,ul.top-popup_content li>*.top-active>i.top-popup_listMore,ul.top-popup_content li>*>i.top-popup_listMore.top-active{visibility:visible}";f.Core.insertStyleToPage(I),f.Core.insertStyleToPage(T,"m"),f.Core.insertStyleToPage(S,"pc");class v extends b{static componentName="TopPopup";elActiveByDefault;elPopup;elPopupInner;elPopupHeader;elPopupWidget;elPopupBody;elPopupFooter;elFront;popupParent;$;elStartPosition;shift={top:0,left:0};isClosed=!1;isFirstClick=!0;type;options={popup:"",p:0,notch:!1,class:"",posBy:"left",frontSelector:"",invertX:!1,openByHover:!1,useOriginal:!1,transitionDuration:100,isFullScreen:!1};events={};constructor(t,p){super(),this.init(v.componentName,t,p)}async mount(){var e,r;if(!(this.el instanceof HTMLElement))return;const t=this.vueGetComponent();if(this.el.closest(".top-popup-wrapper")&&(this.popupParent=s.TopPopupWorker.getPopup(this.el.closest(".top-popup-wrapper"))),await this.mountJQuery(),i.default.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)this.type="vue",this.options.popup="",this.elPopup=i.default.genEl("div",{},this.options.popup);else if((e=this.options.popup)!=null&&e.match(/^[#.]/))this.type="selector",this.elPopup=document.querySelector(`${this.options.popup}.template`)||void 0;else{if(this.type="html",this.options.useOriginal)throw"Option useOriginal not allowed for text templates";this.elPopup=i.default.genEl("div",{},this.options.popup??"")}if(!this.elPopup||t!=null&&t.opened){if(this.options.useOriginal||t!=null&&t.opened){if(t!=null&&t.opened?this.elPopup=t.popup.elPopup:this.elPopup=document.querySelector(`${this.options.popup}.top-popup-wrapper-shown`)||void 0,this.elPopup){this.el.dataset.topPopupOpened="",this.elActiveByDefault||this.el.classList.remove("top-active"),s.TopPopupWorker.close(this.elPopup),setTimeout(()=>this.mount(),this.options.transitionDuration);return}throw"Option useOriginal state allowed only elements .template"}this.elPopup=document.querySelector(`${this.options.popup}:not(.top-popup-wrapper)`)||void 0}if(!this.elPopup)return;for(this.options.useOriginal?(this.elStartPosition=this.elPopup.closest(".top-popup-el-start-position"),this.elStartPosition||(this.elStartPosition=i.default.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=i.default.wrap(this.elPopup,"div")),this.type==="html"&&(this.elPopup.querySelector(":scope > .top-popup_content")||(this.elPopup.classList.add("top-popup_content"),this.elPopup=i.default.wrap(this.elPopup,"div"))),(this.type==="selector"&&!this.elPopup.matches(".template")||this.type==="html"||this.type==="vue")&&(i.default.querySelectorAllArray(this.elPopup,"[data-top-popup]").forEach(n=>{n instanceof HTMLElement&&(n.dataset.topPopupPosBy="fixed")}),i.default.querySelectorAllArray(this.elPopup,".top-popup-wrapper").forEach(n=>n.remove()))),s.TopPopupWorker.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("--top-popup-transition-delay",this.options.transitionDuration+"ms"))),this.elPopupInner=document.createElement("div"),this.elPopupInner.classList.add("top-popupPanel","top-popup");this.elPopup.firstChild;)this.elPopupInner.appendChild(this.elPopup.firstChild);if(this.elPopup.append(this.elPopupInner),this.elPopup.classList.add("top-popup-wrapper"),this.options.class){const n=this.options.class.split(" ");this.elPopup.classList.add(...n)}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");const p=!!this.elPopup.querySelector('[data-widget="search"]');if(this.options.isFullScreen&&!p){const n=f.useI18n();!this.elPopupHeader&&n.Common.Close&&(this.elPopupHeader=i.default.genEl("i",{class:"top-popup_header"}),this.elPopupInner.prepend(this.elPopupHeader),this.elPopupHeader.prepend(i.default.genEl("i",{class:"a closer"},n.Common.Close)),this.elPopupHeader.append(i.default.genEl("i",{class:"top-popup_headerButton"})))}i.default.storage(this.elPopup,v.componentName,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");let o=!!this.el.closest(".modal-header");o||(o=!!this.el.closest("#top_panel")),o||(o=!!this.el.closest("#secondmenu")),o&&this.elPopup.classList.add("p-from-top"),setTimeout(()=>{var n;return(n=this.elPopup)==null?void 0:n.classList.add("top-popup-wrapper-shown")}),this.elFront&&!this.elFront.matches("body")&&(this.elFront.append(this.elPopup),this.shift.top=i.default.offset(this.el).top-this.el.offsetTop-i.default.offset(this.elFront).top,this.shift.left=i.default.offset(this.el).left-this.el.offsetLeft-i.default.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.Core.$&&this.$.trigger("aftershow.top-menu-popup",[f.Core.$(this.elPopup)]),this.recalcPosition(),this.elPopup.setAttribute("tabindex","0"),this.focus(),s.TopPopupWorker.decoratorAfterOpen(this),this.mountEvents()}async mountJQuery(){f.Core.$&&(this.$=f.Core.$(this.el))}focus(){let t;this.elPopup&&(t=i.default.querySelectorVisible(this.elPopup,".top-popup-autofocus"),t||(t=i.default.querySelectorVisible(this.elPopup,":read-write, select:not(:disabled)")),t||(t=i.default.querySelectorVisible(this.elPopup,".top-popup_footer .top-button")),t||(t=this.elPopup),t instanceof HTMLElement&&t.focus(),setTimeout(()=>{t instanceof HTMLElement&&t.focus()},this.options.transitionDuration))}mountEvents(){this.addEventListenerWithUnmount(document,"mousedown",t=>this.onMousedown(t)),this.elPopup&&this.elPopupInner&&(this.addEventListenerWithUnmount(this.elPopup,"focus",t=>this.onFocus(t)),this.options.openByHover&&(this.addEventListenerWithUnmount(this.elPopup,"mouseleave",t=>this.onMouseleave(t)),this.addEventListenerWithUnmount(this.elPopupInner,"mouseleave",t=>this.onMouseleave(t)))),this.options.isFullScreen&&this.elPopupBody&&this.addEventListenerWithUnmount(this.elPopupBody,"touchmove",t=>this.onTouchmove(t))}onMousedown(t){if(!this.elPopup||!(t.target instanceof Element)||!this.isFirstClick||(this.isFirstClick=!1,setTimeout(()=>this.isFirstClick=!0),t instanceof MouseEvent&&t.button!==0))return;let p=i.default.querySelectorVisibleLast(document.body,":scope > .top-popup-wrapper");p&&p!==this.elPopup||t.target.closest(".top-popup-front")&&(p=i.default.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.TopPopupWorker.decoratorIsIgnoreOuterClick(t)||s.TopPopupWorker.close(this.elPopup)}onFocus(t){if(t.target instanceof Element&&t.target.matches("input")||this.isClosed)return;s.TopPopupWorker.getAllVisible().forEach(o=>{var e,r,n,c;(e=this.elPopup)!=null&&e.contains(o)||((r=this.popupParent)==null?void 0:r.elPopup)===o||((c=(n=this.popupParent)==null?void 0:n.popupParent)==null?void 0:c.elPopup)===o||s.TopPopupWorker.close(o)})}onMouseleave(t){setTimeout(()=>{this.elPopupInner&&this.elPopupInner.matches(":hover")||!this.elPopup||s.TopPopupWorker.close(this.elPopup)},100)}onResize(){this.elPopup&&this.elPopup.parentElement!==document.body&&document.body.append(this.elPopup),this.elPopup instanceof HTMLElement&&(this.elPopup.style.top=i.default.offset(this.el).top+"px",this.elPopup.style.left=i.default.offset(this.el).left+"px")}unmount(){super.unmount(),this.el instanceof HTMLElement&&(this.el.dataset.topPopupOpened=""),this.elActiveByDefault||this.el.classList.remove("top-active");let t=this.el.getAttribute("style");t&&(t=t.replace(/position:[^;]*;?/g,""),this.el.setAttribute("style",t))}recalcPosition(t){var _,L;if(!(this.elPopup instanceof HTMLElement))return;let p=t??this.options.p,o;if(this.el instanceof HTMLElement)switch(this.elPopup.style.height=this.el.offsetHeight+"px",this.elPopup.classList.remove("p0","p1","p2","p3","p4"),this.elPopup.classList.add("p"+p),this.options.posBy){case"left":o=this.el.offsetLeft+parseInt(this.el.style["margin-left"]||"0"),o+=this.shift.left,this.elPopup.style.left=o+"px";break;case"right":if(!(this.el.offsetParent instanceof HTMLElement))break;o=this.el.offsetLeft+parseInt(this.el.style["margin-left"]||"0"),this.elPopup.style.right=this.el.offsetParent.offsetWidth-this.el.offsetWidth-o+"px";break;case"fixed":this.addEventListenerWithUnmount(window,"resize",()=>this.onResize()),this.onResize();break;default:(_=this.options.posBy)==null||_.append(this.elPopup)}const e=this.elPopup.getBoundingClientRect();this.elPopup.style.setProperty("--top-popup-height",this.elPopup.offsetHeight+"px"),this.elPopup.style.setProperty("--top-popup-right-bounding",e.right+"px"),this.elPopup.style.setProperty("--top-popup-bottom-bounding",e.bottom+"px"),this.elPopup.style.setProperty("--top-popup-top",e.top+"px"),this.elPopup.style.setProperty("--top-popup-left",e.left+"px"),this.elPopupInner instanceof HTMLElement&&(this.elPopupInner.style.maxWidth="unset",this.elPopupInner.style.maxHeight="unset");const r={top:!1,right:!1,bottom:!1,left:!1},n={top:!1,right:!1,bottom:!1,left:!1};let c=e.left>window.innerWidth/2,h=e.top>window.innerHeight/2;p===4&&(c=!c),p===1&&(h=!h);const u=(L=this.elPopupInner)==null?void 0:L.getBoundingClientRect();let m,d;const a=i.default.cssNumber(this.elPopup,"--top-popup-offset"),g=this.el.offsetHeight,M=this.el.offsetWidth;u&&(m=window.innerWidth-u.right,d=window.innerHeight-u.bottom,u.top<a&&(r.top=!0,u.top<a*2-u.height+g&&(n.top=!0)),m<a&&(r.right=!0,m<a*2-u.width+M&&(n.right=!0)),d<a&&(r.bottom=!0,d<a*2-u.height+g&&(n.bottom=!0)),u.left<a&&(r.left=!0,u.left<a*2-u.width+g&&(n.left=!0)));const C=(P,l)=>{if(P==="x"){if(!r.right&&!r.left||(l===1||l===3)&&!n.right&&!n.left&&c)return l;r.right&&(l===0||l===2)&&c&&(l=4),r.left&&(l===0||l===4)&&c&&(l=2)}if(P==="y"){if(!r.top&&!r.bottom||(l===2||l===4)&&!n.top&&!n.bottom&&h)return l;r.top&&(l===0||l===1)&&h&&(l=3),r.bottom&&h&&(l=1)}return l};let y=["x","y"];(p===0||p===1||p===3)&&(y=["y","x"]);let x=p??0;y.forEach(P=>{x=C(P,x)}),p=x,r.bottom&&(p===2||p===4)&&h&&this.elPopup.classList.add("invert-y"),r.right&&(p===0||p===1||p===3)&&this.elPopup.classList.add("invert-x"),this.elPopup.classList.remove("p0","p1","p2","p3","p4"),this.elPopup.classList.add("p"+p),this.elPopupInner instanceof HTMLElement&&(this.elPopupInner.style.maxWidth="",this.elPopupInner.style.maxHeight=""),s.TopPopupWorker.scrollToActive(this.elPopup)}onTouchmove(t){var p,o,e;if(t.currentTarget instanceof HTMLElement&&t.target instanceof HTMLElement){if(t.currentTarget.scrollWidth>t.currentTarget.offsetWidth||(p=t.target.parentElement)!=null&&p.scrollWidth&&((o=t.target.parentElement)!=null&&o.offsetWidth)&&t.target.parentElement.scrollWidth>((e=t.target.parentElement)==null?void 0:e.offsetWidth))return;t.currentTarget.matches(".has_scroll")||t.preventDefault()}}close(){var t;this.isClosed||(this.isClosed=!0,this.$&&f.Core.$&&this.elPopup&&this.$.trigger("afterclose.top-menu-popup",[f.Core.$(this.elPopup)]),!s.TopPopupWorker.noClose&&(this.unmount(),(t=this.elPopup)==null||t.classList.add("top-popup-wrapper-closed"),setTimeout(()=>{var e,r,n,c,h;if(this.vueClose(),!this.elPopup)return;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"),(n=this.elPopup.querySelector(".notch-border"))==null||n.remove(),(c=this.elPopup.querySelector(".notch"))==null||c.remove(),(h=this.elPopupInner)==null||h.replaceWith(...this.elPopupInner.childNodes),i.default.storageClear(this.elPopup)):(i.default.storageClear(this.elPopup),this.elPopup.remove(),delete this.elPopup);const p=s.TopPopupWorker.getAllVisible(),o=p.length&&p[p.length-1];o?s.TopPopupWorker.getPopup(o).focus():document.documentElement.classList.remove("with_popup")},this.options.transitionDuration)))}async vueOpen(){var t;await((t=this.vueGetComponent())==null?void 0:t.onOpen(this))}vueClose(){var t;(t=this.vueGetComponent())==null||t.onClose(this)}vueGetComponent(){if(this.el instanceof HTMLElement&&this.options.id)return s.TopPopupWorker.vueConnectors.get(this.options.id)}}k.init(),w.TopLibPopup=v,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})});
2
- //# sourceMappingURL=popup-B_8bvIsF.amd.js.map