@topvisor/ui 1.4.3-fixSelector2.0 → 1.4.3-fixTabsView.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.chunks/{core-Baaq63Be.es.js → core-Dgj_YGWh.es.js} +94 -87
- package/.chunks/{core-Baaq63Be.es.js.map → core-Dgj_YGWh.es.js.map} +1 -1
- package/.chunks/{core-DCw0zLc3.amd.js → core-DzDFXOdI.amd.js} +2 -2
- package/.chunks/{core-DCw0zLc3.amd.js.map → core-DzDFXOdI.amd.js.map} +1 -1
- package/.chunks/{datepicker-DPgavbKe.es.js → datepicker-qToxk2nN.es.js} +2 -2
- package/.chunks/{datepicker-DPgavbKe.es.js.map → datepicker-qToxk2nN.es.js.map} +1 -1
- package/.chunks/{dialog_regionSelectorRegions-D7x41iZu.es.js → dialog_regionSelectorRegions-qDW2Ejsv.es.js} +5 -5
- package/.chunks/{dialog_regionSelectorRegions-D7x41iZu.es.js.map → dialog_regionSelectorRegions-qDW2Ejsv.es.js.map} +1 -1
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-D8WYUfXI.es.js → dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js} +3 -3
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-D8WYUfXI.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js.map} +1 -1
- package/.chunks/{forms-BpbQYyEQ.es.js → forms-DtC-EKJL.es.js} +24 -24
- package/.chunks/{forms-BpbQYyEQ.es.js.map → forms-DtC-EKJL.es.js.map} +1 -1
- package/.chunks/lazy-DDNqYkXn.amd.js +2 -0
- package/.chunks/lazy-DDNqYkXn.amd.js.map +1 -0
- package/.chunks/{lazy-40pjr8cZ.es.js → lazy-HKSyLh72.es.js} +23 -19
- package/.chunks/lazy-HKSyLh72.es.js.map +1 -0
- package/.chunks/{notice-Ckc8r96E.es.js → notice-BvQl911b.es.js} +3 -3
- package/.chunks/{notice-Ckc8r96E.es.js.map → notice-BvQl911b.es.js.map} +1 -1
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-D3_o-DIM.es.js → page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js} +9 -9
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-D3_o-DIM.es.js.map → page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js.map} +1 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js +519 -0
- package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js.map +1 -0
- package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js +2 -0
- package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js.map +1 -0
- package/.chunks/{popup-DpyyE2Cs.es.js → popup-OuDglAOF.es.js} +2 -2
- package/.chunks/{popup-DpyyE2Cs.es.js.map → popup-OuDglAOF.es.js.map} +1 -1
- package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-CdQostog.amd.js → popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js} +2 -2
- package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-CdQostog.amd.js.map → popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js.map} +1 -1
- package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-if4Qli-k.es.js → popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js} +5 -5
- package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-if4Qli-k.es.js.map → popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js.map} +1 -1
- package/.chunks/{utils-MzIaxkRQ.es.js → utils-BNzP9anP.es.js} +2 -2
- package/.chunks/{utils-MzIaxkRQ.es.js.map → utils-BNzP9anP.es.js.map} +1 -1
- package/.chunks/{utils-CyE38wuQ.es.js → utils-Dma85ehT.es.js} +3 -3
- package/.chunks/{utils-CyE38wuQ.es.js.map → utils-Dma85ehT.es.js.map} +1 -1
- package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-Dy8jWadl.es.js → widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js} +6 -6
- package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-Dy8jWadl.es.js.map → widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js.map} +1 -1
- package/api/index.amd.js +1 -1
- package/api/index.js +6 -6
- package/assets/policy.css +1 -1
- package/assets/project.css +1 -1
- package/assets/tabsView.css +1 -1
- package/charts/charts.js +14 -14
- package/core/app.amd.js +1 -1
- package/core/app.js +15 -15
- package/dialog/dialog.js +6 -6
- package/extra/extra.js +2 -2
- package/forms/forms.js +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.js +21 -21
- package/icomoon/Topvisor icons.json +285 -229
- package/icomoon/demo.html +29 -1
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +2 -0
- package/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/icomoon/fonts/Topvisor-2.woff +0 -0
- package/icomoon/selection.json +1 -1
- package/icomoon/style.css +11 -5
- package/layout/layout.js +7 -7
- package/package.json +2 -2
- package/popup/popup.amd.js +1 -1
- package/popup/popup.js +9 -9
- package/popup/worker.js +2 -2
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +1008 -629
- package/project/project.js.map +1 -1
- package/src/components/formsExt/selector2/composables/useMenu.d.ts +1 -1
- package/src/components/formsExt/selector2/selector2.vue.d.ts +2 -0
- package/src/components/formsExt/selector2/types.d.ts +35 -1
- package/src/components/formsExt/selector2/utils.d.ts +2 -0
- package/src/components/project/groupSelector/folders/utils.d.ts +6 -26
- package/src/components/project/groupSelector/groupSelector.vue.d.ts +1 -1
- package/src/components/project/groupSelector/groups/groups.vue.d.ts +13 -6
- package/src/components/project/groupSelector/groups/utils.d.ts +18 -53
- package/src/components/project/groupSelector/utils.d.ts +37 -0
- package/src/components/project/project.d.ts +2 -0
- package/src/components/project/projectSelector/cache.d.ts +29 -0
- package/src/components/project/projectSelector/projectSelector.vue.d.ts +128 -0
- package/src/components/project/projectSelector/submenu/submenu.vue.d.ts +4 -0
- package/src/components/project/projectSelector/submenu/types.d.ts +17 -0
- package/src/components/project/projectSelector/types.d.ts +48 -0
- package/src/components/project/projectSelector/utils.d.ts +240 -0
- package/src/components/tabsView/tabsView/menu.vue.d.ts +2 -6
- package/src/core/directives/tooltip.d.ts +2 -6
- package/tabs/tabs.js +5 -5
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.js +93 -104
- package/tabsView/tabsView.js.map +1 -1
- package/utils/clipboard.js +1 -1
- package/utils/date.js +1 -1
- package/utils/device.js +1 -1
- package/utils/lodash.js +1 -1
- package/utils/price.js +1 -1
- package/utils/searchers.amd.js +1 -1
- package/utils/searchers.js +3 -3
- package/utils/string.js +1 -1
- package/.chunks/lazy-40pjr8cZ.es.js.map +0 -1
- package/.chunks/lazy-DSFLxvj4.amd.js +0 -2
- package/.chunks/lazy-DSFLxvj4.amd.js.map +0 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-BDyhjT5Y.amd.js +0 -2
- package/.chunks/policy.vue_vue_type_style_index_0_lang-BDyhjT5Y.amd.js.map +0 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-DVl9DBpl.es.js +0 -498
- package/.chunks/policy.vue_vue_type_style_index_0_lang-DVl9DBpl.es.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { nextTick as T } from "vue";
|
|
2
|
-
import { C as u } from "./forms-
|
|
2
|
+
import { C as u } from "./forms-DtC-EKJL.es.js";
|
|
3
3
|
import { TopPopupWorker as M } from "../popup/worker.js";
|
|
4
4
|
import { sleep as j, waitWhile as B } from "../utils/system.js";
|
|
5
5
|
import { historySetState as H, setHashs as O } from "../utils/route.js";
|
|
6
6
|
import { connectScrollShadow as I } from "../utils/scroll.js";
|
|
7
|
-
import { T as g, g as k } from "./dialogs.vue_vue_type_script_setup_true_lang-
|
|
7
|
+
import { T as g, g as k } from "./dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js";
|
|
8
8
|
import { querySelectorVisible as S, querySelectorAllArray as p, isVisible as c } from "../utils/dom.js";
|
|
9
9
|
$;
|
|
10
10
|
let E = !1;
|
|
@@ -285,4 +285,4 @@ G();
|
|
|
285
285
|
export {
|
|
286
286
|
y as TopDialogUtils
|
|
287
287
|
};
|
|
288
|
-
//# sourceMappingURL=utils-
|
|
288
|
+
//# sourceMappingURL=utils-Dma85ehT.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-CyE38wuQ.es.js","sources":["../../src/storybook/jquery.ts","../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"sourcesContent":["/**\n * см. /.storybook/preview-head.html\n */\nexport default $;\n","import { TopDialogUtils } from './utils';\nimport { TopDialogWorker } from './worker';\nimport { isVisible, querySelectorAllArray, querySelectorVisible } from '@/core/utils/dom';\nimport { historySetState } from '@/core/utils/route';\nimport type { ElTopDialog, ElTopDialogWrapper } from '@/components/dialog/lib/types';\n\nlet inited = false;\n\n/**\n * Инициализация глобальных событий для диалоговых окон\n *\n * Производится один раз при подключении диалогового окна\n *\n * События не размонтируются\n */\nexport const initDialogGlobalEvents = () => {\n\tif (inited) return;\n\tinited = true;\n\n\t/**\n\t * Закрытие диалога по Esc\n\t */\n\tdocument.addEventListener('keydown', (e) => {\n\t\tif (e.key !== 'Escape') return;\n\t\tif (!e.target || !(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target;\n\n\t\t// событие произошло вне диалогового окна\n\t\tif (!el.closest('.ui-dialog')) return;\n\n\t\tif (el.contentEditable === 'true' || el.contentEditable === 'plaintext-only') return;\n\n\t\t// не закрывать окно при открытом TopPopup\n\t\tif (querySelectorVisible(document.documentElement, '.top-popup-wrapper')) return;\n\n\t\t// не закрывать окно при работе с jquery autocomplete\n\t\tif (el.classList.contains('autocomplete')) return;\n\n\t\t// не закрывать окно при открытом fancybox\n\t\tif (querySelectorVisible(document.documentElement, '.fancybox-container')) return;\n\n\t\tconst elDialogs = querySelectorAllArray<ElTopDialog>(document, '.ui-dialog-content').filter((elDialog) => {\n\t\t\treturn isVisible(elDialog);\n\t\t});\n\n\t\t$(elDialogs[elDialogs.length - 1]).dialog('close');\n\t});\n\n\t/**\n\t * Закрытие диалога по кнопке закрыть\n\t */\n\tdocument.addEventListener('click', (e) => {\n\t\t// // навигация без истории\n\t\t// var $dialog = $(this).closest('.ui-dialog-content');\n\t\t// var viewName = $dialog.attr('id');\n\t\t// var pageName = getHash('view-' + viewName);\n\t\t// if (!pageName) {\n\t\t// \ttoPrevPage($dialog);\n\t\t//\n\t\t// \treturn;\n\t\t// }\n\t\t//\n\t\t// // навигация по истории\n\t\t// if (Core.state.isMobile && history.length > 1 && $(this).closest('.modal-layer').length) {\n\t\t// \tvar href = location.href;\n\t\t//\n\t\t// \thistory.go(-1);\n\t\t//\n\t\t// \tsetTimeout(() => {\n\t\t// \t\t// это первая страница в истории вкладки браузера\n\t\t// \t\tif (href === location.href) $(e.target).closest('.ui-dialog-content').dialog('close');\n\t\t// \t});\n\t\t// } else {\n\t\t// \t$(this).closest('.ui-dialog-content').dialog('close');\n\t\t// }\n\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target.closest('[data-action=\"top-dialog-close\"]') as HTMLElement | null;\n\t\tif (!el) return;\n\n\t\te.preventDefault();\n\n\t\tconst elDialog = el.closest<ElTopDialog>('.ui-dialog-content');\n\t\tif (!elDialog) return;\n\n\t\t// если к кнопке привязана ссылка, диалоговое окно не нужно закрывать\n\t\tconst toView = el.dataset.toView;\n\n\t\tif (toView == 'toPrevPage()') {\n\t\t\tTopDialogUtils.toPrevPage(elDialog);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (toView) {\n\t\t\tconst viewNameAndPageLink = toView.split('-');\n\t\t\tconst viewName = viewNameAndPageLink.shift();\n\t\t\tconst pageLink = viewNameAndPageLink.join('-');\n\n\t\t\tif (!viewName) return;\n\n\t\t\tconst elDialog = TopDialogUtils.getElDialogById(viewName);\n\t\t\tif (!elDialog) return;\n\n\t\t\tconst elToPages = querySelectorAllArray(elDialog, `[data-view-page=\"${pageLink}\"]`);\n\t\t\tif (!elToPages) return;\n\n\t\t\tif (!isVisible(elToPages[0])) {\n\t\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, 'prev');\n\n\t\t\t\t// // не убирает кнопку \"Вперед\" в браузере\n\t\t\t\t// history.replaceState(null, '', hash);\n\t\t\t\t// toViewDirty(toView, 'prev');\n\n\t\t\t\t// // добавляет текущую страницу в историю браузера\n\t\t\t\thistorySetState(false, hash);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst $dialog = $(elDialog);\n\n\t\t$dialog.dialog('close');\n\t});\n\n\t/**\n\t * Все submit должны обрабатываться через js\n\t */\n\tdocument.addEventListener('submit', (e) => {\n\t\tconst elForm = e.target as HTMLElement;\n\n\t\tif (elForm.matches('.modal-body > form') || elForm.matches('.modal-layer-body > form')) {\n\t\t\te.preventDefault();\n\t\t}\n\t});\n\n\t/**\n\t * Выполнение действия по нажатию Enter\n\t *\n\t * @todo Убрать `.searcher`\n\t */\n\tdocument.addEventListener('keypress', (e) => {\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = e.target;\n\n\t\tconst elModalBody = eventTarget.closest('.ui-dialog .modal-body');\n\t\tif (!elModalBody) return;\n\n\t\tconst isInput =\n\t\t\teventTarget.matches('input:not(.searcher), textarea:not(.searcher), select:not(.searcher), button:not(.searcher)')\n\t\t\t|| eventTarget.hasAttribute('contenteditable');\n\t\tif (!isInput) return;\n\n\t\t// if (e.keyCode !== 10 && e.key !== 'ENTER') return;\n\t\tif (e.key !== 'Enter') return;\n\n\t\t// не выполнять submit действий при работе с jquery autocomplete\n\t\tif (eventTarget.classList.contains('autocomplete')) {\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (eventTarget.tagName === 'TEXTAREA') {\n\t\t\tif (!e.ctrlKey && !e.metaKey) return;\n\n\t\t\tconst elForm = eventTarget.closest('form');\n\n\t\t\tif (elForm) {\n\t\t\t\t// Find visible submit buttons\n\t\t\t\tconst elSubmitButton = querySelectorAllArray(elForm, 'button[type=\"submit\"]')\n\t\t\t\t\t.concat(querySelectorAllArray(elForm, 'input[type=\"submit\"]'))\n\t\t\t\t\t.find((elSubmitButton) => {\n\t\t\t\t\t\treturn isVisible(elSubmitButton);\n\t\t\t\t\t});\n\n\t\t\t\telSubmitButton?.click();\n\t\t\t}\n\t\t}\n\t});\n\n\t/**\n\t * Закрытие диалога по клику вне окна\n\t */\n\tdocument.addEventListener('click', function (event) {\n\t\tif (!(event.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = event.target;\n\n\t\tif (!eventTarget.classList.contains('ui-widget-overlay')) return;\n\n\t\tlet elDialogWrapperWithTopZIndex: ElTopDialogWrapper | undefined;\n\t\tlet topZIndex = 0;\n\n\t\tconst elDialogWrapperVisibles = querySelectorAllArray<ElTopDialogWrapper>(document, '.ui-dialog').filter((elDialogWrapper) => {\n\t\t\treturn isVisible(elDialogWrapper);\n\t\t});\n\n\t\telDialogWrapperVisibles.forEach((elDialogWrapper) => {\n\t\t\tconst zIndex = Number(window.getComputedStyle(elDialogWrapper).zIndex);\n\t\t\tif (zIndex < topZIndex) return;\n\n\t\t\telDialogWrapperWithTopZIndex = elDialogWrapper;\n\t\t\ttopZIndex = zIndex;\n\t\t});\n\n\t\tif (elDialogWrapperWithTopZIndex) {\n\t\t\tconst elDialog = elDialogWrapperWithTopZIndex.querySelector('.ui-dialog-content');\n\n\t\t\t$(elDialog).dialog('close');\n\t\t}\n\t});\n\n\twindow.addEventListener('resize', TopDialogUtils.recalcPositions);\n\tTopDialogUtils.recalcPositions();\n};\n","import 'jquery';\nimport { nextTick } from 'vue';\n\nimport Core from '@/core/core/core';\nimport { TopPopupWorker } from '@/components/popup/worker';\nimport { sleep, waitWhile } from '@/core/utils/system';\nimport { setHashs } from '@/core/utils/route';\nimport { connectScrollShadow } from '@/core/utils/scroll';\n\nimport type { ElTopDialog, ElTopDialogBody, ElTopDialogModalLayer, ElTopDialogPage, ElTopDialogWrapper, MoveDirection } from './types';\nimport { TopDialogWorker } from './worker';\nimport { initDialogGlobalEvents } from './utils.globalEvents';\nimport { getDialogWorker } from '../dialog/dialogs/dialogs.vue';\n\nimport css from '../dialog/style/dialog.css?inline';\nimport cssM from '../dialog/style/dialog.m.css?inline';\nimport cssPC from '../dialog/style/dialog.pc.css?inline';\nimport cssModern from '../dialog/style/modern/dialog.css?inline';\nimport cssModernPC from '../dialog/style/modern/dialog.pc.css?inline';\nimport { isVisible, querySelectorAllArray } from '@/core/utils/dom';\n\nCore.insertStyleToPage(css);\nCore.insertStyleToPage(cssM, 'm');\nCore.insertStyleToPage(cssPC, 'pc');\nCore.insertStyleToPage(cssModern);\nCore.insertStyleToPage(cssModernPC, 'pc');\n\nlet timerClearAnimation: NodeJS.Timeout;\nlet isInited = false;\n\n/**\n * Является ли элемент JQuery<HTMLElement>\n */\nconst isElJQuery = (el: JQuery<HTMLElement> | HTMLElement | HTMLElement[]) => {\n\treturn !!el && typeof el === 'object' && 'jquery' in el;\n};\n\nconst init = () => {\n\t$.extend($.ui.dialog.prototype.options, {\n\t\tfocus: (e: any) => {\n\t\t\te.target.focus();\n\n\t\t\t$('[autofocus]', e.target)[0]?.focus();\n\n\t\t\t// setTimeout(function () {\n\t\t\t// \tif ($('[autofocus]', e.target).length) return;\n\t\t\t// \t$('.modal-footer button:first, .modal-body :input:first', e.target).eq(0).focus();\n\t\t\t//\n\t\t\t// \t// fix пропадающего autocomplete при нажатии на scroll в autocomplete\n\t\t\t// \t$(e.target).add($(e.target).closest('.ui-dialog')).removeAttr('tabindex');\n\t\t\t// });\n\t\t},\n\t\tcreate: (e: any) => onCreate(e.target),\n\t\topen: (e: any) => onOpen(e.target),\n\t\tclose: (e: any) => onClose(e.target),\n\t\tmodal: true,\n\t\tresizable: false,\n\t\tcloseOnEscape: false,\n\t\twidth: 'auto',\n\t\tminHeight: 0,\n\t});\n\n\t$.ui.dialog.prototype._focusTabbable = $.noop;\n\n\t$.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop;\n\t$.ui.dialog.prototype._moveToTop = function () {\n\t\tthis._moveToTopOriginal();\n\n\t\tconst $dialog = $(this.element);\n\t\t$dialog.trigger('dialogsMoveToTop', [$dialog]);\n\t};\n\n\tinitDialogGlobalEvents();\n\n\tisInited = true;\n};\n\n/**\n * Получить настройки диалогового окна из Vue компонента\n */\nconst genVueOptions = (elDialog: ElTopDialog) => {\n\tconst options: {\n\t\tmodal?: boolean,\n\t\tposition?: any,\n\t} = {};\n\n\tif (elDialog.dataset?.modal === 'false') options.modal = false;\n\tif (elDialog.dataset?.position) options.position = JSON.parse(elDialog.dataset.position);\n\n\treturn options;\n};\n\nconst getElDialogById = (id: string) => {\n\treturn <ElTopDialog | null>document.getElementById(id);\n};\n\n/**\n * Сменить состояние диалогового окна Vue\n */\nconst updatePageVue = async (dialogId: string, pageName?: string, pageNameNext?: string) => {\n\tif (!dialogId.startsWith('dialog_')) return;\n\n\tconst dialog = getDialogWorker(dialogId);\n\tif (!dialog) return;\n\n\tdialog.isOpened.value = true;\n\tif (pageName !== undefined) dialog.pageActive.value = pageName;\n\tif (pageNameNext !== undefined) dialog.pageActiveNext.value = pageNameNext;\n\n\tawait nextTick();\n\n\tif (pageNameNext) {\n\t\tconst elDialog = getElDialogById(dialogId);\n\t\tif (!elDialog) return;\n\n\t\tconst elNextpages = elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`);\n\n\t\tif (!elNextpages.length) {\n\t\t\tawait waitWhile(() => !elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`).length);\n\t\t}\n\t}\n};\n\n/**\n * Callback for jQuery dialog onCreate\n */\nconst onCreate = (elDialog: ElTopDialog) => {\n\tconst elDialogBody = elDialog.querySelector<ElTopDialogBody>('.modal-body');\n\tif (!elDialogBody) return;\n\n\tconnectScrollShadow(elDialogBody);\n\n\tTopDialogWorker.state.decoratorOnCreate?.(elDialog);\n\n\tinitPopup(elDialog);\n};\n\n/**\n * Инициирование событий TopPopup в диалоговом окне\n */\nconst initPopup = (elDialog: HTMLElement) => {\n\t$(elDialog).on('aftershow.top-menu-popup', '[data-top-popup]', (_e, $popup) => {\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPopup = $popup[0];\n\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPageContents = TopDialogWorker.getPairPage(elPopup);\n\t\telPageContents?.[1]?.prepend(elPopup);\n\t});\n};\n\n/**\n * Callback for jQuery dialog onOpen\n */\nconst onOpen = async (elDialog: ElTopDialog) => {\n\tconst pageName = elDialog.dataset.viewPageActive;\n\tconst args = elDialog.dataset.args ? elDialog.dataset.args?.split(':') : [];\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, args);\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.pageActive.value = '';\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\tif (args === undefined) args = elDialog.dataset.args?.split(':') ?? [];\n\n\tif (pageName !== elDialog.dataset.viewPageActive) {\n\t\tconst stopped = stopAnimations(elDialog);\n\t\tif (stopped) await sleep(100);\n\t}\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\telDialog.dataset.args = args?.join(':') ?? '';\n\n\t// запрашиваемая страница уже открыта\n\tif (elNextPages[0].classList.contains('active')) {\n\t\tif (elNextPages[0].dataset.viewPageArgs !== argsString) {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.dataset.viewPageArgs = argsString;\n\t\t\t});\n\n\t\t\t// dialogs.beforeOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t\t// dialogs.afterOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t}\n\n\t\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\t\treturn;\n\t}\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.dataset.viewPageArgs = argsString;\n\t});\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\tif (elCurrentPage.querySelector('.top-popup-wrapper')) {\n\t\t\tTopPopupWorker.close(elCurrentPage.querySelector('.top-popup-wrapper')!);\n\t\t}\n\t});\n\n\tconst elDialogWrapper = elNextPages[0].closest<ElTopDialogWrapper>('.ui-dialog');\n\n\tif (elDialogWrapper && !isVisible(elDialogWrapper)) moveDirection = 'none';\n\tif (!elCurrentPages.length) moveDirection = 'none';\n\tif (isVisible(elNextPages[0])) moveDirection = 'none';\n\n\tswitch (moveDirection) {\n\t\tcase 'prev': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage.classList.add('right-to-center', 'reverse');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('center-to-left', 'reverse');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t\tcase 'next': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive.nextSibling);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage?.classList.add('center-to-left');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('right-to-center');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\telDialog.setAttribute('view-page-active', pageName);\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\telCurrentPage.classList.remove('active');\n\t});\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.classList.add('active');\n\t});\n\n\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\tif (moveDirection) {\n\t\telDialog.classList.add('i-change-page');\n\n\t\tconst delay = Number(window.getComputedStyle(elNextPages[0]).animationDuration.replace('s', '')) * 1000;\n\n\t\ttimerClearAnimation = setTimeout(function () {\n\t\t\tupdatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\t\tstopAnimations(elDialog);\n\t\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\t}, delay);\n\t} else {\n\t\tawait updatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t}\n};\n\n/**\n * К предыдущему представлению\n */\nconst toPrevPage = (elDialog: ElTopDialog) => {\n\tconst elModalLayers = querySelectorAllArray<ElTopDialogModalLayer>(elDialog, '.modal-layer');\n\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elCurrentPage = elModalLayer.querySelector<ElTopDialogPage>(':scope > .active');\n\n\t\tif (elCurrentPage) {\n\t\t\tacc.push(elCurrentPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst elPrevPages = elCurrentPages.reduce<ElTopDialogPage[]>((acc, elCurrentPage) => {\n\t\tlet elPrevPage = elCurrentPage.previousElementSibling as ElTopDialogPage | null;\n\t\twhile (elPrevPage && !elPrevPage.hasAttribute('data-view-page')) {\n\t\t\telPrevPage = elPrevPage.previousElementSibling as ElTopDialogPage | null;\n\t\t}\n\n\t\tif (elPrevPage) acc.push(elPrevPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tconst prevPageName = (elPrevPages[0])?.dataset.viewPage;\n\n\tif (prevPageName) {\n\t\tvoid toViewPage(elDialog, prevPageName, undefined, 'prev');\n\t} else {\n\t\tconst $dialog = $(elDialog);\n\t\t$dialog.dialog('close');\n\t}\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst beforeOpenViewPageTimers = new Set();\nconst beforeOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\t// группировка цепочки событий\n\t// запрос на открытие страницы может выполняться несколько раз, чаще такое может быть при открытии, загрузке и переходе сразу к нужной странице\n\tconst eventKey = elDialog.getAttribute('id') + elPages[0].dataset.viewPage + pageName + args.join();\n\n\tif (beforeOpenViewPageTimers.has(eventKey)) return;\n\tbeforeOpenViewPageTimers.add(eventKey);\n\n\tsetTimeout(function () {\n\t\tbeforeOpenViewPageTimers.delete(eventKey);\n\n\t\t$(elDialog).trigger('viewBeforeOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst afterOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\tsetTimeout(function () {\n\t\t$(elDialog).trigger('viewAfterOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Получить состояние: Диалоговое окно находится в состоянии смены страницы\n */\nconst inAnimation = (elDialog: ElTopDialog | JQuery<ElTopDialog>) => {\n\tif (isElJQuery(elDialog)) elDialog = elDialog?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elDialog.classList.contains('i-change-page');\n};\n\n/**\n * Остановить анимацию смены страницы\n *\n * @returns Вернет true, если анимация производилась и была остановлена\n */\nconst stopAnimations = (elDialog: ElTopDialog) => {\n\tif (!inAnimation(elDialog)) return false;\n\n\tclearTimeout(timerClearAnimation);\n\n\tconst elModalLayers = querySelectorAllArray(elDialog, '.modal-layer');\n\n\tconst pageName = elDialog.dataset.viewPageActive;\n\telDialog.classList.remove('i-change-page');\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelectorAll(':scope > [data-view-page]').forEach((el) => {\n\t\t\tel.classList.remove('center-to-left', 'right-to-center', 'reverse', 'active');\n\t\t});\n\t});\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelector(`:scope > [data-view-page=\"${pageName}\"]`)?.classList.add('active');\n\t});\n\n\treturn true;\n};\n\n/**\n * Закрыть диалоговое окно\n */\nconst close = function (dialogId: string) {\n\tconst elDialog = getElDialogById(dialogId);\n\tif (!elDialog) return;\n\n\tconst $dialog = $(elDialog);\n\n\tif (!$dialog.dialog('instance')) return;\n\n\t$dialog.dialog('close');\n};\n\n/**\n * Управление props.isLoading\n */\nconst setLoading = (elPages: ElTopDialogPage[] | JQuery<ElTopDialogPage>, isLoading: boolean, duration?: number) => {\n\tif (isElJQuery(elPages)) elPages = elPages.toArray(); // todo: убрать после переписки jquery на сайте\n\n\tconst elPagesVisibleds = elPages.reduce<ElTopDialogPage[]>((acc, elPage) => {\n\t\tif (elPage.hasAttribute('data-view-page') && isVisible(elPage)) acc.push(elPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tif (isLoading) {\n\t\tif (duration !== undefined) {\n\t\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', duration + 's');\n\t\t\t});\n\t\t}\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.add('i-load-data');\n\t\t});\n\t} else {\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.remove('i-load-data');\n\t\t});\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', '10s');\n\t\t});\n\t}\n};\n\nconst isLoading = (elPage: ElTopDialogPage | JQuery<ElTopDialogPage>) => {\n\tif (isElJQuery(elPage)) elPage = elPage?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elPage.classList.contains('i-load-data');\n};\n\nexport const TopDialogUtils = {\n\tgetElDialogById,\n\tupdatePageVue,\n\trecalcPositions,\n\ttoViewDirty,\n\ttoView,\n\ttoViewPage,\n\ttoPrevPage,\n\tsetLoading,\n\tisLoading,\n\tinAnimation,\n\tclose,\n};\n\ninit();\n"],"names":["inited","initDialogGlobalEvents","el","querySelectorVisible","elDialogs","querySelectorAllArray","elDialog","isVisible","toView","TopDialogUtils","viewNameAndPageLink","viewName","pageLink","elToPages","hash","TopDialogWorker","historySetState","elForm","eventTarget","elSubmitButton","event","elDialogWrapperWithTopZIndex","topZIndex","elDialogWrapper","zIndex","Core","css","cssM","cssPC","cssModern","cssModernPC","timerClearAnimation","isInited","isElJQuery","init","onCreate","onOpen","onClose","$dialog","genVueOptions","options","getElDialogById","id","updatePageVue","dialogId","pageName","pageNameNext","dialog","getDialogWorker","nextTick","waitWhile","elDialogBody","connectScrollShadow","initPopup","_e","$popup","elPopup","args","w1","scrollBarWidth","recalcPositions","hashData","setHashs","toViewDirty","toViewPageName","moveDirection","toViewParts","argsString","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-Dma85ehT.es.js","sources":["../../src/storybook/jquery.ts","../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"sourcesContent":["/**\n * см. /.storybook/preview-head.html\n */\nexport default $;\n","import { TopDialogUtils } from './utils';\nimport { TopDialogWorker } from './worker';\nimport { isVisible, querySelectorAllArray, querySelectorVisible } from '@/core/utils/dom';\nimport { historySetState } from '@/core/utils/route';\nimport type { ElTopDialog, ElTopDialogWrapper } from '@/components/dialog/lib/types';\n\nlet inited = false;\n\n/**\n * Инициализация глобальных событий для диалоговых окон\n *\n * Производится один раз при подключении диалогового окна\n *\n * События не размонтируются\n */\nexport const initDialogGlobalEvents = () => {\n\tif (inited) return;\n\tinited = true;\n\n\t/**\n\t * Закрытие диалога по Esc\n\t */\n\tdocument.addEventListener('keydown', (e) => {\n\t\tif (e.key !== 'Escape') return;\n\t\tif (!e.target || !(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target;\n\n\t\t// событие произошло вне диалогового окна\n\t\tif (!el.closest('.ui-dialog')) return;\n\n\t\tif (el.contentEditable === 'true' || el.contentEditable === 'plaintext-only') return;\n\n\t\t// не закрывать окно при открытом TopPopup\n\t\tif (querySelectorVisible(document.documentElement, '.top-popup-wrapper')) return;\n\n\t\t// не закрывать окно при работе с jquery autocomplete\n\t\tif (el.classList.contains('autocomplete')) return;\n\n\t\t// не закрывать окно при открытом fancybox\n\t\tif (querySelectorVisible(document.documentElement, '.fancybox-container')) return;\n\n\t\tconst elDialogs = querySelectorAllArray<ElTopDialog>(document, '.ui-dialog-content').filter((elDialog) => {\n\t\t\treturn isVisible(elDialog);\n\t\t});\n\n\t\t$(elDialogs[elDialogs.length - 1]).dialog('close');\n\t});\n\n\t/**\n\t * Закрытие диалога по кнопке закрыть\n\t */\n\tdocument.addEventListener('click', (e) => {\n\t\t// // навигация без истории\n\t\t// var $dialog = $(this).closest('.ui-dialog-content');\n\t\t// var viewName = $dialog.attr('id');\n\t\t// var pageName = getHash('view-' + viewName);\n\t\t// if (!pageName) {\n\t\t// \ttoPrevPage($dialog);\n\t\t//\n\t\t// \treturn;\n\t\t// }\n\t\t//\n\t\t// // навигация по истории\n\t\t// if (Core.state.isMobile && history.length > 1 && $(this).closest('.modal-layer').length) {\n\t\t// \tvar href = location.href;\n\t\t//\n\t\t// \thistory.go(-1);\n\t\t//\n\t\t// \tsetTimeout(() => {\n\t\t// \t\t// это первая страница в истории вкладки браузера\n\t\t// \t\tif (href === location.href) $(e.target).closest('.ui-dialog-content').dialog('close');\n\t\t// \t});\n\t\t// } else {\n\t\t// \t$(this).closest('.ui-dialog-content').dialog('close');\n\t\t// }\n\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target.closest('[data-action=\"top-dialog-close\"]') as HTMLElement | null;\n\t\tif (!el) return;\n\n\t\te.preventDefault();\n\n\t\tconst elDialog = el.closest<ElTopDialog>('.ui-dialog-content');\n\t\tif (!elDialog) return;\n\n\t\t// если к кнопке привязана ссылка, диалоговое окно не нужно закрывать\n\t\tconst toView = el.dataset.toView;\n\n\t\tif (toView == 'toPrevPage()') {\n\t\t\tTopDialogUtils.toPrevPage(elDialog);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (toView) {\n\t\t\tconst viewNameAndPageLink = toView.split('-');\n\t\t\tconst viewName = viewNameAndPageLink.shift();\n\t\t\tconst pageLink = viewNameAndPageLink.join('-');\n\n\t\t\tif (!viewName) return;\n\n\t\t\tconst elDialog = TopDialogUtils.getElDialogById(viewName);\n\t\t\tif (!elDialog) return;\n\n\t\t\tconst elToPages = querySelectorAllArray(elDialog, `[data-view-page=\"${pageLink}\"]`);\n\t\t\tif (!elToPages) return;\n\n\t\t\tif (!isVisible(elToPages[0])) {\n\t\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, 'prev');\n\n\t\t\t\t// // не убирает кнопку \"Вперед\" в браузере\n\t\t\t\t// history.replaceState(null, '', hash);\n\t\t\t\t// toViewDirty(toView, 'prev');\n\n\t\t\t\t// // добавляет текущую страницу в историю браузера\n\t\t\t\thistorySetState(false, hash);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst $dialog = $(elDialog);\n\n\t\t$dialog.dialog('close');\n\t});\n\n\t/**\n\t * Все submit должны обрабатываться через js\n\t */\n\tdocument.addEventListener('submit', (e) => {\n\t\tconst elForm = e.target as HTMLElement;\n\n\t\tif (elForm.matches('.modal-body > form') || elForm.matches('.modal-layer-body > form')) {\n\t\t\te.preventDefault();\n\t\t}\n\t});\n\n\t/**\n\t * Выполнение действия по нажатию Enter\n\t *\n\t * @todo Убрать `.searcher`\n\t */\n\tdocument.addEventListener('keypress', (e) => {\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = e.target;\n\n\t\tconst elModalBody = eventTarget.closest('.ui-dialog .modal-body');\n\t\tif (!elModalBody) return;\n\n\t\tconst isInput =\n\t\t\teventTarget.matches('input:not(.searcher), textarea:not(.searcher), select:not(.searcher), button:not(.searcher)')\n\t\t\t|| eventTarget.hasAttribute('contenteditable');\n\t\tif (!isInput) return;\n\n\t\t// if (e.keyCode !== 10 && e.key !== 'ENTER') return;\n\t\tif (e.key !== 'Enter') return;\n\n\t\t// не выполнять submit действий при работе с jquery autocomplete\n\t\tif (eventTarget.classList.contains('autocomplete')) {\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (eventTarget.tagName === 'TEXTAREA') {\n\t\t\tif (!e.ctrlKey && !e.metaKey) return;\n\n\t\t\tconst elForm = eventTarget.closest('form');\n\n\t\t\tif (elForm) {\n\t\t\t\t// Find visible submit buttons\n\t\t\t\tconst elSubmitButton = querySelectorAllArray(elForm, 'button[type=\"submit\"]')\n\t\t\t\t\t.concat(querySelectorAllArray(elForm, 'input[type=\"submit\"]'))\n\t\t\t\t\t.find((elSubmitButton) => {\n\t\t\t\t\t\treturn isVisible(elSubmitButton);\n\t\t\t\t\t});\n\n\t\t\t\telSubmitButton?.click();\n\t\t\t}\n\t\t}\n\t});\n\n\t/**\n\t * Закрытие диалога по клику вне окна\n\t */\n\tdocument.addEventListener('click', function (event) {\n\t\tif (!(event.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = event.target;\n\n\t\tif (!eventTarget.classList.contains('ui-widget-overlay')) return;\n\n\t\tlet elDialogWrapperWithTopZIndex: ElTopDialogWrapper | undefined;\n\t\tlet topZIndex = 0;\n\n\t\tconst elDialogWrapperVisibles = querySelectorAllArray<ElTopDialogWrapper>(document, '.ui-dialog').filter((elDialogWrapper) => {\n\t\t\treturn isVisible(elDialogWrapper);\n\t\t});\n\n\t\telDialogWrapperVisibles.forEach((elDialogWrapper) => {\n\t\t\tconst zIndex = Number(window.getComputedStyle(elDialogWrapper).zIndex);\n\t\t\tif (zIndex < topZIndex) return;\n\n\t\t\telDialogWrapperWithTopZIndex = elDialogWrapper;\n\t\t\ttopZIndex = zIndex;\n\t\t});\n\n\t\tif (elDialogWrapperWithTopZIndex) {\n\t\t\tconst elDialog = elDialogWrapperWithTopZIndex.querySelector('.ui-dialog-content');\n\n\t\t\t$(elDialog).dialog('close');\n\t\t}\n\t});\n\n\twindow.addEventListener('resize', TopDialogUtils.recalcPositions);\n\tTopDialogUtils.recalcPositions();\n};\n","import 'jquery';\nimport { nextTick } from 'vue';\n\nimport Core from '@/core/core/core';\nimport { TopPopupWorker } from '@/components/popup/worker';\nimport { sleep, waitWhile } from '@/core/utils/system';\nimport { setHashs } from '@/core/utils/route';\nimport { connectScrollShadow } from '@/core/utils/scroll';\n\nimport type { ElTopDialog, ElTopDialogBody, ElTopDialogModalLayer, ElTopDialogPage, ElTopDialogWrapper, MoveDirection } from './types';\nimport { TopDialogWorker } from './worker';\nimport { initDialogGlobalEvents } from './utils.globalEvents';\nimport { getDialogWorker } from '../dialog/dialogs/dialogs.vue';\n\nimport css from '../dialog/style/dialog.css?inline';\nimport cssM from '../dialog/style/dialog.m.css?inline';\nimport cssPC from '../dialog/style/dialog.pc.css?inline';\nimport cssModern from '../dialog/style/modern/dialog.css?inline';\nimport cssModernPC from '../dialog/style/modern/dialog.pc.css?inline';\nimport { isVisible, querySelectorAllArray } from '@/core/utils/dom';\n\nCore.insertStyleToPage(css);\nCore.insertStyleToPage(cssM, 'm');\nCore.insertStyleToPage(cssPC, 'pc');\nCore.insertStyleToPage(cssModern);\nCore.insertStyleToPage(cssModernPC, 'pc');\n\nlet timerClearAnimation: NodeJS.Timeout;\nlet isInited = false;\n\n/**\n * Является ли элемент JQuery<HTMLElement>\n */\nconst isElJQuery = (el: JQuery<HTMLElement> | HTMLElement | HTMLElement[]) => {\n\treturn !!el && typeof el === 'object' && 'jquery' in el;\n};\n\nconst init = () => {\n\t$.extend($.ui.dialog.prototype.options, {\n\t\tfocus: (e: any) => {\n\t\t\te.target.focus();\n\n\t\t\t$('[autofocus]', e.target)[0]?.focus();\n\n\t\t\t// setTimeout(function () {\n\t\t\t// \tif ($('[autofocus]', e.target).length) return;\n\t\t\t// \t$('.modal-footer button:first, .modal-body :input:first', e.target).eq(0).focus();\n\t\t\t//\n\t\t\t// \t// fix пропадающего autocomplete при нажатии на scroll в autocomplete\n\t\t\t// \t$(e.target).add($(e.target).closest('.ui-dialog')).removeAttr('tabindex');\n\t\t\t// });\n\t\t},\n\t\tcreate: (e: any) => onCreate(e.target),\n\t\topen: (e: any) => onOpen(e.target),\n\t\tclose: (e: any) => onClose(e.target),\n\t\tmodal: true,\n\t\tresizable: false,\n\t\tcloseOnEscape: false,\n\t\twidth: 'auto',\n\t\tminHeight: 0,\n\t});\n\n\t$.ui.dialog.prototype._focusTabbable = $.noop;\n\n\t$.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop;\n\t$.ui.dialog.prototype._moveToTop = function () {\n\t\tthis._moveToTopOriginal();\n\n\t\tconst $dialog = $(this.element);\n\t\t$dialog.trigger('dialogsMoveToTop', [$dialog]);\n\t};\n\n\tinitDialogGlobalEvents();\n\n\tisInited = true;\n};\n\n/**\n * Получить настройки диалогового окна из Vue компонента\n */\nconst genVueOptions = (elDialog: ElTopDialog) => {\n\tconst options: {\n\t\tmodal?: boolean,\n\t\tposition?: any,\n\t} = {};\n\n\tif (elDialog.dataset?.modal === 'false') options.modal = false;\n\tif (elDialog.dataset?.position) options.position = JSON.parse(elDialog.dataset.position);\n\n\treturn options;\n};\n\nconst getElDialogById = (id: string) => {\n\treturn <ElTopDialog | null>document.getElementById(id);\n};\n\n/**\n * Сменить состояние диалогового окна Vue\n */\nconst updatePageVue = async (dialogId: string, pageName?: string, pageNameNext?: string) => {\n\tif (!dialogId.startsWith('dialog_')) return;\n\n\tconst dialog = getDialogWorker(dialogId);\n\tif (!dialog) return;\n\n\tdialog.isOpened.value = true;\n\tif (pageName !== undefined) dialog.pageActive.value = pageName;\n\tif (pageNameNext !== undefined) dialog.pageActiveNext.value = pageNameNext;\n\n\tawait nextTick();\n\n\tif (pageNameNext) {\n\t\tconst elDialog = getElDialogById(dialogId);\n\t\tif (!elDialog) return;\n\n\t\tconst elNextpages = elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`);\n\n\t\tif (!elNextpages.length) {\n\t\t\tawait waitWhile(() => !elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`).length);\n\t\t}\n\t}\n};\n\n/**\n * Callback for jQuery dialog onCreate\n */\nconst onCreate = (elDialog: ElTopDialog) => {\n\tconst elDialogBody = elDialog.querySelector<ElTopDialogBody>('.modal-body');\n\tif (!elDialogBody) return;\n\n\tconnectScrollShadow(elDialogBody);\n\n\tTopDialogWorker.state.decoratorOnCreate?.(elDialog);\n\n\tinitPopup(elDialog);\n};\n\n/**\n * Инициирование событий TopPopup в диалоговом окне\n */\nconst initPopup = (elDialog: HTMLElement) => {\n\t$(elDialog).on('aftershow.top-menu-popup', '[data-top-popup]', (_e, $popup) => {\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPopup = $popup[0];\n\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPageContents = TopDialogWorker.getPairPage(elPopup);\n\t\telPageContents?.[1]?.prepend(elPopup);\n\t});\n};\n\n/**\n * Callback for jQuery dialog onOpen\n */\nconst onOpen = async (elDialog: ElTopDialog) => {\n\tconst pageName = elDialog.dataset.viewPageActive;\n\tconst args = elDialog.dataset.args ? elDialog.dataset.args?.split(':') : [];\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, args);\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.pageActive.value = '';\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\tif (args === undefined) args = elDialog.dataset.args?.split(':') ?? [];\n\n\tif (pageName !== elDialog.dataset.viewPageActive) {\n\t\tconst stopped = stopAnimations(elDialog);\n\t\tif (stopped) await sleep(100);\n\t}\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\telDialog.dataset.args = args?.join(':') ?? '';\n\n\t// запрашиваемая страница уже открыта\n\tif (elNextPages[0].classList.contains('active')) {\n\t\tif (elNextPages[0].dataset.viewPageArgs !== argsString) {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.dataset.viewPageArgs = argsString;\n\t\t\t});\n\n\t\t\t// dialogs.beforeOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t\t// dialogs.afterOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t}\n\n\t\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\t\treturn;\n\t}\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.dataset.viewPageArgs = argsString;\n\t});\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\tif (elCurrentPage.querySelector('.top-popup-wrapper')) {\n\t\t\tTopPopupWorker.close(elCurrentPage.querySelector('.top-popup-wrapper')!);\n\t\t}\n\t});\n\n\tconst elDialogWrapper = elNextPages[0].closest<ElTopDialogWrapper>('.ui-dialog');\n\n\tif (elDialogWrapper && !isVisible(elDialogWrapper)) moveDirection = 'none';\n\tif (!elCurrentPages.length) moveDirection = 'none';\n\tif (isVisible(elNextPages[0])) moveDirection = 'none';\n\n\tswitch (moveDirection) {\n\t\tcase 'prev': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage.classList.add('right-to-center', 'reverse');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('center-to-left', 'reverse');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t\tcase 'next': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive.nextSibling);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage?.classList.add('center-to-left');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('right-to-center');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\telDialog.setAttribute('view-page-active', pageName);\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\telCurrentPage.classList.remove('active');\n\t});\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.classList.add('active');\n\t});\n\n\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\tif (moveDirection) {\n\t\telDialog.classList.add('i-change-page');\n\n\t\tconst delay = Number(window.getComputedStyle(elNextPages[0]).animationDuration.replace('s', '')) * 1000;\n\n\t\ttimerClearAnimation = setTimeout(function () {\n\t\t\tupdatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\t\tstopAnimations(elDialog);\n\t\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\t}, delay);\n\t} else {\n\t\tawait updatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t}\n};\n\n/**\n * К предыдущему представлению\n */\nconst toPrevPage = (elDialog: ElTopDialog) => {\n\tconst elModalLayers = querySelectorAllArray<ElTopDialogModalLayer>(elDialog, '.modal-layer');\n\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elCurrentPage = elModalLayer.querySelector<ElTopDialogPage>(':scope > .active');\n\n\t\tif (elCurrentPage) {\n\t\t\tacc.push(elCurrentPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst elPrevPages = elCurrentPages.reduce<ElTopDialogPage[]>((acc, elCurrentPage) => {\n\t\tlet elPrevPage = elCurrentPage.previousElementSibling as ElTopDialogPage | null;\n\t\twhile (elPrevPage && !elPrevPage.hasAttribute('data-view-page')) {\n\t\t\telPrevPage = elPrevPage.previousElementSibling as ElTopDialogPage | null;\n\t\t}\n\n\t\tif (elPrevPage) acc.push(elPrevPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tconst prevPageName = (elPrevPages[0])?.dataset.viewPage;\n\n\tif (prevPageName) {\n\t\tvoid toViewPage(elDialog, prevPageName, undefined, 'prev');\n\t} else {\n\t\tconst $dialog = $(elDialog);\n\t\t$dialog.dialog('close');\n\t}\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst beforeOpenViewPageTimers = new Set();\nconst beforeOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\t// группировка цепочки событий\n\t// запрос на открытие страницы может выполняться несколько раз, чаще такое может быть при открытии, загрузке и переходе сразу к нужной странице\n\tconst eventKey = elDialog.getAttribute('id') + elPages[0].dataset.viewPage + pageName + args.join();\n\n\tif (beforeOpenViewPageTimers.has(eventKey)) return;\n\tbeforeOpenViewPageTimers.add(eventKey);\n\n\tsetTimeout(function () {\n\t\tbeforeOpenViewPageTimers.delete(eventKey);\n\n\t\t$(elDialog).trigger('viewBeforeOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst afterOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\tsetTimeout(function () {\n\t\t$(elDialog).trigger('viewAfterOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Получить состояние: Диалоговое окно находится в состоянии смены страницы\n */\nconst inAnimation = (elDialog: ElTopDialog | JQuery<ElTopDialog>) => {\n\tif (isElJQuery(elDialog)) elDialog = elDialog?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elDialog.classList.contains('i-change-page');\n};\n\n/**\n * Остановить анимацию смены страницы\n *\n * @returns Вернет true, если анимация производилась и была остановлена\n */\nconst stopAnimations = (elDialog: ElTopDialog) => {\n\tif (!inAnimation(elDialog)) return false;\n\n\tclearTimeout(timerClearAnimation);\n\n\tconst elModalLayers = querySelectorAllArray(elDialog, '.modal-layer');\n\n\tconst pageName = elDialog.dataset.viewPageActive;\n\telDialog.classList.remove('i-change-page');\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelectorAll(':scope > [data-view-page]').forEach((el) => {\n\t\t\tel.classList.remove('center-to-left', 'right-to-center', 'reverse', 'active');\n\t\t});\n\t});\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelector(`:scope > [data-view-page=\"${pageName}\"]`)?.classList.add('active');\n\t});\n\n\treturn true;\n};\n\n/**\n * Закрыть диалоговое окно\n */\nconst close = function (dialogId: string) {\n\tconst elDialog = getElDialogById(dialogId);\n\tif (!elDialog) return;\n\n\tconst $dialog = $(elDialog);\n\n\tif (!$dialog.dialog('instance')) return;\n\n\t$dialog.dialog('close');\n};\n\n/**\n * Управление props.isLoading\n */\nconst setLoading = (elPages: ElTopDialogPage[] | JQuery<ElTopDialogPage>, isLoading: boolean, duration?: number) => {\n\tif (isElJQuery(elPages)) elPages = elPages.toArray(); // todo: убрать после переписки jquery на сайте\n\n\tconst elPagesVisibleds = elPages.reduce<ElTopDialogPage[]>((acc, elPage) => {\n\t\tif (elPage.hasAttribute('data-view-page') && isVisible(elPage)) acc.push(elPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tif (isLoading) {\n\t\tif (duration !== undefined) {\n\t\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', duration + 's');\n\t\t\t});\n\t\t}\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.add('i-load-data');\n\t\t});\n\t} else {\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.remove('i-load-data');\n\t\t});\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', '10s');\n\t\t});\n\t}\n};\n\nconst isLoading = (elPage: ElTopDialogPage | JQuery<ElTopDialogPage>) => {\n\tif (isElJQuery(elPage)) elPage = elPage?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elPage.classList.contains('i-load-data');\n};\n\nexport const TopDialogUtils = {\n\tgetElDialogById,\n\tupdatePageVue,\n\trecalcPositions,\n\ttoViewDirty,\n\ttoView,\n\ttoViewPage,\n\ttoPrevPage,\n\tsetLoading,\n\tisLoading,\n\tinAnimation,\n\tclose,\n};\n\ninit();\n"],"names":["inited","initDialogGlobalEvents","el","querySelectorVisible","elDialogs","querySelectorAllArray","elDialog","isVisible","toView","TopDialogUtils","viewNameAndPageLink","viewName","pageLink","elToPages","hash","TopDialogWorker","historySetState","elForm","eventTarget","elSubmitButton","event","elDialogWrapperWithTopZIndex","topZIndex","elDialogWrapper","zIndex","Core","css","cssM","cssPC","cssModern","cssModernPC","timerClearAnimation","isInited","isElJQuery","init","onCreate","onOpen","onClose","$dialog","genVueOptions","options","getElDialogById","id","updatePageVue","dialogId","pageName","pageNameNext","dialog","getDialogWorker","nextTick","waitWhile","elDialogBody","connectScrollShadow","initPopup","_e","$popup","elPopup","args","w1","scrollBarWidth","recalcPositions","hashData","setHashs","toViewDirty","toViewPageName","moveDirection","toViewParts","argsString","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,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent as n,
|
|
2
|
-
import { _ as u } from "./forms-
|
|
1
|
+
import { defineComponent as n, useModel as d, openBlock as p, createBlock as i, mergeProps as r, mergeModels as m } from "vue";
|
|
2
|
+
import { _ as u } from "./forms-DtC-EKJL.es.js";
|
|
3
3
|
const f = /* @__PURE__ */ n({
|
|
4
4
|
__name: "widgetInput",
|
|
5
|
-
props: /* @__PURE__ */
|
|
5
|
+
props: /* @__PURE__ */ m({
|
|
6
6
|
modelValue: {},
|
|
7
7
|
name: {},
|
|
8
8
|
disabled: { type: Boolean },
|
|
@@ -25,8 +25,8 @@ const f = /* @__PURE__ */ n({
|
|
|
25
25
|
}),
|
|
26
26
|
emits: ["update:modelValue"],
|
|
27
27
|
setup(l) {
|
|
28
|
-
const e =
|
|
29
|
-
return (a, o) => (
|
|
28
|
+
const e = d(l, "modelValue");
|
|
29
|
+
return (a, o) => (p(), i(u, r(a.$props, {
|
|
30
30
|
modificator: "popupWidgetInput",
|
|
31
31
|
modelValue: e.value,
|
|
32
32
|
"onUpdate:modelValue": o[0] || (o[0] = (t) => e.value = t)
|
|
@@ -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-
|
|
39
|
+
//# sourceMappingURL=widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetInput.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
{"version":3,"file":"widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js","sources":["../../src/components/popup/popup/widgetInput/widgetInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ModelRef } from 'vue';\nimport type { Props } from '@/components/forms/input/types';\nimport TopInput from '@/components/forms/input/input.vue';\n\nwithDefaults(defineProps<Props>(), {\n\taddCleaner: true,\n});\n\nconst model: ModelRef<string> = defineModel({\n\tdefault: '',\n});\n</script>\n\n<template>\n\t<TopInput\n\t\t:=\"$props\"\n\t\tmodificator=\"popupWidgetInput\"\n\t\tv-model=\"model\"\n\t/>\n</template>\n\n<style>\n.top-input-popupWidgetInput {\n\t--top-loadbar-color: var(--color-line-2);\n\n\twidth: 100%;\n}\n\n.top-input_input-popupWidgetInput {\n\tborder: none;\n\tbackground: var(--color-layer-1);\n}\n\n.top-input_input-popupWidgetInput:hover {\n\tbackground: var(--color-layer-2);\n}\n\n.top-input_input-popupWidgetInput:focus {\n\tbackground: var(--color-layer-1);\n\toutline: unset;\n}\n</style>\n"],"names":["model","_useModel","_createBlock","TopInput","_mergeProps","_ctx","$event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,UAAMA,IAA0BC,iBAE/B;2BAIAC,EAIEC,GAJFC,EAIEC,EAAA,QAHQ;AAAA,MACT,aAAY;AAAA,kBACHL,EAAA;AAAA,oDAAAA,EAAK,QAAAM;AAAA,IAAA;;;"}
|
package/api/index.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/field-Cvv0SRcJ.amd"],(function(h,u,O){"use strict";if(typeof I>"u")var I=window.Vue;const k=(o={})=>(o={...o},o.loadingEl??=globalThis.document?.body,o.loadingShowSpinner??=!0,o.method??="POST",o.accept??="application/json",o),E=(o,t,s)=>({result:o,errors:t,response:s}),C=o=>o.startsWith("/system_2/common/"),A=(o=!1,t=window.location.href,s)=>{const{protocol:e,hostname:n,port:r}=new URL(t),i=n.split("."),p=!o||i.length<=2||/^[\d.]+$/.test(n)||n==="localhost"?n:i.slice(-2).join(".");return`${e}//${p}${r?`:${r}`:""}`},T=o=>Object.values(o).some(t=>t instanceof FileList||t instanceof File||t instanceof Blob||Array.isArray(t)&&t.some(s=>s instanceof File||s instanceof Blob)),z=(o,t,s)=>{const e={inLoading:!1,path:t,url:o.options.baseUrl+t,options:k(o.options.requestOptions),mockerOptions:void 0,params:{},getInLoading:()=>e.inLoading,setParams:n=>(e.params={...n},e),changeParams:n=>(Object.assign(e.params,n),e),setOptions:n=>(Object.assign(e.options,n),e),setMocker:n=>(e.mockerOptions=n,e),call:async n=>e.exec(n),callFetch:async(n,r)=>e.exec(r,n),callInNewWindow:async n=>{const r=e.genData(n),i=o.genMiddlewareCtx(e,r);o.options.onPrepareData?.(r,i);const{postInWindow:p}=await new Promise((a,w)=>h(["../.chunks/lazy-
|
|
1
|
+
define(["require","exports","../.chunks/field-Cvv0SRcJ.amd"],(function(h,u,O){"use strict";if(typeof I>"u")var I=window.Vue;const k=(o={})=>(o={...o},o.loadingEl??=globalThis.document?.body,o.loadingShowSpinner??=!0,o.method??="POST",o.accept??="application/json",o),E=(o,t,s)=>({result:o,errors:t,response:s}),C=o=>o.startsWith("/system_2/common/"),A=(o=!1,t=window.location.href,s)=>{const{protocol:e,hostname:n,port:r}=new URL(t),i=n.split("."),p=!o||i.length<=2||/^[\d.]+$/.test(n)||n==="localhost"?n:i.slice(-2).join(".");return`${e}//${p}${r?`:${r}`:""}`},T=o=>Object.values(o).some(t=>t instanceof FileList||t instanceof File||t instanceof Blob||Array.isArray(t)&&t.some(s=>s instanceof File||s instanceof Blob)),z=(o,t,s)=>{const e={inLoading:!1,path:t,url:o.options.baseUrl+t,options:k(o.options.requestOptions),mockerOptions:void 0,params:{},getInLoading:()=>e.inLoading,setParams:n=>(e.params={...n},e),changeParams:n=>(Object.assign(e.params,n),e),setOptions:n=>(Object.assign(e.options,n),e),setMocker:n=>(e.mockerOptions=n,e),call:async n=>e.exec(n),callFetch:async(n,r)=>e.exec(r,n),callInNewWindow:async n=>{const r=e.genData(n),i=o.genMiddlewareCtx(e,r);o.options.onPrepareData?.(r,i);const{postInWindow:p}=await new Promise((a,w)=>h(["../.chunks/lazy-DDNqYkXn.amd"],a,w));p(e.url,r,"_blank")},callInSelfWindow:async n=>{const r=e.genData(n),i=o.genMiddlewareCtx(e,r);o.options.onPrepareData?.(r,i);const{postInWindow:p}=await new Promise((a,w)=>h(["../.chunks/lazy-DDNqYkXn.amd"],a,w));p(e.url,r,"_self")},genData:(n,r)=>{const i={...e.params};if(delete i.fetch_style,n){let p=[...n];s&&(p=p.filter(a=>s.includes(a))),i.fields=p}else s&&(i.fields=s);return r&&(i.fetch_style=r),i},abortByFingerprint:()=>{if(!e.options.checkFingerprint)return;const n=e.path+e.options.checkFingerprint;o.abortControllers[n]?.abort(new DOMException(`Stopped previous request by fingerprint: ${e.options.checkFingerprint}`,"AbortError"));const r=new AbortController;return o.abortControllers[n]=r,r.signal},async exec(n,r){const i=o.options.Request,p=o.options.fetch,a=e.genData(n,r),w=o.genMiddlewareCtx(e,a);o.options.onPrepareData?.(a,w);const P=T(a);if(P&&e.options.method!=="POST")throw new Error("Files can be sent only in POST requests");let q=e.url,S;if(P){if(e.options.method!=="POST")throw new Error("Files can be sent only in POST requests");const{formDataSerializer:l}=await new Promise((g,y)=>h(["../.chunks/lazy-DDNqYkXn.amd"],g,y));S=l(a)}else e.options.method!=="POST"?q+="?"+await o.options.querySerializer(a):S=o.options.bodySerializer(a);let F=e.abortByFingerprint();if(e.mockerOptions){const{genMockResponse:l}=await new Promise((g,y)=>h(["../.chunks/index-DLUtoTUg.amd"],g,y));return await l(e.mockerOptions,n,a,F)}const j={...o.options,method:e.options.method,body:S,signal:F};let m=new i(q,j);m.headers.set("x-request-id",w.id),m.headers.set("accept",e.options.accept),P||m.headers.set("content-type","application/json");const f={...w,request:m};e.inLoading=!0,e.options.onLoading?.(e.inLoading,f);let c;const b=await o.middlewareOnRequest(m,f);if(b instanceof Response?c=b:b instanceof i&&(m=b),!c)try{c=await p(m)}catch(l){c=await o.middlewareOnError(l,f)}finally{e.inLoading=!1,e.options.onLoading?.(e.inLoading,f)}c=await o.middlewareOnResponse(c,f);let d,x,R;try{const l=c.headers.get("content-type")?.includes("application/json");x=await c.text(),this.options.accept==="application/json"||l?d=JSON.parse(x):o.useExt?d=E(x,void 0,c):d=x}catch(l){if((l instanceof SyntaxError||l instanceof TypeError)&&(R=l,R.responseText=x),o.useExt&&R){let g=c.status,y=c.statusText;g===200&&(g=1e4,y="Error API response"),d=E(null,[{code:g,string:y}],c),o.options.useApiConsole&&console.error(l)}else throw l}return o.useExt&&(d.response=c,d&&e.options.onApiLoaded?.(d,f,o.options.requestOptions?.onApiLoaded),d?.errors&&(o.options.useApiConsole&&console.warn(new Error("API error"),{res:d}),e.options.onApiError?.(d,{...f,formatError:R},o.options.requestOptions?.onApiError)),d?.messages&&e.options.onApiMessage?.(d,f)),d}};return e};class D{options;useExt;middlewares=[];mokerByPath=new Map;abortControllers={};constructor(t={},s){t.requestOptions=k(t.requestOptions),t.useApiConsole??=!0,t.fetch??=globalThis.fetch,t.Request??=globalThis.Request,t.querySerializer??=async e=>{const{querySerializer:n}=await new Promise((r,i)=>h(["../.chunks/lazy-DDNqYkXn.amd"],r,i));return n(e)},t.bodySerializer??=e=>typeof e=="string"?e:JSON.stringify(e),this.options=t,this.useExt=s}generateUUID(){return crypto?.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const s=Math.random()*16|0;return(t==="x"?s:s&3|8).toString(16)})}use(t){this.middlewares.push(t)}gen(t,s){return z(this,t,s)}genAny(t,s){return this.gen(t,s)}genMiddlewareCtx(t,s){const e=this.generateUUID(),n=Object.freeze({baseUrl:this.options.baseUrl,querySerializer:this.options.querySerializer,bodySerializer:this.options.bodySerializer,Request:this.options.Request,fetch:this.options.fetch});return{useExt:this.useExt,requestOptions:t.options,data:s,middlewareData:{},options:n,schemaPath:t.path,id:e}}async middlewareOnRequest(t,s){for(const e of this.middlewares){const n=await e.onRequest?.({...s,request:t});if(n)if(n instanceof Request)t=n;else{if(n instanceof Response)return n;throw new Error("onRequest: must return new Request() or Response() when modifying the request")}}return t}async middlewareOnError(t,s){let e=t;for(const n of this.middlewares){const r=await n.onError?.({...s,error:e});if(r){if(r instanceof Response)return r;if(r instanceof Error){e=r;continue}throw new Error("onError: must return new Response() or instance of Error")}}throw e}async middlewareOnResponse(t,s){for(const e of this.middlewares){const n=await e.onResponse?.({...s,response:t});if(n){if(!(n instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");t=n}}return t}setMocker(t,s){this.mokerByPath.set(t,s),this.genOriginal||(this.genOriginal=this.gen.bind(this),this.gen=(e,n)=>{const r=this.genOriginal(e,n),i=this.mokerByPath.get(e);return i&&r.setMocker(i),r})}}const M=async(...o)=>{const{postInWindow:t}=await new Promise((s,e)=>h(["../.chunks/lazy-DDNqYkXn.amd"],s,e));return t(...o)},U=async(...o)=>{const{dataToForm:t}=await new Promise((s,e)=>h(["../.chunks/lazy-DDNqYkXn.amd"],s,e));return t(...o)},L=(o={},t)=>new D(o,t);u.genFieldFilter=O.genFieldFilter,u.genFieldOrder=O.genFieldOrder,u.createClient=L,u.dataToForm=U,u.genExtRes=E,u.getBaseDomainUrl=A,u.isPublicAPI=C,u.postInWindow=M,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})}));
|
|
2
2
|
//# sourceMappingURL=index.amd.js.map
|
package/api/index.js
CHANGED
|
@@ -27,13 +27,13 @@ const O = (o = {}) => (o = { ...o }, o.loadingEl ??= globalThis.document?.body,
|
|
|
27
27
|
callInNewWindow: async (r) => {
|
|
28
28
|
const n = e.genData(r), i = o.genMiddlewareCtx(e, n);
|
|
29
29
|
o.options.onPrepareData?.(n, i);
|
|
30
|
-
const { postInWindow: d } = await import("../.chunks/lazy-
|
|
30
|
+
const { postInWindow: d } = await import("../.chunks/lazy-HKSyLh72.es.js");
|
|
31
31
|
d(e.url, n, "_blank");
|
|
32
32
|
},
|
|
33
33
|
callInSelfWindow: async (r) => {
|
|
34
34
|
const n = e.genData(r), i = o.genMiddlewareCtx(e, n);
|
|
35
35
|
o.options.onPrepareData?.(n, i);
|
|
36
|
-
const { postInWindow: d } = await import("../.chunks/lazy-
|
|
36
|
+
const { postInWindow: d } = await import("../.chunks/lazy-HKSyLh72.es.js");
|
|
37
37
|
d(e.url, n, "_self");
|
|
38
38
|
},
|
|
39
39
|
genData: (r, n) => {
|
|
@@ -67,7 +67,7 @@ const O = (o = {}) => (o = { ...o }, o.loadingEl ??= globalThis.document?.body,
|
|
|
67
67
|
if (x) {
|
|
68
68
|
if (e.options.method !== "POST")
|
|
69
69
|
throw new Error("Files can be sent only in POST requests");
|
|
70
|
-
const { formDataSerializer: p } = await import("../.chunks/lazy-
|
|
70
|
+
const { formDataSerializer: p } = await import("../.chunks/lazy-HKSyLh72.es.js");
|
|
71
71
|
y = p(l);
|
|
72
72
|
} else e.options.method !== "POST" ? R += "?" + await o.options.querySerializer(l) : y = o.options.bodySerializer(l);
|
|
73
73
|
let E = e.abortByFingerprint();
|
|
@@ -128,7 +128,7 @@ class I {
|
|
|
128
128
|
abortControllers = {};
|
|
129
129
|
constructor(t = {}, s) {
|
|
130
130
|
t.requestOptions = O(t.requestOptions), t.useApiConsole ??= !0, t.fetch ??= globalThis.fetch, t.Request ??= globalThis.Request, t.querySerializer ??= async (e) => {
|
|
131
|
-
const { querySerializer: r } = await import("../.chunks/lazy-
|
|
131
|
+
const { querySerializer: r } = await import("../.chunks/lazy-HKSyLh72.es.js");
|
|
132
132
|
return r(e);
|
|
133
133
|
}, t.bodySerializer ??= (e) => typeof e == "string" ? e : JSON.stringify(e), this.options = t, this.useExt = s;
|
|
134
134
|
}
|
|
@@ -266,10 +266,10 @@ class I {
|
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
const T = async (...o) => {
|
|
269
|
-
const { postInWindow: t } = await import("../.chunks/lazy-
|
|
269
|
+
const { postInWindow: t } = await import("../.chunks/lazy-HKSyLh72.es.js");
|
|
270
270
|
return t(...o);
|
|
271
271
|
}, D = async (...o) => {
|
|
272
|
-
const { dataToForm: t } = await import("../.chunks/lazy-
|
|
272
|
+
const { dataToForm: t } = await import("../.chunks/lazy-HKSyLh72.es.js");
|
|
273
273
|
return t(...o);
|
|
274
274
|
}, M = (o = {}, t) => new I(o, t);
|
|
275
275
|
export {
|
package/assets/policy.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.top-menu{--scroll-thumb-color: var(--color-line-1);--scroll-thumb-color-hover: var(--color-line-2);--scroll-thumb-color-active: var(--color-line-3);max-width:100%;display:flex;align-items:flex-start;gap:var(--top-gap-2);overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.top-menu::-webkit-scrollbar{display:none}.top-menu .top-menu_item{--top-button-color: var(--color-text-2);outline-offset:-2px!important;min-width:0;max-width:200px;margin:0;flex-shrink:0}.top-menu .top-menu_item[data-top-icon]{--top-icon-color: var(--color-text-2)}.top-menu_selectAll{position:sticky;right:0;background:var(--color-layout-front-1);border-left:1px solid var(--color-line-1);padding-left:var(--top-padding-1);box-shadow:var(--color-layout-front-1) var(--top-padding-2) 0}.top-menu.top-style_default .top-menu_item{--top-forms-radius: 0;--top-forms-border-color: transparent;--top-forms-border-width: 2px;filter:none;box-shadow:none;border:none;border-bottom:var(--top-forms-border-width) solid var(--top-forms-border-color);background:none}.top-style_default>.top-menu_item>[data-top-badge]{margin-top:0}.top-menu.top-style_default .top-menu_item:hover{--top-icon-color: var(--color-text-1);--top-button-color: var(--color-text-1);--top-forms-border-color: var(--color-line-2)}.top-menu.top-style_default .top-menu_item:active,.top-menu.top-style_default .top-menu_item.top-active{--top-icon-color: var(--color-text-primary);--top-button-color: var(--color-text-1);--top-forms-border-color: var(--color-line-primary-1)}.top-menu.top-style_default .top-menu_selectAll{padding-left:var(--top-padding-2)}.top-menu.top-style_bar{border-radius:var(--top-radius-3);border:1px solid var(--color-line-2);padding:var(--top-padding-1);gap:3px}.top-menu.top-style_bar .top-menu_item{--top-button-background-color-hover: var(--color-layer-1);--top-button-background-color-active: var(--color-layer-2);--top-button-background-color-selected: var(--color-layer-primary-1);position:relative}.top-menu.top-style_bar .top-menu_item:hover{--top-icon-color: var(--color-text-1);--top-button-color: var(--color-text-1)}.top-menu.top-style_bar .top-menu_item.top-active{--top-icon-color: var(--color-text-primary);--top-button-color: var(--color-text-primary)}.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after{content:"";background:var(--color-line-1-opacity);width:1px;height:60%;display:block;position:absolute;left:-2px}.top-menu.top-style_bar .top-menu_item.top-active+.top-menu_item:after,.top-menu.top-style_bar .top-menu_item:hover+.top-menu_item:after{content:none!important}.top-selector2_itemMulti{box-sizing:border-box;padding-left:var(--top-padding-2);border-radius:var(--top-radius-1, 4px);border:1px solid var(--color-line-primary-1);background:var(--color-layer-primary-2);min-height:22px;max-width:100%;color:var(--color-text-1);flex-grow:0;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-selector2_itemMultiDelete{--top-icon-size: 14px;--top-icon-width: 18px;--top-icon-color: var(--color-text-1);display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer}.top-selector2_itemMultiDelete:hover{background:var(--color-layer-primary-2)}@media screen and (min-width:900px){.top-selector2.top-active .top-selector2_itemMultiDelete{z-index:calc(var(--top-popup-z-index) + 1)}}.top-selector2{width:180px}.top-selector2::placeholder,.top-selector2_placeholder{color:var(--color-text-2)}.top-selector2_placeholder{padding-left:var(--top-padding-1)}.top-selector2.top-as-input{padding:var(--top-padding-1) var(--top-forms-padding)}.top-selector2.top-selector2-multiselect{width:auto;padding:var(--top-padding-1);flex-grow:1}.top-selector2.top-active{--top-forms-border-color: var(--top-forms-border-color-hover)}.top-selector2_activeItems{display:flex;flex-wrap:wrap;gap:var(--top-padding-1);max-width:100%}.top-selector2_activeName{white-space:nowrap}.top-changer-selector{width:auto;padding:var(--top-padding-1);margin:calc(0px - var(--top-padding-1));transform:translate(0)}.top-selector2.top-button{justify-content:start}.top-selector2.top-input_input~.top-changer-selector{transform:translate(-52px)}.top-selector2.top-as-selector{padding-right:calc(var(--top-selector-arrow-width) + var(--top-padding-2))}.top-editArea{--top-editArea-bottom: env(keyboard-inset-height, 0px);--top-editArea-offset-bottom: 0px;display:flex;flex-direction:column;gap:6px}.top-editArea_caption{font-size:12px}.top-editArea_form{flex-direction:column}.top-textarea{width:100%}.top-editArea_element.top-textarea_textarea{--top-forms-border-width: 0px;outline:none;animation:none}.top-editArea_footer{padding:var(--top-forms-padding);display:flex;min-height:32px;align-self:flex-end;justify-content:flex-end;gap:var(--top-forms-padding)}.top-editArea-attachedToKeyboard{background:var(--top-forms-background-color);position:fixed;bottom:calc(var(--top-editArea-offset-bottom) + var(--top-editArea-bottom));right:0;left:0;z-index:2;gap:0;transition:bottom var(--transition-fast)}.top-editArea-attachedToKeyboard .top-editArea_form{border-radius:0;border:none;border-top:1px solid var(--top-forms-border-color)}.top-editArea-attachedToKeyboard .top-editArea_title{cursor:pointer;border-top:1px solid var(--color-line-2-opacity);padding:var(--top-forms-padding)}.top-editArea-attachedToKeyboard .top-editArea_footer>[data-top-icon]{border-radius:100%}@media screen and (max-width:900px){.top-editArea_form{flex-direction:row}}.top-editInput{width:220px;flex-grow:1;display:flex;align-items:flex-end;gap:var(--top-gap-1)}.top-editInput .top-input{width:unset;flex-grow:1}.top-optionGroup{-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:8px;background-color:var(--color-layout-middle);height:var(--top-forms-base-height);padding:2px;gap:2px;display:flex;align-items:flex-start}.top-optionGroup_item{cursor:pointer;box-sizing:border-box;border-radius:6px;height:calc(var(--top-forms-base-height) - 4px);padding:1px var(--top-padding-2);color:var(--color-text-2);font-weight:400;white-space:nowrap;display:flex;align-items:center;justify-content:center;flex-grow:1;gap:var(--top-gap-1)}.top-optionGroup_item:hover{background-color:var(--color-layout-front-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-optionGroup_item-selected{color:var(--color-text-1);background-color:var(--color-bg-lightning-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-optionGroup_item>.top-forms-optionLabel{flex-grow:0}.top-optionGroup-showIndicator_0>.top-optionGroup_item{justify-content:center}.top-optionGroup-showIndicator_0>.top-optionGroup_item:has(:focus-visible){outline:2px solid var(--color-bg-primary-2);outline-offset:-1px}.top-optionGroup-showIndicator_1>.top-optionGroup_item{padding:1px 3px;justify-content:flex-start}.top-optionGroup-showIndicator_0>.top-optionGroup_item>.top-forms-option{opacity:0;width:0;height:0;position:absolute}.top-optionGroup_item>.top-forms-option{order:-1}.top-info{--top-icon-width: var(--top-icon-size);border-radius:var(--top-forms-radius);box-sizing:border-box;min-height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-2);flex-grow:5;display:flex;align-items:center;justify-content:space-between;gap:var(--top-gap-2)}.top-info_text{flex-grow:1}.top-info_value{font-weight:700}.top-info.top-size_default{border-radius:var(--top-radius-3);padding:var(--top-padding-4)}.top-info-styling_default{--top-icon-color: var(--color-text-2);background:var(--color-layer-1)}.top-info-styling_info{--top-icon-color: var(--color-text-primary);background:var(--color-layer-primary-1)}.top-info-styling_warning{--top-icon-color: var(--color-text-warning);background:var(--color-layer-warning-1)}.top-info-styling_negative{--top-icon-color: var(--color-text-negative);background:var(--color-layer-negative-1)}.top-policy{box-sizing:border-box;box-shadow:var(--top-shadow-b);border-radius:var(--top-radius-4);background:var(--color-bg-lightning-1);width:600px;padding:var(--top-padding-4);position:fixed;right:var(--top-gap-10);bottom:var(--top-gap-10);display:flex;flex-direction:column;gap:var(--top-gap-4);z-index:10000}.top-policy_title{font-size:24px;font-weight:700}.top-policy_description{font-size:14px}@media screen and (max-width:900px){.top-policy{width:100%;right:0;bottom:calc(var(--top-gap-5) + var(--toolbar-height, 0px))}}
|
|
1
|
+
.top-menu{--scroll-thumb-color: var(--color-line-1);--scroll-thumb-color-hover: var(--color-line-2);--scroll-thumb-color-active: var(--color-line-3);max-width:100%;display:flex;align-items:flex-start;gap:var(--top-gap-2);overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.top-menu::-webkit-scrollbar{display:none}.top-menu .top-menu_item{--top-button-color: var(--color-text-2);outline-offset:-2px!important;min-width:0;max-width:200px;margin:0;flex-shrink:0}.top-menu .top-menu_item[data-top-icon]{--top-icon-color: var(--color-text-2)}.top-menu_selectAll{position:sticky;right:0;background:var(--color-layout-front-1);border-left:1px solid var(--color-line-1);padding-left:var(--top-padding-1);box-shadow:var(--color-layout-front-1) var(--top-padding-2) 0}.top-menu.top-style_default .top-menu_item{--top-forms-radius: 0;--top-forms-border-color: transparent;--top-forms-border-width: 2px;filter:none;box-shadow:none;border:none;border-bottom:var(--top-forms-border-width) solid var(--top-forms-border-color);background:none}.top-style_default>.top-menu_item>[data-top-badge]{margin-top:0}.top-menu.top-style_default .top-menu_item:hover{--top-icon-color: var(--color-text-1);--top-button-color: var(--color-text-1);--top-forms-border-color: var(--color-line-2)}.top-menu.top-style_default .top-menu_item:active,.top-menu.top-style_default .top-menu_item.top-active{--top-icon-color: var(--color-text-primary);--top-button-color: var(--color-text-1);--top-forms-border-color: var(--color-line-primary-1)}.top-menu.top-style_default .top-menu_selectAll{padding-left:var(--top-padding-2)}.top-menu.top-style_bar{border-radius:var(--top-radius-3);border:1px solid var(--color-line-2);padding:var(--top-padding-1);gap:3px}.top-menu.top-style_bar .top-menu_item{--top-button-background-color-hover: var(--color-layer-1);--top-button-background-color-active: var(--color-layer-2);--top-button-background-color-selected: var(--color-layer-primary-1);position:relative}.top-menu.top-style_bar .top-menu_item:hover{--top-icon-color: var(--color-text-1);--top-button-color: var(--color-text-1)}.top-menu.top-style_bar .top-menu_item.top-active{--top-icon-color: var(--color-text-primary);--top-button-color: var(--color-text-primary)}.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after{content:"";background:var(--color-line-1-opacity);width:1px;height:60%;display:block;position:absolute;left:-2px}.top-menu.top-style_bar .top-menu_item.top-active+.top-menu_item:after,.top-menu.top-style_bar .top-menu_item:hover+.top-menu_item:after{content:none!important}.top-selector2_itemMulti{box-sizing:border-box;padding-left:var(--top-padding-2);border-radius:var(--top-radius-1, 4px);border:1px solid var(--color-line-primary-1);background:var(--color-layer-primary-2);min-height:22px;max-width:100%;color:var(--color-text-1);flex-grow:0;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-selector2_itemMultiDelete{--top-icon-size: 14px;--top-icon-width: 18px;--top-icon-color: var(--color-text-1);display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer}.top-selector2_itemMultiDelete:hover{background:var(--color-layer-primary-2)}@media screen and (min-width:900px){.top-selector2.top-active .top-selector2_itemMultiDelete{z-index:calc(var(--top-popup-z-index) + 1)}}.top-selector2{width:180px}.top-selector2::placeholder,.top-selector2_placeholder{color:var(--color-text-2)}.top-selector2_placeholder{padding-left:var(--top-padding-1)}.top-selector2.top-as-input{padding:var(--top-padding-1) var(--top-forms-padding)}.top-selector2.top-selector2-multiselect{width:auto;padding:var(--top-padding-1);flex-grow:1}.top-selector2.top-active{--top-forms-border-color: var(--top-forms-border-color-hover)}.top-selector2_searchWidget{display:flex;gap:var(--top-gap-2)}.top-selector2_activeItems{display:flex;flex-wrap:wrap;gap:var(--top-padding-1);max-width:100%}.top-selector2_activeName{white-space:nowrap}.top-changer-selector{width:auto;padding:var(--top-padding-1);margin:calc(0px - var(--top-padding-1));transform:translate(0)}.top-selector2.top-button{justify-content:start}.top-selector2.top-input_input~.top-changer-selector{transform:translate(-52px)}.top-selector2.top-as-selector{padding-right:calc(var(--top-selector-arrow-width) + var(--top-padding-2))}.top-editArea{--top-editArea-bottom: env(keyboard-inset-height, 0px);--top-editArea-offset-bottom: 0px;display:flex;flex-direction:column;gap:6px}.top-editArea_caption{font-size:12px}.top-editArea_form{flex-direction:column}.top-textarea{width:100%}.top-editArea_element.top-textarea_textarea{--top-forms-border-width: 0px;outline:none;animation:none}.top-editArea_footer{padding:var(--top-forms-padding);display:flex;min-height:32px;align-self:flex-end;justify-content:flex-end;gap:var(--top-forms-padding)}.top-editArea-attachedToKeyboard{background:var(--top-forms-background-color);position:fixed;bottom:calc(var(--top-editArea-offset-bottom) + var(--top-editArea-bottom));right:0;left:0;z-index:2;gap:0;transition:bottom var(--transition-fast)}.top-editArea-attachedToKeyboard .top-editArea_form{border-radius:0;border:none;border-top:1px solid var(--top-forms-border-color)}.top-editArea-attachedToKeyboard .top-editArea_title{cursor:pointer;border-top:1px solid var(--color-line-2-opacity);padding:var(--top-forms-padding)}.top-editArea-attachedToKeyboard .top-editArea_footer>[data-top-icon]{border-radius:100%}@media screen and (max-width:900px){.top-editArea_form{flex-direction:row}}.top-editInput{width:220px;flex-grow:1;display:flex;align-items:flex-end;gap:var(--top-gap-1)}.top-editInput .top-input{width:unset;flex-grow:1}.top-optionGroup{-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:8px;background-color:var(--color-layout-middle);height:var(--top-forms-base-height);padding:2px;gap:2px;display:flex;align-items:flex-start}.top-optionGroup_item{cursor:pointer;box-sizing:border-box;border-radius:6px;height:calc(var(--top-forms-base-height) - 4px);padding:1px var(--top-padding-2);color:var(--color-text-2);font-weight:400;white-space:nowrap;display:flex;align-items:center;justify-content:center;flex-grow:1;gap:var(--top-gap-1)}.top-optionGroup_item:hover{background-color:var(--color-layout-front-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-optionGroup_item-selected{color:var(--color-text-1);background-color:var(--color-bg-lightning-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-optionGroup_item>.top-forms-optionLabel{flex-grow:0}.top-optionGroup-showIndicator_0>.top-optionGroup_item{justify-content:center}.top-optionGroup-showIndicator_0>.top-optionGroup_item:has(:focus-visible){outline:2px solid var(--color-bg-primary-2);outline-offset:-1px}.top-optionGroup-showIndicator_1>.top-optionGroup_item{padding:1px 3px;justify-content:flex-start}.top-optionGroup-showIndicator_0>.top-optionGroup_item>.top-forms-option{opacity:0;width:0;height:0;position:absolute}.top-optionGroup_item>.top-forms-option{order:-1}.top-info{--top-icon-width: var(--top-icon-size);border-radius:var(--top-forms-radius);box-sizing:border-box;min-height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-2);flex-grow:5;display:flex;align-items:center;justify-content:space-between;gap:var(--top-gap-2)}.top-info_text{flex-grow:1}.top-info_value{font-weight:700}.top-info.top-size_default{border-radius:var(--top-radius-3);padding:var(--top-padding-4)}.top-info-styling_default{--top-icon-color: var(--color-text-2);background:var(--color-layer-1)}.top-info-styling_info{--top-icon-color: var(--color-text-primary);background:var(--color-layer-primary-1)}.top-info-styling_warning{--top-icon-color: var(--color-text-warning);background:var(--color-layer-warning-1)}.top-info-styling_negative{--top-icon-color: var(--color-text-negative);background:var(--color-layer-negative-1)}.top-policy{box-sizing:border-box;box-shadow:var(--top-shadow-b);border-radius:var(--top-radius-4);background:var(--color-bg-lightning-1);width:600px;padding:var(--top-padding-4);position:fixed;right:var(--top-gap-10);bottom:var(--top-gap-10);display:flex;flex-direction:column;gap:var(--top-gap-4);z-index:10000}.top-policy_title{font-size:24px;font-weight:700}.top-policy_description{font-size:14px}@media screen and (max-width:900px){.top-policy{width:100%;right:0;bottom:calc(var(--top-gap-5) + var(--toolbar-height, 0px))}}
|
package/assets/project.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.top-competitorSelector_opener.top-button{width:100%}.top-select-searcher_key[data-value="0"]:after,.top-select-searcher_key[data-value="20"]:after,.top-select-searcher_key[data-value="21"]:after{color:red}.top-select-searcher_key[data-value="1"]:after{color:var(--color-bg-primary-2)}.top-select-searcher_key[data-value="2"]:after{color:#005ff9}.top-select-searcher_key[data-value="3"]:after{color:#01509b}.top-select-searcher_key[data-value="4"]:after{color:red}.top-select-searcher_key[data-value="5"]:after{color:#008373}.top-select-searcher_key[data-value="6"]:after{color:#4800b5}.top-select-searcher_key[data-value="7"]:after{color:#c00}.top-select-searcher_key[data-value="8"]:after{color:#1badf8}.top-select-searcher_key[data-value="9"]:after{color:#00ceff}.top-selectorRegion{width:340px;display:inline-flex;vertical-align:middle}.top-selectorRegion>.top-select{flex-grow:1}.top-selectorRegion>.top-select:focus-within{z-index:4}.top-selectorRegion>.top-select>.top-select_select:hover,.top-selectorRegion>.top-select>.top-select_select.top-error{z-index:1}.top-selectorRegion>.top-select-searcher_key{width:140px;max-width:160px;margin-right:-1px}.top-selectorRegion>.top-select-region>select{border-top-left-radius:0;border-bottom-left-radius:0}.top-selectorRegion>.top-select-region{--top-icon-size: 20px;--top-icon-color: var(--color-text-primary);--top-icon2-size: 20px;--top-icon2-color: var(--color-text-primary)}.top-selectorRegion>.top-select-region[data-top-icon][data-top-icon2]{--top-icon2-size: 16px}.top-selectorRegion>.top-select-region[data-top-icon][data-top-icon2]:after{text-indent:-4px}.top-selectorRegion>[name=compare]{border-top-left-radius:0;border-bottom-left-radius:0;flex-grow:1}.top-selectorRegion>[name=compare]:after{content:"(" attr(data-count-compare-regions-indexes) ")";margin:0 0 0 6px}.top-selectorRegion:not(.top-selectorRegion-onlySearcher)>.top-select-searcher_key>select{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.top-selectorRegion:not(.top-selectorRegion-onlySearcher)>.top-select-searcher_key[data-value="-1"]>select{border-right:none}.top-selectorRegion-onlySearcher{width:140px}.top-groupSelector_groupItem{display:flex;flex-direction:column;gap:var(--top-padding-1)}.top-groupSelector_groupItemFolderPath{width:100%;color:var(--color-text-4);font-size:12px}.top-groupSelector{display:inline-flex;gap:var(--top-padding-1)}[data-tag_id]{display:inline-flex;gap:var(--top-gap-2);align-items:center}[data-tag_id=""]{border-color:#bdc3c7!important;color:#55555f!important}[data-tag_color_id="1"]{border-color:var(--color-tag-1)!important;color:#55555f!important}[data-tag_color_id="2"]{border-color:var(--color-tag-2)!important;color:var(--color-tag-2)!important}[data-tag_color_id="3"]{border-color:var(--color-tag-3)!important;color:var(--color-tag-3)!important}[data-tag_color_id="4"]{border-color:var(--color-tag-4)!important;color:var(--color-tag-4)!important}[data-tag_color_id="5"]{border-color:var(--color-tag-5)!important;color:var(--color-tag-5)!important}[data-tag_color_id="6"]{border-color:var(--color-tag-6)!important;color:var(--color-tag-6)!important}[data-tag_color_id="7"]{border-color:var(--color-tag-7)!important;color:var(--color-tag-7)!important}[data-tag_color_id="8"]{border-color:var(--color-tag-8)!important;color:var(--color-tag-8)!important}[data-tag_color_id="9"]{border-color:var(--color-tag-9)!important;color:var(--color-tag-9)!important}[data-tag_color_id="10"]{border-color:var(--color-tag-10)!important;color:var(--color-tag-10)!important}[data-tag_id=""].top-tagSelector-active{background:#bdc3c7!important}[data-tag_color_id="1"].top-tagSelector-active{background:var(--color-tag-1)!important}[data-tag_color_id="2"].top-tagSelector-active{background:var(--color-tag-2)!important}[data-tag_color_id="3"].top-tagSelector-active{background:var(--color-tag-3)!important}[data-tag_color_id="4"].top-tagSelector-active{background:var(--color-tag-4)!important}[data-tag_color_id="5"].top-tagSelector-active{background:var(--color-tag-5)!important}[data-tag_color_id="6"].top-tagSelector-active{background:var(--color-tag-6)!important}[data-tag_color_id="7"].top-tagSelector-active{background:var(--color-tag-7)!important}[data-tag_color_id="8"].top-tagSelector-active{background:var(--color-tag-8)!important}[data-tag_color_id="9"].top-tagSelector-active{background:var(--color-tag-9)!important}[data-tag_color_id="10"].top-tagSelector-active{background:var(--color-tag-10)!important}[data-tag_id=all]{border-color:transparent!important;background:none!important}[data-tag_id=all]:before{content:"";color:var(--color-tag-all)!important;font-size:26px;min-width:calc(100% + 4px);height:calc(100% + 4px);margin-top:-18px;margin-left:-8px}.top-tagSelector-useTopButton [data-tag_id],.top-tagSelector_popup [data-tag_id]{--top-tag-selector-size: 10px;box-sizing:content-box;border-radius:100%;border:2px solid var(--color-layout-front-1);background:var(--color-layout-front-1);width:var(--top-tag-selector-size);height:var(--top-tag-selector-size);font-size:calc(var(--top-tag-selector-size) + 4px)}.top-body-press_ctrl .top-tagSelector_tagListItem-canExclude:hover [data-tag_id],[data-tag_id].top-tagSelector-excluded{position:relative}.top-body-press_ctrl .top-tagSelector_tagListItem-canExclude:hover [data-tag_id]:before,[data-tag_id].top-tagSelector-excluded:before{content:"";width:calc(var(--top-tag-selector-size) * 2);height:1px;background:inherit;transform:rotate(-45deg);filter:brightness(80%);display:block;position:absolute;top:calc(var(--top-tag-selector-size) / 2);left:calc(0px - var(--top-tag-selector-size) / 2)}.top-body-press_ctrl .top-tagSelector_tagListItem-canExclude:hover [data-tag_id]:not([data-tag_id=all]):not(.top-tagSelector-active):before{background:#aaa}[data-tag_id].top-tagSelector-excluded:after,[data-tag_id].top-tagSelector-excluded~.top-tagSelector_tagListItemName{text-decoration:line-through}.top-popup_listItem.top-tagSelector-active{background:var(--top-popup-background-color-active)!important}.top-popup_listItem:hover [data-tag_id=all]:before{border-color:var(--top-popup-background-color-hover)}.top-popup_listItem.top-tagSelector-active [data-tag_id=all]:before,.top-popup_listItem.top-active [data-tag_id=all]:before{border-color:var(--top-popup-background-color-active)}.top-tagSelector_tagListItem.top-popup_listItem{padding-top:var(--top-padding-2)!important;padding-bottom:var(--top-padding-2)!important;gap:10px}.top-tagSelector_tagListItemName{border-radius:var(--top-radius-1);width:120px;padding:4px 2px;margin:-4px -2px;text-overflow:ellipsis;overflow:hidden;flex-grow:1}.top-tagSelector_edit{--top-icon-size: 18px;--top-icon-color: var(--color-text-3);width:20px;flex-grow:0}.top-tagSelector_edit:before{line-height:0}.top-tagSelector_edit{opacity:0}.top-tagSelector_edit:hover{--top-icon-color: var(--color-text-primary)}.top-tagSelector_tagListItem:hover .top-tagSelector_edit,.top-tagSelector_tagListItem-inEdit .top-tagSelector_edit{cursor:pointer;opacity:1}.top-tagSelector_tagListItem-inEdit{background:var(--color-layout-front-3)!important;outline:1px dashed var(--color-line-2);outline-offset:-1px}.top-tagSelector_tagListItem-inEdit .top-tagSelector_tagListItemName{cursor:text;background:var(--color-layout-front-1)}.top-tagSelector_tagListItem-disabled{cursor:not-allowed!important;opacity:.85}.top-tagSelector_tagListItem-disabled:hover{background:inherit}.top-tagSelector_tagListItem-disabled [data-tag_id]{opacity:.6}.top-tagSelector{cursor:pointer;min-width:0;white-space:nowrap;justify-content:left}.top-tagSelector-useTopButton{width:112px;gap:var(--top-gap-1);vertical-align:middle}.top-tagSelector.top-button.top-as-selector{width:120px}.top-tagSelector-useTopButton [data-tag_id=all]:before{margin-right:6px}.top-tagSelector-useTopButton.top-tagSelector-selectedOne [data-tag_id]:after{content:attr(title);margin-left:20px;min-width:74px;text-align:left;line-height:1.2;text-overflow:ellipsis;overflow:hidden}.top-tagSelector-useTopButton.top-tagSelector-selectedOne [data-tag_id=all]:after{margin-left:0}.top-button.top-tagSelector-useTopButton.top-tagSelector-toTwoLine{flex-wrap:wrap;align-content:center}.top-button.top-tagSelector-useTopButton.top-tagSelector-toTwoLine [data-tag_id]{--top-tag-selector-size: 8px}.top-button.top-tagSelector-useTopButton.top-tagSelector-toTwoLine [data-tag_id]:nth-child(5){margin-right:4px}.top-tagSelector-useTopButton.top-tagSelector-setter_several,.top-tagSelector-useTopButton.top-tagSelector-setter_several.top-as-selector{width:auto}.top-tagSelector-custom{position:relative;display:flex!important;flex-direction:column;flex-wrap:wrap;align-items:stretch!important}.top-tagSelector-custom [data-tag_id]{width:auto;min-height:20%;min-width:50%;flex:1 1 auto}.top-tagSelector_popup .top-popup{-webkit-user-select:none;user-select:none;min-width:220px!important;text-align:left}.top-tagSelector_popup .top-popup_header .top-select{flex-grow:1}
|
|
1
|
+
.top-competitorSelector_opener.top-button{width:100%}.top-select-searcher_key[data-value="0"]:after,.top-select-searcher_key[data-value="20"]:after,.top-select-searcher_key[data-value="21"]:after{color:red}.top-select-searcher_key[data-value="1"]:after{color:var(--color-bg-primary-2)}.top-select-searcher_key[data-value="2"]:after{color:#005ff9}.top-select-searcher_key[data-value="3"]:after{color:#01509b}.top-select-searcher_key[data-value="4"]:after{color:red}.top-select-searcher_key[data-value="5"]:after{color:#008373}.top-select-searcher_key[data-value="6"]:after{color:#4800b5}.top-select-searcher_key[data-value="7"]:after{color:#c00}.top-select-searcher_key[data-value="8"]:after{color:#1badf8}.top-select-searcher_key[data-value="9"]:after{color:#00ceff}.top-selectorRegion{width:340px;display:inline-flex;vertical-align:middle}.top-selectorRegion>.top-select{flex-grow:1}.top-selectorRegion>.top-select:focus-within{z-index:4}.top-selectorRegion>.top-select>.top-select_select:hover,.top-selectorRegion>.top-select>.top-select_select.top-error{z-index:1}.top-selectorRegion>.top-select-searcher_key{width:140px;max-width:160px;margin-right:-1px}.top-selectorRegion>.top-select-region>select{border-top-left-radius:0;border-bottom-left-radius:0}.top-selectorRegion>.top-select-region{--top-icon-size: 20px;--top-icon-color: var(--color-text-primary);--top-icon2-size: 20px;--top-icon2-color: var(--color-text-primary)}.top-selectorRegion>.top-select-region[data-top-icon][data-top-icon2]{--top-icon2-size: 16px}.top-selectorRegion>.top-select-region[data-top-icon][data-top-icon2]:after{text-indent:-4px}.top-selectorRegion>[name=compare]{border-top-left-radius:0;border-bottom-left-radius:0;flex-grow:1}.top-selectorRegion>[name=compare]:after{content:"(" attr(data-count-compare-regions-indexes) ")";margin:0 0 0 6px}.top-selectorRegion:not(.top-selectorRegion-onlySearcher)>.top-select-searcher_key>select{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.top-selectorRegion:not(.top-selectorRegion-onlySearcher)>.top-select-searcher_key[data-value="-1"]>select{border-right:none}.top-selectorRegion-onlySearcher{width:140px}.top-groupSelector_groupItem{display:flex;flex-direction:column;gap:var(--top-padding-1)}.top-groupSelector_groupItemFolderPath{width:100%;color:var(--color-text-4);font-size:12px}.top-groupSelector{display:inline-flex;gap:var(--top-padding-1)}.top-projectSelectorSubmenu .top-popup{min-width:170px}.top-projectSelectorSubmenu ul{flex-direction:row;flex-wrap:wrap}.top-projectSelectorSubmenu_item{width:32%}.top-projectSelectorSubmenu_item a{justify-content:center}.top-projectSelectorSubmenu ul.top-popup_content li>a[data-top-icon]:before{--top-icon-size: 24px;--top-icon-width: 32px;height:var(--top-icon-width);margin:0}.top-projectSelectorSubmenu_item{flex-grow:1}.top-projectSelector .top-popup{width:278px}.top-projectSelector_item{--top-icon-size: 14px;display:flex;flex-grow:1;gap:var(--top-gap-1)}.top-projectSelector_itemLink{position:absolute;inset:0}.top-projectSelector_itemText{flex-grow:1;display:flex;flex-direction:column;gap:var(--top-gap-1)}.top-projectSelector_itemExtLink,.top-projectSelector_item [class*=opener]{opacity:0;position:relative;z-index:1}.top-popup_listItem:hover .top-projectSelector_item>*,.top-popup_listItem.top-active .top-projectSelector_item>*{opacity:1}@media screen and (min-width:900px){.top-projectSelector.p3 div.top-popup{max-height:min(calc(var(--top-popup-bottom) - 16px),800px)}}@media screen and (max-width:900px){.top-projectSelector_item [class*=opener]{opacity:1}}[data-tag_id]{display:inline-flex;gap:var(--top-gap-2);align-items:center}[data-tag_id=""]{border-color:#bdc3c7!important;color:#55555f!important}[data-tag_color_id="1"]{border-color:var(--color-tag-1)!important;color:#55555f!important}[data-tag_color_id="2"]{border-color:var(--color-tag-2)!important;color:var(--color-tag-2)!important}[data-tag_color_id="3"]{border-color:var(--color-tag-3)!important;color:var(--color-tag-3)!important}[data-tag_color_id="4"]{border-color:var(--color-tag-4)!important;color:var(--color-tag-4)!important}[data-tag_color_id="5"]{border-color:var(--color-tag-5)!important;color:var(--color-tag-5)!important}[data-tag_color_id="6"]{border-color:var(--color-tag-6)!important;color:var(--color-tag-6)!important}[data-tag_color_id="7"]{border-color:var(--color-tag-7)!important;color:var(--color-tag-7)!important}[data-tag_color_id="8"]{border-color:var(--color-tag-8)!important;color:var(--color-tag-8)!important}[data-tag_color_id="9"]{border-color:var(--color-tag-9)!important;color:var(--color-tag-9)!important}[data-tag_color_id="10"]{border-color:var(--color-tag-10)!important;color:var(--color-tag-10)!important}[data-tag_id=""].top-tagSelector-active{background:#bdc3c7!important}[data-tag_color_id="1"].top-tagSelector-active{background:var(--color-tag-1)!important}[data-tag_color_id="2"].top-tagSelector-active{background:var(--color-tag-2)!important}[data-tag_color_id="3"].top-tagSelector-active{background:var(--color-tag-3)!important}[data-tag_color_id="4"].top-tagSelector-active{background:var(--color-tag-4)!important}[data-tag_color_id="5"].top-tagSelector-active{background:var(--color-tag-5)!important}[data-tag_color_id="6"].top-tagSelector-active{background:var(--color-tag-6)!important}[data-tag_color_id="7"].top-tagSelector-active{background:var(--color-tag-7)!important}[data-tag_color_id="8"].top-tagSelector-active{background:var(--color-tag-8)!important}[data-tag_color_id="9"].top-tagSelector-active{background:var(--color-tag-9)!important}[data-tag_color_id="10"].top-tagSelector-active{background:var(--color-tag-10)!important}[data-tag_id=all]{border-color:transparent!important;background:none!important}[data-tag_id=all]:before{content:"";color:var(--color-tag-all)!important;font-size:26px;min-width:calc(100% + 4px);height:calc(100% + 4px);margin-top:-18px;margin-left:-8px}.top-tagSelector-useTopButton [data-tag_id],.top-tagSelector_popup [data-tag_id]{--top-tag-selector-size: 10px;box-sizing:content-box;border-radius:100%;border:2px solid var(--color-layout-front-1);background:var(--color-layout-front-1);width:var(--top-tag-selector-size);height:var(--top-tag-selector-size);font-size:calc(var(--top-tag-selector-size) + 4px)}.top-body-press_ctrl .top-tagSelector_tagListItem-canExclude:hover [data-tag_id],[data-tag_id].top-tagSelector-excluded{position:relative}.top-body-press_ctrl .top-tagSelector_tagListItem-canExclude:hover [data-tag_id]:before,[data-tag_id].top-tagSelector-excluded:before{content:"";width:calc(var(--top-tag-selector-size) * 2);height:1px;background:inherit;transform:rotate(-45deg);filter:brightness(80%);display:block;position:absolute;top:calc(var(--top-tag-selector-size) / 2);left:calc(0px - var(--top-tag-selector-size) / 2)}.top-body-press_ctrl .top-tagSelector_tagListItem-canExclude:hover [data-tag_id]:not([data-tag_id=all]):not(.top-tagSelector-active):before{background:#aaa}[data-tag_id].top-tagSelector-excluded:after,[data-tag_id].top-tagSelector-excluded~.top-tagSelector_tagListItemName{text-decoration:line-through}.top-popup_listItem.top-tagSelector-active{background:var(--top-popup-background-color-active)!important}.top-popup_listItem:hover [data-tag_id=all]:before{border-color:var(--top-popup-background-color-hover)}.top-popup_listItem.top-tagSelector-active [data-tag_id=all]:before,.top-popup_listItem.top-active [data-tag_id=all]:before{border-color:var(--top-popup-background-color-active)}.top-tagSelector_tagListItem.top-popup_listItem{padding-top:var(--top-padding-2)!important;padding-bottom:var(--top-padding-2)!important;gap:10px}.top-tagSelector_tagListItemName{border-radius:var(--top-radius-1);width:120px;padding:4px 2px;margin:-4px -2px;text-overflow:ellipsis;overflow:hidden;flex-grow:1}.top-tagSelector_edit{--top-icon-size: 18px;--top-icon-color: var(--color-text-3);width:20px;flex-grow:0}.top-tagSelector_edit:before{line-height:0}.top-tagSelector_edit{opacity:0}.top-tagSelector_edit:hover{--top-icon-color: var(--color-text-primary)}.top-tagSelector_tagListItem:hover .top-tagSelector_edit,.top-tagSelector_tagListItem-inEdit .top-tagSelector_edit{cursor:pointer;opacity:1}.top-tagSelector_tagListItem-inEdit{background:var(--color-layout-front-3)!important;outline:1px dashed var(--color-line-2);outline-offset:-1px}.top-tagSelector_tagListItem-inEdit .top-tagSelector_tagListItemName{cursor:text;background:var(--color-layout-front-1)}.top-tagSelector_tagListItem-disabled{cursor:not-allowed!important;opacity:.85}.top-tagSelector_tagListItem-disabled:hover{background:inherit}.top-tagSelector_tagListItem-disabled [data-tag_id]{opacity:.6}.top-tagSelector{cursor:pointer;min-width:0;white-space:nowrap;justify-content:left}.top-tagSelector-useTopButton{width:112px;gap:var(--top-gap-1);vertical-align:middle}.top-tagSelector.top-button.top-as-selector{width:120px}.top-tagSelector-useTopButton [data-tag_id=all]:before{margin-right:6px}.top-tagSelector-useTopButton.top-tagSelector-selectedOne [data-tag_id]:after{content:attr(title);margin-left:20px;min-width:74px;text-align:left;line-height:1.2;text-overflow:ellipsis;overflow:hidden}.top-tagSelector-useTopButton.top-tagSelector-selectedOne [data-tag_id=all]:after{margin-left:0}.top-button.top-tagSelector-useTopButton.top-tagSelector-toTwoLine{flex-wrap:wrap;align-content:center}.top-button.top-tagSelector-useTopButton.top-tagSelector-toTwoLine [data-tag_id]{--top-tag-selector-size: 8px}.top-button.top-tagSelector-useTopButton.top-tagSelector-toTwoLine [data-tag_id]:nth-child(5){margin-right:4px}.top-tagSelector-useTopButton.top-tagSelector-setter_several,.top-tagSelector-useTopButton.top-tagSelector-setter_several.top-as-selector{width:auto}.top-tagSelector-custom{position:relative;display:flex!important;flex-direction:column;flex-wrap:wrap;align-items:stretch!important}.top-tagSelector-custom [data-tag_id]{width:auto;min-height:20%;min-width:50%;flex:1 1 auto}.top-tagSelector_popup .top-popup{-webkit-user-select:none;user-select:none;min-width:220px!important;text-align:left}.top-tagSelector_popup .top-popup_header .top-select{flex-grow:1}
|
package/assets/tabsView.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.top-tabsView_menuItem{--top-icon-color: var(--color-text-2);--top-icon-width: calc(var(--top-icon-size));cursor:pointer;box-sizing:border-box;border:none;border-radius:var(--top-radius-2);padding:var(--top-padding-2);background:transparent;height:40px;color:var(--color-text-1);text-decoration:none;white-space:nowrap;display:flex;gap:var(--top-gap-2);align-items:center;justify-content:flex-start;transition:background var(--transition)}.top-tabsView_menuItem:hover{--top-icon-color: var(--color-text-1);background:var(--color-bg-shading-1);text-decoration:none}.top-tabsView_menuItem.top-active{--top-icon-color: inherit;background:var(--color-layout-front-1);color:inherit}.top-tabsView_menuItem:disabled:not(option):not(optgroup):not(.top-forms-option),.top-tabsView_menuItem:disabled~.top-formsCaption,.top-tabsView_menuItem.top-disabled[data-top-icon]:before,.top-tabsView_menuItem.top-disabled[data-top-icon2]:after{opacity:unset;filter:unset}.top-tabsView_menuItem.top-disabled{--top-icon-color: var(--color-text-4);color:var(--color-text-4)}.top-tabsView-pageMod .top-tabsView_menu{box-sizing:border-box;position:sticky;top:var(--top-tabsView-top);z-index:10}.top-tabsView-pageMod .top-tabsView_menu-inPopup_0{height:calc(var(--100vh) - var(--top-tabsView-top))}.top-tabsView_menu-inPopup_0{box-sizing:border-box;width:var(--top-tabsView-menu-width);display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0}.top-tabsView_menu-inPopup_1{border-bottom:
|
|
1
|
+
.top-tabsView_menuItem{--top-icon-color: var(--color-text-2);--top-icon-width: calc(var(--top-icon-size));cursor:pointer;box-sizing:border-box;border:none;border-radius:var(--top-radius-2);padding:var(--top-padding-2);background:transparent;height:40px;color:var(--color-text-1);text-decoration:none;white-space:nowrap;display:flex;gap:var(--top-gap-2);align-items:center;justify-content:flex-start;transition:background var(--transition)}.top-tabsView_menuItem:hover{--top-icon-color: var(--color-text-1);background:var(--color-bg-shading-1);text-decoration:none}.top-tabsView_menuItem.top-active{--top-icon-color: inherit;background:var(--color-layout-front-1);color:inherit}.top-tabsView_menuItem:disabled:not(option):not(optgroup):not(.top-forms-option),.top-tabsView_menuItem:disabled~.top-formsCaption,.top-tabsView_menuItem.top-disabled[data-top-icon]:before,.top-tabsView_menuItem.top-disabled[data-top-icon2]:after{opacity:unset;filter:unset}.top-tabsView_menuItem.top-disabled{--top-icon-color: var(--color-text-4);color:var(--color-text-4)}.top-tabsView-pageMod .top-tabsView_menu{box-sizing:border-box;position:sticky;top:var(--top-tabsView-top);z-index:10}.top-tabsView-pageMod .top-tabsView_menu-inPopup_0{height:calc(var(--100vh) - var(--top-tabsView-top))}.top-tabsView_menu-inPopup_0{box-sizing:border-box;width:var(--top-tabsView-menu-width);display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0}.top-tabsView_menu-inPopup_1{border-bottom:var(--top-tabsView-menu-border-bottom-width) solid var(--color-line-2-opacity)}.top-tabsView_menu-short{width:auto}.top-tabsView_menu>.top-tabsView_menuOpener{display:flex;justify-content:flex-end}.top-tabsView_menu>.top-tabsView_menuOpener:hover{background:var(--color-layer-1)}.top-tabsView_menuOpenerIcon{display:flex}.top-tabsView_menuOpenerActiveItem{--top-forms-padding: 0px;box-sizing:border-box;padding:var(--top-tabsView-menu-opener-padding);max-width:calc(100% - var(--top-forms-base-height));white-space:nowrap;flex-grow:1;display:flex;align-items:center;gap:var(--top-padding-2)}.top-tabsView_menuList,.top-tabsView_menuFooter{padding:var(--top-padding-2);display:flex;flex-direction:column;gap:var(--top-gap-2)}.top-tabsView_menuList{overflow-y:auto}.top-tabsView_menu-short .top-tabsView_menuFooter>.top-tabsView_menuItem{--top-icon-width: 100%}:root{--top-tabsView-top: 0px;--top-tabsView-menu-width: 220px;--top-tabsView-contents-offset-top: 0px;--top-tabsView-menu-border-bottom-width: 1px;--top-tabsView-menu-opener-padding: var(--top-padding-2)}.top-tabsView{background:var(--color-layout-middle);width:100%;height:100%;display:flex;flex-direction:row}.top-tabsView_contents{border-radius:var(--top-radius-4);background:var(--color-layout-front-1);padding:var(--top-padding-4);flex-grow:1;overflow:auto;position:relative}.top-tabsView_contents-isLoading{pointer-events:none}.top-tabsView_contents-noScrollable{width:calc(100% - var(--top-tabsView-menu-width));padding:0;overflow:visible}.top-tabsView-inPopup{background:var(--color-layout-front-1);flex-direction:column}.top-tabsView-inPopup>.top-tabsView_contents{border-radius:0}.top-tabsView-inPopup>.top-tabsView_contents-noScrollable{width:auto}@media only screen and (max-width:900px){:root{--top-tabsView-contents-offset-top: calc(var(--top-icon-size) + var(--top-tabsView-menu-opener-padding) * 2 + var(--top-tabsView-menu-border-bottom-width))}}.top-tabsView_menuDelimeter{padding:var(--top-padding-1) 0;display:flex}.top-tabsView_menuDelimeter:before{content:"";height:2px;background:var(--color-line-2);flex-grow:1}.top-tabsView_menuDelimeter:first-child,.top-tabsView_menuDelimeter+.top-tabsView_menuDelimeter{display:none}.top-tabsView_menuTitle{padding:var(--top-padding-4) var(--top-padding-2) var(--top-padding-1);font-weight:600;color:var(--color-text-1)}.top-tabsView_menuTitle-subtitle{padding-top:var(--top-padding-1);font-size:12px;font-weight:400;color:var(--color-text-2)}
|
package/charts/charts.js
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
const fileNames = ['../assets/charts.css'].map(fileName => import.meta.resolve(fileName));
|
|
4
4
|
_autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
|
|
5
5
|
|
|
6
|
-
import { defineComponent as T,
|
|
7
|
-
import { c as G } from "../.chunks/forms-
|
|
6
|
+
import { defineComponent as T, useModel as $, computed as C, openBlock as i, createElementBlock as s, normalizeClass as f, createElementVNode as r, toDisplayString as g, Fragment as H, renderList as I, normalizeStyle as _, unref as S, createCommentVNode as k, mergeModels as B, ref as V, watch as w, onMounted as E, onUnmounted as F, renderSlot as P, createBlock as R, Teleport as z } from "vue";
|
|
7
|
+
import { c as G } from "../.chunks/forms-DtC-EKJL.es.js";
|
|
8
8
|
import { percentOfNumber as D } from "../utils/number.js";
|
|
9
9
|
const N = 90, x = 10, O = ["data-top-icon"], X = { class: "top-miniChart_chart" }, A = ["onMouseenter"], U = { class: "top-miniChart_data" }, W = { class: "top-miniChart_dataValue" }, Y = ["innerHTML"], Z = /* @__PURE__ */ T({
|
|
10
10
|
__name: "miniChart",
|
|
11
|
-
props: /* @__PURE__ */
|
|
11
|
+
props: /* @__PURE__ */ B({
|
|
12
12
|
title: {},
|
|
13
13
|
gIcon: {},
|
|
14
14
|
color: { default: "blue" },
|
|
@@ -29,7 +29,7 @@ const N = 90, x = 10, O = ["data-top-icon"], X = { class: "top-miniChart_chart"
|
|
|
29
29
|
}),
|
|
30
30
|
emits: ["update:modelValue"],
|
|
31
31
|
setup(t) {
|
|
32
|
-
const l = t, d =
|
|
32
|
+
const l = t, d = $(t, "modelValue"), u = (e) => {
|
|
33
33
|
let n = m.value;
|
|
34
34
|
l.isInvert && (e -= 1, n -= 1);
|
|
35
35
|
let o = n > 0 ? Math.round(e / n * (100 - x)) : 0;
|
|
@@ -69,7 +69,7 @@ const N = 90, x = 10, O = ["data-top-icon"], X = { class: "top-miniChart_chart"
|
|
|
69
69
|
class: "top-miniChart_chartGrid",
|
|
70
70
|
onMouseleave: n[1] || (n[1] = (o) => M())
|
|
71
71
|
}, [
|
|
72
|
-
(i(!0), s(
|
|
72
|
+
(i(!0), s(H, null, I(v.value, (o, b) => (i(), s("div", {
|
|
73
73
|
class: f({
|
|
74
74
|
"top-miniChart_chartGridCol": !0,
|
|
75
75
|
"top-active": p(o)
|
|
@@ -77,10 +77,10 @@ const N = 90, x = 10, O = ["data-top-icon"], X = { class: "top-miniChart_chart"
|
|
|
77
77
|
onMouseenter: (L) => c(L, o, t.values[t.values.length - b - 1])
|
|
78
78
|
}, [
|
|
79
79
|
r("div", {
|
|
80
|
-
style:
|
|
80
|
+
style: _("height:" + u(t.values[t.values.length - b - 1]) + "%")
|
|
81
81
|
}, null, 4)
|
|
82
82
|
], 42, A))), 256)),
|
|
83
|
-
(i(!0), s(
|
|
83
|
+
(i(!0), s(H, null, I(y.value, () => (i(), s("div", {
|
|
84
84
|
class: "top-miniChart_chartGridCol top-miniChart_chartGridCol-none",
|
|
85
85
|
onMouseenter: n[0] || (n[0] = (o) => M())
|
|
86
86
|
}, [...n[2] || (n[2] = [
|
|
@@ -100,7 +100,7 @@ const N = 90, x = 10, O = ["data-top-icon"], X = { class: "top-miniChart_chart"
|
|
|
100
100
|
t.additionalHTML ? (i(), s("div", {
|
|
101
101
|
key: 0,
|
|
102
102
|
innerHTML: t.additionalHTML
|
|
103
|
-
}, null, 8, Y)) :
|
|
103
|
+
}, null, 8, Y)) : k("", !0)
|
|
104
104
|
], 2));
|
|
105
105
|
}
|
|
106
106
|
}), j = {
|
|
@@ -108,7 +108,7 @@ const N = 90, x = 10, O = ["data-top-icon"], X = { class: "top-miniChart_chart"
|
|
|
108
108
|
class: "top-miniCharts_pages"
|
|
109
109
|
}, q = ["onClick"], ee = /* @__PURE__ */ T({
|
|
110
110
|
__name: "miniCharts",
|
|
111
|
-
props: /* @__PURE__ */
|
|
111
|
+
props: /* @__PURE__ */ B({
|
|
112
112
|
modelValue: {},
|
|
113
113
|
countCharts: {},
|
|
114
114
|
hideChartInMobile: { type: Boolean }
|
|
@@ -118,7 +118,7 @@ const N = 90, x = 10, O = ["data-top-icon"], X = { class: "top-miniChart_chart"
|
|
|
118
118
|
}),
|
|
119
119
|
emits: ["update:modelValue"],
|
|
120
120
|
setup(t) {
|
|
121
|
-
const l = t, d =
|
|
121
|
+
const l = t, d = $(t, "modelValue"), u = V(null);
|
|
122
122
|
let p;
|
|
123
123
|
const m = V(1), v = V(1), y = () => {
|
|
124
124
|
m.value = Math.round(u.value.scrollHeight / u.value.clientHeight);
|
|
@@ -155,20 +155,20 @@ const N = 90, x = 10, O = ["data-top-icon"], X = { class: "top-miniChart_chart"
|
|
|
155
155
|
}, [
|
|
156
156
|
P(c.$slots, "default"),
|
|
157
157
|
m.value > 1 ? (i(), s("div", j, [
|
|
158
|
-
(i(!0), s(
|
|
158
|
+
(i(!0), s(H, null, I(m.value, (h) => (i(), s("span", {
|
|
159
159
|
class: f({ "top-active": h === v.value }),
|
|
160
160
|
onClick: (e) => v.value = h
|
|
161
161
|
}, null, 10, q))), 256))
|
|
162
|
-
])) :
|
|
162
|
+
])) : k("", !0),
|
|
163
163
|
(i(), R(z, { to: "body" }, [
|
|
164
164
|
d.value ? (i(), s("div", {
|
|
165
165
|
key: 0,
|
|
166
166
|
class: "top-miniCharts_tooltip",
|
|
167
|
-
style:
|
|
167
|
+
style: _(M.value)
|
|
168
168
|
}, [
|
|
169
169
|
r("span", null, g(d.value.date), 1),
|
|
170
170
|
r("span", null, g(d.value.value), 1)
|
|
171
|
-
], 4)) :
|
|
171
|
+
], 4)) : k("", !0)
|
|
172
172
|
]))
|
|
173
173
|
], 2));
|
|
174
174
|
}
|
package/core/app.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/forms-DDNzqU6o.amd","../.chunks/core-
|
|
1
|
+
define(["require","exports","../.chunks/forms-DDNzqU6o.amd","../.chunks/core-DzDFXOdI.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-CWn_G7OO.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd"],(function(E,n,r,g,c,p,f,d,u,m){"use strict";if(typeof c>"u")var c=window.Vue;class S{#s;#t;#e;#a;#c;#i=[];#o=[];#n=[];#r=[];constructor(t){this.#t=t.store,this.#s=this.#t.$id,this.#e=t.options.Page,this.#a=t.options.user,this.#c=t.options.Api,this.#i=t.options.tpaNamesUrlHash||[],this.#o=t.options.tpaNamesStorage||[],this.#n=t.options.tpaNamesStorageLocal||[],this.#r=t.options.tpaNamesGuestLink||[],t.store.genGuestLink=(s,a)=>this.genGuestLink(s,a),this.#a.guest_data?.data||(this.#u(),this.#u(!0),this.#f()),this.#S(),this.#k();const e=r.debounce(()=>{this.#m(),this.#l(),this.#l(!0)});t.store.$subscribe(e)}async genGuestLink(t,e){const s=this.#g();e=Object.assign(e,Object.fromEntries(s));const a=await this.#c.gen(t).setParams(e).call();if(a?.errors)return;const i=a.result;await p.guestLinkToClipboard(i)}#g(){const t=new Map;return this.#r.forEach(e=>{const s=f.camelToSnakeCase(e);t.set(s,this.#t[e])}),t}#h(t){t.forEach((e,s)=>{const a=this.#t[s];if(e!=null&&a!==void 0&&e?.constructor&&e.constructor===a.constructor){if(s.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[s]=e}})}#p(t){const e=new Map;return t.forEach((s,a)=>{s!==null&&(s=JSON.stringify(s),e.set(a,s))}),e}#d(t){const e=new Map;return t.forEach((s,a)=>{if(!(s==null||s==="false")){try{if(typeof s=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(s)&&(s=JSON.parse(s)),s==null||s==="false")return}catch{}e.set(a,s)}}),e}#f(){let t;try{t=JSON.parse(d.getHash(this.#s))}catch{}if(!t)return;const e=new Map;this.#i.forEach(s=>{const a=t[s];a&&e.set(s,a)}),this.#h(e)}#m(){const t=new Map;this.#i.forEach(a=>{const i=this.#t[a];t.set(a,i)});const e=Object.fromEntries(t),s=JSON.stringify(e);d.setHash(this.#s,s)}#u(t=!1){const e=new Map;let s=this.#o,a="state:"+this.#s;t&&(s=this.#n,a="state:"+this.#s+":"+location.pathname),s.forEach(o=>{const h=localStorage.getItem(a+":"+o);e.set(o,h)});const i=this.#d(e);this.#h(i)}#l(t=!1){const e=new Map;let s=this.#o,a="state:"+this.#s;t&&(s=this.#n,a="state:"+this.#s+":"+location.pathname),s.forEach(o=>{const h=this.#t[o];e.set(o,h)});const i=this.#p(e);s.forEach(o=>{const h=i.get(o);localStorage.setItem(a+":"+o,h)})}#S(){const t=this.#a?.guest_data?.data;if(!t)return;this.#a.id===-1&&(this.#a.positionsReverseDates=t.positionsReverseDates);const e=new Map;this.#r.forEach(i=>{const o=t[i];e.set(i,o)});const s=this.#d(e);this.#h(s);const a=$(".mod_guest_title");if(this.#t.competitorsIds?.length===1&&this.#e.page.data.competitors){let i=this.#e.page.data.competitors.filter(o=>o.id===t.competitorsIds[0]);i.length&&($("a",a).attr("href","http://"+i[0].url),$("a",a).text(i[0].name))}}#k(){this.#t.regionsIndexes&&c.watch(this.#t.regionsIndexes,t=>{if(!t.length)return;t.forEach((a,i)=>t[i]=a);const e=TplProjectSelectorRegion.genSearchersMap(),s=[];e.forEach(a=>{a.regions.forEach(i=>{i.index!==-1&&s.push(i.index)})}),this.#t.regionsIndexes=t.filter(a=>s.includes(a))},{immediate:!0}),this.#t.competitorsIds&&c.watch(this.#t.competitorsIds,t=>{if(!t.length)return;t.forEach((s,a)=>t[a]=s);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(s=>{s.on>=0&&e.push(s.id)}),this.#t.competitorsIds=t.filter(s=>e.includes(s))},{immediate:!0})}}const k=l=>{const t=l;!t.options.tpaNamesUrlHash?.length&&!t.options.tpaNamesStorage?.length&&!t.options.tpaNamesStorageLocal?.length&&!t.options.tpaNamesGuestLink?.length||new S(t)};n.Core=r.Core,n.i18nPlugin=r.i18n,n.useI18n=r.useI18n,n.useI18nLang=r.useI18nLang,n.corePlugin=g.core,n.useAsyncTopDialog=u.useAsyncTopDialog,n.useTopDialog=u.useTopDialog,n.TopDialogWorker=m.TopDialogWorker,n.piniaTPAPlugin=k,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
|
|
2
2
|
//# sourceMappingURL=app.amd.js.map
|