@topvisor/ui 1.5.0-updates.11 → 1.5.0-updates.12
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/{api-CawzY1Cw.amd.js → api-Ch3koOO6.amd.js} +2 -2
- package/.chunks/{api-CawzY1Cw.amd.js.map → api-Ch3koOO6.amd.js.map} +1 -1
- package/.chunks/{api-CawzY1Cw.esm.js → api-Ch3koOO6.esm.js} +2 -2
- package/.chunks/{api-CawzY1Cw.esm.js.map → api-Ch3koOO6.esm.js.map} +1 -1
- package/.chunks/{app-CCX-gNqz.amd.js → app-DeYDrjuR.amd.js} +2 -2
- package/.chunks/{app-CCX-gNqz.amd.js.map → app-DeYDrjuR.amd.js.map} +1 -1
- package/.chunks/{app-CCX-gNqz.esm.js → app-DeYDrjuR.esm.js} +6 -6
- package/.chunks/{app-CCX-gNqz.esm.js.map → app-DeYDrjuR.esm.js.map} +1 -1
- package/.chunks/{datepicker-BTkZOq7d.amd.js → datepicker-hs1GgrEl.amd.js} +2 -2
- package/.chunks/{datepicker-BTkZOq7d.amd.js.map → datepicker-hs1GgrEl.amd.js.map} +1 -1
- package/.chunks/{datepicker-BTkZOq7d.esm.js → datepicker-hs1GgrEl.esm.js} +2 -2
- package/.chunks/{datepicker-BTkZOq7d.esm.js.map → datepicker-hs1GgrEl.esm.js.map} +1 -1
- package/.chunks/{dialog-DeM4SApg.amd.js → dialog-EVWLEYaz.amd.js} +2 -2
- package/.chunks/{dialog-DeM4SApg.amd.js.map → dialog-EVWLEYaz.amd.js.map} +1 -1
- package/.chunks/{dialog-DeM4SApg.esm.js → dialog-EVWLEYaz.esm.js} +4 -4
- package/.chunks/{dialog-DeM4SApg.esm.js.map → dialog-EVWLEYaz.esm.js.map} +1 -1
- package/.chunks/{dialog_regionSelectorRegions-CYrmaDt3.amd.js → dialog_regionSelectorRegions-SkMDN_xf.amd.js} +2 -2
- package/.chunks/{dialog_regionSelectorRegions-CYrmaDt3.amd.js.map → dialog_regionSelectorRegions-SkMDN_xf.amd.js.map} +1 -1
- package/.chunks/{dialog_regionSelectorRegions-CYrmaDt3.esm.js → dialog_regionSelectorRegions-SkMDN_xf.esm.js} +5 -5
- package/.chunks/{dialog_regionSelectorRegions-CYrmaDt3.esm.js.map → dialog_regionSelectorRegions-SkMDN_xf.esm.js.map} +1 -1
- package/.chunks/{dialogs-CMrERMI7.amd.js → dialogs-CrQruKtB.amd.js} +2 -2
- package/.chunks/{dialogs-CMrERMI7.amd.js.map → dialogs-CrQruKtB.amd.js.map} +1 -1
- package/.chunks/{dialogs-CMrERMI7.esm.js → dialogs-CrQruKtB.esm.js} +3 -3
- package/.chunks/{dialogs-CMrERMI7.esm.js.map → dialogs-CrQruKtB.esm.js.map} +1 -1
- package/.chunks/{forms-CbUt-6Ff.amd.js → forms-CZB2EgYU.amd.js} +2 -2
- package/.chunks/{forms-CbUt-6Ff.amd.js.map → forms-CZB2EgYU.amd.js.map} +1 -1
- package/.chunks/{forms-CbUt-6Ff.esm.js → forms-CZB2EgYU.esm.js} +5 -5
- package/.chunks/{forms-CbUt-6Ff.esm.js.map → forms-CZB2EgYU.esm.js.map} +1 -1
- package/.chunks/{formsExt-CrTmBhja.amd.js → formsExt-BI1Yr4lK.amd.js} +2 -2
- package/.chunks/{formsExt-CrTmBhja.amd.js.map → formsExt-BI1Yr4lK.amd.js.map} +1 -1
- package/.chunks/{formsExt-CrTmBhja.esm.js → formsExt-BI1Yr4lK.esm.js} +4 -4
- package/.chunks/{formsExt-CrTmBhja.esm.js.map → formsExt-BI1Yr4lK.esm.js.map} +1 -1
- package/.chunks/{notice-CslVdVNm.amd.js → notice-BMqSpsM4.amd.js} +2 -2
- package/.chunks/{notice-CslVdVNm.amd.js.map → notice-BMqSpsM4.amd.js.map} +1 -1
- package/.chunks/{notice-CslVdVNm.esm.js → notice-BMqSpsM4.esm.js} +2 -2
- package/.chunks/{notice-CslVdVNm.esm.js.map → notice-BMqSpsM4.esm.js.map} +1 -1
- package/.chunks/popup-C9Gbdtry.amd.js +2 -0
- package/.chunks/popup-C9Gbdtry.amd.js.map +1 -0
- package/.chunks/{popup-dNrN-eKi.esm.js → popup-C9Gbdtry.esm.js} +6 -6
- package/.chunks/popup-C9Gbdtry.esm.js.map +1 -0
- package/.chunks/{popup-DrByVU-k.amd.js → popup-DvXDsUIo.amd.js} +2 -2
- package/.chunks/{popup-DrByVU-k.amd.js.map → popup-DvXDsUIo.amd.js.map} +1 -1
- package/.chunks/{popup-DrByVU-k.esm.js → popup-DvXDsUIo.esm.js} +3 -3
- package/.chunks/{popup-DrByVU-k.esm.js.map → popup-DvXDsUIo.esm.js.map} +1 -1
- package/.chunks/{utils-Dd0MZgyw.amd.js → utils-BJYweugT.amd.js} +2 -2
- package/.chunks/{utils-Dd0MZgyw.amd.js.map → utils-BJYweugT.amd.js.map} +1 -1
- package/.chunks/{utils-Dd0MZgyw.esm.js → utils-BJYweugT.esm.js} +4 -4
- package/.chunks/{utils-Dd0MZgyw.esm.js.map → utils-BJYweugT.esm.js.map} +1 -1
- package/.chunks/{utils-BwiXsV0S.amd.js → utils-YS9-HaAi.amd.js} +2 -2
- package/.chunks/{utils-BwiXsV0S.amd.js.map → utils-YS9-HaAi.amd.js.map} +1 -1
- package/.chunks/{utils-BwiXsV0S.esm.js → utils-YS9-HaAi.esm.js} +3 -3
- package/.chunks/{utils-BwiXsV0S.esm.js.map → utils-YS9-HaAi.esm.js.map} +1 -1
- package/.chunks/{worker-Db8YrEHo.amd.js → worker-DpFg3xR3.amd.js} +2 -2
- package/.chunks/{worker-Db8YrEHo.amd.js.map → worker-DpFg3xR3.amd.js.map} +1 -1
- package/.chunks/{worker-Db8YrEHo.esm.js → worker-DpFg3xR3.esm.js} +3 -3
- package/.chunks/{worker-Db8YrEHo.esm.js.map → worker-DpFg3xR3.esm.js.map} +1 -1
- package/api/index.amd.js +1 -1
- package/api/index.amd.js.map +1 -1
- package/api/index.js +1 -1
- package/assets/project.css +1 -1
- package/autoload-css-manifest.amd.json +4 -4
- package/autoload-css-manifest.json +4 -4
- package/charts/charts.amd.js +1 -1
- package/charts/charts.amd.js.map +1 -1
- package/charts/charts.js +1 -1
- package/core/app.amd.js +1 -1
- package/core/app.amd.js.map +1 -1
- package/core/app.js +4 -4
- package/dialog/dialog.amd.js +1 -1
- package/dialog/dialog.amd.js.map +1 -1
- package/dialog/dialog.js +3 -3
- package/forms/forms.amd.js +1 -1
- package/forms/forms.amd.js.map +1 -1
- package/forms/forms.js +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +1 -1
- package/icomoon/Topvisor icons.json +30 -7
- package/icomoon/demo-files/demo.css +3 -0
- package/icomoon/demo.html +19 -2
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +3 -2
- 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 +8 -5
- package/layout/layout.amd.js +1 -1
- package/layout/layout.amd.js.map +1 -1
- package/layout/layout.js +1 -1
- package/package.json +1 -1
- package/popup/popup.amd.js +1 -1
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.js +1 -1
- package/popup/worker.amd.js +1 -1
- package/popup/worker.amd.js.map +1 -1
- package/popup/worker.js +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +521 -440
- package/project/project.js.map +1 -1
- package/src/components/formsExt/selector2/types.d.ts +3 -0
- package/src/components/project/groupSelector/groups/types.d.ts +1 -0
- package/src/components/project/groupSelector/groups/utils.d.ts +42 -0
- package/src/components/project/groupSelector/types.d.ts +10 -0
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.js +2 -2
- package/utils/clipboard.amd.js +1 -1
- package/utils/clipboard.amd.js.map +1 -1
- package/utils/clipboard.js +1 -1
- package/utils/date.amd.js +1 -1
- package/utils/date.amd.js.map +1 -1
- package/utils/date.js +1 -1
- package/utils/device.amd.js +1 -1
- package/utils/device.amd.js.map +1 -1
- package/utils/device.js +1 -1
- package/utils/lodash.amd.js +1 -1
- package/utils/lodash.amd.js.map +1 -1
- package/utils/lodash.js +1 -1
- package/utils/price.amd.js +1 -1
- package/utils/price.amd.js.map +1 -1
- package/utils/price.js +1 -1
- package/utils/searchers.amd.js +1 -1
- package/utils/searchers.amd.js.map +1 -1
- package/utils/searchers.js +1 -1
- package/utils/string.amd.js +1 -1
- package/utils/string.amd.js.map +1 -1
- package/utils/string.js +1 -1
- package/.chunks/popup-dNrN-eKi.amd.js +0 -2
- package/.chunks/popup-dNrN-eKi.amd.js.map +0 -1
- package/.chunks/popup-dNrN-eKi.esm.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popup-DrByVU-k.esm.js","names":["$slots","$core","$i18n","$emit","$attrs","$slots","$props","$emit","$i18n","$slots","$emit","$i18n","$slots","$emit","$i18n","$slots","$emit","$slots"],"sources":["../../src/components/popup/popup/opener/opener.vue","../../src/components/popup/popup/opener/opener.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/listItem.vue","../../src/components/popup/popup/listItem.vue","../../src/components/popup/popup/widgetInput/widgetInput.vue","../../src/components/popup/popup/widgetInput/widgetInput.vue","../../src/components/popup/popupAlert/popupAlert.vue","../../src/components/popup/popupAlert/popupAlert.vue","../../src/components/popup/popupConfirm/popupConfirm.vue","../../src/components/popup/popupConfirm/popupConfirm.vue","../../src/components/popup/popupPrompt/popupPrompt.vue","../../src/components/popup/popupPrompt/popupPrompt.vue","../../src/components/popup/popupHint/popupHint.vue","../../src/components/popup/popupHint/popupHint.vue"],"sourcesContent":["<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\nimport Worker from '../../lib/worker';\n\nconst props = withDefaults(defineProps<OpenerProps<T>>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внутрь элемента слота\n *\n * @param el - вспомогательный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\tconst disabledOld = !!elOpener.dataset.topPopupDisabled;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n\telOpener.dataset.topPopupDisabled = props.disabled ? 'true' : '';\n\telOpener.__TopPopupOpenerProps = props;\n\n\tif (props.openByFocusInput && elOpener.classList.contains('top-input')) {\n\t\tconst elInput = elOpener.querySelector('input');\n\n\t\telInput.onfocus = () => {\n\t\t\tif (elOpener.dataset.topPopupDisabled) return;\n\n\t\t\tWorker.openByOpener(elOpener);\n\t\t};\n\n\t\t/**\n\t\t * Открыть или закрыть `popup` в момент ввода значения, если он становится активным\n\t\t *\n\t\t * Для обработки ввода значения с проверкой `minLength`\n\t\t */\n\t\tif (props.disabled !== disabledOld && elInput === document.activeElement) {\n\t\t\tconst popup = Worker.getPopupFromOpener(elOpener);\n\n\t\t\tif (!props.disabled && !popup) {\n\t\t\t\tWorker.openByOpener(elOpener);\n\t\t\t}\n\n\t\t\tif (props.disabled && popup) {\n\t\t\t\tpopup.close();\n\t\t\t}\n\t\t}\n\t}\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\t/*\n\tpointer-events: none;\n\tcursor: auto !important;\n\t*/\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\nimport Worker from '../../lib/worker';\n\nconst props = withDefaults(defineProps<OpenerProps<T>>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внутрь элемента слота\n *\n * @param el - вспомогательный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\tconst disabledOld = !!elOpener.dataset.topPopupDisabled;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n\telOpener.dataset.topPopupDisabled = props.disabled ? 'true' : '';\n\telOpener.__TopPopupOpenerProps = props;\n\n\tif (props.openByFocusInput && elOpener.classList.contains('top-input')) {\n\t\tconst elInput = elOpener.querySelector('input');\n\n\t\telInput.onfocus = () => {\n\t\t\tif (elOpener.dataset.topPopupDisabled) return;\n\n\t\t\tWorker.openByOpener(elOpener);\n\t\t};\n\n\t\t/**\n\t\t * Открыть или закрыть `popup` в момент ввода значения, если он становится активным\n\t\t *\n\t\t * Для обработки ввода значения с проверкой `minLength`\n\t\t */\n\t\tif (props.disabled !== disabledOld && elInput === document.activeElement) {\n\t\t\tconst popup = Worker.getPopupFromOpener(elOpener);\n\n\t\t\tif (!props.disabled && !popup) {\n\t\t\t\tWorker.openByOpener(elOpener);\n\t\t\t}\n\n\t\t\tif (props.disabled && popup) {\n\t\t\t\tpopup.close();\n\t\t\t}\n\t\t}\n\t}\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\t/*\n\tpointer-events: none;\n\tcursor: auto !important;\n\t*/\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener/opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits<T>>();\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst expose = {\n\tid,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n};\n\ndefineExpose(expose);\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\nconst data = ref<T>();\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup<T>) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\tdata.value = popup.el.__TopPopupOpenerProps.data;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: data.value });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup<T>) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\tdata.value = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: popup.el.__TopPopupOpenerProps.data });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id\n\t\t:pos\n\t\t:posBy\n\t\t:notch\n\t\t:openByFocusInput\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t\t:disabled\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\" :data=\"data\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\" :data=\"data\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener/opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits<T>>();\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst expose = {\n\tid,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n};\n\ndefineExpose(expose);\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\nconst data = ref<T>();\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup<T>) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\tdata.value = popup.el.__TopPopupOpenerProps.data;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: data.value });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup<T>) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\tdata.value = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: popup.el.__TopPopupOpenerProps.data });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id\n\t\t:pos\n\t\t:posBy\n\t\t:notch\n\t\t:openByFocusInput\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t\t:disabled\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\" :data=\"data\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\" :data=\"data\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { ListItemProps } from './types';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<ListItemProps>(), {\n\ttype: 'button',\n\tcloseByClick: true,\n});\n</script>\n\n<template>\n\t<li\n\t\t:class=\"{\n\t\t\t'top-popup_liNoSelectable': props.type !== 'button'\n\t\t}\"\n\t>\n\t\t<component\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\n\t\t\t:class=\"{\n\t\t\t\t'top-popup_listItem': true,\n\t\t\t\t['top-popup_listItem-' + props.type]: !!props.type,\n\t\t\t\t'top-popup_liastItem-withActions': $slots.actions,\n\t\t\t\t'top-popup-noCloser': !closeByClick,\n\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\n\t\t\t}\"\n\t\t\t:=\"{...$attrs, ...attrs}\"\n\t\t>\n\t\t\t<template v-if=\"$slots.actions\">\n\t\t\t\t<div class=\"top-popup_listItemActionsLabel top-ellipsis1\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"top-popup_listItemActions\">\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template v-else>\n\t\t\t\t<slot></slot>\n\t\t\t</template>\n\t\t</component>\n\n\t\t<slot name=\"buttons\"></slot>\n\t</li>\n</template>\n","<script setup lang=\"ts\">\nimport type { ListItemProps } from './types';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<ListItemProps>(), {\n\ttype: 'button',\n\tcloseByClick: true,\n});\n</script>\n\n<template>\n\t<li\n\t\t:class=\"{\n\t\t\t'top-popup_liNoSelectable': props.type !== 'button'\n\t\t}\"\n\t>\n\t\t<component\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\n\t\t\t:class=\"{\n\t\t\t\t'top-popup_listItem': true,\n\t\t\t\t['top-popup_listItem-' + props.type]: !!props.type,\n\t\t\t\t'top-popup_liastItem-withActions': $slots.actions,\n\t\t\t\t'top-popup-noCloser': !closeByClick,\n\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\n\t\t\t}\"\n\t\t\t:=\"{...$attrs, ...attrs}\"\n\t\t>\n\t\t\t<template v-if=\"$slots.actions\">\n\t\t\t\t<div class=\"top-popup_listItemActionsLabel top-ellipsis1\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"top-popup_listItemActions\">\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template v-else>\n\t\t\t\t<slot></slot>\n\t\t\t</template>\n\t\t</component>\n\n\t\t<slot name=\"buttons\"></slot>\n\t</li>\n</template>\n","<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","<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","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\ndefineEmits<Emits<T>>();\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupAlert\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия Popup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton>\n\t\t\t\t{{ submitText || $i18n.Common.Close }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\ndefineEmits<Emits<T>>();\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupAlert\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия Popup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton>\n\t\t\t\t{{ submitText || $i18n.Common.Close }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref } from 'vue';\nimport type { PopupEvent } from '@/components/popup/popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst isSubmit = ref(false);\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n\n\temit('submit');\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\treturn;\n\t}\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tisWarning,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupConfirm\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton\n\t\t\t\t@click=\"onSubmit\"\n\t\t\t\t:color=\"isWarning ? 'red' : 'blue'\"\n\t\t\t>\n\t\t\t\t{{ submitText || $i18n.Common.Continue }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref } from 'vue';\nimport type { PopupEvent } from '@/components/popup/popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst isSubmit = ref(false);\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n\n\temit('submit');\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\treturn;\n\t}\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tisWarning,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupConfirm\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton\n\t\t\t\t@click=\"onSubmit\"\n\t\t\t\t:color=\"isWarning ? 'red' : 'blue'\"\n\t\t\t>\n\t\t\t\t{{ submitText || $i18n.Common.Continue }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref, watch } from 'vue';\nimport type { PopupEvent } from '../popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '../popup/popup.vue';\nimport TopPopupWidgetInput from '../popup/widgetInput/widgetInput.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst reset = () => localValue.value = props.defaultValue ?? '';\n\nconst isSubmit = ref(false);\n\nconst localValue = ref();\nwatch(() => props.defaultValue, () => reset(), { immediate: true });\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\temit('submit', localValue.value);\n\n\t\treset();\n\n\t\treturn;\n\t}\n\n\treset();\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tdefaultValue,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupPrompt\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\n\t\t\t<TopPopupWidgetInput v-model.trim=\"localValue\"/>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t{{ submitText || $i18n.Common.OK }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref, watch } from 'vue';\nimport type { PopupEvent } from '../popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '../popup/popup.vue';\nimport TopPopupWidgetInput from '../popup/widgetInput/widgetInput.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst reset = () => localValue.value = props.defaultValue ?? '';\n\nconst isSubmit = ref(false);\n\nconst localValue = ref();\nwatch(() => props.defaultValue, () => reset(), { immediate: true });\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\temit('submit', localValue.value);\n\n\t\treset();\n\n\t\treturn;\n\t}\n\n\treset();\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tdefaultValue,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupPrompt\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\n\t\t\t<TopPopupWidgetInput v-model.trim=\"localValue\"/>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t{{ submitText || $i18n.Common.OK }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport TopPopup from '@/components/popup/popup/popup.vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { Props } from './types';\n\nconst props = defineProps<Props<T>>();\n\nconst {\n\thint,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupHint\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- Элемент для открытия Popup -->\n\t\t\t<TopHint\n\t\t\t\t:hint=\"hint\"\n\t\t\t\tclass=\"top-popupHint_opener\"\n\t\t\t\tv-top-tooltip\n\t\t\t/>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\t</TopPopup>\n</template>\n\n<style>\n.top-popupHint_opener {\n\tcursor: pointer;\n}\n\n.top-popupHint_opener.top-active {\n\tcolor: var(--color-text-2);\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport TopPopup from '@/components/popup/popup/popup.vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { Props } from './types';\n\nconst props = defineProps<Props<T>>();\n\nconst {\n\thint,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupHint\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- Элемент для открытия Popup -->\n\t\t\t<TopHint\n\t\t\t\t:hint=\"hint\"\n\t\t\t\tclass=\"top-popupHint_opener\"\n\t\t\t\tv-top-tooltip\n\t\t\t/>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\t</TopPopup>\n</template>\n\n<style>\n.top-popupHint_opener {\n\tcursor: pointer;\n}\n\n.top-popupHint_opener.top-active {\n\tcolor: var(--color-text-2);\n}\n</style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"popup-DvXDsUIo.esm.js","names":["$slots","$core","$i18n","$emit","$attrs","$slots","$props","$emit","$i18n","$slots","$emit","$i18n","$slots","$emit","$i18n","$slots","$emit","$slots"],"sources":["../../src/components/popup/popup/opener/opener.vue","../../src/components/popup/popup/opener/opener.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/listItem.vue","../../src/components/popup/popup/listItem.vue","../../src/components/popup/popup/widgetInput/widgetInput.vue","../../src/components/popup/popup/widgetInput/widgetInput.vue","../../src/components/popup/popupAlert/popupAlert.vue","../../src/components/popup/popupAlert/popupAlert.vue","../../src/components/popup/popupConfirm/popupConfirm.vue","../../src/components/popup/popupConfirm/popupConfirm.vue","../../src/components/popup/popupPrompt/popupPrompt.vue","../../src/components/popup/popupPrompt/popupPrompt.vue","../../src/components/popup/popupHint/popupHint.vue","../../src/components/popup/popupHint/popupHint.vue"],"sourcesContent":["<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\nimport Worker from '../../lib/worker';\n\nconst props = withDefaults(defineProps<OpenerProps<T>>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внутрь элемента слота\n *\n * @param el - вспомогательный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\tconst disabledOld = !!elOpener.dataset.topPopupDisabled;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n\telOpener.dataset.topPopupDisabled = props.disabled ? 'true' : '';\n\telOpener.__TopPopupOpenerProps = props;\n\n\tif (props.openByFocusInput && elOpener.classList.contains('top-input')) {\n\t\tconst elInput = elOpener.querySelector('input');\n\n\t\telInput.onfocus = () => {\n\t\t\tif (elOpener.dataset.topPopupDisabled) return;\n\n\t\t\tWorker.openByOpener(elOpener);\n\t\t};\n\n\t\t/**\n\t\t * Открыть или закрыть `popup` в момент ввода значения, если он становится активным\n\t\t *\n\t\t * Для обработки ввода значения с проверкой `minLength`\n\t\t */\n\t\tif (props.disabled !== disabledOld && elInput === document.activeElement) {\n\t\t\tconst popup = Worker.getPopupFromOpener(elOpener);\n\n\t\t\tif (!props.disabled && !popup) {\n\t\t\t\tWorker.openByOpener(elOpener);\n\t\t\t}\n\n\t\t\tif (props.disabled && popup) {\n\t\t\t\tpopup.close();\n\t\t\t}\n\t\t}\n\t}\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\t/*\n\tpointer-events: none;\n\tcursor: auto !important;\n\t*/\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\nimport Worker from '../../lib/worker';\n\nconst props = withDefaults(defineProps<OpenerProps<T>>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внутрь элемента слота\n *\n * @param el - вспомогательный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\tconst disabledOld = !!elOpener.dataset.topPopupDisabled;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n\telOpener.dataset.topPopupDisabled = props.disabled ? 'true' : '';\n\telOpener.__TopPopupOpenerProps = props;\n\n\tif (props.openByFocusInput && elOpener.classList.contains('top-input')) {\n\t\tconst elInput = elOpener.querySelector('input');\n\n\t\telInput.onfocus = () => {\n\t\t\tif (elOpener.dataset.topPopupDisabled) return;\n\n\t\t\tWorker.openByOpener(elOpener);\n\t\t};\n\n\t\t/**\n\t\t * Открыть или закрыть `popup` в момент ввода значения, если он становится активным\n\t\t *\n\t\t * Для обработки ввода значения с проверкой `minLength`\n\t\t */\n\t\tif (props.disabled !== disabledOld && elInput === document.activeElement) {\n\t\t\tconst popup = Worker.getPopupFromOpener(elOpener);\n\n\t\t\tif (!props.disabled && !popup) {\n\t\t\t\tWorker.openByOpener(elOpener);\n\t\t\t}\n\n\t\t\tif (props.disabled && popup) {\n\t\t\t\tpopup.close();\n\t\t\t}\n\t\t}\n\t}\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\t/*\n\tpointer-events: none;\n\tcursor: auto !important;\n\t*/\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener/opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits<T>>();\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst expose = {\n\tid,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n};\n\ndefineExpose(expose);\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\nconst data = ref<T>();\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup<T>) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\tdata.value = popup.el.__TopPopupOpenerProps.data;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: data.value });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup<T>) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\tdata.value = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: popup.el.__TopPopupOpenerProps.data });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id\n\t\t:pos\n\t\t:posBy\n\t\t:notch\n\t\t:openByFocusInput\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t\t:disabled\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\" :data=\"data\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\" :data=\"data\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener/opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits<T>>();\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst expose = {\n\tid,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n};\n\ndefineExpose(expose);\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\nconst data = ref<T>();\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup<T>) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\tdata.value = popup.el.__TopPopupOpenerProps.data;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: data.value });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup<T>) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\tdata.value = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: popup.el.__TopPopupOpenerProps.data });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id\n\t\t:pos\n\t\t:posBy\n\t\t:notch\n\t\t:openByFocusInput\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t\t:disabled\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\" :data=\"data\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\" :data=\"data\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { ListItemProps } from './types';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<ListItemProps>(), {\n\ttype: 'button',\n\tcloseByClick: true,\n});\n</script>\n\n<template>\n\t<li\n\t\t:class=\"{\n\t\t\t'top-popup_liNoSelectable': props.type !== 'button'\n\t\t}\"\n\t>\n\t\t<component\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\n\t\t\t:class=\"{\n\t\t\t\t'top-popup_listItem': true,\n\t\t\t\t['top-popup_listItem-' + props.type]: !!props.type,\n\t\t\t\t'top-popup_liastItem-withActions': $slots.actions,\n\t\t\t\t'top-popup-noCloser': !closeByClick,\n\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\n\t\t\t}\"\n\t\t\t:=\"{...$attrs, ...attrs}\"\n\t\t>\n\t\t\t<template v-if=\"$slots.actions\">\n\t\t\t\t<div class=\"top-popup_listItemActionsLabel top-ellipsis1\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"top-popup_listItemActions\">\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template v-else>\n\t\t\t\t<slot></slot>\n\t\t\t</template>\n\t\t</component>\n\n\t\t<slot name=\"buttons\"></slot>\n\t</li>\n</template>\n","<script setup lang=\"ts\">\nimport type { ListItemProps } from './types';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<ListItemProps>(), {\n\ttype: 'button',\n\tcloseByClick: true,\n});\n</script>\n\n<template>\n\t<li\n\t\t:class=\"{\n\t\t\t'top-popup_liNoSelectable': props.type !== 'button'\n\t\t}\"\n\t>\n\t\t<component\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\n\t\t\t:class=\"{\n\t\t\t\t'top-popup_listItem': true,\n\t\t\t\t['top-popup_listItem-' + props.type]: !!props.type,\n\t\t\t\t'top-popup_liastItem-withActions': $slots.actions,\n\t\t\t\t'top-popup-noCloser': !closeByClick,\n\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\n\t\t\t}\"\n\t\t\t:=\"{...$attrs, ...attrs}\"\n\t\t>\n\t\t\t<template v-if=\"$slots.actions\">\n\t\t\t\t<div class=\"top-popup_listItemActionsLabel top-ellipsis1\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"top-popup_listItemActions\">\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template v-else>\n\t\t\t\t<slot></slot>\n\t\t\t</template>\n\t\t</component>\n\n\t\t<slot name=\"buttons\"></slot>\n\t</li>\n</template>\n","<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","<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","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\ndefineEmits<Emits<T>>();\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupAlert\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия Popup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton>\n\t\t\t\t{{ submitText || $i18n.Common.Close }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\ndefineEmits<Emits<T>>();\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupAlert\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия Popup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton>\n\t\t\t\t{{ submitText || $i18n.Common.Close }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref } from 'vue';\nimport type { PopupEvent } from '@/components/popup/popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst isSubmit = ref(false);\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n\n\temit('submit');\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\treturn;\n\t}\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tisWarning,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupConfirm\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton\n\t\t\t\t@click=\"onSubmit\"\n\t\t\t\t:color=\"isWarning ? 'red' : 'blue'\"\n\t\t\t>\n\t\t\t\t{{ submitText || $i18n.Common.Continue }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref } from 'vue';\nimport type { PopupEvent } from '@/components/popup/popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst isSubmit = ref(false);\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n\n\temit('submit');\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\treturn;\n\t}\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tisWarning,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupConfirm\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton\n\t\t\t\t@click=\"onSubmit\"\n\t\t\t\t:color=\"isWarning ? 'red' : 'blue'\"\n\t\t\t>\n\t\t\t\t{{ submitText || $i18n.Common.Continue }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref, watch } from 'vue';\nimport type { PopupEvent } from '../popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '../popup/popup.vue';\nimport TopPopupWidgetInput from '../popup/widgetInput/widgetInput.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst reset = () => localValue.value = props.defaultValue ?? '';\n\nconst isSubmit = ref(false);\n\nconst localValue = ref();\nwatch(() => props.defaultValue, () => reset(), { immediate: true });\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\temit('submit', localValue.value);\n\n\t\treset();\n\n\t\treturn;\n\t}\n\n\treset();\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tdefaultValue,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupPrompt\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\n\t\t\t<TopPopupWidgetInput v-model.trim=\"localValue\"/>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t{{ submitText || $i18n.Common.OK }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref, watch } from 'vue';\nimport type { PopupEvent } from '../popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '../popup/popup.vue';\nimport TopPopupWidgetInput from '../popup/widgetInput/widgetInput.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst reset = () => localValue.value = props.defaultValue ?? '';\n\nconst isSubmit = ref(false);\n\nconst localValue = ref();\nwatch(() => props.defaultValue, () => reset(), { immediate: true });\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\temit('submit', localValue.value);\n\n\t\treset();\n\n\t\treturn;\n\t}\n\n\treset();\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tdefaultValue,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupPrompt\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\n\t\t\t<TopPopupWidgetInput v-model.trim=\"localValue\"/>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t{{ submitText || $i18n.Common.OK }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport TopPopup from '@/components/popup/popup/popup.vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { Props } from './types';\n\nconst props = defineProps<Props<T>>();\n\nconst {\n\thint,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupHint\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- Элемент для открытия Popup -->\n\t\t\t<TopHint\n\t\t\t\t:hint=\"hint\"\n\t\t\t\tclass=\"top-popupHint_opener\"\n\t\t\t\tv-top-tooltip\n\t\t\t/>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\t</TopPopup>\n</template>\n\n<style>\n.top-popupHint_opener {\n\tcursor: pointer;\n}\n\n.top-popupHint_opener.top-active {\n\tcolor: var(--color-text-2);\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport TopPopup from '@/components/popup/popup/popup.vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { Props } from './types';\n\nconst props = defineProps<Props<T>>();\n\nconst {\n\thint,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupHint\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- Элемент для открытия Popup -->\n\t\t\t<TopHint\n\t\t\t\t:hint=\"hint\"\n\t\t\t\tclass=\"top-popupHint_opener\"\n\t\t\t\tv-top-tooltip\n\t\t\t/>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\t</TopPopup>\n</template>\n\n<style>\n.top-popupHint_opener {\n\tcursor: pointer;\n}\n\n.top-popupHint_opener.top-active {\n\tcolor: var(--color-text-2);\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define([`require`,`exports`,`./forms-CbUt-6Ff.amd`,`../utils/dom.amd`,`./worker-Db8YrEHo.amd`,`../utils/system.amd`,`./dialogs-CMrERMI7.amd`,`../utils/route.amd`,`../utils/scroll.amd`,`vue`,`../popup/worker.amd`],function(e,t,n,r,i,a,o,s,c,l){"use strict";if(u===void 0)var u=window.Vue;Object.defineProperty(t,`__esModule`,{value:!0}),t.TopDialogUtils=void 0,$;var d=!1,f=()=>{d||(d=!0,document.addEventListener(`keydown`,e=>{if(e.key!==`Escape`||!e.target||!(e.target instanceof HTMLElement))return;let t=e.target;if(!t.closest(`.ui-dialog`)||t.contentEditable===`true`||t.contentEditable===`plaintext-only`||(0,r.querySelectorVisible)(document.documentElement,`.top-popup-wrapper`)||t.classList.contains(`autocomplete`)||(0,r.querySelectorVisible)(document.documentElement,`.fancybox-container`))return;let n=(0,r.querySelectorAllArray)(document,`.ui-dialog-content`).filter(e=>(0,r.isVisible)(e));$(n[n.length-1]).dialog(`close`)}),document.addEventListener(`click`,e=>{if(!(e.target instanceof HTMLElement))return;let t=e.target.closest(`[data-action="top-dialog-close"]`);if(!t)return;e.preventDefault();let n=t.closest(`.ui-dialog-content`);if(!n)return;let i=t.dataset.toView;if(i==`toPrevPage()`){P.toPrevPage(n);return}if(i){let e=i.split(`-`),t=e.shift(),n=e.join(`-`);if(!t)return;let a=P.getElDialogById(t);if(!a)return;let c=(0,r.querySelectorAllArray)(a,`[data-view-page="${n}"]`);if(!c)return;if(!(0,r.isVisible)(c[0])){(0,s.historySetState)(!1,o.i.genViewPageHash(i,`prev`));return}}$(n).dialog(`close`)}),document.addEventListener(`submit`,e=>{let t=e.target;(t.matches(`.modal-body > form`)||t.matches(`.modal-layer-body > form`))&&e.preventDefault()}),document.addEventListener(`keypress`,e=>{if(!(e.target instanceof HTMLElement))return;let t=e.target;if(t.closest(`.ui-dialog .modal-body`)&&(t.matches(`input:not(.searcher), textarea:not(.searcher), select:not(.searcher), button:not(.searcher)`)||t.hasAttribute(`contenteditable`))&&e.key===`Enter`){if(t.classList.contains(`autocomplete`)){e.preventDefault();return}if(t.tagName===`TEXTAREA`){if(!e.ctrlKey&&!e.metaKey)return;let n=t.closest(`form`);n&&(0,r.querySelectorAllArray)(n,`button[type="submit"]`).concat((0,r.querySelectorAllArray)(n,`input[type="submit"]`)).find(e=>(0,r.isVisible)(e))?.click()}}}),document.addEventListener(`click`,function(e){if(!(e.target instanceof HTMLElement)||!e.target.classList.contains(`ui-widget-overlay`))return;let t,n=0;if((0,r.querySelectorAllArray)(document,`.ui-dialog`).filter(e=>(0,r.isVisible)(e)).forEach(e=>{let r=Number(window.getComputedStyle(e).zIndex);r<n||(t=e,n=r)}),t){let e=t.querySelector(`.ui-dialog-content`);$(e).dialog(`close`)}}),window.addEventListener(`resize`,P.recalcPositions),P.recalcPositions())};n.O.insertStyleToPage(`:root{--dialog-border-color:var(--color-line-1);--dialog-loading-duration:10s;--top-dialog-footer-height:var(--top-forms-base-height_s)}html.with_dialog{overflow:hidden!important}a[data-to-view]{cursor:pointer}.ui-widget-overlay{opacity:.5;filter:Alpha(Opacity=50);background:#040404}.ui-dialog{border:none;border-radius:8px;padding:0}.ui-dialog.ui-widget{border:none}.ui-dialog-titlebar{display:none}.ui-dialog .ui-dialog-content{padding:0;overflow:visible}.ui-dialog .project_name{word-break:break-all}.ui-dialog-content{--dialog-header-height:50px;--dialog-layer-pageSelector:0px}.ui-dialog-content-withPageSelector{--dialog-layer-pageSelector:42px}.modal-header,.modal-body,.modal-footer{font-size:14px;position:relative}.modal-body{padding:var(--padding-default)}.modal-body:has(>.topTable:first-child){padding-top:calc(var(--padding-default) / 4)}.modal-header{border-bottom:1px solid var(--dialog-border-color);height:var(--dialog-header-height);padding:0 var(--padding-default);justify-content:space-between;align-items:center;gap:var(--top-padding-2);display:flex}.modal-header>*{padding:10px 0;font-size:16px}.modal-header>.top-title{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;order:50;align-items:center;margin:0;font-weight:400;display:flex;overflow:hidden}.modal-header>.top-title>div[class*=icon]{display:none}.modal-header>div:not(.top-title){order:60}.modal-header>div.close{--top-icon-color:var(--color-text-2);cursor:pointer;background:var(--color-layout-front-1);order:100;font-size:16px;animation-name:none!important}.modal-header>div.close:hover{--top-icon-color:var(--color-text-1)}.modal-header .links_icons{position:absolute;right:50px}.modal-header .links_icons [class*=icon-]{color:#d6dee0;width:auto;height:auto;padding:0 5px}.modal-header .links_icons [class*=icon-].active{color:var(--color-bg-warning-1)}.modal-layer-pageSelector{padding:0 10px!important}.modal-body{max-height:calc(var(--100vh) - var(--dialog-header-height) - 1px - var(--dialog-layer-pageSelector) - var(--top-dialog-footer-height) - 1px);box-sizing:border-box;flex-grow:1;overflow:hidden auto}.modal-body hr{margin:16px -15px}.modal-body h4{margin:0 0 10px;padding:0;line-height:normal}.modal-body .inner{padding:var(--padding-default);margin:0 calc(0px - var(--padding-default));position:relative}.modal-body .inner .bt{border-top:1px dashed var(--color-layout-front-primary-3);position:absolute;top:0;left:0;right:0}.modal-body .inner .bb{border-bottom:1px dashed var(--color-layout-front-primary-3);position:absolute;bottom:0;left:0;right:0}.modal-body .inner.color-1{background:var(--color-layout-front-primary-3);color:var(--color-text-1)}.modal-body .inner strong{color:var(--color-text-1)}.modal-body .comment{line-height:18px}.modal-footer{min-height:var(--top-dialog-footer-height);padding:var(--top-gap-2);justify-content:flex-end;align-items:center;gap:var(--top-gap-2);flex-shrink:0;display:flex}.modal-footer .modal-footer-btn-left{margin-right:auto}.modal-footer>.btn.full_width,.modal-footer>.top-button.full_width{flex-grow:1;align-self:flex-end}.modal-footer-fullWith{flex-wrap:wrap}.modal-footer-fullWith>*{flex-grow:1}.modal-footer-fullWith>.top-info{flex-grow:5}.modal-footer-fullWith>:empty{flex-grow:0}.ui-dialog-content>.modal-layer>[data-view-page]>input[type=submit]{visibility:hidden;position:absolute}.help_popup .modal-header{display:none}.help_popup .modal-header a{z-index:10;top:2px}.help_popup .modal-header .top-title{display:none}.modal-layer{overflow:hidden}.modal-layer a[data-top-icon]:empty{color:var(--color-text-4);text-decoration:none}.modal-layer>[data-view-page]>div>div.buttons{white-space:nowrap;gap:var(--top-padding-1);display:flex}.modal-layer>[data-view-page]>div>div.buttons:empty{display:none}.modal-layer>[data-view-page]>div>div.buttons>div,.modal-layer>[data-view-page]>div>div.buttons>a{cursor:pointer;width:auto;min-width:auto;height:auto;min-height:auto;color:var(--color-text-4);padding:10px 9px}.modal-layer>[data-view-page]>div>div.buttons>div:hover{color:var(--color-text-2)}.modal-layer>[data-view-page]>div>div.buttons>div.hidden{display:none!important}.ui-dialog-content[data-view-page-active]{flex-direction:column;justify-items:stretch;display:flex!important}.ui-dialog-content>.modal-layer{align-items:stretch;position:relative;display:flex!important}.ui-dialog-content.i-change-page>.modal-layer{overflow:hidden}.ui-dialog-content>.modal-layer>[data-view-page]{flex-direction:column;justify-content:space-between;width:100%;animation:none;display:none;position:relative}.ui-dialog-content>.modal-layer>[data-view-page].active{display:flex}.ui-dialog-content>.modal-layer>[data-view-page].reverse{animation-direction:reverse}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center{display:flex;position:absolute;inset:0}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left>div,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center>div{overflow:hidden}.ui-dialog-content>.modal-layer-header{border-bottom:1px solid var(--dialog-border-color);min-height:var(--dialog-header-height)}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header{background:0 0;border:none}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header>*{animation:none}.ui-dialog-content>.modal-layer-header>[data-view-page].reverse>.modal-header>*{animation-direction:reverse}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>.top-title{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>.top-title{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>[class*=widget-]{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>[class*=widget-]{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>div{animation-name:dialog-center-to-left-header-icons}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>div{animation-name:dialog-right-to-center-header-icons}.ui-dialog-content>.modal-layer-body{max-height:calc(var(--100vh) - var(--dialog-header-height) - var(--dialog-layer-pageSelector) - var(--toolbar-height));border-radius:0 0 8px 8px;flex-grow:2}.ui-dialog-content.i-change-page>.modal-layer-body>[data-view-page]{background:var(--color-layout-front-1)}.ui-dialog-content>.modal-layer-body>[data-view-page].center-to-left{animation-name:dialog-center-to-left}.ui-dialog-content>.modal-layer-body>[data-view-page].right-to-center{animation-name:dialog-right-to-center}.ui-dialog-content .modal-footer .second_level{box-sizing:border-box;background:var(--color-layout-front-1);justify-content:center;align-items:center;width:100%;min-height:25px;display:flex}.ui-dialog-content .modal-footer .second_level input{width:100%;height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-3);box-sizing:border-box;border-radius:8px}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data{pointer-events:none}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data:before{content:" ";z-index:100;width:0;height:4px;animation:top-loadbar var(--dialog-loading-duration) forwards;background:#378dc6;position:absolute;top:0;left:0}.ui-dialog-content.modal-expanded{width:100vw!important;height:calc(var(--100vh) + 10px)!important}.modal-header>[data-widget]{opacity:0;visibility:hidden;z-index:1;align-items:center;padding:0 8px;transition:opacity .3s;position:absolute;inset:0;overflow:hidden}.modal-header>[data-widget=search] div.cancel{opacity:0;transition:transform .3s,opacity .3s;transform:translate(100%)}[data-view-page].i-show-search .modal-header>:not([data-widget=search]){visibility:hidden}[data-view-page].i-show-search [data-widget=search]{visibility:visible;opacity:1}[data-view-page].i-show-search [data-widget=search] .cancel{opacity:1;transform:translate(0)}[data-view-page]>.modal-header>*{transition:opacity .3s}[data-view-page].i-show-search>.modal-header>div.buttons{opacity:0}.modal-layer .top-popup-wrapper{height:100%!important}@keyframes dialog-center-to-left-header-title{0%{opacity:1;transform:translate(0)}75%{opacity:0}to{opacity:0;transform:translate(-30%)}}@keyframes dialog-right-to-center-header-title{0%{opacity:0;transform:translate(100%)}25%{opacity:0}to{opacity:1;transform:translate(0)}}@keyframes dialog-center-to-left-header-icons{0%{opacity:1;transform:translate(0)}35%{opacity:0;transform:translate(-20%)}to{opacity:0;transform:translate(-20%)}}@keyframes dialog-right-to-center-header-icons{0%{opacity:0;transform:translate(20%)}65%{opacity:0;transform:translate(20%)}to{opacity:1;transform:translate(0)}}@keyframes dialog-center-to-left{0%{filter:brightness();transform:translate(0)}to{filter:brightness(.9);transform:translate(-30%)}}@keyframes dialog-right-to-center{0%{transform:translate(100%);box-shadow:0 0 10px #0000001a}to{transform:translate(0);box-shadow:0 0 10px #0003}}@media only screen and (max-width:1480px){.win_side_panel_opener{display:none}}@media only screen and (min-width:1480px){.ui-dialog-content.with_side_panel{box-shadow:0 0 6px #0003}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width:calc((100vw - 900px) / 2 - 28px);box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);top:calc(var(--dialog-header-height) + 1px + var(--dialog-layer-pageSelector));bottom:calc(var(--top-dialog-footer-height) + 1px);z-index:-1;padding:18px;transition:all .2s;display:block;position:absolute}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}@media only screen and (max-height:900px){html.with_dialog{background:#f1f1f1;overflow:hidden}.ui-dialog.me-tightly{border-radius:0;position:fixed;height:auto!important;top:0!important;bottom:0!important}.ui-dialog.me-tightly .ui-dialog-content{min-height:100%!important}.ui-dialog.me-tightly>div>.modal-body{top:var(--dialog-header-height);left:0;right:0;bottom:var(--dialog-header-height);position:absolute}.ui-dialog.me-tightly>div>.modal-body:last-child{bottom:0}.ui-dialog.me-tightly>div>.modal-footer{position:absolute;bottom:0;left:0;right:0}.ui-dialog.me-tightly .modal-layer-body{border-radius:0;min-height:0!important}.ui-dialog.me-tightly .modal-layer-body .modal-footer{min-height:unset}}`),n.O.insertStyleToPage(`html.with_dialog body{height:var(--100vh);overflow:hidden}.ui-widget-overlay{height:calc(100% - var(--toolbar-height))}.ui-dialog{border-radius:0;position:fixed;width:auto!important;height:auto!important;inset:0!important}.ui-dialog-content{width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important}.modal-header>.top-title{text-align:center;font-size:14px}.modal-header>div.close{order:1;font-size:14px}.modal-header>div.close:before{content:""}.modal-body:last-child,.modal-footer{bottom:0}.modal-footer .second_level{padding:10px 8px}.modal-layer-body{min-height:0!important}.ui-dialog-content>.modal-layer-body{border-radius:0}.modal-body,.modal-footer{padding-left:12px;padding-right:12px}.modal-footer .btn:last-child{margin-right:12px}.modal-body .inner{margin:0 -12px;padding:12px;position:relative}`,`m`),n.O.insertStyleToPage(`.modal-menu-opener{order:1!important}.modal-menu-opener:before{--top-icon-size:20px;--top-icon-color:#fff;--top-icon-width:var(--top-icon-size);background:var(--color-bg-primary-1);border-radius:50%;padding:3px;transition:transform .1s}.modal-menu-opener:hover:before{background:var(--color-bg-primary-2)}.modal-menu-opener.top-active:before{background:var(--color-bg-primary-2);transform:scale(.8)}.modal-layer .top-popup-wrapper{background:0 0;transition:background .3s;width:auto!important;margin:0!important;padding:0!important;top:0!important;left:0!important;right:0!important}.modal-layer .top-popup-wrapper>.top-popup[class],.modal-layer .top-popup-wrapper.with_notch>.top-popup[class]{opacity:1;border:none;border-radius:8px;flex-direction:column;max-width:100%;max-height:calc(100% - 24px);transition:transform .3s;display:flex;overflow:auto;transform:translateY(calc(-100% - 24px));margin:12px!important;inset:0 0 auto!important}.modal-layer .top-popup>.top-popup_header{background:var(--color-theme-50)}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select{border:none}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .text{color:#fff}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .arrow{background:0 0}.modal-layer .top-popup-wrapper-shown:not(.top-popup-wrapper-closed){pointer-events:auto;background:#34495e40}@media only screen and (min-width:1480px){.ui-dialog-content.with_side_panel{box-shadow:0 0 6px #0003}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width:calc((100vw - 900px) / 2 - 28px);box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);z-index:-1;padding:18px;transition:all .2s;display:block;position:absolute;top:51px;bottom:51px}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}`,`pc`),n.O.insertStyleToPage(`html{--top-dialog-width:auto;--top-dialog-height:auto}.top-dialog{max-width:100vw}.top-dialog .modal-layer-body{height:var(--top-dialog-height)}`),n.O.insertStyleToPage(`.top-dialog{width:var(--top-dialog-width)!important}`,`pc`);var p,m=!1,h=e=>!!e&&typeof e==`object`&&`jquery`in e,g=()=>{$.extend($.ui.dialog.prototype.options,{focus:e=>{e.target.focus(),$(`[autofocus]`,e.target)[0]?.focus()},create:e=>b(e.target),open:e=>S(e.target),close:e=>C(e.target),modal:!0,resizable:!1,closeOnEscape:!1,width:`auto`,minHeight:0}),$.ui.dialog.prototype._focusTabbable=$.noop,$.ui.dialog.prototype._moveToTopOriginal=$.ui.dialog.prototype._moveToTop,$.ui.dialog.prototype._moveToTop=function(){this._moveToTopOriginal();let e=$(this.element);e.trigger(`dialogsMoveToTop`,[e])},f(),m=!0},_=e=>{let t={};return e.dataset?.modal===`false`&&(t.modal=!1),e.dataset?.position&&(t.position=JSON.parse(e.dataset.position)),t},v=e=>document.getElementById(e),y=async(e,t,n)=>{if(!e.startsWith(`dialog_`))return;let r=(0,o.r)(e);if(r&&(r.isOpened.value=!0,t!==void 0&&(r.pageActive.value=t),n!==void 0&&(r.pageActiveNext.value=n),await(0,l.nextTick)(),n)){let t=v(e);if(!t)return;t.querySelectorAll(`[data-view-page="${n}"]`).length||await(0,a.waitWhile)(()=>!t.querySelectorAll(`[data-view-page="${n}"]`).length)}},b=e=>{let t=e.querySelector(`.modal-body`);t&&((0,c.connectScrollShadow)(t),o.i.state.decoratorOnCreate?.(e),x(e))},x=e=>{$(e).on(`aftershow.top-menu-popup`,`[data-top-popup]`,(e,t)=>{let n=t[0];o.i.getPairPage(n)?.[1]?.prepend(n)})},S=async e=>{let t=e.dataset.viewPageActive,r=e.dataset.args?e.dataset.args?.split(`:`):[],i=window.innerWidth;n.O.state.documentClassModificators.set(`top-dialog`,`with_dialog`);let a=window.innerWidth-i;document.documentElement.scrollHeight>window.innerHeight&&(document.querySelector(`html`).style.marginRight=a+`px`),w(),(0,o.r)(e.getAttribute(`id`))?.emit?.(`open`,t,r)},C=async e=>{let t=e.getAttribute(`id`),i=e.dataset.viewPageActive;if(i){let e={vpn:o.i.state.viewPageN,[`view-`+t]:null};e[`view-`+t]=null,(o.i.state.viewPageN===0||o.i.state.viewPageN===1)&&(e.vpn=null),(0,s.setHashs)(e,!1)}(0,r.querySelectorAllArray)(document,`.ui-widget-overlay`).filter(e=>(0,r.isVisible)(e)).length||(n.O.state.documentClassModificators.delete(`top-dialog`),document.querySelector(`html`).style.marginRight=``),$(e).trigger(`viewAfterClose`,[$(e)]);let a=(0,o.r)(t);a&&(a.pageActive.value=``,a.isOpened.value=!1,a.emit?.(`close`,i),a.onCloseOnce&&=(a.onCloseOnce(a.props,i),void 0)),window.dispatchEvent(new Event(`resize`))},w=()=>{(0,r.querySelectorAllArray)(document,`.ui-dialog`).filter(e=>(0,r.isVisible)(e)&&e.querySelector(`:scope > .ui-dialog-content`)).map(e=>e.querySelector(`:scope > .ui-dialog-content`)).forEach(e=>{if(!e.querySelector(`.modal-body`))return;let t=e.closest(`.ui-dialog`),n=_(e);n.position??={of:window},$(e).dialog(`option`,n),t.classList.remove(`me-tightly`),(t.clientHeight??0)>window.innerHeight&&t.classList.add(`me-tightly`)})},T=async(e,t)=>{let n=/(\w+)[=-]([\w-]+)(?::([\w.:-]+))?/g.exec(e);if(n){let e=n[1],r=n[2],i=n[3],a=[];i&&(a=i.split(`:`)),await E(e,r,a,t)}},E=async(e,t,n,r,i)=>{m||await new Promise((e,t)=>{let n=setInterval(()=>{m&&(clearInterval(n),e())},10)}),await(0,l.nextTick)();let a;if(typeof e==`object`?(h(e)&&(e=e?.[0]),a=e):a=v(e),!a&&typeof e==`string`&&o.i.state.load&&(await o.i.state.load(e),a=v(e),!a))throw Error(`Dialog no exists: `+e);if(!a)return;await D(a,t,n,r);let s=$(a);if(a?.classList.contains(`ui-dialog-content`))s.dialog(`open`);else{let e=_(a);s.dialog(e)}i&&i(s)},D=async(e,t,n,o)=>{h(e)&&(e=e?.[0]),t===void 0&&(t=e.dataset.viewPageActive),n===void 0&&(n=e.dataset.args?.split(`:`)??[]),t!==e.dataset.viewPageActive&&N(e)&&await(0,a.sleep)(100),await y(e.getAttribute(`id`),void 0,t);let s=(0,r.querySelectorAllArray)(e,`.modal-layer`),c=s.reduce((e,t)=>{let n=t.querySelector(`:scope > .active`);return n&&e.push(n),e},[]),l=s.reduce((e,n)=>{let r=n.querySelector(`:scope > [data-view-page="${t}"]`);return r&&e.push(r),e},[]),u=n.join(`:`);if(o===void 0&&(o=`next`,(l[0]?.dataset.order??0)<(c[0]?.dataset.order??0)&&(o=`prev`)),!l.length)return;if(e.dataset.viewPageActive=t,e.dataset.args=n?.join(`:`)??``,l[0].classList.contains(`active`)){l[0].dataset.viewPageArgs!==u&&l.forEach(e=>{e.dataset.viewPageArgs=u}),A(e,l,t,n),j(e,l,t,n);return}l.forEach(e=>{e.dataset.viewPageArgs=u}),c.forEach(e=>{e.querySelector(`.top-popup-wrapper`)&&i.t.close(e.querySelector(`.top-popup-wrapper`))});let d=l[0].closest(`.ui-dialog`);switch(d&&!(0,r.isVisible)(d)&&(o=`none`),c.length||(o=`none`),(0,r.isVisible)(l[0])&&(o=`none`),o){case`prev`:l.forEach(e=>{let t=e.parentNode?.querySelector(`:scope > .active`);t&&e.parentNode?.insertBefore(e,t)}),c.forEach(e=>{e.classList.add(`right-to-center`,`reverse`)}),l.forEach(e=>{e.classList.add(`center-to-left`,`reverse`)});break;case`next`:l.forEach(e=>{let t=e.parentNode?.querySelector(`:scope > .active`);t&&e.parentNode?.insertBefore(e,t.nextSibling)}),c.forEach(e=>{e?.classList.add(`center-to-left`)}),l.forEach(e=>{e.classList.add(`right-to-center`)});break}if(e.setAttribute(`view-page-active`,t),c.forEach(e=>{e.classList.remove(`active`)}),l.forEach(e=>{e.classList.add(`active`)}),A(e,l,t,n),o){e.classList.add(`i-change-page`);let r=Number(window.getComputedStyle(l[0]).animationDuration.replace(`s`,``))*1e3;p=setTimeout(function(){y(e.getAttribute(`id`),t,``),N(e),j(e,l,t,n)},r)}else await y(e.getAttribute(`id`),t,``),j(e,l,t,n)},O=e=>{let t=(0,r.querySelectorAllArray)(e,`.modal-layer`).reduce((e,t)=>{let n=t.querySelector(`:scope > .active`);return n&&e.push(n),e},[]).reduce((e,t)=>{let n=t.previousElementSibling;for(;n&&!n.hasAttribute(`data-view-page`);)n=n.previousElementSibling;return n&&e.push(n),e},[])[0]?.dataset.viewPage;t?D(e,t,void 0,`prev`):$(e).dialog(`close`)},k=new Set,A=(e,t,n,r)=>{let i=e.getAttribute(`id`)+t[0].dataset.viewPage+n+r.join();k.has(i)||(k.add(i),setTimeout(function(){k.delete(i),$(e).trigger(`viewBeforeOpen`,[$(e),$(t),n,r])}))},j=(e,t,n,r)=>{setTimeout(function(){$(e).trigger(`viewAfterOpen`,[$(e),$(t),n,r])})},M=e=>(h(e)&&(e=e?.[0]),e.classList.contains(`i-change-page`)),N=e=>{if(!M(e))return!1;clearTimeout(p);let t=(0,r.querySelectorAllArray)(e,`.modal-layer`),n=e.dataset.viewPageActive;return e.classList.remove(`i-change-page`),t.forEach(e=>{e.querySelectorAll(`:scope > [data-view-page]`).forEach(e=>{e.classList.remove(`center-to-left`,`right-to-center`,`reverse`,`active`)})}),t.forEach(e=>{e.querySelector(`:scope > [data-view-page="${n}"]`)?.classList.add(`active`)}),!0},P={getElDialogById:v,updatePageVue:y,recalcPositions:w,toViewDirty:T,toView:E,toViewPage:D,toPrevPage:O,setLoading:(e,t,n)=>{h(e)&&(e=e.toArray());let i=e.reduce((e,t)=>(t.hasAttribute(`data-view-page`)&&(0,r.isVisible)(t)&&e.push(t),e),[]);t?(n!==void 0&&i.forEach(e=>{e.style.setProperty(`--dialog-loading-duration`,n+`s`)}),i.forEach(e=>{e.classList.add(`i-load-data`)})):(i.forEach(e=>{e.classList.remove(`i-load-data`)}),i.forEach(e=>{e.style.setProperty(`--dialog-loading-duration`,`10s`)}))},isLoading:e=>(h(e)&&(e=e?.[0]),e.classList.contains(`i-load-data`)),inAnimation:M,close:function(e){let t=v(e);if(!t)return;let n=$(t);n.dialog(`instance`)&&n.dialog(`close`)}};t.TopDialogUtils=P,g()});
|
|
2
|
-
//# sourceMappingURL=utils-
|
|
1
|
+
define([`require`,`exports`,`./forms-CZB2EgYU.amd`,`../utils/dom.amd`,`./worker-DpFg3xR3.amd`,`../utils/system.amd`,`./dialogs-CrQruKtB.amd`,`../utils/route.amd`,`../utils/scroll.amd`,`vue`,`../popup/worker.amd`],function(e,t,n,r,i,a,o,s,c,l){"use strict";if(u===void 0)var u=window.Vue;Object.defineProperty(t,`__esModule`,{value:!0}),t.TopDialogUtils=void 0,$;var d=!1,f=()=>{d||(d=!0,document.addEventListener(`keydown`,e=>{if(e.key!==`Escape`||!e.target||!(e.target instanceof HTMLElement))return;let t=e.target;if(!t.closest(`.ui-dialog`)||t.contentEditable===`true`||t.contentEditable===`plaintext-only`||(0,r.querySelectorVisible)(document.documentElement,`.top-popup-wrapper`)||t.classList.contains(`autocomplete`)||(0,r.querySelectorVisible)(document.documentElement,`.fancybox-container`))return;let n=(0,r.querySelectorAllArray)(document,`.ui-dialog-content`).filter(e=>(0,r.isVisible)(e));$(n[n.length-1]).dialog(`close`)}),document.addEventListener(`click`,e=>{if(!(e.target instanceof HTMLElement))return;let t=e.target.closest(`[data-action="top-dialog-close"]`);if(!t)return;e.preventDefault();let n=t.closest(`.ui-dialog-content`);if(!n)return;let i=t.dataset.toView;if(i==`toPrevPage()`){P.toPrevPage(n);return}if(i){let e=i.split(`-`),t=e.shift(),n=e.join(`-`);if(!t)return;let a=P.getElDialogById(t);if(!a)return;let c=(0,r.querySelectorAllArray)(a,`[data-view-page="${n}"]`);if(!c)return;if(!(0,r.isVisible)(c[0])){(0,s.historySetState)(!1,o.i.genViewPageHash(i,`prev`));return}}$(n).dialog(`close`)}),document.addEventListener(`submit`,e=>{let t=e.target;(t.matches(`.modal-body > form`)||t.matches(`.modal-layer-body > form`))&&e.preventDefault()}),document.addEventListener(`keypress`,e=>{if(!(e.target instanceof HTMLElement))return;let t=e.target;if(t.closest(`.ui-dialog .modal-body`)&&(t.matches(`input:not(.searcher), textarea:not(.searcher), select:not(.searcher), button:not(.searcher)`)||t.hasAttribute(`contenteditable`))&&e.key===`Enter`){if(t.classList.contains(`autocomplete`)){e.preventDefault();return}if(t.tagName===`TEXTAREA`){if(!e.ctrlKey&&!e.metaKey)return;let n=t.closest(`form`);n&&(0,r.querySelectorAllArray)(n,`button[type="submit"]`).concat((0,r.querySelectorAllArray)(n,`input[type="submit"]`)).find(e=>(0,r.isVisible)(e))?.click()}}}),document.addEventListener(`click`,function(e){if(!(e.target instanceof HTMLElement)||!e.target.classList.contains(`ui-widget-overlay`))return;let t,n=0;if((0,r.querySelectorAllArray)(document,`.ui-dialog`).filter(e=>(0,r.isVisible)(e)).forEach(e=>{let r=Number(window.getComputedStyle(e).zIndex);r<n||(t=e,n=r)}),t){let e=t.querySelector(`.ui-dialog-content`);$(e).dialog(`close`)}}),window.addEventListener(`resize`,P.recalcPositions),P.recalcPositions())};n.O.insertStyleToPage(`:root{--dialog-border-color:var(--color-line-1);--dialog-loading-duration:10s;--top-dialog-footer-height:var(--top-forms-base-height_s)}html.with_dialog{overflow:hidden!important}a[data-to-view]{cursor:pointer}.ui-widget-overlay{opacity:.5;filter:Alpha(Opacity=50);background:#040404}.ui-dialog{border:none;border-radius:8px;padding:0}.ui-dialog.ui-widget{border:none}.ui-dialog-titlebar{display:none}.ui-dialog .ui-dialog-content{padding:0;overflow:visible}.ui-dialog .project_name{word-break:break-all}.ui-dialog-content{--dialog-header-height:50px;--dialog-layer-pageSelector:0px}.ui-dialog-content-withPageSelector{--dialog-layer-pageSelector:42px}.modal-header,.modal-body,.modal-footer{font-size:14px;position:relative}.modal-body{padding:var(--padding-default)}.modal-body:has(>.topTable:first-child){padding-top:calc(var(--padding-default) / 4)}.modal-header{border-bottom:1px solid var(--dialog-border-color);height:var(--dialog-header-height);padding:0 var(--padding-default);justify-content:space-between;align-items:center;gap:var(--top-padding-2);display:flex}.modal-header>*{padding:10px 0;font-size:16px}.modal-header>.top-title{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;order:50;align-items:center;margin:0;font-weight:400;display:flex;overflow:hidden}.modal-header>.top-title>div[class*=icon]{display:none}.modal-header>div:not(.top-title){order:60}.modal-header>div.close{--top-icon-color:var(--color-text-2);cursor:pointer;background:var(--color-layout-front-1);order:100;font-size:16px;animation-name:none!important}.modal-header>div.close:hover{--top-icon-color:var(--color-text-1)}.modal-header .links_icons{position:absolute;right:50px}.modal-header .links_icons [class*=icon-]{color:#d6dee0;width:auto;height:auto;padding:0 5px}.modal-header .links_icons [class*=icon-].active{color:var(--color-bg-warning-1)}.modal-layer-pageSelector{padding:0 10px!important}.modal-body{max-height:calc(var(--100vh) - var(--dialog-header-height) - 1px - var(--dialog-layer-pageSelector) - var(--top-dialog-footer-height) - 1px);box-sizing:border-box;flex-grow:1;overflow:hidden auto}.modal-body hr{margin:16px -15px}.modal-body h4{margin:0 0 10px;padding:0;line-height:normal}.modal-body .inner{padding:var(--padding-default);margin:0 calc(0px - var(--padding-default));position:relative}.modal-body .inner .bt{border-top:1px dashed var(--color-layout-front-primary-3);position:absolute;top:0;left:0;right:0}.modal-body .inner .bb{border-bottom:1px dashed var(--color-layout-front-primary-3);position:absolute;bottom:0;left:0;right:0}.modal-body .inner.color-1{background:var(--color-layout-front-primary-3);color:var(--color-text-1)}.modal-body .inner strong{color:var(--color-text-1)}.modal-body .comment{line-height:18px}.modal-footer{min-height:var(--top-dialog-footer-height);padding:var(--top-gap-2);justify-content:flex-end;align-items:center;gap:var(--top-gap-2);flex-shrink:0;display:flex}.modal-footer .modal-footer-btn-left{margin-right:auto}.modal-footer>.btn.full_width,.modal-footer>.top-button.full_width{flex-grow:1;align-self:flex-end}.modal-footer-fullWith{flex-wrap:wrap}.modal-footer-fullWith>*{flex-grow:1}.modal-footer-fullWith>.top-info{flex-grow:5}.modal-footer-fullWith>:empty{flex-grow:0}.ui-dialog-content>.modal-layer>[data-view-page]>input[type=submit]{visibility:hidden;position:absolute}.help_popup .modal-header{display:none}.help_popup .modal-header a{z-index:10;top:2px}.help_popup .modal-header .top-title{display:none}.modal-layer{overflow:hidden}.modal-layer a[data-top-icon]:empty{color:var(--color-text-4);text-decoration:none}.modal-layer>[data-view-page]>div>div.buttons{white-space:nowrap;gap:var(--top-padding-1);display:flex}.modal-layer>[data-view-page]>div>div.buttons:empty{display:none}.modal-layer>[data-view-page]>div>div.buttons>div,.modal-layer>[data-view-page]>div>div.buttons>a{cursor:pointer;width:auto;min-width:auto;height:auto;min-height:auto;color:var(--color-text-4);padding:10px 9px}.modal-layer>[data-view-page]>div>div.buttons>div:hover{color:var(--color-text-2)}.modal-layer>[data-view-page]>div>div.buttons>div.hidden{display:none!important}.ui-dialog-content[data-view-page-active]{flex-direction:column;justify-items:stretch;display:flex!important}.ui-dialog-content>.modal-layer{align-items:stretch;position:relative;display:flex!important}.ui-dialog-content.i-change-page>.modal-layer{overflow:hidden}.ui-dialog-content>.modal-layer>[data-view-page]{flex-direction:column;justify-content:space-between;width:100%;animation:none;display:none;position:relative}.ui-dialog-content>.modal-layer>[data-view-page].active{display:flex}.ui-dialog-content>.modal-layer>[data-view-page].reverse{animation-direction:reverse}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center{display:flex;position:absolute;inset:0}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left>div,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center>div{overflow:hidden}.ui-dialog-content>.modal-layer-header{border-bottom:1px solid var(--dialog-border-color);min-height:var(--dialog-header-height)}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header{background:0 0;border:none}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header>*{animation:none}.ui-dialog-content>.modal-layer-header>[data-view-page].reverse>.modal-header>*{animation-direction:reverse}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>.top-title{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>.top-title{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>[class*=widget-]{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>[class*=widget-]{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>div{animation-name:dialog-center-to-left-header-icons}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>div{animation-name:dialog-right-to-center-header-icons}.ui-dialog-content>.modal-layer-body{max-height:calc(var(--100vh) - var(--dialog-header-height) - var(--dialog-layer-pageSelector) - var(--toolbar-height));border-radius:0 0 8px 8px;flex-grow:2}.ui-dialog-content.i-change-page>.modal-layer-body>[data-view-page]{background:var(--color-layout-front-1)}.ui-dialog-content>.modal-layer-body>[data-view-page].center-to-left{animation-name:dialog-center-to-left}.ui-dialog-content>.modal-layer-body>[data-view-page].right-to-center{animation-name:dialog-right-to-center}.ui-dialog-content .modal-footer .second_level{box-sizing:border-box;background:var(--color-layout-front-1);justify-content:center;align-items:center;width:100%;min-height:25px;display:flex}.ui-dialog-content .modal-footer .second_level input{width:100%;height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-3);box-sizing:border-box;border-radius:8px}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data{pointer-events:none}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data:before{content:" ";z-index:100;width:0;height:4px;animation:top-loadbar var(--dialog-loading-duration) forwards;background:#378dc6;position:absolute;top:0;left:0}.ui-dialog-content.modal-expanded{width:100vw!important;height:calc(var(--100vh) + 10px)!important}.modal-header>[data-widget]{opacity:0;visibility:hidden;z-index:1;align-items:center;padding:0 8px;transition:opacity .3s;position:absolute;inset:0;overflow:hidden}.modal-header>[data-widget=search] div.cancel{opacity:0;transition:transform .3s,opacity .3s;transform:translate(100%)}[data-view-page].i-show-search .modal-header>:not([data-widget=search]){visibility:hidden}[data-view-page].i-show-search [data-widget=search]{visibility:visible;opacity:1}[data-view-page].i-show-search [data-widget=search] .cancel{opacity:1;transform:translate(0)}[data-view-page]>.modal-header>*{transition:opacity .3s}[data-view-page].i-show-search>.modal-header>div.buttons{opacity:0}.modal-layer .top-popup-wrapper{height:100%!important}@keyframes dialog-center-to-left-header-title{0%{opacity:1;transform:translate(0)}75%{opacity:0}to{opacity:0;transform:translate(-30%)}}@keyframes dialog-right-to-center-header-title{0%{opacity:0;transform:translate(100%)}25%{opacity:0}to{opacity:1;transform:translate(0)}}@keyframes dialog-center-to-left-header-icons{0%{opacity:1;transform:translate(0)}35%{opacity:0;transform:translate(-20%)}to{opacity:0;transform:translate(-20%)}}@keyframes dialog-right-to-center-header-icons{0%{opacity:0;transform:translate(20%)}65%{opacity:0;transform:translate(20%)}to{opacity:1;transform:translate(0)}}@keyframes dialog-center-to-left{0%{filter:brightness();transform:translate(0)}to{filter:brightness(.9);transform:translate(-30%)}}@keyframes dialog-right-to-center{0%{transform:translate(100%);box-shadow:0 0 10px #0000001a}to{transform:translate(0);box-shadow:0 0 10px #0003}}@media only screen and (max-width:1480px){.win_side_panel_opener{display:none}}@media only screen and (min-width:1480px){.ui-dialog-content.with_side_panel{box-shadow:0 0 6px #0003}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width:calc((100vw - 900px) / 2 - 28px);box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);top:calc(var(--dialog-header-height) + 1px + var(--dialog-layer-pageSelector));bottom:calc(var(--top-dialog-footer-height) + 1px);z-index:-1;padding:18px;transition:all .2s;display:block;position:absolute}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}@media only screen and (max-height:900px){html.with_dialog{background:#f1f1f1;overflow:hidden}.ui-dialog.me-tightly{border-radius:0;position:fixed;height:auto!important;top:0!important;bottom:0!important}.ui-dialog.me-tightly .ui-dialog-content{min-height:100%!important}.ui-dialog.me-tightly>div>.modal-body{top:var(--dialog-header-height);left:0;right:0;bottom:var(--dialog-header-height);position:absolute}.ui-dialog.me-tightly>div>.modal-body:last-child{bottom:0}.ui-dialog.me-tightly>div>.modal-footer{position:absolute;bottom:0;left:0;right:0}.ui-dialog.me-tightly .modal-layer-body{border-radius:0;min-height:0!important}.ui-dialog.me-tightly .modal-layer-body .modal-footer{min-height:unset}}`),n.O.insertStyleToPage(`html.with_dialog body{height:var(--100vh);overflow:hidden}.ui-widget-overlay{height:calc(100% - var(--toolbar-height))}.ui-dialog{border-radius:0;position:fixed;width:auto!important;height:auto!important;inset:0!important}.ui-dialog-content{width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important}.modal-header>.top-title{text-align:center;font-size:14px}.modal-header>div.close{order:1;font-size:14px}.modal-header>div.close:before{content:""}.modal-body:last-child,.modal-footer{bottom:0}.modal-footer .second_level{padding:10px 8px}.modal-layer-body{min-height:0!important}.ui-dialog-content>.modal-layer-body{border-radius:0}.modal-body,.modal-footer{padding-left:12px;padding-right:12px}.modal-footer .btn:last-child{margin-right:12px}.modal-body .inner{margin:0 -12px;padding:12px;position:relative}`,`m`),n.O.insertStyleToPage(`.modal-menu-opener{order:1!important}.modal-menu-opener:before{--top-icon-size:20px;--top-icon-color:#fff;--top-icon-width:var(--top-icon-size);background:var(--color-bg-primary-1);border-radius:50%;padding:3px;transition:transform .1s}.modal-menu-opener:hover:before{background:var(--color-bg-primary-2)}.modal-menu-opener.top-active:before{background:var(--color-bg-primary-2);transform:scale(.8)}.modal-layer .top-popup-wrapper{background:0 0;transition:background .3s;width:auto!important;margin:0!important;padding:0!important;top:0!important;left:0!important;right:0!important}.modal-layer .top-popup-wrapper>.top-popup[class],.modal-layer .top-popup-wrapper.with_notch>.top-popup[class]{opacity:1;border:none;border-radius:8px;flex-direction:column;max-width:100%;max-height:calc(100% - 24px);transition:transform .3s;display:flex;overflow:auto;transform:translateY(calc(-100% - 24px));margin:12px!important;inset:0 0 auto!important}.modal-layer .top-popup>.top-popup_header{background:var(--color-theme-50)}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select{border:none}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .text{color:#fff}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .arrow{background:0 0}.modal-layer .top-popup-wrapper-shown:not(.top-popup-wrapper-closed){pointer-events:auto;background:#34495e40}@media only screen and (min-width:1480px){.ui-dialog-content.with_side_panel{box-shadow:0 0 6px #0003}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width:calc((100vw - 900px) / 2 - 28px);box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);z-index:-1;padding:18px;transition:all .2s;display:block;position:absolute;top:51px;bottom:51px}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}`,`pc`),n.O.insertStyleToPage(`html{--top-dialog-width:auto;--top-dialog-height:auto}.top-dialog{max-width:100vw}.top-dialog .modal-layer-body{height:var(--top-dialog-height)}`),n.O.insertStyleToPage(`.top-dialog{width:var(--top-dialog-width)!important}`,`pc`);var p,m=!1,h=e=>!!e&&typeof e==`object`&&`jquery`in e,g=()=>{$.extend($.ui.dialog.prototype.options,{focus:e=>{e.target.focus(),$(`[autofocus]`,e.target)[0]?.focus()},create:e=>b(e.target),open:e=>S(e.target),close:e=>C(e.target),modal:!0,resizable:!1,closeOnEscape:!1,width:`auto`,minHeight:0}),$.ui.dialog.prototype._focusTabbable=$.noop,$.ui.dialog.prototype._moveToTopOriginal=$.ui.dialog.prototype._moveToTop,$.ui.dialog.prototype._moveToTop=function(){this._moveToTopOriginal();let e=$(this.element);e.trigger(`dialogsMoveToTop`,[e])},f(),m=!0},_=e=>{let t={};return e.dataset?.modal===`false`&&(t.modal=!1),e.dataset?.position&&(t.position=JSON.parse(e.dataset.position)),t},v=e=>document.getElementById(e),y=async(e,t,n)=>{if(!e.startsWith(`dialog_`))return;let r=(0,o.r)(e);if(r&&(r.isOpened.value=!0,t!==void 0&&(r.pageActive.value=t),n!==void 0&&(r.pageActiveNext.value=n),await(0,l.nextTick)(),n)){let t=v(e);if(!t)return;t.querySelectorAll(`[data-view-page="${n}"]`).length||await(0,a.waitWhile)(()=>!t.querySelectorAll(`[data-view-page="${n}"]`).length)}},b=e=>{let t=e.querySelector(`.modal-body`);t&&((0,c.connectScrollShadow)(t),o.i.state.decoratorOnCreate?.(e),x(e))},x=e=>{$(e).on(`aftershow.top-menu-popup`,`[data-top-popup]`,(e,t)=>{let n=t[0];o.i.getPairPage(n)?.[1]?.prepend(n)})},S=async e=>{let t=e.dataset.viewPageActive,r=e.dataset.args?e.dataset.args?.split(`:`):[],i=window.innerWidth;n.O.state.documentClassModificators.set(`top-dialog`,`with_dialog`);let a=window.innerWidth-i;document.documentElement.scrollHeight>window.innerHeight&&(document.querySelector(`html`).style.marginRight=a+`px`),w(),(0,o.r)(e.getAttribute(`id`))?.emit?.(`open`,t,r)},C=async e=>{let t=e.getAttribute(`id`),i=e.dataset.viewPageActive;if(i){let e={vpn:o.i.state.viewPageN,[`view-`+t]:null};e[`view-`+t]=null,(o.i.state.viewPageN===0||o.i.state.viewPageN===1)&&(e.vpn=null),(0,s.setHashs)(e,!1)}(0,r.querySelectorAllArray)(document,`.ui-widget-overlay`).filter(e=>(0,r.isVisible)(e)).length||(n.O.state.documentClassModificators.delete(`top-dialog`),document.querySelector(`html`).style.marginRight=``),$(e).trigger(`viewAfterClose`,[$(e)]);let a=(0,o.r)(t);a&&(a.pageActive.value=``,a.isOpened.value=!1,a.emit?.(`close`,i),a.onCloseOnce&&=(a.onCloseOnce(a.props,i),void 0)),window.dispatchEvent(new Event(`resize`))},w=()=>{(0,r.querySelectorAllArray)(document,`.ui-dialog`).filter(e=>(0,r.isVisible)(e)&&e.querySelector(`:scope > .ui-dialog-content`)).map(e=>e.querySelector(`:scope > .ui-dialog-content`)).forEach(e=>{if(!e.querySelector(`.modal-body`))return;let t=e.closest(`.ui-dialog`),n=_(e);n.position??={of:window},$(e).dialog(`option`,n),t.classList.remove(`me-tightly`),(t.clientHeight??0)>window.innerHeight&&t.classList.add(`me-tightly`)})},T=async(e,t)=>{let n=/(\w+)[=-]([\w-]+)(?::([\w.:-]+))?/g.exec(e);if(n){let e=n[1],r=n[2],i=n[3],a=[];i&&(a=i.split(`:`)),await E(e,r,a,t)}},E=async(e,t,n,r,i)=>{m||await new Promise((e,t)=>{let n=setInterval(()=>{m&&(clearInterval(n),e())},10)}),await(0,l.nextTick)();let a;if(typeof e==`object`?(h(e)&&(e=e?.[0]),a=e):a=v(e),!a&&typeof e==`string`&&o.i.state.load&&(await o.i.state.load(e),a=v(e),!a))throw Error(`Dialog no exists: `+e);if(!a)return;await D(a,t,n,r);let s=$(a);if(a?.classList.contains(`ui-dialog-content`))s.dialog(`open`);else{let e=_(a);s.dialog(e)}i&&i(s)},D=async(e,t,n,o)=>{h(e)&&(e=e?.[0]),t===void 0&&(t=e.dataset.viewPageActive),n===void 0&&(n=e.dataset.args?.split(`:`)??[]),t!==e.dataset.viewPageActive&&N(e)&&await(0,a.sleep)(100),await y(e.getAttribute(`id`),void 0,t);let s=(0,r.querySelectorAllArray)(e,`.modal-layer`),c=s.reduce((e,t)=>{let n=t.querySelector(`:scope > .active`);return n&&e.push(n),e},[]),l=s.reduce((e,n)=>{let r=n.querySelector(`:scope > [data-view-page="${t}"]`);return r&&e.push(r),e},[]),u=n.join(`:`);if(o===void 0&&(o=`next`,(l[0]?.dataset.order??0)<(c[0]?.dataset.order??0)&&(o=`prev`)),!l.length)return;if(e.dataset.viewPageActive=t,e.dataset.args=n?.join(`:`)??``,l[0].classList.contains(`active`)){l[0].dataset.viewPageArgs!==u&&l.forEach(e=>{e.dataset.viewPageArgs=u}),A(e,l,t,n),j(e,l,t,n);return}l.forEach(e=>{e.dataset.viewPageArgs=u}),c.forEach(e=>{e.querySelector(`.top-popup-wrapper`)&&i.t.close(e.querySelector(`.top-popup-wrapper`))});let d=l[0].closest(`.ui-dialog`);switch(d&&!(0,r.isVisible)(d)&&(o=`none`),c.length||(o=`none`),(0,r.isVisible)(l[0])&&(o=`none`),o){case`prev`:l.forEach(e=>{let t=e.parentNode?.querySelector(`:scope > .active`);t&&e.parentNode?.insertBefore(e,t)}),c.forEach(e=>{e.classList.add(`right-to-center`,`reverse`)}),l.forEach(e=>{e.classList.add(`center-to-left`,`reverse`)});break;case`next`:l.forEach(e=>{let t=e.parentNode?.querySelector(`:scope > .active`);t&&e.parentNode?.insertBefore(e,t.nextSibling)}),c.forEach(e=>{e?.classList.add(`center-to-left`)}),l.forEach(e=>{e.classList.add(`right-to-center`)});break}if(e.setAttribute(`view-page-active`,t),c.forEach(e=>{e.classList.remove(`active`)}),l.forEach(e=>{e.classList.add(`active`)}),A(e,l,t,n),o){e.classList.add(`i-change-page`);let r=Number(window.getComputedStyle(l[0]).animationDuration.replace(`s`,``))*1e3;p=setTimeout(function(){y(e.getAttribute(`id`),t,``),N(e),j(e,l,t,n)},r)}else await y(e.getAttribute(`id`),t,``),j(e,l,t,n)},O=e=>{let t=(0,r.querySelectorAllArray)(e,`.modal-layer`).reduce((e,t)=>{let n=t.querySelector(`:scope > .active`);return n&&e.push(n),e},[]).reduce((e,t)=>{let n=t.previousElementSibling;for(;n&&!n.hasAttribute(`data-view-page`);)n=n.previousElementSibling;return n&&e.push(n),e},[])[0]?.dataset.viewPage;t?D(e,t,void 0,`prev`):$(e).dialog(`close`)},k=new Set,A=(e,t,n,r)=>{let i=e.getAttribute(`id`)+t[0].dataset.viewPage+n+r.join();k.has(i)||(k.add(i),setTimeout(function(){k.delete(i),$(e).trigger(`viewBeforeOpen`,[$(e),$(t),n,r])}))},j=(e,t,n,r)=>{setTimeout(function(){$(e).trigger(`viewAfterOpen`,[$(e),$(t),n,r])})},M=e=>(h(e)&&(e=e?.[0]),e.classList.contains(`i-change-page`)),N=e=>{if(!M(e))return!1;clearTimeout(p);let t=(0,r.querySelectorAllArray)(e,`.modal-layer`),n=e.dataset.viewPageActive;return e.classList.remove(`i-change-page`),t.forEach(e=>{e.querySelectorAll(`:scope > [data-view-page]`).forEach(e=>{e.classList.remove(`center-to-left`,`right-to-center`,`reverse`,`active`)})}),t.forEach(e=>{e.querySelector(`:scope > [data-view-page="${n}"]`)?.classList.add(`active`)}),!0},P={getElDialogById:v,updatePageVue:y,recalcPositions:w,toViewDirty:T,toView:E,toViewPage:D,toPrevPage:O,setLoading:(e,t,n)=>{h(e)&&(e=e.toArray());let i=e.reduce((e,t)=>(t.hasAttribute(`data-view-page`)&&(0,r.isVisible)(t)&&e.push(t),e),[]);t?(n!==void 0&&i.forEach(e=>{e.style.setProperty(`--dialog-loading-duration`,n+`s`)}),i.forEach(e=>{e.classList.add(`i-load-data`)})):(i.forEach(e=>{e.classList.remove(`i-load-data`)}),i.forEach(e=>{e.style.setProperty(`--dialog-loading-duration`,`10s`)}))},isLoading:e=>(h(e)&&(e=e?.[0]),e.classList.contains(`i-load-data`)),inAnimation:M,close:function(e){let t=v(e);if(!t)return;let n=$(t);n.dialog(`instance`)&&n.dialog(`close`)}};t.TopDialogUtils=P,g()});
|
|
2
|
+
//# sourceMappingURL=utils-BJYweugT.amd.js.map
|