@topvisor/ui 1.3.0 → 1.3.1-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/.chunks/{core-CXqQSo9c.amd.js → core-DkD6AE7J.amd.js} +2 -2
  2. package/.chunks/{core-CXqQSo9c.amd.js.map → core-DkD6AE7J.amd.js.map} +1 -1
  3. package/.chunks/{core-CY6RkZz2.es.js → core-ZuvfeeJ3.es.js} +4 -4
  4. package/.chunks/{core-CY6RkZz2.es.js.map → core-ZuvfeeJ3.es.js.map} +1 -1
  5. package/.chunks/{datepicker-BiaXdEIn.es.js → datepicker-CxWa68gc.es.js} +2 -2
  6. package/.chunks/{datepicker-BiaXdEIn.es.js.map → datepicker-CxWa68gc.es.js.map} +1 -1
  7. package/.chunks/{datepicker-DUoArkDy.amd.js → datepicker-DeYFg9AM.amd.js} +2 -2
  8. package/.chunks/{datepicker-DUoArkDy.amd.js.map → datepicker-DeYFg9AM.amd.js.map} +1 -1
  9. package/.chunks/{dialog_selectorRegions-Zlm6K2mk.es.js → dialog_selectorRegions-D1ord0Ik.es.js} +4 -4
  10. package/.chunks/{dialog_selectorRegions-Zlm6K2mk.es.js.map → dialog_selectorRegions-D1ord0Ik.es.js.map} +1 -1
  11. package/.chunks/{dialog_selectorRegions-CPRVbPAk.amd.js → dialog_selectorRegions-vQD6LBdY.amd.js} +2 -2
  12. package/.chunks/{dialog_selectorRegions-CPRVbPAk.amd.js.map → dialog_selectorRegions-vQD6LBdY.amd.js.map} +1 -1
  13. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-CLahwA6M.es.js → dialogs.vue_vue_type_script_setup_true_lang-BMDSZwZJ.es.js} +2 -2
  14. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-CLahwA6M.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-BMDSZwZJ.es.js.map} +1 -1
  15. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-D8NggYHD.amd.js → dialogs.vue_vue_type_script_setup_true_lang-DDR6uqak.amd.js} +2 -2
  16. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-D8NggYHD.amd.js.map → dialogs.vue_vue_type_script_setup_true_lang-DDR6uqak.amd.js.map} +1 -1
  17. package/.chunks/{forms-DarRVke_.es.js → forms-CRHjU2Mj.es.js} +5 -5
  18. package/.chunks/{forms-DarRVke_.es.js.map → forms-CRHjU2Mj.es.js.map} +1 -1
  19. package/.chunks/{forms-CgtkdwgA.amd.js → forms-D4uFd45i.amd.js} +3 -3
  20. package/.chunks/{forms-CgtkdwgA.amd.js.map → forms-D4uFd45i.amd.js.map} +1 -1
  21. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-CT-EXxJj.amd.js → listItem.vue_vue_type_script_setup_true_lang-B2Q4gqK6.amd.js} +2 -2
  22. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-CT-EXxJj.amd.js.map → listItem.vue_vue_type_script_setup_true_lang-B2Q4gqK6.amd.js.map} +1 -1
  23. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-DzJ_pc-d.es.js → listItem.vue_vue_type_script_setup_true_lang-DFWY29DS.es.js} +2 -2
  24. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-DzJ_pc-d.es.js.map → listItem.vue_vue_type_script_setup_true_lang-DFWY29DS.es.js.map} +1 -1
  25. package/.chunks/{menu.vue_vue_type_style_index_0_lang-COD_4iTy.es.js → menu.vue_vue_type_style_index_0_lang-Bm9sY3Ux.es.js} +2 -2
  26. package/.chunks/{menu.vue_vue_type_style_index_0_lang-COD_4iTy.es.js.map → menu.vue_vue_type_style_index_0_lang-Bm9sY3Ux.es.js.map} +1 -1
  27. package/.chunks/{menu.vue_vue_type_style_index_0_lang-BLMYjYLV.amd.js → menu.vue_vue_type_style_index_0_lang-bMtkdrEt.amd.js} +2 -2
  28. package/.chunks/{menu.vue_vue_type_style_index_0_lang-BLMYjYLV.amd.js.map → menu.vue_vue_type_style_index_0_lang-bMtkdrEt.amd.js.map} +1 -1
  29. package/.chunks/notice-7-xEtFXT.amd.js +4 -0
  30. package/.chunks/notice-7-xEtFXT.amd.js.map +1 -0
  31. package/.chunks/notice-pFWJHCd7.es.js +180 -0
  32. package/.chunks/notice-pFWJHCd7.es.js.map +1 -0
  33. package/.chunks/{page.vue_vue_type_script_setup_true_lang-DLebrPmi.amd.js → page.vue_vue_type_script_setup_true_lang-DzuM-_u7.amd.js} +2 -2
  34. package/.chunks/{page.vue_vue_type_script_setup_true_lang-DLebrPmi.amd.js.map → page.vue_vue_type_script_setup_true_lang-DzuM-_u7.amd.js.map} +1 -1
  35. package/.chunks/{page.vue_vue_type_script_setup_true_lang-BS0aEP4i.es.js → page.vue_vue_type_script_setup_true_lang-o3lCjjxW.es.js} +4 -4
  36. package/.chunks/{page.vue_vue_type_script_setup_true_lang-BS0aEP4i.es.js.map → page.vue_vue_type_script_setup_true_lang-o3lCjjxW.es.js.map} +1 -1
  37. package/.chunks/{popup-CtvJLWn3.amd.js → popup-C05LLKni.amd.js} +2 -2
  38. package/.chunks/{popup-CtvJLWn3.amd.js.map → popup-C05LLKni.amd.js.map} +1 -1
  39. package/.chunks/{popup-AG94kehM.es.js → popup-Dr3j_FOV.es.js} +2 -2
  40. package/.chunks/{popup-AG94kehM.es.js.map → popup-Dr3j_FOV.es.js.map} +1 -1
  41. package/.chunks/{utils-D9D3zzjc.amd.js → utils-BgEQlXpF.amd.js} +2 -2
  42. package/.chunks/{utils-D9D3zzjc.amd.js.map → utils-BgEQlXpF.amd.js.map} +1 -1
  43. package/.chunks/{utils-3M9LC_L_.es.js → utils-Bsv1-1_h.es.js} +2 -2
  44. package/.chunks/{utils-3M9LC_L_.es.js.map → utils-Bsv1-1_h.es.js.map} +1 -1
  45. package/.chunks/{utils-DcP4RFmH.amd.js → utils-DQvj_C9w.amd.js} +2 -2
  46. package/.chunks/{utils-DcP4RFmH.amd.js.map → utils-DQvj_C9w.amd.js.map} +1 -1
  47. package/.chunks/{utils-BitKP31L.es.js → utils-sKjgHYod.es.js} +3 -3
  48. package/.chunks/{utils-BitKP31L.es.js.map → utils-sKjgHYod.es.js.map} +1 -1
  49. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-xwjgBq1L.es.js → widgetInput.vue_vue_type_script_setup_true_lang-5LVABONB.es.js} +2 -2
  50. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-xwjgBq1L.es.js.map → widgetInput.vue_vue_type_script_setup_true_lang-5LVABONB.es.js.map} +1 -1
  51. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-BK-pTu3V.amd.js → widgetInput.vue_vue_type_script_setup_true_lang-B7zzY9Mx.amd.js} +2 -2
  52. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-BK-pTu3V.amd.js.map → widgetInput.vue_vue_type_script_setup_true_lang-B7zzY9Mx.amd.js.map} +1 -1
  53. package/assets/notice.css +1 -1
  54. package/charts/charts.amd.js +1 -1
  55. package/charts/charts.js +1 -1
  56. package/core/app.amd.js +1 -1
  57. package/core/app.js +5 -5
  58. package/dialog/dialog.amd.js +1 -1
  59. package/dialog/dialog.js +2 -2
  60. package/forms/forms.amd.js +1 -1
  61. package/forms/forms.js +1 -1
  62. package/formsExt/formsExt.amd.js +1 -1
  63. package/formsExt/formsExt.js +4 -4
  64. package/layout/layout.amd.js +1 -1
  65. package/layout/layout.js +1 -1
  66. package/package.json +1 -1
  67. package/popup/popup.amd.js +1 -1
  68. package/popup/popup.js +4 -4
  69. package/popup/worker.amd.js +1 -1
  70. package/popup/worker.js +2 -2
  71. package/project/project.amd.js +1 -1
  72. package/project/project.js +5 -5
  73. package/src/components/core/notice/item/types.d.ts +3 -3
  74. package/src/components/core/notice/utils.d.ts +1 -1
  75. package/tabsView/tabsView.amd.js +1 -1
  76. package/tabsView/tabsView.js +2 -2
  77. package/utils/clipboard.amd.js +3 -3
  78. package/utils/clipboard.amd.js.map +1 -1
  79. package/utils/clipboard.js +9 -7
  80. package/utils/clipboard.js.map +1 -1
  81. package/utils/date.amd.js +1 -1
  82. package/utils/date.js +1 -1
  83. package/utils/device.amd.js +1 -1
  84. package/utils/device.js +1 -1
  85. package/utils/lodash.amd.js +1 -1
  86. package/utils/lodash.js +1 -1
  87. package/utils/price.amd.js +1 -1
  88. package/utils/price.js +1 -1
  89. package/utils/searchers.amd.js +1 -1
  90. package/utils/searchers.js +3 -3
  91. package/utils/string.amd.js +1 -1
  92. package/utils/string.js +1 -1
  93. package/.chunks/notice-CPtAnc7p.amd.js +0 -4
  94. package/.chunks/notice-CPtAnc7p.amd.js.map +0 -1
  95. package/.chunks/notice-fno9saBY.es.js +0 -175
  96. package/.chunks/notice-fno9saBY.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils-BitKP31L.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) return;\n\n\t\tconst el = e.target as HTMLElement;\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\tconst el = (e.target as HTMLElement).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\tconst eventTarget = e.target as HTMLElement;\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\tconst eventTarget = event.target as HTMLElement;\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","_a","onCreate","onOpen","onClose","$dialog","genVueOptions","options","_b","getElDialogById","id","updatePageVue","dialogId","pageName","pageNameNext","dialog","getDialogWorker","nextTick","waitWhile","elDialogBody","connectScrollShadow","initPopup","_e","$popup","elPopup","elPageContents","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-sKjgHYod.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) return;\n\n\t\tconst el = e.target as HTMLElement;\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\tconst el = (e.target as HTMLElement).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\tconst eventTarget = e.target as HTMLElement;\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\tconst eventTarget = event.target as HTMLElement;\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","_a","onCreate","onOpen","onClose","$dialog","genVueOptions","options","_b","getElDialogById","id","updatePageVue","dialogId","pageName","pageNameNext","dialog","getDialogWorker","nextTick","waitWhile","elDialogBody","connectScrollShadow","initPopup","_e","$popup","elPopup","elPageContents","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,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-DarRVke_.es.js";
2
+ import { _ as u } from "./forms-CRHjU2Mj.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-xwjgBq1L.es.js.map
39
+ //# sourceMappingURL=widgetInput.vue_vue_type_script_setup_true_lang-5LVABONB.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widgetInput.vue_vue_type_script_setup_true_lang-xwjgBq1L.es.js","sources":["../../src/components/popup/popup/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-5LVABONB.es.js","sources":["../../src/components/popup/popup/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-CgtkdwgA.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-BK-pTu3V.amd.js.map
1
+ define(["require","exports","vue","./forms-D4uFd45i.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-B7zzY9Mx.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widgetInput.vue_vue_type_script_setup_true_lang-BK-pTu3V.amd.js","sources":["../../src/components/popup/popup/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-B7zzY9Mx.amd.js","sources":["../../src/components/popup/popup/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"}
package/assets/notice.css CHANGED
@@ -1 +1 @@
1
- .top-notice_item{--top-notice-item-color: var(--color-text-primary);box-shadow:var(--top-shadow);border-radius:var(--top-radius-3);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:var(--top-padding-4);padding-right:calc(var(--top-padding-4) + 20px + var(--top-padding-1));overflow:hidden;display:flex;flex-direction:column;gap:var(--top-gap-3);align-items:flex-start;position:relative;transform:translateY(-100px);transition:margin .3s,transform .3s,filter .3s,opacity .3s}.top-notice_item:before{content:"";background:var(--color-bg-lightning-1);position:absolute;inset:0;z-index:-1;opacity:.9}.top-notice_item-showed{transform:none}.top-notice_item-hightlight{filter:brightness(110%);transform:translate(-20px)}.top-notice_item-closed{margin-bottom:-55px;transform:translate(500px);opacity:0}.top-notice_item-closed_top{transform:translateY(-100px)}.top-notice_item-closed_right{transform:translate(500px)}.top-notice_item-closed_bottom{transform:translateY(-200px)}.top-notice_item-closed_left{transform:translate(-500px)}.top-notice_item-info{--top-notice-item-color: var(--color-text-primary)}.top-notice_item-success{--top-notice-item-color: var(--color-text-positive)}.top-notice_item-warning{--top-notice-item-color: var(--color-text-warning)}.top-notice_item-error{--top-notice-item-color: var(--color-text-negative)}.top-notice_item-alt{--top-notice-item-color: var(--color-text-info)}.top-notice_itemTextWrapper{width:100%;display:flex;gap:var(--top-gap-1);flex-direction:column}.top-notice_itemTitle{color:var(--top-notice-item-color);font-weight:600}.top-notice_itemTitle a{color:inherit;text-decoration:underline}.top-notice_itemTitle a:hover{text-decoration:none}.top-notice_itemText{max-height:80vh;overflow:auto}.top-notice_itemMetaText{border-top:1px dashed var(--color-line-3);width:100%;padding:var(--top-padding-2) 0 0 0}.top-notice_itemClose{--top-icon-color: var(--color-text-3);--top-icon-size: 20px;--top-icon-width: 20px;cursor:pointer;position:absolute;top:var(--top-padding-4);right:var(--top-padding-4)}.top-notice_itemClose:hover{--top-icon-color: var(--color-text-2)}@media only screen and (max-width: 600px){.top-notice{width:auto}.top-notice_item-hightlight{transform:translateY(-10px)}}:root{--top-notice-top: var(--top-padding-4);--top-notice-right: var(--top-padding-4)}.top-notice{width:400px;font-size:14px;position:fixed;top:var(--top-notice-top);right:var(--top-notice-right);z-index:1000010;display:flex;flex-direction:column-reverse;gap:var(--top-gap-2)}.top-notice ul{padding:0 0 0 var(--top-padding-5)}@media only screen and (max-width: 600px){:root{--top-notice-top: var(--top-padding-4);--top-notice-right: var(--top-padding-4)}.top-notice{width:auto;left:var(--top-notice-right)}}
1
+ .top-notice_item{--top-notice-item-color: var(--color-text-primary);box-shadow:var(--top-shadow);border-radius:var(--top-radius-3);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:var(--top-padding-4);padding-right:calc(var(--top-padding-4) + 20px + var(--top-padding-1));overflow:hidden;display:flex;flex-direction:column;gap:var(--top-gap-3);align-items:flex-start;position:relative;transform:translateY(-100px);transition:margin .3s,transform .3s,filter .3s,opacity .3s}.top-notice_item:before{content:"";background:var(--color-bg-lightning-1);position:absolute;inset:0;z-index:-1;opacity:.9}.top-notice_item-showed{transform:none}.top-notice_item-hightlight{filter:brightness(110%);transform:translate(-20px)}.top-notice_item-closed{margin-bottom:-55px;transform:translate(500px);opacity:0}.top-notice_item-closed_top{transform:translateY(-100px)}.top-notice_item-closed_right{transform:translate(500px)}.top-notice_item-closed_bottom{transform:translateY(-200px)}.top-notice_item-closed_left{transform:translate(-500px)}.top-notice_item-info{--top-notice-item-color: var(--color-text-primary)}.top-notice_item-success{--top-notice-item-color: var(--color-text-positive)}.top-notice_item-warning{--top-notice-item-color: var(--color-text-warning)}.top-notice_item-error{--top-notice-item-color: var(--color-text-negative)}.top-notice_item-alt{--top-notice-item-color: var(--color-text-info)}.top-notice_itemTextWrapper{width:100%;display:flex;gap:var(--top-gap-1);flex-direction:column}.top-notice_itemTitle{color:var(--top-notice-item-color);font-weight:600}.top-notice_itemTitle a{color:inherit;text-decoration:underline}.top-notice_itemTitle a:hover{text-decoration:none}.top-notice_itemText{max-height:80vh;overflow:auto}.top-notice_itemButtons{display:flex;gap:var(--top-gap-2)}.top-notice_itemMetaText{border-top:1px dashed var(--color-line-3);width:100%;padding:var(--top-padding-2) 0 0 0}.top-notice_itemClose{--top-icon-color: var(--color-text-3);--top-icon-size: 20px;--top-icon-width: 20px;cursor:pointer;position:absolute;top:var(--top-padding-4);right:var(--top-padding-4)}.top-notice_itemClose:hover{--top-icon-color: var(--color-text-2)}@media only screen and (max-width: 600px){.top-notice{width:auto}.top-notice_item-hightlight{transform:translateY(-10px)}}:root{--top-notice-top: var(--top-padding-4);--top-notice-right: var(--top-padding-4)}.top-notice{width:400px;font-size:14px;position:fixed;top:var(--top-notice-top);right:var(--top-notice-right);z-index:1000010;display:flex;flex-direction:column-reverse;gap:var(--top-gap-2)}.top-notice ul{padding:0 0 0 var(--top-padding-5)}@media only screen and (max-width: 600px){:root{--top-notice-top: var(--top-padding-4);--top-notice-right: var(--top-padding-4)}.top-notice{width:auto;left:var(--top-notice-right)}}
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-CgtkdwgA.amd","../utils/number.amd","../require/css.amd!../assets/charts.css"],(function(T,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"},_={class:"top-miniChart_dataValue"},w=["innerHTML"],D=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(m){const o=m,s=e.useModel(m,"modelValue"),i=t=>{let l=u.value;o.isInvert&&(t-=1,l-=1);let a=l>0?Math.round(t/l*(100-y)):0;return o.isInvert?100-a:a+y},p=t=>o.activeDates.includes(t),u=e.computed(()=>Math.max(...o.values)),c=e.computed(()=>o.dates.slice().reverse()),v=e.computed(()=>o.dates.length?o.numberCols-o.dates.length:0),h=()=>{s.value=null},r=(t,l,a)=>{t.target instanceof HTMLElement&&(s.value={elCol:t.target,date:M.dateFormat(l),value:a===null?"--":a+(o.valueSuffix??"")})},n=e.computed(()=>{let t=o.dynamic;if(typeof t>"u"){const a=o.values[o.keysForDyn.start];t=o.values[o.keysForDyn.end]-a}return(t<0?-1:1)*g.percentOfNumber(Math.abs(t))}),d=e.computed(()=>{let t="stay";return o.isInvert?(n.value>0&&(t="down"),n.value<0&&(t="up")):(n.value>0&&(t="up"),n.value<0&&(t="down")),t});return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart":!0,"top-miniChart_hideChartInMobile":t.hideChartInMobile,[`top-color_${t.color}`]:!0})},[e.createElementVNode("div",{class:"top-miniChart_title top-ellipsis","data-top-icon":t.gIcon},e.toDisplayString(t.title),9,V),e.createElementVNode("div",B,[e.createElementVNode("div",{class:"top-miniChart_chartGrid",onMouseleave:l[1]||(l[1]=a=>h())},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(a,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart_chartGridCol":!0,"top-active":p(a)}),onMouseenter:I=>r(I,a,t.values[t.values.length-f-1])},[e.createElementVNode("div",{style:e.normalizeStyle("height:"+i(t.values[t.values.length-f-1])+"%")},null,4)],42,b))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,()=>(e.openBlock(),e.createElementBlock("div",{class:"top-miniChart_chartGridCol top-miniChart_chartGridCol-none",onMouseenter:l[0]||(l[0]=a=>h())},[...l[2]||(l[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_${d.value}`]:!0})},e.toDisplayString(Math.abs(n.value)||""),3),e.createElementVNode("span",_,e.toDisplayString(e.unref(g.percentOfNumber)(t.values[t.values.length-1])||0),1)]),t.additionalHTML?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:t.additionalHTML},null,8,w)):e.createCommentVNode("",!0)],2))}}),N={key:0,class:"top-miniCharts_pages"},S=["onClick"],H=e.defineComponent({__name:"miniCharts",props:e.mergeModels({modelValue:{},countCharts:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(m){const o=m,s=e.useModel(m,"modelValue"),i=e.ref(null);let p;const u=e.ref(1),c=e.ref(1),v=()=>{u.value=Math.round(i.value.scrollHeight/i.value.clientHeight)};e.watch(u,()=>{u.value<c.value&&(c.value=1)}),e.watch(()=>o.countCharts,()=>v(),{flush:"post"});const h=e.computed(()=>{if(!s.value)return{};const r=s.value.elCol.getBoundingClientRect(),n={top:r.bottom+window.scrollY+"px"};return document.documentElement.clientWidth/2>r.right?n.left=r.right+window.scrollX+10+"px":(n.left=r.left+window.scrollX-10+"px",n.transform="translate(-100%, 0)"),n});return e.onMounted(()=>{p=new ResizeObserver(()=>v()),p.observe(i.value),e.watch(c,()=>{const d=(i.value.children[0].clientHeight+parseInt(window.getComputedStyle(i.value).getPropertyValue("row-gap")))*(c.value-1);i.value.scrollTo({top:d,behavior:"smooth"})})}),e.onUnmounted(()=>{p.disconnect()}),(r,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["top-miniCharts",{"top-miniCharts":!0,scrollable:u.value>1,"top-miniCharts_hideChartInMobile":r.hideChartInMobile}]),ref_key:"elRef",ref:i},[e.renderSlot(r.$slots,"default"),u.value>1?(e.openBlock(),e.createElementBlock("div",N,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,d=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass({"top-active":d===c.value}),onClick:t=>c.value=d},null,10,S))),256))])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-miniCharts_tooltip",style:e.normalizeStyle(h.value)},[e.createElementVNode("span",null,e.toDisplayString(s.value.date),1),e.createElementVNode("span",null,e.toDisplayString(s.value.value),1)],4)):e.createCommentVNode("",!0)]))],2))}});C.TopMiniChart=D,C.TopMiniCharts=H,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","vue","../.chunks/forms-D4uFd45i.amd","../utils/number.amd","../require/css.amd!../assets/charts.css"],(function(T,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"},_={class:"top-miniChart_dataValue"},w=["innerHTML"],D=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(m){const o=m,s=e.useModel(m,"modelValue"),i=t=>{let l=u.value;o.isInvert&&(t-=1,l-=1);let a=l>0?Math.round(t/l*(100-y)):0;return o.isInvert?100-a:a+y},p=t=>o.activeDates.includes(t),u=e.computed(()=>Math.max(...o.values)),c=e.computed(()=>o.dates.slice().reverse()),v=e.computed(()=>o.dates.length?o.numberCols-o.dates.length:0),h=()=>{s.value=null},r=(t,l,a)=>{t.target instanceof HTMLElement&&(s.value={elCol:t.target,date:M.dateFormat(l),value:a===null?"--":a+(o.valueSuffix??"")})},n=e.computed(()=>{let t=o.dynamic;if(typeof t>"u"){const a=o.values[o.keysForDyn.start];t=o.values[o.keysForDyn.end]-a}return(t<0?-1:1)*g.percentOfNumber(Math.abs(t))}),d=e.computed(()=>{let t="stay";return o.isInvert?(n.value>0&&(t="down"),n.value<0&&(t="up")):(n.value>0&&(t="up"),n.value<0&&(t="down")),t});return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart":!0,"top-miniChart_hideChartInMobile":t.hideChartInMobile,[`top-color_${t.color}`]:!0})},[e.createElementVNode("div",{class:"top-miniChart_title top-ellipsis","data-top-icon":t.gIcon},e.toDisplayString(t.title),9,V),e.createElementVNode("div",B,[e.createElementVNode("div",{class:"top-miniChart_chartGrid",onMouseleave:l[1]||(l[1]=a=>h())},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(a,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart_chartGridCol":!0,"top-active":p(a)}),onMouseenter:I=>r(I,a,t.values[t.values.length-f-1])},[e.createElementVNode("div",{style:e.normalizeStyle("height:"+i(t.values[t.values.length-f-1])+"%")},null,4)],42,b))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,()=>(e.openBlock(),e.createElementBlock("div",{class:"top-miniChart_chartGridCol top-miniChart_chartGridCol-none",onMouseenter:l[0]||(l[0]=a=>h())},[...l[2]||(l[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_${d.value}`]:!0})},e.toDisplayString(Math.abs(n.value)||""),3),e.createElementVNode("span",_,e.toDisplayString(e.unref(g.percentOfNumber)(t.values[t.values.length-1])||0),1)]),t.additionalHTML?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:t.additionalHTML},null,8,w)):e.createCommentVNode("",!0)],2))}}),N={key:0,class:"top-miniCharts_pages"},S=["onClick"],H=e.defineComponent({__name:"miniCharts",props:e.mergeModels({modelValue:{},countCharts:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(m){const o=m,s=e.useModel(m,"modelValue"),i=e.ref(null);let p;const u=e.ref(1),c=e.ref(1),v=()=>{u.value=Math.round(i.value.scrollHeight/i.value.clientHeight)};e.watch(u,()=>{u.value<c.value&&(c.value=1)}),e.watch(()=>o.countCharts,()=>v(),{flush:"post"});const h=e.computed(()=>{if(!s.value)return{};const r=s.value.elCol.getBoundingClientRect(),n={top:r.bottom+window.scrollY+"px"};return document.documentElement.clientWidth/2>r.right?n.left=r.right+window.scrollX+10+"px":(n.left=r.left+window.scrollX-10+"px",n.transform="translate(-100%, 0)"),n});return e.onMounted(()=>{p=new ResizeObserver(()=>v()),p.observe(i.value),e.watch(c,()=>{const d=(i.value.children[0].clientHeight+parseInt(window.getComputedStyle(i.value).getPropertyValue("row-gap")))*(c.value-1);i.value.scrollTo({top:d,behavior:"smooth"})})}),e.onUnmounted(()=>{p.disconnect()}),(r,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["top-miniCharts",{"top-miniCharts":!0,scrollable:u.value>1,"top-miniCharts_hideChartInMobile":r.hideChartInMobile}]),ref_key:"elRef",ref:i},[e.renderSlot(r.$slots,"default"),u.value>1?(e.openBlock(),e.createElementBlock("div",N,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,d=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass({"top-active":d===c.value}),onClick:t=>c.value=d},null,10,S))),256))])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-miniCharts_tooltip",style:e.normalizeStyle(h.value)},[e.createElementVNode("span",null,e.toDisplayString(s.value.date),1),e.createElementVNode("span",null,e.toDisplayString(s.value.value),1)],4)):e.createCommentVNode("",!0)]))],2))}});C.TopMiniChart=D,C.TopMiniCharts=H,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=charts.amd.js.map
package/charts/charts.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Core as P } from "../core/app.js";
2
2
  import { defineComponent as T, mergeModels as S, useModel as $, computed as h, createElementBlock as i, openBlock as a, normalizeClass as f, createElementVNode as r, createCommentVNode as k, toDisplayString as g, Fragment as w, renderList as H, normalizeStyle as L, unref as F, ref as b, watch as V, onMounted as N, onUnmounted as R, renderSlot as z, createBlock as G, Teleport as O } from "vue";
3
- import { e as X } from "../.chunks/forms-DarRVke_.es.js";
3
+ import { e as X } from "../.chunks/forms-CRHjU2Mj.es.js";
4
4
  import { percentOfNumber as I } from "../utils/number.js";
5
5
  const E = ["../assets/charts.css"].map((v) => import.meta.resolve(v));
6
6
  P.insertCSSLinkToPage(E, !0);
package/core/app.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-CgtkdwgA.amd","../.chunks/core-CXqQSo9c.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-D9D3zzjc.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-D8NggYHD.amd"],(function(y,n,c,f,d,m,S,g,p,k){"use strict";if(typeof d>"u")var d=window.Vue;class E{#s;#t;#e;#i;#c;#a=[];#o=[];#n=[];#r=[];constructor(s){var t;this.#t=s.store,this.#s=this.#t.$id,this.#e=s.options.Page,this.#i=s.options.user,this.#c=s.options.Api,this.#a=s.options.tpaNamesUrlHash||[],this.#o=s.options.tpaNamesStorage||[],this.#n=s.options.tpaNamesStorageLocal||[],this.#r=s.options.tpaNamesGuestLink||[],s.store.genGuestLink=(i,a)=>this.genGuestLink(i,a),(t=this.#i.guest_data)!=null&&t.data||(this.#u(),this.#u(!0),this.#f()),this.#S(),this.#k();const e=c.debounce(()=>{this.#m(),this.#g(),this.#g(!0)});s.store.$subscribe(e)}async genGuestLink(s,e){const t=this.#p();e=Object.assign(e,Object.fromEntries(t));const i=await this.#c.gen(s).setParams(e).call();if(i!=null&&i.errors)return;const a=i.result;await m.guestLinkToClipboard(a)}#p(){const s=new Map;return this.#r.forEach(e=>{const t=S.camelToSnakeCase(e);s.set(t,this.#t[e])}),s}#h(s){s.forEach((e,t)=>{const i=this.#t[t];if(e!=null&&i!==void 0&&e!=null&&e.constructor&&e.constructor===i.constructor){if(t.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[t]=e}})}#l(s){const e=new Map;return s.forEach((t,i)=>{t!==null&&(t=JSON.stringify(t),e.set(i,t))}),e}#d(s){const e=new Map;return s.forEach((t,i)=>{if(!(t==null||t==="false")){try{if(typeof t=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(t)&&(t=JSON.parse(t)),t==null||t==="false")return}catch{}e.set(i,t)}}),e}#f(){let s;try{s=JSON.parse(g.getHash(this.#s))}catch{}if(!s)return;const e=new Map;this.#a.forEach(t=>{const i=s[t];i&&e.set(t,i)}),this.#h(e)}#m(){const s=new Map;this.#a.forEach(i=>{const a=this.#t[i];s.set(i,a)});const e=Object.fromEntries(s),t=JSON.stringify(e);g.setHash(this.#s,t)}#u(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=localStorage.getItem(i+":"+o);e.set(o,r)});const a=this.#d(e);this.#h(a)}#g(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=this.#t[o];e.set(o,r)});const a=this.#l(e);t.forEach(o=>{const r=a.get(o);localStorage.setItem(i+":"+o,r)})}#S(){var a,o,r;const s=(o=(a=this.#i)==null?void 0:a.guest_data)==null?void 0:o.data;if(!s)return;this.#i.id===-1&&(this.#i.positionsReverseDates=s.positionsReverseDates);const e=new Map;this.#r.forEach(h=>{const u=s[h];e.set(h,u)});const t=this.#d(e);this.#h(t);const i=$(".mod_guest_title");if(((r=this.#t.competitorsIds)==null?void 0:r.length)===1&&this.#e.page.data.competitors){let h=this.#e.page.data.competitors.filter(u=>u.id===s.competitorsIds[0]);h.length&&($("a",i).attr("href","http://"+h[0].url),$("a",i).text(h[0].name))}}#k(){this.#t.regionsIndexes&&d.watch(this.#t.regionsIndexes,s=>{if(!s.length)return;s.forEach((i,a)=>s[a]=i);const e=TplProjectSelectorRegion.genSearchersMap(),t=[];e.forEach(i=>{i.regions.forEach(a=>{a.index!==-1&&t.push(a.index)})}),this.#t.regionsIndexes=s.filter(i=>t.includes(i))},{immediate:!0}),this.#t.competitorsIds&&d.watch(this.#t.competitorsIds,s=>{if(!s.length)return;s.forEach((t,i)=>s[i]=t);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(t=>{t.on>=0&&e.push(t.id)}),this.#t.competitorsIds=s.filter(t=>e.includes(t))},{immediate:!0})}}const w=l=>{var e,t,i,a;const s=l;!((e=s.options.tpaNamesUrlHash)!=null&&e.length)&&!((t=s.options.tpaNamesStorage)!=null&&t.length)&&!((i=s.options.tpaNamesStorageLocal)!=null&&i.length)&&!((a=s.options.tpaNamesGuestLink)!=null&&a.length)||new E(s)};n.Core=c.Core,n.i18nPlugin=c.i18n,n.useI18n=c.useI18n,n.useI18nLang=c.useI18nLang,n.corePlugin=f.core,n.useAsyncTopDialog=p.useAsyncTopDialog,n.useTopDialog=p.useTopDialog,n.TopDialogWorker=k.TopDialogWorker,n.piniaTPAPlugin=w,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/forms-D4uFd45i.amd","../.chunks/core-DkD6AE7J.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-BgEQlXpF.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-DDR6uqak.amd"],(function(y,n,c,f,d,m,S,g,p,k){"use strict";if(typeof d>"u")var d=window.Vue;class E{#s;#t;#e;#i;#c;#a=[];#o=[];#n=[];#r=[];constructor(s){var t;this.#t=s.store,this.#s=this.#t.$id,this.#e=s.options.Page,this.#i=s.options.user,this.#c=s.options.Api,this.#a=s.options.tpaNamesUrlHash||[],this.#o=s.options.tpaNamesStorage||[],this.#n=s.options.tpaNamesStorageLocal||[],this.#r=s.options.tpaNamesGuestLink||[],s.store.genGuestLink=(i,a)=>this.genGuestLink(i,a),(t=this.#i.guest_data)!=null&&t.data||(this.#u(),this.#u(!0),this.#f()),this.#S(),this.#k();const e=c.debounce(()=>{this.#m(),this.#g(),this.#g(!0)});s.store.$subscribe(e)}async genGuestLink(s,e){const t=this.#p();e=Object.assign(e,Object.fromEntries(t));const i=await this.#c.gen(s).setParams(e).call();if(i!=null&&i.errors)return;const a=i.result;await m.guestLinkToClipboard(a)}#p(){const s=new Map;return this.#r.forEach(e=>{const t=S.camelToSnakeCase(e);s.set(t,this.#t[e])}),s}#h(s){s.forEach((e,t)=>{const i=this.#t[t];if(e!=null&&i!==void 0&&e!=null&&e.constructor&&e.constructor===i.constructor){if(t.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[t]=e}})}#l(s){const e=new Map;return s.forEach((t,i)=>{t!==null&&(t=JSON.stringify(t),e.set(i,t))}),e}#d(s){const e=new Map;return s.forEach((t,i)=>{if(!(t==null||t==="false")){try{if(typeof t=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(t)&&(t=JSON.parse(t)),t==null||t==="false")return}catch{}e.set(i,t)}}),e}#f(){let s;try{s=JSON.parse(g.getHash(this.#s))}catch{}if(!s)return;const e=new Map;this.#a.forEach(t=>{const i=s[t];i&&e.set(t,i)}),this.#h(e)}#m(){const s=new Map;this.#a.forEach(i=>{const a=this.#t[i];s.set(i,a)});const e=Object.fromEntries(s),t=JSON.stringify(e);g.setHash(this.#s,t)}#u(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=localStorage.getItem(i+":"+o);e.set(o,r)});const a=this.#d(e);this.#h(a)}#g(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=this.#t[o];e.set(o,r)});const a=this.#l(e);t.forEach(o=>{const r=a.get(o);localStorage.setItem(i+":"+o,r)})}#S(){var a,o,r;const s=(o=(a=this.#i)==null?void 0:a.guest_data)==null?void 0:o.data;if(!s)return;this.#i.id===-1&&(this.#i.positionsReverseDates=s.positionsReverseDates);const e=new Map;this.#r.forEach(h=>{const u=s[h];e.set(h,u)});const t=this.#d(e);this.#h(t);const i=$(".mod_guest_title");if(((r=this.#t.competitorsIds)==null?void 0:r.length)===1&&this.#e.page.data.competitors){let h=this.#e.page.data.competitors.filter(u=>u.id===s.competitorsIds[0]);h.length&&($("a",i).attr("href","http://"+h[0].url),$("a",i).text(h[0].name))}}#k(){this.#t.regionsIndexes&&d.watch(this.#t.regionsIndexes,s=>{if(!s.length)return;s.forEach((i,a)=>s[a]=i);const e=TplProjectSelectorRegion.genSearchersMap(),t=[];e.forEach(i=>{i.regions.forEach(a=>{a.index!==-1&&t.push(a.index)})}),this.#t.regionsIndexes=s.filter(i=>t.includes(i))},{immediate:!0}),this.#t.competitorsIds&&d.watch(this.#t.competitorsIds,s=>{if(!s.length)return;s.forEach((t,i)=>s[i]=t);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(t=>{t.on>=0&&e.push(t.id)}),this.#t.competitorsIds=s.filter(t=>e.includes(t))},{immediate:!0})}}const w=l=>{var e,t,i,a;const s=l;!((e=s.options.tpaNamesUrlHash)!=null&&e.length)&&!((t=s.options.tpaNamesStorage)!=null&&t.length)&&!((i=s.options.tpaNamesStorageLocal)!=null&&i.length)&&!((a=s.options.tpaNamesGuestLink)!=null&&a.length)||new E(s)};n.Core=c.Core,n.i18nPlugin=c.i18n,n.useI18n=c.useI18n,n.useI18nLang=c.useI18nLang,n.corePlugin=f.core,n.useAsyncTopDialog=p.useAsyncTopDialog,n.useTopDialog=p.useTopDialog,n.TopDialogWorker=k.TopDialogWorker,n.piniaTPAPlugin=w,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 } from "../.chunks/forms-DarRVke_.es.js";
2
- import { C as I, i as T, u as b, a as y } from "../.chunks/forms-DarRVke_.es.js";
3
- import { c as G } from "../.chunks/core-CY6RkZz2.es.js";
1
+ import { d } from "../.chunks/forms-CRHjU2Mj.es.js";
2
+ import { C as I, i as T, u as b, a as y } from "../.chunks/forms-CRHjU2Mj.es.js";
3
+ import { c as G } from "../.chunks/core-ZuvfeeJ3.es.js";
4
4
  import { watch as p } from "vue";
5
5
  import { guestLinkToClipboard as f } from "../utils/clipboard.js";
6
6
  import { camelToSnakeCase as g } from "../utils/string.js";
7
7
  import { getHash as l, setHash as m } from "../utils/route.js";
8
- import { u as A, a as D } from "../.chunks/utils-3M9LC_L_.es.js";
9
- import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-CLahwA6M.es.js";
8
+ import { u as A, a as D } from "../.chunks/utils-Bsv1-1_h.es.js";
9
+ import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BMDSZwZJ.es.js";
10
10
  class u {
11
11
  #s;
12
12
  #t;
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-DLebrPmi.amd","vue","../.chunks/utils-D9D3zzjc.amd"],(function(c,n,u,e,t){"use strict";if(typeof e>"u")var e=window.Vue;const i={name:{type:String,required:!0},order:{type:Number,required:!0},prevName:String,footerFullWith:Boolean},l=e.defineComponent({__name:"pageComponent",props:{component:{},keepAlive:{type:Boolean,default:!0},props:{},name:{},order:{},prevName:{},footerFullWith:{type:Boolean}},setup(m){const a=m,r=t.useTopDialogSelf(),s=(o,p)=>{if(!p.value){if(o.name!=="AsyncComponentWrapper"){p.value=!0;return}r.needShowPage(a.name)&&(r.isLoadingPage.value=!0,o.__asyncResolved&&(p.value=!0,r.isLoadingPage.value=!1))}};if(a.component.name==="AsyncComponentWrapper"){const o=e.ref(!1);e.onUpdated(()=>{s(a.component,o)})}return(o,p)=>(e.openBlock(),e.createBlock(e.KeepAlive,{include:o.keepAlive?"":"none"},[e.unref(r).needShowPage(o.name)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.component),e.mergeProps({key:0},a,{name:o.name,order:o.order,prevName:o.prevName}),null,16,["name","order","prevName"])):e.createCommentVNode("",!0)],1032,["include"]))}});n.TopDialog=u._sfc_main,n.TopDialogPage=u._sfc_main$1,n.useTopDialogSelf=t.useTopDialogSelf,n.TopDialogPageComponent=l,n.propsPageCommon=i,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-DzuM-_u7.amd","vue","../.chunks/utils-BgEQlXpF.amd"],(function(c,n,u,e,t){"use strict";if(typeof e>"u")var e=window.Vue;const i={name:{type:String,required:!0},order:{type:Number,required:!0},prevName:String,footerFullWith:Boolean},l=e.defineComponent({__name:"pageComponent",props:{component:{},keepAlive:{type:Boolean,default:!0},props:{},name:{},order:{},prevName:{},footerFullWith:{type:Boolean}},setup(m){const a=m,r=t.useTopDialogSelf(),s=(o,p)=>{if(!p.value){if(o.name!=="AsyncComponentWrapper"){p.value=!0;return}r.needShowPage(a.name)&&(r.isLoadingPage.value=!0,o.__asyncResolved&&(p.value=!0,r.isLoadingPage.value=!1))}};if(a.component.name==="AsyncComponentWrapper"){const o=e.ref(!1);e.onUpdated(()=>{s(a.component,o)})}return(o,p)=>(e.openBlock(),e.createBlock(e.KeepAlive,{include:o.keepAlive?"":"none"},[e.unref(r).needShowPage(o.name)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.component),e.mergeProps({key:0},a,{name:o.name,order:o.order,prevName:o.prevName}),null,16,["name","order","prevName"])):e.createCommentVNode("",!0)],1032,["include"]))}});n.TopDialog=u._sfc_main,n.TopDialogPage=u._sfc_main$1,n.useTopDialogSelf=t.useTopDialogSelf,n.TopDialogPageComponent=l,n.propsPageCommon=i,Object.defineProperty(n,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-BS0aEP4i.es.js";
1
+ import { _ as k, a as B } from "../.chunks/page.vue_vue_type_script_setup_true_lang-o3lCjjxW.es.js";
2
2
  import { defineComponent as l, ref as i, onUpdated as u, createBlock as a, openBlock as p, KeepAlive as s, createCommentVNode as d, unref as g, resolveDynamicComponent as c, mergeProps as f } from "vue";
3
- import { b as v } from "../.chunks/utils-3M9LC_L_.es.js";
3
+ import { b as v } from "../.chunks/utils-Bsv1-1_h.es.js";
4
4
  const C = {
5
5
  name: {
6
6
  type: String,
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-CgtkdwgA.amd"],(function(_,a,n){"use strict";if(typeof i>"u")var i=window.Vue;a.TopAvatar=n._sfc_main$3,a.TopButton=n._sfc_main$1,a.TopCaption=n._sfc_main$13,a.TopCheckbox=n._sfc_main$4,a.TopControlLabel=n._sfc_main$5,a.TopHint=n._sfc_main$2,a.TopInput=n._sfc_main,a.TopInputDate=n._sfc_main$6,a.TopInputRange=n._sfc_main$7,a.TopLoadbar=n.TopLoadbar,a.TopPreloader=n._sfc_main$12,a.TopRadio=n._sfc_main$8,a.TopSelect=n._sfc_main$9,a.TopSwitcher=n._sfc_main$10,a.TopTextarea=n._sfc_main$11,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/forms-D4uFd45i.amd"],(function(_,a,n){"use strict";if(typeof i>"u")var i=window.Vue;a.TopAvatar=n._sfc_main$3,a.TopButton=n._sfc_main$1,a.TopCaption=n._sfc_main$13,a.TopCheckbox=n._sfc_main$4,a.TopControlLabel=n._sfc_main$5,a.TopHint=n._sfc_main$2,a.TopInput=n._sfc_main,a.TopInputDate=n._sfc_main$6,a.TopInputRange=n._sfc_main$7,a.TopLoadbar=n.TopLoadbar,a.TopPreloader=n._sfc_main$12,a.TopRadio=n._sfc_main$8,a.TopSelect=n._sfc_main$9,a.TopSwitcher=n._sfc_main$10,a.TopTextarea=n._sfc_main$11,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 { h as p, c as T, Q as s, j as t, k as e, f as r, _ as n, l, m as c, T as i, r as u, n as b, o as d, p as h, q as x } from "../.chunks/forms-DarRVke_.es.js";
1
+ import { h as p, c as T, Q as s, j as t, k as e, f as r, _ as n, l, m as c, T as i, r as u, n as b, o as d, p as h, q as x } from "../.chunks/forms-CRHjU2Mj.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-CgtkdwgA.amd","../.chunks/listItem.vue_vue_type_script_setup_true_lang-CT-EXxJj.amd","../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-BK-pTu3V.amd","../.chunks/widgetInput.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd","../utils/keyboard.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-BLMYjYLV.amd","../require/css.amd!../assets/formsExt.css"],(function(ae,V,e,b,_,E,re,$,S){"use strict";if(typeof e>"u")var e=window.Vue;const N={class:"top-editArea_footer"},I=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(r,{emit:t}){const n=r,l=t,c=e.ref(n.defaultValue),a=e.ref(n.isFocused),s=e.computed(()=>c.value!==n.defaultValue),d=u=>{l("submit",u),c.value=n.defaultValue},p=()=>{if(n.forceShowCloseBtn&&!s.value){l("close");return}c.value=n.defaultValue},C=()=>{n.attachToKeyboard&&l("clickOnTitle")};return(u,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":u.attachToKeyboard})},[u.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:f[0]||(f[0]=k=>C())},e.toDisplayString(u.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":u.isError,"top-focus":a.value})},[e.createVNode(b._sfc_main$11,{modelValue:c.value,"onUpdate:modelValue":f[1]||(f[1]=k=>c.value=k),name:u.name,placeholder:u.placeholder,rows:u.rows,minHeight:u.minHeight,expandable:u.expandable,disabled:u.disabled,readonly:u.readonly,isError:u.isError,hint:u.hint,class:"top-editArea_element",onFocus:f[2]||(f[2]=()=>a.value=!0),onBlur:f[3]||(f[3]=()=>a.value=!1),onKeyup:[e.withKeys(p,["esc"]),f[4]||(f[4]=e.withKeys(e.withModifiers(k=>d(c.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),e.createElementVNode("div",N,[s.value||u.forceShowCloseBtn?(e.openBlock(),e.createBlock(b._sfc_main$1,{key:0,icon:u.$core.state.isMobile?"":"",class:"top-editArea_button",color:"theme",styling:"soft",onClick:p},e.createSlots({_:2},[u.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.cancelText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(b._sfc_main$1,{key:1,class:"top-editArea_button",icon:u.$core.state.isMobile?"":"",onClick:f[5]||(f[5]=k=>d(c.value))},e.createSlots({_:2},[u.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.submitText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0)])],2)],2))}}),M={class:"top-editInput"},L=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(r,{emit:t}){const n=r,l=e.ref(n.modelValue);e.watch(e.toRef(n.modelValue),()=>{l.value=n.modelValue});const c=t,a=()=>{c("update:modelValue",l.value)};return(s,d)=>(e.openBlock(),e.createElementBlock("div",M,[e.createVNode(b._sfc_main,e.mergeProps(s.input,{onKeydownCapture:d[0]||(d[0]=e.withKeys(e.withModifiers(p=>l.value=s.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(a,["stop"]),["enter"]),modelValue:l.value,"onUpdate:modelValue":d[1]||(d[1]=p=>l.value=p)}),null,16,["onKeydown","modelValue"]),l.value!==s.modelValue?(e.openBlock(),e.createBlock(b._sfc_main$1,e.mergeProps({key:0,icon:"",styling:"soft"},s.button,{onClick:a}),null,16)):e.createCommentVNode("",!0)]))}}),D=["data-top-icon","onClick"],z={key:0,class:"top-radioGroup_circle"},P=["value","disabled"],R=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(r){const t=e.useModel(r,"modelValue"),n=r,l=e.ref(null);e.watch(t,()=>{var a,s,d,p,C;(a=n.radiosProps)!=null&&a.some(u=>u.value===t.value)||(t.value=((d=(s=n.radiosProps)==null?void 0:s[0])==null?void 0:d.value)??""),(C=(p=l.value)==null?void 0:p.querySelector(".radioGroup_item-selected"))==null||C.scrollIntoView()},{immediate:!0});const c="radioGroup-"+Math.random();return(a,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:l,class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+a.size]:!!a.size,"top-error":a.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.radiosProps,d=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":d.value===t.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":d.disabled}),"data-top-icon":d.icon,onClick:p=>t.value=d.value},[e.createTextVNode(e.toDisplayString(d.title)+" ",1),a.showIndicator?(e.openBlock(),e.createElementBlock("span",z)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s[0]||(s[0]=p=>t.value=p),name:c,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:d.value,disabled:d.disabled},null,8,P),[[e.vModelRadio,t.value]])],10,D))),256))],2))}}),K=["data-top-icon"],O=["value","checked","disabled","onChange"],F=e.defineComponent({__name:"checkboxGroup",props:e.mergeModels({modelValue:{},items:{},size:{default:"s"},styling:{default:"outline"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(r){const t=e.useModel(r,"modelValue"),n=l=>{const c=[...t.value],a=c.indexOf(l);a===-1?c.push(l):c.splice(a,1),t.value=c};return(l,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-checkboxGroup":!0,["top-checkboxGroup-"+l.styling]:!0,"top-scrollBarXHidding":!0,["top-size_"+l.size]:!!l.size,"top-error":l.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,a=>(e.openBlock(),e.createElementBlock("label",{key:a.id,class:e.normalizeClass({"top-checkboxGroup_item":!0,"top-checkboxGroup_item-selected":t.value.includes(a.id),"top-forms-focusable":!0,"top-disabled":a.disabled}),"data-top-icon":a.icon},[e.createElementVNode("input",{type:"checkbox",class:"top-unvisible",value:a.id,checked:t.value.includes(a.id),disabled:a.disabled,onChange:s=>n(a.id)},null,40,O),e.createTextVNode(" "+e.toDisplayString(a.title),1)],10,K))),128))],2))}}),G={class:"top-selector2_itemMulti top-ellipsis"},q=e.defineComponent({__name:"itemMulti",props:{id:{},name:{}},emits:["delete"],setup(r){return(t,n)=>(e.openBlock(),e.createElementBlock("div",G,[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createElementVNode("span",{class:"top-selector2_itemMultiDelete","data-top-icon":"",onClick:n[0]||(n[0]=l=>t.$emit("delete",t.id)),onMousedown:n[1]||(n[1]=e.withModifiers(()=>{},["stop"]))},null,32)]))}}),H=(r,t,n,l)=>{const c=e.ref([]),a=new Map,s=e.ref(!1);let d="",p;r&&!r.params.limit&&(r.params.limit=100);const C=async()=>{if(!r)return;let v;if(l){v=JSON.stringify(r.params);const w=a.get(v);if(w)return w}s.value=!0;const h=await r.call();if(s.value=!1,h.errors)return;if(!Array.isArray(h.result)){console.warn("Array expected in `res.result`");return}const T=h.result.findIndex(w=>w.id===void 0||w.name===void 0);if(T!==-1){console.warn(`В result[${T}] нет id или name`);return}return v&&a.set(v,h),h},u=async v=>{if(!r)return;if(v){if(!p||s.value)return;r.params.offset=p}else r.params.offset=0;t==null||t(d);const h=await C();h&&(p=h.nextOffset,v?c.value=c.value.concat(h.result):c.value=h.result)},f=b.debounce(()=>u(!1),200);return{apiRequest:r,items:c,isLoading:s,load:u,setSearchTextAndLoad:(v,h=!0)=>{r&&(v.length<n||v===d&&c.value.length||(d=v,h?f():u(!1)))}}},U=0,A=(r,t,n=!0)=>n&&t.id===null?Array.isArray(r)?r.some(l=>l.id===t.id&&l.name===t.name):t.name===r.name:Array.isArray(r)?r.some(l=>l.id===t.id):t.id===r.id,x=(r,t,n,l,c,a,s,d)=>{const p=e.ref(""),C={id:U,name:b.useI18n().Common.All},u=()=>{p.value="",d.items.value=[]},f=()=>!(!d.apiRequest||a.value!=="inline"||p.value.length>=s),k=e.computed(()=>{var o;const y=[];return!n&&l.value&&y.push(C),(o=t.value)==null||o.forEach(i=>y.push({...i})),y}),v=e.computed(()=>{const y=p.value.toLowerCase(),o=$.invertKeyboardLayout(y);let i=[];return k.value.forEach(g=>{const m=g.name.toLowerCase();(g.id===Number(y)||m.includes(y)||m.includes(o))&&(m===y||m===o?i.unshift(g):i.push(g))}),i.push(...d.items.value),c.value&&p.value&&(!i.length||i[0].name.toLowerCase()!==y)&&i.push({id:null,name:p.value}),n&&(i=i.filter(g=>!A(r.value,g))),i});return{searchText:p,resetSearch:u,genIsShort:f,items:k,itemsForShow:v,selectItem:y=>{n&&Array.isArray(r.value)?A(r.value,y)||(r.value=[...r.value,y]):r.value=y},selectNextItem:()=>{if(!Array.isArray(r.value)){const o=(v.value.findIndex(i=>i.id===r.value.id)+1)%v.value.length;r.value={...v.value[o]}}},deleteItemById:async y=>{Array.isArray(r.value)&&(r.value=r.value.filter(o=>o.id!==y))}}},W={key:0,class:"top-selector2_activeItems"},X={key:1,class:"top-selector2_activeName top-ellipsis"},j={key:2,class:"top-selector2_placeholder top-ellipsis"},J=e.defineComponent({__name:"selector2",props:e.mergeModels({modelValue:{},items:{default:()=>[]},title:{},disabled:{type:Boolean},modificator:{},size:{default:"s"},isError:{type:Boolean},searchType:{default:"popup"},placeholder:{},api:{},apiSetSearchParams:{},minLength:{default:0},useCache:{type:Boolean},appendSearchToResult:{type:Boolean},multiselect:{type:Boolean},appendAllValue:{type:Boolean},addChanger:{type:Boolean},buttonProps:{},selectedAsPlaceholder:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(r){const t=r,n=e.useModel(r,"modelValue"),l=e.computed(()=>t.searchType==="inline"&&t.multiselect||t.searchType==="inline"&&b.Core.state.isMobile?"popup":t.searchType);let c=0;l.value==="inline"&&t.minLength&&(c=t.minLength);const a=H(t.api,t.apiSetSearchParams,c,t.useCache),s=x(n,e.toRef(t,"items"),t.multiselect,e.toRef(t,"appendAllValue"),e.toRef(t,"appendSearchToResult"),l,c,a),d=e.computed(()=>t.buttonProps?"TopButton":l.value==="inline"?"TopInput":"div"),p=e.ref(null),C=()=>{var o;return(o=p.value)==null?void 0:o.popup};a.apiRequest&&e.watch(s.searchText,()=>{var o;a.setSearchTextAndLoad(s.searchText.value),l.value==="inline"&&s.genIsShort()&&((o=C())==null||o.close())}),e.watch(n,()=>{l.value==="inline"&&s.resetSearch()});const u=e.computed(()=>{var o;return Array.isArray(n.value)||t.multiselect||!t.selectedAsPlaceholder&&l.value!=="inline"?t.placeholder:((o=n.value)==null?void 0:o.name)||t.placeholder}),f=o=>{var m,B;let i=!1;switch(o.key){case"Delete":case"Backspace":Array.isArray(n.value)&&(o.preventDefault(),o.stopPropagation(),n.value.pop());break;case"ArrowUp":case"ArrowRight":case"ArrowDown":case"ArrowLeft":case"Enter":case" ":i=!0;break;case"Escape":l.value==="inline"&&s.resetSearch();break}const g=o.key.length===1&&!o.ctrlKey&&!o.metaKey;(l.value==="popup"||l.value==="inline")&&g&&(i=!0),(m=C())!=null&&m.elPopup&&(i=!1),i&&(l.value==="popup"&&(o.preventDefault(),o.stopPropagation(),g&&(s.searchText.value||(s.searchText.value=o.key))),(B=o.currentTarget)==null||B.click())};let k=!1;const v=o=>{var i;k||l.value==="inline"&&((i=o.currentTarget)==null||i.click())},h=o=>{var i,g;o.preventDefault(),k=!0,(g=(i=o.currentTarget)==null?void 0:i.parentElement)==null||g.focus(),k=!1,s.selectNextItem()},T=()=>{var o;if(k=!0,a.apiRequest){if(s.genIsShort()){(o=C())==null||o.close();return}a.setSearchTextAndLoad(s.searchText.value,!1)}},w=()=>{setTimeout(()=>{k=!1},100),l.value==="popup"&&s.searchText.value&&s.resetSearch()},y=o=>{const i=o.target;i.scrollTop/(i.scrollHeight-i.offsetHeight)>.8&&a.load(!0)};return window.__STORYBOOK_PREVIEW__&&(e.watch(()=>t.multiselect,()=>{t.multiselect?Array.isArray(n.value)||(n.value=[{id:1,name:"Выбери меня"}]):Array.isArray(n.value)&&(n.value={id:null,name:""})},{immediate:!0}),e.watch(()=>t.searchType,()=>{setTimeout(()=>{location.reload()},500)})),(o,i)=>{const g=e.resolveDirective("top-focus");return e.openBlock(),e.createBlock(e.unref(_._sfc_main),{ref_key:"popupRef",ref:p,onOpen:i[3]||(i[3]=m=>T()),onClose:i[4]||(i[4]=m=>w()),onScrollContentList:i[5]||(i[5]=m=>e.unref(a)?y(m):void 0),notch:l.value!=="inline",transitionDuration:0},e.createSlots({opener:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value),e.mergeProps(o.buttonProps,{ref:"subcomponentSelector",class:{"top-selector2":!0,"top-selector2-multiselect":o.multiselect,["top-selector2-"+o.modificator]:!!o.modificator,"top-as-input":!o.buttonProps,"top-as-selector":!0,["top-size_"+o.size]:!0,"top-disabled":o.disabled,"top-forms-focusable":!o.disabled,"top-error":o.isError},tabindex:"0",onKeydown:f,placeholder:u.value,modelValue:e.unref(s).searchText.value,"onUpdate:modelValue":i[0]||(i[0]=m=>e.unref(s).searchText.value=m),onFocus:v,onBlur:i[1]||(i[1]=m=>{var B;return(B=C())!=null&&B.isClosed?e.unref(s).resetSearch():""})}),{default:e.withCtx(()=>[o.multiselect?(e.openBlock(),e.createElementBlock("div",W,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,m=>(e.openBlock(),e.createBlock(q,{id:m.id,name:m.name,onDelete:e.unref(s).deleteItemById},null,8,["id","name","onDelete"]))),256))])):e.createCommentVNode("",!0),l.value!=="inline"&&!o.multiselect?(e.openBlock(),e.createElementBlock("span",X,e.toDisplayString(Array.isArray(n.value)?"":n.value.name),1)):e.createCommentVNode("",!0),o.multiselect&&!n.value.length?(e.openBlock(),e.createElementBlock("span",j,e.toDisplayString(u.value),1)):e.createCommentVNode("",!0),o.addChanger&&!o.buttonProps&&!o.multiselect&&e.unref(s).items.value.length>1&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:3,class:"top-changer top-changer-selector top-popup_widget","data-top-popup-disabled":"true",onClick:h})):e.createCommentVNode("",!0)]),_:1},16,["class","placeholder","modelValue"])),[[g,o.isError,void 0,{onupdate:!0}]])]),contentList:e.withCtx(()=>{var m;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).itemsForShow.value,B=>(e.openBlock(),e.createBlock(e.unref(_._sfc_main$2),{class:e.normalizeClass({"top-active":!Array.isArray(n.value)&&!o.multiselect&&n.value.id===B.id&&n.value.name===B.name}),key:B.id??void 0,closeByClick:!o.multiselect||e.unref(b.Core).state.isMobile,onClick:se=>e.unref(s).selectItem(B)},{default:e.withCtx(()=>[o.$slots.item?e.renderSlot(o.$slots,"item",{key:0,item:B}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(B.name),1)],64))]),_:2},1032,["class","closeByClick","onClick"]))),128)),!e.unref(a).isLoading.value&&!e.unref(s).itemsForShow.value.length?(e.openBlock(),e.createBlock(e.unref(_._sfc_main$2),{key:0,type:"regular"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$i18n.Common.No_results),1)]),_:1})):e.createCommentVNode("",!0),e.unref(a).isLoading.value&&(o.searchType!=="popup"||(m=e.unref(a).apiRequest)!=null&&m.params.offset)?(e.openBlock(),e.createBlock(e.unref(_._sfc_main$2),{key:1,type:"regular"},{default:e.withCtx(()=>[e.createVNode(e.unref(b._sfc_main$12),{type:"circles"})]),_:1})):e.createCommentVNode("",!0)]}),_:2},[l.value==="popup"?{name:"widget",fn:e.withCtx(()=>{var m;return[e.createVNode(e.unref(E._sfc_main),{title:"Поиск",icon:"",modelValue:e.unref(s).searchText.value,"onUpdate:modelValue":i[2]||(i[2]=B=>e.unref(s).searchText.value=B),isLoading:e.unref(a).isLoading.value&&!((m=e.unref(a).apiRequest)!=null&&m.params.offset),placeholder:u.value},null,8,["modelValue","isLoading","placeholder"])]}),key:"0"}:void 0]),1032,["notch"])}}}),Y=["data-top-icon"],Q={class:"top-info_text"},Z={key:0,class:"top-info_value"},ee=e.defineComponent({__name:"info",props:{icon:{},styling:{default:"default"},size:{default:"default"}},setup(r){return(t,n)=>(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",Q,[e.renderSlot(t.$slots,"default")]),t.$slots.additional?(e.openBlock(),e.createElementBlock("span",Z,[e.renderSlot(t.$slots,"additional")])):e.createCommentVNode("",!0)],10,Y))}}),te={key:0,class:"top-policy"},oe={class:"top-policy_title"},le=["innerHTML"],ne=e.defineComponent({__name:"policy",props:{title:{},description:{},acceptText:{}},emits:["accept"],setup(r,{emit:t}){const n=t,l=e.ref(!0),c=()=>{l.value=!1,n("accept")};return(a,s)=>l.value?(e.openBlock(),e.createElementBlock("div",te,[e.createElementVNode("div",oe,e.toDisplayString(a.title),1),e.createElementVNode("div",{class:"top-policy_description",innerHTML:a.description},null,8,le),e.createVNode(e.unref(b._sfc_main$1),{size:"m",onClick:c},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.acceptText),1)]),_:1})])):e.createCommentVNode("",!0)}});V.TopMenu=S._sfc_main,V.TopCheckboxGroup=F,V.TopEditArea=I,V.TopEditInput=L,V.TopInfo=ee,V.TopPolicy=ne,V.TopRadioGroup=R,V.TopSelector2=J,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","vue","../.chunks/forms-D4uFd45i.amd","../.chunks/listItem.vue_vue_type_script_setup_true_lang-B2Q4gqK6.amd","../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-B7zzY9Mx.amd","../.chunks/widgetInput.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd","../utils/keyboard.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-bMtkdrEt.amd","../require/css.amd!../assets/formsExt.css"],(function(ae,V,e,b,_,E,re,$,S){"use strict";if(typeof e>"u")var e=window.Vue;const N={class:"top-editArea_footer"},I=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(r,{emit:t}){const n=r,l=t,c=e.ref(n.defaultValue),a=e.ref(n.isFocused),s=e.computed(()=>c.value!==n.defaultValue),d=u=>{l("submit",u),c.value=n.defaultValue},p=()=>{if(n.forceShowCloseBtn&&!s.value){l("close");return}c.value=n.defaultValue},C=()=>{n.attachToKeyboard&&l("clickOnTitle")};return(u,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":u.attachToKeyboard})},[u.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:f[0]||(f[0]=k=>C())},e.toDisplayString(u.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":u.isError,"top-focus":a.value})},[e.createVNode(b._sfc_main$11,{modelValue:c.value,"onUpdate:modelValue":f[1]||(f[1]=k=>c.value=k),name:u.name,placeholder:u.placeholder,rows:u.rows,minHeight:u.minHeight,expandable:u.expandable,disabled:u.disabled,readonly:u.readonly,isError:u.isError,hint:u.hint,class:"top-editArea_element",onFocus:f[2]||(f[2]=()=>a.value=!0),onBlur:f[3]||(f[3]=()=>a.value=!1),onKeyup:[e.withKeys(p,["esc"]),f[4]||(f[4]=e.withKeys(e.withModifiers(k=>d(c.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),e.createElementVNode("div",N,[s.value||u.forceShowCloseBtn?(e.openBlock(),e.createBlock(b._sfc_main$1,{key:0,icon:u.$core.state.isMobile?"":"",class:"top-editArea_button",color:"theme",styling:"soft",onClick:p},e.createSlots({_:2},[u.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.cancelText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(b._sfc_main$1,{key:1,class:"top-editArea_button",icon:u.$core.state.isMobile?"":"",onClick:f[5]||(f[5]=k=>d(c.value))},e.createSlots({_:2},[u.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.submitText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0)])],2)],2))}}),M={class:"top-editInput"},L=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(r,{emit:t}){const n=r,l=e.ref(n.modelValue);e.watch(e.toRef(n.modelValue),()=>{l.value=n.modelValue});const c=t,a=()=>{c("update:modelValue",l.value)};return(s,d)=>(e.openBlock(),e.createElementBlock("div",M,[e.createVNode(b._sfc_main,e.mergeProps(s.input,{onKeydownCapture:d[0]||(d[0]=e.withKeys(e.withModifiers(p=>l.value=s.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(a,["stop"]),["enter"]),modelValue:l.value,"onUpdate:modelValue":d[1]||(d[1]=p=>l.value=p)}),null,16,["onKeydown","modelValue"]),l.value!==s.modelValue?(e.openBlock(),e.createBlock(b._sfc_main$1,e.mergeProps({key:0,icon:"",styling:"soft"},s.button,{onClick:a}),null,16)):e.createCommentVNode("",!0)]))}}),D=["data-top-icon","onClick"],z={key:0,class:"top-radioGroup_circle"},P=["value","disabled"],R=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(r){const t=e.useModel(r,"modelValue"),n=r,l=e.ref(null);e.watch(t,()=>{var a,s,d,p,C;(a=n.radiosProps)!=null&&a.some(u=>u.value===t.value)||(t.value=((d=(s=n.radiosProps)==null?void 0:s[0])==null?void 0:d.value)??""),(C=(p=l.value)==null?void 0:p.querySelector(".radioGroup_item-selected"))==null||C.scrollIntoView()},{immediate:!0});const c="radioGroup-"+Math.random();return(a,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:l,class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+a.size]:!!a.size,"top-error":a.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.radiosProps,d=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":d.value===t.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":d.disabled}),"data-top-icon":d.icon,onClick:p=>t.value=d.value},[e.createTextVNode(e.toDisplayString(d.title)+" ",1),a.showIndicator?(e.openBlock(),e.createElementBlock("span",z)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s[0]||(s[0]=p=>t.value=p),name:c,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:d.value,disabled:d.disabled},null,8,P),[[e.vModelRadio,t.value]])],10,D))),256))],2))}}),K=["data-top-icon"],O=["value","checked","disabled","onChange"],F=e.defineComponent({__name:"checkboxGroup",props:e.mergeModels({modelValue:{},items:{},size:{default:"s"},styling:{default:"outline"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(r){const t=e.useModel(r,"modelValue"),n=l=>{const c=[...t.value],a=c.indexOf(l);a===-1?c.push(l):c.splice(a,1),t.value=c};return(l,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-checkboxGroup":!0,["top-checkboxGroup-"+l.styling]:!0,"top-scrollBarXHidding":!0,["top-size_"+l.size]:!!l.size,"top-error":l.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,a=>(e.openBlock(),e.createElementBlock("label",{key:a.id,class:e.normalizeClass({"top-checkboxGroup_item":!0,"top-checkboxGroup_item-selected":t.value.includes(a.id),"top-forms-focusable":!0,"top-disabled":a.disabled}),"data-top-icon":a.icon},[e.createElementVNode("input",{type:"checkbox",class:"top-unvisible",value:a.id,checked:t.value.includes(a.id),disabled:a.disabled,onChange:s=>n(a.id)},null,40,O),e.createTextVNode(" "+e.toDisplayString(a.title),1)],10,K))),128))],2))}}),G={class:"top-selector2_itemMulti top-ellipsis"},q=e.defineComponent({__name:"itemMulti",props:{id:{},name:{}},emits:["delete"],setup(r){return(t,n)=>(e.openBlock(),e.createElementBlock("div",G,[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createElementVNode("span",{class:"top-selector2_itemMultiDelete","data-top-icon":"",onClick:n[0]||(n[0]=l=>t.$emit("delete",t.id)),onMousedown:n[1]||(n[1]=e.withModifiers(()=>{},["stop"]))},null,32)]))}}),H=(r,t,n,l)=>{const c=e.ref([]),a=new Map,s=e.ref(!1);let d="",p;r&&!r.params.limit&&(r.params.limit=100);const C=async()=>{if(!r)return;let v;if(l){v=JSON.stringify(r.params);const w=a.get(v);if(w)return w}s.value=!0;const h=await r.call();if(s.value=!1,h.errors)return;if(!Array.isArray(h.result)){console.warn("Array expected in `res.result`");return}const T=h.result.findIndex(w=>w.id===void 0||w.name===void 0);if(T!==-1){console.warn(`В result[${T}] нет id или name`);return}return v&&a.set(v,h),h},u=async v=>{if(!r)return;if(v){if(!p||s.value)return;r.params.offset=p}else r.params.offset=0;t==null||t(d);const h=await C();h&&(p=h.nextOffset,v?c.value=c.value.concat(h.result):c.value=h.result)},f=b.debounce(()=>u(!1),200);return{apiRequest:r,items:c,isLoading:s,load:u,setSearchTextAndLoad:(v,h=!0)=>{r&&(v.length<n||v===d&&c.value.length||(d=v,h?f():u(!1)))}}},U=0,A=(r,t,n=!0)=>n&&t.id===null?Array.isArray(r)?r.some(l=>l.id===t.id&&l.name===t.name):t.name===r.name:Array.isArray(r)?r.some(l=>l.id===t.id):t.id===r.id,x=(r,t,n,l,c,a,s,d)=>{const p=e.ref(""),C={id:U,name:b.useI18n().Common.All},u=()=>{p.value="",d.items.value=[]},f=()=>!(!d.apiRequest||a.value!=="inline"||p.value.length>=s),k=e.computed(()=>{var o;const y=[];return!n&&l.value&&y.push(C),(o=t.value)==null||o.forEach(i=>y.push({...i})),y}),v=e.computed(()=>{const y=p.value.toLowerCase(),o=$.invertKeyboardLayout(y);let i=[];return k.value.forEach(g=>{const m=g.name.toLowerCase();(g.id===Number(y)||m.includes(y)||m.includes(o))&&(m===y||m===o?i.unshift(g):i.push(g))}),i.push(...d.items.value),c.value&&p.value&&(!i.length||i[0].name.toLowerCase()!==y)&&i.push({id:null,name:p.value}),n&&(i=i.filter(g=>!A(r.value,g))),i});return{searchText:p,resetSearch:u,genIsShort:f,items:k,itemsForShow:v,selectItem:y=>{n&&Array.isArray(r.value)?A(r.value,y)||(r.value=[...r.value,y]):r.value=y},selectNextItem:()=>{if(!Array.isArray(r.value)){const o=(v.value.findIndex(i=>i.id===r.value.id)+1)%v.value.length;r.value={...v.value[o]}}},deleteItemById:async y=>{Array.isArray(r.value)&&(r.value=r.value.filter(o=>o.id!==y))}}},W={key:0,class:"top-selector2_activeItems"},X={key:1,class:"top-selector2_activeName top-ellipsis"},j={key:2,class:"top-selector2_placeholder top-ellipsis"},J=e.defineComponent({__name:"selector2",props:e.mergeModels({modelValue:{},items:{default:()=>[]},title:{},disabled:{type:Boolean},modificator:{},size:{default:"s"},isError:{type:Boolean},searchType:{default:"popup"},placeholder:{},api:{},apiSetSearchParams:{},minLength:{default:0},useCache:{type:Boolean},appendSearchToResult:{type:Boolean},multiselect:{type:Boolean},appendAllValue:{type:Boolean},addChanger:{type:Boolean},buttonProps:{},selectedAsPlaceholder:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(r){const t=r,n=e.useModel(r,"modelValue"),l=e.computed(()=>t.searchType==="inline"&&t.multiselect||t.searchType==="inline"&&b.Core.state.isMobile?"popup":t.searchType);let c=0;l.value==="inline"&&t.minLength&&(c=t.minLength);const a=H(t.api,t.apiSetSearchParams,c,t.useCache),s=x(n,e.toRef(t,"items"),t.multiselect,e.toRef(t,"appendAllValue"),e.toRef(t,"appendSearchToResult"),l,c,a),d=e.computed(()=>t.buttonProps?"TopButton":l.value==="inline"?"TopInput":"div"),p=e.ref(null),C=()=>{var o;return(o=p.value)==null?void 0:o.popup};a.apiRequest&&e.watch(s.searchText,()=>{var o;a.setSearchTextAndLoad(s.searchText.value),l.value==="inline"&&s.genIsShort()&&((o=C())==null||o.close())}),e.watch(n,()=>{l.value==="inline"&&s.resetSearch()});const u=e.computed(()=>{var o;return Array.isArray(n.value)||t.multiselect||!t.selectedAsPlaceholder&&l.value!=="inline"?t.placeholder:((o=n.value)==null?void 0:o.name)||t.placeholder}),f=o=>{var m,B;let i=!1;switch(o.key){case"Delete":case"Backspace":Array.isArray(n.value)&&(o.preventDefault(),o.stopPropagation(),n.value.pop());break;case"ArrowUp":case"ArrowRight":case"ArrowDown":case"ArrowLeft":case"Enter":case" ":i=!0;break;case"Escape":l.value==="inline"&&s.resetSearch();break}const g=o.key.length===1&&!o.ctrlKey&&!o.metaKey;(l.value==="popup"||l.value==="inline")&&g&&(i=!0),(m=C())!=null&&m.elPopup&&(i=!1),i&&(l.value==="popup"&&(o.preventDefault(),o.stopPropagation(),g&&(s.searchText.value||(s.searchText.value=o.key))),(B=o.currentTarget)==null||B.click())};let k=!1;const v=o=>{var i;k||l.value==="inline"&&((i=o.currentTarget)==null||i.click())},h=o=>{var i,g;o.preventDefault(),k=!0,(g=(i=o.currentTarget)==null?void 0:i.parentElement)==null||g.focus(),k=!1,s.selectNextItem()},T=()=>{var o;if(k=!0,a.apiRequest){if(s.genIsShort()){(o=C())==null||o.close();return}a.setSearchTextAndLoad(s.searchText.value,!1)}},w=()=>{setTimeout(()=>{k=!1},100),l.value==="popup"&&s.searchText.value&&s.resetSearch()},y=o=>{const i=o.target;i.scrollTop/(i.scrollHeight-i.offsetHeight)>.8&&a.load(!0)};return window.__STORYBOOK_PREVIEW__&&(e.watch(()=>t.multiselect,()=>{t.multiselect?Array.isArray(n.value)||(n.value=[{id:1,name:"Выбери меня"}]):Array.isArray(n.value)&&(n.value={id:null,name:""})},{immediate:!0}),e.watch(()=>t.searchType,()=>{setTimeout(()=>{location.reload()},500)})),(o,i)=>{const g=e.resolveDirective("top-focus");return e.openBlock(),e.createBlock(e.unref(_._sfc_main),{ref_key:"popupRef",ref:p,onOpen:i[3]||(i[3]=m=>T()),onClose:i[4]||(i[4]=m=>w()),onScrollContentList:i[5]||(i[5]=m=>e.unref(a)?y(m):void 0),notch:l.value!=="inline",transitionDuration:0},e.createSlots({opener:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value),e.mergeProps(o.buttonProps,{ref:"subcomponentSelector",class:{"top-selector2":!0,"top-selector2-multiselect":o.multiselect,["top-selector2-"+o.modificator]:!!o.modificator,"top-as-input":!o.buttonProps,"top-as-selector":!0,["top-size_"+o.size]:!0,"top-disabled":o.disabled,"top-forms-focusable":!o.disabled,"top-error":o.isError},tabindex:"0",onKeydown:f,placeholder:u.value,modelValue:e.unref(s).searchText.value,"onUpdate:modelValue":i[0]||(i[0]=m=>e.unref(s).searchText.value=m),onFocus:v,onBlur:i[1]||(i[1]=m=>{var B;return(B=C())!=null&&B.isClosed?e.unref(s).resetSearch():""})}),{default:e.withCtx(()=>[o.multiselect?(e.openBlock(),e.createElementBlock("div",W,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,m=>(e.openBlock(),e.createBlock(q,{id:m.id,name:m.name,onDelete:e.unref(s).deleteItemById},null,8,["id","name","onDelete"]))),256))])):e.createCommentVNode("",!0),l.value!=="inline"&&!o.multiselect?(e.openBlock(),e.createElementBlock("span",X,e.toDisplayString(Array.isArray(n.value)?"":n.value.name),1)):e.createCommentVNode("",!0),o.multiselect&&!n.value.length?(e.openBlock(),e.createElementBlock("span",j,e.toDisplayString(u.value),1)):e.createCommentVNode("",!0),o.addChanger&&!o.buttonProps&&!o.multiselect&&e.unref(s).items.value.length>1&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:3,class:"top-changer top-changer-selector top-popup_widget","data-top-popup-disabled":"true",onClick:h})):e.createCommentVNode("",!0)]),_:1},16,["class","placeholder","modelValue"])),[[g,o.isError,void 0,{onupdate:!0}]])]),contentList:e.withCtx(()=>{var m;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).itemsForShow.value,B=>(e.openBlock(),e.createBlock(e.unref(_._sfc_main$2),{class:e.normalizeClass({"top-active":!Array.isArray(n.value)&&!o.multiselect&&n.value.id===B.id&&n.value.name===B.name}),key:B.id??void 0,closeByClick:!o.multiselect||e.unref(b.Core).state.isMobile,onClick:se=>e.unref(s).selectItem(B)},{default:e.withCtx(()=>[o.$slots.item?e.renderSlot(o.$slots,"item",{key:0,item:B}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(B.name),1)],64))]),_:2},1032,["class","closeByClick","onClick"]))),128)),!e.unref(a).isLoading.value&&!e.unref(s).itemsForShow.value.length?(e.openBlock(),e.createBlock(e.unref(_._sfc_main$2),{key:0,type:"regular"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$i18n.Common.No_results),1)]),_:1})):e.createCommentVNode("",!0),e.unref(a).isLoading.value&&(o.searchType!=="popup"||(m=e.unref(a).apiRequest)!=null&&m.params.offset)?(e.openBlock(),e.createBlock(e.unref(_._sfc_main$2),{key:1,type:"regular"},{default:e.withCtx(()=>[e.createVNode(e.unref(b._sfc_main$12),{type:"circles"})]),_:1})):e.createCommentVNode("",!0)]}),_:2},[l.value==="popup"?{name:"widget",fn:e.withCtx(()=>{var m;return[e.createVNode(e.unref(E._sfc_main),{title:"Поиск",icon:"",modelValue:e.unref(s).searchText.value,"onUpdate:modelValue":i[2]||(i[2]=B=>e.unref(s).searchText.value=B),isLoading:e.unref(a).isLoading.value&&!((m=e.unref(a).apiRequest)!=null&&m.params.offset),placeholder:u.value},null,8,["modelValue","isLoading","placeholder"])]}),key:"0"}:void 0]),1032,["notch"])}}}),Y=["data-top-icon"],Q={class:"top-info_text"},Z={key:0,class:"top-info_value"},ee=e.defineComponent({__name:"info",props:{icon:{},styling:{default:"default"},size:{default:"default"}},setup(r){return(t,n)=>(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",Q,[e.renderSlot(t.$slots,"default")]),t.$slots.additional?(e.openBlock(),e.createElementBlock("span",Z,[e.renderSlot(t.$slots,"additional")])):e.createCommentVNode("",!0)],10,Y))}}),te={key:0,class:"top-policy"},oe={class:"top-policy_title"},le=["innerHTML"],ne=e.defineComponent({__name:"policy",props:{title:{},description:{},acceptText:{}},emits:["accept"],setup(r,{emit:t}){const n=t,l=e.ref(!0),c=()=>{l.value=!1,n("accept")};return(a,s)=>l.value?(e.openBlock(),e.createElementBlock("div",te,[e.createElementVNode("div",oe,e.toDisplayString(a.title),1),e.createElementVNode("div",{class:"top-policy_description",innerHTML:a.description},null,8,le),e.createVNode(e.unref(b._sfc_main$1),{size:"m",onClick:c},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.acceptText),1)]),_:1})])):e.createCommentVNode("",!0)}});V.TopMenu=S._sfc_main,V.TopCheckboxGroup=F,V.TopEditArea=I,V.TopEditInput=L,V.TopInfo=ee,V.TopPolicy=ne,V.TopRadioGroup=R,V.TopSelector2=J,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=formsExt.amd.js.map
@@ -1,11 +1,11 @@
1
1
  import { Core as x } from "../core/app.js";
2
2
  import { defineComponent as M, ref as B, computed as R, createElementBlock as v, openBlock as d, normalizeClass as I, createCommentVNode as $, createElementVNode as L, toDisplayString as _, createVNode as D, withKeys as G, withModifiers as N, createBlock as w, createSlots as U, withCtx as V, createTextVNode as E, watch as P, toRef as O, mergeProps as W, mergeModels as J, useModel as Y, Fragment as z, renderList as q, withDirectives as Z, vModelRadio as te, resolveDirective as oe, unref as f, renderSlot as X, resolveDynamicComponent as le } from "vue";
3
- import { q as se, c as F, _ as ae, d as re, u as ne, C as j, r as ie } from "../.chunks/forms-DarRVke_.es.js";
4
- import { _ as ue, b as H } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-DzJ_pc-d.es.js";
5
- import { _ as de } from "../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-xwjgBq1L.es.js";
3
+ import { q as se, c as F, _ as ae, d as re, u as ne, C as j, r as ie } from "../.chunks/forms-CRHjU2Mj.es.js";
4
+ import { _ as ue, b as H } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-DFWY29DS.es.js";
5
+ import { _ as de } from "../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-5LVABONB.es.js";
6
6
  /* empty css */
7
7
  import { invertKeyboardLayout as pe } from "../utils/keyboard.js";
8
- import { _ as je } from "../.chunks/menu.vue_vue_type_style_index_0_lang-COD_4iTy.es.js";
8
+ import { _ as je } from "../.chunks/menu.vue_vue_type_style_index_0_lang-Bm9sY3Ux.es.js";
9
9
  const ee = ["../assets/formsExt.css"].map((a) => import.meta.resolve(a));
10
10
  x.insertCSSLinkToPage(ee, !0);
11
11
  const ce = { class: "top-editArea_footer" }, Ne = /* @__PURE__ */ M({
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-CgtkdwgA.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-D4uFd45i.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
@@ -1,6 +1,6 @@
1
1
  import { Core as c } from "../core/app.js";
2
2
  import { defineComponent as r, createElementBlock as t, openBlock as e, normalizeClass as _, renderSlot as a, createCommentVNode as d, createVNode as p, withCtx as u } from "vue";
3
- import { g as l } from "../.chunks/forms-DarRVke_.es.js";
3
+ import { g as l } from "../.chunks/forms-CRHjU2Mj.es.js";
4
4
  const i = ["../assets/layout.css"].map((s) => import.meta.resolve(s));
5
5
  c.insertCSSLinkToPage(i, !0);
6
6
  const m = /* @__PURE__ */ r({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@topvisor/ui",
3
3
  "private": false,
4
- "version": "1.3.0",
4
+ "version": "1.3.1-dev.2",
5
5
  "type": "module",
6
6
  "description": "Topvisor UI-kit Vue",
7
7
  "author": "Topvisor",