@topvisor/ui 1.4.0 → 1.4.1-projectSelector.0

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 (225) hide show
  1. package/.chunks/core-BgoBbm_5.es.js +242 -0
  2. package/.chunks/core-BgoBbm_5.es.js.map +1 -0
  3. package/.chunks/core-D1KnwO7l.amd.js +2 -0
  4. package/.chunks/core-D1KnwO7l.amd.js.map +1 -0
  5. package/.chunks/{datepicker-D1Hw3a3o.es.js → datepicker-BPTUHd97.es.js} +2 -2
  6. package/.chunks/datepicker-BPTUHd97.es.js.map +1 -0
  7. package/.chunks/{datepicker-3coUsFW2.amd.js → datepicker-O_SK-Dz4.amd.js} +2 -2
  8. package/.chunks/datepicker-O_SK-Dz4.amd.js.map +1 -0
  9. package/.chunks/{dialog_regionSelectorRegions-CZ8IX7la.amd.js → dialog_regionSelectorRegions-Ba-Eypgv.amd.js} +2 -2
  10. package/.chunks/dialog_regionSelectorRegions-Ba-Eypgv.amd.js.map +1 -0
  11. package/.chunks/{dialog_regionSelectorRegions-1UVhgK2f.es.js → dialog_regionSelectorRegions-DA38RsiW.es.js} +4 -4
  12. package/.chunks/dialog_regionSelectorRegions-DA38RsiW.es.js.map +1 -0
  13. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-Dq9kWWMg.amd.js → dialogs.vue_vue_type_script_setup_true_lang-CWprVs8d.amd.js} +2 -2
  14. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CWprVs8d.amd.js.map +1 -0
  15. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-DRbTG0vh.es.js → dialogs.vue_vue_type_script_setup_true_lang-CzFMOjlE.es.js} +2 -2
  16. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CzFMOjlE.es.js.map +1 -0
  17. package/.chunks/field-Cvv0SRcJ.amd.js.map +1 -1
  18. package/.chunks/field-CyyFzM-Y.es.js.map +1 -1
  19. package/.chunks/{forms-CUSCBQu3.amd.js → forms-4D_EVI46.amd.js} +3 -3
  20. package/.chunks/forms-4D_EVI46.amd.js.map +1 -0
  21. package/.chunks/{forms-BseC3Ftz.es.js → forms-xkXHvvah.es.js} +565 -551
  22. package/.chunks/forms-xkXHvvah.es.js.map +1 -0
  23. package/.chunks/index-DLUtoTUg.amd.js.map +1 -1
  24. package/.chunks/index-DkQWJkMc.es.js.map +1 -1
  25. package/.chunks/lazy-40pjr8cZ.es.js.map +1 -1
  26. package/.chunks/lazy-DSFLxvj4.amd.js.map +1 -1
  27. package/.chunks/{notice-DwjipV21.amd.js → notice-hF3z8ewG.amd.js} +2 -2
  28. package/.chunks/notice-hF3z8ewG.amd.js.map +1 -0
  29. package/.chunks/{notice-Cl3ZgiHm.es.js → notice-wqZxmsUH.es.js} +2 -2
  30. package/.chunks/notice-wqZxmsUH.es.js.map +1 -0
  31. package/.chunks/{page.vue_vue_type_script_setup_true_lang-CpRJQFD1.es.js → page.vue_vue_type_script_setup_true_lang-rW3w9LMh.es.js} +4 -4
  32. package/.chunks/page.vue_vue_type_script_setup_true_lang-rW3w9LMh.es.js.map +1 -0
  33. package/.chunks/{page.vue_vue_type_script_setup_true_lang-CjIiZU-D.amd.js → page.vue_vue_type_script_setup_true_lang-tiWuQ_ZK.amd.js} +2 -2
  34. package/.chunks/page.vue_vue_type_script_setup_true_lang-tiWuQ_ZK.amd.js.map +1 -0
  35. package/.chunks/policy.vue_vue_type_style_index_0_lang-C9A--uWd.es.js +503 -0
  36. package/.chunks/policy.vue_vue_type_style_index_0_lang-C9A--uWd.es.js.map +1 -0
  37. package/.chunks/policy.vue_vue_type_style_index_0_lang-DABqSSXw.amd.js +2 -0
  38. package/.chunks/policy.vue_vue_type_style_index_0_lang-DABqSSXw.amd.js.map +1 -0
  39. package/.chunks/{popup-Jw_Yyg3U.es.js → popup-BeLPdHWv.es.js} +2 -2
  40. package/.chunks/popup-BeLPdHWv.es.js.map +1 -0
  41. package/.chunks/{popup-DRuyYFGB.amd.js → popup-Bwmu8rOb.amd.js} +2 -2
  42. package/.chunks/popup-Bwmu8rOb.amd.js.map +1 -0
  43. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-DtiT6NE4.amd.js → popupHint.vue_vue_type_style_index_0_lang-B0BWXhHK.amd.js} +2 -2
  44. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-B0BWXhHK.amd.js.map +1 -0
  45. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-DD59yF6H.es.js → popupHint.vue_vue_type_style_index_0_lang-fnjq0yg1.es.js} +2 -2
  46. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-fnjq0yg1.es.js.map +1 -0
  47. package/.chunks/store-CX_6ZXhO.es.js.map +1 -1
  48. package/.chunks/store-YRW59xEF.amd.js.map +1 -1
  49. package/.chunks/{utils-D9nYQabE.amd.js → utils-BRJvuqe_.amd.js} +2 -2
  50. package/.chunks/utils-BRJvuqe_.amd.js.map +1 -0
  51. package/.chunks/{utils-YrUExsH7.es.js → utils-ByqQkftW.es.js} +2 -2
  52. package/.chunks/utils-ByqQkftW.es.js.map +1 -0
  53. package/.chunks/{utils-Q69SXlnV.es.js → utils-YVlPlqDK.es.js} +3 -3
  54. package/.chunks/utils-YVlPlqDK.es.js.map +1 -0
  55. package/.chunks/{utils-CzHUG_xz.amd.js → utils-cAJahDml.amd.js} +2 -2
  56. package/.chunks/utils-cAJahDml.amd.js.map +1 -0
  57. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-CkE912ll.amd.js → widgetInput.vue_vue_type_script_setup_true_lang-D7lVLE3D.amd.js} +2 -2
  58. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-D7lVLE3D.amd.js.map +1 -0
  59. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-CDkeKVqY.es.js → widgetInput.vue_vue_type_script_setup_true_lang-UUovJzhL.es.js} +2 -2
  60. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-UUovJzhL.es.js.map +1 -0
  61. package/README.md +82 -82
  62. package/api/additional.amd.js.map +1 -1
  63. package/api/additional.js.map +1 -1
  64. package/api/index.amd.js +1 -1
  65. package/api/index.amd.js.map +1 -1
  66. package/api/index.js +1 -1
  67. package/api/index.js.map +1 -1
  68. package/assets/core.css +1 -1
  69. package/assets/forms.css +1 -1
  70. package/assets/policy.css +1 -1
  71. package/assets/project.css +1 -1
  72. package/charts/charts.amd.js +1 -1
  73. package/charts/charts.amd.js.map +1 -1
  74. package/charts/charts.js +1 -1
  75. package/charts/charts.js.map +1 -1
  76. package/core/app.amd.js +1 -1
  77. package/core/app.amd.js.map +1 -1
  78. package/core/app.js +5 -5
  79. package/core/app.js.map +1 -1
  80. package/dialog/dialog.amd.js +1 -1
  81. package/dialog/dialog.amd.js.map +1 -1
  82. package/dialog/dialog.js +2 -2
  83. package/dialog/dialog.js.map +1 -1
  84. package/extra/extra.amd.js.map +1 -1
  85. package/extra/extra.js.map +1 -1
  86. package/forms/forms.amd.js +1 -1
  87. package/forms/forms.js +3 -3
  88. package/formsExt/formsExt.amd.js +1 -1
  89. package/formsExt/formsExt.amd.js.map +1 -1
  90. package/formsExt/formsExt.js +123 -111
  91. package/formsExt/formsExt.js.map +1 -1
  92. package/icomoon/Read Me.txt +7 -7
  93. package/icomoon/Topvisor icons.json +6658 -0
  94. package/icomoon/demo-files/demo.css +158 -158
  95. package/icomoon/demo-files/demo.js +30 -30
  96. package/icomoon/demo.css +158 -158
  97. package/icomoon/demo.html +15 -1
  98. package/icomoon/demo.js +30 -30
  99. package/icomoon/fonts/Topvisor-2.eot +0 -0
  100. package/icomoon/fonts/Topvisor-2.svg +1 -0
  101. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  102. package/icomoon/fonts/Topvisor-2.woff +0 -0
  103. package/icomoon/selection.json +1 -1
  104. package/icomoon/style.css +8 -5
  105. package/jquery-ui.min.css +5 -5
  106. package/layout/layout.amd.js +1 -1
  107. package/layout/layout.amd.js.map +1 -1
  108. package/layout/layout.js +1 -1
  109. package/layout/layout.js.map +1 -1
  110. package/package.json +1 -1
  111. package/popup/popup.amd.js +1 -1
  112. package/popup/popup.amd.js.map +1 -1
  113. package/popup/popup.js +6 -6
  114. package/popup/popup.js.map +1 -1
  115. package/popup/worker.amd.js +1 -1
  116. package/popup/worker.amd.js.map +1 -1
  117. package/popup/worker.js +2 -2
  118. package/popup/worker.js.map +1 -1
  119. package/project/project.amd.js +1 -1
  120. package/project/project.amd.js.map +1 -1
  121. package/project/project.js +896 -614
  122. package/project/project.js.map +1 -1
  123. package/require/css.amd.js +12 -12
  124. package/src/api/api/types/client/request-options.d.ts +8 -3
  125. package/src/components/forms/caption/types.d.ts +5 -1
  126. package/src/components/forms/input/input.vue.d.ts +2 -4
  127. package/src/components/forms/input/types.d.ts +15 -0
  128. package/src/components/forms/select/select.vue.d.ts +15 -2
  129. package/src/components/forms/select/types.d.ts +6 -0
  130. package/src/components/formsExt/editArea/editArea.vue.d.ts +15 -2
  131. package/src/components/formsExt/editArea/types.d.ts +6 -0
  132. package/src/components/formsExt/editInput/editInput.vue.d.ts +16 -1
  133. package/src/components/formsExt/selector2/composables/useAPI.d.ts +2 -0
  134. package/src/components/formsExt/selector2/composables/useMenu.d.ts +3 -1
  135. package/src/components/formsExt/selector2/types.d.ts +14 -0
  136. package/src/components/popup/popup/listItem.vue.d.ts +24 -4
  137. package/src/components/popup/popup/types.d.ts +1 -0
  138. package/src/components/project/groupSelector/groups/groups.vue.d.ts +2 -0
  139. package/src/components/project/groupSelector/groups/utils.d.ts +1 -1
  140. package/src/components/project/project.d.ts +1 -0
  141. package/src/components/project/projectSelector/projectSelector.vue.d.ts +121 -0
  142. package/src/components/project/projectSelector/stories/mocks/projects.d.ts +10 -0
  143. package/src/components/project/projectSelector/submenu/submenu.vue.d.ts +4 -0
  144. package/src/components/project/projectSelector/submenu/types.d.ts +17 -0
  145. package/src/components/project/projectSelector/types.d.ts +57 -0
  146. package/src/components/project/projectSelector/utils.d.ts +206 -0
  147. package/src/core/directives/shortcut.d.ts +12 -0
  148. package/src/core/utils/string.d.ts +1 -1
  149. package/tabs/tabs.amd.js.map +1 -1
  150. package/tabs/tabs.js.map +1 -1
  151. package/tabsView/tabsView.amd.js +1 -1
  152. package/tabsView/tabsView.amd.js.map +1 -1
  153. package/tabsView/tabsView.js +2 -2
  154. package/tabsView/tabsView.js.map +1 -1
  155. package/utils/check.amd.js.map +1 -1
  156. package/utils/check.js.map +1 -1
  157. package/utils/clipboard.amd.js +1 -1
  158. package/utils/clipboard.amd.js.map +1 -1
  159. package/utils/clipboard.js +1 -1
  160. package/utils/clipboard.js.map +1 -1
  161. package/utils/date.amd.js +1 -1
  162. package/utils/date.js +1 -1
  163. package/utils/device.amd.js +1 -1
  164. package/utils/device.js +1 -1
  165. package/utils/dom.amd.js.map +1 -1
  166. package/utils/dom.js.map +1 -1
  167. package/utils/image.amd.js.map +1 -1
  168. package/utils/image.js.map +1 -1
  169. package/utils/keyboard.amd.js.map +1 -1
  170. package/utils/keyboard.js.map +1 -1
  171. package/utils/lodash.amd.js +1 -1
  172. package/utils/lodash.js +1 -1
  173. package/utils/number.amd.js.map +1 -1
  174. package/utils/number.js.map +1 -1
  175. package/utils/price.amd.js +1 -1
  176. package/utils/price.amd.js.map +1 -1
  177. package/utils/price.js +1 -1
  178. package/utils/price.js.map +1 -1
  179. package/utils/route.amd.js.map +1 -1
  180. package/utils/route.js.map +1 -1
  181. package/utils/scroll.amd.js.map +1 -1
  182. package/utils/scroll.js.map +1 -1
  183. package/utils/searchers.amd.js +1 -1
  184. package/utils/searchers.amd.js.map +1 -1
  185. package/utils/searchers.js +3 -3
  186. package/utils/searchers.js.map +1 -1
  187. package/utils/string.amd.js +1 -1
  188. package/utils/string.amd.js.map +1 -1
  189. package/utils/string.js +1 -1
  190. package/utils/string.js.map +1 -1
  191. package/utils/system.amd.js.map +1 -1
  192. package/utils/system.js.map +1 -1
  193. package/utils/url.amd.js.map +1 -1
  194. package/utils/url.js.map +1 -1
  195. package/web-types.json +31 -0
  196. package/.chunks/core-BL-38XF7.es.js +0 -196
  197. package/.chunks/core-BL-38XF7.es.js.map +0 -1
  198. package/.chunks/core-BsPx05H9.amd.js +0 -2
  199. package/.chunks/core-BsPx05H9.amd.js.map +0 -1
  200. package/.chunks/datepicker-3coUsFW2.amd.js.map +0 -1
  201. package/.chunks/datepicker-D1Hw3a3o.es.js.map +0 -1
  202. package/.chunks/dialog_regionSelectorRegions-1UVhgK2f.es.js.map +0 -1
  203. package/.chunks/dialog_regionSelectorRegions-CZ8IX7la.amd.js.map +0 -1
  204. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-DRbTG0vh.es.js.map +0 -1
  205. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-Dq9kWWMg.amd.js.map +0 -1
  206. package/.chunks/forms-BseC3Ftz.es.js.map +0 -1
  207. package/.chunks/forms-CUSCBQu3.amd.js.map +0 -1
  208. package/.chunks/notice-Cl3ZgiHm.es.js.map +0 -1
  209. package/.chunks/notice-DwjipV21.amd.js.map +0 -1
  210. package/.chunks/page.vue_vue_type_script_setup_true_lang-CjIiZU-D.amd.js.map +0 -1
  211. package/.chunks/page.vue_vue_type_script_setup_true_lang-CpRJQFD1.es.js.map +0 -1
  212. package/.chunks/policy.vue_vue_type_style_index_0_lang-BBDJEs5Q.es.js +0 -496
  213. package/.chunks/policy.vue_vue_type_style_index_0_lang-BBDJEs5Q.es.js.map +0 -1
  214. package/.chunks/policy.vue_vue_type_style_index_0_lang-DJOaMdBm.amd.js +0 -2
  215. package/.chunks/policy.vue_vue_type_style_index_0_lang-DJOaMdBm.amd.js.map +0 -1
  216. package/.chunks/popup-DRuyYFGB.amd.js.map +0 -1
  217. package/.chunks/popup-Jw_Yyg3U.es.js.map +0 -1
  218. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-DD59yF6H.es.js.map +0 -1
  219. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-DtiT6NE4.amd.js.map +0 -1
  220. package/.chunks/utils-CzHUG_xz.amd.js.map +0 -1
  221. package/.chunks/utils-D9nYQabE.amd.js.map +0 -1
  222. package/.chunks/utils-Q69SXlnV.es.js.map +0 -1
  223. package/.chunks/utils-YrUExsH7.es.js.map +0 -1
  224. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CDkeKVqY.es.js.map +0 -1
  225. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CkE912ll.amd.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog_regionSelectorRegions-DA38RsiW.es.js","sources":["../../src/components/project/regionSelector/dialog_regionSelectorRegions/dialog_regionSelectorRegions.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, reactive, ref, watch } from 'vue';\r\nimport { TopDialog, TopDialogPage, useTopDialogSelf } from '@/components/dialog/dialog';\r\nimport { genFlagLinkByCountryCode } from '@/core/utils/string';\r\nimport type { Props, RegionRich } from './types';\r\nimport { getDeviceGIcon, getLangLabel, getSearcherGIcon } from '@/core/utils/searchers';\r\nimport Core from '@/core/core/core';\r\n\r\ndefineOptions({ id: 'regionSelectorRegions' });\r\n\r\nconst props = defineProps<Partial<Props>>();\r\n\r\nconst dialog = useTopDialogSelf();\r\n\r\n/**\r\n * Список расширенных регионов для использования в компоненте\r\n */\r\nconst regionsRich = ref<RegionRich[]>([]);\r\n\r\n/**\r\n * Ссылка на элемент с регионами\r\n */\r\nconst elRegions = ref<null | HTMLElement>(null);\r\n\r\n/**\r\n * Направление сортировки по полю\r\n */\r\nconst sortedVectorByField = reactive({\r\n\tsearcher_key: -1,\r\n\tkey: -1,\r\n\tname: -1,\r\n});\r\n\r\n/**\r\n * Выбраны все регионы\r\n */\r\nconst isAllSelected = computed({\r\n\tget() {\r\n\t\treturn regionsRich.value.every(region => region.selected);\r\n\t},\r\n\r\n\tset(value) {\r\n\t\tregionsRich.value = regionsRich.value.map(region => ({ ...region, selected: value }));\r\n\t},\r\n});\r\n\r\n/**\r\n * Сортировать регионы по выбранному полю\r\n * @param sortedField - Поле для сортировки\r\n */\r\nconst sort = (sortedField: keyof typeof sortedVectorByField) => {\r\n\tsortedVectorByField[sortedField] = -sortedVectorByField[sortedField];\r\n\r\n\tregionsRich.value.sort((regionA, regionB) => {\r\n\t\tif (!regionA[sortedField] || !regionB[sortedField]) return -1;\r\n\r\n\t\treturn regionA[sortedField] >= regionB[sortedField] ? sortedVectorByField[sortedField] : -sortedVectorByField[sortedField];\r\n\t});\r\n};\r\n\r\n/**\r\n * Применить изменения\r\n *\r\n * Вызывает callback `props['@update:regionsIndexes']`\r\n */\r\nconst onSubmit = () => {\r\n\tif (!regionsRich.value.some(region => region.selected)) return;\r\n\r\n\tconst regionsIndexes = regionsRich.value\r\n\t\t.filter(region => region.selected)\r\n\t\t.map(region => region.index);\r\n\r\n\tprops['@update:regionsIndexes']?.(regionsIndexes);\r\n\r\n\tdialog.close();\r\n};\r\n\r\n// генерация регионов\r\nwatch([\r\n\t() => props.regions,\r\n\t() => props.regionsIndexes,\r\n], () => {\r\n\tregionsRich.value = [];\r\n\r\n\tif (!props.regions) return;\r\n\tif (!props.regionsIndexes) return;\r\n\r\n\tlet regions = [...props.regions];\r\n\r\n\t// отсортировать регионы по входным данным\r\n\tconst orderByRegionIndex = new Map(props.regionsIndexes.map((index, order) => [index, order]));\r\n\r\n\tregions.sort((regionA, regionB) => {\r\n\t\tconst orderA = orderByRegionIndex.get(regionA.index) ?? Number.MAX_VALUE;\r\n\t\tconst orderB = orderByRegionIndex.get(regionB.index) ?? Number.MAX_VALUE;\r\n\r\n\t\treturn orderA - orderB;\r\n\t});\r\n\r\n\tregions.forEach(region => {\r\n\t\tlet title = region.name;\r\n\t\tif (region.areaName) title += ` (${region.areaName})`;\r\n\r\n\t\tconst selected = props.regionsIndexes?.includes(region.index) ?? false;\r\n\t\tconst searcherIcon = getSearcherGIcon(region.searcher_key);\r\n\t\tconst langLabel = region.lang !== undefined ? getLangLabel(region.searcher_key ?? 999, region.lang) : undefined;\r\n\t\tconst deviceIcon = region.device !== undefined ? getDeviceGIcon(region.device) : undefined;\r\n\t\tconst flagLink = region.countryCode !== undefined ? genFlagLinkByCountryCode(region.countryCode) : undefined;\r\n\r\n\t\tconst regionRich = {\r\n\t\t\t...region,\r\n\t\t\tselected,\r\n\t\t\ttitle,\r\n\t\t\tsearcherIcon,\r\n\t\t\tlangLabel,\r\n\t\t\tdeviceIcon,\r\n\t\t\tflagLink,\r\n\t\t};\r\n\r\n\t\tregionsRich.value.push(regionRich);\r\n\t});\r\n});\r\n\r\n/**\r\n * Проверить на существование sortable\r\n */\r\nconst onOpen = () => {\r\n\tif (!Core.$?.ui['sortable']) {\r\n\t\tconsole.info('Для работы сортировки требуется глобальная загрузка jQuery UI Sortable');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (!elRegions.value) return;\r\n\r\n\t$(elRegions.value).sortable({\r\n\t\tdistance: 10,\r\n\r\n\t\tstop: () => {\r\n\t\t\t// Обновляем порядок регионов в массиве regionsRich после сортировки\r\n\t\t\tconst sortedIndexes = [...elRegions.value!.children].map(el => Number(el.getAttribute('data-region-index')));\r\n\t\t\tregionsRich.value.sort((a, b) => sortedIndexes.indexOf(a.index) - sortedIndexes.indexOf(b.index));\r\n\t\t},\r\n\t});\r\n};\r\n\r\n/**\r\n * Удаление sortable\r\n */\r\nconst onClose = () => {\r\n\tif (!Core.$?.ui['sortable']) return;\r\n\tif (!elRegions.value) return;\r\n\r\n\t$(elRegions.value).sortable('destroy');\r\n};\r\n\r\n</script>\r\n\r\n<template>\r\n\t<TopDialog\r\n\t\t:id=\"dialog.id\"\r\n\t\tpageActive=\"regions\"\r\n\t\tclass=\"dialog_regionSelectorRegions\"\r\n\t\theight=\"600px\"\r\n\t\twidth=\"600px\"\r\n\t\t@open=\"onOpen\"\r\n\t\t@close=\"onClose\"\r\n\t>\r\n\t\t<TopDialogPage name=\"regions\" :order=\"0\">\r\n\t\t\t<template #header>\r\n\t\t\t\t<div class=\"dialog_regionSelectorRegions_header\">\r\n\t\t\t\t\t<TopCheckbox v-model=\"isAllSelected\"></TopCheckbox>\r\n\r\n\t\t\t\t\t<TopButton\r\n\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_sortButton\"\r\n\t\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\t\tdata-top-icon=\"\"\r\n\t\t\t\t\t\t@click=\"sort('searcher_key')\"\r\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_search_engine\"\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t<TopButton\r\n\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_sortButton\"\r\n\t\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\t\tdata-top-icon=\"\"\r\n\t\t\t\t\t\t@click=\"sort('key')\"\r\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_yande_region_code\"\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t<TopButton\r\n\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_sortButton\"\r\n\t\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\t\tdata-top-icon=\"\"\r\n\t\t\t\t\t\t@click=\"sort('name')\"\r\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_lphabetically\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\r\n\t\t\t<template #body>\r\n\t\t\t\t<div ref=\"elRegions\">\r\n\t\t\t\t\t<TopCheckbox\r\n\t\t\t\t\t\tv-for=\"region of regionsRich\"\r\n\t\t\t\t\t\t:key=\"region.index\"\r\n\t\t\t\t\t\tv-model=\"region.selected\"\r\n\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_region\"\r\n\t\t\t\t\t\t:data-region-index=\"region.index\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_regionSearcherIcon\"\r\n\t\t\t\t\t\t\t:data-top-icon=\"region.searcherIcon\"\r\n\t\t\t\t\t\t></div>\r\n\r\n\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\tv-if=\"region.flagLink\"\r\n\t\t\t\t\t\t\tclass=\"top-flag\"\r\n\t\t\t\t\t\t\t:src=\"'//topvisor.dev' + region.flagLink\"\r\n\t\t\t\t\t\t\t:alt=\"region.countryCode\"\r\n\t\t\t\t\t\t>\r\n\r\n\t\t\t\t\t\t<div class=\"top-ellipsis\">\r\n\t\t\t\t\t\t\t{{ region.name }}\r\n\r\n\t\t\t\t\t\t\t<span class=\"dialog_regionSelectorRegions_regionAreaName\">\r\n\t\t\t\t\t\t\t\t{{ region.areaName }}\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div v-if=\"region.langLabel\">\r\n\t\t\t\t\t\t\t[{{ region.langLabel }}]\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tv-if=\"region.deviceIcon\"\r\n\t\t\t\t\t\t\t:data-top-icon=\"region.deviceIcon\"\r\n\t\t\t\t\t\t></div>\r\n\t\t\t\t\t</TopCheckbox>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\r\n\t\t\t<template #footer>\r\n\t\t\t\t<TopButton @click=\"onSubmit\">\r\n\t\t\t\t\t{{ $i18n.Common?.Apply }}\r\n\t\t\t\t</TopButton>\r\n\t\t\t</template>\r\n\t\t</TopDialogPage>\r\n\t</TopDialog>\r\n</template>\r\n\r\n<style>\r\n@import \"./style.css\";\r\n</style>\r\n"],"names":["props","__props","dialog","useTopDialogSelf","regionsRich","ref","elRegions","sortedVectorByField","reactive","isAllSelected","computed","region","value","sort","sortedField","regionA","regionB","onSubmit","regionsIndexes","watch","regions","orderByRegionIndex","index","order","orderA","orderB","title","selected","searcherIcon","getSearcherGIcon","langLabel","getLangLabel","deviceIcon","getDeviceGIcon","flagLink","genFlagLinkByCountryCode","regionRich","onOpen","Core","sortedIndexes","el","a","b","onClose","_createBlock","_unref","TopDialog","_createVNode","TopDialogPage","_createElementVNode","_hoisted_1","_component_TopCheckbox","$event","_component_TopButton","$i18n","_createElementBlock","_Fragment","_renderList","_hoisted_4","_hoisted_5","_toDisplayString","_openBlock"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../utils/system.amd","../utils/route.amd","../utils/dom.amd"],(function(A,w,s,H,g,h){"use strict";if(typeof s>"u")var s=window.Vue;class l{static state={load:void 0,decoratorOnCreate:void 0,viewPageN:0};static inited=!1;static init(e){if(this.inited)return;this.inited=!0,this.state.load=e?.load,this.state.decoratorOnCreate=e?.decoratorOnCreate;const t=e?.autoInitDelay??5e3;window.addEventListener("hashchange",a=>{this.opendDialogsFromChangeUrl(a.oldURL,a.newURL)}),this.opendDialogsFromChangeUrl("",location.href),document.addEventListener("mousedown",async a=>{if(!(a.target instanceof HTMLElement))return;const i=a.target.closest("a[data-to-view]");if(!i)return;let o="next";i.dataset.action==="top-dialog-close"&&(o="prev"),i.href=l.genViewPageHash(i.dataset.toView,o)}),document.addEventListener("click",async a=>{if(!(a.target instanceof HTMLElement))return;const i=a.target.closest("[data-to-view]");if(!i)return;if(i instanceof HTMLAnchorElement&&i.href==="."){a.preventDefault();const m=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});i.dispatchEvent(m),setTimeout(()=>i.click());return}const o=await this.getDialogsUtils(),r=i.dataset.toView,p=r.split("-")[0],u=o.getElDialogById(p);let v="next";if(u){const m=h.querySelectorAllArray(u,".modal-layer"),P=m.reduce((y,E)=>{const f=E.querySelector(":scope > .active");return f&&y.push(f),y},[]);if(P.length){const y=r.split("-")[1].split(":")[0];(m.reduce((f,M)=>{const N=M?.querySelector(`:scope > [data-view-page="${y}"]`);return N&&f.push(N),f},[])[0]?.dataset.order??0)<(P[0]?.dataset.order??0)&&(v="prev")}}i.dataset.action==="top-dialog-close"&&(v="prev");const D=l.genViewPageHash(r,v);if(i instanceof HTMLAnchorElement){if(!u||!h.isVisible(u))return;if(location.hash.indexOf(r.replace("-","="))!==-1){await o.toViewDirty(r);return}}!!u?.dataset.toViewReplace?(a.preventDefault(),g.historySetState(!0,D),await o.toViewDirty(r),v=="next"?l.state.viewPageN++:l.state.viewPageN--):i.tagName!=="A"&&(this.compareStates(D,location.hash)?g.historySetState(!1,D):await o.toViewDirty(r))}),setTimeout(()=>this.getDialogsUtils(),t)}static opendDialogsFromChangeUrl(e,t){const a=e.replace(/.*?#/,"#"),n=t.replace(/.*?#/,"#");this.compareStates(a,n)&&this.opendDialogsFromUrl()}static async getDialogsUtils(){const{TopDialogUtils:e}=await new Promise((t,a)=>A(["./utils-D9nYQabE.amd"],t,a));return e}static getDialog(e){return e.closest(".ui-dialog-content")}static get$dialog(e){return e.closest(".ui-dialog-content")}static getPage(e){return e.closest("[data-view-page]")}static get$page(e){return e.closest("[data-view-page]")}static get$pairPage(e){const t=l.get$dialog(e),n=l.get$page(e).data("view-page");return $('[data-view-page="'+n+'"]',t)}static getPairPage(e){const t=l.getDialog(e);if(!t)return;const n=l.getPage(e)?.dataset.viewPage;return h.querySelectorAllArray(t,`[data-view-page="${n}"]`)}static close(e){const t=$("#"+e);if(t.dialog("instance")){t.dialog("close");return}const a=document.getElementById(e);a instanceof HTMLDialogElement&&a.close()}static destroy(e){const t=$("#"+e);if(t.dialog("instance")){t.dialog("close"),t.dialog("destroy");return}const a=document.getElementById(e);a instanceof HTMLDialogElement&&a.close()}static genViewPageHash(e,t="next"){let a=this.state.viewPageN;t=="prev"?a--:a++;const n=e.split("-"),i=n.shift(),o=n.join("-");let r=g.genHash("vpn",a);return r=g.genHash("view-"+i,o,r),r}static compareStates(e,t){const a=e.match(/[#&]view-[^&]+/g)||[],n=t.match(/[#&]view-[^&]+/g)||[];return!!(a.length!==n.length||a.filter((o,r)=>{const p=n[r]||"";return o!==p}).length)}static opendDialogsFromUrl=async()=>{const e=Number(g.getHash("vpn"))||0;let t;const a=new RegExp("view-((\\w+)=([\\w-]+)(?::([\\w.:-]+))?)","g");for(;t=a.exec(location.hash);){let i="next";return e<this.state.viewPageN&&(i="prev"),(await this.getDialogsUtils()).toViewDirty(t[1],i)}return h.querySelectorAllArray(document,".ui-dialog-content[data-view-page-active]").filter(i=>h.isVisible(i)).forEach(i=>{const o=i.getAttribute("id");if(!o)throw"Диалоговое окно не содержит id";g.getHash("view-"+o)||$(i).dialog("close")}),this.state.viewPageN=e,!0}}class U{id;idAttr;Component;isMounted=s.ref(!1);isReady=s.ref(!1);isOpened=s.ref(!1);pageActive=s.ref("");isLoadingPage=s.ref(!1);pageActiveNext=s.ref("");props;emit;onCloseOnce;constructor(e){this.id=e.id,this.idAttr="dialog_"+e.id,this.Component=s.markRaw(e)}onMounted(e,t){this.isMounted.value=!0,this.props=e.props,this.emit=t.emit}async open(e="main",t,a=[],n,i){t&&await this.setProps(t),n&&(this.onCloseOnce=n),await(await l.getDialogsUtils()).toView(this.idAttr,e,a,i)}async openAsLink(e="main",t,a=[],n,i){t&&await this.setProps(t),n&&(this.onCloseOnce=n);const o=this.idAttr+"-"+e,r=l.genViewPageHash(o,i);g.historySetState(!1,r)}async close(){l.close(this.idAttr)}async destroy(){l.destroy(this.idAttr)}async setProps(e={}){this.isMounted||await H.waitWhile(()=>!this.props);for(const t in this.props)this.props[t]=e[t]}needShowPage(e){return this.isOpened.value?this.pageActive.value===e||this.pageActiveNext.value===e:!1}}const V={class:"top-dialogs",style:{display:"none"}},d=s.shallowReactive(new Map),L=c=>(c=c.replace(/^dialog_/,""),d.get(c)),S=c=>{if(!c?.id)throw console.log({TopDialogComponent:c}),new Error("Expected TopDialogComponent");return d.has(c.id)||d.set(c.id,new U(c)),d.get(c.id)},x=s.defineComponent({name:"DialogWrapper",__name:"dialogs",setup(c){return s.onUnmounted(()=>{d.forEach(e=>e.destroy()),d.clear()}),(e,t)=>(s.openBlock(),s.createElementBlock("div",V,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(s.unref(d),([a,n])=>(s.openBlock(),s.createBlock(s.resolveDynamicComponent(n.Component),{key:a}))),128))]))}});w.TopDialogWorker=l,w._sfc_main=x,w.addDialogWorker=S,w.getDialogWorker=L}));
2
- //# sourceMappingURL=dialogs.vue_vue_type_script_setup_true_lang-Dq9kWWMg.amd.js.map
1
+ define(["require","exports","vue","../utils/system.amd","../utils/route.amd","../utils/dom.amd"],(function(A,w,s,H,g,h){"use strict";if(typeof s>"u")var s=window.Vue;class l{static state={load:void 0,decoratorOnCreate:void 0,viewPageN:0};static inited=!1;static init(e){if(this.inited)return;this.inited=!0,this.state.load=e?.load,this.state.decoratorOnCreate=e?.decoratorOnCreate;const t=e?.autoInitDelay??5e3;window.addEventListener("hashchange",a=>{this.opendDialogsFromChangeUrl(a.oldURL,a.newURL)}),this.opendDialogsFromChangeUrl("",location.href),document.addEventListener("mousedown",async a=>{if(!(a.target instanceof HTMLElement))return;const i=a.target.closest("a[data-to-view]");if(!i)return;let o="next";i.dataset.action==="top-dialog-close"&&(o="prev"),i.href=l.genViewPageHash(i.dataset.toView,o)}),document.addEventListener("click",async a=>{if(!(a.target instanceof HTMLElement))return;const i=a.target.closest("[data-to-view]");if(!i)return;if(i instanceof HTMLAnchorElement&&i.href==="."){a.preventDefault();const m=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});i.dispatchEvent(m),setTimeout(()=>i.click());return}const o=await this.getDialogsUtils(),r=i.dataset.toView,p=r.split("-")[0],u=o.getElDialogById(p);let v="next";if(u){const m=h.querySelectorAllArray(u,".modal-layer"),P=m.reduce((y,E)=>{const f=E.querySelector(":scope > .active");return f&&y.push(f),y},[]);if(P.length){const y=r.split("-")[1].split(":")[0];(m.reduce((f,M)=>{const N=M?.querySelector(`:scope > [data-view-page="${y}"]`);return N&&f.push(N),f},[])[0]?.dataset.order??0)<(P[0]?.dataset.order??0)&&(v="prev")}}i.dataset.action==="top-dialog-close"&&(v="prev");const D=l.genViewPageHash(r,v);if(i instanceof HTMLAnchorElement){if(!u||!h.isVisible(u))return;if(location.hash.indexOf(r.replace("-","="))!==-1){await o.toViewDirty(r);return}}!!u?.dataset.toViewReplace?(a.preventDefault(),g.historySetState(!0,D),await o.toViewDirty(r),v=="next"?l.state.viewPageN++:l.state.viewPageN--):i.tagName!=="A"&&(this.compareStates(D,location.hash)?g.historySetState(!1,D):await o.toViewDirty(r))}),setTimeout(()=>this.getDialogsUtils(),t)}static opendDialogsFromChangeUrl(e,t){const a=e.replace(/.*?#/,"#"),n=t.replace(/.*?#/,"#");this.compareStates(a,n)&&this.opendDialogsFromUrl()}static async getDialogsUtils(){const{TopDialogUtils:e}=await new Promise((t,a)=>A(["./utils-BRJvuqe_.amd"],t,a));return e}static getDialog(e){return e.closest(".ui-dialog-content")}static get$dialog(e){return e.closest(".ui-dialog-content")}static getPage(e){return e.closest("[data-view-page]")}static get$page(e){return e.closest("[data-view-page]")}static get$pairPage(e){const t=l.get$dialog(e),n=l.get$page(e).data("view-page");return $('[data-view-page="'+n+'"]',t)}static getPairPage(e){const t=l.getDialog(e);if(!t)return;const n=l.getPage(e)?.dataset.viewPage;return h.querySelectorAllArray(t,`[data-view-page="${n}"]`)}static close(e){const t=$("#"+e);if(t.dialog("instance")){t.dialog("close");return}const a=document.getElementById(e);a instanceof HTMLDialogElement&&a.close()}static destroy(e){const t=$("#"+e);if(t.dialog("instance")){t.dialog("close"),t.dialog("destroy");return}const a=document.getElementById(e);a instanceof HTMLDialogElement&&a.close()}static genViewPageHash(e,t="next"){let a=this.state.viewPageN;t=="prev"?a--:a++;const n=e.split("-"),i=n.shift(),o=n.join("-");let r=g.genHash("vpn",a);return r=g.genHash("view-"+i,o,r),r}static compareStates(e,t){const a=e.match(/[#&]view-[^&]+/g)||[],n=t.match(/[#&]view-[^&]+/g)||[];return!!(a.length!==n.length||a.filter((o,r)=>{const p=n[r]||"";return o!==p}).length)}static opendDialogsFromUrl=async()=>{const e=Number(g.getHash("vpn"))||0;let t;const a=new RegExp("view-((\\w+)=([\\w-]+)(?::([\\w.:-]+))?)","g");for(;t=a.exec(location.hash);){let i="next";return e<this.state.viewPageN&&(i="prev"),(await this.getDialogsUtils()).toViewDirty(t[1],i)}return h.querySelectorAllArray(document,".ui-dialog-content[data-view-page-active]").filter(i=>h.isVisible(i)).forEach(i=>{const o=i.getAttribute("id");if(!o)throw"Диалоговое окно не содержит id";g.getHash("view-"+o)||$(i).dialog("close")}),this.state.viewPageN=e,!0}}class U{id;idAttr;Component;isMounted=s.ref(!1);isReady=s.ref(!1);isOpened=s.ref(!1);pageActive=s.ref("");isLoadingPage=s.ref(!1);pageActiveNext=s.ref("");props;emit;onCloseOnce;constructor(e){this.id=e.id,this.idAttr="dialog_"+e.id,this.Component=s.markRaw(e)}onMounted(e,t){this.isMounted.value=!0,this.props=e.props,this.emit=t.emit}async open(e="main",t,a=[],n,i){t&&await this.setProps(t),n&&(this.onCloseOnce=n),await(await l.getDialogsUtils()).toView(this.idAttr,e,a,i)}async openAsLink(e="main",t,a=[],n,i){t&&await this.setProps(t),n&&(this.onCloseOnce=n);const o=this.idAttr+"-"+e,r=l.genViewPageHash(o,i);g.historySetState(!1,r)}async close(){l.close(this.idAttr)}async destroy(){l.destroy(this.idAttr)}async setProps(e={}){this.isMounted||await H.waitWhile(()=>!this.props);for(const t in this.props)this.props[t]=e[t]}needShowPage(e){return this.isOpened.value?this.pageActive.value===e||this.pageActiveNext.value===e:!1}}const V={class:"top-dialogs",style:{display:"none"}},d=s.shallowReactive(new Map),L=c=>(c=c.replace(/^dialog_/,""),d.get(c)),S=c=>{if(!c?.id)throw console.log({TopDialogComponent:c}),new Error("Expected TopDialogComponent");return d.has(c.id)||d.set(c.id,new U(c)),d.get(c.id)},x=s.defineComponent({name:"DialogWrapper",__name:"dialogs",setup(c){return s.onUnmounted(()=>{d.forEach(e=>e.destroy()),d.clear()}),(e,t)=>(s.openBlock(),s.createElementBlock("div",V,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(s.unref(d),([a,n])=>(s.openBlock(),s.createBlock(s.resolveDynamicComponent(n.Component),{key:a}))),128))]))}});w.TopDialogWorker=l,w._sfc_main=x,w.addDialogWorker=S,w.getDialogWorker=L}));
2
+ //# sourceMappingURL=dialogs.vue_vue_type_script_setup_true_lang-CWprVs8d.amd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialogs.vue_vue_type_script_setup_true_lang-CWprVs8d.amd.js","sources":["../../src/components/dialog/lib/worker.ts","../../src/components/dialog/dialog/composables/dialogHandle.ts","../../src/components/dialog/dialog/dialogs/dialogs.vue"],"sourcesContent":["import { genHash, getHash, historySetState } from '@/core/utils/route';\r\nimport type { ElTopDialog, ElTopDialogOpener, ElTopDialogPage, MoveDirection, TopDialogOptions } from './types';\r\nimport { isVisible, querySelectorAllArray } from '@/core/utils/dom';\r\nimport type { $el } from '@/components/types';\r\n\r\nexport abstract class TopDialogWorker {\r\n\tstatic state = {\r\n\t\tload: undefined as TopDialogOptions['load'] | undefined,\r\n\t\tdecoratorOnCreate: undefined as TopDialogOptions['decoratorOnCreate'] | undefined,\r\n\r\n\t\t/**\r\n\t\t * Порядковый номер перехода в диалоговых окнах\r\n\t\t *\r\n\t\t * Для расчета анимации Вперед / Назад\r\n\t\t */\r\n\t\tviewPageN: 0,\r\n\t};\r\n\r\n\tprivate static inited = false;\r\n\r\n\t/**\r\n\t * Инициировать события слежения за парамтерами url\r\n\t *\r\n\t * Если в параметрах есть запрос на открытие диалогового окна, TopDialog будет автоматически подключен на страницу\r\n\t */\r\n\tstatic init(options?: TopDialogOptions) {\r\n\t\tif (this.inited) return;\r\n\t\tthis.inited = true;\r\n\r\n\t\tthis.state.load = options?.load;\r\n\t\tthis.state.decoratorOnCreate = options?.decoratorOnCreate;\r\n\r\n\t\tconst autoInitDelay = options?.autoInitDelay ?? 5000;\r\n\r\n\t\twindow.addEventListener('hashchange', (e) => {\r\n\t\t\tthis.opendDialogsFromChangeUrl(e.oldURL, e.newURL);\r\n\t\t});\r\n\r\n\t\tthis.opendDialogsFromChangeUrl('', location.href);\r\n\r\n\t\t/**\r\n\t\t * Сгенерировать ссылку для перехода к странице диалогового окна\r\n\t\t */\r\n\t\tdocument.addEventListener('mousedown', async (e) => {\r\n\t\t\tif (!(e.target instanceof HTMLElement)) return;\r\n\r\n\t\t\tconst elEventTarget = e.target;\r\n\r\n\t\t\tconst el = elEventTarget.closest<ElTopDialogOpener<HTMLAnchorElement>>('a[data-to-view]');\r\n\t\t\tif (!el) return;\r\n\r\n\t\t\t// const toView = el.dataset.toView;\r\n\t\t\t// const viewName = toView.split('-')[0];\r\n\t\t\t// const $toDialog = $('#' + viewName);\r\n\t\t\t// const $modalLayers = $('> .modal-layer', $toDialog);\r\n\t\t\t// const $currentPage = $('> .active', $modalLayers);\r\n\r\n\t\t\tlet moveDirection: MoveDirection = 'next';\r\n\r\n\t\t\t// /**\r\n\t\t\t// * Данный алгоритм определения направления работает не корректно, так как для чтения свойства order менят состояние через getDialogsUtils()\r\n\t\t\t// */\r\n\t\t\t// if ($currentPage.length) {\r\n\t\t\t// \tconst pageName = toView.split('-')[1].split(':')[0];\r\n\t\t\t//\r\n\t\t\t// \tconst TopDialogUtils = await this.getDialogsUtils();\r\n\t\t\t//\r\n\t\t\t// \tawait TopDialogUtils.updatePageVue(viewName, undefined, pageName);\r\n\t\t\t//\r\n\t\t\t// \tconst $nextPage = $('> [data-view-page=\"' + pageName + '\"]', $modalLayers);\r\n\t\t\t// \tif ($nextPage.data('order') < $currentPage.data('order')) moveDirection = 'prev';\r\n\t\t\t// }\r\n\r\n\t\t\tif (el.dataset.action === 'top-dialog-close') moveDirection = 'prev';\r\n\r\n\t\t\tel.href = TopDialogWorker.genViewPageHash(el.dataset.toView, moveDirection);\r\n\t\t});\r\n\r\n\t\t/**\r\n\t\t * Осуществить переход по ссылке с учетом historyType\r\n\t\t */\r\n\t\tdocument.addEventListener('click', async (e) => {\r\n\t\t\tif (!(e.target instanceof HTMLElement)) return;\r\n\r\n\t\t\tconst elEventTarget = e.target;\r\n\r\n\t\t\tconst el = elEventTarget.closest<ElTopDialogOpener>('[data-to-view]');\r\n\t\t\tif (!el) return;\r\n\r\n\t\t\t// Подождать генерацию ссылки\r\n\t\t\tif (el instanceof HTMLAnchorElement && el.href === '.') {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tconst mouseEvent = new MouseEvent('mousedown', {\r\n\t\t\t\t\tbubbles: true,\r\n\t\t\t\t\tcancelable: true,\r\n\t\t\t\t\tview: window,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tel.dispatchEvent(mouseEvent);\r\n\r\n\t\t\t\tsetTimeout(() => el.click());\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tconst TopDialogUtils = await this.getDialogsUtils();\r\n\r\n\t\t\tconst toView = el.dataset.toView;\r\n\t\t\tconst viewName = toView.split('-')[0];\r\n\r\n\t\t\tconst elDialog = TopDialogUtils.getElDialogById(viewName);\r\n\r\n\t\t\tlet moveDirection: MoveDirection = 'next';\r\n\r\n\t\t\tif (elDialog) {\r\n\t\t\t\tconst elModalLayers = querySelectorAllArray(elDialog, '.modal-layer');\r\n\t\t\t\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, el) => {\r\n\t\t\t\t\tconst elCurrentPage = el.querySelector<ElTopDialogPage>(':scope > .active');\r\n\r\n\t\t\t\t\tif (elCurrentPage) acc.push(elCurrentPage);\r\n\r\n\t\t\t\t\treturn acc;\r\n\t\t\t\t}, []);\r\n\r\n\t\t\t\tif (elCurrentPages.length) {\r\n\t\t\t\t\tconst pageName = toView.split('-')[1].split(':')[0];\r\n\t\t\t\t\tconst elNextPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, el) => {\r\n\t\t\t\t\t\tconst elNextPage = el?.querySelector<ElTopDialogPage>(`:scope > [data-view-page=\"${pageName}\"]`);\r\n\r\n\t\t\t\t\t\tif (elNextPage) acc.push(elNextPage);\r\n\r\n\t\t\t\t\t\treturn acc;\r\n\t\t\t\t\t}, []);\r\n\r\n\t\t\t\t\tif ((elNextPages[0]?.dataset.order ?? 0) < (elCurrentPages[0]?.dataset.order ?? 0)) moveDirection = 'prev';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (el.dataset.action === 'top-dialog-close') moveDirection = 'prev';\r\n\r\n\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, moveDirection);\r\n\r\n\t\t\tif (el instanceof HTMLAnchorElement) {\r\n\t\t\t\t// диалоговое окно еще не открыто, произвести переход по ссылке\r\n\t\t\t\tif (!elDialog || !isVisible(elDialog)) return;\r\n\r\n\t\t\t\t// в адресе уже указана эта страница, необходимо явно запросить ее открытие\r\n\t\t\t\tif (location.hash.indexOf(toView.replace('-', '=')) !== -1) {\r\n\t\t\t\t\tawait TopDialogUtils.toViewDirty(toView);\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tconst replaceHistory = !!elDialog?.dataset.toViewReplace;\r\n\r\n\t\t\tif (replaceHistory) {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\thistorySetState(true, hash);\r\n\r\n\t\t\t\tawait TopDialogUtils.toViewDirty(toView);\r\n\r\n\t\t\t\tif (moveDirection == 'next') {\r\n\t\t\t\t\tTopDialogWorker.state.viewPageN++;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tTopDialogWorker.state.viewPageN--;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (el.tagName !== 'A') {\r\n\t\t\t\t\tif (this.compareStates(hash, location.hash)) {\r\n\t\t\t\t\t\thistorySetState(false, hash);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tawait TopDialogUtils.toViewDirty(toView);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tsetTimeout(() => this.getDialogsUtils(), autoInitDelay);\r\n\t}\r\n\r\n\tprivate static opendDialogsFromChangeUrl(oldUrl: string, newUrl: string) {\r\n\t\tconst oldHash = oldUrl.replace(/.*?#/, '#');\r\n\t\tconst newHash = newUrl.replace(/.*?#/, '#');\r\n\r\n\t\tconst dialogsStateChanged = this.compareStates(oldHash, newHash);\r\n\t\tif (dialogsStateChanged) void this.opendDialogsFromUrl();\r\n\t}\r\n\r\n\tstatic async getDialogsUtils() {\r\n\t\tconst { TopDialogUtils } = await import('./utils');\r\n\r\n\t\treturn TopDialogUtils;\r\n\t}\r\n\r\n\tstatic getDialog(el: HTMLElement) {\r\n\t\treturn el.closest<ElTopDialog>('.ui-dialog-content');\r\n\t};\r\n\r\n\t/**\r\n\t * todo: Переписать на сайте на this.getDialog()\r\n\t *\r\n\t * @deprecated Для обратной совместимости\r\n\t */\r\n\tstatic get$dialog($el: $el) {\r\n\t\treturn $el.closest('.ui-dialog-content');\r\n\t};\r\n\r\n\tstatic getPage(el: HTMLElement) {\r\n\t\treturn el.closest<ElTopDialogPage>('[data-view-page]');\r\n\t};\r\n\r\n\t/**\r\n\t * todo: Переписать на сайте на this.getPage()\r\n\t *\r\n\t * @deprecated Для обратной совместимости\r\n\t */\r\n\tstatic get$page($el: $el) {\r\n\t\treturn $el.closest('[data-view-page]');\r\n\t};\r\n\r\n\t/**\r\n\t * todo: Переписать на сайте на this.getPairPage()\r\n\t *\r\n\t * @deprecated Для обратной совместимости\r\n\t */\r\n\tstatic get$pairPage($el: $el) {\r\n\t\tconst $dialog = TopDialogWorker.get$dialog($el);\r\n\r\n\t\tconst $page = TopDialogWorker.get$page($el);\r\n\t\tconst pageName = $page.data('view-page');\r\n\r\n\t\treturn $('[data-view-page=\"' + pageName + '\"]', $dialog);\r\n\t};\r\n\r\n\tstatic getPairPage(el: HTMLElement) {\r\n\t\tconst elDialog = TopDialogWorker.getDialog(el);\r\n\t\tif (!elDialog) return;\r\n\r\n\t\tconst elPage = TopDialogWorker.getPage(el);\r\n\t\tconst pageName = elPage?.dataset.viewPage;\r\n\r\n\t\treturn querySelectorAllArray(elDialog, `[data-view-page=\"${pageName}\"]`);\r\n\t};\r\n\r\n\t/**\r\n\t * Закрыть диалоговое окно\r\n\t */\r\n\tstatic close(dialogId: string) {\r\n\t\tconst $dialog = $('#' + dialogId);\r\n\t\tif ($dialog.dialog('instance')) {\r\n\t\t\t$dialog.dialog('close');\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst elDialog = document.getElementById(dialogId);\r\n\r\n\t\tif (!(elDialog instanceof HTMLDialogElement)) return;\r\n\r\n\t\telDialog.close();\r\n\t};\r\n\r\n\t/**\r\n\t * Размонтировать $.dialog\r\n\t */\r\n\tstatic destroy(dialogId: string) {\r\n\t\tconst $dialog = $('#' + dialogId);\r\n\r\n\t\tif ($dialog.dialog('instance')) {\r\n\t\t\t$dialog.dialog('close');\r\n\t\t\t$dialog.dialog('destroy');\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst elDialog = document.getElementById(dialogId);\r\n\t\tif (!(elDialog instanceof HTMLDialogElement)) return;\r\n\r\n\t\telDialog.close();\r\n\t};\r\n\r\n\t/**\r\n\t * Сгенерировать ссылку на страницу в диалоговом окне\r\n\t * @param toView - указатель в формате: dialog_{{ dialogId }}={{ pageName }}:{{ args }}\r\n\t * @param moveDirection\r\n\t */\r\n\tstatic genViewPageHash(toView: string, moveDirection: MoveDirection = 'next') {\r\n\t\tlet toViewPageN = this.state.viewPageN;\r\n\t\tif (moveDirection == 'prev') {\r\n\t\t\ttoViewPageN--;\r\n\t\t} else {\r\n\t\t\ttoViewPageN++;\r\n\t\t}\r\n\r\n\t\tconst viewNameAndPageLink = toView.split('-');\r\n\t\tconst viewName = viewNameAndPageLink.shift();\r\n\t\tconst pageLink = viewNameAndPageLink.join('-');\r\n\r\n\t\tlet hash = genHash('vpn', toViewPageN);\r\n\t\thash = genHash('view-' + viewName, pageLink, hash);\r\n\r\n\t\treturn hash;\r\n\t};\r\n\r\n\t/**\r\n\t * Сравнить версию открытых диалоговых окон\r\n\t * @returns вернет true, если состояния открытых окон изменилось\r\n\t */\r\n\tstatic compareStates(hash: string, hash2: string) {\r\n\t\tconst mathes = hash.match(/[#&]view-[^&]+/g) || [];\r\n\t\tconst mathes2 = hash2.match(/[#&]view-[^&]+/g) || [];\r\n\r\n\t\tif (mathes.length !== mathes2.length) return true;\r\n\r\n\t\tconst mathesChanged = mathes.filter((math, n) => {\r\n\t\t\tconst math2 = mathes2[n] || '';\r\n\r\n\t\t\treturn math !== math2;\r\n\t\t});\r\n\r\n\t\tif (mathesChanged.length) return true;\r\n\r\n\t\treturn false;\r\n\t};\r\n\r\n\tstatic opendDialogsFromUrl = async () => {\r\n\t\tconst toViewPageN = Number(getHash('vpn')) || 0;\r\n\r\n\t\t// Открыть диалоговое окно\r\n\t\tlet view: RegExpExecArray | null;\r\n\t\t// const regexp = new RegExp('view-((\\\\w+)=([\\\\w-]+)(?::([\\\\w.:-]+))?)' + '(' + Math.random() + ')?', 'g'); // fix babel minify regexp\r\n\t\tconst regexp = new RegExp('view-((\\\\w+)=([\\\\w-]+)(?::([\\\\w.:-]+))?)', 'g');\r\n\r\n\t\t// TODO: Цикл делает только одну оперцию и выходит (возможно, оставлен специально с какой-то целью, если нет - заменить на if)\r\n\t\twhile (view = regexp.exec(location.hash)) {\r\n\t\t\tlet moveDirection: MoveDirection = 'next';\r\n\t\t\tif (toViewPageN < this.state.viewPageN) moveDirection = 'prev';\r\n\r\n\t\t\tconst TopDialogUtils = await this.getDialogsUtils();\r\n\r\n\t\t\treturn TopDialogUtils.toViewDirty(view[1], moveDirection);\r\n\t\t}\r\n\r\n\t\t// Закрыть ненужные view\r\n\t\tconst elDialogs = querySelectorAllArray(document, '.ui-dialog-content[data-view-page-active]') as HTMLDialogElement[];\r\n\t\telDialogs.filter((elDialog) => {\r\n\t\t\treturn isVisible(elDialog);\r\n\t\t}).forEach((elDialog) => {\r\n\t\t\tconst viewName = elDialog.getAttribute('id');\r\n\t\t\tif (!viewName) throw 'Диалоговое окно не содержит id';\r\n\t\t\tconst pageName = getHash('view-' + viewName);\r\n\t\t\tif (!pageName) {\r\n\t\t\t\tconst $dialog = $(elDialog);\r\n\r\n\t\t\t\t$dialog.dialog('close');\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.state.viewPageN = toViewPageN;\r\n\r\n\t\treturn true;\r\n\t};\r\n}\r\n","import { type ComponentInstance, type ComponentInternalInstance, markRaw, ref } from 'vue';\r\nimport { waitWhile } from '@/core/utils/system';\r\nimport TopDialog from '../dialog.vue';\r\nimport { TopDialogWorker } from '@/components/dialog/lib/worker';\r\nimport type { MoveDirection } from '@/components/dialog/lib/types';\r\nimport type { TopDialogComponent } from './types';\r\nimport { historySetState } from '@/core/utils/route';\r\n\r\n/**\r\n * Объект для работы с диалоговым окном\r\n *\r\n * Каждое окно уникально и может быть открыто одновременно только один раз\r\n *\r\n * Можно определить много окон, после чего с ними можно вести работу в любой части приложения\r\n */\r\nexport class TopDialogHandle<T extends TopDialogComponent> {\r\n\r\n\t/**\r\n\t * Индентификатор, определяется на уровне компонента TopDialogComponent\r\n\t *\r\n\t * Может использоваться в навигации для открытия нужных окон с нужными настройками\r\n\t */\r\n\tid: string;\r\n\r\n\t/**\r\n\t * ID, используемый в верстке диалогового окна\r\n\t */\r\n\tidAttr: string;\r\n\r\n\t/**\r\n\t * Пользовательский компонент диалогового окна\r\n\t */\r\n\tComponent: T;\r\n\r\n\t/**\r\n\t * Компонент инициирован\r\n\t *\r\n\t * Устанавливается после первого вызова useTopDialog()\r\n\t */\r\n\tisMounted = ref(false);\r\n\r\n\t/**\r\n\t * Компонент готов к использованию\r\n\t *\r\n\t * Используется для внутренних преобразований после отрисовки\r\n\t */\r\n\tisReady = ref(false);\r\n\r\n\t/**\r\n\t * Диалоговое окно открыто\r\n\t */\r\n\tisOpened = ref(false);\r\n\r\n\t/**\r\n\t * Имя активной страницы дилогового окна\r\n\t */\r\n\tpageActive = ref('');\r\n\r\n\t/**\r\n\t * Диалоговое окно находится в состоянии загрузки своей страницы\r\n\t */\r\n\tisLoadingPage = ref(false);\r\n\r\n\t/**\r\n\t * Следующая активная страница\r\n\t *\r\n\t * В один момент времени может потребоваться отобразить две страницы, чтобы воспроизвести анимацию\r\n\t */\r\n\tpageActiveNext = ref('');\r\n\r\n\t/**\r\n\t * props компонента, доступны после инициализации\r\n\t */\r\n\tprops?: ComponentInstance<T>['$props'];\r\n\r\n\t/**\r\n\t * emit базового компонента `TopDialog`\r\n\t */\r\n\temit?: ComponentInstance<typeof TopDialog>['$emit'];\r\n\r\n\t/**\r\n\t * Одноразовое событие на закрытие диалогового окна\r\n\t *\r\n\t * Используется для привязки окна к сценариям использования\r\n\t */\r\n\tonCloseOnce?: (props: typeof this.props, pageName: string) => void;\r\n\r\n\tconstructor(TopDialogComponent: T) {\r\n\t\tthis.id = TopDialogComponent.id!;\r\n\t\tthis.idAttr = 'dialog_' + TopDialogComponent.id;\r\n\t\tthis.Component = markRaw(TopDialogComponent);\r\n\t}\r\n\r\n\t/**\r\n\t * Событие - компонент инициирован\r\n\t */\r\n\tonMounted(topDialogComponent: ComponentInternalInstance, topDialogBaseComponent: ComponentInternalInstance) {\r\n\t\tthis.isMounted.value = true;\r\n\t\tthis.props = topDialogComponent.props;\r\n\t\tthis.emit = topDialogBaseComponent.emit;\r\n\t}\r\n\r\n\t/**\r\n\t * Открыть диалоговое окно\r\n\t *\r\n\t * Учтите, что props в диалоговом окне будут доступны не сразу, а только после инициализации vue компонента\r\n\t */\r\n\tasync open(pageName: string = 'main', props?: {}, args: [] = [], onCloseOnce?: typeof this.onCloseOnce, moveDirection?: MoveDirection) {\r\n\t\tif (props) await this.setProps(props);\r\n\t\tif (onCloseOnce) this.onCloseOnce = onCloseOnce;\r\n\r\n\t\tconst TopDialogUtils = await TopDialogWorker.getDialogsUtils();\r\n\r\n\t\tawait TopDialogUtils.toView(this.idAttr, pageName, args, moveDirection);\r\n\t};\r\n\r\n\t/**\r\n\t * Открыть диалоговое окно как ссылку, для хеш-навигации\r\n\t *\r\n\t * Диалоговые окна загружаются по имени, см. настройку плагина Core topDialogLoader\r\n\t */\r\n\tasync openAsLink(\r\n\t\tpageName: string = 'main',\r\n\t\tprops?: {},\r\n\t\t_args: string[] = [],\r\n\t\tonCloseOnce?: typeof this.onCloseOnce,\r\n\t\tmoveDirection?: MoveDirection,\r\n\t) {\r\n\t\tif (props) await this.setProps(props);\r\n\t\tif (onCloseOnce) this.onCloseOnce = onCloseOnce;\r\n\r\n\t\tconst viewName = this.idAttr + '-' + pageName;\r\n\r\n\t\tconst hash = TopDialogWorker.genViewPageHash(viewName, moveDirection);\r\n\t\thistorySetState(false, hash);\r\n\t};\r\n\r\n\t/**\r\n\t * Закрыть диалоговое окно\r\n\t *\r\n\t * Не меняет состояние компонента диалогового окна\r\n\t */\r\n\tasync close() {\r\n\t\tTopDialogWorker.close(this.idAttr);\r\n\t};\r\n\r\n\t/**\r\n\t * Размонтировать $.dialog\r\n\t */\r\n\tasync destroy() {\r\n\t\tTopDialogWorker.destroy(this.idAttr);\r\n\t}\r\n\r\n\t/**\r\n\t * Устанвоить props\r\n\t *\r\n\t * Полностью сбрасывается состояние props\r\n\t */\r\n\tasync setProps(props: ComponentInstance<T>['$props'] = {}) {\r\n\t\t// ожидание инициализации компонента\r\n\t\tif (!this.isMounted) {\r\n\t\t\tawait waitWhile(() => !this.props);\r\n\t\t}\r\n\r\n\t\tfor (const name in this.props) {\r\n\t\t\tthis.props[name] = props[name];\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Проверить, есть ли необходимость отрисовки страницы диалогового окна\r\n\t */\r\n\tneedShowPage(pageName: string): boolean {\r\n\t\tif (!this.isOpened.value) return false;\r\n\r\n\t\treturn this.pageActive.value === pageName || this.pageActiveNext.value === pageName;\r\n\t}\r\n}\r\n","<script lang=\"ts\">\r\nimport { shallowReactive } from 'vue';\r\nimport { TopDialogHandle } from '@/components/dialog/dialog/composables/dialogHandle';\r\nimport type { TopDialogComponent } from '@/components/dialog/dialog/composables/types';\r\n\r\n/**\r\n * Словарь всех используемых диалоговых окон\r\n *\r\n * В других компонентах не использовать\r\n */\r\nconst dialogsWorkers = shallowReactive(new Map<string, TopDialogHandle<TopDialogComponent>>());\r\n\r\n/**\r\n * Получить компонент диалогового окна по id\r\n */\r\nexport const getDialogWorker = (id: string) => {\r\n\tid = id.replace(/^dialog_/, '');\r\n\r\n\treturn dialogsWorkers.get(id);\r\n};\r\n\r\n/**\r\n * Добавить компонент диалогового окна для использования\r\n */\r\nexport const addDialogWorker = <T extends TopDialogComponent>(TopDialogComponent: T): TopDialogHandle<T> => {\r\n\tif (!TopDialogComponent?.id) {\r\n\t\tconsole.log({ TopDialogComponent: TopDialogComponent });\r\n\r\n\t\tthrow new Error('Expected TopDialogComponent');\r\n\t}\r\n\r\n\tif (!dialogsWorkers.has(TopDialogComponent.id)) {\r\n\t\tdialogsWorkers.set(TopDialogComponent.id, new TopDialogHandle(TopDialogComponent));\r\n\t}\r\n\r\n\treturn dialogsWorkers.get(TopDialogComponent.id) as TopDialogHandle<T>;\r\n};\r\n</script>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onUnmounted } from 'vue';\r\n\r\ndefineOptions({\r\n\tname: 'DialogWrapper',\r\n});\r\n\r\nonUnmounted(() => {\r\n\tdialogsWorkers.forEach(dialog => dialog.destroy());\r\n\tdialogsWorkers.clear();\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<div class=\"top-dialogs\" style=\"display: none;\">\r\n\t\t<component\r\n\t\t\tv-for=\"[dialogId, dialog] in dialogsWorkers\"\r\n\t\t\t:is=\"dialog.Component\"\r\n\t\t\t:key=\"dialogId\"\r\n\t\t/>\r\n\t</div>\r\n</template>\r\n"],"names":["TopDialogWorker","options","autoInitDelay","e","el","moveDirection","mouseEvent","TopDialogUtils","toView","acc","elCurrentPages","pageName","elNextPage","el2","utils_route","hash","oldUrl","newUrl","$el","utils_dom","elDialog","dialogId","$dialog","toViewPageN","viewName","viewNameAndPageLink","hash2","view","TopDialogHandle","vue","TopDialogComponent","topDialogComponent","topDialogBaseComponent","props","args","onCloseOnce","_args","name","dialogsWorkers","getDialogWorker","id","addDialogWorker","dialog"],"mappings":"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"}
@@ -77,7 +77,7 @@ class r {
77
77
  this.compareStates(a, s) && this.opendDialogsFromUrl();
78
78
  }
79
79
  static async getDialogsUtils() {
80
- const { TopDialogUtils: e } = await import("./utils-Q69SXlnV.es.js");
80
+ const { TopDialogUtils: e } = await import("./utils-YVlPlqDK.es.js");
81
81
  return e;
82
82
  }
83
83
  static getDialog(e) {
@@ -320,4 +320,4 @@ export {
320
320
  K as a,
321
321
  J as g
322
322
  };
323
- //# sourceMappingURL=dialogs.vue_vue_type_script_setup_true_lang-DRbTG0vh.es.js.map
323
+ //# sourceMappingURL=dialogs.vue_vue_type_script_setup_true_lang-CzFMOjlE.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialogs.vue_vue_type_script_setup_true_lang-CzFMOjlE.es.js","sources":["../../src/components/dialog/lib/worker.ts","../../src/components/dialog/dialog/composables/dialogHandle.ts","../../src/components/dialog/dialog/dialogs/dialogs.vue"],"sourcesContent":["import { genHash, getHash, historySetState } from '@/core/utils/route';\r\nimport type { ElTopDialog, ElTopDialogOpener, ElTopDialogPage, MoveDirection, TopDialogOptions } from './types';\r\nimport { isVisible, querySelectorAllArray } from '@/core/utils/dom';\r\nimport type { $el } from '@/components/types';\r\n\r\nexport abstract class TopDialogWorker {\r\n\tstatic state = {\r\n\t\tload: undefined as TopDialogOptions['load'] | undefined,\r\n\t\tdecoratorOnCreate: undefined as TopDialogOptions['decoratorOnCreate'] | undefined,\r\n\r\n\t\t/**\r\n\t\t * Порядковый номер перехода в диалоговых окнах\r\n\t\t *\r\n\t\t * Для расчета анимации Вперед / Назад\r\n\t\t */\r\n\t\tviewPageN: 0,\r\n\t};\r\n\r\n\tprivate static inited = false;\r\n\r\n\t/**\r\n\t * Инициировать события слежения за парамтерами url\r\n\t *\r\n\t * Если в параметрах есть запрос на открытие диалогового окна, TopDialog будет автоматически подключен на страницу\r\n\t */\r\n\tstatic init(options?: TopDialogOptions) {\r\n\t\tif (this.inited) return;\r\n\t\tthis.inited = true;\r\n\r\n\t\tthis.state.load = options?.load;\r\n\t\tthis.state.decoratorOnCreate = options?.decoratorOnCreate;\r\n\r\n\t\tconst autoInitDelay = options?.autoInitDelay ?? 5000;\r\n\r\n\t\twindow.addEventListener('hashchange', (e) => {\r\n\t\t\tthis.opendDialogsFromChangeUrl(e.oldURL, e.newURL);\r\n\t\t});\r\n\r\n\t\tthis.opendDialogsFromChangeUrl('', location.href);\r\n\r\n\t\t/**\r\n\t\t * Сгенерировать ссылку для перехода к странице диалогового окна\r\n\t\t */\r\n\t\tdocument.addEventListener('mousedown', async (e) => {\r\n\t\t\tif (!(e.target instanceof HTMLElement)) return;\r\n\r\n\t\t\tconst elEventTarget = e.target;\r\n\r\n\t\t\tconst el = elEventTarget.closest<ElTopDialogOpener<HTMLAnchorElement>>('a[data-to-view]');\r\n\t\t\tif (!el) return;\r\n\r\n\t\t\t// const toView = el.dataset.toView;\r\n\t\t\t// const viewName = toView.split('-')[0];\r\n\t\t\t// const $toDialog = $('#' + viewName);\r\n\t\t\t// const $modalLayers = $('> .modal-layer', $toDialog);\r\n\t\t\t// const $currentPage = $('> .active', $modalLayers);\r\n\r\n\t\t\tlet moveDirection: MoveDirection = 'next';\r\n\r\n\t\t\t// /**\r\n\t\t\t// * Данный алгоритм определения направления работает не корректно, так как для чтения свойства order менят состояние через getDialogsUtils()\r\n\t\t\t// */\r\n\t\t\t// if ($currentPage.length) {\r\n\t\t\t// \tconst pageName = toView.split('-')[1].split(':')[0];\r\n\t\t\t//\r\n\t\t\t// \tconst TopDialogUtils = await this.getDialogsUtils();\r\n\t\t\t//\r\n\t\t\t// \tawait TopDialogUtils.updatePageVue(viewName, undefined, pageName);\r\n\t\t\t//\r\n\t\t\t// \tconst $nextPage = $('> [data-view-page=\"' + pageName + '\"]', $modalLayers);\r\n\t\t\t// \tif ($nextPage.data('order') < $currentPage.data('order')) moveDirection = 'prev';\r\n\t\t\t// }\r\n\r\n\t\t\tif (el.dataset.action === 'top-dialog-close') moveDirection = 'prev';\r\n\r\n\t\t\tel.href = TopDialogWorker.genViewPageHash(el.dataset.toView, moveDirection);\r\n\t\t});\r\n\r\n\t\t/**\r\n\t\t * Осуществить переход по ссылке с учетом historyType\r\n\t\t */\r\n\t\tdocument.addEventListener('click', async (e) => {\r\n\t\t\tif (!(e.target instanceof HTMLElement)) return;\r\n\r\n\t\t\tconst elEventTarget = e.target;\r\n\r\n\t\t\tconst el = elEventTarget.closest<ElTopDialogOpener>('[data-to-view]');\r\n\t\t\tif (!el) return;\r\n\r\n\t\t\t// Подождать генерацию ссылки\r\n\t\t\tif (el instanceof HTMLAnchorElement && el.href === '.') {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tconst mouseEvent = new MouseEvent('mousedown', {\r\n\t\t\t\t\tbubbles: true,\r\n\t\t\t\t\tcancelable: true,\r\n\t\t\t\t\tview: window,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tel.dispatchEvent(mouseEvent);\r\n\r\n\t\t\t\tsetTimeout(() => el.click());\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tconst TopDialogUtils = await this.getDialogsUtils();\r\n\r\n\t\t\tconst toView = el.dataset.toView;\r\n\t\t\tconst viewName = toView.split('-')[0];\r\n\r\n\t\t\tconst elDialog = TopDialogUtils.getElDialogById(viewName);\r\n\r\n\t\t\tlet moveDirection: MoveDirection = 'next';\r\n\r\n\t\t\tif (elDialog) {\r\n\t\t\t\tconst elModalLayers = querySelectorAllArray(elDialog, '.modal-layer');\r\n\t\t\t\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, el) => {\r\n\t\t\t\t\tconst elCurrentPage = el.querySelector<ElTopDialogPage>(':scope > .active');\r\n\r\n\t\t\t\t\tif (elCurrentPage) acc.push(elCurrentPage);\r\n\r\n\t\t\t\t\treturn acc;\r\n\t\t\t\t}, []);\r\n\r\n\t\t\t\tif (elCurrentPages.length) {\r\n\t\t\t\t\tconst pageName = toView.split('-')[1].split(':')[0];\r\n\t\t\t\t\tconst elNextPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, el) => {\r\n\t\t\t\t\t\tconst elNextPage = el?.querySelector<ElTopDialogPage>(`:scope > [data-view-page=\"${pageName}\"]`);\r\n\r\n\t\t\t\t\t\tif (elNextPage) acc.push(elNextPage);\r\n\r\n\t\t\t\t\t\treturn acc;\r\n\t\t\t\t\t}, []);\r\n\r\n\t\t\t\t\tif ((elNextPages[0]?.dataset.order ?? 0) < (elCurrentPages[0]?.dataset.order ?? 0)) moveDirection = 'prev';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (el.dataset.action === 'top-dialog-close') moveDirection = 'prev';\r\n\r\n\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, moveDirection);\r\n\r\n\t\t\tif (el instanceof HTMLAnchorElement) {\r\n\t\t\t\t// диалоговое окно еще не открыто, произвести переход по ссылке\r\n\t\t\t\tif (!elDialog || !isVisible(elDialog)) return;\r\n\r\n\t\t\t\t// в адресе уже указана эта страница, необходимо явно запросить ее открытие\r\n\t\t\t\tif (location.hash.indexOf(toView.replace('-', '=')) !== -1) {\r\n\t\t\t\t\tawait TopDialogUtils.toViewDirty(toView);\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tconst replaceHistory = !!elDialog?.dataset.toViewReplace;\r\n\r\n\t\t\tif (replaceHistory) {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\thistorySetState(true, hash);\r\n\r\n\t\t\t\tawait TopDialogUtils.toViewDirty(toView);\r\n\r\n\t\t\t\tif (moveDirection == 'next') {\r\n\t\t\t\t\tTopDialogWorker.state.viewPageN++;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tTopDialogWorker.state.viewPageN--;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (el.tagName !== 'A') {\r\n\t\t\t\t\tif (this.compareStates(hash, location.hash)) {\r\n\t\t\t\t\t\thistorySetState(false, hash);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tawait TopDialogUtils.toViewDirty(toView);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tsetTimeout(() => this.getDialogsUtils(), autoInitDelay);\r\n\t}\r\n\r\n\tprivate static opendDialogsFromChangeUrl(oldUrl: string, newUrl: string) {\r\n\t\tconst oldHash = oldUrl.replace(/.*?#/, '#');\r\n\t\tconst newHash = newUrl.replace(/.*?#/, '#');\r\n\r\n\t\tconst dialogsStateChanged = this.compareStates(oldHash, newHash);\r\n\t\tif (dialogsStateChanged) void this.opendDialogsFromUrl();\r\n\t}\r\n\r\n\tstatic async getDialogsUtils() {\r\n\t\tconst { TopDialogUtils } = await import('./utils');\r\n\r\n\t\treturn TopDialogUtils;\r\n\t}\r\n\r\n\tstatic getDialog(el: HTMLElement) {\r\n\t\treturn el.closest<ElTopDialog>('.ui-dialog-content');\r\n\t};\r\n\r\n\t/**\r\n\t * todo: Переписать на сайте на this.getDialog()\r\n\t *\r\n\t * @deprecated Для обратной совместимости\r\n\t */\r\n\tstatic get$dialog($el: $el) {\r\n\t\treturn $el.closest('.ui-dialog-content');\r\n\t};\r\n\r\n\tstatic getPage(el: HTMLElement) {\r\n\t\treturn el.closest<ElTopDialogPage>('[data-view-page]');\r\n\t};\r\n\r\n\t/**\r\n\t * todo: Переписать на сайте на this.getPage()\r\n\t *\r\n\t * @deprecated Для обратной совместимости\r\n\t */\r\n\tstatic get$page($el: $el) {\r\n\t\treturn $el.closest('[data-view-page]');\r\n\t};\r\n\r\n\t/**\r\n\t * todo: Переписать на сайте на this.getPairPage()\r\n\t *\r\n\t * @deprecated Для обратной совместимости\r\n\t */\r\n\tstatic get$pairPage($el: $el) {\r\n\t\tconst $dialog = TopDialogWorker.get$dialog($el);\r\n\r\n\t\tconst $page = TopDialogWorker.get$page($el);\r\n\t\tconst pageName = $page.data('view-page');\r\n\r\n\t\treturn $('[data-view-page=\"' + pageName + '\"]', $dialog);\r\n\t};\r\n\r\n\tstatic getPairPage(el: HTMLElement) {\r\n\t\tconst elDialog = TopDialogWorker.getDialog(el);\r\n\t\tif (!elDialog) return;\r\n\r\n\t\tconst elPage = TopDialogWorker.getPage(el);\r\n\t\tconst pageName = elPage?.dataset.viewPage;\r\n\r\n\t\treturn querySelectorAllArray(elDialog, `[data-view-page=\"${pageName}\"]`);\r\n\t};\r\n\r\n\t/**\r\n\t * Закрыть диалоговое окно\r\n\t */\r\n\tstatic close(dialogId: string) {\r\n\t\tconst $dialog = $('#' + dialogId);\r\n\t\tif ($dialog.dialog('instance')) {\r\n\t\t\t$dialog.dialog('close');\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst elDialog = document.getElementById(dialogId);\r\n\r\n\t\tif (!(elDialog instanceof HTMLDialogElement)) return;\r\n\r\n\t\telDialog.close();\r\n\t};\r\n\r\n\t/**\r\n\t * Размонтировать $.dialog\r\n\t */\r\n\tstatic destroy(dialogId: string) {\r\n\t\tconst $dialog = $('#' + dialogId);\r\n\r\n\t\tif ($dialog.dialog('instance')) {\r\n\t\t\t$dialog.dialog('close');\r\n\t\t\t$dialog.dialog('destroy');\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst elDialog = document.getElementById(dialogId);\r\n\t\tif (!(elDialog instanceof HTMLDialogElement)) return;\r\n\r\n\t\telDialog.close();\r\n\t};\r\n\r\n\t/**\r\n\t * Сгенерировать ссылку на страницу в диалоговом окне\r\n\t * @param toView - указатель в формате: dialog_{{ dialogId }}={{ pageName }}:{{ args }}\r\n\t * @param moveDirection\r\n\t */\r\n\tstatic genViewPageHash(toView: string, moveDirection: MoveDirection = 'next') {\r\n\t\tlet toViewPageN = this.state.viewPageN;\r\n\t\tif (moveDirection == 'prev') {\r\n\t\t\ttoViewPageN--;\r\n\t\t} else {\r\n\t\t\ttoViewPageN++;\r\n\t\t}\r\n\r\n\t\tconst viewNameAndPageLink = toView.split('-');\r\n\t\tconst viewName = viewNameAndPageLink.shift();\r\n\t\tconst pageLink = viewNameAndPageLink.join('-');\r\n\r\n\t\tlet hash = genHash('vpn', toViewPageN);\r\n\t\thash = genHash('view-' + viewName, pageLink, hash);\r\n\r\n\t\treturn hash;\r\n\t};\r\n\r\n\t/**\r\n\t * Сравнить версию открытых диалоговых окон\r\n\t * @returns вернет true, если состояния открытых окон изменилось\r\n\t */\r\n\tstatic compareStates(hash: string, hash2: string) {\r\n\t\tconst mathes = hash.match(/[#&]view-[^&]+/g) || [];\r\n\t\tconst mathes2 = hash2.match(/[#&]view-[^&]+/g) || [];\r\n\r\n\t\tif (mathes.length !== mathes2.length) return true;\r\n\r\n\t\tconst mathesChanged = mathes.filter((math, n) => {\r\n\t\t\tconst math2 = mathes2[n] || '';\r\n\r\n\t\t\treturn math !== math2;\r\n\t\t});\r\n\r\n\t\tif (mathesChanged.length) return true;\r\n\r\n\t\treturn false;\r\n\t};\r\n\r\n\tstatic opendDialogsFromUrl = async () => {\r\n\t\tconst toViewPageN = Number(getHash('vpn')) || 0;\r\n\r\n\t\t// Открыть диалоговое окно\r\n\t\tlet view: RegExpExecArray | null;\r\n\t\t// const regexp = new RegExp('view-((\\\\w+)=([\\\\w-]+)(?::([\\\\w.:-]+))?)' + '(' + Math.random() + ')?', 'g'); // fix babel minify regexp\r\n\t\tconst regexp = new RegExp('view-((\\\\w+)=([\\\\w-]+)(?::([\\\\w.:-]+))?)', 'g');\r\n\r\n\t\t// TODO: Цикл делает только одну оперцию и выходит (возможно, оставлен специально с какой-то целью, если нет - заменить на if)\r\n\t\twhile (view = regexp.exec(location.hash)) {\r\n\t\t\tlet moveDirection: MoveDirection = 'next';\r\n\t\t\tif (toViewPageN < this.state.viewPageN) moveDirection = 'prev';\r\n\r\n\t\t\tconst TopDialogUtils = await this.getDialogsUtils();\r\n\r\n\t\t\treturn TopDialogUtils.toViewDirty(view[1], moveDirection);\r\n\t\t}\r\n\r\n\t\t// Закрыть ненужные view\r\n\t\tconst elDialogs = querySelectorAllArray(document, '.ui-dialog-content[data-view-page-active]') as HTMLDialogElement[];\r\n\t\telDialogs.filter((elDialog) => {\r\n\t\t\treturn isVisible(elDialog);\r\n\t\t}).forEach((elDialog) => {\r\n\t\t\tconst viewName = elDialog.getAttribute('id');\r\n\t\t\tif (!viewName) throw 'Диалоговое окно не содержит id';\r\n\t\t\tconst pageName = getHash('view-' + viewName);\r\n\t\t\tif (!pageName) {\r\n\t\t\t\tconst $dialog = $(elDialog);\r\n\r\n\t\t\t\t$dialog.dialog('close');\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.state.viewPageN = toViewPageN;\r\n\r\n\t\treturn true;\r\n\t};\r\n}\r\n","import { type ComponentInstance, type ComponentInternalInstance, markRaw, ref } from 'vue';\r\nimport { waitWhile } from '@/core/utils/system';\r\nimport TopDialog from '../dialog.vue';\r\nimport { TopDialogWorker } from '@/components/dialog/lib/worker';\r\nimport type { MoveDirection } from '@/components/dialog/lib/types';\r\nimport type { TopDialogComponent } from './types';\r\nimport { historySetState } from '@/core/utils/route';\r\n\r\n/**\r\n * Объект для работы с диалоговым окном\r\n *\r\n * Каждое окно уникально и может быть открыто одновременно только один раз\r\n *\r\n * Можно определить много окон, после чего с ними можно вести работу в любой части приложения\r\n */\r\nexport class TopDialogHandle<T extends TopDialogComponent> {\r\n\r\n\t/**\r\n\t * Индентификатор, определяется на уровне компонента TopDialogComponent\r\n\t *\r\n\t * Может использоваться в навигации для открытия нужных окон с нужными настройками\r\n\t */\r\n\tid: string;\r\n\r\n\t/**\r\n\t * ID, используемый в верстке диалогового окна\r\n\t */\r\n\tidAttr: string;\r\n\r\n\t/**\r\n\t * Пользовательский компонент диалогового окна\r\n\t */\r\n\tComponent: T;\r\n\r\n\t/**\r\n\t * Компонент инициирован\r\n\t *\r\n\t * Устанавливается после первого вызова useTopDialog()\r\n\t */\r\n\tisMounted = ref(false);\r\n\r\n\t/**\r\n\t * Компонент готов к использованию\r\n\t *\r\n\t * Используется для внутренних преобразований после отрисовки\r\n\t */\r\n\tisReady = ref(false);\r\n\r\n\t/**\r\n\t * Диалоговое окно открыто\r\n\t */\r\n\tisOpened = ref(false);\r\n\r\n\t/**\r\n\t * Имя активной страницы дилогового окна\r\n\t */\r\n\tpageActive = ref('');\r\n\r\n\t/**\r\n\t * Диалоговое окно находится в состоянии загрузки своей страницы\r\n\t */\r\n\tisLoadingPage = ref(false);\r\n\r\n\t/**\r\n\t * Следующая активная страница\r\n\t *\r\n\t * В один момент времени может потребоваться отобразить две страницы, чтобы воспроизвести анимацию\r\n\t */\r\n\tpageActiveNext = ref('');\r\n\r\n\t/**\r\n\t * props компонента, доступны после инициализации\r\n\t */\r\n\tprops?: ComponentInstance<T>['$props'];\r\n\r\n\t/**\r\n\t * emit базового компонента `TopDialog`\r\n\t */\r\n\temit?: ComponentInstance<typeof TopDialog>['$emit'];\r\n\r\n\t/**\r\n\t * Одноразовое событие на закрытие диалогового окна\r\n\t *\r\n\t * Используется для привязки окна к сценариям использования\r\n\t */\r\n\tonCloseOnce?: (props: typeof this.props, pageName: string) => void;\r\n\r\n\tconstructor(TopDialogComponent: T) {\r\n\t\tthis.id = TopDialogComponent.id!;\r\n\t\tthis.idAttr = 'dialog_' + TopDialogComponent.id;\r\n\t\tthis.Component = markRaw(TopDialogComponent);\r\n\t}\r\n\r\n\t/**\r\n\t * Событие - компонент инициирован\r\n\t */\r\n\tonMounted(topDialogComponent: ComponentInternalInstance, topDialogBaseComponent: ComponentInternalInstance) {\r\n\t\tthis.isMounted.value = true;\r\n\t\tthis.props = topDialogComponent.props;\r\n\t\tthis.emit = topDialogBaseComponent.emit;\r\n\t}\r\n\r\n\t/**\r\n\t * Открыть диалоговое окно\r\n\t *\r\n\t * Учтите, что props в диалоговом окне будут доступны не сразу, а только после инициализации vue компонента\r\n\t */\r\n\tasync open(pageName: string = 'main', props?: {}, args: [] = [], onCloseOnce?: typeof this.onCloseOnce, moveDirection?: MoveDirection) {\r\n\t\tif (props) await this.setProps(props);\r\n\t\tif (onCloseOnce) this.onCloseOnce = onCloseOnce;\r\n\r\n\t\tconst TopDialogUtils = await TopDialogWorker.getDialogsUtils();\r\n\r\n\t\tawait TopDialogUtils.toView(this.idAttr, pageName, args, moveDirection);\r\n\t};\r\n\r\n\t/**\r\n\t * Открыть диалоговое окно как ссылку, для хеш-навигации\r\n\t *\r\n\t * Диалоговые окна загружаются по имени, см. настройку плагина Core topDialogLoader\r\n\t */\r\n\tasync openAsLink(\r\n\t\tpageName: string = 'main',\r\n\t\tprops?: {},\r\n\t\t_args: string[] = [],\r\n\t\tonCloseOnce?: typeof this.onCloseOnce,\r\n\t\tmoveDirection?: MoveDirection,\r\n\t) {\r\n\t\tif (props) await this.setProps(props);\r\n\t\tif (onCloseOnce) this.onCloseOnce = onCloseOnce;\r\n\r\n\t\tconst viewName = this.idAttr + '-' + pageName;\r\n\r\n\t\tconst hash = TopDialogWorker.genViewPageHash(viewName, moveDirection);\r\n\t\thistorySetState(false, hash);\r\n\t};\r\n\r\n\t/**\r\n\t * Закрыть диалоговое окно\r\n\t *\r\n\t * Не меняет состояние компонента диалогового окна\r\n\t */\r\n\tasync close() {\r\n\t\tTopDialogWorker.close(this.idAttr);\r\n\t};\r\n\r\n\t/**\r\n\t * Размонтировать $.dialog\r\n\t */\r\n\tasync destroy() {\r\n\t\tTopDialogWorker.destroy(this.idAttr);\r\n\t}\r\n\r\n\t/**\r\n\t * Устанвоить props\r\n\t *\r\n\t * Полностью сбрасывается состояние props\r\n\t */\r\n\tasync setProps(props: ComponentInstance<T>['$props'] = {}) {\r\n\t\t// ожидание инициализации компонента\r\n\t\tif (!this.isMounted) {\r\n\t\t\tawait waitWhile(() => !this.props);\r\n\t\t}\r\n\r\n\t\tfor (const name in this.props) {\r\n\t\t\tthis.props[name] = props[name];\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Проверить, есть ли необходимость отрисовки страницы диалогового окна\r\n\t */\r\n\tneedShowPage(pageName: string): boolean {\r\n\t\tif (!this.isOpened.value) return false;\r\n\r\n\t\treturn this.pageActive.value === pageName || this.pageActiveNext.value === pageName;\r\n\t}\r\n}\r\n","<script lang=\"ts\">\r\nimport { shallowReactive } from 'vue';\r\nimport { TopDialogHandle } from '@/components/dialog/dialog/composables/dialogHandle';\r\nimport type { TopDialogComponent } from '@/components/dialog/dialog/composables/types';\r\n\r\n/**\r\n * Словарь всех используемых диалоговых окон\r\n *\r\n * В других компонентах не использовать\r\n */\r\nconst dialogsWorkers = shallowReactive(new Map<string, TopDialogHandle<TopDialogComponent>>());\r\n\r\n/**\r\n * Получить компонент диалогового окна по id\r\n */\r\nexport const getDialogWorker = (id: string) => {\r\n\tid = id.replace(/^dialog_/, '');\r\n\r\n\treturn dialogsWorkers.get(id);\r\n};\r\n\r\n/**\r\n * Добавить компонент диалогового окна для использования\r\n */\r\nexport const addDialogWorker = <T extends TopDialogComponent>(TopDialogComponent: T): TopDialogHandle<T> => {\r\n\tif (!TopDialogComponent?.id) {\r\n\t\tconsole.log({ TopDialogComponent: TopDialogComponent });\r\n\r\n\t\tthrow new Error('Expected TopDialogComponent');\r\n\t}\r\n\r\n\tif (!dialogsWorkers.has(TopDialogComponent.id)) {\r\n\t\tdialogsWorkers.set(TopDialogComponent.id, new TopDialogHandle(TopDialogComponent));\r\n\t}\r\n\r\n\treturn dialogsWorkers.get(TopDialogComponent.id) as TopDialogHandle<T>;\r\n};\r\n</script>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onUnmounted } from 'vue';\r\n\r\ndefineOptions({\r\n\tname: 'DialogWrapper',\r\n});\r\n\r\nonUnmounted(() => {\r\n\tdialogsWorkers.forEach(dialog => dialog.destroy());\r\n\tdialogsWorkers.clear();\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<div class=\"top-dialogs\" style=\"display: none;\">\r\n\t\t<component\r\n\t\t\tv-for=\"[dialogId, dialog] in dialogsWorkers\"\r\n\t\t\t:is=\"dialog.Component\"\r\n\t\t\t:key=\"dialogId\"\r\n\t\t/>\r\n\t</div>\r\n</template>\r\n"],"names":["TopDialogWorker","options","autoInitDelay","e","el","moveDirection","mouseEvent","TopDialogUtils","toView","viewName","elDialog","elModalLayers","querySelectorAllArray","elCurrentPages","acc","elCurrentPage","pageName","elNextPage","hash","isVisible","historySetState","oldUrl","newUrl","oldHash","newHash","$el","$dialog","dialogId","toViewPageN","viewNameAndPageLink","pageLink","genHash","hash2","mathes","mathes2","math","n","math2","getHash","view","regexp","TopDialogHandle","ref","TopDialogComponent","markRaw","topDialogComponent","topDialogBaseComponent","props","args","onCloseOnce","_args","waitWhile","name","dialogsWorkers","shallowReactive","getDialogWorker","id","addDialogWorker","onUnmounted","dialog","_openBlock","_createElementBlock","_hoisted_1","_Fragment","_renderList","_unref","_createBlock","_resolveDynamicComponent"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"field-Cvv0SRcJ.amd.js","sources":["../../src/api/api/utils/field.ts"],"sourcesContent":["/**\n * Сгенерировать объект API фильтра\n */\nexport const genFieldFilter = <\n\tModel extends Api.Ext.Schemas['Model'],\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\toperator: Api.Field.Filter<Model, FieldName>['operator'],\n\tvalues: Api.Field.Filter<Model, FieldName>['values'],\n): Api.Field.Filter<Model, FieldName> => {\n\treturn {\n\t\tname,\n\t\toperator,\n\t\tvalues,\n\t};\n};\n\n/**\n * Сгенерировать объект сортировки\n */\nexport const genFieldOrder = <\n\tModel extends Api.Ext.Schemas['Model'],\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tdirection: Api.Field.Order<Model, FieldName>['direction'],\n\torderValues?: Api.Field.Order<Model, FieldName>['orderValues'],\n\toperator?: Api.Field.Order<Model, FieldName>['operator'],\n\tvalues?: Api.Field.Order<Model, FieldName>['values'],\n): Api.Field.Order<Model, FieldName> => {\n\treturn {\n\t\tname,\n\t\tdirection,\n\t\torderValues,\n\t\toperator,\n\t\tvalues,\n\t};\n};\n"],"names":["genFieldFilter","name","operator","values","genFieldOrder","direction","orderValues"],"mappings":"0FAGO,MAAAA,EAAA,CAAAC,EAAAC,EAAAC,KAQN,CAAO,KAAAF,EACN,SAAAC,aASKE,EAAA,CAAAH,EAAAI,EAAAC,EAAAJ,EAAAC,KAUN,CAAO,KAAAF,EACN,UAAAI,EACA,YAAAC,EACA,SAAAJ"}
1
+ {"version":3,"file":"field-Cvv0SRcJ.amd.js","sources":["../../src/api/api/utils/field.ts"],"sourcesContent":["/**\r\n * Сгенерировать объект API фильтра\r\n */\r\nexport const genFieldFilter = <\r\n\tModel extends Api.Ext.Schemas['Model'],\r\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\r\n>(\r\n\tname: FieldName,\r\n\toperator: Api.Field.Filter<Model, FieldName>['operator'],\r\n\tvalues: Api.Field.Filter<Model, FieldName>['values'],\r\n): Api.Field.Filter<Model, FieldName> => {\r\n\treturn {\r\n\t\tname,\r\n\t\toperator,\r\n\t\tvalues,\r\n\t};\r\n};\r\n\r\n/**\r\n * Сгенерировать объект сортировки\r\n */\r\nexport const genFieldOrder = <\r\n\tModel extends Api.Ext.Schemas['Model'],\r\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\r\n>(\r\n\tname: FieldName,\r\n\tdirection: Api.Field.Order<Model, FieldName>['direction'],\r\n\torderValues?: Api.Field.Order<Model, FieldName>['orderValues'],\r\n\toperator?: Api.Field.Order<Model, FieldName>['operator'],\r\n\tvalues?: Api.Field.Order<Model, FieldName>['values'],\r\n): Api.Field.Order<Model, FieldName> => {\r\n\treturn {\r\n\t\tname,\r\n\t\tdirection,\r\n\t\torderValues,\r\n\t\toperator,\r\n\t\tvalues,\r\n\t};\r\n};\r\n"],"names":["genFieldFilter","name","operator","values","genFieldOrder","direction","orderValues"],"mappings":"0FAGO,MAAAA,EAAA,CAAAC,EAAAC,EAAAC,KAQN,CAAO,KAAAF,EACN,SAAAC,aASKE,EAAA,CAAAH,EAAAI,EAAAC,EAAAJ,EAAAC,KAUN,CAAO,KAAAF,EACN,UAAAI,EACA,YAAAC,EACA,SAAAJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"field-CyyFzM-Y.es.js","sources":["../../src/api/api/utils/field.ts"],"sourcesContent":["/**\n * Сгенерировать объект API фильтра\n */\nexport const genFieldFilter = <\n\tModel extends Api.Ext.Schemas['Model'],\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\toperator: Api.Field.Filter<Model, FieldName>['operator'],\n\tvalues: Api.Field.Filter<Model, FieldName>['values'],\n): Api.Field.Filter<Model, FieldName> => {\n\treturn {\n\t\tname,\n\t\toperator,\n\t\tvalues,\n\t};\n};\n\n/**\n * Сгенерировать объект сортировки\n */\nexport const genFieldOrder = <\n\tModel extends Api.Ext.Schemas['Model'],\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tdirection: Api.Field.Order<Model, FieldName>['direction'],\n\torderValues?: Api.Field.Order<Model, FieldName>['orderValues'],\n\toperator?: Api.Field.Order<Model, FieldName>['operator'],\n\tvalues?: Api.Field.Order<Model, FieldName>['values'],\n): Api.Field.Order<Model, FieldName> => {\n\treturn {\n\t\tname,\n\t\tdirection,\n\t\torderValues,\n\t\toperator,\n\t\tvalues,\n\t};\n};\n"],"names":["genFieldFilter","name","operator","values","genFieldOrder","direction","orderValues"],"mappings":"AAGO,MAAMA,IAAiB,CAI7BC,GACAC,GACAC,OAEO;AAAA,EACN,MAAAF;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,IAOWC,IAAgB,CAI5BH,GACAI,GACAC,GACAJ,GACAC,OAEO;AAAA,EACN,MAAAF;AAAA,EACA,WAAAI;AAAA,EACA,aAAAC;AAAA,EACA,UAAAJ;AAAA,EACA,QAAAC;AAAA;"}
1
+ {"version":3,"file":"field-CyyFzM-Y.es.js","sources":["../../src/api/api/utils/field.ts"],"sourcesContent":["/**\r\n * Сгенерировать объект API фильтра\r\n */\r\nexport const genFieldFilter = <\r\n\tModel extends Api.Ext.Schemas['Model'],\r\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\r\n>(\r\n\tname: FieldName,\r\n\toperator: Api.Field.Filter<Model, FieldName>['operator'],\r\n\tvalues: Api.Field.Filter<Model, FieldName>['values'],\r\n): Api.Field.Filter<Model, FieldName> => {\r\n\treturn {\r\n\t\tname,\r\n\t\toperator,\r\n\t\tvalues,\r\n\t};\r\n};\r\n\r\n/**\r\n * Сгенерировать объект сортировки\r\n */\r\nexport const genFieldOrder = <\r\n\tModel extends Api.Ext.Schemas['Model'],\r\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\r\n>(\r\n\tname: FieldName,\r\n\tdirection: Api.Field.Order<Model, FieldName>['direction'],\r\n\torderValues?: Api.Field.Order<Model, FieldName>['orderValues'],\r\n\toperator?: Api.Field.Order<Model, FieldName>['operator'],\r\n\tvalues?: Api.Field.Order<Model, FieldName>['values'],\r\n): Api.Field.Order<Model, FieldName> => {\r\n\treturn {\r\n\t\tname,\r\n\t\tdirection,\r\n\t\torderValues,\r\n\t\toperator,\r\n\t\tvalues,\r\n\t};\r\n};\r\n"],"names":["genFieldFilter","name","operator","values","genFieldOrder","direction","orderValues"],"mappings":"AAGO,MAAMA,IAAiB,CAI7BC,GACAC,GACAC,OAEO;AAAA,EACN,MAAAF;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,IAOWC,IAAgB,CAI5BH,GACAI,GACAC,GACAJ,GACAC,OAEO;AAAA,EACN,MAAAF;AAAA,EACA,WAAAI;AAAA,EACA,aAAAC;AAAA,EACA,UAAAJ;AAAA,EACA,QAAAC;AAAA;"}
@@ -1,3 +1,3 @@
1
- define(["require","exports","vue"],(function(W,u,a){"use strict";if(typeof a>"u")var a=window.Vue;function Be(){return"devicePixelRatio"in window&&window.devicePixelRatio>1}function Ce(){return!!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i)}function Oe(){return navigator.userAgent.indexOf("Topvisor_App")!=-1}function ke(){return navigator.userAgent.indexOf("Mac OS X")!==-1}function At(){const e=/Chrome|Android/.test(navigator.userAgent);let t=/Safari/.test(navigator.userAgent);return e&&t&&(t=!1),t}function Dt(){return ke()?"⌘":"Ctrl"}const Mt=()=>$(document).scrollTop(),Nt=()=>$(document),Vt=()=>[document],je=()=>{const e=[["iOS",/(iPhone|iPad)/i],["Android",/(Android)/i],["Windows Phone",/(IEMobile)/i],["Windows 3.11",/Win16/i],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/i],["Windows 98",/(Windows 98)|(Win98)/i],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/i],["Windows XP",/(Windows NT 5.1)|(Windows XP)/i],["Windows Server 2003",/(Windows NT 5.2)/i],["Windows Vista",/(Windows NT 6.0)/i],["Windows 7",/(Windows NT 6.1)/i],["Windows 8",/(Windows NT 6.[23])|(Windows 8)/i],["Windows 10",/(Windows NT 10)/i],["Windows NT 4.0",/(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)/i],["Windows ME",/Windows ME/i],["Windows",/Windows/i],["Open BSD",/OpenBSD/i],["Sun OS",/SunOS/i],["Linux",/(Linux)|(X11)/i],["Macintosh",/(Mac_PowerPC)|(Macintosh)|(Mac OS X 10.4)|(Mac OS X 10.5)|(Mac OS X 10.6)/i],["QNX",/QNX/i],["BeOS",/BeOS/i],["OS/2",/OS\/2/i]];let t="";for(let n=0;n<e.length;n++)if(e[n][1].test(navigator.userAgent)){t=e[n][0];break}return t},It=async()=>{let e=je();if(e==="Windows 10"){const t=await navigator?.userAgentData?.getHighEntropyValues(["platformVersion"]);t&&t.platformVersion>="13"&&(e="Windows 11")}return e};function T(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Pe=typeof global=="object"&&global&&global.Object===Object&&global,Lt=typeof self=="object"&&self&&self.Object===Object&&self,S=Pe||Lt||Function("return this")(),ne=function(){return S.Date.now()},zt=/\s/;function Wt(e){for(var t=e.length;t--&&zt.test(e.charAt(t)););return t}var xt=/^\s+/;function _t(e){return e&&e.slice(0,Wt(e)+1).replace(xt,"")}var I=S.Symbol,Ae=Object.prototype,Ft=Ae.hasOwnProperty,Rt=Ae.toString,x=I?I.toStringTag:void 0;function Ut(e){var t=Ft.call(e,x),n=e[x];try{e[x]=void 0;var r=!0}catch{}var i=Rt.call(e);return r&&(t?e[x]=n:delete e[x]),i}var Ht=Object.prototype,Gt=Ht.toString;function Kt(e){return Gt.call(e)}var Xt="[object Null]",Yt="[object Undefined]",De=I?I.toStringTag:void 0;function A(e){return e==null?e===void 0?Yt:Xt:De&&De in Object(e)?Ut(e):Kt(e)}function O(e){return e!=null&&typeof e=="object"}var qt="[object Symbol]";function Qt(e){return typeof e=="symbol"||O(e)&&A(e)==qt}var Me=NaN,Jt=/^[-+]0x[0-9a-f]+$/i,Zt=/^0b[01]+$/i,en=/^0o[0-7]+$/i,tn=parseInt;function Ne(e){if(typeof e=="number")return e;if(Qt(e))return Me;if(T(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=T(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=_t(e);var n=Zt.test(e);return n||en.test(e)?tn(e.slice(2),n?2:8):Jt.test(e)?Me:+e}var nn="Expected a function",an=Math.max,rn=Math.min;function ae(e,t,n){var r,i,o,s,l,c,d=0,m=!1,f=!1,g=!0;if(typeof e!="function")throw new TypeError(nn);t=Ne(t)||0,T(n)&&(m=!!n.leading,f="maxWait"in n,o=f?an(Ne(n.maxWait)||0,t):o,g="trailing"in n?!!n.trailing:g);function h(y){var P=r,G=i;return r=i=void 0,d=y,s=e.apply(G,P),s}function w(y){return d=y,l=setTimeout(te,t),m?h(y):s}function C(y){var P=y-c,G=y-d,Pt=t-P;return f?rn(Pt,o-G):Pt}function kt(y){var P=y-c,G=y-d;return c===void 0||P>=t||P<0||f&&G>=o}function te(){var y=ne();if(kt(y))return jt(y);l=setTimeout(te,C(y))}function jt(y){return l=void 0,g&&r?h(y):(r=i=void 0,s)}function Ki(){l!==void 0&&clearTimeout(l),d=0,r=c=i=l=void 0}function Xi(){return l===void 0?s:jt(ne())}function Ee(){var y=ne(),P=kt(y);if(r=arguments,i=this,c=y,P){if(l===void 0)return w(c);if(f)return clearTimeout(l),l=setTimeout(te,t),h(c)}return l===void 0&&(l=setTimeout(te,t)),s}return Ee.cancel=Ki,Ee.flush=Xi,Ee}function on(){this.__data__=[],this.size=0}function K(e,t){return e===t||e!==e&&t!==t}function X(e,t){for(var n=e.length;n--;)if(K(e[n][0],t))return n;return-1}var sn=Array.prototype,ln=sn.splice;function cn(e){var t=this.__data__,n=X(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():ln.call(t,n,1),--this.size,!0}function dn(e){var t=this.__data__,n=X(t,e);return n<0?void 0:t[n][1]}function un(e){return X(this.__data__,e)>-1}function fn(e,t){var n=this.__data__,r=X(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function E(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}E.prototype.clear=on,E.prototype.delete=cn,E.prototype.get=dn,E.prototype.has=un,E.prototype.set=fn;function mn(){this.__data__=new E,this.size=0}function gn(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function pn(e){return this.__data__.get(e)}function hn(e){return this.__data__.has(e)}var bn="[object AsyncFunction]",vn="[object Function]",yn="[object GeneratorFunction]",wn="[object Proxy]";function re(e){if(!T(e))return!1;var t=A(e);return t==vn||t==yn||t==bn||t==wn}var oe=S["__core-js_shared__"],Ve=(function(){var e=/[^.]+$/.exec(oe&&oe.keys&&oe.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function $n(e){return!!Ve&&Ve in e}var Tn=Function.prototype,Sn=Tn.toString;function D(e){if(e!=null){try{return Sn.call(e)}catch{}try{return e+""}catch{}}return""}var En=/[\\^$.*+?()[\]{}|]/g,Bn=/^\[object .+?Constructor\]$/,Cn=Function.prototype,On=Object.prototype,kn=Cn.toString,jn=On.hasOwnProperty,Pn=RegExp("^"+kn.call(jn).replace(En,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function An(e){if(!T(e)||$n(e))return!1;var t=re(e)?Pn:Bn;return t.test(D(e))}function Dn(e,t){return e?.[t]}function M(e,t){var n=Dn(e,t);return An(n)?n:void 0}var _=M(S,"Map"),F=M(Object,"create");function Mn(){this.__data__=F?F(null):{},this.size=0}function Nn(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Vn="__lodash_hash_undefined__",In=Object.prototype,Ln=In.hasOwnProperty;function zn(e){var t=this.__data__;if(F){var n=t[e];return n===Vn?void 0:n}return Ln.call(t,e)?t[e]:void 0}var Wn=Object.prototype,xn=Wn.hasOwnProperty;function _n(e){var t=this.__data__;return F?t[e]!==void 0:xn.call(t,e)}var Fn="__lodash_hash_undefined__";function Rn(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=F&&t===void 0?Fn:t,this}function N(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}N.prototype.clear=Mn,N.prototype.delete=Nn,N.prototype.get=zn,N.prototype.has=_n,N.prototype.set=Rn;function Un(){this.size=0,this.__data__={hash:new N,map:new(_||E),string:new N}}function Hn(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Y(e,t){var n=e.__data__;return Hn(t)?n[typeof t=="string"?"string":"hash"]:n.map}function Gn(e){var t=Y(this,e).delete(e);return this.size-=t?1:0,t}function Kn(e){return Y(this,e).get(e)}function Xn(e){return Y(this,e).has(e)}function Yn(e,t){var n=Y(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function k(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}k.prototype.clear=Un,k.prototype.delete=Gn,k.prototype.get=Kn,k.prototype.has=Xn,k.prototype.set=Yn;var qn=200;function Qn(e,t){var n=this.__data__;if(n instanceof E){var r=n.__data__;if(!_||r.length<qn-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new k(r)}return n.set(e,t),this.size=n.size,this}function V(e){var t=this.__data__=new E(e);this.size=t.size}V.prototype.clear=mn,V.prototype.delete=gn,V.prototype.get=pn,V.prototype.has=hn,V.prototype.set=Qn;function Jn(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}var q=(function(){try{var e=M(Object,"defineProperty");return e({},"",{}),e}catch{}})();function ie(e,t,n){t=="__proto__"&&q?q(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var Zn=Object.prototype,ea=Zn.hasOwnProperty;function Ie(e,t,n){var r=e[t];(!(ea.call(e,t)&&K(r,n))||n===void 0&&!(t in e))&&ie(e,t,n)}function ta(e,t,n,r){var i=!n;n||(n={});for(var o=-1,s=t.length;++o<s;){var l=t[o],c=void 0;c===void 0&&(c=e[l]),i?ie(n,l,c):Ie(n,l,c)}return n}function na(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var aa="[object Arguments]";function Le(e){return O(e)&&A(e)==aa}var ze=Object.prototype,ra=ze.hasOwnProperty,oa=ze.propertyIsEnumerable,se=Le((function(){return arguments})())?Le:function(e){return O(e)&&ra.call(e,"callee")&&!oa.call(e,"callee")},R=Array.isArray;function ia(){return!1}var We=typeof u=="object"&&u&&!u.nodeType&&u,xe=We&&typeof module=="object"&&module&&!module.nodeType&&module,sa=xe&&xe.exports===We,_e=sa?S.Buffer:void 0,la=_e?_e.isBuffer:void 0,le=la||ia,ca=9007199254740991,da=/^(?:0|[1-9]\d*)$/;function Fe(e,t){var n=typeof e;return t=t??ca,!!t&&(n=="number"||n!="symbol"&&da.test(e))&&e>-1&&e%1==0&&e<t}var ua=9007199254740991;function Re(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ua}var fa="[object Arguments]",ma="[object Array]",ga="[object Boolean]",pa="[object Date]",ha="[object Error]",ba="[object Function]",va="[object Map]",ya="[object Number]",wa="[object Object]",$a="[object RegExp]",Ta="[object Set]",Sa="[object String]",Ea="[object WeakMap]",Ba="[object ArrayBuffer]",Ca="[object DataView]",Oa="[object Float32Array]",ka="[object Float64Array]",ja="[object Int8Array]",Pa="[object Int16Array]",Aa="[object Int32Array]",Da="[object Uint8Array]",Ma="[object Uint8ClampedArray]",Na="[object Uint16Array]",Va="[object Uint32Array]",v={};v[Oa]=v[ka]=v[ja]=v[Pa]=v[Aa]=v[Da]=v[Ma]=v[Na]=v[Va]=!0,v[fa]=v[ma]=v[Ba]=v[ga]=v[Ca]=v[pa]=v[ha]=v[ba]=v[va]=v[ya]=v[wa]=v[$a]=v[Ta]=v[Sa]=v[Ea]=!1;function Ia(e){return O(e)&&Re(e.length)&&!!v[A(e)]}function ce(e){return function(t){return e(t)}}var Ue=typeof u=="object"&&u&&!u.nodeType&&u,U=Ue&&typeof module=="object"&&module&&!module.nodeType&&module,La=U&&U.exports===Ue,de=La&&Pe.process,L=(function(){try{var e=U&&U.require&&U.require("util").types;return e||de&&de.binding&&de.binding("util")}catch{}})(),He=L&&L.isTypedArray,Ge=He?ce(He):Ia,za=Object.prototype,Wa=za.hasOwnProperty;function Ke(e,t){var n=R(e),r=!n&&se(e),i=!n&&!r&&le(e),o=!n&&!r&&!i&&Ge(e),s=n||r||i||o,l=s?na(e.length,String):[],c=l.length;for(var d in e)(t||Wa.call(e,d))&&!(s&&(d=="length"||i&&(d=="offset"||d=="parent")||o&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Fe(d,c)))&&l.push(d);return l}var xa=Object.prototype;function ue(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||xa;return e===n}function Xe(e,t){return function(n){return e(t(n))}}var _a=Xe(Object.keys,Object),Fa=Object.prototype,Ra=Fa.hasOwnProperty;function Ua(e){if(!ue(e))return _a(e);var t=[];for(var n in Object(e))Ra.call(e,n)&&n!="constructor"&&t.push(n);return t}function Q(e){return e!=null&&Re(e.length)&&!re(e)}function Ha(e){return Q(e)?Ke(e):Ua(e)}function Ga(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var Ka=Object.prototype,Xa=Ka.hasOwnProperty;function Ya(e){if(!T(e))return Ga(e);var t=ue(e),n=[];for(var r in e)r=="constructor"&&(t||!Xa.call(e,r))||n.push(r);return n}function Ye(e){return Q(e)?Ke(e,!0):Ya(e)}var qe=typeof u=="object"&&u&&!u.nodeType&&u,Qe=qe&&typeof module=="object"&&module&&!module.nodeType&&module,qa=Qe&&Qe.exports===qe,Je=qa?S.Buffer:void 0,Ze=Je?Je.allocUnsafe:void 0;function et(e,t){if(t)return e.slice();var n=e.length,r=Ze?Ze(n):new e.constructor(n);return e.copy(r),r}function Qa(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}function Ja(e,t){for(var n=-1,r=e==null?0:e.length,i=0,o=[];++n<r;){var s=e[n];t(s,n,e)&&(o[i++]=s)}return o}function Za(){return[]}var er=Object.prototype,tr=er.propertyIsEnumerable,tt=Object.getOwnPropertySymbols,nr=tt?function(e){return e==null?[]:(e=Object(e),Ja(tt(e),function(t){return tr.call(e,t)}))}:Za;function ar(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var nt=Xe(Object.getPrototypeOf,Object);function rr(e,t,n){var r=t(e);return R(e)?r:ar(r,n(e))}function or(e){return rr(e,Ha,nr)}var fe=M(S,"DataView"),me=M(S,"Promise"),ge=M(S,"Set"),pe=M(S,"WeakMap"),at="[object Map]",ir="[object Object]",rt="[object Promise]",ot="[object Set]",it="[object WeakMap]",st="[object DataView]",sr=D(fe),lr=D(_),cr=D(me),dr=D(ge),ur=D(pe),B=A;(fe&&B(new fe(new ArrayBuffer(1)))!=st||_&&B(new _)!=at||me&&B(me.resolve())!=rt||ge&&B(new ge)!=ot||pe&&B(new pe)!=it)&&(B=function(e){var t=A(e),n=t==ir?e.constructor:void 0,r=n?D(n):"";if(r)switch(r){case sr:return st;case lr:return at;case cr:return rt;case dr:return ot;case ur:return it}return t});var fr=Object.prototype,mr=fr.hasOwnProperty;function gr(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&mr.call(e,"index")&&(n.index=e.index,n.input=e.input),n}var lt=S.Uint8Array;function he(e){var t=new e.constructor(e.byteLength);return new lt(t).set(new lt(e)),t}function pr(e,t){var n=he(e.buffer);return new e.constructor(n,e.byteOffset,e.byteLength)}var hr=/\w*$/;function br(e){var t=new e.constructor(e.source,hr.exec(e));return t.lastIndex=e.lastIndex,t}var ct=I?I.prototype:void 0,dt=ct?ct.valueOf:void 0;function vr(e){return dt?Object(dt.call(e)):{}}function ut(e,t){var n=t?he(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var yr="[object Boolean]",wr="[object Date]",$r="[object Map]",Tr="[object Number]",Sr="[object RegExp]",Er="[object Set]",Br="[object String]",Cr="[object Symbol]",Or="[object ArrayBuffer]",kr="[object DataView]",jr="[object Float32Array]",Pr="[object Float64Array]",Ar="[object Int8Array]",Dr="[object Int16Array]",Mr="[object Int32Array]",Nr="[object Uint8Array]",Vr="[object Uint8ClampedArray]",Ir="[object Uint16Array]",Lr="[object Uint32Array]";function zr(e,t,n){var r=e.constructor;switch(t){case Or:return he(e);case yr:case wr:return new r(+e);case kr:return pr(e);case jr:case Pr:case Ar:case Dr:case Mr:case Nr:case Vr:case Ir:case Lr:return ut(e,n);case $r:return new r;case Tr:case Br:return new r(e);case Sr:return br(e);case Er:return new r;case Cr:return vr(e)}}var ft=Object.create,Wr=(function(){function e(){}return function(t){if(!T(t))return{};if(ft)return ft(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}})();function mt(e){return typeof e.constructor=="function"&&!ue(e)?Wr(nt(e)):{}}var xr="[object Map]";function _r(e){return O(e)&&B(e)==xr}var gt=L&&L.isMap,Fr=gt?ce(gt):_r,Rr="[object Set]";function Ur(e){return O(e)&&B(e)==Rr}var pt=L&&L.isSet,Hr=pt?ce(pt):Ur,Gr=1,ht="[object Arguments]",Kr="[object Array]",Xr="[object Boolean]",Yr="[object Date]",qr="[object Error]",bt="[object Function]",Qr="[object GeneratorFunction]",Jr="[object Map]",Zr="[object Number]",vt="[object Object]",eo="[object RegExp]",to="[object Set]",no="[object String]",ao="[object Symbol]",ro="[object WeakMap]",oo="[object ArrayBuffer]",io="[object DataView]",so="[object Float32Array]",lo="[object Float64Array]",co="[object Int8Array]",uo="[object Int16Array]",fo="[object Int32Array]",go="[object Uint8Array]",po="[object Uint8ClampedArray]",ho="[object Uint16Array]",bo="[object Uint32Array]",b={};b[ht]=b[Kr]=b[oo]=b[io]=b[Xr]=b[Yr]=b[so]=b[lo]=b[co]=b[uo]=b[fo]=b[Jr]=b[Zr]=b[vt]=b[eo]=b[to]=b[no]=b[ao]=b[go]=b[po]=b[ho]=b[bo]=!0,b[qr]=b[bt]=b[ro]=!1;function J(e,t,n,r,i,o){var s,l=t&Gr;if(s!==void 0)return s;if(!T(e))return e;var c=R(e);if(c)s=gr(e);else{var d=B(e),m=d==bt||d==Qr;if(le(e))return et(e,l);if(d==vt||d==ht||m&&!i)s=m?{}:mt(e);else{if(!b[d])return i?e:{};s=zr(e,d,l)}}o||(o=new V);var f=o.get(e);if(f)return f;o.set(e,s),Hr(e)?e.forEach(function(w){s.add(J(w,t,n,w,e,o))}):Fr(e)&&e.forEach(function(w,C){s.set(C,J(w,t,n,C,e,o))});var g=or,h=c?void 0:g(e);return Jn(h||e,function(w,C){h&&(C=w,w=e[C]),Ie(s,C,J(w,t,n,C,e,o))}),s}var vo=1,yo=4;function wo(e){return J(e,vo|yo)}var $o="Expected a function";function be(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError($o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=e.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(be.Cache||k),n}be.Cache=k;var To="Expected a function";function So(e,t,n){var r=!0,i=!0;if(typeof e!="function")throw new TypeError(To);return T(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),ae(e,t,{leading:r,maxWait:t,trailing:i})}function ve(e,t,n){(n!==void 0&&!K(e[t],n)||n===void 0&&!(t in e))&&ie(e,t,n)}function Eo(e){return function(t,n,r){for(var i=-1,o=Object(t),s=r(t),l=s.length;l--;){var c=s[++i];if(n(o[c],c,o)===!1)break}return t}}var Bo=Eo();function Co(e){return O(e)&&Q(e)}var Oo="[object Object]",ko=Function.prototype,jo=Object.prototype,yt=ko.toString,Po=jo.hasOwnProperty,Ao=yt.call(Object);function Do(e){if(!O(e)||A(e)!=Oo)return!1;var t=nt(e);if(t===null)return!0;var n=Po.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&yt.call(n)==Ao}function ye(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function Mo(e){return ta(e,Ye(e))}function No(e,t,n,r,i,o,s){var l=ye(e,n),c=ye(t,n),d=s.get(c);if(d){ve(e,n,d);return}var m=o?o(l,c,n+"",e,t,s):void 0,f=m===void 0;if(f){var g=R(c),h=!g&&le(c),w=!g&&!h&&Ge(c);m=c,g||h||w?R(l)?m=l:Co(l)?m=Qa(l):h?(f=!1,m=et(c,!0)):w?(f=!1,m=ut(c,!0)):m=[]:Do(c)||se(c)?(m=l,se(l)?m=Mo(l):(!T(l)||re(l))&&(m=mt(c))):f=!1}f&&(s.set(c,m),i(m,c,r,o,s),s.delete(c)),ve(e,n,m)}function wt(e,t,n,r,i){e!==t&&Bo(t,function(o,s){if(i||(i=new V),T(o))No(e,t,s,n,wt,r,i);else{var l=r?r(ye(e,s),o,s+"",e,t,i):void 0;l===void 0&&(l=o),ve(e,s,l)}},Ye)}function $t(e){return e}function Vo(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var Tt=Math.max;function Io(e,t,n){return t=Tt(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,o=Tt(r.length-t,0),s=Array(o);++i<o;)s[i]=r[t+i];i=-1;for(var l=Array(t+1);++i<t;)l[i]=r[i];return l[t]=n(s),Vo(e,this,l)}}function Lo(e){return function(){return e}}var zo=q?function(e,t){return q(e,"toString",{configurable:!0,enumerable:!1,value:Lo(t),writable:!0})}:$t,Wo=800,xo=16,_o=Date.now;function Fo(e){var t=0,n=0;return function(){var r=_o(),i=xo-(r-n);if(n=r,i>0){if(++t>=Wo)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Ro=Fo(zo);function Uo(e,t){return Ro(Io(e,t,$t),e+"")}function Ho(e,t,n){if(!T(n))return!1;var r=typeof t;return(r=="number"?Q(n)&&Fe(t,n.length):r=="string"&&t in n)?K(n[t],e):!1}function Go(e){return Uo(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&Ho(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r<i;){var l=n[r];l&&e(t,l,r,o)}return t})}var Ko=Go(function(e,t,n){wt(e,t,n)});const Xo=100,we=new Map,Z={width:window.innerWidth,height:window.innerHeight},Yo=e=>{we.set(e,e)},qo=e=>{we.delete(e)},Qo=ae(e=>{const t=e;t.topEvent={widthDiff:Z.width-window.innerWidth,hightDiff:Z.height-window.innerHeight},Z.width=window.innerWidth,Z.height=window.innerHeight,we.forEach(n=>n(t))},Xo);window.addEventListener("resize",Qo);const St={addOnReize:Yo,removeOnResize:qo},z={themeName:"light",documentClassModificators:new Map,widthForMobile:900,dateFormat:"Y-m-d",currency:"USD",timezoneOffset:new Date().getTimezoneOffset()},Jo={documentClassModificators:z.documentClassModificators,dateFormat:z.dateFormat,currency:z.currency,timezoneOffset:z.timezoneOffset,isMobile:!1,isMobileUA:!1,isRetina:!1,isApp:!1,isLandscape:!0,isPortrait:!1,size:0,isHidden:!1};class Zo{static async TopNotice(){await new Promise((t,n)=>W(["./notice-DwjipV21.amd"],t,n))}static async TopPopup(){await new Promise((t,n)=>W(["./popup-DRuyYFGB.amd"],t,n))}static async TopDialog(){const{TopDialogWorker:t}=await new Promise((n,r)=>W(["../core/app.amd"],n,r));await t.getDialogsUtils()}}class p{static state=a.reactive({...Jo});static preloaders=Zo;static widthForMobile=z.widthForMobile;static themeName=z.themeName;static matchMediaIsMobile;static $=$;static Events=St;static flags=a.reactive({needLoadNotice:!1});static _setState(){this.$=$,p.matchMediaIsMobile=window.matchMedia(`(max-width: ${p.widthForMobile}px)`),p.state.isMobileUA=Ce(),p.state.isRetina=Be(),p.state.isApp=Oe(),p.useDocumentClassModificators(),p.useIsHidden(),p.setStateByWindowSize(),p.Events.addOnReize(p.onResize),p.onResize(),p.saveToCookie(),p.useCtrlClasses()}static useDocumentClassModificators(){a.watch(()=>[...p.state.documentClassModificators],(t,n)=>{let r=new Set;n?.forEach(([i,o])=>r.add(o)),t.forEach(([i,o])=>r.delete(o)),r.forEach(i=>document.documentElement.classList.remove(i)),t.forEach(([i,o])=>document.documentElement.classList.add(o))},{immediate:!0})}static useIsHidden(){document.addEventListener("visibilitychange",()=>{p.state.isHidden=document.hidden}),p.state.isHidden=document.hidden}static setStateByWindowSize(){p.state.isMobile=!!p.matchMediaIsMobile?.matches,p.state.isLandscape=window.innerWidth>window.innerHeight,p.state.isPortrait=!p.state.isLandscape,p.state.size=window.innerWidth>window.innerHeight?window.innerWidth:window.innerHeight,p.saveToCookie()}static onResize(){p.setStateByWindowSize()}static saveToCookie(){const t=[1,window.innerWidth,window.innerHeight,window.devicePixelRatio,Number(p.state.isMobile),Number(p.state.isRetina)];document.cookie="device="+t.join(",")+"; path=/;"}static useCtrlClasses(){const t=document.body.classList;document.addEventListener("keydown",n=>{(n.ctrlKey||n.metaKey)&&t.add("top-body-press_ctrl"),n.altKey&&t.add("top-body-press_alt")}),document.addEventListener("keyup",()=>t.remove("top-body-press_ctrl","top-body-press_alt")),document.addEventListener("keypress",()=>t.remove("top-body-press_ctrl","top-body-press_alt")),window.addEventListener("blur",()=>t.remove("top-body-press_ctrl","top-body-press_alt"))}static notice=async(t,n,r)=>(p.flags.needLoadNotice=!0,(await new Promise((o,s)=>W(["./notice-DwjipV21.amd"],o,s))).show(t,n,r));static insertCSSLinkToPage=(t,n=!1)=>{const r=new Map;r.set("::",[]),t.forEach(o=>{let s=!1,l=!1;o.match(/\.m\./)&&(s=!0),o.match(/\.pc\./)&&(l=!0);const c=`${s}:${l}`;r.has(c)||r.set(`${s}:${l}`,[]),r.get(`${s}:${l}`).push(o)});const i=[];return r.forEach((o,s)=>{if(!o.length)return;const[l,c]=s.split(":").map(f=>f==="true");let d="all";l&&(d="(max-width: "+p.widthForMobile+"px)"),c&&(d="(min-width: "+p.widthForMobile+"px)"),p._insertToPage(o,d,n).forEach(f=>i.push(f))}),Promise.all(i)};static _insertToPage=(t,n,r)=>{const i=[];return t.forEach(o=>{if(r){const f=new XMLHttpRequest;f.open("GET",o,!1),f.send()}const s="topCSSLink-"+o.replace(/\W/g,"-");if(window.hasOwnProperty(s))return;let l,c;const d=new Promise((f,g)=>{l=f,c=g});i.push(d);const m=document.createElement("link");m.id=s,m.rel="stylesheet",m.media=n,m.href=o,m.onload=()=>l(),m.onerror=()=>c(),document.head.append(m)}),i};static insertStyleToPage=(t,n="")=>{let r="all";n==="m"&&(r="(max-width: "+p.widthForMobile+"px)"),n==="pc"&&(r="(min-width: "+p.widthForMobile+"px)");const i=document.createElement("style");i.innerHTML=t,i.media=r,document.head.append(i)}}const ei={install:(e,t)=>{const n=(r,i,o)=>{if(!e.config.globalProperties.$i18n[r][i])return"";let s=e.config.globalProperties.$i18n[r][i]+"";for(const l in o)s=s.replaceAll(new RegExp(`{{ ${l} }}`,"g"),String(o[l]));return s};Object.setPrototypeOf(n,a.reactive(t.i18n)),e.config.globalProperties.$i18n=n,e.config.globalProperties.$i18nLang=a.ref(t.lang),e.config.globalProperties.i18n=e.config.globalProperties.$i18n,typeof window<"u"&&!window.requirejs&&(globalThis.$i18n=e.config.globalProperties.$i18n),e.provide("$i18n",e.config.globalProperties.$i18n),e.provide("$i18nLang",e.config.globalProperties.$i18nLang),e.provide("i18n",e.config.globalProperties.i18n)}},H=()=>!a.getCurrentInstance()&&window.mo?.user?.lang?requirejs("i18n").categories[mo.user.lang]:!a.getCurrentInstance()&&globalThis.$i18n?globalThis.$i18n:a.inject("$i18n"),ti=()=>!a.getCurrentInstance()&&window.mo?.user?.lang?a.ref(mo.user.lang):a.inject("$i18nLang"),ni=(e,t,n)=>{const r=H().Calendar;switch(new Date(e,--t,n).getDay()){case 0:return r.Dw_1+".";case 1:return r.Dw_2+".";case 2:return r.Dw_3+".";case 3:return r.Dw_4+".";case 4:return r.Dw_5+".";case 5:return r.Dw_6+".";case 6:return r.Dw_7+".";default:return""}},ai=(e,t=!0,n=2)=>{let r=String(e.getFullYear()),i=String(e.getDate()).padStart(2,"0"),o=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getHours()).padStart(2,"0"),l=String(e.getMinutes()).padStart(2,"0"),c=String(e.getSeconds()).padStart(2,"0"),d=r+"-"+o+"-"+i;return n>=1&&(d+=" "+s),n>=2&&(d+=":"+l),n===3&&(d+=":"+c),t&&(d=j(d,n)),d};function ri(e){if(e.indexOf("T")===-1){e.length==10&&(e+=" 00:00:00");const t=p.state.timezoneOffset>=0?"-":"+",n=Math.abs(p.state.timezoneOffset)/60;let r;if(Number.isInteger(n))r=t+n.toString().padStart(2,"0")+":00";else{const i=Math.floor(n),o=Math.round((n-i)*60);r=t+i.toString().padStart(2,"0")+":"+o.toString().padStart(2,"0")}e=e.replace(" ","T")+r}return new Date(e)}const oi=(e=new Date().getTime(),t=!0,n=0)=>$e(e,t,n,p.state.timezoneOffset);function $e(e=new Date().getTime(),t=!0,n=0,r){const i=r?e+new Date().getTimezoneOffset()*60*1e3-r*60*1e3:e,o=new Date(i),s=o.getFullYear(),l=String(o.getMonth()+1).padStart(2,"0"),c=o.getDate().toString().padStart(2,"0"),d=o.getHours().toString().padStart(2,"0"),m=o.getMinutes().toString().padStart(2,"0"),f=o.getSeconds().toString().padStart(2,"0");n==="auto"&&(n=0,o.getHours()&&(n=1),o.getMinutes()&&(n=2),o.getSeconds()&&(n=3));let g=s+"-"+l+"-"+c;return n&&(g+=" "),n>=1&&(g+=d),n>=2&&(g+=":"+m),n>=3&&(g+=":"+f),t&&(r?g=j(g,n):g=j(o,n)),g}function ii(e,t=!0){const r=new Date().getTimezoneOffset()/60*-1*60*60*1e3,i=10800*1e3;let o;e!==void 0?o=new Date(e):o=new Date,o.setTime(o.getTime()-r+i);let s=String(o.getFullYear()),l=String(o.getDate()).padStart(2,"0"),c=String(o.getMonth()+1).padStart(2,"0"),d=String(o.getHours()).padStart(2,"0"),m=String(o.getMinutes()).padStart(2,"0"),f=String(o.getSeconds()).padStart(2,"0"),g=s+"-"+c+"-"+l+" "+d+":"+m+":"+f;return t&&(g=j(g)),g}function j(e,t=2,n,r){if(r||(r=H().Common.Not_date),typeof e=="string"&&(!e||e.substring(0,10)==="0000-00-00")&&r&&r!=="0000-00-00"||!e)return r;n||(n=p.state.dateFormat),n=n.toLowerCase().replace("m","mm").replace("y","yy").replace("d","dd");let i;if(e instanceof Date)i=e;else{let s=e.substring(0,10);if(s.length===7&&(s+="-01"),s+=" 00:00",s=s.replace(/-/g,"/"),i=new Date(s),isNaN(Number(i)))return r}let o="";if(n&&window.$&&(o=$.datepicker.formatDate(n,i)),t&&typeof e=="string"&&e.length>10||t&&e instanceof Date){let s="";if(e instanceof Date)s=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"numeric",minute:t>=2?"numeric":void 0,second:t>=3?"numeric":void 0});else switch(t){case 1:s=e.substring(11,13);break;case 2:s=e.substring(11,16);break;case 3:s=e.substring(11,19);break}o+=" "+s}return o=o.trim(),o}function Te(e,t){if(t||(t=H().Common.Not_date),!e)return t;if(e.match(/\d\d\d\d-\d\d-\d\d/))return e;const n=p.state.dateFormat.toLowerCase(),r=e.split(/\W/),i=n.split(/\W/);let o="",s="",l="";i.forEach((d,m)=>{switch(d){case"d":o=r[m];break;case"m":s=r[m];break;case"y":l=r[m];break}});let c=l+"-"+s+"-"+o;return c.match(/\d\d\d\d-\d\d-\d\d/)||(console.info("Неверный формат даты, будет возращена текущая дата, "+c),c=$e(new Date().getTime(),!1).substring(0,10)),c}const si={class:"top-avatar"},li=["src","title"],ci=["title"],di=a.defineComponent({__name:"avatar",props:{size:{default:64},image:{},nickname:{},isOnline:{type:Boolean},lastActiveTime:{},i18n:{default:()=>({Online:"Online",LastSeen:"Last seen"})}},setup(e){a.useCssVars(i=>({v52a765e6:i.size+"px"}));const t=e,n=a.computed(()=>{if(t.isOnline)return t.i18n?.Online;if(t.lastActiveTime)return t.i18n?.LastSeen+": "+j(t.lastActiveTime,2)}),r=a.computed(()=>t.nickname?t.nickname+(n.value?`
2
- ${n.value}`:""):n.value);return(i,o)=>(a.openBlock(),a.createElementBlock("div",si,[a.createElementVNode("img",{class:"top-avatar_image",src:e.image,title:r.value,alt:""},null,8,li),e.isOnline?(a.openBlock(),a.createElementBlock("div",{key:0,class:"top-avatar_status",title:n.value},null,8,ci)):a.createCommentVNode("",!0)]))}}),ui=["data-top-badge"],fi={key:1,class:"top-ellipsis"},mi=a.defineComponent({__name:"button",props:{color:{default:"blue"},styling:{default:""},size:{default:"s"},name:{},title:{},icon:{},icon2:{},href:{},badgeNumber:{},badgePosAfterText:{type:Boolean},disabled:{type:Boolean},isSubmit:{type:Boolean},isActive:{type:Boolean},isProgress:{type:Boolean},autoWidth:{type:Boolean}},setup(e){const t=e,n=a.computed(()=>t.href?"a":"button"),r=a.computed(()=>t.isSubmit?"submit":void 0);return(i,o)=>(a.openBlock(),a.createBlock(a.resolveDynamicComponent(n.value),{class:a.normalizeClass({"top-active":e.isActive,"top-disabled":e.disabled,"top-forms-focusable":!e.disabled,"top-button":!0,"top-button-progress":e.isProgress,[`top-size_${e.size}`]:!!e.size,[`top-color_${e.color}`]:!0,[`top-style_${e.styling}`]:!!e.styling,"top-button-autoWidth":e.autoWidth,"top-button-withoutText":!i.$slots.default}),name:e.name,title:e.title,href:e.href,type:r.value,"data-top-icon":e.icon||void 0,"data-top-icon2":e.icon2||void 0,disabled:e.disabled||void 0,inProgress:e.isProgress},{default:a.withCtx(()=>[e.badgeNumber?(a.openBlock(),a.createElementBlock("span",{key:0,"data-top-badge":e.badgeNumber,class:a.normalizeClass(["top-button_badge",{"top-button_badge-afterText":e.badgePosAfterText}])},null,10,ui)):a.createCommentVNode("",!0),i.$slots.default?(a.openBlock(),a.createElementBlock("span",fi,[a.renderSlot(i.$slots,"default",{},()=>[a.createTextVNode(a.toDisplayString(e.icon?"":"Button"),1)])])):a.createCommentVNode("",!0),a.renderSlot(i.$slots,"html")]),_:3},8,["class","name","title","href","type","data-top-icon","data-top-icon2","disabled","inProgress"]))}}),gi={class:"top-caption"},pi={class:"top-caption_title"},hi=a.defineComponent({__name:"caption",props:{title:{}},setup(e){return(t,n)=>(a.openBlock(),a.createElementBlock("label",gi,[a.createElementVNode("div",pi,a.toDisplayString(e.title?e.title:" "),1),a.renderSlot(t.$slots,"default")]))}}),bi={class:"top-forms-optionLabel"},ee=a.defineComponent({__name:"controlLabel",props:{description:{},disabled:{type:Boolean}},setup(e){return(t,n)=>(a.openBlock(),a.createElementBlock("div",bi,[a.createElementVNode("div",{class:a.normalizeClass({"top-forms-optionLabel_title":!0,"top-forms-optionLabel_title-disabled":e.disabled})},[a.renderSlot(t.$slots,"default")],2),e.description?(a.openBlock(),a.createElementBlock("div",{key:0,class:a.normalizeClass(["top-forms-optionLabel_description",{"top-forms-optionLabel_description-disabled":e.disabled}])},a.toDisplayString(e.description),3)):a.createCommentVNode("",!0)]))}}),vi=["name","value","indeterminate","disabled"],yi=a.defineComponent({__name:"checkbox",props:a.mergeModels({modelValue:{type:[Boolean,Array,Set]},name:{},value:{},description:{},disabled:{type:Boolean},indeterminate:{type:Boolean},isError:{type:Boolean}},{modelValue:{type:[Boolean,Array,Set]},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=a.useModel(e,"modelValue");return(n,r)=>{const i=a.resolveDirective("top-focus");return a.openBlock(),a.createElementBlock("label",{class:a.normalizeClass({"top-forms-optionWrapper":!0,"top-checkbox":!0,["top-checkbox_"+e.name]:!!e.name,"top-disabled":e.disabled,"top-error":e.isError&&!e.disabled})},[a.withDirectives(a.createElementVNode("input",{type:"checkbox",class:a.normalizeClass({"top-forms-focusable":!e.disabled,"top-forms-option":!0,"top-checkbox_input":!0,"top-error":e.isError&&!e.disabled}),name:e.name,"onUpdate:modelValue":r[0]||(r[0]=o=>t.value=o),value:e.value,indeterminate:e.indeterminate,disabled:e.disabled},null,10,vi),[[i,e.isError,void 0,{onupdate:!0}],[a.vModelCheckbox,t.value]]),n.$slots.default?(a.openBlock(),a.createBlock(ee,{key:0,description:e.description,disabled:e.disabled},{default:a.withCtx(()=>[a.renderSlot(n.$slots,"default")]),_:3},8,["description","disabled"])):a.createCommentVNode("",!0)],2)}}}),wi=["title"],Et=a.defineComponent({__name:"hint",props:{hint:{}},setup(e){return(t,n)=>(a.openBlock(),a.createElementBlock("span",{class:"top-hint","data-top-icon":"",title:e.hint},null,8,wi))}}),Bt=(e,t)=>{const n=e.__vccOpts||e;for(const[r,i]of t)n[r]=i;return n},$i={},Ti={class:"top-loadbar"};function Si(e,t){return a.openBlock(),a.createElementBlock("div",Ti)}const Ct=Bt($i,[["render",Si]]),Ei=["data-top-icon","data-top-icon2"],Bi=["name","title","placeholder","disabled","readonly","data-1p-ignore"],Ci={key:2,class:"top-formsCaption"},Se=a.defineComponent({inheritAttrs:!1,__name:"input",props:{modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{default:"s"},styling:{default:""},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean},title:{},captionType:{default:""}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=a.computed({get(){return n.modelValue},set(l){r("update:modelValue",l)}}),o=a.computed(()=>n.addCleaner&&!n.title||n.captionType!==""?"":n.title),s=l=>{n.modelValue&&l.stopPropagation(),r("update:modelValue","")};return(l,c)=>{const d=a.resolveDirective("top-focus");return a.openBlock(),a.createElementBlock("label",{class:a.normalizeClass({"top-input":!0,["top-size_"+e.size]:!0,"top-disabled":e.disabled,["top-input-"+e.modificator]:!!e.modificator,"top-input-withCleaner":e.addCleaner&&i.value&&i.value!=="0000-00-00","top-formsCaptionWrapper":e.captionType!=="","top-formsCaptionWrapper-always":e.captionType==="top"}),"data-top-icon":e.icon,"data-top-icon2":e.icon2},[e.isLoading?(a.openBlock(),a.createBlock(Ct,{key:0})):a.createCommentVNode("",!0),a.withDirectives(a.createElementVNode("input",a.mergeProps({type:"text",class:{"top-input_input":!0,["top-input_input-"+e.modificator]:!!e.modificator,"top-forms-focusable":!e.disabled,"top-error":e.isError,[`top-style_${e.styling}`]:!!e.styling},autocomplete:"off_always",name:e.name,"onUpdate:modelValue":c[0]||(c[0]=m=>i.value=m),title:e.title,placeholder:o.value,disabled:e.disabled,readonly:e.readonly,onKeydown:c[1]||(c[1]=a.withKeys(m=>e.addCleaner&&s(m),["esc"])),"data-1p-ignore":l.$attrs.type!=="email"&&l.$attrs.type!=="password"},l.$attrs),null,16,Bi),[[d,e.isError,void 0,{onupdate:!0}],[a.vModelText,i.value]]),e.addCleaner&&i.value&&i.value!=="0000-00-00"?(a.openBlock(),a.createElementBlock("span",{key:1,class:"top-input_cleaner","data-top-icon":"",onClick:a.withModifiers(s,["prevent"])})):a.createCommentVNode("",!0),e.captionType!==""?(a.openBlock(),a.createElementBlock("span",Ci,a.toDisplayString(e.title),1)):a.createCommentVNode("",!0),a.renderSlot(l.$slots,"default")],10,Ei)}}}),Oi=["value"],ki=!!document.documentElement.ontouchstart&&!!document.createElement("input").showPicker;let Ot=e=>{};const ji=a.defineComponent({__name:"inputDate",props:{modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},styling:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{default:""},addCleaner:{type:Boolean},title:{},captionType:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=H(),r=e,i=t;a.onUnmounted(()=>{s&&s.datepicker("destroy")});const o=a.ref();let s;const l=a.computed({get(){return j(r.modelValue,2,void 0,"0000-00-00")},set(f){f=Te(f,"0000-00-00"),i("update:modelValue",f)}});let c=f=>{Ot(f)},d=f=>{const g=Te(f.target.value),h=j(g);if(!h||h===n.Common.Not_date||f.target.value!==h){f.target.value=l.value;return}l.value=f.target.value};async function m(f){const g=await new Promise((h,w)=>W(["./datepicker-3coUsFW2.amd"],h,w));Ot=g.oninput,s=g.connectDatepicker(f.target,{onSelect:()=>d(f)}),s&&s.datepicker("show")}return(f,g)=>a.unref(ki)?(a.openBlock(),a.createBlock(Se,a.mergeProps({key:0},f.$props,{modelValue:l.value,readonly:"",onClick:g[1]||(g[1]=h=>o.value.showPicker())}),{default:a.withCtx(()=>[a.createElementVNode("input",{ref_key:"el",ref:o,type:"date",class:"top-input_input-date",value:e.modelValue,onChange:g[0]||(g[0]=h=>l.value=h.target.value),tabindex:"-1"},null,40,Oi)]),_:1},16,["modelValue"])):(a.openBlock(),a.createBlock(Se,a.mergeProps({key:1},f.$props,{modelValue:l.value,"onUpdate:modelValue":g[2]||(g[2]=h=>h===""?l.value="":""),onInput:a.unref(c),onFocusOnce:m,onChange:a.unref(d),modificator:"datepicker"}),null,16,["modelValue","onInput","onChange"]))}}),Pi={class:"top-inputRange"},Ai=a.defineComponent({__name:"inputRange",setup(e){return(t,n)=>(a.openBlock(),a.createElementBlock("div",Pi,[a.renderSlot(t.$slots,"from"),n[0]||(n[0]=a.createElementVNode("span",{class:"top-inputRange_dash"}," — ",-1)),a.renderSlot(t.$slots,"to")]))}}),Di=["name","value","disabled"],Mi=a.defineComponent({__name:"radio",props:{modelValue:{},value:{},name:{},description:{},disabled:{type:Boolean},isError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=a.computed({get(){return n.modelValue},set(o){r("update:modelValue",o)}});return(o,s)=>{const l=a.resolveDirective("top-focus");return a.openBlock(),a.createElementBlock("label",{class:a.normalizeClass({"top-forms-optionWrapper":!0,"top-radio":!0,["top-radio_"+e.name]:e.name!=="","top-disabled":e.disabled,"top-error":e.isError&&!e.disabled})},[a.withDirectives(a.createElementVNode("input",{type:"radio",class:a.normalizeClass({"top-forms-focusable":!e.disabled,"top-forms-option":!0,"top-radio_input":!0,"top-error":e.isError&&!e.disabled}),"onUpdate:modelValue":s[0]||(s[0]=c=>i.value=c),name:e.name,value:e.value,disabled:e.disabled},null,10,Di),[[l,e.isError,void 0,{onupdate:!0}],[a.vModelRadio,i.value]]),o.$slots.default?(a.openBlock(),a.createBlock(ee,{key:0,description:e.description,disabled:e.disabled},{default:a.withCtx(()=>[a.renderSlot(o.$slots,"default")]),_:3},8,["description","disabled"])):a.createCommentVNode("",!0)],2)}}}),Ni=["name","value","disabled"],Vi=a.defineComponent({__name:"switcher",props:{modelValue:{type:[Boolean,Array,Set]},name:{},value:{},description:{},disabled:{type:Boolean},isError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=a.computed({get(){return n.modelValue},set(o){r("update:modelValue",o)}});return(o,s)=>{const l=a.resolveDirective("top-focus");return a.openBlock(),a.createElementBlock("label",{class:a.normalizeClass({"top-forms-optionWrapper":!0,"top-checkboxSwitcher":!0,"top-disabled":e.disabled,"top-error":e.isError&&!e.disabled})},[a.withDirectives(a.createElementVNode("input",{type:"checkbox",class:a.normalizeClass({"top-forms-focusable":!e.disabled,"top-forms-option":!0,"top-checkboxSwitcher_input":!0,"top-error":e.isError&&!e.disabled}),"onUpdate:modelValue":s[0]||(s[0]=c=>i.value=c),name:e.name,value:e.value,disabled:e.disabled},null,10,Ni),[[l,e.isError,void 0,{onupdate:!0}],[a.vModelCheckbox,i.value]]),o.$slots.default?(a.openBlock(),a.createBlock(ee,{key:0,description:e.description,disabled:e.disabled},{default:a.withCtx(()=>[a.renderSlot(o.$slots,"default")]),_:3},8,["description","disabled"])):a.createCommentVNode("",!0)],2)}}}),Ii=["name","placeholder","disabled","readonly","rows","maxlength"],Li={key:0,class:"top-textarea_pseudoContent"},zi=a.defineComponent({inheritAttrs:!1,__name:"textarea",props:{modelValue:{},name:{},placeholder:{},styling:{default:""},rows:{default:5},minHeight:{default:120},expandable:{type:Boolean},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{},maxLength:{}},emits:["update:modelValue"],setup(e,{emit:t}){a.useCssVars(o=>({v049aac9f:o.minHeight+"px"}));const n=e,r=t,i=a.computed({get(){return n.modelValue},set(o){r("update:modelValue",o)}});return(o,s)=>{const l=a.resolveDirective("top-focus"),c=a.resolveDirective("top-tooltip");return a.openBlock(),a.createElementBlock("label",{class:a.normalizeClass({"top-textarea":!0,["top-textarea-"+e.name]:e.name,"top-disabled":e.disabled})},[a.withDirectives(a.createElementVNode("textarea",a.mergeProps({type:"text",class:{"top-forms-focusable":!e.disabled,"top-textarea_textarea":!0,"top-textarea_textarea-expandable":e.expandable,"top-error":e.isError,[`top-style_${e.styling}`]:!!e.styling},autocomplete:"off_always",name:e.name,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,rows:e.expandable?void 0:e.rows,maxlength:e.maxLength},o.$attrs,{"onUpdate:modelValue":s[0]||(s[0]=d=>i.value=d)}),null,16,Ii),[[l,e.isError,void 0,{onupdate:!0}],[a.vModelText,i.value]]),e.expandable?(a.openBlock(),a.createElementBlock("span",Li,a.toDisplayString(i.value+" "),1)):a.createCommentVNode("",!0),e.hint?a.withDirectives((a.openBlock(),a.createBlock(Et,{key:1,class:"top-textarea_hint",hint:e.hint},null,8,["hint"])),[[c]]):a.createCommentVNode("",!0),e.maxLength?(a.openBlock(),a.createElementBlock("div",{key:2,class:a.normalizeClass(["top-textarea_counter",{"top-textarea_counter-max":i.value.length>=e.maxLength}])},a.toDisplayString(i.value.length)+"/"+a.toDisplayString(e.maxLength),3)):a.createCommentVNode("",!0)],2)}}}),Wi=["data-value","data-top-icon","data-top-icon2"],xi=["name","disabled"],_i=["label","disabled"],Fi=["value","selected","disabled"],Ri=["value","selected","disabled"],Ui={key:1,class:"top-formsCaption"},Hi=a.defineComponent({__name:"select",props:a.mergeModels({modelValue:{type:[String,Number,Boolean]},options:{},name:{},disabled:{type:Boolean},icon:{},size:{default:"s"},styling:{default:""},addChanger:{type:Boolean},title:{},isError:{type:Boolean}},{modelValue:{type:[String,Number,Boolean],required:!0},modelModifiers:{}}),emits:a.mergeModels(["update:modelValue"],["update:modelValue"]),setup(e){const t=e,n=a.useModel(e,"modelValue"),r=a.computed(()=>{const c=new Map;return t.options.forEach((d,m)=>{if(typeof d=="string"&&(d=o(m,d)),d.children){const f=new Map;d.children.forEach((g,h)=>{typeof g=="string"&&(g=o(h,g)),f.set(g.value,g)}),d={...d},d.children=f,c.set(d.value,d)}else c.set(d.value,d)}),c}),i=a.computed(()=>{const c=new Map;return r.value.forEach(d=>{if(!d.disabled){if(d.children){d.children.forEach(m=>{m.disabled||c.set(m.value,m)});return}c.set(d.value,d)}}),c}),o=(c,d)=>({value:c,title:d});a.watch([()=>t.modelValue,i],()=>{(n.value===null||n.value===void 0)&&i.value.size&&(console.warn("Пожалуйста, не передавайте в компонент Select значения null и undefined"),n.value=i.value.keys().next().value)},{immediate:!0});const s=a.computed(()=>i.value.get(n.value)?.icon),l=()=>{const c=[...i.value.keys()],m=(c.indexOf(n.value)+1)%c.length;n.value=c[m]};return(c,d)=>{const m=a.resolveDirective("top-focus");return a.openBlock(),a.createElementBlock("label",{class:a.normalizeClass({"top-select":!0,["top-select-"+e.name]:e.name,["top-size_"+e.size]:!0,"top-formsCaptionWrapper":!!e.title,"top-select-error":e.isError,"top-disabled":e.disabled}),"data-value":n.value,"data-top-icon":e.icon,"data-top-icon2":s.value},[a.withDirectives((a.openBlock(),a.createElementBlock("select",{class:a.normalizeClass({"top-forms-focusable":!e.disabled,"top-select_select":!0,"top-as-selector":!0,"top-error":e.isError,[`top-style_${e.styling}`]:!!e.styling}),name:e.name,disabled:e.disabled,"onUpdate:modelValue":d[0]||(d[0]=f=>n.value=f)},[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(r.value,([f,g])=>(a.openBlock(),a.createElementBlock(a.Fragment,null,[g.children?(a.openBlock(),a.createElementBlock("optgroup",{key:"group_"+f,label:g.title,disabled:g.disabled},[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(g.children,([h,w])=>(a.openBlock(),a.createElementBlock("option",{key:String(h),value:h,selected:h===n.value,disabled:w.disabled},a.toDisplayString(w.title),9,Fi))),128))],8,_i)):(a.openBlock(),a.createElementBlock("option",{key:f?String(f):void 0,value:f,selected:f===n.value,disabled:g.disabled},a.toDisplayString(g.title),9,Ri))],64))),256))],10,xi)),[[m,e.isError,void 0,{onupdate:!0}],[a.vModelSelect,n.value]]),e.addChanger&&i.value.size&&!e.disabled?(a.openBlock(),a.createElementBlock("span",{key:0,class:"top-changer",onClick:l})):a.createCommentVNode("",!0),e.title?(a.openBlock(),a.createElementBlock("span",Ui,a.toDisplayString(e.title),1)):a.createCommentVNode("",!0)],10,Wi)}}}),Gi=a.defineComponent({__name:"preloader",props:{type:{}},setup(e){return(t,n)=>(a.openBlock(),a.createElementBlock("div",{class:a.normalizeClass({["top-preloader-"+e.type]:!0})},[e.type==="circles"?(a.openBlock(),a.createElementBlock(a.Fragment,{key:0},a.renderList([1,2,3],r=>a.createElementVNode("i")),64)):a.createCommentVNode("",!0)],2))}});u.Core=p,u.Events=St,u.TopLoadbar=Ct,u._export_sfc=Bt,u._sfc_main=Se,u._sfc_main$1=mi,u._sfc_main$10=Hi,u._sfc_main$11=Vi,u._sfc_main$12=Gi,u._sfc_main$13=hi,u._sfc_main$2=Et,u._sfc_main$3=zi,u._sfc_main$4=yi,u._sfc_main$5=Mi,u._sfc_main$6=di,u._sfc_main$7=ee,u._sfc_main$8=ji,u._sfc_main$9=Ai,u.cloneDeep=wo,u.dateFormat=j,u.dateToString=ai,u.dateUnformat=Te,u.debounce=ae,u.genDate=$e,u.genDateMoscow=ii,u.genUserDate=oi,u.get$scroll=Nt,u.getCommandKeyLabel=Dt,u.getDayOfWeek=ni,u.getElsScroll=Vt,u.getOS=je,u.getOSAsync=It,u.getScrollTop=Mt,u.i18n=ei,u.isApp=Oe,u.isMacOS=ke,u.isMobile=Ce,u.isRetina=Be,u.isSafari=At,u.memoize=be,u.merge=Ko,u.stringToDate=ri,u.throttle=So,u.useI18n=H,u.useI18nLang=ti}));
3
- //# sourceMappingURL=forms-CUSCBQu3.amd.js.map
1
+ define(["require","exports","vue"],(function(W,u,a){"use strict";if(typeof a>"u")var a=window.Vue;function Be(){return"devicePixelRatio"in window&&window.devicePixelRatio>1}function Ce(){return!!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i)}function Oe(){return navigator.userAgent.indexOf("Topvisor_App")!=-1}function ke(){return navigator.userAgent.indexOf("Mac OS X")!==-1}function At(){const e=/Chrome|Android/.test(navigator.userAgent);let t=/Safari/.test(navigator.userAgent);return e&&t&&(t=!1),t}function Dt(){return ke()?"⌘":"Ctrl"}const Mt=()=>$(document).scrollTop(),Nt=()=>$(document),Vt=()=>[document],je=()=>{const e=[["iOS",/(iPhone|iPad)/i],["Android",/(Android)/i],["Windows Phone",/(IEMobile)/i],["Windows 3.11",/Win16/i],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/i],["Windows 98",/(Windows 98)|(Win98)/i],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/i],["Windows XP",/(Windows NT 5.1)|(Windows XP)/i],["Windows Server 2003",/(Windows NT 5.2)/i],["Windows Vista",/(Windows NT 6.0)/i],["Windows 7",/(Windows NT 6.1)/i],["Windows 8",/(Windows NT 6.[23])|(Windows 8)/i],["Windows 10",/(Windows NT 10)/i],["Windows NT 4.0",/(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)/i],["Windows ME",/Windows ME/i],["Windows",/Windows/i],["Open BSD",/OpenBSD/i],["Sun OS",/SunOS/i],["Linux",/(Linux)|(X11)/i],["Macintosh",/(Mac_PowerPC)|(Macintosh)|(Mac OS X 10.4)|(Mac OS X 10.5)|(Mac OS X 10.6)/i],["QNX",/QNX/i],["BeOS",/BeOS/i],["OS/2",/OS\/2/i]];let t="";for(let n=0;n<e.length;n++)if(e[n][1].test(navigator.userAgent)){t=e[n][0];break}return t},It=async()=>{let e=je();if(e==="Windows 10"){const t=await navigator?.userAgentData?.getHighEntropyValues(["platformVersion"]);t&&t.platformVersion>="13"&&(e="Windows 11")}return e};function T(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Pe=typeof global=="object"&&global&&global.Object===Object&&global,Lt=typeof self=="object"&&self&&self.Object===Object&&self,S=Pe||Lt||Function("return this")(),ne=function(){return S.Date.now()},zt=/\s/;function Wt(e){for(var t=e.length;t--&&zt.test(e.charAt(t)););return t}var xt=/^\s+/;function Ft(e){return e&&e.slice(0,Wt(e)+1).replace(xt,"")}var I=S.Symbol,Ae=Object.prototype,_t=Ae.hasOwnProperty,Rt=Ae.toString,x=I?I.toStringTag:void 0;function Ut(e){var t=_t.call(e,x),n=e[x];try{e[x]=void 0;var r=!0}catch{}var i=Rt.call(e);return r&&(t?e[x]=n:delete e[x]),i}var Ht=Object.prototype,Gt=Ht.toString;function Kt(e){return Gt.call(e)}var Xt="[object Null]",Yt="[object Undefined]",De=I?I.toStringTag:void 0;function A(e){return e==null?e===void 0?Yt:Xt:De&&De in Object(e)?Ut(e):Kt(e)}function O(e){return e!=null&&typeof e=="object"}var qt="[object Symbol]";function Qt(e){return typeof e=="symbol"||O(e)&&A(e)==qt}var Me=NaN,Jt=/^[-+]0x[0-9a-f]+$/i,Zt=/^0b[01]+$/i,en=/^0o[0-7]+$/i,tn=parseInt;function Ne(e){if(typeof e=="number")return e;if(Qt(e))return Me;if(T(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=T(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Ft(e);var n=Zt.test(e);return n||en.test(e)?tn(e.slice(2),n?2:8):Jt.test(e)?Me:+e}var nn="Expected a function",an=Math.max,rn=Math.min;function ae(e,t,n){var r,i,o,s,l,c,d=0,m=!1,f=!1,g=!0;if(typeof e!="function")throw new TypeError(nn);t=Ne(t)||0,T(n)&&(m=!!n.leading,f="maxWait"in n,o=f?an(Ne(n.maxWait)||0,t):o,g="trailing"in n?!!n.trailing:g);function h(v){var P=r,G=i;return r=i=void 0,d=v,s=e.apply(G,P),s}function w(v){return d=v,l=setTimeout(te,t),m?h(v):s}function C(v){var P=v-c,G=v-d,Pt=t-P;return f?rn(Pt,o-G):Pt}function kt(v){var P=v-c,G=v-d;return c===void 0||P>=t||P<0||f&&G>=o}function te(){var v=ne();if(kt(v))return jt(v);l=setTimeout(te,C(v))}function jt(v){return l=void 0,g&&r?h(v):(r=i=void 0,s)}function Ki(){l!==void 0&&clearTimeout(l),d=0,r=c=i=l=void 0}function Xi(){return l===void 0?s:jt(ne())}function Ee(){var v=ne(),P=kt(v);if(r=arguments,i=this,c=v,P){if(l===void 0)return w(c);if(f)return clearTimeout(l),l=setTimeout(te,t),h(c)}return l===void 0&&(l=setTimeout(te,t)),s}return Ee.cancel=Ki,Ee.flush=Xi,Ee}function on(){this.__data__=[],this.size=0}function K(e,t){return e===t||e!==e&&t!==t}function X(e,t){for(var n=e.length;n--;)if(K(e[n][0],t))return n;return-1}var sn=Array.prototype,ln=sn.splice;function cn(e){var t=this.__data__,n=X(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():ln.call(t,n,1),--this.size,!0}function dn(e){var t=this.__data__,n=X(t,e);return n<0?void 0:t[n][1]}function un(e){return X(this.__data__,e)>-1}function fn(e,t){var n=this.__data__,r=X(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function E(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}E.prototype.clear=on,E.prototype.delete=cn,E.prototype.get=dn,E.prototype.has=un,E.prototype.set=fn;function mn(){this.__data__=new E,this.size=0}function gn(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function pn(e){return this.__data__.get(e)}function hn(e){return this.__data__.has(e)}var bn="[object AsyncFunction]",yn="[object Function]",vn="[object GeneratorFunction]",wn="[object Proxy]";function re(e){if(!T(e))return!1;var t=A(e);return t==yn||t==vn||t==bn||t==wn}var oe=S["__core-js_shared__"],Ve=(function(){var e=/[^.]+$/.exec(oe&&oe.keys&&oe.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function $n(e){return!!Ve&&Ve in e}var Tn=Function.prototype,Sn=Tn.toString;function D(e){if(e!=null){try{return Sn.call(e)}catch{}try{return e+""}catch{}}return""}var En=/[\\^$.*+?()[\]{}|]/g,Bn=/^\[object .+?Constructor\]$/,Cn=Function.prototype,On=Object.prototype,kn=Cn.toString,jn=On.hasOwnProperty,Pn=RegExp("^"+kn.call(jn).replace(En,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function An(e){if(!T(e)||$n(e))return!1;var t=re(e)?Pn:Bn;return t.test(D(e))}function Dn(e,t){return e?.[t]}function M(e,t){var n=Dn(e,t);return An(n)?n:void 0}var F=M(S,"Map"),_=M(Object,"create");function Mn(){this.__data__=_?_(null):{},this.size=0}function Nn(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Vn="__lodash_hash_undefined__",In=Object.prototype,Ln=In.hasOwnProperty;function zn(e){var t=this.__data__;if(_){var n=t[e];return n===Vn?void 0:n}return Ln.call(t,e)?t[e]:void 0}var Wn=Object.prototype,xn=Wn.hasOwnProperty;function Fn(e){var t=this.__data__;return _?t[e]!==void 0:xn.call(t,e)}var _n="__lodash_hash_undefined__";function Rn(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=_&&t===void 0?_n:t,this}function N(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}N.prototype.clear=Mn,N.prototype.delete=Nn,N.prototype.get=zn,N.prototype.has=Fn,N.prototype.set=Rn;function Un(){this.size=0,this.__data__={hash:new N,map:new(F||E),string:new N}}function Hn(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Y(e,t){var n=e.__data__;return Hn(t)?n[typeof t=="string"?"string":"hash"]:n.map}function Gn(e){var t=Y(this,e).delete(e);return this.size-=t?1:0,t}function Kn(e){return Y(this,e).get(e)}function Xn(e){return Y(this,e).has(e)}function Yn(e,t){var n=Y(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function k(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}k.prototype.clear=Un,k.prototype.delete=Gn,k.prototype.get=Kn,k.prototype.has=Xn,k.prototype.set=Yn;var qn=200;function Qn(e,t){var n=this.__data__;if(n instanceof E){var r=n.__data__;if(!F||r.length<qn-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new k(r)}return n.set(e,t),this.size=n.size,this}function V(e){var t=this.__data__=new E(e);this.size=t.size}V.prototype.clear=mn,V.prototype.delete=gn,V.prototype.get=pn,V.prototype.has=hn,V.prototype.set=Qn;function Jn(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}var q=(function(){try{var e=M(Object,"defineProperty");return e({},"",{}),e}catch{}})();function ie(e,t,n){t=="__proto__"&&q?q(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var Zn=Object.prototype,ea=Zn.hasOwnProperty;function Ie(e,t,n){var r=e[t];(!(ea.call(e,t)&&K(r,n))||n===void 0&&!(t in e))&&ie(e,t,n)}function ta(e,t,n,r){var i=!n;n||(n={});for(var o=-1,s=t.length;++o<s;){var l=t[o],c=void 0;c===void 0&&(c=e[l]),i?ie(n,l,c):Ie(n,l,c)}return n}function na(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var aa="[object Arguments]";function Le(e){return O(e)&&A(e)==aa}var ze=Object.prototype,ra=ze.hasOwnProperty,oa=ze.propertyIsEnumerable,se=Le((function(){return arguments})())?Le:function(e){return O(e)&&ra.call(e,"callee")&&!oa.call(e,"callee")},R=Array.isArray;function ia(){return!1}var We=typeof u=="object"&&u&&!u.nodeType&&u,xe=We&&typeof module=="object"&&module&&!module.nodeType&&module,sa=xe&&xe.exports===We,Fe=sa?S.Buffer:void 0,la=Fe?Fe.isBuffer:void 0,le=la||ia,ca=9007199254740991,da=/^(?:0|[1-9]\d*)$/;function _e(e,t){var n=typeof e;return t=t??ca,!!t&&(n=="number"||n!="symbol"&&da.test(e))&&e>-1&&e%1==0&&e<t}var ua=9007199254740991;function Re(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ua}var fa="[object Arguments]",ma="[object Array]",ga="[object Boolean]",pa="[object Date]",ha="[object Error]",ba="[object Function]",ya="[object Map]",va="[object Number]",wa="[object Object]",$a="[object RegExp]",Ta="[object Set]",Sa="[object String]",Ea="[object WeakMap]",Ba="[object ArrayBuffer]",Ca="[object DataView]",Oa="[object Float32Array]",ka="[object Float64Array]",ja="[object Int8Array]",Pa="[object Int16Array]",Aa="[object Int32Array]",Da="[object Uint8Array]",Ma="[object Uint8ClampedArray]",Na="[object Uint16Array]",Va="[object Uint32Array]",y={};y[Oa]=y[ka]=y[ja]=y[Pa]=y[Aa]=y[Da]=y[Ma]=y[Na]=y[Va]=!0,y[fa]=y[ma]=y[Ba]=y[ga]=y[Ca]=y[pa]=y[ha]=y[ba]=y[ya]=y[va]=y[wa]=y[$a]=y[Ta]=y[Sa]=y[Ea]=!1;function Ia(e){return O(e)&&Re(e.length)&&!!y[A(e)]}function ce(e){return function(t){return e(t)}}var Ue=typeof u=="object"&&u&&!u.nodeType&&u,U=Ue&&typeof module=="object"&&module&&!module.nodeType&&module,La=U&&U.exports===Ue,de=La&&Pe.process,L=(function(){try{var e=U&&U.require&&U.require("util").types;return e||de&&de.binding&&de.binding("util")}catch{}})(),He=L&&L.isTypedArray,Ge=He?ce(He):Ia,za=Object.prototype,Wa=za.hasOwnProperty;function Ke(e,t){var n=R(e),r=!n&&se(e),i=!n&&!r&&le(e),o=!n&&!r&&!i&&Ge(e),s=n||r||i||o,l=s?na(e.length,String):[],c=l.length;for(var d in e)(t||Wa.call(e,d))&&!(s&&(d=="length"||i&&(d=="offset"||d=="parent")||o&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||_e(d,c)))&&l.push(d);return l}var xa=Object.prototype;function ue(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||xa;return e===n}function Xe(e,t){return function(n){return e(t(n))}}var Fa=Xe(Object.keys,Object),_a=Object.prototype,Ra=_a.hasOwnProperty;function Ua(e){if(!ue(e))return Fa(e);var t=[];for(var n in Object(e))Ra.call(e,n)&&n!="constructor"&&t.push(n);return t}function Q(e){return e!=null&&Re(e.length)&&!re(e)}function Ha(e){return Q(e)?Ke(e):Ua(e)}function Ga(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var Ka=Object.prototype,Xa=Ka.hasOwnProperty;function Ya(e){if(!T(e))return Ga(e);var t=ue(e),n=[];for(var r in e)r=="constructor"&&(t||!Xa.call(e,r))||n.push(r);return n}function Ye(e){return Q(e)?Ke(e,!0):Ya(e)}var qe=typeof u=="object"&&u&&!u.nodeType&&u,Qe=qe&&typeof module=="object"&&module&&!module.nodeType&&module,qa=Qe&&Qe.exports===qe,Je=qa?S.Buffer:void 0,Ze=Je?Je.allocUnsafe:void 0;function et(e,t){if(t)return e.slice();var n=e.length,r=Ze?Ze(n):new e.constructor(n);return e.copy(r),r}function Qa(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}function Ja(e,t){for(var n=-1,r=e==null?0:e.length,i=0,o=[];++n<r;){var s=e[n];t(s,n,e)&&(o[i++]=s)}return o}function Za(){return[]}var er=Object.prototype,tr=er.propertyIsEnumerable,tt=Object.getOwnPropertySymbols,nr=tt?function(e){return e==null?[]:(e=Object(e),Ja(tt(e),function(t){return tr.call(e,t)}))}:Za;function ar(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var nt=Xe(Object.getPrototypeOf,Object);function rr(e,t,n){var r=t(e);return R(e)?r:ar(r,n(e))}function or(e){return rr(e,Ha,nr)}var fe=M(S,"DataView"),me=M(S,"Promise"),ge=M(S,"Set"),pe=M(S,"WeakMap"),at="[object Map]",ir="[object Object]",rt="[object Promise]",ot="[object Set]",it="[object WeakMap]",st="[object DataView]",sr=D(fe),lr=D(F),cr=D(me),dr=D(ge),ur=D(pe),B=A;(fe&&B(new fe(new ArrayBuffer(1)))!=st||F&&B(new F)!=at||me&&B(me.resolve())!=rt||ge&&B(new ge)!=ot||pe&&B(new pe)!=it)&&(B=function(e){var t=A(e),n=t==ir?e.constructor:void 0,r=n?D(n):"";if(r)switch(r){case sr:return st;case lr:return at;case cr:return rt;case dr:return ot;case ur:return it}return t});var fr=Object.prototype,mr=fr.hasOwnProperty;function gr(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&mr.call(e,"index")&&(n.index=e.index,n.input=e.input),n}var lt=S.Uint8Array;function he(e){var t=new e.constructor(e.byteLength);return new lt(t).set(new lt(e)),t}function pr(e,t){var n=he(e.buffer);return new e.constructor(n,e.byteOffset,e.byteLength)}var hr=/\w*$/;function br(e){var t=new e.constructor(e.source,hr.exec(e));return t.lastIndex=e.lastIndex,t}var ct=I?I.prototype:void 0,dt=ct?ct.valueOf:void 0;function yr(e){return dt?Object(dt.call(e)):{}}function ut(e,t){var n=t?he(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var vr="[object Boolean]",wr="[object Date]",$r="[object Map]",Tr="[object Number]",Sr="[object RegExp]",Er="[object Set]",Br="[object String]",Cr="[object Symbol]",Or="[object ArrayBuffer]",kr="[object DataView]",jr="[object Float32Array]",Pr="[object Float64Array]",Ar="[object Int8Array]",Dr="[object Int16Array]",Mr="[object Int32Array]",Nr="[object Uint8Array]",Vr="[object Uint8ClampedArray]",Ir="[object Uint16Array]",Lr="[object Uint32Array]";function zr(e,t,n){var r=e.constructor;switch(t){case Or:return he(e);case vr:case wr:return new r(+e);case kr:return pr(e);case jr:case Pr:case Ar:case Dr:case Mr:case Nr:case Vr:case Ir:case Lr:return ut(e,n);case $r:return new r;case Tr:case Br:return new r(e);case Sr:return br(e);case Er:return new r;case Cr:return yr(e)}}var ft=Object.create,Wr=(function(){function e(){}return function(t){if(!T(t))return{};if(ft)return ft(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}})();function mt(e){return typeof e.constructor=="function"&&!ue(e)?Wr(nt(e)):{}}var xr="[object Map]";function Fr(e){return O(e)&&B(e)==xr}var gt=L&&L.isMap,_r=gt?ce(gt):Fr,Rr="[object Set]";function Ur(e){return O(e)&&B(e)==Rr}var pt=L&&L.isSet,Hr=pt?ce(pt):Ur,Gr=1,ht="[object Arguments]",Kr="[object Array]",Xr="[object Boolean]",Yr="[object Date]",qr="[object Error]",bt="[object Function]",Qr="[object GeneratorFunction]",Jr="[object Map]",Zr="[object Number]",yt="[object Object]",eo="[object RegExp]",to="[object Set]",no="[object String]",ao="[object Symbol]",ro="[object WeakMap]",oo="[object ArrayBuffer]",io="[object DataView]",so="[object Float32Array]",lo="[object Float64Array]",co="[object Int8Array]",uo="[object Int16Array]",fo="[object Int32Array]",go="[object Uint8Array]",po="[object Uint8ClampedArray]",ho="[object Uint16Array]",bo="[object Uint32Array]",b={};b[ht]=b[Kr]=b[oo]=b[io]=b[Xr]=b[Yr]=b[so]=b[lo]=b[co]=b[uo]=b[fo]=b[Jr]=b[Zr]=b[yt]=b[eo]=b[to]=b[no]=b[ao]=b[go]=b[po]=b[ho]=b[bo]=!0,b[qr]=b[bt]=b[ro]=!1;function J(e,t,n,r,i,o){var s,l=t&Gr;if(s!==void 0)return s;if(!T(e))return e;var c=R(e);if(c)s=gr(e);else{var d=B(e),m=d==bt||d==Qr;if(le(e))return et(e,l);if(d==yt||d==ht||m&&!i)s=m?{}:mt(e);else{if(!b[d])return i?e:{};s=zr(e,d,l)}}o||(o=new V);var f=o.get(e);if(f)return f;o.set(e,s),Hr(e)?e.forEach(function(w){s.add(J(w,t,n,w,e,o))}):_r(e)&&e.forEach(function(w,C){s.set(C,J(w,t,n,C,e,o))});var g=or,h=c?void 0:g(e);return Jn(h||e,function(w,C){h&&(C=w,w=e[C]),Ie(s,C,J(w,t,n,C,e,o))}),s}var yo=1,vo=4;function wo(e){return J(e,yo|vo)}var $o="Expected a function";function be(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError($o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=e.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(be.Cache||k),n}be.Cache=k;var To="Expected a function";function So(e,t,n){var r=!0,i=!0;if(typeof e!="function")throw new TypeError(To);return T(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),ae(e,t,{leading:r,maxWait:t,trailing:i})}function ye(e,t,n){(n!==void 0&&!K(e[t],n)||n===void 0&&!(t in e))&&ie(e,t,n)}function Eo(e){return function(t,n,r){for(var i=-1,o=Object(t),s=r(t),l=s.length;l--;){var c=s[++i];if(n(o[c],c,o)===!1)break}return t}}var Bo=Eo();function Co(e){return O(e)&&Q(e)}var Oo="[object Object]",ko=Function.prototype,jo=Object.prototype,vt=ko.toString,Po=jo.hasOwnProperty,Ao=vt.call(Object);function Do(e){if(!O(e)||A(e)!=Oo)return!1;var t=nt(e);if(t===null)return!0;var n=Po.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&vt.call(n)==Ao}function ve(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function Mo(e){return ta(e,Ye(e))}function No(e,t,n,r,i,o,s){var l=ve(e,n),c=ve(t,n),d=s.get(c);if(d){ye(e,n,d);return}var m=o?o(l,c,n+"",e,t,s):void 0,f=m===void 0;if(f){var g=R(c),h=!g&&le(c),w=!g&&!h&&Ge(c);m=c,g||h||w?R(l)?m=l:Co(l)?m=Qa(l):h?(f=!1,m=et(c,!0)):w?(f=!1,m=ut(c,!0)):m=[]:Do(c)||se(c)?(m=l,se(l)?m=Mo(l):(!T(l)||re(l))&&(m=mt(c))):f=!1}f&&(s.set(c,m),i(m,c,r,o,s),s.delete(c)),ye(e,n,m)}function wt(e,t,n,r,i){e!==t&&Bo(t,function(o,s){if(i||(i=new V),T(o))No(e,t,s,n,wt,r,i);else{var l=r?r(ve(e,s),o,s+"",e,t,i):void 0;l===void 0&&(l=o),ye(e,s,l)}},Ye)}function $t(e){return e}function Vo(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var Tt=Math.max;function Io(e,t,n){return t=Tt(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,o=Tt(r.length-t,0),s=Array(o);++i<o;)s[i]=r[t+i];i=-1;for(var l=Array(t+1);++i<t;)l[i]=r[i];return l[t]=n(s),Vo(e,this,l)}}function Lo(e){return function(){return e}}var zo=q?function(e,t){return q(e,"toString",{configurable:!0,enumerable:!1,value:Lo(t),writable:!0})}:$t,Wo=800,xo=16,Fo=Date.now;function _o(e){var t=0,n=0;return function(){var r=Fo(),i=xo-(r-n);if(n=r,i>0){if(++t>=Wo)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Ro=_o(zo);function Uo(e,t){return Ro(Io(e,t,$t),e+"")}function Ho(e,t,n){if(!T(n))return!1;var r=typeof t;return(r=="number"?Q(n)&&_e(t,n.length):r=="string"&&t in n)?K(n[t],e):!1}function Go(e){return Uo(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&Ho(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r<i;){var l=n[r];l&&e(t,l,r,o)}return t})}var Ko=Go(function(e,t,n){wt(e,t,n)});const Xo=100,we=new Map,Z={width:window.innerWidth,height:window.innerHeight},Yo=e=>{we.set(e,e)},qo=e=>{we.delete(e)},Qo=ae(e=>{const t=e;t.topEvent={widthDiff:Z.width-window.innerWidth,hightDiff:Z.height-window.innerHeight},Z.width=window.innerWidth,Z.height=window.innerHeight,we.forEach(n=>n(t))},Xo);window.addEventListener("resize",Qo);const St={addOnReize:Yo,removeOnResize:qo},z={themeName:"light",documentClassModificators:new Map,widthForMobile:900,dateFormat:"Y-m-d",currency:"USD",timezoneOffset:new Date().getTimezoneOffset()},Jo={documentClassModificators:z.documentClassModificators,dateFormat:z.dateFormat,currency:z.currency,timezoneOffset:z.timezoneOffset,isMobile:!1,isMobileUA:!1,isRetina:!1,isApp:!1,isLandscape:!0,isPortrait:!1,size:0,isHidden:!1};class Zo{static async TopNotice(){await new Promise((t,n)=>W(["./notice-hF3z8ewG.amd"],t,n))}static async TopPopup(){await new Promise((t,n)=>W(["./popup-Bwmu8rOb.amd"],t,n))}static async TopDialog(){const{TopDialogWorker:t}=await new Promise((n,r)=>W(["../core/app.amd"],n,r));await t.getDialogsUtils()}}class p{static state=a.reactive({...Jo});static preloaders=Zo;static widthForMobile=z.widthForMobile;static themeName=z.themeName;static matchMediaIsMobile;static $=$;static Events=St;static flags=a.reactive({needLoadNotice:!1});static _setState(){this.$=$,p.matchMediaIsMobile=window.matchMedia(`(max-width: ${p.widthForMobile}px)`),p.state.isMobileUA=Ce(),p.state.isRetina=Be(),p.state.isApp=Oe(),p.useDocumentClassModificators(),p.useIsHidden(),p.setStateByWindowSize(),p.Events.addOnReize(p.onResize),p.onResize(),p.saveToCookie(),p.useCtrlClasses()}static useDocumentClassModificators(){a.watch(()=>[...p.state.documentClassModificators],(t,n)=>{let r=new Set;n?.forEach(([i,o])=>r.add(o)),t.forEach(([i,o])=>r.delete(o)),r.forEach(i=>document.documentElement.classList.remove(i)),t.forEach(([i,o])=>document.documentElement.classList.add(o))},{immediate:!0})}static useIsHidden(){document.addEventListener("visibilitychange",()=>{p.state.isHidden=document.hidden}),p.state.isHidden=document.hidden}static setStateByWindowSize(){p.state.isMobile=!!p.matchMediaIsMobile?.matches,p.state.isLandscape=window.innerWidth>window.innerHeight,p.state.isPortrait=!p.state.isLandscape,p.state.size=window.innerWidth>window.innerHeight?window.innerWidth:window.innerHeight,p.saveToCookie()}static onResize(){p.setStateByWindowSize()}static saveToCookie(){const t=[1,window.innerWidth,window.innerHeight,window.devicePixelRatio,Number(p.state.isMobile),Number(p.state.isRetina)];document.cookie="device="+t.join(",")+"; path=/;"}static useCtrlClasses(){const t=document.body.classList;document.addEventListener("keydown",n=>{(n.ctrlKey||n.metaKey)&&t.add("top-body-press_ctrl"),n.altKey&&t.add("top-body-press_alt")}),document.addEventListener("keyup",()=>t.remove("top-body-press_ctrl","top-body-press_alt")),document.addEventListener("keypress",()=>t.remove("top-body-press_ctrl","top-body-press_alt")),window.addEventListener("blur",()=>t.remove("top-body-press_ctrl","top-body-press_alt"))}static notice=async(t,n,r)=>(p.flags.needLoadNotice=!0,(await new Promise((o,s)=>W(["./notice-hF3z8ewG.amd"],o,s))).show(t,n,r));static insertCSSLinkToPage=(t,n=!1)=>{const r=new Map;r.set("::",[]),t.forEach(o=>{let s=!1,l=!1;o.match(/\.m\./)&&(s=!0),o.match(/\.pc\./)&&(l=!0);const c=`${s}:${l}`;r.has(c)||r.set(`${s}:${l}`,[]),r.get(`${s}:${l}`).push(o)});const i=[];return r.forEach((o,s)=>{if(!o.length)return;const[l,c]=s.split(":").map(f=>f==="true");let d="all";l&&(d="(max-width: "+p.widthForMobile+"px)"),c&&(d="(min-width: "+p.widthForMobile+"px)"),p._insertToPage(o,d,n).forEach(f=>i.push(f))}),Promise.all(i)};static _insertToPage=(t,n,r)=>{const i=[];return t.forEach(o=>{if(r){const f=new XMLHttpRequest;f.open("GET",o,!1),f.send()}const s="topCSSLink-"+o.replace(/\W/g,"-");if(window.hasOwnProperty(s))return;let l,c;const d=new Promise((f,g)=>{l=f,c=g});i.push(d);const m=document.createElement("link");m.id=s,m.rel="stylesheet",m.media=n,m.href=o,m.onload=()=>l(),m.onerror=()=>c(),document.head.append(m)}),i};static insertStyleToPage=(t,n="")=>{let r="all";n==="m"&&(r="(max-width: "+p.widthForMobile+"px)"),n==="pc"&&(r="(min-width: "+p.widthForMobile+"px)");const i=document.createElement("style");i.innerHTML=t,i.media=r,document.head.append(i)}}const ei={install:(e,t)=>{const n=(r,i,o)=>{if(!e.config.globalProperties.$i18n[r][i])return"";let s=e.config.globalProperties.$i18n[r][i]+"";for(const l in o)s=s.replaceAll(new RegExp(`{{ ${l} }}`,"g"),String(o[l]));return s};Object.setPrototypeOf(n,a.reactive(t.i18n)),e.config.globalProperties.$i18n=n,e.config.globalProperties.$i18nLang=a.ref(t.lang),e.config.globalProperties.i18n=e.config.globalProperties.$i18n,typeof window<"u"&&!window.requirejs&&(globalThis.$i18n=e.config.globalProperties.$i18n),e.provide("$i18n",e.config.globalProperties.$i18n),e.provide("$i18nLang",e.config.globalProperties.$i18nLang),e.provide("i18n",e.config.globalProperties.i18n)}},H=()=>!a.getCurrentInstance()&&window.mo?.user?.lang?requirejs("i18n").categories[mo.user.lang]:!a.getCurrentInstance()&&globalThis.$i18n?globalThis.$i18n:a.inject("$i18n"),ti=()=>!a.getCurrentInstance()&&window.mo?.user?.lang?a.ref(mo.user.lang):a.inject("$i18nLang"),ni=(e,t,n)=>{const r=H().Calendar;switch(new Date(e,--t,n).getDay()){case 0:return r.Dw_1+".";case 1:return r.Dw_2+".";case 2:return r.Dw_3+".";case 3:return r.Dw_4+".";case 4:return r.Dw_5+".";case 5:return r.Dw_6+".";case 6:return r.Dw_7+".";default:return""}},ai=(e,t=!0,n=2)=>{let r=String(e.getFullYear()),i=String(e.getDate()).padStart(2,"0"),o=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getHours()).padStart(2,"0"),l=String(e.getMinutes()).padStart(2,"0"),c=String(e.getSeconds()).padStart(2,"0"),d=r+"-"+o+"-"+i;return n>=1&&(d+=" "+s),n>=2&&(d+=":"+l),n===3&&(d+=":"+c),t&&(d=j(d,n)),d};function ri(e){if(e.indexOf("T")===-1){e.length==10&&(e+=" 00:00:00");const t=p.state.timezoneOffset>=0?"-":"+",n=Math.abs(p.state.timezoneOffset)/60;let r;if(Number.isInteger(n))r=t+n.toString().padStart(2,"0")+":00";else{const i=Math.floor(n),o=Math.round((n-i)*60);r=t+i.toString().padStart(2,"0")+":"+o.toString().padStart(2,"0")}e=e.replace(" ","T")+r}return new Date(e)}const oi=(e=new Date().getTime(),t=!0,n=0)=>$e(e,t,n,p.state.timezoneOffset);function $e(e=new Date().getTime(),t=!0,n=0,r){const i=r?e+new Date().getTimezoneOffset()*60*1e3-r*60*1e3:e,o=new Date(i),s=o.getFullYear(),l=String(o.getMonth()+1).padStart(2,"0"),c=o.getDate().toString().padStart(2,"0"),d=o.getHours().toString().padStart(2,"0"),m=o.getMinutes().toString().padStart(2,"0"),f=o.getSeconds().toString().padStart(2,"0");n==="auto"&&(n=0,o.getHours()&&(n=1),o.getMinutes()&&(n=2),o.getSeconds()&&(n=3));let g=s+"-"+l+"-"+c;return n&&(g+=" "),n>=1&&(g+=d),n>=2&&(g+=":"+m),n>=3&&(g+=":"+f),t&&(r?g=j(g,n):g=j(o,n)),g}function ii(e,t=!0){const r=new Date().getTimezoneOffset()/60*-1*60*60*1e3,i=10800*1e3;let o;e!==void 0?o=new Date(e):o=new Date,o.setTime(o.getTime()-r+i);let s=String(o.getFullYear()),l=String(o.getDate()).padStart(2,"0"),c=String(o.getMonth()+1).padStart(2,"0"),d=String(o.getHours()).padStart(2,"0"),m=String(o.getMinutes()).padStart(2,"0"),f=String(o.getSeconds()).padStart(2,"0"),g=s+"-"+c+"-"+l+" "+d+":"+m+":"+f;return t&&(g=j(g)),g}function j(e,t=2,n,r){if(r||(r=H().Common.Not_date),typeof e=="string"&&(!e||e.substring(0,10)==="0000-00-00")&&r&&r!=="0000-00-00"||!e)return r;n||(n=p.state.dateFormat),n=n.toLowerCase().replace("m","mm").replace("y","yy").replace("d","dd");let i;if(e instanceof Date)i=e;else{let s=e.substring(0,10);if(s.length===7&&(s+="-01"),s+=" 00:00",s=s.replace(/-/g,"/"),i=new Date(s),isNaN(Number(i)))return r}let o="";if(n&&window.$&&(o=$.datepicker.formatDate(n,i)),t&&typeof e=="string"&&e.length>10||t&&e instanceof Date){let s="";if(e instanceof Date)s=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"numeric",minute:t>=2?"numeric":void 0,second:t>=3?"numeric":void 0});else switch(t){case 1:s=e.substring(11,13);break;case 2:s=e.substring(11,16);break;case 3:s=e.substring(11,19);break}o+=" "+s}return o=o.trim(),o}function Te(e,t){if(t||(t=H().Common.Not_date),!e)return t;if(e.match(/\d\d\d\d-\d\d-\d\d/))return e;const n=p.state.dateFormat.toLowerCase(),r=e.split(/\W/),i=n.split(/\W/);let o="",s="",l="";i.forEach((d,m)=>{switch(d){case"d":o=r[m];break;case"m":s=r[m];break;case"y":l=r[m];break}});let c=l+"-"+s+"-"+o;return c.match(/\d\d\d\d-\d\d-\d\d/)||(console.info("Неверный формат даты, будет возращена текущая дата, "+c),c=$e(new Date().getTime(),!1).substring(0,10)),c}const si={class:"top-avatar"},li=["src","title"],ci=["title"],di=a.defineComponent({__name:"avatar",props:{size:{default:64},image:{},nickname:{},isOnline:{type:Boolean},lastActiveTime:{},i18n:{default:()=>({Online:"Online",LastSeen:"Last seen"})}},setup(e){a.useCssVars(i=>({v54e34f00:i.size+"px"}));const t=e,n=a.computed(()=>{if(t.isOnline)return t.i18n?.Online;if(t.lastActiveTime)return t.i18n?.LastSeen+": "+j(t.lastActiveTime,2)}),r=a.computed(()=>t.nickname?t.nickname+(n.value?`
2
+ ${n.value}`:""):n.value);return(i,o)=>(a.openBlock(),a.createElementBlock("div",si,[a.createElementVNode("img",{class:"top-avatar_image",src:e.image,title:r.value,alt:""},null,8,li),e.isOnline?(a.openBlock(),a.createElementBlock("div",{key:0,class:"top-avatar_status",title:n.value},null,8,ci)):a.createCommentVNode("",!0)]))}}),ui=["data-top-badge"],fi={key:1,class:"top-ellipsis"},mi=a.defineComponent({__name:"button",props:{color:{default:"blue"},styling:{default:""},size:{default:"s"},name:{},title:{},icon:{},icon2:{},href:{},badgeNumber:{},badgePosAfterText:{type:Boolean},disabled:{type:Boolean},isSubmit:{type:Boolean},isActive:{type:Boolean},isProgress:{type:Boolean},autoWidth:{type:Boolean}},setup(e){const t=e,n=a.computed(()=>t.href?"a":"button"),r=a.computed(()=>t.isSubmit?"submit":void 0);return(i,o)=>(a.openBlock(),a.createBlock(a.resolveDynamicComponent(n.value),{class:a.normalizeClass({"top-active":e.isActive,"top-disabled":e.disabled,"top-forms-focusable":!e.disabled,"top-button":!0,"top-button-progress":e.isProgress,[`top-size_${e.size}`]:!!e.size,[`top-color_${e.color}`]:!0,[`top-style_${e.styling}`]:!!e.styling,"top-button-autoWidth":e.autoWidth,"top-button-withoutText":!i.$slots.default}),name:e.name,title:e.title,href:e.href,type:r.value,"data-top-icon":e.icon||void 0,"data-top-icon2":e.icon2||void 0,disabled:e.disabled||void 0,inProgress:e.isProgress},{default:a.withCtx(()=>[e.badgeNumber?(a.openBlock(),a.createElementBlock("span",{key:0,"data-top-badge":e.badgeNumber,class:a.normalizeClass(["top-button_badge",{"top-button_badge-afterText":e.badgePosAfterText}])},null,10,ui)):a.createCommentVNode("",!0),i.$slots.default?(a.openBlock(),a.createElementBlock("span",fi,[a.renderSlot(i.$slots,"default",{},()=>[a.createTextVNode(a.toDisplayString(e.icon?"":"Button"),1)])])):a.createCommentVNode("",!0),a.renderSlot(i.$slots,"html")]),_:3},8,["class","name","title","href","type","data-top-icon","data-top-icon2","disabled","inProgress"]))}}),gi={class:"top-caption"},pi={class:"top-caption_text"},hi=a.defineComponent({__name:"caption",props:{text:{}},setup(e){return(t,n)=>(a.openBlock(),a.createElementBlock("label",gi,[a.createElementVNode("div",pi,[a.renderSlot(t.$slots,"text",{},()=>[a.createTextVNode(a.toDisplayString(e.text?e.text:" "),1)])]),a.renderSlot(t.$slots,"default")]))}}),bi={class:"top-forms-optionLabel"},ee=a.defineComponent({__name:"controlLabel",props:{description:{},disabled:{type:Boolean}},setup(e){return(t,n)=>(a.openBlock(),a.createElementBlock("div",bi,[a.createElementVNode("div",{class:a.normalizeClass({"top-forms-optionLabel_title":!0,"top-forms-optionLabel_title-disabled":e.disabled})},[a.renderSlot(t.$slots,"default")],2),e.description?(a.openBlock(),a.createElementBlock("div",{key:0,class:a.normalizeClass(["top-forms-optionLabel_description",{"top-forms-optionLabel_description-disabled":e.disabled}])},a.toDisplayString(e.description),3)):a.createCommentVNode("",!0)]))}}),yi=["name","value","indeterminate","disabled"],vi=a.defineComponent({__name:"checkbox",props:a.mergeModels({modelValue:{type:[Boolean,Array,Set]},name:{},value:{},description:{},disabled:{type:Boolean},indeterminate:{type:Boolean},isError:{type:Boolean}},{modelValue:{type:[Boolean,Array,Set]},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=a.useModel(e,"modelValue");return(n,r)=>{const i=a.resolveDirective("top-focus");return a.openBlock(),a.createElementBlock("label",{class:a.normalizeClass({"top-forms-optionWrapper":!0,"top-checkbox":!0,["top-checkbox_"+e.name]:!!e.name,"top-disabled":e.disabled,"top-error":e.isError&&!e.disabled})},[a.withDirectives(a.createElementVNode("input",{type:"checkbox",class:a.normalizeClass({"top-forms-focusable":!e.disabled,"top-forms-option":!0,"top-checkbox_input":!0,"top-error":e.isError&&!e.disabled}),name:e.name,"onUpdate:modelValue":r[0]||(r[0]=o=>t.value=o),value:e.value,indeterminate:e.indeterminate,disabled:e.disabled},null,10,yi),[[i,e.isError,void 0,{onupdate:!0}],[a.vModelCheckbox,t.value]]),n.$slots.default?(a.openBlock(),a.createBlock(ee,{key:0,description:e.description,disabled:e.disabled},{default:a.withCtx(()=>[a.renderSlot(n.$slots,"default")]),_:3},8,["description","disabled"])):a.createCommentVNode("",!0)],2)}}}),wi=["title"],Et=a.defineComponent({__name:"hint",props:{hint:{}},setup(e){return(t,n)=>(a.openBlock(),a.createElementBlock("span",{class:"top-hint","data-top-icon":"",title:e.hint},null,8,wi))}}),Bt=(e,t)=>{const n=e.__vccOpts||e;for(const[r,i]of t)n[r]=i;return n},$i={},Ti={class:"top-loadbar"};function Si(e,t){return a.openBlock(),a.createElementBlock("div",Ti)}const Ct=Bt($i,[["render",Si]]),Ei=["data-top-icon","data-top-icon2"],Bi=["name","title","placeholder","disabled","readonly","data-1p-ignore"],Ci={key:2,class:"top-formsCaption"},Se=a.defineComponent({inheritAttrs:!1,__name:"input",props:{modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{default:"s"},styling:{default:""},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean},title:{},captionType:{default:""}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=a.computed({get(){return n.modelValue},set(l){r("update:modelValue",l)}}),o=a.computed(()=>n.addCleaner&&!n.title||n.captionType!==""?"":n.title),s=l=>{n.modelValue&&l.stopPropagation(),r("update:modelValue","")};return(l,c)=>{const d=a.resolveDirective("top-focus");return a.openBlock(),a.createElementBlock("label",{class:a.normalizeClass({"top-input":!0,["top-size_"+e.size]:!0,"top-disabled":e.disabled,["top-input-"+e.modificator]:!!e.modificator,"top-input-withCleaner":e.addCleaner&&i.value&&i.value!=="0000-00-00","top-formsCaptionWrapper":e.captionType!=="","top-formsCaptionWrapper-always":e.captionType==="top"}),"data-top-icon":e.icon,"data-top-icon2":e.icon2},[e.isLoading?(a.openBlock(),a.createBlock(Ct,{key:0})):a.createCommentVNode("",!0),a.withDirectives(a.createElementVNode("input",a.mergeProps({type:"text",class:{"top-input_input":!0,["top-input_input-"+e.modificator]:!!e.modificator,"top-forms-focusable":!e.disabled,"top-error":e.isError,[`top-style_${e.styling}`]:!!e.styling},autocomplete:"off_always",name:e.name,"onUpdate:modelValue":c[0]||(c[0]=m=>i.value=m),title:e.title,placeholder:o.value,disabled:e.disabled,readonly:e.readonly,onKeydown:c[1]||(c[1]=a.withKeys(m=>e.addCleaner&&s(m),["esc"])),"data-1p-ignore":l.$attrs.type!=="email"&&l.$attrs.type!=="password"},l.$attrs),null,16,Bi),[[d,e.isError,void 0,{onupdate:!0}],[a.vModelText,i.value]]),e.addCleaner&&i.value&&i.value!=="0000-00-00"?(a.openBlock(),a.createElementBlock("span",{key:1,class:"top-input_cleaner","data-top-icon":"",onClick:a.withModifiers(s,["prevent"])})):a.createCommentVNode("",!0),e.captionType!==""?(a.openBlock(),a.createElementBlock("span",Ci,[e.captionType==="top"?a.renderSlot(l.$slots,"caption",{key:0},()=>[a.createTextVNode(a.toDisplayString(e.title),1)]):(a.openBlock(),a.createElementBlock(a.Fragment,{key:1},[a.createTextVNode(a.toDisplayString(e.title),1)],64))])):a.createCommentVNode("",!0),a.renderSlot(l.$slots,"default")],10,Ei)}}}),Oi=["value"],ki=!!document.documentElement.ontouchstart&&!!document.createElement("input").showPicker;let Ot=e=>{};const ji=a.defineComponent({__name:"inputDate",props:{modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},styling:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{default:""},addCleaner:{type:Boolean},title:{},captionType:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=H(),r=e,i=t;a.onUnmounted(()=>{s&&s.datepicker("destroy")});const o=a.ref();let s;const l=a.computed({get(){return j(r.modelValue,2,void 0,"0000-00-00")},set(f){f=Te(f,"0000-00-00"),i("update:modelValue",f)}});let c=f=>{Ot(f)},d=f=>{const g=Te(f.target.value),h=j(g);if(!h||h===n.Common.Not_date||f.target.value!==h){f.target.value=l.value;return}l.value=f.target.value};async function m(f){const g=await new Promise((h,w)=>W(["./datepicker-O_SK-Dz4.amd"],h,w));Ot=g.oninput,s=g.connectDatepicker(f.target,{onSelect:()=>d(f)}),s&&s.datepicker("show")}return(f,g)=>a.unref(ki)?(a.openBlock(),a.createBlock(Se,a.mergeProps({key:0},f.$props,{modelValue:l.value,readonly:"",onClick:g[1]||(g[1]=h=>o.value.showPicker())}),{default:a.withCtx(()=>[a.createElementVNode("input",{ref_key:"el",ref:o,type:"date",class:"top-input_input-date",value:e.modelValue,onChange:g[0]||(g[0]=h=>l.value=h.target.value),tabindex:"-1"},null,40,Oi)]),_:1},16,["modelValue"])):(a.openBlock(),a.createBlock(Se,a.mergeProps({key:1},f.$props,{modelValue:l.value,"onUpdate:modelValue":g[2]||(g[2]=h=>h===""?l.value="":""),onInput:a.unref(c),onFocusOnce:m,onChange:a.unref(d),modificator:"datepicker"}),null,16,["modelValue","onInput","onChange"]))}}),Pi={class:"top-inputRange"},Ai=a.defineComponent({__name:"inputRange",setup(e){return(t,n)=>(a.openBlock(),a.createElementBlock("div",Pi,[a.renderSlot(t.$slots,"from"),n[0]||(n[0]=a.createElementVNode("span",{class:"top-inputRange_dash"}," — ",-1)),a.renderSlot(t.$slots,"to")]))}}),Di=["name","value","disabled"],Mi=a.defineComponent({__name:"radio",props:{modelValue:{},value:{},name:{},description:{},disabled:{type:Boolean},isError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=a.computed({get(){return n.modelValue},set(o){r("update:modelValue",o)}});return(o,s)=>{const l=a.resolveDirective("top-focus");return a.openBlock(),a.createElementBlock("label",{class:a.normalizeClass({"top-forms-optionWrapper":!0,"top-radio":!0,["top-radio_"+e.name]:e.name!=="","top-disabled":e.disabled,"top-error":e.isError&&!e.disabled})},[a.withDirectives(a.createElementVNode("input",{type:"radio",class:a.normalizeClass({"top-forms-focusable":!e.disabled,"top-forms-option":!0,"top-radio_input":!0,"top-error":e.isError&&!e.disabled}),"onUpdate:modelValue":s[0]||(s[0]=c=>i.value=c),name:e.name,value:e.value,disabled:e.disabled},null,10,Di),[[l,e.isError,void 0,{onupdate:!0}],[a.vModelRadio,i.value]]),o.$slots.default?(a.openBlock(),a.createBlock(ee,{key:0,description:e.description,disabled:e.disabled},{default:a.withCtx(()=>[a.renderSlot(o.$slots,"default")]),_:3},8,["description","disabled"])):a.createCommentVNode("",!0)],2)}}}),Ni=["name","value","disabled"],Vi=a.defineComponent({__name:"switcher",props:{modelValue:{type:[Boolean,Array,Set]},name:{},value:{},description:{},disabled:{type:Boolean},isError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=a.computed({get(){return n.modelValue},set(o){r("update:modelValue",o)}});return(o,s)=>{const l=a.resolveDirective("top-focus");return a.openBlock(),a.createElementBlock("label",{class:a.normalizeClass({"top-forms-optionWrapper":!0,"top-checkboxSwitcher":!0,"top-disabled":e.disabled,"top-error":e.isError&&!e.disabled})},[a.withDirectives(a.createElementVNode("input",{type:"checkbox",class:a.normalizeClass({"top-forms-focusable":!e.disabled,"top-forms-option":!0,"top-checkboxSwitcher_input":!0,"top-error":e.isError&&!e.disabled}),"onUpdate:modelValue":s[0]||(s[0]=c=>i.value=c),name:e.name,value:e.value,disabled:e.disabled},null,10,Ni),[[l,e.isError,void 0,{onupdate:!0}],[a.vModelCheckbox,i.value]]),o.$slots.default?(a.openBlock(),a.createBlock(ee,{key:0,description:e.description,disabled:e.disabled},{default:a.withCtx(()=>[a.renderSlot(o.$slots,"default")]),_:3},8,["description","disabled"])):a.createCommentVNode("",!0)],2)}}}),Ii=["name","placeholder","disabled","readonly","rows","maxlength"],Li={key:0,class:"top-textarea_pseudoContent"},zi=a.defineComponent({inheritAttrs:!1,__name:"textarea",props:{modelValue:{},name:{},placeholder:{},styling:{default:""},rows:{default:5},minHeight:{default:120},expandable:{type:Boolean},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{},maxLength:{}},emits:["update:modelValue"],setup(e,{emit:t}){a.useCssVars(o=>({v20ffae33:o.minHeight+"px"}));const n=e,r=t,i=a.computed({get(){return n.modelValue},set(o){r("update:modelValue",o)}});return(o,s)=>{const l=a.resolveDirective("top-focus"),c=a.resolveDirective("top-tooltip");return a.openBlock(),a.createElementBlock("label",{class:a.normalizeClass({"top-textarea":!0,["top-textarea-"+e.name]:e.name,"top-disabled":e.disabled})},[a.withDirectives(a.createElementVNode("textarea",a.mergeProps({type:"text",class:{"top-forms-focusable":!e.disabled,"top-textarea_textarea":!0,"top-textarea_textarea-expandable":e.expandable,"top-error":e.isError,[`top-style_${e.styling}`]:!!e.styling},autocomplete:"off_always",name:e.name,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,rows:e.expandable?void 0:e.rows,maxlength:e.maxLength},o.$attrs,{"onUpdate:modelValue":s[0]||(s[0]=d=>i.value=d)}),null,16,Ii),[[l,e.isError,void 0,{onupdate:!0}],[a.vModelText,i.value]]),e.expandable?(a.openBlock(),a.createElementBlock("span",Li,a.toDisplayString(i.value+" "),1)):a.createCommentVNode("",!0),e.hint?a.withDirectives((a.openBlock(),a.createBlock(Et,{key:1,class:"top-textarea_hint",hint:e.hint},null,8,["hint"])),[[c]]):a.createCommentVNode("",!0),e.maxLength?(a.openBlock(),a.createElementBlock("div",{key:2,class:a.normalizeClass(["top-textarea_counter",{"top-textarea_counter-max":i.value.length>=e.maxLength}])},a.toDisplayString(i.value.length)+"/"+a.toDisplayString(e.maxLength),3)):a.createCommentVNode("",!0)],2)}}}),Wi=["data-value","data-top-icon","data-top-icon2"],xi=["name","disabled"],Fi=["label","disabled"],_i=["value","selected","disabled"],Ri=["value","selected","disabled"],Ui={key:1,class:"top-formsCaption"},Hi=a.defineComponent({__name:"select",props:a.mergeModels({modelValue:{type:[String,Number,Boolean]},options:{},name:{},disabled:{type:Boolean},icon:{},size:{default:"s"},styling:{default:""},addChanger:{type:Boolean},title:{},isError:{type:Boolean}},{modelValue:{type:[String,Number,Boolean],required:!0},modelModifiers:{}}),emits:a.mergeModels(["update:modelValue"],["update:modelValue"]),setup(e){const t=e,n=a.useModel(e,"modelValue"),r=a.computed(()=>{const c=new Map;return t.options.forEach((d,m)=>{if(typeof d=="string"&&(d=o(m,d)),d.children){const f=new Map;d.children.forEach((g,h)=>{typeof g=="string"&&(g=o(h,g)),f.set(g.value,g)}),d={...d},d.children=f,c.set(d.value,d)}else c.set(d.value,d)}),c}),i=a.computed(()=>{const c=new Map;return r.value.forEach(d=>{if(!d.disabled){if(d.children){d.children.forEach(m=>{m.disabled||c.set(m.value,m)});return}c.set(d.value,d)}}),c}),o=(c,d)=>({value:c,title:d});a.watch([()=>t.modelValue,i],()=>{(n.value===null||n.value===void 0)&&i.value.size&&(console.warn("Пожалуйста, не передавайте в компонент Select значения null и undefined"),n.value=i.value.keys().next().value)},{immediate:!0});const s=a.computed(()=>i.value.get(n.value)?.icon),l=()=>{const c=[...i.value.keys()],m=(c.indexOf(n.value)+1)%c.length;n.value=c[m]};return(c,d)=>{const m=a.resolveDirective("top-focus");return a.openBlock(),a.createElementBlock("label",{class:a.normalizeClass({"top-select":!0,["top-select-"+e.name]:e.name,["top-size_"+e.size]:!0,"top-formsCaptionWrapper":!!(e.title||c.$slots.caption),"top-select-error":e.isError,"top-disabled":e.disabled}),"data-value":n.value,"data-top-icon":e.icon,"data-top-icon2":s.value},[a.withDirectives((a.openBlock(),a.createElementBlock("select",{class:a.normalizeClass({"top-forms-focusable":!e.disabled,"top-select_select":!0,"top-as-selector":!0,"top-error":e.isError,[`top-style_${e.styling}`]:!!e.styling}),name:e.name,disabled:e.disabled,"onUpdate:modelValue":d[0]||(d[0]=f=>n.value=f)},[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(r.value,([f,g])=>(a.openBlock(),a.createElementBlock(a.Fragment,null,[g.children?(a.openBlock(),a.createElementBlock("optgroup",{key:"group_"+f,label:g.title,disabled:g.disabled},[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(g.children,([h,w])=>(a.openBlock(),a.createElementBlock("option",{key:String(h),value:h,selected:h===n.value,disabled:w.disabled},a.toDisplayString(w.title),9,_i))),128))],8,Fi)):(a.openBlock(),a.createElementBlock("option",{key:f?String(f):void 0,value:f,selected:f===n.value,disabled:g.disabled},a.toDisplayString(g.title),9,Ri))],64))),256))],10,xi)),[[m,e.isError,void 0,{onupdate:!0}],[a.vModelSelect,n.value]]),e.addChanger&&i.value.size&&!e.disabled?(a.openBlock(),a.createElementBlock("span",{key:0,class:"top-changer",onClick:l})):a.createCommentVNode("",!0),e.title||c.$slots.caption?(a.openBlock(),a.createElementBlock("span",Ui,[a.renderSlot(c.$slots,"caption",{},()=>[a.createTextVNode(a.toDisplayString(e.title),1)])])):a.createCommentVNode("",!0)],10,Wi)}}}),Gi=a.defineComponent({__name:"preloader",props:{type:{}},setup(e){return(t,n)=>(a.openBlock(),a.createElementBlock("div",{class:a.normalizeClass({["top-preloader-"+e.type]:!0})},[e.type==="circles"?(a.openBlock(),a.createElementBlock(a.Fragment,{key:0},a.renderList([1,2,3],r=>a.createElementVNode("i")),64)):a.createCommentVNode("",!0)],2))}});u.Core=p,u.Events=St,u.TopLoadbar=Ct,u._export_sfc=Bt,u._sfc_main=Se,u._sfc_main$1=mi,u._sfc_main$10=Hi,u._sfc_main$11=Vi,u._sfc_main$12=Gi,u._sfc_main$13=hi,u._sfc_main$2=Et,u._sfc_main$3=zi,u._sfc_main$4=vi,u._sfc_main$5=Mi,u._sfc_main$6=di,u._sfc_main$7=ee,u._sfc_main$8=ji,u._sfc_main$9=Ai,u.cloneDeep=wo,u.dateFormat=j,u.dateToString=ai,u.dateUnformat=Te,u.debounce=ae,u.genDate=$e,u.genDateMoscow=ii,u.genUserDate=oi,u.get$scroll=Nt,u.getCommandKeyLabel=Dt,u.getDayOfWeek=ni,u.getElsScroll=Vt,u.getOS=je,u.getOSAsync=It,u.getScrollTop=Mt,u.i18n=ei,u.isApp=Oe,u.isMacOS=ke,u.isMobile=Ce,u.isRetina=Be,u.isSafari=At,u.memoize=be,u.merge=Ko,u.stringToDate=ri,u.throttle=So,u.useI18n=H,u.useI18nLang=ti}));
3
+ //# sourceMappingURL=forms-4D_EVI46.amd.js.map