@topvisor/ui 1.4.0-TopGroupSelector.7 → 1.4.0-TopGroupSelector.9

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 (96) hide show
  1. package/.chunks/{core-DVQVVUiP.es.js → core-BL-38XF7.es.js} +4 -4
  2. package/.chunks/{core-DVQVVUiP.es.js.map → core-BL-38XF7.es.js.map} +1 -1
  3. package/.chunks/{core-B9TwJi3h.amd.js → core-BsPx05H9.amd.js} +2 -2
  4. package/.chunks/{core-B9TwJi3h.amd.js.map → core-BsPx05H9.amd.js.map} +1 -1
  5. package/.chunks/{datepicker-bidhcksv.amd.js → datepicker-3coUsFW2.amd.js} +2 -2
  6. package/.chunks/{datepicker-bidhcksv.amd.js.map → datepicker-3coUsFW2.amd.js.map} +1 -1
  7. package/.chunks/{datepicker-CrASsJeF.es.js → datepicker-D1Hw3a3o.es.js} +2 -2
  8. package/.chunks/{datepicker-CrASsJeF.es.js.map → datepicker-D1Hw3a3o.es.js.map} +1 -1
  9. package/.chunks/{dialog_regionSelectorRegions-DJu5Y1WK.es.js → dialog_regionSelectorRegions-1UVhgK2f.es.js} +4 -4
  10. package/.chunks/{dialog_regionSelectorRegions-DJu5Y1WK.es.js.map → dialog_regionSelectorRegions-1UVhgK2f.es.js.map} +1 -1
  11. package/.chunks/{dialog_regionSelectorRegions-Dc-YGZ0l.amd.js → dialog_regionSelectorRegions-CZ8IX7la.amd.js} +2 -2
  12. package/.chunks/{dialog_regionSelectorRegions-Dc-YGZ0l.amd.js.map → dialog_regionSelectorRegions-CZ8IX7la.amd.js.map} +1 -1
  13. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BP6GFkkz.es.js → dialogs.vue_vue_type_script_setup_true_lang-DRbTG0vh.es.js} +2 -2
  14. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BP6GFkkz.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-DRbTG0vh.es.js.map} +1 -1
  15. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang--Xstly2G.amd.js → dialogs.vue_vue_type_script_setup_true_lang-Dq9kWWMg.amd.js} +2 -2
  16. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang--Xstly2G.amd.js.map → dialogs.vue_vue_type_script_setup_true_lang-Dq9kWWMg.amd.js.map} +1 -1
  17. package/.chunks/{forms-Cwv0JCi5.es.js → forms-BseC3Ftz.es.js} +5 -5
  18. package/.chunks/{forms-Cwv0JCi5.es.js.map → forms-BseC3Ftz.es.js.map} +1 -1
  19. package/.chunks/{forms--2-YQeWM.amd.js → forms-CUSCBQu3.amd.js} +3 -3
  20. package/.chunks/{forms--2-YQeWM.amd.js.map → forms-CUSCBQu3.amd.js.map} +1 -1
  21. package/.chunks/{notice-BCHrf2v6.es.js → notice-Cl3ZgiHm.es.js} +2 -2
  22. package/.chunks/{notice-BCHrf2v6.es.js.map → notice-Cl3ZgiHm.es.js.map} +1 -1
  23. package/.chunks/{notice-D1KO_E3H.amd.js → notice-DwjipV21.amd.js} +2 -2
  24. package/.chunks/{notice-D1KO_E3H.amd.js.map → notice-DwjipV21.amd.js.map} +1 -1
  25. package/.chunks/{page.vue_vue_type_script_setup_true_lang-DNs0udwC.amd.js → page.vue_vue_type_script_setup_true_lang-CjIiZU-D.amd.js} +2 -2
  26. package/.chunks/{page.vue_vue_type_script_setup_true_lang-DNs0udwC.amd.js.map → page.vue_vue_type_script_setup_true_lang-CjIiZU-D.amd.js.map} +1 -1
  27. package/.chunks/{page.vue_vue_type_script_setup_true_lang-D_ocBGzt.es.js → page.vue_vue_type_script_setup_true_lang-CpRJQFD1.es.js} +4 -4
  28. package/.chunks/{page.vue_vue_type_script_setup_true_lang-D_ocBGzt.es.js.map → page.vue_vue_type_script_setup_true_lang-CpRJQFD1.es.js.map} +1 -1
  29. package/.chunks/{policy.vue_vue_type_style_index_0_lang-b4Vb3SlQ.es.js → policy.vue_vue_type_style_index_0_lang-BBDJEs5Q.es.js} +4 -4
  30. package/.chunks/{policy.vue_vue_type_style_index_0_lang-b4Vb3SlQ.es.js.map → policy.vue_vue_type_style_index_0_lang-BBDJEs5Q.es.js.map} +1 -1
  31. package/.chunks/{policy.vue_vue_type_style_index_0_lang-BfL6Mj6K.amd.js → policy.vue_vue_type_style_index_0_lang-DJOaMdBm.amd.js} +2 -2
  32. package/.chunks/{policy.vue_vue_type_style_index_0_lang-BfL6Mj6K.amd.js.map → policy.vue_vue_type_style_index_0_lang-DJOaMdBm.amd.js.map} +1 -1
  33. package/.chunks/{popup-c8qgGOCv.amd.js → popup-DRuyYFGB.amd.js} +2 -2
  34. package/.chunks/popup-DRuyYFGB.amd.js.map +1 -0
  35. package/.chunks/{popup-DJMBWRtl.es.js → popup-Jw_Yyg3U.es.js} +99 -97
  36. package/.chunks/popup-Jw_Yyg3U.es.js.map +1 -0
  37. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-Bp_-W068.es.js → popupHint.vue_vue_type_style_index_0_lang-DD59yF6H.es.js} +2 -2
  38. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-Bp_-W068.es.js.map → popupHint.vue_vue_type_style_index_0_lang-DD59yF6H.es.js.map} +1 -1
  39. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-D42xEF-j.amd.js → popupHint.vue_vue_type_style_index_0_lang-DtiT6NE4.amd.js} +2 -2
  40. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-D42xEF-j.amd.js.map → popupHint.vue_vue_type_style_index_0_lang-DtiT6NE4.amd.js.map} +1 -1
  41. package/.chunks/{utils-C6nWu0aQ.amd.js → utils-CzHUG_xz.amd.js} +2 -2
  42. package/.chunks/{utils-C6nWu0aQ.amd.js.map → utils-CzHUG_xz.amd.js.map} +1 -1
  43. package/.chunks/{utils-DHyy_M2n.amd.js → utils-D9nYQabE.amd.js} +2 -2
  44. package/.chunks/{utils-DHyy_M2n.amd.js.map → utils-D9nYQabE.amd.js.map} +1 -1
  45. package/.chunks/{utils-Bu-TI6uw.es.js → utils-Q69SXlnV.es.js} +3 -3
  46. package/.chunks/{utils-Bu-TI6uw.es.js.map → utils-Q69SXlnV.es.js.map} +1 -1
  47. package/.chunks/{utils-cls72V1c.es.js → utils-YrUExsH7.es.js} +2 -2
  48. package/.chunks/{utils-cls72V1c.es.js.map → utils-YrUExsH7.es.js.map} +1 -1
  49. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-HbtV9agA.es.js → widgetInput.vue_vue_type_script_setup_true_lang-CDkeKVqY.es.js} +2 -2
  50. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-HbtV9agA.es.js.map → widgetInput.vue_vue_type_script_setup_true_lang-CDkeKVqY.es.js.map} +1 -1
  51. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-B3soLr2U.amd.js → widgetInput.vue_vue_type_script_setup_true_lang-CkE912ll.amd.js} +2 -2
  52. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-B3soLr2U.amd.js.map → widgetInput.vue_vue_type_script_setup_true_lang-CkE912ll.amd.js.map} +1 -1
  53. package/charts/charts.amd.js +1 -1
  54. package/charts/charts.js +1 -1
  55. package/core/app.amd.js +1 -1
  56. package/core/app.js +5 -5
  57. package/dialog/dialog.amd.js +1 -1
  58. package/dialog/dialog.js +2 -2
  59. package/forms/forms.amd.js +1 -1
  60. package/forms/forms.js +1 -1
  61. package/formsExt/formsExt.amd.js +1 -1
  62. package/formsExt/formsExt.js +2 -2
  63. package/layout/layout.amd.js +1 -1
  64. package/layout/layout.js +1 -1
  65. package/package.json +1 -1
  66. package/popup/popup.amd.js +1 -1
  67. package/popup/popup.js +4 -4
  68. package/popup/worker.amd.js +1 -1
  69. package/popup/worker.js +2 -2
  70. package/project/project.amd.js +1 -1
  71. package/project/project.amd.js.map +1 -1
  72. package/project/project.js +367 -353
  73. package/project/project.js.map +1 -1
  74. package/src/components/popup/lib/popup.d.ts +1 -1
  75. package/src/components/project/groupSelector/groups/groups.vue.d.ts +1 -0
  76. package/src/components/project/groupSelector/groups/types.d.ts +1 -0
  77. package/src/components/project/groupSelector/groups/utils.d.ts +1 -1
  78. package/src/components/project/groupSelector/types.d.ts +2 -2
  79. package/tabsView/tabsView.amd.js +1 -1
  80. package/tabsView/tabsView.js +2 -2
  81. package/utils/clipboard.amd.js +1 -1
  82. package/utils/clipboard.js +1 -1
  83. package/utils/date.amd.js +1 -1
  84. package/utils/date.js +1 -1
  85. package/utils/device.amd.js +1 -1
  86. package/utils/device.js +1 -1
  87. package/utils/lodash.amd.js +1 -1
  88. package/utils/lodash.js +1 -1
  89. package/utils/price.amd.js +1 -1
  90. package/utils/price.js +1 -1
  91. package/utils/searchers.amd.js +1 -1
  92. package/utils/searchers.js +3 -3
  93. package/utils/string.amd.js +1 -1
  94. package/utils/string.js +1 -1
  95. package/.chunks/popup-DJMBWRtl.es.js.map +0 -1
  96. package/.chunks/popup-c8qgGOCv.amd.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils-Bu-TI6uw.es.js","sources":["../../src/storybook/jquery.ts","../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"sourcesContent":["/**\n * см. /.storybook/preview-head.html\n */\nexport default $;\n","import { TopDialogUtils } from './utils';\nimport { TopDialogWorker } from './worker';\nimport { isVisible, querySelectorAllArray, querySelectorVisible } from '@/core/utils/dom';\nimport { historySetState } from '@/core/utils/route';\nimport type { ElTopDialog, ElTopDialogWrapper } from '@/components/dialog/lib/types';\n\nlet inited = false;\n\n/**\n * Инициализация глобальных событий для диалоговых окон\n *\n * Производится один раз при подключении диалогового окна\n *\n * События не размонтируются\n */\nexport const initDialogGlobalEvents = () => {\n\tif (inited) return;\n\tinited = true;\n\n\t/**\n\t * Закрытие диалога по Esc\n\t */\n\tdocument.addEventListener('keydown', (e) => {\n\t\tif (e.key !== 'Escape') return;\n\t\tif (!e.target || !(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target;\n\n\t\t// событие произошло вне диалогового окна\n\t\tif (!el.closest('.ui-dialog')) return;\n\n\t\tif (el.contentEditable === 'true' || el.contentEditable === 'plaintext-only') return;\n\n\t\t// не закрывать окно при открытом TopPopup\n\t\tif (querySelectorVisible(document.documentElement, '.top-popup-wrapper')) return;\n\n\t\t// не закрывать окно при работе с jquery autocomplete\n\t\tif (el.classList.contains('autocomplete')) return;\n\n\t\t// не закрывать окно при открытом fancybox\n\t\tif (querySelectorVisible(document.documentElement, '.fancybox-container')) return;\n\n\t\tconst elDialogs = querySelectorAllArray<ElTopDialog>(document, '.ui-dialog-content').filter((elDialog) => {\n\t\t\treturn isVisible(elDialog);\n\t\t});\n\n\t\t$(elDialogs[elDialogs.length - 1]).dialog('close');\n\t});\n\n\t/**\n\t * Закрытие диалога по кнопке закрыть\n\t */\n\tdocument.addEventListener('click', (e) => {\n\t\t// // навигация без истории\n\t\t// var $dialog = $(this).closest('.ui-dialog-content');\n\t\t// var viewName = $dialog.attr('id');\n\t\t// var pageName = getHash('view-' + viewName);\n\t\t// if (!pageName) {\n\t\t// \ttoPrevPage($dialog);\n\t\t//\n\t\t// \treturn;\n\t\t// }\n\t\t//\n\t\t// // навигация по истории\n\t\t// if (Core.state.isMobile && history.length > 1 && $(this).closest('.modal-layer').length) {\n\t\t// \tvar href = location.href;\n\t\t//\n\t\t// \thistory.go(-1);\n\t\t//\n\t\t// \tsetTimeout(() => {\n\t\t// \t\t// это первая страница в истории вкладки браузера\n\t\t// \t\tif (href === location.href) $(e.target).closest('.ui-dialog-content').dialog('close');\n\t\t// \t});\n\t\t// } else {\n\t\t// \t$(this).closest('.ui-dialog-content').dialog('close');\n\t\t// }\n\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target.closest('[data-action=\"top-dialog-close\"]') as HTMLElement | null;\n\t\tif (!el) return;\n\n\t\te.preventDefault();\n\n\t\tconst elDialog = el.closest<ElTopDialog>('.ui-dialog-content');\n\t\tif (!elDialog) return;\n\n\t\t// если к кнопке привязана ссылка, диалоговое окно не нужно закрывать\n\t\tconst toView = el.dataset.toView;\n\n\t\tif (toView == 'toPrevPage()') {\n\t\t\tTopDialogUtils.toPrevPage(elDialog);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (toView) {\n\t\t\tconst viewNameAndPageLink = toView.split('-');\n\t\t\tconst viewName = viewNameAndPageLink.shift();\n\t\t\tconst pageLink = viewNameAndPageLink.join('-');\n\n\t\t\tif (!viewName) return;\n\n\t\t\tconst elDialog = TopDialogUtils.getElDialogById(viewName);\n\t\t\tif (!elDialog) return;\n\n\t\t\tconst elToPages = querySelectorAllArray(elDialog, `[data-view-page=\"${pageLink}\"]`);\n\t\t\tif (!elToPages) return;\n\n\t\t\tif (!isVisible(elToPages[0])) {\n\t\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, 'prev');\n\n\t\t\t\t// // не убирает кнопку \"Вперед\" в браузере\n\t\t\t\t// history.replaceState(null, '', hash);\n\t\t\t\t// toViewDirty(toView, 'prev');\n\n\t\t\t\t// // добавляет текущую страницу в историю браузера\n\t\t\t\thistorySetState(false, hash);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst $dialog = $(elDialog);\n\n\t\t$dialog.dialog('close');\n\t});\n\n\t/**\n\t * Все submit должны обрабатываться через js\n\t */\n\tdocument.addEventListener('submit', (e) => {\n\t\tconst elForm = e.target as HTMLElement;\n\n\t\tif (elForm.matches('.modal-body > form') || elForm.matches('.modal-layer-body > form')) {\n\t\t\te.preventDefault();\n\t\t}\n\t});\n\n\t/**\n\t * Выполнение действия по нажатию Enter\n\t *\n\t * @todo Убрать `.searcher`\n\t */\n\tdocument.addEventListener('keypress', (e) => {\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = e.target;\n\n\t\tconst elModalBody = eventTarget.closest('.ui-dialog .modal-body');\n\t\tif (!elModalBody) return;\n\n\t\tconst isInput =\n\t\t\teventTarget.matches('input:not(.searcher), textarea:not(.searcher), select:not(.searcher), button:not(.searcher)')\n\t\t\t|| eventTarget.hasAttribute('contenteditable');\n\t\tif (!isInput) return;\n\n\t\t// if (e.keyCode !== 10 && e.key !== 'ENTER') return;\n\t\tif (e.key !== 'Enter') return;\n\n\t\t// не выполнять submit действий при работе с jquery autocomplete\n\t\tif (eventTarget.classList.contains('autocomplete')) {\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (eventTarget.tagName === 'TEXTAREA') {\n\t\t\tif (!e.ctrlKey && !e.metaKey) return;\n\n\t\t\tconst elForm = eventTarget.closest('form');\n\n\t\t\tif (elForm) {\n\t\t\t\t// Find visible submit buttons\n\t\t\t\tconst elSubmitButton = querySelectorAllArray(elForm, 'button[type=\"submit\"]')\n\t\t\t\t\t.concat(querySelectorAllArray(elForm, 'input[type=\"submit\"]'))\n\t\t\t\t\t.find((elSubmitButton) => {\n\t\t\t\t\t\treturn isVisible(elSubmitButton);\n\t\t\t\t\t});\n\n\t\t\t\telSubmitButton?.click();\n\t\t\t}\n\t\t}\n\t});\n\n\t/**\n\t * Закрытие диалога по клику вне окна\n\t */\n\tdocument.addEventListener('click', function (event) {\n\t\tif (!(event.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = event.target;\n\n\t\tif (!eventTarget.classList.contains('ui-widget-overlay')) return;\n\n\t\tlet elDialogWrapperWithTopZIndex: ElTopDialogWrapper | undefined;\n\t\tlet topZIndex = 0;\n\n\t\tconst elDialogWrapperVisibles = querySelectorAllArray<ElTopDialogWrapper>(document, '.ui-dialog').filter((elDialogWrapper) => {\n\t\t\treturn isVisible(elDialogWrapper);\n\t\t});\n\n\t\telDialogWrapperVisibles.forEach((elDialogWrapper) => {\n\t\t\tconst zIndex = Number(window.getComputedStyle(elDialogWrapper).zIndex);\n\t\t\tif (zIndex < topZIndex) return;\n\n\t\t\telDialogWrapperWithTopZIndex = elDialogWrapper;\n\t\t\ttopZIndex = zIndex;\n\t\t});\n\n\t\tif (elDialogWrapperWithTopZIndex) {\n\t\t\tconst elDialog = elDialogWrapperWithTopZIndex.querySelector('.ui-dialog-content');\n\n\t\t\t$(elDialog).dialog('close');\n\t\t}\n\t});\n\n\twindow.addEventListener('resize', TopDialogUtils.recalcPositions);\n\tTopDialogUtils.recalcPositions();\n};\n","import 'jquery';\nimport { nextTick } from 'vue';\n\nimport Core from '@/core/core/core';\nimport { TopPopupWorker } from '@/components/popup/worker';\nimport { sleep, waitWhile } from '@/core/utils/system';\nimport { setHashs } from '@/core/utils/route';\nimport { connectScrollShadow } from '@/core/utils/scroll';\n\nimport type { ElTopDialog, ElTopDialogBody, ElTopDialogModalLayer, ElTopDialogPage, ElTopDialogWrapper, MoveDirection } from './types';\nimport { TopDialogWorker } from './worker';\nimport { initDialogGlobalEvents } from './utils.globalEvents';\nimport { getDialogWorker } from '../dialog/dialogs/dialogs.vue';\n\nimport css from '../dialog/style/dialog.css?inline';\nimport cssM from '../dialog/style/dialog.m.css?inline';\nimport cssPC from '../dialog/style/dialog.pc.css?inline';\nimport cssModern from '../dialog/style/modern/dialog.css?inline';\nimport cssModernPC from '../dialog/style/modern/dialog.pc.css?inline';\nimport { isVisible, querySelectorAllArray } from '@/core/utils/dom';\n\nCore.insertStyleToPage(css);\nCore.insertStyleToPage(cssM, 'm');\nCore.insertStyleToPage(cssPC, 'pc');\nCore.insertStyleToPage(cssModern);\nCore.insertStyleToPage(cssModernPC, 'pc');\n\nlet timerClearAnimation: NodeJS.Timeout;\nlet isInited = false;\n\n/**\n * Является ли элемент JQuery<HTMLElement>\n */\nconst isElJQuery = (el: JQuery<HTMLElement> | HTMLElement | HTMLElement[]) => {\n\treturn !!el && typeof el === 'object' && 'jquery' in el;\n};\n\nconst init = () => {\n\t$.extend($.ui.dialog.prototype.options, {\n\t\tfocus: (e: any) => {\n\t\t\te.target.focus();\n\n\t\t\t$('[autofocus]', e.target)[0]?.focus();\n\n\t\t\t// setTimeout(function () {\n\t\t\t// \tif ($('[autofocus]', e.target).length) return;\n\t\t\t// \t$('.modal-footer button:first, .modal-body :input:first', e.target).eq(0).focus();\n\t\t\t//\n\t\t\t// \t// fix пропадающего autocomplete при нажатии на scroll в autocomplete\n\t\t\t// \t$(e.target).add($(e.target).closest('.ui-dialog')).removeAttr('tabindex');\n\t\t\t// });\n\t\t},\n\t\tcreate: (e: any) => onCreate(e.target),\n\t\topen: (e: any) => onOpen(e.target),\n\t\tclose: (e: any) => onClose(e.target),\n\t\tmodal: true,\n\t\tresizable: false,\n\t\tcloseOnEscape: false,\n\t\twidth: 'auto',\n\t\tminHeight: 0,\n\t});\n\n\t$.ui.dialog.prototype._focusTabbable = $.noop;\n\n\t$.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop;\n\t$.ui.dialog.prototype._moveToTop = function () {\n\t\tthis._moveToTopOriginal();\n\n\t\tconst $dialog = $(this.element);\n\t\t$dialog.trigger('dialogsMoveToTop', [$dialog]);\n\t};\n\n\tinitDialogGlobalEvents();\n\n\tisInited = true;\n};\n\n/**\n * Получить настройки диалогового окна из Vue компонента\n */\nconst genVueOptions = (elDialog: ElTopDialog) => {\n\tconst options: {\n\t\tmodal?: boolean,\n\t\tposition?: any,\n\t} = {};\n\n\tif (elDialog.dataset?.modal === 'false') options.modal = false;\n\tif (elDialog.dataset?.position) options.position = JSON.parse(elDialog.dataset.position);\n\n\treturn options;\n};\n\nconst getElDialogById = (id: string) => {\n\treturn <ElTopDialog | null>document.getElementById(id);\n};\n\n/**\n * Сменить состояние диалогового окна Vue\n */\nconst updatePageVue = async (dialogId: string, pageName?: string, pageNameNext?: string) => {\n\tif (!dialogId.startsWith('dialog_')) return;\n\n\tconst dialog = getDialogWorker(dialogId);\n\tif (!dialog) return;\n\n\tdialog.isOpened.value = true;\n\tif (pageName !== undefined) dialog.pageActive.value = pageName;\n\tif (pageNameNext !== undefined) dialog.pageActiveNext.value = pageNameNext;\n\n\tawait nextTick();\n\n\tif (pageNameNext) {\n\t\tconst elDialog = getElDialogById(dialogId);\n\t\tif (!elDialog) return;\n\n\t\tconst elNextpages = elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`);\n\n\t\tif (!elNextpages.length) {\n\t\t\tawait waitWhile(() => !elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`).length);\n\t\t}\n\t}\n};\n\n/**\n * Callback for jQuery dialog onCreate\n */\nconst onCreate = (elDialog: ElTopDialog) => {\n\tconst elDialogBody = elDialog.querySelector<ElTopDialogBody>('.modal-body');\n\tif (!elDialogBody) return;\n\n\tconnectScrollShadow(elDialogBody);\n\n\tTopDialogWorker.state.decoratorOnCreate?.(elDialog);\n\n\tinitPopup(elDialog);\n};\n\n/**\n * Инициирование событий TopPopup в диалоговом окне\n */\nconst initPopup = (elDialog: HTMLElement) => {\n\t$(elDialog).on('aftershow.top-menu-popup', '[data-top-popup]', (_e, $popup) => {\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPopup = $popup[0];\n\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPageContents = TopDialogWorker.getPairPage(elPopup);\n\t\telPageContents?.[1]?.prepend(elPopup);\n\t});\n};\n\n/**\n * Callback for jQuery dialog onOpen\n */\nconst onOpen = async (elDialog: ElTopDialog) => {\n\tconst pageName = elDialog.dataset.viewPageActive;\n\n\tconst w1 = window.innerWidth;\n\n\tCore.state.documentClassModificators.set('top-dialog', 'with_dialog');\n\n\tconst w2 = window.innerWidth;\n\n\tconst scrollBarWidth = w2 - w1;\n\tif (document.documentElement.scrollHeight > window.innerHeight) document.querySelector('html')!.style.marginRight = scrollBarWidth + 'px';\n\n\trecalcPositions();\n\n\tconst dialog = getDialogWorker(elDialog.getAttribute('id')!);\n\tdialog?.emit?.('open', pageName);\n};\n\n/**\n * Callback for jQuery dialog onClose\n */\nconst onClose = async (elDialog: ElTopDialog) => {\n\tconst viewName = elDialog.getAttribute('id');\n\tconst pageName = elDialog.dataset.viewPageActive;\n\n\tif (pageName) {\n\t\tconst hashData = {\n\t\t\tvpn: TopDialogWorker.state.viewPageN as number | null,\n\t\t\t['view-' + viewName]: null,\n\t\t};\n\t\thashData['view-' + viewName] = null;\n\n\t\tif (TopDialogWorker.state.viewPageN === 0 || TopDialogWorker.state.viewPageN === 1) {\n\t\t\thashData.vpn = null;\n\t\t}\n\n\t\tsetHashs(hashData, false);\n\t}\n\n\tconst elUiWidgetOverlayVisibles = querySelectorAllArray(document, '.ui-widget-overlay').filter((el) => {\n\t\treturn isVisible(el);\n\t});\n\n\tif (!elUiWidgetOverlayVisibles.length) {\n\t\tCore.state.documentClassModificators.delete('top-dialog');\n\n\t\tdocument.querySelector('html')!.style.marginRight = '';\n\t}\n\n\t$(elDialog).trigger('viewAfterClose', [$(elDialog)]);\n\n\tconst dialog = getDialogWorker(viewName);\n\n\tif (dialog) {\n\t\tdialog.isOpened.value = false;\n\t\tdialog.emit?.('close', pageName);\n\n\t\tif (dialog.onCloseOnce) {\n\t\t\tdialog.onCloseOnce(dialog.props, pageName);\n\t\t\tdialog.onCloseOnce = undefined;\n\t\t}\n\t}\n\n\t// после закрытия диалога может потребоваться пересчет позиций элементов\n\twindow.dispatchEvent(new Event('resize'));\n};\n\n/**\n * Пересчитать положения и размеры открытых диалоговых окон\n */\nconst recalcPositions = () => {\n\tconst elDialogVisibilityes = querySelectorAllArray(document, '.ui-dialog').filter((el) => {\n\t\treturn isVisible(el) && el.querySelector<ElTopDialog>(':scope > .ui-dialog-content');\n\t}).map((el) => {\n\t\treturn el.querySelector<ElTopDialog>(':scope > .ui-dialog-content')!;\n\t});\n\n\telDialogVisibilityes.forEach((elDialog) => {\n\t\tconst elDialogBody = elDialog.querySelector<ElTopDialogBody>('.modal-body');\n\t\tif (!elDialogBody) return;\n\n\t\tconst elDialogWrapper = elDialog.closest('.ui-dialog');\n\n\t\tconst options = genVueOptions(elDialog);\n\n\t\toptions.position ??= { of: window };\n\n\t\tconst $dialog = $(elDialog);\n\t\t$dialog.dialog('option', options);\n\n\t\telDialogWrapper.classList.remove('me-tightly');\n\t\tif ((elDialogWrapper.clientHeight ?? 0) > window.innerHeight) elDialogWrapper.classList.add('me-tightly');\n\t});\n};\n\n/**\n * Переход к view page по неразобранной ссылке в формате: {viewName}-{pageName}[:args]\n */\nconst toViewDirty = async (toViewPageName: string, moveDirection?: MoveDirection) => {\n\tconst regexp = /(\\w+)[=-]([\\w-]+)(?::([\\w.:-]+))?/g;\n\tconst toViewParts = regexp.exec(toViewPageName);\n\tif (toViewParts) {\n\t\tconst viewName = toViewParts[1];\n\t\tconst pageName = toViewParts[2];\n\t\tconst argsString = toViewParts[3];\n\n\t\tlet args: string[] = [];\n\t\tif (argsString) args = argsString.split(':');\n\n\t\tawait toView(viewName, pageName, args, moveDirection);\n\t}\n};\n\n/**\n * Открыть диалоговое окно, возможно указать нужную страницу\n * @param viewNameOrElDialog - id страницы окна или элемент окна\n * @param pageName - имя страницы\n * @param args - аргументы, набор проивзольных параметров, которые могут обрабатываться каждым окном по своему\n * @param moveDirection\n * @param callback - функция, которая будет запущена после октытия страницы\n */\nconst toView = async (\n\tviewNameOrElDialog: ElTopDialog | JQuery<ElTopDialog> | string,\n\tpageName?: string,\n\targs?: string[],\n\tmoveDirection?: MoveDirection,\n\tcallback?: Function,\n) => {\n\tif (!isInited) {\n\t\tawait new Promise<void>((resolve, _reject) => {\n\t\t\tconst timer = setInterval(() => {\n\t\t\t\tif (!isInited) return;\n\n\t\t\t\tclearInterval(timer);\n\n\t\t\t\tresolve();\n\t\t\t}, 10);\n\t\t});\n\t}\n\n\tawait nextTick();\n\n\tlet elDialog: ElTopDialog | null;\n\tif (typeof (viewNameOrElDialog) === 'object') {\n\t\tif (isElJQuery(viewNameOrElDialog)) viewNameOrElDialog = viewNameOrElDialog?.[0]; // todo: убрать после переписки jquery на сайте\n\n\t\telDialog = viewNameOrElDialog;\n\t} else {\n\t\telDialog = getElDialogById(viewNameOrElDialog);\n\t}\n\n\t// Диалоговое окно еще не загружено\n\tif (!elDialog && typeof viewNameOrElDialog === 'string' && TopDialogWorker.state.load) {\n\t\tawait TopDialogWorker.state.load(viewNameOrElDialog);\n\n\t\telDialog = getElDialogById(viewNameOrElDialog);\n\t\tif (!elDialog) {\n\t\t\tthrow new Error('Dialog no exists: ' + viewNameOrElDialog);\n\t\t}\n\t}\n\n\tif (!elDialog) return;\n\n\tawait toViewPage(elDialog, pageName, args, moveDirection);\n\n\tconst $dialog = $(elDialog);\n\n\tif (elDialog?.classList.contains('ui-dialog-content')) {\n\t\t// var zIndexMax = 0;\n\t\t// $.map($('.ui-dialog'), function (el) {\n\t\t// \tvar zIndex = $(el).css('z-index') * 1;\n\t\t// \tif (zIndex > zIndexMax) zIndexMax = zIndex;\n\t\t// });\n\t\t//\n\t\t// if ($dialog.is(':hidden')) $dialog.dialog('open');\n\t\t//\n\t\t// var $dialogWrapper = $dialog.parent();\n\t\t// var $dialogOverlay = $dialogWrapper.next();\n\t\t//\n\t\t// if ($dialogWrapper.css('z-index') * 1 < zIndexMax) {\n\t\t// \t$dialogWrapper.css('z-index', zIndexMax + 2);\n\t\t// \t$dialogOverlay.css('z-index', zIndexMax + 1);\n\t\t// }\n\n\t\t$dialog.dialog('open');\n\t} else {\n\t\tconst options = genVueOptions(elDialog);\n\n\t\t$dialog.dialog(options);\n\t}\n\n\tif (callback) callback($dialog);\n};\n\nconst toViewPage = async (elDialog: ElTopDialog | JQuery<ElTopDialog>, pageName?: string, args?: string[], moveDirection?: MoveDirection) => {\n\t// todo: убрать после переписки jquery на сайте\n\tif (isElJQuery(elDialog)) elDialog = elDialog?.[0];\n\n\tif (pageName === undefined) pageName = elDialog.dataset.viewPageActive;\n\n\tif (pageName !== elDialog.dataset.viewPageActive) {\n\t\tconst stopped = stopAnimations(elDialog);\n\t\tif (stopped) await sleep(100);\n\t}\n\n\tif (args === undefined) args = [];\n\n\tawait updatePageVue(elDialog.getAttribute('id') as string, undefined, pageName);\n\n\tconst elModalLayers = querySelectorAllArray<ElTopDialogModalLayer>(elDialog, '.modal-layer');\n\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elCurrentPage = elModalLayer.querySelector<ElTopDialogPage>(':scope > .active');\n\t\tif (elCurrentPage) {\n\t\t\tacc.push(elCurrentPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst elNextPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elNextPage = elModalLayer.querySelector<ElTopDialogPage>(`:scope > [data-view-page=\"${pageName}\"]`);\n\t\tif (elNextPage) {\n\t\t\tacc.push(elNextPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst argsString = args.join(':');\n\n\tif (moveDirection === undefined) {\n\t\tmoveDirection = 'next';\n\t\tif ((elNextPages[0]?.dataset.order ?? 0) < (elCurrentPages[0]?.dataset.order ?? 0)) moveDirection = 'prev';\n\t}\n\n\tif (!elNextPages.length) return;\n\n\telDialog.dataset.viewPageActive = pageName;\n\n\t// запрашиваемая страница уже открыта\n\tif (elNextPages[0].classList.contains('active')) {\n\t\tif (elNextPages[0].dataset.viewPageArgs !== argsString) {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.dataset.viewPageArgs = argsString;\n\t\t\t});\n\n\t\t\t// dialogs.beforeOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t\t// dialogs.afterOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t}\n\n\t\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\t\treturn;\n\t}\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.dataset.viewPageArgs = argsString;\n\t});\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\tif (elCurrentPage.querySelector('.top-popup-wrapper')) {\n\t\t\tTopPopupWorker.close(elCurrentPage.querySelector('.top-popup-wrapper')!);\n\t\t}\n\t});\n\n\tconst elDialogWrapper = elNextPages[0].closest<ElTopDialogWrapper>('.ui-dialog');\n\n\tif (elDialogWrapper && !isVisible(elDialogWrapper)) moveDirection = 'none';\n\tif (!elCurrentPages.length) moveDirection = 'none';\n\tif (isVisible(elNextPages[0])) moveDirection = 'none';\n\n\tswitch (moveDirection) {\n\t\tcase 'prev': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage.classList.add('right-to-center', 'reverse');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('center-to-left', 'reverse');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t\tcase 'next': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive.nextSibling);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage?.classList.add('center-to-left');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('right-to-center');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\telDialog.setAttribute('view-page-active', pageName);\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\telCurrentPage.classList.remove('active');\n\t});\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.classList.add('active');\n\t});\n\n\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\tif (moveDirection) {\n\t\telDialog.classList.add('i-change-page');\n\n\t\tconst delay = Number(window.getComputedStyle(elNextPages[0]).animationDuration.replace('s', '')) * 1000;\n\n\t\ttimerClearAnimation = setTimeout(function () {\n\t\t\tupdatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\t\tstopAnimations(elDialog);\n\t\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\t}, delay);\n\t} else {\n\t\tawait updatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t}\n};\n\n/**\n * К предыдущему представлению\n */\nconst toPrevPage = (elDialog: ElTopDialog) => {\n\tconst elModalLayers = querySelectorAllArray<ElTopDialogModalLayer>(elDialog, '.modal-layer');\n\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elCurrentPage = elModalLayer.querySelector<ElTopDialogPage>(':scope > .active');\n\n\t\tif (elCurrentPage) {\n\t\t\tacc.push(elCurrentPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst elPrevPages = elCurrentPages.reduce<ElTopDialogPage[]>((acc, elCurrentPage) => {\n\t\tlet elPrevPage = elCurrentPage.previousElementSibling as ElTopDialogPage | null;\n\t\twhile (elPrevPage && !elPrevPage.hasAttribute('data-view-page')) {\n\t\t\telPrevPage = elPrevPage.previousElementSibling as ElTopDialogPage | null;\n\t\t}\n\n\t\tif (elPrevPage) acc.push(elPrevPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tconst prevPageName = (elPrevPages[0])?.dataset.viewPage;\n\n\tif (prevPageName) {\n\t\tvoid toViewPage(elDialog, prevPageName, undefined, 'prev');\n\t} else {\n\t\tconst $dialog = $(elDialog);\n\t\t$dialog.dialog('close');\n\t}\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst beforeOpenViewPageTimers = new Set();\nconst beforeOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\t// группировка цепочки событий\n\t// запрос на открытие страницы может выполняться несколько раз, чаще такое может быть при открытии, загрузке и переходе сразу к нужной странице\n\tconst eventKey = elDialog.getAttribute('id') + elPages[0].dataset.viewPage + pageName + args.join();\n\n\tif (beforeOpenViewPageTimers.has(eventKey)) return;\n\tbeforeOpenViewPageTimers.add(eventKey);\n\n\tsetTimeout(function () {\n\t\tbeforeOpenViewPageTimers.delete(eventKey);\n\n\t\t$(elDialog).trigger('viewBeforeOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst afterOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\tsetTimeout(function () {\n\t\t$(elDialog).trigger('viewAfterOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Получить состояние: Диалоговое окно находится в состоянии смены страницы\n */\nconst inAnimation = (elDialog: ElTopDialog | JQuery<ElTopDialog>) => {\n\tif (isElJQuery(elDialog)) elDialog = elDialog?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elDialog.classList.contains('i-change-page');\n};\n\n/**\n * Остановить анимацию смены страницы\n *\n * @returns Вернет true, если анимация производилась и была остановлена\n */\nconst stopAnimations = (elDialog: ElTopDialog) => {\n\tif (!inAnimation(elDialog)) return false;\n\n\tclearTimeout(timerClearAnimation);\n\n\tconst elModalLayers = querySelectorAllArray(elDialog, '.modal-layer');\n\n\tconst pageName = elDialog.dataset.viewPageActive;\n\telDialog.classList.remove('i-change-page');\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelectorAll(':scope > [data-view-page]').forEach((el) => {\n\t\t\tel.classList.remove('center-to-left', 'right-to-center', 'reverse', 'active');\n\t\t});\n\t});\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelector(`:scope > [data-view-page=\"${pageName}\"]`)?.classList.add('active');\n\t});\n\n\treturn true;\n};\n\n/**\n * Закрыть диалоговое окно\n */\nconst close = function (dialogId: string) {\n\tconst elDialog = getElDialogById(dialogId);\n\tif (!elDialog) return;\n\n\tconst $dialog = $(elDialog);\n\n\tif (!$dialog.dialog('instance')) return;\n\n\t$dialog.dialog('close');\n};\n\n/**\n * Управление props.isLoading\n */\nconst setLoading = (elPages: ElTopDialogPage[] | JQuery<ElTopDialogPage>, isLoading: boolean, duration?: number) => {\n\tif (isElJQuery(elPages)) elPages = elPages.toArray(); // todo: убрать после переписки jquery на сайте\n\n\tconst elPagesVisibleds = elPages.reduce<ElTopDialogPage[]>((acc, elPage) => {\n\t\tif (elPage.hasAttribute('data-view-page') && isVisible(elPage)) acc.push(elPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tif (isLoading) {\n\t\tif (duration !== undefined) {\n\t\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', duration + 's');\n\t\t\t});\n\t\t}\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.add('i-load-data');\n\t\t});\n\t} else {\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.remove('i-load-data');\n\t\t});\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', '10s');\n\t\t});\n\t}\n};\n\nconst isLoading = (elPage: ElTopDialogPage | JQuery<ElTopDialogPage>) => {\n\tif (isElJQuery(elPage)) elPage = elPage?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elPage.classList.contains('i-load-data');\n};\n\nexport const TopDialogUtils = {\n\tgetElDialogById,\n\tupdatePageVue,\n\trecalcPositions,\n\ttoViewDirty,\n\ttoView,\n\ttoViewPage,\n\ttoPrevPage,\n\tsetLoading,\n\tisLoading,\n\tinAnimation,\n\tclose,\n};\n\ninit();\n"],"names":["inited","initDialogGlobalEvents","el","querySelectorVisible","elDialogs","querySelectorAllArray","elDialog","isVisible","toView","TopDialogUtils","viewNameAndPageLink","viewName","pageLink","elToPages","hash","TopDialogWorker","historySetState","elForm","eventTarget","elSubmitButton","event","elDialogWrapperWithTopZIndex","topZIndex","elDialogWrapper","zIndex","Core","css","cssM","cssPC","cssModern","cssModernPC","timerClearAnimation","isInited","isElJQuery","init","onCreate","onOpen","onClose","$dialog","genVueOptions","options","getElDialogById","id","updatePageVue","dialogId","pageName","pageNameNext","dialog","getDialogWorker","nextTick","waitWhile","elDialogBody","connectScrollShadow","initPopup","_e","$popup","elPopup","w1","scrollBarWidth","recalcPositions","hashData","setHashs","toViewDirty","toViewPageName","moveDirection","toViewParts","argsString","args","viewNameOrElDialog","callback","resolve","_reject","timer","toViewPage","stopAnimations","sleep","elModalLayers","elCurrentPages","acc","elModalLayer","elCurrentPage","elNextPages","elNextPage","beforeOpenViewPage","afterOpenViewPage","TopPopupWorker","elActive","delay","toPrevPage","prevPageName","elPrevPage","beforeOpenViewPageTimers","elPages","eventKey","inAnimation","close","setLoading","isLoading","duration","elPagesVisibleds","elPage","elPagesVisibled"],"mappings":"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"}
1
+ {"version":3,"file":"utils-Q69SXlnV.es.js","sources":["../../src/storybook/jquery.ts","../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"sourcesContent":["/**\n * см. /.storybook/preview-head.html\n */\nexport default $;\n","import { TopDialogUtils } from './utils';\nimport { TopDialogWorker } from './worker';\nimport { isVisible, querySelectorAllArray, querySelectorVisible } from '@/core/utils/dom';\nimport { historySetState } from '@/core/utils/route';\nimport type { ElTopDialog, ElTopDialogWrapper } from '@/components/dialog/lib/types';\n\nlet inited = false;\n\n/**\n * Инициализация глобальных событий для диалоговых окон\n *\n * Производится один раз при подключении диалогового окна\n *\n * События не размонтируются\n */\nexport const initDialogGlobalEvents = () => {\n\tif (inited) return;\n\tinited = true;\n\n\t/**\n\t * Закрытие диалога по Esc\n\t */\n\tdocument.addEventListener('keydown', (e) => {\n\t\tif (e.key !== 'Escape') return;\n\t\tif (!e.target || !(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target;\n\n\t\t// событие произошло вне диалогового окна\n\t\tif (!el.closest('.ui-dialog')) return;\n\n\t\tif (el.contentEditable === 'true' || el.contentEditable === 'plaintext-only') return;\n\n\t\t// не закрывать окно при открытом TopPopup\n\t\tif (querySelectorVisible(document.documentElement, '.top-popup-wrapper')) return;\n\n\t\t// не закрывать окно при работе с jquery autocomplete\n\t\tif (el.classList.contains('autocomplete')) return;\n\n\t\t// не закрывать окно при открытом fancybox\n\t\tif (querySelectorVisible(document.documentElement, '.fancybox-container')) return;\n\n\t\tconst elDialogs = querySelectorAllArray<ElTopDialog>(document, '.ui-dialog-content').filter((elDialog) => {\n\t\t\treturn isVisible(elDialog);\n\t\t});\n\n\t\t$(elDialogs[elDialogs.length - 1]).dialog('close');\n\t});\n\n\t/**\n\t * Закрытие диалога по кнопке закрыть\n\t */\n\tdocument.addEventListener('click', (e) => {\n\t\t// // навигация без истории\n\t\t// var $dialog = $(this).closest('.ui-dialog-content');\n\t\t// var viewName = $dialog.attr('id');\n\t\t// var pageName = getHash('view-' + viewName);\n\t\t// if (!pageName) {\n\t\t// \ttoPrevPage($dialog);\n\t\t//\n\t\t// \treturn;\n\t\t// }\n\t\t//\n\t\t// // навигация по истории\n\t\t// if (Core.state.isMobile && history.length > 1 && $(this).closest('.modal-layer').length) {\n\t\t// \tvar href = location.href;\n\t\t//\n\t\t// \thistory.go(-1);\n\t\t//\n\t\t// \tsetTimeout(() => {\n\t\t// \t\t// это первая страница в истории вкладки браузера\n\t\t// \t\tif (href === location.href) $(e.target).closest('.ui-dialog-content').dialog('close');\n\t\t// \t});\n\t\t// } else {\n\t\t// \t$(this).closest('.ui-dialog-content').dialog('close');\n\t\t// }\n\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target.closest('[data-action=\"top-dialog-close\"]') as HTMLElement | null;\n\t\tif (!el) return;\n\n\t\te.preventDefault();\n\n\t\tconst elDialog = el.closest<ElTopDialog>('.ui-dialog-content');\n\t\tif (!elDialog) return;\n\n\t\t// если к кнопке привязана ссылка, диалоговое окно не нужно закрывать\n\t\tconst toView = el.dataset.toView;\n\n\t\tif (toView == 'toPrevPage()') {\n\t\t\tTopDialogUtils.toPrevPage(elDialog);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (toView) {\n\t\t\tconst viewNameAndPageLink = toView.split('-');\n\t\t\tconst viewName = viewNameAndPageLink.shift();\n\t\t\tconst pageLink = viewNameAndPageLink.join('-');\n\n\t\t\tif (!viewName) return;\n\n\t\t\tconst elDialog = TopDialogUtils.getElDialogById(viewName);\n\t\t\tif (!elDialog) return;\n\n\t\t\tconst elToPages = querySelectorAllArray(elDialog, `[data-view-page=\"${pageLink}\"]`);\n\t\t\tif (!elToPages) return;\n\n\t\t\tif (!isVisible(elToPages[0])) {\n\t\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, 'prev');\n\n\t\t\t\t// // не убирает кнопку \"Вперед\" в браузере\n\t\t\t\t// history.replaceState(null, '', hash);\n\t\t\t\t// toViewDirty(toView, 'prev');\n\n\t\t\t\t// // добавляет текущую страницу в историю браузера\n\t\t\t\thistorySetState(false, hash);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst $dialog = $(elDialog);\n\n\t\t$dialog.dialog('close');\n\t});\n\n\t/**\n\t * Все submit должны обрабатываться через js\n\t */\n\tdocument.addEventListener('submit', (e) => {\n\t\tconst elForm = e.target as HTMLElement;\n\n\t\tif (elForm.matches('.modal-body > form') || elForm.matches('.modal-layer-body > form')) {\n\t\t\te.preventDefault();\n\t\t}\n\t});\n\n\t/**\n\t * Выполнение действия по нажатию Enter\n\t *\n\t * @todo Убрать `.searcher`\n\t */\n\tdocument.addEventListener('keypress', (e) => {\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = e.target;\n\n\t\tconst elModalBody = eventTarget.closest('.ui-dialog .modal-body');\n\t\tif (!elModalBody) return;\n\n\t\tconst isInput =\n\t\t\teventTarget.matches('input:not(.searcher), textarea:not(.searcher), select:not(.searcher), button:not(.searcher)')\n\t\t\t|| eventTarget.hasAttribute('contenteditable');\n\t\tif (!isInput) return;\n\n\t\t// if (e.keyCode !== 10 && e.key !== 'ENTER') return;\n\t\tif (e.key !== 'Enter') return;\n\n\t\t// не выполнять submit действий при работе с jquery autocomplete\n\t\tif (eventTarget.classList.contains('autocomplete')) {\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (eventTarget.tagName === 'TEXTAREA') {\n\t\t\tif (!e.ctrlKey && !e.metaKey) return;\n\n\t\t\tconst elForm = eventTarget.closest('form');\n\n\t\t\tif (elForm) {\n\t\t\t\t// Find visible submit buttons\n\t\t\t\tconst elSubmitButton = querySelectorAllArray(elForm, 'button[type=\"submit\"]')\n\t\t\t\t\t.concat(querySelectorAllArray(elForm, 'input[type=\"submit\"]'))\n\t\t\t\t\t.find((elSubmitButton) => {\n\t\t\t\t\t\treturn isVisible(elSubmitButton);\n\t\t\t\t\t});\n\n\t\t\t\telSubmitButton?.click();\n\t\t\t}\n\t\t}\n\t});\n\n\t/**\n\t * Закрытие диалога по клику вне окна\n\t */\n\tdocument.addEventListener('click', function (event) {\n\t\tif (!(event.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = event.target;\n\n\t\tif (!eventTarget.classList.contains('ui-widget-overlay')) return;\n\n\t\tlet elDialogWrapperWithTopZIndex: ElTopDialogWrapper | undefined;\n\t\tlet topZIndex = 0;\n\n\t\tconst elDialogWrapperVisibles = querySelectorAllArray<ElTopDialogWrapper>(document, '.ui-dialog').filter((elDialogWrapper) => {\n\t\t\treturn isVisible(elDialogWrapper);\n\t\t});\n\n\t\telDialogWrapperVisibles.forEach((elDialogWrapper) => {\n\t\t\tconst zIndex = Number(window.getComputedStyle(elDialogWrapper).zIndex);\n\t\t\tif (zIndex < topZIndex) return;\n\n\t\t\telDialogWrapperWithTopZIndex = elDialogWrapper;\n\t\t\ttopZIndex = zIndex;\n\t\t});\n\n\t\tif (elDialogWrapperWithTopZIndex) {\n\t\t\tconst elDialog = elDialogWrapperWithTopZIndex.querySelector('.ui-dialog-content');\n\n\t\t\t$(elDialog).dialog('close');\n\t\t}\n\t});\n\n\twindow.addEventListener('resize', TopDialogUtils.recalcPositions);\n\tTopDialogUtils.recalcPositions();\n};\n","import 'jquery';\nimport { nextTick } from 'vue';\n\nimport Core from '@/core/core/core';\nimport { TopPopupWorker } from '@/components/popup/worker';\nimport { sleep, waitWhile } from '@/core/utils/system';\nimport { setHashs } from '@/core/utils/route';\nimport { connectScrollShadow } from '@/core/utils/scroll';\n\nimport type { ElTopDialog, ElTopDialogBody, ElTopDialogModalLayer, ElTopDialogPage, ElTopDialogWrapper, MoveDirection } from './types';\nimport { TopDialogWorker } from './worker';\nimport { initDialogGlobalEvents } from './utils.globalEvents';\nimport { getDialogWorker } from '../dialog/dialogs/dialogs.vue';\n\nimport css from '../dialog/style/dialog.css?inline';\nimport cssM from '../dialog/style/dialog.m.css?inline';\nimport cssPC from '../dialog/style/dialog.pc.css?inline';\nimport cssModern from '../dialog/style/modern/dialog.css?inline';\nimport cssModernPC from '../dialog/style/modern/dialog.pc.css?inline';\nimport { isVisible, querySelectorAllArray } from '@/core/utils/dom';\n\nCore.insertStyleToPage(css);\nCore.insertStyleToPage(cssM, 'm');\nCore.insertStyleToPage(cssPC, 'pc');\nCore.insertStyleToPage(cssModern);\nCore.insertStyleToPage(cssModernPC, 'pc');\n\nlet timerClearAnimation: NodeJS.Timeout;\nlet isInited = false;\n\n/**\n * Является ли элемент JQuery<HTMLElement>\n */\nconst isElJQuery = (el: JQuery<HTMLElement> | HTMLElement | HTMLElement[]) => {\n\treturn !!el && typeof el === 'object' && 'jquery' in el;\n};\n\nconst init = () => {\n\t$.extend($.ui.dialog.prototype.options, {\n\t\tfocus: (e: any) => {\n\t\t\te.target.focus();\n\n\t\t\t$('[autofocus]', e.target)[0]?.focus();\n\n\t\t\t// setTimeout(function () {\n\t\t\t// \tif ($('[autofocus]', e.target).length) return;\n\t\t\t// \t$('.modal-footer button:first, .modal-body :input:first', e.target).eq(0).focus();\n\t\t\t//\n\t\t\t// \t// fix пропадающего autocomplete при нажатии на scroll в autocomplete\n\t\t\t// \t$(e.target).add($(e.target).closest('.ui-dialog')).removeAttr('tabindex');\n\t\t\t// });\n\t\t},\n\t\tcreate: (e: any) => onCreate(e.target),\n\t\topen: (e: any) => onOpen(e.target),\n\t\tclose: (e: any) => onClose(e.target),\n\t\tmodal: true,\n\t\tresizable: false,\n\t\tcloseOnEscape: false,\n\t\twidth: 'auto',\n\t\tminHeight: 0,\n\t});\n\n\t$.ui.dialog.prototype._focusTabbable = $.noop;\n\n\t$.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop;\n\t$.ui.dialog.prototype._moveToTop = function () {\n\t\tthis._moveToTopOriginal();\n\n\t\tconst $dialog = $(this.element);\n\t\t$dialog.trigger('dialogsMoveToTop', [$dialog]);\n\t};\n\n\tinitDialogGlobalEvents();\n\n\tisInited = true;\n};\n\n/**\n * Получить настройки диалогового окна из Vue компонента\n */\nconst genVueOptions = (elDialog: ElTopDialog) => {\n\tconst options: {\n\t\tmodal?: boolean,\n\t\tposition?: any,\n\t} = {};\n\n\tif (elDialog.dataset?.modal === 'false') options.modal = false;\n\tif (elDialog.dataset?.position) options.position = JSON.parse(elDialog.dataset.position);\n\n\treturn options;\n};\n\nconst getElDialogById = (id: string) => {\n\treturn <ElTopDialog | null>document.getElementById(id);\n};\n\n/**\n * Сменить состояние диалогового окна Vue\n */\nconst updatePageVue = async (dialogId: string, pageName?: string, pageNameNext?: string) => {\n\tif (!dialogId.startsWith('dialog_')) return;\n\n\tconst dialog = getDialogWorker(dialogId);\n\tif (!dialog) return;\n\n\tdialog.isOpened.value = true;\n\tif (pageName !== undefined) dialog.pageActive.value = pageName;\n\tif (pageNameNext !== undefined) dialog.pageActiveNext.value = pageNameNext;\n\n\tawait nextTick();\n\n\tif (pageNameNext) {\n\t\tconst elDialog = getElDialogById(dialogId);\n\t\tif (!elDialog) return;\n\n\t\tconst elNextpages = elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`);\n\n\t\tif (!elNextpages.length) {\n\t\t\tawait waitWhile(() => !elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`).length);\n\t\t}\n\t}\n};\n\n/**\n * Callback for jQuery dialog onCreate\n */\nconst onCreate = (elDialog: ElTopDialog) => {\n\tconst elDialogBody = elDialog.querySelector<ElTopDialogBody>('.modal-body');\n\tif (!elDialogBody) return;\n\n\tconnectScrollShadow(elDialogBody);\n\n\tTopDialogWorker.state.decoratorOnCreate?.(elDialog);\n\n\tinitPopup(elDialog);\n};\n\n/**\n * Инициирование событий TopPopup в диалоговом окне\n */\nconst initPopup = (elDialog: HTMLElement) => {\n\t$(elDialog).on('aftershow.top-menu-popup', '[data-top-popup]', (_e, $popup) => {\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPopup = $popup[0];\n\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPageContents = TopDialogWorker.getPairPage(elPopup);\n\t\telPageContents?.[1]?.prepend(elPopup);\n\t});\n};\n\n/**\n * Callback for jQuery dialog onOpen\n */\nconst onOpen = async (elDialog: ElTopDialog) => {\n\tconst pageName = elDialog.dataset.viewPageActive;\n\n\tconst w1 = window.innerWidth;\n\n\tCore.state.documentClassModificators.set('top-dialog', 'with_dialog');\n\n\tconst w2 = window.innerWidth;\n\n\tconst scrollBarWidth = w2 - w1;\n\tif (document.documentElement.scrollHeight > window.innerHeight) document.querySelector('html')!.style.marginRight = scrollBarWidth + 'px';\n\n\trecalcPositions();\n\n\tconst dialog = getDialogWorker(elDialog.getAttribute('id')!);\n\tdialog?.emit?.('open', pageName);\n};\n\n/**\n * Callback for jQuery dialog onClose\n */\nconst onClose = async (elDialog: ElTopDialog) => {\n\tconst viewName = elDialog.getAttribute('id');\n\tconst pageName = elDialog.dataset.viewPageActive;\n\n\tif (pageName) {\n\t\tconst hashData = {\n\t\t\tvpn: TopDialogWorker.state.viewPageN as number | null,\n\t\t\t['view-' + viewName]: null,\n\t\t};\n\t\thashData['view-' + viewName] = null;\n\n\t\tif (TopDialogWorker.state.viewPageN === 0 || TopDialogWorker.state.viewPageN === 1) {\n\t\t\thashData.vpn = null;\n\t\t}\n\n\t\tsetHashs(hashData, false);\n\t}\n\n\tconst elUiWidgetOverlayVisibles = querySelectorAllArray(document, '.ui-widget-overlay').filter((el) => {\n\t\treturn isVisible(el);\n\t});\n\n\tif (!elUiWidgetOverlayVisibles.length) {\n\t\tCore.state.documentClassModificators.delete('top-dialog');\n\n\t\tdocument.querySelector('html')!.style.marginRight = '';\n\t}\n\n\t$(elDialog).trigger('viewAfterClose', [$(elDialog)]);\n\n\tconst dialog = getDialogWorker(viewName);\n\n\tif (dialog) {\n\t\tdialog.isOpened.value = false;\n\t\tdialog.emit?.('close', pageName);\n\n\t\tif (dialog.onCloseOnce) {\n\t\t\tdialog.onCloseOnce(dialog.props, pageName);\n\t\t\tdialog.onCloseOnce = undefined;\n\t\t}\n\t}\n\n\t// после закрытия диалога может потребоваться пересчет позиций элементов\n\twindow.dispatchEvent(new Event('resize'));\n};\n\n/**\n * Пересчитать положения и размеры открытых диалоговых окон\n */\nconst recalcPositions = () => {\n\tconst elDialogVisibilityes = querySelectorAllArray(document, '.ui-dialog').filter((el) => {\n\t\treturn isVisible(el) && el.querySelector<ElTopDialog>(':scope > .ui-dialog-content');\n\t}).map((el) => {\n\t\treturn el.querySelector<ElTopDialog>(':scope > .ui-dialog-content')!;\n\t});\n\n\telDialogVisibilityes.forEach((elDialog) => {\n\t\tconst elDialogBody = elDialog.querySelector<ElTopDialogBody>('.modal-body');\n\t\tif (!elDialogBody) return;\n\n\t\tconst elDialogWrapper = elDialog.closest('.ui-dialog');\n\n\t\tconst options = genVueOptions(elDialog);\n\n\t\toptions.position ??= { of: window };\n\n\t\tconst $dialog = $(elDialog);\n\t\t$dialog.dialog('option', options);\n\n\t\telDialogWrapper.classList.remove('me-tightly');\n\t\tif ((elDialogWrapper.clientHeight ?? 0) > window.innerHeight) elDialogWrapper.classList.add('me-tightly');\n\t});\n};\n\n/**\n * Переход к view page по неразобранной ссылке в формате: {viewName}-{pageName}[:args]\n */\nconst toViewDirty = async (toViewPageName: string, moveDirection?: MoveDirection) => {\n\tconst regexp = /(\\w+)[=-]([\\w-]+)(?::([\\w.:-]+))?/g;\n\tconst toViewParts = regexp.exec(toViewPageName);\n\tif (toViewParts) {\n\t\tconst viewName = toViewParts[1];\n\t\tconst pageName = toViewParts[2];\n\t\tconst argsString = toViewParts[3];\n\n\t\tlet args: string[] = [];\n\t\tif (argsString) args = argsString.split(':');\n\n\t\tawait toView(viewName, pageName, args, moveDirection);\n\t}\n};\n\n/**\n * Открыть диалоговое окно, возможно указать нужную страницу\n * @param viewNameOrElDialog - id страницы окна или элемент окна\n * @param pageName - имя страницы\n * @param args - аргументы, набор проивзольных параметров, которые могут обрабатываться каждым окном по своему\n * @param moveDirection\n * @param callback - функция, которая будет запущена после октытия страницы\n */\nconst toView = async (\n\tviewNameOrElDialog: ElTopDialog | JQuery<ElTopDialog> | string,\n\tpageName?: string,\n\targs?: string[],\n\tmoveDirection?: MoveDirection,\n\tcallback?: Function,\n) => {\n\tif (!isInited) {\n\t\tawait new Promise<void>((resolve, _reject) => {\n\t\t\tconst timer = setInterval(() => {\n\t\t\t\tif (!isInited) return;\n\n\t\t\t\tclearInterval(timer);\n\n\t\t\t\tresolve();\n\t\t\t}, 10);\n\t\t});\n\t}\n\n\tawait nextTick();\n\n\tlet elDialog: ElTopDialog | null;\n\tif (typeof (viewNameOrElDialog) === 'object') {\n\t\tif (isElJQuery(viewNameOrElDialog)) viewNameOrElDialog = viewNameOrElDialog?.[0]; // todo: убрать после переписки jquery на сайте\n\n\t\telDialog = viewNameOrElDialog;\n\t} else {\n\t\telDialog = getElDialogById(viewNameOrElDialog);\n\t}\n\n\t// Диалоговое окно еще не загружено\n\tif (!elDialog && typeof viewNameOrElDialog === 'string' && TopDialogWorker.state.load) {\n\t\tawait TopDialogWorker.state.load(viewNameOrElDialog);\n\n\t\telDialog = getElDialogById(viewNameOrElDialog);\n\t\tif (!elDialog) {\n\t\t\tthrow new Error('Dialog no exists: ' + viewNameOrElDialog);\n\t\t}\n\t}\n\n\tif (!elDialog) return;\n\n\tawait toViewPage(elDialog, pageName, args, moveDirection);\n\n\tconst $dialog = $(elDialog);\n\n\tif (elDialog?.classList.contains('ui-dialog-content')) {\n\t\t// var zIndexMax = 0;\n\t\t// $.map($('.ui-dialog'), function (el) {\n\t\t// \tvar zIndex = $(el).css('z-index') * 1;\n\t\t// \tif (zIndex > zIndexMax) zIndexMax = zIndex;\n\t\t// });\n\t\t//\n\t\t// if ($dialog.is(':hidden')) $dialog.dialog('open');\n\t\t//\n\t\t// var $dialogWrapper = $dialog.parent();\n\t\t// var $dialogOverlay = $dialogWrapper.next();\n\t\t//\n\t\t// if ($dialogWrapper.css('z-index') * 1 < zIndexMax) {\n\t\t// \t$dialogWrapper.css('z-index', zIndexMax + 2);\n\t\t// \t$dialogOverlay.css('z-index', zIndexMax + 1);\n\t\t// }\n\n\t\t$dialog.dialog('open');\n\t} else {\n\t\tconst options = genVueOptions(elDialog);\n\n\t\t$dialog.dialog(options);\n\t}\n\n\tif (callback) callback($dialog);\n};\n\nconst toViewPage = async (elDialog: ElTopDialog | JQuery<ElTopDialog>, pageName?: string, args?: string[], moveDirection?: MoveDirection) => {\n\t// todo: убрать после переписки jquery на сайте\n\tif (isElJQuery(elDialog)) elDialog = elDialog?.[0];\n\n\tif (pageName === undefined) pageName = elDialog.dataset.viewPageActive;\n\n\tif (pageName !== elDialog.dataset.viewPageActive) {\n\t\tconst stopped = stopAnimations(elDialog);\n\t\tif (stopped) await sleep(100);\n\t}\n\n\tif (args === undefined) args = [];\n\n\tawait updatePageVue(elDialog.getAttribute('id') as string, undefined, pageName);\n\n\tconst elModalLayers = querySelectorAllArray<ElTopDialogModalLayer>(elDialog, '.modal-layer');\n\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elCurrentPage = elModalLayer.querySelector<ElTopDialogPage>(':scope > .active');\n\t\tif (elCurrentPage) {\n\t\t\tacc.push(elCurrentPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst elNextPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elNextPage = elModalLayer.querySelector<ElTopDialogPage>(`:scope > [data-view-page=\"${pageName}\"]`);\n\t\tif (elNextPage) {\n\t\t\tacc.push(elNextPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst argsString = args.join(':');\n\n\tif (moveDirection === undefined) {\n\t\tmoveDirection = 'next';\n\t\tif ((elNextPages[0]?.dataset.order ?? 0) < (elCurrentPages[0]?.dataset.order ?? 0)) moveDirection = 'prev';\n\t}\n\n\tif (!elNextPages.length) return;\n\n\telDialog.dataset.viewPageActive = pageName;\n\n\t// запрашиваемая страница уже открыта\n\tif (elNextPages[0].classList.contains('active')) {\n\t\tif (elNextPages[0].dataset.viewPageArgs !== argsString) {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.dataset.viewPageArgs = argsString;\n\t\t\t});\n\n\t\t\t// dialogs.beforeOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t\t// dialogs.afterOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t}\n\n\t\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\t\treturn;\n\t}\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.dataset.viewPageArgs = argsString;\n\t});\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\tif (elCurrentPage.querySelector('.top-popup-wrapper')) {\n\t\t\tTopPopupWorker.close(elCurrentPage.querySelector('.top-popup-wrapper')!);\n\t\t}\n\t});\n\n\tconst elDialogWrapper = elNextPages[0].closest<ElTopDialogWrapper>('.ui-dialog');\n\n\tif (elDialogWrapper && !isVisible(elDialogWrapper)) moveDirection = 'none';\n\tif (!elCurrentPages.length) moveDirection = 'none';\n\tif (isVisible(elNextPages[0])) moveDirection = 'none';\n\n\tswitch (moveDirection) {\n\t\tcase 'prev': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage.classList.add('right-to-center', 'reverse');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('center-to-left', 'reverse');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t\tcase 'next': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive.nextSibling);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage?.classList.add('center-to-left');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('right-to-center');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\telDialog.setAttribute('view-page-active', pageName);\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\telCurrentPage.classList.remove('active');\n\t});\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.classList.add('active');\n\t});\n\n\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\tif (moveDirection) {\n\t\telDialog.classList.add('i-change-page');\n\n\t\tconst delay = Number(window.getComputedStyle(elNextPages[0]).animationDuration.replace('s', '')) * 1000;\n\n\t\ttimerClearAnimation = setTimeout(function () {\n\t\t\tupdatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\t\tstopAnimations(elDialog);\n\t\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\t}, delay);\n\t} else {\n\t\tawait updatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t}\n};\n\n/**\n * К предыдущему представлению\n */\nconst toPrevPage = (elDialog: ElTopDialog) => {\n\tconst elModalLayers = querySelectorAllArray<ElTopDialogModalLayer>(elDialog, '.modal-layer');\n\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elCurrentPage = elModalLayer.querySelector<ElTopDialogPage>(':scope > .active');\n\n\t\tif (elCurrentPage) {\n\t\t\tacc.push(elCurrentPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst elPrevPages = elCurrentPages.reduce<ElTopDialogPage[]>((acc, elCurrentPage) => {\n\t\tlet elPrevPage = elCurrentPage.previousElementSibling as ElTopDialogPage | null;\n\t\twhile (elPrevPage && !elPrevPage.hasAttribute('data-view-page')) {\n\t\t\telPrevPage = elPrevPage.previousElementSibling as ElTopDialogPage | null;\n\t\t}\n\n\t\tif (elPrevPage) acc.push(elPrevPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tconst prevPageName = (elPrevPages[0])?.dataset.viewPage;\n\n\tif (prevPageName) {\n\t\tvoid toViewPage(elDialog, prevPageName, undefined, 'prev');\n\t} else {\n\t\tconst $dialog = $(elDialog);\n\t\t$dialog.dialog('close');\n\t}\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst beforeOpenViewPageTimers = new Set();\nconst beforeOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\t// группировка цепочки событий\n\t// запрос на открытие страницы может выполняться несколько раз, чаще такое может быть при открытии, загрузке и переходе сразу к нужной странице\n\tconst eventKey = elDialog.getAttribute('id') + elPages[0].dataset.viewPage + pageName + args.join();\n\n\tif (beforeOpenViewPageTimers.has(eventKey)) return;\n\tbeforeOpenViewPageTimers.add(eventKey);\n\n\tsetTimeout(function () {\n\t\tbeforeOpenViewPageTimers.delete(eventKey);\n\n\t\t$(elDialog).trigger('viewBeforeOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst afterOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\tsetTimeout(function () {\n\t\t$(elDialog).trigger('viewAfterOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Получить состояние: Диалоговое окно находится в состоянии смены страницы\n */\nconst inAnimation = (elDialog: ElTopDialog | JQuery<ElTopDialog>) => {\n\tif (isElJQuery(elDialog)) elDialog = elDialog?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elDialog.classList.contains('i-change-page');\n};\n\n/**\n * Остановить анимацию смены страницы\n *\n * @returns Вернет true, если анимация производилась и была остановлена\n */\nconst stopAnimations = (elDialog: ElTopDialog) => {\n\tif (!inAnimation(elDialog)) return false;\n\n\tclearTimeout(timerClearAnimation);\n\n\tconst elModalLayers = querySelectorAllArray(elDialog, '.modal-layer');\n\n\tconst pageName = elDialog.dataset.viewPageActive;\n\telDialog.classList.remove('i-change-page');\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelectorAll(':scope > [data-view-page]').forEach((el) => {\n\t\t\tel.classList.remove('center-to-left', 'right-to-center', 'reverse', 'active');\n\t\t});\n\t});\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelector(`:scope > [data-view-page=\"${pageName}\"]`)?.classList.add('active');\n\t});\n\n\treturn true;\n};\n\n/**\n * Закрыть диалоговое окно\n */\nconst close = function (dialogId: string) {\n\tconst elDialog = getElDialogById(dialogId);\n\tif (!elDialog) return;\n\n\tconst $dialog = $(elDialog);\n\n\tif (!$dialog.dialog('instance')) return;\n\n\t$dialog.dialog('close');\n};\n\n/**\n * Управление props.isLoading\n */\nconst setLoading = (elPages: ElTopDialogPage[] | JQuery<ElTopDialogPage>, isLoading: boolean, duration?: number) => {\n\tif (isElJQuery(elPages)) elPages = elPages.toArray(); // todo: убрать после переписки jquery на сайте\n\n\tconst elPagesVisibleds = elPages.reduce<ElTopDialogPage[]>((acc, elPage) => {\n\t\tif (elPage.hasAttribute('data-view-page') && isVisible(elPage)) acc.push(elPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tif (isLoading) {\n\t\tif (duration !== undefined) {\n\t\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', duration + 's');\n\t\t\t});\n\t\t}\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.add('i-load-data');\n\t\t});\n\t} else {\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.remove('i-load-data');\n\t\t});\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', '10s');\n\t\t});\n\t}\n};\n\nconst isLoading = (elPage: ElTopDialogPage | JQuery<ElTopDialogPage>) => {\n\tif (isElJQuery(elPage)) elPage = elPage?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elPage.classList.contains('i-load-data');\n};\n\nexport const TopDialogUtils = {\n\tgetElDialogById,\n\tupdatePageVue,\n\trecalcPositions,\n\ttoViewDirty,\n\ttoView,\n\ttoViewPage,\n\ttoPrevPage,\n\tsetLoading,\n\tisLoading,\n\tinAnimation,\n\tclose,\n};\n\ninit();\n"],"names":["inited","initDialogGlobalEvents","el","querySelectorVisible","elDialogs","querySelectorAllArray","elDialog","isVisible","toView","TopDialogUtils","viewNameAndPageLink","viewName","pageLink","elToPages","hash","TopDialogWorker","historySetState","elForm","eventTarget","elSubmitButton","event","elDialogWrapperWithTopZIndex","topZIndex","elDialogWrapper","zIndex","Core","css","cssM","cssPC","cssModern","cssModernPC","timerClearAnimation","isInited","isElJQuery","init","onCreate","onOpen","onClose","$dialog","genVueOptions","options","getElDialogById","id","updatePageVue","dialogId","pageName","pageNameNext","dialog","getDialogWorker","nextTick","waitWhile","elDialogBody","connectScrollShadow","initPopup","_e","$popup","elPopup","w1","scrollBarWidth","recalcPositions","hashData","setHashs","toViewDirty","toViewPageName","moveDirection","toViewParts","argsString","args","viewNameOrElDialog","callback","resolve","_reject","timer","toViewPage","stopAnimations","sleep","elModalLayers","elCurrentPages","acc","elModalLayer","elCurrentPage","elNextPages","elNextPage","beforeOpenViewPage","afterOpenViewPage","TopPopupWorker","elActive","delay","toPrevPage","prevPageName","elPrevPage","beforeOpenViewPageTimers","elPages","eventKey","inAnimation","close","setLoading","isLoading","duration","elPagesVisibleds","elPage","elPagesVisibled"],"mappings":";;;;;;;;AAGe;ACGf,IAAIA,IAAS;AASN,MAAMC,IAAyB,MAAM;AAC3C,EAAID,MACJA,IAAS,IAKT,SAAS,iBAAiB,WAAW,CAAC,MAAM;AAE3C,QADI,EAAE,QAAQ,YACV,CAAC,EAAE,UAAU,EAAE,EAAE,kBAAkB,aAAc;AAErD,UAAME,IAAK,EAAE;AAcb,QAXI,CAACA,EAAG,QAAQ,YAAY,KAExBA,EAAG,oBAAoB,UAAUA,EAAG,oBAAoB,oBAGxDC,EAAqB,SAAS,iBAAiB,oBAAoB,KAGnED,EAAG,UAAU,SAAS,cAAc,KAGpCC,EAAqB,SAAS,iBAAiB,qBAAqB,EAAG;AAE3E,UAAMC,IAAYC,EAAmC,UAAU,oBAAoB,EAAE,OAAO,CAACC,MACrFC,EAAUD,CAAQ,CACzB;AAED,MAAEF,EAAUA,EAAU,SAAS,CAAC,CAAC,EAAE,OAAO,OAAO;AAAA,EAClD,CAAC,GAKD,SAAS,iBAAiB,SAAS,CAAC,MAAM;AAyBzC,QAAI,EAAE,EAAE,kBAAkB,aAAc;AAExC,UAAMF,IAAK,EAAE,OAAO,QAAQ,kCAAkC;AAC9D,QAAI,CAACA,EAAI;AAET,MAAE,eAAA;AAEF,UAAMI,IAAWJ,EAAG,QAAqB,oBAAoB;AAC7D,QAAI,CAACI,EAAU;AAGf,UAAME,IAASN,EAAG,QAAQ;AAE1B,QAAIM,KAAU,gBAAgB;AAC7B,MAAAC,EAAe,WAAWH,CAAQ;AAElC;AAAA,IACD;AAEA,QAAIE,GAAQ;AACX,YAAME,IAAsBF,EAAO,MAAM,GAAG,GACtCG,IAAWD,EAAoB,MAAA,GAC/BE,IAAWF,EAAoB,KAAK,GAAG;AAE7C,UAAI,CAACC,EAAU;AAEf,YAAML,IAAWG,EAAe,gBAAgBE,CAAQ;AACxD,UAAI,CAACL,EAAU;AAEf,YAAMO,IAAYR,EAAsBC,GAAU,oBAAoBM,CAAQ,IAAI;AAClF,UAAI,CAACC,EAAW;AAEhB,UAAI,CAACN,EAAUM,EAAU,CAAC,CAAC,GAAG;AAC7B,cAAMC,IAAOC,EAAgB,gBAAgBP,GAAQ,MAAM;AAO3D,QAAAQ,EAAgB,IAAOF,CAAI;AAE3B;AAAA,MACD;AAAA,IACD;AAIA,IAFgB,EAAER,CAAQ,EAElB,OAAO,OAAO;AAAA,EACvB,CAAC,GAKD,SAAS,iBAAiB,UAAU,CAAC,MAAM;AAC1C,UAAMW,IAAS,EAAE;AAEjB,KAAIA,EAAO,QAAQ,oBAAoB,KAAKA,EAAO,QAAQ,0BAA0B,MACpF,EAAE,eAAA;AAAA,EAEJ,CAAC,GAOD,SAAS,iBAAiB,YAAY,CAAC,MAAM;AAC5C,QAAI,EAAE,EAAE,kBAAkB,aAAc;AAExC,UAAMC,IAAc,EAAE;AAQtB,QALI,GADgBA,EAAY,QAAQ,wBAAwB,KAM5D,EAFHA,EAAY,QAAQ,6FAA6F,KAC9GA,EAAY,aAAa,iBAAiB,OAI1C,EAAE,QAAQ,SAGd;AAAA,UAAIA,EAAY,UAAU,SAAS,cAAc,GAAG;AACnD,UAAE,eAAA;AAEF;AAAA,MACD;AAEA,UAAIA,EAAY,YAAY,YAAY;AACvC,YAAI,CAAC,EAAE,WAAW,CAAC,EAAE,QAAS;AAE9B,cAAMD,IAASC,EAAY,QAAQ,MAAM;AAEzC,QAAID,KAEoBZ,EAAsBY,GAAQ,uBAAuB,EAC1E,OAAOZ,EAAsBY,GAAQ,sBAAsB,CAAC,EAC5D,KAAK,CAACE,MACCZ,EAAUY,CAAc,CAC/B,GAEc,MAAA;AAAA,MAElB;AAAA;AAAA,EACD,CAAC,GAKD,SAAS,iBAAiB,SAAS,SAAUC,GAAO;AAKnD,QAJI,EAAEA,EAAM,kBAAkB,gBAI1B,CAFgBA,EAAM,OAET,UAAU,SAAS,mBAAmB,EAAG;AAE1D,QAAIC,GACAC,IAAY;AAchB,QAZgCjB,EAA0C,UAAU,YAAY,EAAE,OAAO,CAACkB,MAClGhB,EAAUgB,CAAe,CAChC,EAEuB,QAAQ,CAACA,MAAoB;AACpD,YAAMC,IAAS,OAAO,OAAO,iBAAiBD,CAAe,EAAE,MAAM;AACrE,MAAIC,IAASF,MAEbD,IAA+BE,GAC/BD,IAAYE;AAAA,IACb,CAAC,GAEGH,GAA8B;AACjC,YAAMf,IAAWe,EAA6B,cAAc,oBAAoB;AAEhF,QAAEf,CAAQ,EAAE,OAAO,OAAO;AAAA,IAC3B;AAAA,EACD,CAAC,GAED,OAAO,iBAAiB,UAAUG,EAAe,eAAe,GAChEA,EAAe,gBAAA;AAChB;ACtMAgB,EAAK,kBAAkBC,CAAG;AAC1BD,EAAK,kBAAkBE,GAAM,GAAG;AAChCF,EAAK,kBAAkBG,GAAO,IAAI;AAClCH,EAAK,kBAAkBI,CAAS;AAChCJ,EAAK,kBAAkBK,GAAa,IAAI;AAExC,IAAIC,GACAC,IAAW;AAKf,MAAMC,IAAa,CAAC/B,MACZ,CAAC,CAACA,KAAM,OAAOA,KAAO,YAAY,YAAYA,GAGhDgC,IAAO,MAAM;AAClB,IAAE,OAAO,EAAE,GAAG,OAAO,UAAU,SAAS;AAAA,IACvC,OAAO,CAAC,MAAW;AAClB,QAAE,OAAO,MAAA,GAET,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,GAAG,MAAA;AAAA,IAShC;AAAA,IACA,QAAQ,CAAC,MAAWC,EAAS,EAAE,MAAM;AAAA,IACrC,MAAM,CAAC,MAAWC,EAAO,EAAE,MAAM;AAAA,IACjC,OAAO,CAAC,MAAWC,EAAQ,EAAE,MAAM;AAAA,IACnC,OAAO;AAAA,IACP,WAAW;AAAA,IACX,eAAe;AAAA,IACf,OAAO;AAAA,IACP,WAAW;AAAA,EAAA,CACX,GAED,EAAE,GAAG,OAAO,UAAU,iBAAiB,EAAE,MAEzC,EAAE,GAAG,OAAO,UAAU,qBAAqB,EAAE,GAAG,OAAO,UAAU,YACjE,EAAE,GAAG,OAAO,UAAU,aAAa,WAAY;AAC9C,SAAK,mBAAA;AAEL,UAAMC,IAAU,EAAE,KAAK,OAAO;AAC9B,IAAAA,EAAQ,QAAQ,oBAAoB,CAACA,CAAO,CAAC;AAAA,EAC9C,GAEArC,EAAA,GAEA+B,IAAW;AACZ,GAKMO,IAAgB,CAACjC,MAA0B;AAChD,QAAMkC,IAGF,CAAA;AAEJ,SAAIlC,EAAS,SAAS,UAAU,cAAiB,QAAQ,KACrDA,EAAS,SAAS,aAAUkC,EAAQ,WAAW,KAAK,MAAMlC,EAAS,QAAQ,QAAQ,IAEhFkC;AACR,GAEMC,IAAkB,CAACC,MACG,SAAS,eAAeA,CAAE,GAMhDC,IAAgB,OAAOC,GAAkBC,GAAmBC,MAA0B;AAC3F,MAAI,CAACF,EAAS,WAAW,SAAS,EAAG;AAErC,QAAMG,IAASC,EAAgBJ,CAAQ;AACvC,MAAKG,MAELA,EAAO,SAAS,QAAQ,IACpBF,MAAa,WAAWE,EAAO,WAAW,QAAQF,IAClDC,MAAiB,WAAWC,EAAO,eAAe,QAAQD,IAE9D,MAAMG,EAAA,GAEFH,IAAc;AACjB,UAAMxC,IAAWmC,EAAgBG,CAAQ;AACzC,QAAI,CAACtC,EAAU;AAIf,IAFoBA,EAAS,iBAAiB,oBAAoBwC,CAAY,IAAI,EAEjE,UAChB,MAAMI,EAAU,MAAM,CAAC5C,EAAS,iBAAiB,oBAAoBwC,CAAY,IAAI,EAAE,MAAM;AAAA,EAE/F;AACD,GAKMX,IAAW,CAAC7B,MAA0B;AAC3C,QAAM6C,IAAe7C,EAAS,cAA+B,aAAa;AAC1E,EAAK6C,MAELC,EAAoBD,CAAY,GAEhCpC,EAAgB,MAAM,oBAAoBT,CAAQ,GAElD+C,EAAU/C,CAAQ;AACnB,GAKM+C,IAAY,CAAC/C,MAA0B;AAC5C,IAAEA,CAAQ,EAAE,GAAG,4BAA4B,oBAAoB,CAACgD,GAAIC,MAAW;AAE9E,UAAMC,IAAUD,EAAO,CAAC;AAIxB,IADuBxC,EAAgB,YAAYyC,CAAO,IACzC,CAAC,GAAG,QAAQA,CAAO;AAAA,EACrC,CAAC;AACF,GAKMpB,IAAS,OAAO9B,MAA0B;AAC/C,QAAMuC,IAAWvC,EAAS,QAAQ,gBAE5BmD,IAAK,OAAO;AAElB,EAAAhC,EAAK,MAAM,0BAA0B,IAAI,cAAc,aAAa;AAIpE,QAAMiC,IAFK,OAAO,aAEUD;AAC5B,EAAI,SAAS,gBAAgB,eAAe,OAAO,gBAAa,SAAS,cAAc,MAAM,EAAG,MAAM,cAAcC,IAAiB,OAErIC,EAAA,GAEeX,EAAgB1C,EAAS,aAAa,IAAI,CAAE,GACnD,OAAO,QAAQuC,CAAQ;AAChC,GAKMR,IAAU,OAAO/B,MAA0B;AAChD,QAAMK,IAAWL,EAAS,aAAa,IAAI,GACrCuC,IAAWvC,EAAS,QAAQ;AAElC,MAAIuC,GAAU;AACb,UAAMe,IAAW;AAAA,MAChB,KAAK7C,EAAgB,MAAM;AAAA,MAC3B,CAAC,UAAUJ,CAAQ,GAAG;AAAA,IAAA;AAEvB,IAAAiD,EAAS,UAAUjD,CAAQ,IAAI,OAE3BI,EAAgB,MAAM,cAAc,KAAKA,EAAgB,MAAM,cAAc,OAChF6C,EAAS,MAAM,OAGhBC,EAASD,GAAU,EAAK;AAAA,EACzB;AAMA,EAJkCvD,EAAsB,UAAU,oBAAoB,EAAE,OAAO,CAACH,MACxFK,EAAUL,CAAE,CACnB,EAE8B,WAC9BuB,EAAK,MAAM,0BAA0B,OAAO,YAAY,GAExD,SAAS,cAAc,MAAM,EAAG,MAAM,cAAc,KAGrD,EAAEnB,CAAQ,EAAE,QAAQ,kBAAkB,CAAC,EAAEA,CAAQ,CAAC,CAAC;AAEnD,QAAMyC,IAASC,EAAgBrC,CAAQ;AAEvC,EAAIoC,MACHA,EAAO,SAAS,QAAQ,IACxBA,EAAO,OAAO,SAASF,CAAQ,GAE3BE,EAAO,gBACVA,EAAO,YAAYA,EAAO,OAAOF,CAAQ,GACzCE,EAAO,cAAc,UAKvB,OAAO,cAAc,IAAI,MAAM,QAAQ,CAAC;AACzC,GAKMY,IAAkB,MAAM;AAO7B,EAN6BtD,EAAsB,UAAU,YAAY,EAAE,OAAO,CAACH,MAC3EK,EAAUL,CAAE,KAAKA,EAAG,cAA2B,6BAA6B,CACnF,EAAE,IAAI,CAACA,MACAA,EAAG,cAA2B,6BAA6B,CAClE,EAEoB,QAAQ,CAACI,MAAa;AAE1C,QAAI,CADiBA,EAAS,cAA+B,aAAa,EACvD;AAEnB,UAAMiB,IAAkBjB,EAAS,QAAQ,YAAY,GAE/CkC,IAAUD,EAAcjC,CAAQ;AAEtC,IAAAkC,EAAQ,aAAa,EAAE,IAAI,OAAA,GAEX,EAAElC,CAAQ,EAClB,OAAO,UAAUkC,CAAO,GAEhCjB,EAAgB,UAAU,OAAO,YAAY,IACxCA,EAAgB,gBAAgB,KAAK,OAAO,eAAaA,EAAgB,UAAU,IAAI,YAAY;AAAA,EACzG,CAAC;AACF,GAKMuC,IAAc,OAAOC,GAAwBC,MAAkC;AAEpF,QAAMC,IADS,qCACY,KAAKF,CAAc;AAC9C,MAAIE,GAAa;AAChB,UAAMtD,IAAWsD,EAAY,CAAC,GACxBpB,IAAWoB,EAAY,CAAC,GACxBC,IAAaD,EAAY,CAAC;AAEhC,QAAIE,IAAiB,CAAA;AACrB,IAAID,MAAYC,IAAOD,EAAW,MAAM,GAAG,IAE3C,MAAM1D,EAAOG,GAAUkC,GAAUsB,GAAMH,CAAa;AAAA,EACrD;AACD,GAUMxD,IAAS,OACd4D,GACAvB,GACAsB,GACAH,GACAK,MACI;AACJ,EAAKrC,KACJ,MAAM,IAAI,QAAc,CAACsC,GAASC,MAAY;AAC7C,UAAMC,IAAQ,YAAY,MAAM;AAC/B,MAAKxC,MAEL,cAAcwC,CAAK,GAEnBF,EAAA;AAAA,IACD,GAAG,EAAE;AAAA,EACN,CAAC,GAGF,MAAMrB,EAAA;AAEN,MAAI3C;AAUJ,MATI,OAAQ8D,KAAwB,YAC/BnC,EAAWmC,CAAkB,MAAGA,IAAqBA,IAAqB,CAAC,IAE/E9D,IAAW8D,KAEX9D,IAAWmC,EAAgB2B,CAAkB,GAI1C,CAAC9D,KAAY,OAAO8D,KAAuB,YAAYrD,EAAgB,MAAM,SAChF,MAAMA,EAAgB,MAAM,KAAKqD,CAAkB,GAEnD9D,IAAWmC,EAAgB2B,CAAkB,GACzC,CAAC9D;AACJ,UAAM,IAAI,MAAM,uBAAuB8D,CAAkB;AAI3D,MAAI,CAAC9D,EAAU;AAEf,QAAMmE,EAAWnE,GAAUuC,GAAUsB,GAAMH,CAAa;AAExD,QAAM1B,IAAU,EAAEhC,CAAQ;AAE1B,MAAIA,GAAU,UAAU,SAAS,mBAAmB;AAiBnD,IAAAgC,EAAQ,OAAO,MAAM;AAAA,OACf;AACN,UAAME,IAAUD,EAAcjC,CAAQ;AAEtC,IAAAgC,EAAQ,OAAOE,CAAO;AAAA,EACvB;AAEA,EAAI6B,OAAmB/B,CAAO;AAC/B,GAEMmC,IAAa,OAAOnE,GAA6CuC,GAAmBsB,GAAiBH,MAAkC;AAE5I,EAAI/B,EAAW3B,CAAQ,MAAGA,IAAWA,IAAW,CAAC,IAE7CuC,MAAa,WAAWA,IAAWvC,EAAS,QAAQ,iBAEpDuC,MAAavC,EAAS,QAAQ,kBACjBoE,EAAepE,CAAQ,KAC1B,MAAMqE,EAAM,GAAG,GAGzBR,MAAS,WAAWA,IAAO,CAAA,IAE/B,MAAMxB,EAAcrC,EAAS,aAAa,IAAI,GAAa,QAAWuC,CAAQ;AAE9E,QAAM+B,IAAgBvE,EAA6CC,GAAU,cAAc,GACrFuE,IAAiBD,EAAc,OAA0B,CAACE,GAAKC,MAAiB;AACrF,UAAMC,IAAgBD,EAAa,cAA+B,kBAAkB;AACpF,WAAIC,KACHF,EAAI,KAAKE,CAAa,GAGhBF;AAAA,EACR,GAAG,CAAA,CAAE,GAECG,IAAcL,EAAc,OAA0B,CAACE,GAAKC,MAAiB;AAClF,UAAMG,IAAaH,EAAa,cAA+B,6BAA6BlC,CAAQ,IAAI;AACxG,WAAIqC,KACHJ,EAAI,KAAKI,CAAU,GAGbJ;AAAA,EACR,GAAG,CAAA,CAAE,GAECZ,IAAaC,EAAK,KAAK,GAAG;AAOhC,MALIH,MAAkB,WACrBA,IAAgB,SACXiB,EAAY,CAAC,GAAG,QAAQ,SAAS,MAAMJ,EAAe,CAAC,GAAG,QAAQ,SAAS,OAAIb,IAAgB,UAGjG,CAACiB,EAAY,OAAQ;AAKzB,MAHA3E,EAAS,QAAQ,iBAAiBuC,GAG9BoC,EAAY,CAAC,EAAE,UAAU,SAAS,QAAQ,GAAG;AAChD,IAAIA,EAAY,CAAC,EAAE,QAAQ,iBAAiBf,KAC3Ce,EAAY,QAAQ,CAACC,MAAe;AACnC,MAAAA,EAAW,QAAQ,eAAehB;AAAA,IACnC,CAAC,GAMFiB,EAAmB7E,GAAU2E,GAAapC,GAAUsB,CAAI,GACxDiB,EAAkB9E,GAAU2E,GAAapC,GAAUsB,CAAI;AAEvD;AAAA,EACD;AAEA,EAAAc,EAAY,QAAQ,CAACC,MAAe;AACnC,IAAAA,EAAW,QAAQ,eAAehB;AAAA,EACnC,CAAC,GAEDW,EAAe,QAAQ,CAACG,MAAkB;AACzC,IAAIA,EAAc,cAAc,oBAAoB,KACnDK,EAAe,MAAML,EAAc,cAAc,oBAAoB,CAAE;AAAA,EAEzE,CAAC;AAED,QAAMzD,IAAkB0D,EAAY,CAAC,EAAE,QAA4B,YAAY;AAM/E,UAJI1D,KAAmB,CAAChB,EAAUgB,CAAe,MAAGyC,IAAgB,SAC/Da,EAAe,WAAQb,IAAgB,SACxCzD,EAAU0E,EAAY,CAAC,CAAC,MAAGjB,IAAgB,SAEvCA,GAAA;AAAA,IACP,KAAK,QAAQ;AACZ,MAAAiB,EAAY,QAAQ,CAACC,MAAe;AACnC,cAAMI,IAAWJ,EAAW,YAAY,cAAc,kBAAkB;AACxE,QAAII,KAAUJ,EAAW,YAAY,aAAaA,GAAYI,CAAQ;AAAA,MACvE,CAAC,GAEDT,EAAe,QAAQ,CAACG,MAAkB;AACzC,QAAAA,EAAc,UAAU,IAAI,mBAAmB,SAAS;AAAA,MACzD,CAAC,GAEDC,EAAY,QAAQ,CAACC,MAAe;AACnC,QAAAA,EAAW,UAAU,IAAI,kBAAkB,SAAS;AAAA,MACrD,CAAC;AAED;AAAA,IACD;AAAA,IACA,KAAK,QAAQ;AACZ,MAAAD,EAAY,QAAQ,CAACC,MAAe;AACnC,cAAMI,IAAWJ,EAAW,YAAY,cAAc,kBAAkB;AACxE,QAAII,KAAUJ,EAAW,YAAY,aAAaA,GAAYI,EAAS,WAAW;AAAA,MACnF,CAAC,GAEDT,EAAe,QAAQ,CAACG,MAAkB;AACzC,QAAAA,GAAe,UAAU,IAAI,gBAAgB;AAAA,MAC9C,CAAC,GAEDC,EAAY,QAAQ,CAACC,MAAe;AACnC,QAAAA,EAAW,UAAU,IAAI,iBAAiB;AAAA,MAC3C,CAAC;AAED;AAAA,IACD;AAAA,EAAA;AAeD,MAZA5E,EAAS,aAAa,oBAAoBuC,CAAQ,GAElDgC,EAAe,QAAQ,CAACG,MAAkB;AACzC,IAAAA,EAAc,UAAU,OAAO,QAAQ;AAAA,EACxC,CAAC,GAEDC,EAAY,QAAQ,CAACC,MAAe;AACnC,IAAAA,EAAW,UAAU,IAAI,QAAQ;AAAA,EAClC,CAAC,GAEDC,EAAmB7E,GAAU2E,GAAapC,GAAUsB,CAAI,GAEpDH,GAAe;AAClB,IAAA1D,EAAS,UAAU,IAAI,eAAe;AAEtC,UAAMiF,IAAQ,OAAO,OAAO,iBAAiBN,EAAY,CAAC,CAAC,EAAE,kBAAkB,QAAQ,KAAK,EAAE,CAAC,IAAI;AAEnG,IAAAlD,IAAsB,WAAW,WAAY;AAC5C,MAAAY,EAAcrC,EAAS,aAAa,IAAI,GAAGuC,GAAU,EAAE,GACvD6B,EAAepE,CAAQ,GACvB8E,EAAkB9E,GAAU2E,GAAapC,GAAUsB,CAAI;AAAA,IACxD,GAAGoB,CAAK;AAAA,EACT;AACC,UAAM5C,EAAcrC,EAAS,aAAa,IAAI,GAAGuC,GAAU,EAAE,GAC7DuC,EAAkB9E,GAAU2E,GAAapC,GAAUsB,CAAI;AAEzD,GAKMqB,KAAa,CAAClF,MAA0B;AAuB7C,QAAMmF,IAtBgBpF,EAA6CC,GAAU,cAAc,EACtD,OAA0B,CAACwE,GAAKC,MAAiB;AACrF,UAAMC,IAAgBD,EAAa,cAA+B,kBAAkB;AAEpF,WAAIC,KACHF,EAAI,KAAKE,CAAa,GAGhBF;AAAA,EACR,GAAG,CAAA,CAAE,EAE8B,OAA0B,CAACA,GAAKE,MAAkB;AACpF,QAAIU,IAAaV,EAAc;AAC/B,WAAOU,KAAc,CAACA,EAAW,aAAa,gBAAgB;AAC7D,MAAAA,IAAaA,EAAW;AAGzB,WAAIA,KAAYZ,EAAI,KAAKY,CAAU,GAE5BZ;AAAA,EACR,GAAG,CAAA,CAAE,EAE6B,CAAC,GAAI,QAAQ;AAE/C,EAAIW,IACEhB,EAAWnE,GAAUmF,GAAc,QAAW,MAAM,IAEzC,EAAEnF,CAAQ,EAClB,OAAO,OAAO;AAExB,GAKMqF,wBAA+B,IAAA,GAC/BR,IAAqB,CAAC7E,GAAuBsF,GAA4B/C,GAAkBsB,MAAmB;AAGnH,QAAM0B,IAAWvF,EAAS,aAAa,IAAI,IAAIsF,EAAQ,CAAC,EAAE,QAAQ,WAAW/C,IAAWsB,EAAK,KAAA;AAE7F,EAAIwB,EAAyB,IAAIE,CAAQ,MACzCF,EAAyB,IAAIE,CAAQ,GAErC,WAAW,WAAY;AACtB,IAAAF,EAAyB,OAAOE,CAAQ,GAExC,EAAEvF,CAAQ,EAAE,QAAQ,kBAAkB,CAAC,EAAEA,CAAQ,GAAG,EAAEsF,CAAO,GAAG/C,GAAUsB,CAAI,CAAC;AAAA,EAChF,CAAC;AACF,GAKMiB,IAAoB,CAAC9E,GAAuBsF,GAA4B/C,GAAkBsB,MAAmB;AAClH,aAAW,WAAY;AACtB,MAAE7D,CAAQ,EAAE,QAAQ,iBAAiB,CAAC,EAAEA,CAAQ,GAAG,EAAEsF,CAAO,GAAG/C,GAAUsB,CAAI,CAAC;AAAA,EAC/E,CAAC;AACF,GAKM2B,IAAc,CAACxF,OAChB2B,EAAW3B,CAAQ,MAAGA,IAAWA,IAAW,CAAC,IAE1CA,EAAS,UAAU,SAAS,eAAe,IAQ7CoE,IAAiB,CAACpE,MAA0B;AACjD,MAAI,CAACwF,EAAYxF,CAAQ,EAAG,QAAO;AAEnC,eAAayB,CAAmB;AAEhC,QAAM6C,IAAgBvE,EAAsBC,GAAU,cAAc,GAE9DuC,IAAWvC,EAAS,QAAQ;AAClC,SAAAA,EAAS,UAAU,OAAO,eAAe,GAEzCsE,EAAc,QAAQ,CAACG,MAAiB;AACvC,IAAAA,EAAa,iBAAiB,2BAA2B,EAAE,QAAQ,CAAC7E,MAAO;AAC1E,MAAAA,EAAG,UAAU,OAAO,kBAAkB,mBAAmB,WAAW,QAAQ;AAAA,IAC7E,CAAC;AAAA,EACF,CAAC,GAED0E,EAAc,QAAQ,CAACG,MAAiB;AACvC,IAAAA,EAAa,cAAc,6BAA6BlC,CAAQ,IAAI,GAAG,UAAU,IAAI,QAAQ;AAAA,EAC9F,CAAC,GAEM;AACR,GAKMkD,KAAQ,SAAUnD,GAAkB;AACzC,QAAMtC,IAAWmC,EAAgBG,CAAQ;AACzC,MAAI,CAACtC,EAAU;AAEf,QAAMgC,IAAU,EAAEhC,CAAQ;AAE1B,EAAKgC,EAAQ,OAAO,UAAU,KAE9BA,EAAQ,OAAO,OAAO;AACvB,GAKM0D,KAAa,CAACJ,GAAsDK,GAAoBC,MAAsB;AACnH,EAAIjE,EAAW2D,CAAO,MAAGA,IAAUA,EAAQ,QAAA;AAE3C,QAAMO,IAAmBP,EAAQ,OAA0B,CAACd,GAAKsB,OAC5DA,EAAO,aAAa,gBAAgB,KAAK7F,EAAU6F,CAAM,KAAGtB,EAAI,KAAKsB,CAAM,GAExEtB,IACL,CAAA,CAAE;AAEL,EAAImB,KACCC,MAAa,UAChBC,EAAiB,QAAQ,CAACE,MAAoB;AAC7C,IAAAA,EAAgB,MAAM,YAAY,6BAA6BH,IAAW,GAAG;AAAA,EAC9E,CAAC,GAGFC,EAAiB,QAAQ,CAACE,MAAoB;AAC7C,IAAAA,EAAgB,UAAU,IAAI,aAAa;AAAA,EAC5C,CAAC,MAEDF,EAAiB,QAAQ,CAACE,MAAoB;AAC7C,IAAAA,EAAgB,UAAU,OAAO,aAAa;AAAA,EAC/C,CAAC,GAEDF,EAAiB,QAAQ,CAACE,MAAoB;AAC7C,IAAAA,EAAgB,MAAM,YAAY,6BAA6B,KAAK;AAAA,EACrE,CAAC;AAEH,GAEMJ,KAAY,CAACG,OACdnE,EAAWmE,CAAM,MAAGA,IAASA,IAAS,CAAC,IAEpCA,EAAO,UAAU,SAAS,aAAa,IAGlC3F,IAAiB;AAAA,EAC7B,iBAAAgC;AAAA,EACA,eAAAE;AAAA,EACA,iBAAAgB;AAAA,EACA,aAAAG;AAAA,EACA,QAAAtD;AAAA,EACA,YAAAiE;AAAA,EACA,YAAAe;AAAA,EACA,YAAAQ;AAAA,EACA,WAAAC;AAAA,EACA,aAAAH;AAAA,EACA,OAAAC;AACD;AAEA7D,EAAA;"}
@@ -1,5 +1,5 @@
1
1
  import { ref as s, getCurrentInstance as a, inject as n } from "vue";
2
- import { a as i, g as c } from "./dialogs.vue_vue_type_script_setup_true_lang-BP6GFkkz.es.js";
2
+ import { a as i, g as c } from "./dialogs.vue_vue_type_script_setup_true_lang-DRbTG0vh.es.js";
3
3
  import { waitWhile as l } from "../utils/system.js";
4
4
  class w {
5
5
  /**
@@ -75,4 +75,4 @@ export {
75
75
  d as b,
76
76
  h as u
77
77
  };
78
- //# sourceMappingURL=utils-cls72V1c.es.js.map
78
+ //# sourceMappingURL=utils-YrUExsH7.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-cls72V1c.es.js","sources":["../../src/components/dialog/dialog/composables/asyncDialogHandle.ts","../../src/components/dialog/dialog/composables/utils.ts"],"sourcesContent":["import type { Ref } from 'vue';\nimport { ref } from 'vue';\nimport { useTopDialog } from './utils';\nimport { waitWhile } from '@/core/utils/system';\nimport type { AsyncTopDialogComponentLoader, TopDialogComponent } from './types';\nimport { TopDialogHandle } from './dialogHandle';\n\n/**\n * Объект для работы с асинхронным диалоговым окном\n *\n * Является прослойкой для доступа к TopDialogHandle\n */\nexport class AsyncTopDialogHandle<T extends TopDialogComponent> {\n\n\t/**\n\t * Функция, определяющая компонент TopDialogComponent\n\t */\n\treadonly resolve: AsyncTopDialogComponentLoader<T>;\n\n\t/**\n\t * Реактивная Сссылка на объект worker,\n\t *\n\t * Ссылка не будет указывать на объект, если диалоговое окно еще не загружено\n\t */\n\treadonly worker: Ref<TopDialogHandle<T> | null> = ref(null);\n\n\tconstructor(resolve: AsyncTopDialogComponentLoader<T>) {\n\t\tthis.resolve = resolve;\n\t}\n\n\t/**\n\t * Получить доступ к TopDialogHandle\n\t */\n\tasync get() {\n\t\tif (this.worker.value) return this.worker.value;\n\n\t\tconst result = await this.resolve();\n\t\tconst TopDialogComponent = result.default;\n\n\t\tthis.worker.value = useTopDialog(TopDialogComponent);\n\n\t\tconst worker = this.worker.value;\n\n\t\tawait waitWhile(() => !worker.isMounted);\n\n\t\treturn worker;\n\t}\n\n\t/**\n\t * Открыть диалоговое окно\n\t */\n\tasync open(...args: Parameters<TopDialogHandle<T>['open']>) {\n\t\tconst worker = await this.get();\n\n\t\tawait worker.open(...args);\n\t}\n\n\t/**\n\t * Открыть диалоговое окно как ссылку, для хеш-навигации\n\t *\n\t * Только общедоступные диалоговые окна, расположенные в @/dialogs\n\t */\n\tasync openAsLink(...args: Parameters<TopDialogHandle<T>['open']>) {\n\t\tconst worker = await this.get();\n\n\t\tvoid worker.openAsLink(...args);\n\t}\n\n\t/**\n\t * Закрыть диалоговое окно\n\t *\n\t * Не меняет состояние компонента диалогового окна\n\t */\n\tasync close(...args: Parameters<TopDialogHandle<T>['close']>) {\n\t\tconst worker = await this.get();\n\n\t\tworker.close(...args);\n\t}\n\n\t/**\n\t * Размонтировать виджет диалогового окна\n\t */\n\tasync destroy(...args: Parameters<TopDialogHandle<T>['close']>) {\n\t\tconst worker = await this.get();\n\n\t\tworker.destroy(...args);\n\t}\n\n\t/**\n\t * Устанвоить props\n\t *\n\t * Полностью сбрасывается состояние props\n\t */\n\tasync setProps(...args: Parameters<TopDialogHandle<T>['setProps']>) {\n\t\tconst worker = await this.get();\n\n\t\tawait worker.setProps(...args);\n\t}\n}\n","import { getCurrentInstance, inject } from 'vue';\nimport { TopDialogHandle } from './dialogHandle';\nimport { AsyncTopDialogHandle } from './asyncDialogHandle';\nimport type { AsyncTopDialogComponentLoader, TopDialogComponent } from './types';\nimport { addDialogWorker, getDialogWorker } from '../dialogs/dialogs.vue';\n\n/**\n * Получить объект управленя текущим диалоговым окном\n */\nexport const useTopDialogSelf = () => {\n\t// вызов из пользовтаельского компонента диалога\n\tconst topDialogComponent = getCurrentInstance() as any;\n\tif (topDialogComponent?.type?.id) {\n\t\tconst dialogWorker = getDialogWorker(topDialogComponent.type.id);\n\t\tif (dialogWorker) return dialogWorker;\n\t}\n\n\treturn inject('dialogWorker') as TopDialogHandle<TopDialogComponent>;\n};\n\n/**\n * Получить объект управленя диалоговым окном\n *\n * При первом вызове компонент диалогового окна будет внедрен в компонент DialogWrapper\n */\nexport const useTopDialog = <T extends TopDialogComponent>(DialogComponent: T): TopDialogHandle<T> => {\n\treturn addDialogWorker(DialogComponent);\n};\n\n/**\n * Получить объект управленя асинхронным диалоговым окном\n *\n * Компонент диалогового окна будет загружен и инициирован при первом взаимодействии с объектом\n *\n * Использует useTopDialog()\n */\nexport const useAsyncTopDialog = <T extends TopDialogComponent>(resolve: AsyncTopDialogComponentLoader<T>): AsyncTopDialogHandle<T> => {\n\treturn new AsyncTopDialogHandle(resolve);\n};\n"],"names":["AsyncTopDialogHandle","ref","resolve","TopDialogComponent","useTopDialog","worker","waitWhile","args","useTopDialogSelf","topDialogComponent","getCurrentInstance","dialogWorker","getDialogWorker","inject","DialogComponent","addDialogWorker","useAsyncTopDialog"],"mappings":";;;AAYO,MAAMA,EAAmD;AAAA;AAAA;AAAA;AAAA,EAKtD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAyCC,EAAI,IAAI;AAAA,EAE1D,YAAYC,GAA2C;AACtD,SAAK,UAAUA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,MAAM;AACX,QAAI,KAAK,OAAO,MAAO,QAAO,KAAK,OAAO;AAG1C,UAAMC,KADS,MAAM,KAAK,QAAA,GACQ;AAElC,SAAK,OAAO,QAAQC,EAAaD,CAAkB;AAEnD,UAAME,IAAS,KAAK,OAAO;AAE3B,iBAAMC,EAAU,MAAM,CAACD,EAAO,SAAS,GAEhCA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAQE,GAA8C;AAG3D,WAFe,MAAM,KAAK,IAAA,GAEb,KAAK,GAAGA,CAAI;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,cAAcA,GAA8C;AAGjE,KAFe,MAAM,KAAK,IAAA,GAEd,WAAW,GAAGA,CAAI;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,SAASA,GAA+C;AAG7D,KAFe,MAAM,KAAK,IAAA,GAEnB,MAAM,GAAGA,CAAI;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,WAAWA,GAA+C;AAG/D,KAFe,MAAM,KAAK,IAAA,GAEnB,QAAQ,GAAGA,CAAI;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,YAAYA,GAAkD;AAGnE,WAFe,MAAM,KAAK,IAAA,GAEb,SAAS,GAAGA,CAAI;AAAA,EAC9B;AACD;ACzFO,MAAMC,IAAmB,MAAM;AAErC,QAAMC,IAAqBC,EAAA;AAC3B,MAAID,GAAoB,MAAM,IAAI;AACjC,UAAME,IAAeC,EAAgBH,EAAmB,KAAK,EAAE;AAC/D,QAAIE,EAAc,QAAOA;AAAA,EAC1B;AAEA,SAAOE,EAAO,cAAc;AAC7B,GAOaT,IAAe,CAA+BU,MACnDC,EAAgBD,CAAe,GAU1BE,IAAoB,CAA+Bd,MACxD,IAAIF,EAAqBE,CAAO;"}
1
+ {"version":3,"file":"utils-YrUExsH7.es.js","sources":["../../src/components/dialog/dialog/composables/asyncDialogHandle.ts","../../src/components/dialog/dialog/composables/utils.ts"],"sourcesContent":["import type { Ref } from 'vue';\nimport { ref } from 'vue';\nimport { useTopDialog } from './utils';\nimport { waitWhile } from '@/core/utils/system';\nimport type { AsyncTopDialogComponentLoader, TopDialogComponent } from './types';\nimport { TopDialogHandle } from './dialogHandle';\n\n/**\n * Объект для работы с асинхронным диалоговым окном\n *\n * Является прослойкой для доступа к TopDialogHandle\n */\nexport class AsyncTopDialogHandle<T extends TopDialogComponent> {\n\n\t/**\n\t * Функция, определяющая компонент TopDialogComponent\n\t */\n\treadonly resolve: AsyncTopDialogComponentLoader<T>;\n\n\t/**\n\t * Реактивная Сссылка на объект worker,\n\t *\n\t * Ссылка не будет указывать на объект, если диалоговое окно еще не загружено\n\t */\n\treadonly worker: Ref<TopDialogHandle<T> | null> = ref(null);\n\n\tconstructor(resolve: AsyncTopDialogComponentLoader<T>) {\n\t\tthis.resolve = resolve;\n\t}\n\n\t/**\n\t * Получить доступ к TopDialogHandle\n\t */\n\tasync get() {\n\t\tif (this.worker.value) return this.worker.value;\n\n\t\tconst result = await this.resolve();\n\t\tconst TopDialogComponent = result.default;\n\n\t\tthis.worker.value = useTopDialog(TopDialogComponent);\n\n\t\tconst worker = this.worker.value;\n\n\t\tawait waitWhile(() => !worker.isMounted);\n\n\t\treturn worker;\n\t}\n\n\t/**\n\t * Открыть диалоговое окно\n\t */\n\tasync open(...args: Parameters<TopDialogHandle<T>['open']>) {\n\t\tconst worker = await this.get();\n\n\t\tawait worker.open(...args);\n\t}\n\n\t/**\n\t * Открыть диалоговое окно как ссылку, для хеш-навигации\n\t *\n\t * Только общедоступные диалоговые окна, расположенные в @/dialogs\n\t */\n\tasync openAsLink(...args: Parameters<TopDialogHandle<T>['open']>) {\n\t\tconst worker = await this.get();\n\n\t\tvoid worker.openAsLink(...args);\n\t}\n\n\t/**\n\t * Закрыть диалоговое окно\n\t *\n\t * Не меняет состояние компонента диалогового окна\n\t */\n\tasync close(...args: Parameters<TopDialogHandle<T>['close']>) {\n\t\tconst worker = await this.get();\n\n\t\tworker.close(...args);\n\t}\n\n\t/**\n\t * Размонтировать виджет диалогового окна\n\t */\n\tasync destroy(...args: Parameters<TopDialogHandle<T>['close']>) {\n\t\tconst worker = await this.get();\n\n\t\tworker.destroy(...args);\n\t}\n\n\t/**\n\t * Устанвоить props\n\t *\n\t * Полностью сбрасывается состояние props\n\t */\n\tasync setProps(...args: Parameters<TopDialogHandle<T>['setProps']>) {\n\t\tconst worker = await this.get();\n\n\t\tawait worker.setProps(...args);\n\t}\n}\n","import { getCurrentInstance, inject } from 'vue';\nimport { TopDialogHandle } from './dialogHandle';\nimport { AsyncTopDialogHandle } from './asyncDialogHandle';\nimport type { AsyncTopDialogComponentLoader, TopDialogComponent } from './types';\nimport { addDialogWorker, getDialogWorker } from '../dialogs/dialogs.vue';\n\n/**\n * Получить объект управленя текущим диалоговым окном\n */\nexport const useTopDialogSelf = () => {\n\t// вызов из пользовтаельского компонента диалога\n\tconst topDialogComponent = getCurrentInstance() as any;\n\tif (topDialogComponent?.type?.id) {\n\t\tconst dialogWorker = getDialogWorker(topDialogComponent.type.id);\n\t\tif (dialogWorker) return dialogWorker;\n\t}\n\n\treturn inject('dialogWorker') as TopDialogHandle<TopDialogComponent>;\n};\n\n/**\n * Получить объект управленя диалоговым окном\n *\n * При первом вызове компонент диалогового окна будет внедрен в компонент DialogWrapper\n */\nexport const useTopDialog = <T extends TopDialogComponent>(DialogComponent: T): TopDialogHandle<T> => {\n\treturn addDialogWorker(DialogComponent);\n};\n\n/**\n * Получить объект управленя асинхронным диалоговым окном\n *\n * Компонент диалогового окна будет загружен и инициирован при первом взаимодействии с объектом\n *\n * Использует useTopDialog()\n */\nexport const useAsyncTopDialog = <T extends TopDialogComponent>(resolve: AsyncTopDialogComponentLoader<T>): AsyncTopDialogHandle<T> => {\n\treturn new AsyncTopDialogHandle(resolve);\n};\n"],"names":["AsyncTopDialogHandle","ref","resolve","TopDialogComponent","useTopDialog","worker","waitWhile","args","useTopDialogSelf","topDialogComponent","getCurrentInstance","dialogWorker","getDialogWorker","inject","DialogComponent","addDialogWorker","useAsyncTopDialog"],"mappings":";;;AAYO,MAAMA,EAAmD;AAAA;AAAA;AAAA;AAAA,EAKtD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAyCC,EAAI,IAAI;AAAA,EAE1D,YAAYC,GAA2C;AACtD,SAAK,UAAUA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,MAAM;AACX,QAAI,KAAK,OAAO,MAAO,QAAO,KAAK,OAAO;AAG1C,UAAMC,KADS,MAAM,KAAK,QAAA,GACQ;AAElC,SAAK,OAAO,QAAQC,EAAaD,CAAkB;AAEnD,UAAME,IAAS,KAAK,OAAO;AAE3B,iBAAMC,EAAU,MAAM,CAACD,EAAO,SAAS,GAEhCA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAQE,GAA8C;AAG3D,WAFe,MAAM,KAAK,IAAA,GAEb,KAAK,GAAGA,CAAI;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,cAAcA,GAA8C;AAGjE,KAFe,MAAM,KAAK,IAAA,GAEd,WAAW,GAAGA,CAAI;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,SAASA,GAA+C;AAG7D,KAFe,MAAM,KAAK,IAAA,GAEnB,MAAM,GAAGA,CAAI;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,WAAWA,GAA+C;AAG/D,KAFe,MAAM,KAAK,IAAA,GAEnB,QAAQ,GAAGA,CAAI;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,YAAYA,GAAkD;AAGnE,WAFe,MAAM,KAAK,IAAA,GAEb,SAAS,GAAGA,CAAI;AAAA,EAC9B;AACD;ACzFO,MAAMC,IAAmB,MAAM;AAErC,QAAMC,IAAqBC,EAAA;AAC3B,MAAID,GAAoB,MAAM,IAAI;AACjC,UAAME,IAAeC,EAAgBH,EAAmB,KAAK,EAAE;AAC/D,QAAIE,EAAc,QAAOA;AAAA,EAC1B;AAEA,SAAOE,EAAO,cAAc;AAC7B,GAOaT,IAAe,CAA+BU,MACnDC,EAAgBD,CAAe,GAU1BE,IAAoB,CAA+Bd,MACxD,IAAIF,EAAqBE,CAAO;"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as n, mergeModels as d, useModel as p, createBlock as i, openBlock as r, mergeProps as m } from "vue";
2
- import { _ as u } from "./forms-Cwv0JCi5.es.js";
2
+ import { _ as u } from "./forms-BseC3Ftz.es.js";
3
3
  const f = /* @__PURE__ */ n({
4
4
  __name: "widgetInput",
5
5
  props: /* @__PURE__ */ d({
@@ -36,4 +36,4 @@ const f = /* @__PURE__ */ n({
36
36
  export {
37
37
  f as _
38
38
  };
39
- //# sourceMappingURL=widgetInput.vue_vue_type_script_setup_true_lang-HbtV9agA.es.js.map
39
+ //# sourceMappingURL=widgetInput.vue_vue_type_script_setup_true_lang-CDkeKVqY.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widgetInput.vue_vue_type_script_setup_true_lang-HbtV9agA.es.js","sources":["../../src/components/popup/popup/widgetInput/widgetInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ModelRef } from 'vue';\nimport type { Props } from '@/components/forms/input/types';\nimport TopInput from '@/components/forms/input/input.vue';\n\nwithDefaults(defineProps<Props>(), {\n\taddCleaner: true,\n});\n\nconst model: ModelRef<string> = defineModel({\n\tdefault: '',\n});\n</script>\n\n<template>\n\t<TopInput\n\t\t:=\"$props\"\n\t\tmodificator=\"popupWidgetInput\"\n\t\tv-model=\"model\"\n\t/>\n</template>\n\n<style>\n.top-input-popupWidgetInput {\n\t--top-loadbar-color: var(--color-line-2);\n\n\twidth: 100%;\n}\n\n.top-input_input-popupWidgetInput {\n\tborder: none;\n\tbackground: var(--color-layer-1);\n}\n\n.top-input_input-popupWidgetInput:hover {\n\tbackground: var(--color-layer-2);\n}\n\n.top-input_input-popupWidgetInput:focus {\n\tbackground: var(--color-layer-1);\n\toutline: unset;\n}\n</style>\n"],"names":["model","_useModel","_createBlock","TopInput","_mergeProps","_ctx","$event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,UAAMA,IAA0BC,iBAE/B;2BAIAC,EAIEC,GAJFC,EAIEC,EAAA,QAHQ;AAAA,MACT,aAAY;AAAA,kBACHL,EAAA;AAAA,oDAAAA,EAAK,QAAAM;AAAA,IAAA;;;"}
1
+ {"version":3,"file":"widgetInput.vue_vue_type_script_setup_true_lang-CDkeKVqY.es.js","sources":["../../src/components/popup/popup/widgetInput/widgetInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ModelRef } from 'vue';\nimport type { Props } from '@/components/forms/input/types';\nimport TopInput from '@/components/forms/input/input.vue';\n\nwithDefaults(defineProps<Props>(), {\n\taddCleaner: true,\n});\n\nconst model: ModelRef<string> = defineModel({\n\tdefault: '',\n});\n</script>\n\n<template>\n\t<TopInput\n\t\t:=\"$props\"\n\t\tmodificator=\"popupWidgetInput\"\n\t\tv-model=\"model\"\n\t/>\n</template>\n\n<style>\n.top-input-popupWidgetInput {\n\t--top-loadbar-color: var(--color-line-2);\n\n\twidth: 100%;\n}\n\n.top-input_input-popupWidgetInput {\n\tborder: none;\n\tbackground: var(--color-layer-1);\n}\n\n.top-input_input-popupWidgetInput:hover {\n\tbackground: var(--color-layer-2);\n}\n\n.top-input_input-popupWidgetInput:focus {\n\tbackground: var(--color-layer-1);\n\toutline: unset;\n}\n</style>\n"],"names":["model","_useModel","_createBlock","TopInput","_mergeProps","_ctx","$event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,UAAMA,IAA0BC,iBAE/B;2BAIAC,EAIEC,GAJFC,EAIEC,EAAA,QAHQ;AAAA,MACT,aAAY;AAAA,kBACHL,EAAA;AAAA,oDAAAA,EAAK,QAAAM;AAAA,IAAA;;;"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","./forms--2-YQeWM.amd"],(function(r,n,e,a){"use strict";if(typeof e>"u")var e=window.Vue;const t=e.defineComponent({__name:"widgetInput",props:e.mergeModels({modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},styling:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean,default:!0},title:{},captionType:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(d){const o=e.useModel(d,"modelValue");return(i,l)=>(e.openBlock(),e.createBlock(a._sfc_main,e.mergeProps(i.$props,{modificator:"popupWidgetInput",modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=u=>o.value=u)}),null,16,["modelValue"]))}});n._sfc_main=t}));
2
- //# sourceMappingURL=widgetInput.vue_vue_type_script_setup_true_lang-B3soLr2U.amd.js.map
1
+ define(["require","exports","vue","./forms-CUSCBQu3.amd"],(function(r,n,e,a){"use strict";if(typeof e>"u")var e=window.Vue;const t=e.defineComponent({__name:"widgetInput",props:e.mergeModels({modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},styling:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean,default:!0},title:{},captionType:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(d){const o=e.useModel(d,"modelValue");return(i,l)=>(e.openBlock(),e.createBlock(a._sfc_main,e.mergeProps(i.$props,{modificator:"popupWidgetInput",modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=u=>o.value=u)}),null,16,["modelValue"]))}});n._sfc_main=t}));
2
+ //# sourceMappingURL=widgetInput.vue_vue_type_script_setup_true_lang-CkE912ll.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widgetInput.vue_vue_type_script_setup_true_lang-B3soLr2U.amd.js","sources":["../../src/components/popup/popup/widgetInput/widgetInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ModelRef } from 'vue';\nimport type { Props } from '@/components/forms/input/types';\nimport TopInput from '@/components/forms/input/input.vue';\n\nwithDefaults(defineProps<Props>(), {\n\taddCleaner: true,\n});\n\nconst model: ModelRef<string> = defineModel({\n\tdefault: '',\n});\n</script>\n\n<template>\n\t<TopInput\n\t\t:=\"$props\"\n\t\tmodificator=\"popupWidgetInput\"\n\t\tv-model=\"model\"\n\t/>\n</template>\n\n<style>\n.top-input-popupWidgetInput {\n\t--top-loadbar-color: var(--color-line-2);\n\n\twidth: 100%;\n}\n\n.top-input_input-popupWidgetInput {\n\tborder: none;\n\tbackground: var(--color-layer-1);\n}\n\n.top-input_input-popupWidgetInput:hover {\n\tbackground: var(--color-layer-2);\n}\n\n.top-input_input-popupWidgetInput:focus {\n\tbackground: var(--color-layer-1);\n\toutline: unset;\n}\n</style>\n"],"names":["model","_cache","$event"],"mappings":"woBAiBc,WAAAA,EAAA,MACH,sBAAAC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAF,EAAA,MAAAE"}
1
+ {"version":3,"file":"widgetInput.vue_vue_type_script_setup_true_lang-CkE912ll.amd.js","sources":["../../src/components/popup/popup/widgetInput/widgetInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ModelRef } from 'vue';\nimport type { Props } from '@/components/forms/input/types';\nimport TopInput from '@/components/forms/input/input.vue';\n\nwithDefaults(defineProps<Props>(), {\n\taddCleaner: true,\n});\n\nconst model: ModelRef<string> = defineModel({\n\tdefault: '',\n});\n</script>\n\n<template>\n\t<TopInput\n\t\t:=\"$props\"\n\t\tmodificator=\"popupWidgetInput\"\n\t\tv-model=\"model\"\n\t/>\n</template>\n\n<style>\n.top-input-popupWidgetInput {\n\t--top-loadbar-color: var(--color-line-2);\n\n\twidth: 100%;\n}\n\n.top-input_input-popupWidgetInput {\n\tborder: none;\n\tbackground: var(--color-layer-1);\n}\n\n.top-input_input-popupWidgetInput:hover {\n\tbackground: var(--color-layer-2);\n}\n\n.top-input_input-popupWidgetInput:focus {\n\tbackground: var(--color-layer-1);\n\toutline: unset;\n}\n</style>\n"],"names":["model","_cache","$event"],"mappings":"woBAiBc,WAAAA,EAAA,MACH,sBAAAC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAF,EAAA,MAAAE"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms--2-YQeWM.amd","../utils/number.amd","../require/css.amd!../assets/charts.css"],(function(x,C,e,M,g){"use strict";if(typeof e>"u")var e=window.Vue;const k=90,y=10,V=["data-top-icon"],B={class:"top-miniChart_chart"},b=["onMouseenter"],E={class:"top-miniChart_data"},w={class:"top-miniChart_dataValue"},D=["innerHTML"],N=e.defineComponent({__name:"miniChart",props:e.mergeModels({title:{},gIcon:{},color:{default:"blue"},dates:{},values:{},activeDates:{},keysForDyn:{},dynamic:{},isInvert:{type:Boolean},numberCols:{default:k},additionalHTML:{},modelValue:{},valueSuffix:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(l){const n=l,c=e.useModel(l,"modelValue"),r=t=>{let o=u.value;n.isInvert&&(t-=1,o-=1);let i=o>0?Math.round(t/o*(100-y)):0;return n.isInvert?100-i:i+y},v=t=>n.activeDates.includes(t),u=e.computed(()=>Math.max(...n.values)),d=e.computed(()=>n.dates.slice().reverse()),h=e.computed(()=>n.dates.length?n.numberCols-n.dates.length:0),p=()=>{c.value=null},s=(t,o,i)=>{t.target instanceof HTMLElement&&(c.value={elCol:t.target,date:M.dateFormat(o),value:i===null?"--":i+(n.valueSuffix??"")})},a=e.computed(()=>{let t=n.dynamic;if(typeof t>"u"){const i=n.values[n.keysForDyn.start];t=n.values[n.keysForDyn.end]-i}return(t<0?-1:1)*g.percentOfNumber(Math.abs(t))}),m=e.computed(()=>{let t="stay";return n.isInvert?(a.value>0&&(t="down"),a.value<0&&(t="up")):(a.value>0&&(t="up"),a.value<0&&(t="down")),t});return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart":!0,"top-miniChart_hideChartInMobile":l.hideChartInMobile,[`top-color_${l.color}`]:!0})},[e.createElementVNode("div",{class:"top-miniChart_title top-ellipsis","data-top-icon":l.gIcon},e.toDisplayString(l.title),9,V),e.createElementVNode("div",B,[e.createElementVNode("div",{class:"top-miniChart_chartGrid",onMouseleave:o[1]||(o[1]=i=>p())},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(i,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart_chartGridCol":!0,"top-active":v(i)}),onMouseenter:T=>s(T,i,l.values[l.values.length-f-1])},[e.createElementVNode("div",{style:e.normalizeStyle("height:"+r(l.values[l.values.length-f-1])+"%")},null,4)],42,b))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,()=>(e.openBlock(),e.createElementBlock("div",{class:"top-miniChart_chartGridCol top-miniChart_chartGridCol-none",onMouseenter:o[0]||(o[0]=i=>p())},[...o[2]||(o[2]=[e.createElementVNode("div",null,null,-1)])],32))),256))],32)]),e.createElementVNode("div",E,[e.createElementVNode("span",{class:e.normalizeClass({"top-miniChart_dataDynamic":!0,[`top-miniChart_dataDynamic-direction_${m.value}`]:!0})},e.toDisplayString(Math.abs(a.value)||""),3),e.createElementVNode("span",w,e.toDisplayString(e.unref(g.percentOfNumber)(l.values[l.values.length-1])||0),1)]),l.additionalHTML?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:l.additionalHTML},null,8,D)):e.createCommentVNode("",!0)],2))}}),S={key:0,class:"top-miniCharts_pages"},H=["onClick"],I=e.defineComponent({__name:"miniCharts",props:e.mergeModels({modelValue:{},countCharts:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(l){const n=l,c=e.useModel(l,"modelValue"),r=e.ref(null);let v;const u=e.ref(1),d=e.ref(1),h=()=>{u.value=Math.round(r.value.scrollHeight/r.value.clientHeight)};e.watch(u,()=>{u.value<d.value&&(d.value=1)}),e.watch(()=>n.countCharts,()=>h(),{flush:"post"});const p=e.computed(()=>{if(!c.value)return{};const s=c.value.elCol.getBoundingClientRect(),a={top:s.bottom+window.scrollY+"px"};return document.documentElement.clientWidth/2>s.right?a.left=s.right+window.scrollX+10+"px":(a.left=s.left+window.scrollX-10+"px",a.transform="translate(-100%, 0)"),a});return e.onMounted(()=>{v=new ResizeObserver(()=>h()),v.observe(r.value),e.watch(d,()=>{const m=(r.value.children[0].clientHeight+parseInt(window.getComputedStyle(r.value).getPropertyValue("row-gap")))*(d.value-1);r.value.scrollTo({top:m,behavior:"smooth"})})}),e.onUnmounted(()=>{v.disconnect()}),(s,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["top-miniCharts",{"top-miniCharts":!0,scrollable:u.value>1,"top-miniCharts_hideChartInMobile":l.hideChartInMobile}]),ref_key:"elRef",ref:r},[e.renderSlot(s.$slots,"default"),u.value>1?(e.openBlock(),e.createElementBlock("div",S,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,m=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass({"top-active":m===d.value}),onClick:t=>d.value=m},null,10,H))),256))])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[c.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-miniCharts_tooltip",style:e.normalizeStyle(p.value)},[e.createElementVNode("span",null,e.toDisplayString(c.value.date),1),e.createElementVNode("span",null,e.toDisplayString(c.value.value),1)],4)):e.createCommentVNode("",!0)]))],2))}});C.TopMiniChart=N,C.TopMiniCharts=I,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","vue","../.chunks/forms-CUSCBQu3.amd","../utils/number.amd","../require/css.amd!../assets/charts.css"],(function(x,C,e,M,g){"use strict";if(typeof e>"u")var e=window.Vue;const k=90,y=10,V=["data-top-icon"],B={class:"top-miniChart_chart"},b=["onMouseenter"],E={class:"top-miniChart_data"},w={class:"top-miniChart_dataValue"},D=["innerHTML"],N=e.defineComponent({__name:"miniChart",props:e.mergeModels({title:{},gIcon:{},color:{default:"blue"},dates:{},values:{},activeDates:{},keysForDyn:{},dynamic:{},isInvert:{type:Boolean},numberCols:{default:k},additionalHTML:{},modelValue:{},valueSuffix:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(l){const n=l,c=e.useModel(l,"modelValue"),r=t=>{let o=u.value;n.isInvert&&(t-=1,o-=1);let i=o>0?Math.round(t/o*(100-y)):0;return n.isInvert?100-i:i+y},v=t=>n.activeDates.includes(t),u=e.computed(()=>Math.max(...n.values)),d=e.computed(()=>n.dates.slice().reverse()),h=e.computed(()=>n.dates.length?n.numberCols-n.dates.length:0),p=()=>{c.value=null},s=(t,o,i)=>{t.target instanceof HTMLElement&&(c.value={elCol:t.target,date:M.dateFormat(o),value:i===null?"--":i+(n.valueSuffix??"")})},a=e.computed(()=>{let t=n.dynamic;if(typeof t>"u"){const i=n.values[n.keysForDyn.start];t=n.values[n.keysForDyn.end]-i}return(t<0?-1:1)*g.percentOfNumber(Math.abs(t))}),m=e.computed(()=>{let t="stay";return n.isInvert?(a.value>0&&(t="down"),a.value<0&&(t="up")):(a.value>0&&(t="up"),a.value<0&&(t="down")),t});return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart":!0,"top-miniChart_hideChartInMobile":l.hideChartInMobile,[`top-color_${l.color}`]:!0})},[e.createElementVNode("div",{class:"top-miniChart_title top-ellipsis","data-top-icon":l.gIcon},e.toDisplayString(l.title),9,V),e.createElementVNode("div",B,[e.createElementVNode("div",{class:"top-miniChart_chartGrid",onMouseleave:o[1]||(o[1]=i=>p())},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(i,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart_chartGridCol":!0,"top-active":v(i)}),onMouseenter:T=>s(T,i,l.values[l.values.length-f-1])},[e.createElementVNode("div",{style:e.normalizeStyle("height:"+r(l.values[l.values.length-f-1])+"%")},null,4)],42,b))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,()=>(e.openBlock(),e.createElementBlock("div",{class:"top-miniChart_chartGridCol top-miniChart_chartGridCol-none",onMouseenter:o[0]||(o[0]=i=>p())},[...o[2]||(o[2]=[e.createElementVNode("div",null,null,-1)])],32))),256))],32)]),e.createElementVNode("div",E,[e.createElementVNode("span",{class:e.normalizeClass({"top-miniChart_dataDynamic":!0,[`top-miniChart_dataDynamic-direction_${m.value}`]:!0})},e.toDisplayString(Math.abs(a.value)||""),3),e.createElementVNode("span",w,e.toDisplayString(e.unref(g.percentOfNumber)(l.values[l.values.length-1])||0),1)]),l.additionalHTML?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:l.additionalHTML},null,8,D)):e.createCommentVNode("",!0)],2))}}),S={key:0,class:"top-miniCharts_pages"},H=["onClick"],I=e.defineComponent({__name:"miniCharts",props:e.mergeModels({modelValue:{},countCharts:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(l){const n=l,c=e.useModel(l,"modelValue"),r=e.ref(null);let v;const u=e.ref(1),d=e.ref(1),h=()=>{u.value=Math.round(r.value.scrollHeight/r.value.clientHeight)};e.watch(u,()=>{u.value<d.value&&(d.value=1)}),e.watch(()=>n.countCharts,()=>h(),{flush:"post"});const p=e.computed(()=>{if(!c.value)return{};const s=c.value.elCol.getBoundingClientRect(),a={top:s.bottom+window.scrollY+"px"};return document.documentElement.clientWidth/2>s.right?a.left=s.right+window.scrollX+10+"px":(a.left=s.left+window.scrollX-10+"px",a.transform="translate(-100%, 0)"),a});return e.onMounted(()=>{v=new ResizeObserver(()=>h()),v.observe(r.value),e.watch(d,()=>{const m=(r.value.children[0].clientHeight+parseInt(window.getComputedStyle(r.value).getPropertyValue("row-gap")))*(d.value-1);r.value.scrollTo({top:m,behavior:"smooth"})})}),e.onUnmounted(()=>{v.disconnect()}),(s,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["top-miniCharts",{"top-miniCharts":!0,scrollable:u.value>1,"top-miniCharts_hideChartInMobile":l.hideChartInMobile}]),ref_key:"elRef",ref:r},[e.renderSlot(s.$slots,"default"),u.value>1?(e.openBlock(),e.createElementBlock("div",S,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,m=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass({"top-active":m===d.value}),onClick:t=>d.value=m},null,10,H))),256))])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[c.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-miniCharts_tooltip",style:e.normalizeStyle(p.value)},[e.createElementVNode("span",null,e.toDisplayString(c.value.date),1),e.createElementVNode("span",null,e.toDisplayString(c.value.value),1)],4)):e.createCommentVNode("",!0)]))],2))}});C.TopMiniChart=N,C.TopMiniCharts=I,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=charts.amd.js.map
package/charts/charts.js CHANGED
@@ -4,7 +4,7 @@
4
4
  _autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
5
5
 
6
6
  import { defineComponent as T, mergeModels as $, useModel as _, computed as C, createElementBlock as s, openBlock as i, normalizeClass as f, createElementVNode as r, createCommentVNode as H, toDisplayString as g, Fragment as I, renderList as k, normalizeStyle as B, unref as S, ref as V, watch as w, onMounted as E, onUnmounted as F, renderSlot as P, createBlock as R, Teleport as z } from "vue";
7
- import { c as G } from "../.chunks/forms-Cwv0JCi5.es.js";
7
+ import { c as G } from "../.chunks/forms-BseC3Ftz.es.js";
8
8
  import { percentOfNumber as D } from "../utils/number.js";
9
9
  const N = 90, x = 10, O = ["data-top-icon"], X = { class: "top-miniChart_chart" }, A = ["onMouseenter"], U = { class: "top-miniChart_data" }, W = { class: "top-miniChart_dataValue" }, Y = ["innerHTML"], Z = /* @__PURE__ */ T({
10
10
  __name: "miniChart",
package/core/app.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms--2-YQeWM.amd","../.chunks/core-B9TwJi3h.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-C6nWu0aQ.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang--Xstly2G.amd"],(function(E,n,r,g,c,p,f,d,u,m){"use strict";if(typeof c>"u")var c=window.Vue;class S{#s;#t;#e;#a;#c;#i=[];#o=[];#n=[];#r=[];constructor(t){this.#t=t.store,this.#s=this.#t.$id,this.#e=t.options.Page,this.#a=t.options.user,this.#c=t.options.Api,this.#i=t.options.tpaNamesUrlHash||[],this.#o=t.options.tpaNamesStorage||[],this.#n=t.options.tpaNamesStorageLocal||[],this.#r=t.options.tpaNamesGuestLink||[],t.store.genGuestLink=(s,a)=>this.genGuestLink(s,a),this.#a.guest_data?.data||(this.#u(),this.#u(!0),this.#f()),this.#S(),this.#k();const e=r.debounce(()=>{this.#m(),this.#l(),this.#l(!0)});t.store.$subscribe(e)}async genGuestLink(t,e){const s=this.#g();e=Object.assign(e,Object.fromEntries(s));const a=await this.#c.gen(t).setParams(e).call();if(a?.errors)return;const i=a.result;await p.guestLinkToClipboard(i)}#g(){const t=new Map;return this.#r.forEach(e=>{const s=f.camelToSnakeCase(e);t.set(s,this.#t[e])}),t}#h(t){t.forEach((e,s)=>{const a=this.#t[s];if(e!=null&&a!==void 0&&e?.constructor&&e.constructor===a.constructor){if(s.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[s]=e}})}#p(t){const e=new Map;return t.forEach((s,a)=>{s!==null&&(s=JSON.stringify(s),e.set(a,s))}),e}#d(t){const e=new Map;return t.forEach((s,a)=>{if(!(s==null||s==="false")){try{if(typeof s=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(s)&&(s=JSON.parse(s)),s==null||s==="false")return}catch{}e.set(a,s)}}),e}#f(){let t;try{t=JSON.parse(d.getHash(this.#s))}catch{}if(!t)return;const e=new Map;this.#i.forEach(s=>{const a=t[s];a&&e.set(s,a)}),this.#h(e)}#m(){const t=new Map;this.#i.forEach(a=>{const i=this.#t[a];t.set(a,i)});const e=Object.fromEntries(t),s=JSON.stringify(e);d.setHash(this.#s,s)}#u(t=!1){const e=new Map;let s=this.#o,a="state:"+this.#s;t&&(s=this.#n,a="state:"+this.#s+":"+location.pathname),s.forEach(o=>{const h=localStorage.getItem(a+":"+o);e.set(o,h)});const i=this.#d(e);this.#h(i)}#l(t=!1){const e=new Map;let s=this.#o,a="state:"+this.#s;t&&(s=this.#n,a="state:"+this.#s+":"+location.pathname),s.forEach(o=>{const h=this.#t[o];e.set(o,h)});const i=this.#p(e);s.forEach(o=>{const h=i.get(o);localStorage.setItem(a+":"+o,h)})}#S(){const t=this.#a?.guest_data?.data;if(!t)return;this.#a.id===-1&&(this.#a.positionsReverseDates=t.positionsReverseDates);const e=new Map;this.#r.forEach(i=>{const o=t[i];e.set(i,o)});const s=this.#d(e);this.#h(s);const a=$(".mod_guest_title");if(this.#t.competitorsIds?.length===1&&this.#e.page.data.competitors){let i=this.#e.page.data.competitors.filter(o=>o.id===t.competitorsIds[0]);i.length&&($("a",a).attr("href","http://"+i[0].url),$("a",a).text(i[0].name))}}#k(){this.#t.regionsIndexes&&c.watch(this.#t.regionsIndexes,t=>{if(!t.length)return;t.forEach((a,i)=>t[i]=a);const e=TplProjectSelectorRegion.genSearchersMap(),s=[];e.forEach(a=>{a.regions.forEach(i=>{i.index!==-1&&s.push(i.index)})}),this.#t.regionsIndexes=t.filter(a=>s.includes(a))},{immediate:!0}),this.#t.competitorsIds&&c.watch(this.#t.competitorsIds,t=>{if(!t.length)return;t.forEach((s,a)=>t[a]=s);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(s=>{s.on>=0&&e.push(s.id)}),this.#t.competitorsIds=t.filter(s=>e.includes(s))},{immediate:!0})}}const k=l=>{const t=l;!t.options.tpaNamesUrlHash?.length&&!t.options.tpaNamesStorage?.length&&!t.options.tpaNamesStorageLocal?.length&&!t.options.tpaNamesGuestLink?.length||new S(t)};n.Core=r.Core,n.i18nPlugin=r.i18n,n.useI18n=r.useI18n,n.useI18nLang=r.useI18nLang,n.corePlugin=g.core,n.useAsyncTopDialog=u.useAsyncTopDialog,n.useTopDialog=u.useTopDialog,n.TopDialogWorker=m.TopDialogWorker,n.piniaTPAPlugin=k,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/forms-CUSCBQu3.amd","../.chunks/core-BsPx05H9.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-CzHUG_xz.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-Dq9kWWMg.amd"],(function(E,n,r,g,c,p,f,d,u,m){"use strict";if(typeof c>"u")var c=window.Vue;class S{#s;#t;#e;#a;#c;#i=[];#o=[];#n=[];#r=[];constructor(t){this.#t=t.store,this.#s=this.#t.$id,this.#e=t.options.Page,this.#a=t.options.user,this.#c=t.options.Api,this.#i=t.options.tpaNamesUrlHash||[],this.#o=t.options.tpaNamesStorage||[],this.#n=t.options.tpaNamesStorageLocal||[],this.#r=t.options.tpaNamesGuestLink||[],t.store.genGuestLink=(s,a)=>this.genGuestLink(s,a),this.#a.guest_data?.data||(this.#u(),this.#u(!0),this.#f()),this.#S(),this.#k();const e=r.debounce(()=>{this.#m(),this.#l(),this.#l(!0)});t.store.$subscribe(e)}async genGuestLink(t,e){const s=this.#g();e=Object.assign(e,Object.fromEntries(s));const a=await this.#c.gen(t).setParams(e).call();if(a?.errors)return;const i=a.result;await p.guestLinkToClipboard(i)}#g(){const t=new Map;return this.#r.forEach(e=>{const s=f.camelToSnakeCase(e);t.set(s,this.#t[e])}),t}#h(t){t.forEach((e,s)=>{const a=this.#t[s];if(e!=null&&a!==void 0&&e?.constructor&&e.constructor===a.constructor){if(s.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[s]=e}})}#p(t){const e=new Map;return t.forEach((s,a)=>{s!==null&&(s=JSON.stringify(s),e.set(a,s))}),e}#d(t){const e=new Map;return t.forEach((s,a)=>{if(!(s==null||s==="false")){try{if(typeof s=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(s)&&(s=JSON.parse(s)),s==null||s==="false")return}catch{}e.set(a,s)}}),e}#f(){let t;try{t=JSON.parse(d.getHash(this.#s))}catch{}if(!t)return;const e=new Map;this.#i.forEach(s=>{const a=t[s];a&&e.set(s,a)}),this.#h(e)}#m(){const t=new Map;this.#i.forEach(a=>{const i=this.#t[a];t.set(a,i)});const e=Object.fromEntries(t),s=JSON.stringify(e);d.setHash(this.#s,s)}#u(t=!1){const e=new Map;let s=this.#o,a="state:"+this.#s;t&&(s=this.#n,a="state:"+this.#s+":"+location.pathname),s.forEach(o=>{const h=localStorage.getItem(a+":"+o);e.set(o,h)});const i=this.#d(e);this.#h(i)}#l(t=!1){const e=new Map;let s=this.#o,a="state:"+this.#s;t&&(s=this.#n,a="state:"+this.#s+":"+location.pathname),s.forEach(o=>{const h=this.#t[o];e.set(o,h)});const i=this.#p(e);s.forEach(o=>{const h=i.get(o);localStorage.setItem(a+":"+o,h)})}#S(){const t=this.#a?.guest_data?.data;if(!t)return;this.#a.id===-1&&(this.#a.positionsReverseDates=t.positionsReverseDates);const e=new Map;this.#r.forEach(i=>{const o=t[i];e.set(i,o)});const s=this.#d(e);this.#h(s);const a=$(".mod_guest_title");if(this.#t.competitorsIds?.length===1&&this.#e.page.data.competitors){let i=this.#e.page.data.competitors.filter(o=>o.id===t.competitorsIds[0]);i.length&&($("a",a).attr("href","http://"+i[0].url),$("a",a).text(i[0].name))}}#k(){this.#t.regionsIndexes&&c.watch(this.#t.regionsIndexes,t=>{if(!t.length)return;t.forEach((a,i)=>t[i]=a);const e=TplProjectSelectorRegion.genSearchersMap(),s=[];e.forEach(a=>{a.regions.forEach(i=>{i.index!==-1&&s.push(i.index)})}),this.#t.regionsIndexes=t.filter(a=>s.includes(a))},{immediate:!0}),this.#t.competitorsIds&&c.watch(this.#t.competitorsIds,t=>{if(!t.length)return;t.forEach((s,a)=>t[a]=s);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(s=>{s.on>=0&&e.push(s.id)}),this.#t.competitorsIds=t.filter(s=>e.includes(s))},{immediate:!0})}}const k=l=>{const t=l;!t.options.tpaNamesUrlHash?.length&&!t.options.tpaNamesStorage?.length&&!t.options.tpaNamesStorageLocal?.length&&!t.options.tpaNamesGuestLink?.length||new S(t)};n.Core=r.Core,n.i18nPlugin=r.i18n,n.useI18n=r.useI18n,n.useI18nLang=r.useI18nLang,n.corePlugin=g.core,n.useAsyncTopDialog=u.useAsyncTopDialog,n.useTopDialog=u.useTopDialog,n.TopDialogWorker=m.TopDialogWorker,n.piniaTPAPlugin=k,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=app.amd.js.map
package/core/app.js CHANGED
@@ -1,12 +1,12 @@
1
- import { d as c } from "../.chunks/forms-Cwv0JCi5.es.js";
2
- import { C as O, i as P, u as I, a as T } from "../.chunks/forms-Cwv0JCi5.es.js";
3
- import { c as y } from "../.chunks/core-DVQVVUiP.es.js";
1
+ import { d as c } from "../.chunks/forms-BseC3Ftz.es.js";
2
+ import { C as O, i as P, u as I, a as T } from "../.chunks/forms-BseC3Ftz.es.js";
3
+ import { c as y } from "../.chunks/core-BL-38XF7.es.js";
4
4
  import { watch as h } from "vue";
5
5
  import { guestLinkToClipboard as p } from "../utils/clipboard.js";
6
6
  import { camelToSnakeCase as d } from "../utils/string.js";
7
7
  import { getHash as f, setHash as g } from "../utils/route.js";
8
- import { u as G, a as M } from "../.chunks/utils-cls72V1c.es.js";
9
- import { T as D } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BP6GFkkz.es.js";
8
+ import { u as G, a as M } from "../.chunks/utils-YrUExsH7.es.js";
9
+ import { T as D } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-DRbTG0vh.es.js";
10
10
  class l {
11
11
  #s;
12
12
  #t;
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-DNs0udwC.amd","vue","../.chunks/utils-C6nWu0aQ.amd"],(function(d,o,i,e,l){"use strict";if(typeof e>"u")var e=window.Vue;const m={name:{type:String,required:!0},order:{type:Number,required:!0},prevName:String,footerFullWith:Boolean},c=e.defineComponent({__name:"pageComponent",props:{component:{},keepAlive:{type:Boolean,default:!0},props:{},name:{},order:{},prevName:{},footerFullWith:{type:Boolean}},setup(n){const r=n,t=l.useTopDialogSelf(),p=(a,u)=>{if(!u.value){if(a.name!=="AsyncComponentWrapper"){u.value=!0;return}t.needShowPage(r.name)&&(t.isLoadingPage.value=!0,a.__asyncResolved&&(u.value=!0,t.isLoadingPage.value=!1))}};if(r.component.name==="AsyncComponentWrapper"){const a=e.ref(!1);e.onUpdated(()=>{p(r.component,a)})}return(a,u)=>(e.openBlock(),e.createBlock(e.KeepAlive,{include:n.keepAlive?"":"none"},[e.unref(t).needShowPage(n.name)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.component),e.mergeProps({key:0},r,{name:n.name,order:n.order,prevName:n.prevName}),null,16,["name","order","prevName"])):e.createCommentVNode("",!0)],1032,["include"]))}});o.TopDialog=i._sfc_main,o.TopDialogPage=i._sfc_main$1,o.useTopDialogSelf=l.useTopDialogSelf,o.TopDialogPageComponent=c,o.propsPageCommon=m,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-CjIiZU-D.amd","vue","../.chunks/utils-CzHUG_xz.amd"],(function(d,o,i,e,l){"use strict";if(typeof e>"u")var e=window.Vue;const m={name:{type:String,required:!0},order:{type:Number,required:!0},prevName:String,footerFullWith:Boolean},c=e.defineComponent({__name:"pageComponent",props:{component:{},keepAlive:{type:Boolean,default:!0},props:{},name:{},order:{},prevName:{},footerFullWith:{type:Boolean}},setup(n){const r=n,t=l.useTopDialogSelf(),p=(a,u)=>{if(!u.value){if(a.name!=="AsyncComponentWrapper"){u.value=!0;return}t.needShowPage(r.name)&&(t.isLoadingPage.value=!0,a.__asyncResolved&&(u.value=!0,t.isLoadingPage.value=!1))}};if(r.component.name==="AsyncComponentWrapper"){const a=e.ref(!1);e.onUpdated(()=>{p(r.component,a)})}return(a,u)=>(e.openBlock(),e.createBlock(e.KeepAlive,{include:n.keepAlive?"":"none"},[e.unref(t).needShowPage(n.name)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.component),e.mergeProps({key:0},r,{name:n.name,order:n.order,prevName:n.prevName}),null,16,["name","order","prevName"])):e.createCommentVNode("",!0)],1032,["include"]))}});o.TopDialog=i._sfc_main,o.TopDialogPage=i._sfc_main$1,o.useTopDialogSelf=l.useTopDialogSelf,o.TopDialogPageComponent=c,o.propsPageCommon=m,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=dialog.amd.js.map
package/dialog/dialog.js CHANGED
@@ -1,6 +1,6 @@
1
- import { _ as k, a as B } from "../.chunks/page.vue_vue_type_script_setup_true_lang-D_ocBGzt.es.js";
1
+ import { _ as k, a as B } from "../.chunks/page.vue_vue_type_script_setup_true_lang-CpRJQFD1.es.js";
2
2
  import { defineComponent as l, ref as i, onUpdated as u, createBlock as t, openBlock as m, KeepAlive as c, createCommentVNode as s, unref as d, resolveDynamicComponent as g, mergeProps as f } from "vue";
3
- import { b as v } from "../.chunks/utils-cls72V1c.es.js";
3
+ import { b as v } from "../.chunks/utils-YrUExsH7.es.js";
4
4
  const C = {
5
5
  name: {
6
6
  type: String,
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms--2-YQeWM.amd"],(function(_,a,n){"use strict";if(typeof i>"u")var i=window.Vue;a.TopAvatar=n._sfc_main$6,a.TopButton=n._sfc_main$1,a.TopCaption=n._sfc_main$13,a.TopCheckbox=n._sfc_main$4,a.TopControlLabel=n._sfc_main$7,a.TopHint=n._sfc_main$2,a.TopInput=n._sfc_main,a.TopInputDate=n._sfc_main$8,a.TopInputRange=n._sfc_main$9,a.TopLoadbar=n.TopLoadbar,a.TopPreloader=n._sfc_main$12,a.TopRadio=n._sfc_main$5,a.TopSelect=n._sfc_main$10,a.TopSwitcher=n._sfc_main$11,a.TopTextarea=n._sfc_main$3,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/forms-CUSCBQu3.amd"],(function(_,a,n){"use strict";if(typeof i>"u")var i=window.Vue;a.TopAvatar=n._sfc_main$6,a.TopButton=n._sfc_main$1,a.TopCaption=n._sfc_main$13,a.TopCheckbox=n._sfc_main$4,a.TopControlLabel=n._sfc_main$7,a.TopHint=n._sfc_main$2,a.TopInput=n._sfc_main,a.TopInputDate=n._sfc_main$8,a.TopInputRange=n._sfc_main$9,a.TopLoadbar=n.TopLoadbar,a.TopPreloader=n._sfc_main$12,a.TopRadio=n._sfc_main$5,a.TopSelect=n._sfc_main$10,a.TopSwitcher=n._sfc_main$11,a.TopTextarea=n._sfc_main$3,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=forms.amd.js.map
package/forms/forms.js CHANGED
@@ -1,4 +1,4 @@
1
- import { l as p, e as T, Q as s, h as t, m as e, f as r, _ as n, n as l, o as i, T as u, r as b, j as c, p as d, q as h, g as x } from "../.chunks/forms-Cwv0JCi5.es.js";
1
+ import { l as p, e as T, Q as s, h as t, m as e, f as r, _ as n, n as l, o as i, T as u, r as b, j as c, p as d, q as h, g as x } from "../.chunks/forms-BseC3Ftz.es.js";
2
2
  export {
3
3
  p as TopAvatar,
4
4
  T as TopButton,
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms--2-YQeWM.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-BfL6Mj6K.amd"],(function(N,d,e,m,f){"use strict";if(typeof e>"u")var e=window.Vue;const y={class:"top-editArea_footer"},k=e.defineComponent({__name:"editArea",props:{defaultValue:{default:""},title:{},cancelText:{default:"Cancel"},submitText:{default:"Send"},closeText:{default:"Close"},isFocused:{type:Boolean},forceShowCloseBtn:{type:Boolean},attachToKeyboard:{type:Boolean},modelValue:{},name:{},placeholder:{},styling:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{},maxLength:{}},emits:["submit","close","clickOnTitle"],setup(t,{emit:o}){const l=t,i=o,n=e.ref(l.defaultValue),r=e.ref(l.isFocused),s=e.computed(()=>n.value!==l.defaultValue),a=p=>{i("submit",p),n.value=l.defaultValue},c=()=>{if(l.forceShowCloseBtn&&!s.value){i("close");return}n.value=l.defaultValue},z=()=>{l.attachToKeyboard&&i("clickOnTitle")};return(p,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":t.attachToKeyboard})},[t.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:u[0]||(u[0]=v=>z())},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-forms-focusable":!0,"top-as-input":!0,"top-error":t.isError,"top-focus":r.value})},[e.createVNode(m._sfc_main$3,{modelValue:n.value,"onUpdate:modelValue":u[1]||(u[1]=v=>n.value=v),name:t.name,placeholder:t.placeholder,rows:t.rows,minHeight:t.minHeight,expandable:t.expandable,disabled:t.disabled,readonly:t.readonly,isError:t.isError,hint:t.hint,class:"top-editArea_element",onFocus:u[2]||(u[2]=()=>r.value=!0),onBlur:u[3]||(u[3]=()=>r.value=!1),onKeyup:[e.withKeys(c,["esc"]),u[4]||(u[4]=e.withKeys(e.withModifiers(v=>a(n.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),e.createElementVNode("div",y,[s.value||t.forceShowCloseBtn?(e.openBlock(),e.createBlock(m._sfc_main$1,{key:0,icon:p.$core.state.isMobile?"":"",class:"top-editArea_button",color:"theme",styling:"soft",onClick:c},e.createSlots({_:2},[p.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(m._sfc_main$1,{key:1,class:"top-editArea_button",icon:p.$core.state.isMobile?"":"",onClick:u[5]||(u[5]=v=>a(n.value))},e.createSlots({_:2},[p.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.submitText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0)])],2)],2))}}),B={class:"top-editInput"},h=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(t,{emit:o}){const l=t,i=e.ref(l.modelValue);e.watch(e.toRef(l.modelValue),()=>{i.value=l.modelValue});const n=o,r=()=>{n("update:modelValue",i.value)};return(s,a)=>(e.openBlock(),e.createElementBlock("div",B,[e.createVNode(m._sfc_main,e.mergeProps(t.input,{onKeydownCapture:a[0]||(a[0]=e.withKeys(e.withModifiers(c=>i.value=t.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(r,["stop"]),["enter"]),modelValue:i.value,"onUpdate:modelValue":a[1]||(a[1]=c=>i.value=c)}),null,16,["onKeydown","modelValue"]),i.value!==t.modelValue?(e.openBlock(),e.createBlock(m._sfc_main$1,e.mergeProps({key:0,icon:"",styling:"soft"},t.button,{onClick:r}),null,16)):e.createCommentVNode("",!0)]))}}),V=e.defineComponent({__name:"optionGroup",props:e.mergeModels({modelValue:{},items:{},size:{default:"s"},showIndicator:{type:Boolean},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),l=t,i=e.ref(null);e.watch(o,()=>{const r=l.items.map(s=>s.value);Array.isArray(o.value)?o.value.find(a=>!r.includes(a))&&(o.value=o.value.filter(a=>r.includes(a))):r.includes(o.value)||(o.value=r[0]??""),i.value?.querySelector(".radioGroup_item-selected")?.scrollIntoView()},{immediate:!0});const n="optionGroup-"+Math.random();return(r,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:i,class:e.normalizeClass({"top-optionGroup":!0,["top-optionGroup-showIndicator_"+Number(t.showIndicator)]:!0,"top-scrollBarXHidding":!0,["top-size_"+t.size]:!!t.size,"top-error":t.isError})},[Array.isArray(o.value)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,a=>(e.openBlock(),e.createBlock(m._sfc_main$4,{class:e.normalizeClass({"top-optionGroup_item-selected":o.value.includes(a.value),"top-optionGroup_item":!0}),modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=c=>o.value=c),value:a.value,title:a.title,disabled:a.disabled,isError:t.isError,"data-top-icon":a.icon},e.createSlots({_:2},[a.label?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.label),1)]),key:"0"}:void 0]),1032,["class","modelValue","value","title","disabled","isError","data-top-icon"]))),256)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.items,a=>(e.openBlock(),e.createBlock(m._sfc_main$5,{class:e.normalizeClass({"top-optionGroup_item-selected":a.value===o.value,"top-optionGroup_item":!0}),modelValue:o.value,"onUpdate:modelValue":s[1]||(s[1]=c=>o.value=c),name:n,value:a.value,title:a.title,disabled:a.disabled,isError:t.isError,"data-top-icon":a.icon},e.createSlots({_:2},[a.label?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.label),1)]),key:"0"}:void 0]),1032,["class","modelValue","value","title","disabled","isError","data-top-icon"]))),256))],2))}}),b=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},items:{},size:{},showIndicator:{type:Boolean},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue");return(l,i)=>(e.openBlock(),e.createBlock(V,{class:"top-radioGroup",modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=n=>o.value=n),items:l.$props.items,size:l.$props.size,showIndicator:l.$props.showIndicator,isError:l.$props.isError},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["modelValue","items","size","showIndicator","isError"]))}}),E=e.defineComponent({__name:"checkboxGroup",props:e.mergeModels({modelValue:{},items:{},size:{},showIndicator:{type:Boolean},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue");return(l,i)=>(e.openBlock(),e.createBlock(V,{class:"top-checkboxGroup",modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=n=>o.value=n),items:l.$props.items,size:l.$props.size,showIndicator:l.$props.showIndicator,isError:l.$props.isError},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["modelValue","items","size","showIndicator","isError"]))}}),w=["data-top-icon"],$={class:"top-info_text"},C={key:0,class:"top-info_value"},T=e.defineComponent({__name:"info",props:{icon:{},styling:{default:"default"},size:{default:"default"}},setup(t){return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-info":!0,["top-size_"+t.size]:!0,["top-info-styling_"+t.styling]:!0}),"data-top-icon":t.icon},[e.createElementVNode("div",$,[e.renderSlot(o.$slots,"default")]),o.$slots.additional?(e.openBlock(),e.createElementBlock("span",C,[e.renderSlot(o.$slots,"additional")])):e.createCommentVNode("",!0)],10,w))}}),g={key:0,class:"top-policy"},S={class:"top-policy_title"},I=["innerHTML"],M=e.defineComponent({__name:"policy",props:{title:{},description:{},acceptText:{}},emits:["accept"],setup(t,{emit:o}){const l=o,i=e.ref(!0),n=()=>{i.value=!1,l("accept")};return(r,s)=>i.value?(e.openBlock(),e.createElementBlock("div",g,[e.createElementVNode("div",S,e.toDisplayString(t.title),1),e.createElementVNode("div",{class:"top-policy_description",innerHTML:t.description},null,8,I),e.createVNode(e.unref(m._sfc_main$1),{size:"m",onClick:n},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.acceptText),1)]),_:1})])):e.createCommentVNode("",!0)}});d.ITEM_ID_ALL=f.ITEM_ID_ALL,d.ITEM_ID_NEW=f.ITEM_ID_NEW,d.TopMenu=f._sfc_main$1,d.TopSelector2=f._sfc_main,d.apiSetSearchParamsFilter=f.apiSetSearchParamsFilter,d.TopCheckboxGroup=E,d.TopEditArea=k,d.TopEditInput=h,d.TopInfo=T,d.TopPolicy=M,d.TopRadioGroup=b,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","vue","../.chunks/forms-CUSCBQu3.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-DJOaMdBm.amd"],(function(N,d,e,m,f){"use strict";if(typeof e>"u")var e=window.Vue;const y={class:"top-editArea_footer"},k=e.defineComponent({__name:"editArea",props:{defaultValue:{default:""},title:{},cancelText:{default:"Cancel"},submitText:{default:"Send"},closeText:{default:"Close"},isFocused:{type:Boolean},forceShowCloseBtn:{type:Boolean},attachToKeyboard:{type:Boolean},modelValue:{},name:{},placeholder:{},styling:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{},maxLength:{}},emits:["submit","close","clickOnTitle"],setup(t,{emit:o}){const l=t,i=o,n=e.ref(l.defaultValue),r=e.ref(l.isFocused),s=e.computed(()=>n.value!==l.defaultValue),a=p=>{i("submit",p),n.value=l.defaultValue},c=()=>{if(l.forceShowCloseBtn&&!s.value){i("close");return}n.value=l.defaultValue},z=()=>{l.attachToKeyboard&&i("clickOnTitle")};return(p,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":t.attachToKeyboard})},[t.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:u[0]||(u[0]=v=>z())},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-forms-focusable":!0,"top-as-input":!0,"top-error":t.isError,"top-focus":r.value})},[e.createVNode(m._sfc_main$3,{modelValue:n.value,"onUpdate:modelValue":u[1]||(u[1]=v=>n.value=v),name:t.name,placeholder:t.placeholder,rows:t.rows,minHeight:t.minHeight,expandable:t.expandable,disabled:t.disabled,readonly:t.readonly,isError:t.isError,hint:t.hint,class:"top-editArea_element",onFocus:u[2]||(u[2]=()=>r.value=!0),onBlur:u[3]||(u[3]=()=>r.value=!1),onKeyup:[e.withKeys(c,["esc"]),u[4]||(u[4]=e.withKeys(e.withModifiers(v=>a(n.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),e.createElementVNode("div",y,[s.value||t.forceShowCloseBtn?(e.openBlock(),e.createBlock(m._sfc_main$1,{key:0,icon:p.$core.state.isMobile?"":"",class:"top-editArea_button",color:"theme",styling:"soft",onClick:c},e.createSlots({_:2},[p.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(m._sfc_main$1,{key:1,class:"top-editArea_button",icon:p.$core.state.isMobile?"":"",onClick:u[5]||(u[5]=v=>a(n.value))},e.createSlots({_:2},[p.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.submitText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0)])],2)],2))}}),B={class:"top-editInput"},h=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(t,{emit:o}){const l=t,i=e.ref(l.modelValue);e.watch(e.toRef(l.modelValue),()=>{i.value=l.modelValue});const n=o,r=()=>{n("update:modelValue",i.value)};return(s,a)=>(e.openBlock(),e.createElementBlock("div",B,[e.createVNode(m._sfc_main,e.mergeProps(t.input,{onKeydownCapture:a[0]||(a[0]=e.withKeys(e.withModifiers(c=>i.value=t.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(r,["stop"]),["enter"]),modelValue:i.value,"onUpdate:modelValue":a[1]||(a[1]=c=>i.value=c)}),null,16,["onKeydown","modelValue"]),i.value!==t.modelValue?(e.openBlock(),e.createBlock(m._sfc_main$1,e.mergeProps({key:0,icon:"",styling:"soft"},t.button,{onClick:r}),null,16)):e.createCommentVNode("",!0)]))}}),V=e.defineComponent({__name:"optionGroup",props:e.mergeModels({modelValue:{},items:{},size:{default:"s"},showIndicator:{type:Boolean},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),l=t,i=e.ref(null);e.watch(o,()=>{const r=l.items.map(s=>s.value);Array.isArray(o.value)?o.value.find(a=>!r.includes(a))&&(o.value=o.value.filter(a=>r.includes(a))):r.includes(o.value)||(o.value=r[0]??""),i.value?.querySelector(".radioGroup_item-selected")?.scrollIntoView()},{immediate:!0});const n="optionGroup-"+Math.random();return(r,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:i,class:e.normalizeClass({"top-optionGroup":!0,["top-optionGroup-showIndicator_"+Number(t.showIndicator)]:!0,"top-scrollBarXHidding":!0,["top-size_"+t.size]:!!t.size,"top-error":t.isError})},[Array.isArray(o.value)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,a=>(e.openBlock(),e.createBlock(m._sfc_main$4,{class:e.normalizeClass({"top-optionGroup_item-selected":o.value.includes(a.value),"top-optionGroup_item":!0}),modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=c=>o.value=c),value:a.value,title:a.title,disabled:a.disabled,isError:t.isError,"data-top-icon":a.icon},e.createSlots({_:2},[a.label?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.label),1)]),key:"0"}:void 0]),1032,["class","modelValue","value","title","disabled","isError","data-top-icon"]))),256)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.items,a=>(e.openBlock(),e.createBlock(m._sfc_main$5,{class:e.normalizeClass({"top-optionGroup_item-selected":a.value===o.value,"top-optionGroup_item":!0}),modelValue:o.value,"onUpdate:modelValue":s[1]||(s[1]=c=>o.value=c),name:n,value:a.value,title:a.title,disabled:a.disabled,isError:t.isError,"data-top-icon":a.icon},e.createSlots({_:2},[a.label?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.label),1)]),key:"0"}:void 0]),1032,["class","modelValue","value","title","disabled","isError","data-top-icon"]))),256))],2))}}),b=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},items:{},size:{},showIndicator:{type:Boolean},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue");return(l,i)=>(e.openBlock(),e.createBlock(V,{class:"top-radioGroup",modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=n=>o.value=n),items:l.$props.items,size:l.$props.size,showIndicator:l.$props.showIndicator,isError:l.$props.isError},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["modelValue","items","size","showIndicator","isError"]))}}),E=e.defineComponent({__name:"checkboxGroup",props:e.mergeModels({modelValue:{},items:{},size:{},showIndicator:{type:Boolean},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue");return(l,i)=>(e.openBlock(),e.createBlock(V,{class:"top-checkboxGroup",modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=n=>o.value=n),items:l.$props.items,size:l.$props.size,showIndicator:l.$props.showIndicator,isError:l.$props.isError},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["modelValue","items","size","showIndicator","isError"]))}}),w=["data-top-icon"],$={class:"top-info_text"},C={key:0,class:"top-info_value"},T=e.defineComponent({__name:"info",props:{icon:{},styling:{default:"default"},size:{default:"default"}},setup(t){return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-info":!0,["top-size_"+t.size]:!0,["top-info-styling_"+t.styling]:!0}),"data-top-icon":t.icon},[e.createElementVNode("div",$,[e.renderSlot(o.$slots,"default")]),o.$slots.additional?(e.openBlock(),e.createElementBlock("span",C,[e.renderSlot(o.$slots,"additional")])):e.createCommentVNode("",!0)],10,w))}}),g={key:0,class:"top-policy"},S={class:"top-policy_title"},I=["innerHTML"],M=e.defineComponent({__name:"policy",props:{title:{},description:{},acceptText:{}},emits:["accept"],setup(t,{emit:o}){const l=o,i=e.ref(!0),n=()=>{i.value=!1,l("accept")};return(r,s)=>i.value?(e.openBlock(),e.createElementBlock("div",g,[e.createElementVNode("div",S,e.toDisplayString(t.title),1),e.createElementVNode("div",{class:"top-policy_description",innerHTML:t.description},null,8,I),e.createVNode(e.unref(m._sfc_main$1),{size:"m",onClick:n},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.acceptText),1)]),_:1})])):e.createCommentVNode("",!0)}});d.ITEM_ID_ALL=f.ITEM_ID_ALL,d.ITEM_ID_NEW=f.ITEM_ID_NEW,d.TopMenu=f._sfc_main$1,d.TopSelector2=f._sfc_main,d.apiSetSearchParamsFilter=f.apiSetSearchParamsFilter,d.TopCheckboxGroup=E,d.TopEditArea=k,d.TopEditInput=h,d.TopInfo=T,d.TopPolicy=M,d.TopRadioGroup=b,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=formsExt.amd.js.map
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as v, ref as $, computed as F, createElementBlock as c, openBlock as s, normalizeClass as V, createCommentVNode as b, createElementVNode as h, toDisplayString as m, createVNode as z, withKeys as T, withModifiers as g, createBlock as p, createSlots as w, withCtx as f, createTextVNode as E, watch as x, toRef as L, mergeProps as M, mergeModels as A, useModel as C, Fragment as G, renderList as S, renderSlot as I, unref as N } from "vue";
2
- import { g as U, e as B, _ as q, h as R, j as D } from "../.chunks/forms-Cwv0JCi5.es.js";
3
- import { c as ne, I as ue, a as de, _ as ce, b as me } from "../.chunks/policy.vue_vue_type_style_index_0_lang-b4Vb3SlQ.es.js";
2
+ import { g as U, e as B, _ as q, h as R, j as D } from "../.chunks/forms-BseC3Ftz.es.js";
3
+ import { c as ne, I as ue, a as de, _ as ce, b as me } from "../.chunks/policy.vue_vue_type_style_index_0_lang-BBDJEs5Q.es.js";
4
4
  const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ v({
5
5
  __name: "editArea",
6
6
  props: {
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms--2-YQeWM.amd","../require/css.amd!../assets/layout.css"],(function(k,t,e,n){"use strict";if(typeof e>"u")var e=window.Vue;const l=e.defineComponent({__name:"rows",props:{gap:{default:"none"}},setup(s){const o=s;return(r,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-rows":!0,["top-rows-gap_"+o.gap]:!0})},[e.renderSlot(r.$slots,"default")],2))}}),c={class:"top-islandRows"},a={key:0,class:"top-islandRows_title"},d=e.defineComponent({__name:"islandRows",setup(s){return(o,r)=>(e.openBlock(),e.createElementBlock("div",c,[o.$slots.title?(e.openBlock(),e.createElementBlock("div",a,[e.renderSlot(o.$slots,"title")])):e.createCommentVNode("",!0),e.createVNode(l,{gap:"l",class:"top-islandRows_rows"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3})]))}}),i={},_={class:"top-islandRows_row"};function u(s,o){return e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(s.$slots,"default")])}const p=n._export_sfc(i,[["render",u]]),f={},w={class:"top-islandRows_subTitle"};function m(s,o){return e.openBlock(),e.createElementBlock("div",w,[e.renderSlot(s.$slots,"default")])}const R=n._export_sfc(f,[["render",m]]);t.TopIslandRows=d,t.TopIslandRowsRow=p,t.TopIslandRowsSubTitle=R,t.TopRows=l,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","vue","../.chunks/forms-CUSCBQu3.amd","../require/css.amd!../assets/layout.css"],(function(k,t,e,n){"use strict";if(typeof e>"u")var e=window.Vue;const l=e.defineComponent({__name:"rows",props:{gap:{default:"none"}},setup(s){const o=s;return(r,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-rows":!0,["top-rows-gap_"+o.gap]:!0})},[e.renderSlot(r.$slots,"default")],2))}}),c={class:"top-islandRows"},a={key:0,class:"top-islandRows_title"},d=e.defineComponent({__name:"islandRows",setup(s){return(o,r)=>(e.openBlock(),e.createElementBlock("div",c,[o.$slots.title?(e.openBlock(),e.createElementBlock("div",a,[e.renderSlot(o.$slots,"title")])):e.createCommentVNode("",!0),e.createVNode(l,{gap:"l",class:"top-islandRows_rows"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3})]))}}),i={},_={class:"top-islandRows_row"};function u(s,o){return e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(s.$slots,"default")])}const p=n._export_sfc(i,[["render",u]]),f={},w={class:"top-islandRows_subTitle"};function m(s,o){return e.openBlock(),e.createElementBlock("div",w,[e.renderSlot(s.$slots,"default")])}const R=n._export_sfc(f,[["render",m]]);t.TopIslandRows=d,t.TopIslandRowsRow=p,t.TopIslandRowsSubTitle=R,t.TopRows=l,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=layout.amd.js.map
package/layout/layout.js CHANGED
@@ -4,7 +4,7 @@
4
4
  _autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
5
5
 
6
6
  import { defineComponent as r, createElementBlock as t, openBlock as e, normalizeClass as c, renderSlot as n, createCommentVNode as _, createVNode as d, withCtx as i } from "vue";
7
- import { k as l } from "../.chunks/forms-Cwv0JCi5.es.js";
7
+ import { k as l } from "../.chunks/forms-BseC3Ftz.es.js";
8
8
  const p = /* @__PURE__ */ r({
9
9
  __name: "rows",
10
10
  props: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@topvisor/ui",
3
3
  "private": false,
4
- "version": "1.4.0-TopGroupSelector.7",
4
+ "version": "1.4.0-TopGroupSelector.9",
5
5
  "type": "module",
6
6
  "description": "Topvisor UI-kit Vue",
7
7
  "author": "Topvisor",
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/popupHint.vue_vue_type_style_index_0_lang-D42xEF-j.amd","../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-B3soLr2U.amd","vue","../.chunks/forms--2-YQeWM.amd"],(function(V,l,d,k,e,$){"use strict";if(typeof e>"u")var e=window.Vue;const T=e.defineComponent({__name:"popupAlert",props:{submitText:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:["open","close","scrollContentList"],setup(f){const c=f,{submitText:i,...p}=c;return(o,t)=>(e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupAlert"},p,{onOpen:t[0]||(t[0]=s=>o.$emit("open",s)),onClose:t[1]||(t[1]=s=>o.$emit("close",s)),onScrollContentList:t[2]||(t[2]=(...s)=>o.$emit("scrollContentList",...s))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(o.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(o.$slots,"footer"),e.createVNode($._sfc_main$1,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)||o.$i18n.Common.Close),1)]),_:1})]),_:2},[o.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"header")]),key:"0"}:void 0,o.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),key:"1"}:void 0]),1040))}}),w=e.defineComponent({__name:"popupConfirm",props:{cancelText:{},submitText:{},isWarning:{type:Boolean},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:["open","close","scrollContentList","submit"],setup(f,{emit:c}){const i=f,p=c,o=e.ref(!1),t=()=>{o.value=!0,p("submit")},s=r=>{if(o.value){o.value=!1;return}p("close",r)},{submitText:a,cancelText:B,isWarning:S,...y}=i;return(r,u)=>(e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupConfirm"},y,{onOpen:u[0]||(u[0]=n=>r.$emit("open",n)),onClose:u[1]||(u[1]=n=>s(n)),onScrollContentList:u[2]||(u[2]=(...n)=>r.$emit("scrollContentList",...n))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(r.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(r.$slots,"footer"),e.createVNode($._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(B)||r.$i18n.Common.Cancel),1)]),_:1}),e.createVNode($._sfc_main$1,{onClick:t,color:e.unref(S)?"red":"blue"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)||r.$i18n.Common.Continue),1)]),_:1},8,["color"])]),_:2},[r.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"header")]),key:"0"}:void 0,r.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),key:"1"}:void 0]),1040))}}),b=e.defineComponent({__name:"popupPrompt",props:{submitText:{},cancelText:{},defaultValue:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:["open","close","scrollContentList","submit"],setup(f,{emit:c}){const i=f,p=c,o=()=>s.value=i.defaultValue??"",t=e.ref(!1),s=e.ref();e.watch(()=>i.defaultValue,()=>o(),{immediate:!0});const a=()=>{t.value=!0},B=n=>{if(t.value){t.value=!1,p("submit",s.value),o();return}o(),p("close",n)},{submitText:S,cancelText:y,defaultValue:r,...u}=i;return(n,m)=>(e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupPrompt"},u,{onOpen:m[1]||(m[1]=C=>n.$emit("open",C)),onClose:m[2]||(m[2]=C=>B(C)),onScrollContentList:m[3]||(m[3]=(...C)=>n.$emit("scrollContentList",...C))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(n.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(n.$slots,"footer"),e.createVNode($._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y)||n.$i18n.Common.Cancel),1)]),_:1}),e.createVNode($._sfc_main$1,{onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(S)||n.$i18n.Common.OK),1)]),_:1})]),_:2},[n.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"header")]),key:"0"}:void 0,n.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"default"),e.createVNode(k._sfc_main,{modelValue:s.value,"onUpdate:modelValue":m[0]||(m[0]=C=>s.value=C),modelModifiers:{trim:!0}},null,8,["modelValue"])]),key:"1"}:void 0]),1040))}}),h=e.defineComponent({__name:"popupHint",props:{hint:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},setup(f){const c=f,{hint:i,...p}=c;return(o,t)=>{const s=e.resolveDirective("top-tooltip");return e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupHint"},p,{onOpen:t[0]||(t[0]=a=>o.$emit("open",a)),onClose:t[1]||(t[1]=a=>o.$emit("close",a)),onScrollContentList:t[2]||(t[2]=(...a)=>o.$emit("scrollContentList",...a))}),e.createSlots({opener:e.withCtx(()=>[e.withDirectives(e.createVNode($._sfc_main$2,{hint:e.unref(i),class:"top-popupHint_opener"},null,8,["hint"]),[[s]])]),_:2},[o.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),key:"0"}:void 0]),1040)}}});l.TopPopup=d._sfc_main,l.TopPopupListItem=d._sfc_main$2,l.TopPopupOpener=d._sfc_main$1,l.TopPopupWidgetInput=k._sfc_main,l.TopPopupAlert=T,l.TopPopupConfirm=w,l.TopPopupHint=h,l.TopPopupPrompt=b,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/popupHint.vue_vue_type_style_index_0_lang-DtiT6NE4.amd","../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CkE912ll.amd","vue","../.chunks/forms-CUSCBQu3.amd"],(function(V,l,d,k,e,$){"use strict";if(typeof e>"u")var e=window.Vue;const T=e.defineComponent({__name:"popupAlert",props:{submitText:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:["open","close","scrollContentList"],setup(f){const c=f,{submitText:i,...p}=c;return(o,t)=>(e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupAlert"},p,{onOpen:t[0]||(t[0]=s=>o.$emit("open",s)),onClose:t[1]||(t[1]=s=>o.$emit("close",s)),onScrollContentList:t[2]||(t[2]=(...s)=>o.$emit("scrollContentList",...s))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(o.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(o.$slots,"footer"),e.createVNode($._sfc_main$1,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)||o.$i18n.Common.Close),1)]),_:1})]),_:2},[o.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"header")]),key:"0"}:void 0,o.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),key:"1"}:void 0]),1040))}}),w=e.defineComponent({__name:"popupConfirm",props:{cancelText:{},submitText:{},isWarning:{type:Boolean},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:["open","close","scrollContentList","submit"],setup(f,{emit:c}){const i=f,p=c,o=e.ref(!1),t=()=>{o.value=!0,p("submit")},s=r=>{if(o.value){o.value=!1;return}p("close",r)},{submitText:a,cancelText:B,isWarning:S,...y}=i;return(r,u)=>(e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupConfirm"},y,{onOpen:u[0]||(u[0]=n=>r.$emit("open",n)),onClose:u[1]||(u[1]=n=>s(n)),onScrollContentList:u[2]||(u[2]=(...n)=>r.$emit("scrollContentList",...n))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(r.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(r.$slots,"footer"),e.createVNode($._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(B)||r.$i18n.Common.Cancel),1)]),_:1}),e.createVNode($._sfc_main$1,{onClick:t,color:e.unref(S)?"red":"blue"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)||r.$i18n.Common.Continue),1)]),_:1},8,["color"])]),_:2},[r.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"header")]),key:"0"}:void 0,r.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),key:"1"}:void 0]),1040))}}),b=e.defineComponent({__name:"popupPrompt",props:{submitText:{},cancelText:{},defaultValue:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:["open","close","scrollContentList","submit"],setup(f,{emit:c}){const i=f,p=c,o=()=>s.value=i.defaultValue??"",t=e.ref(!1),s=e.ref();e.watch(()=>i.defaultValue,()=>o(),{immediate:!0});const a=()=>{t.value=!0},B=n=>{if(t.value){t.value=!1,p("submit",s.value),o();return}o(),p("close",n)},{submitText:S,cancelText:y,defaultValue:r,...u}=i;return(n,m)=>(e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupPrompt"},u,{onOpen:m[1]||(m[1]=C=>n.$emit("open",C)),onClose:m[2]||(m[2]=C=>B(C)),onScrollContentList:m[3]||(m[3]=(...C)=>n.$emit("scrollContentList",...C))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(n.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(n.$slots,"footer"),e.createVNode($._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y)||n.$i18n.Common.Cancel),1)]),_:1}),e.createVNode($._sfc_main$1,{onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(S)||n.$i18n.Common.OK),1)]),_:1})]),_:2},[n.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"header")]),key:"0"}:void 0,n.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"default"),e.createVNode(k._sfc_main,{modelValue:s.value,"onUpdate:modelValue":m[0]||(m[0]=C=>s.value=C),modelModifiers:{trim:!0}},null,8,["modelValue"])]),key:"1"}:void 0]),1040))}}),h=e.defineComponent({__name:"popupHint",props:{hint:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},setup(f){const c=f,{hint:i,...p}=c;return(o,t)=>{const s=e.resolveDirective("top-tooltip");return e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupHint"},p,{onOpen:t[0]||(t[0]=a=>o.$emit("open",a)),onClose:t[1]||(t[1]=a=>o.$emit("close",a)),onScrollContentList:t[2]||(t[2]=(...a)=>o.$emit("scrollContentList",...a))}),e.createSlots({opener:e.withCtx(()=>[e.withDirectives(e.createVNode($._sfc_main$2,{hint:e.unref(i),class:"top-popupHint_opener"},null,8,["hint"]),[[s]])]),_:2},[o.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),key:"0"}:void 0]),1040)}}});l.TopPopup=d._sfc_main,l.TopPopupListItem=d._sfc_main$2,l.TopPopupOpener=d._sfc_main$1,l.TopPopupWidgetInput=k._sfc_main,l.TopPopupAlert=T,l.TopPopupConfirm=w,l.TopPopupHint=h,l.TopPopupPrompt=b,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=popup.amd.js.map