@topvisor/ui 0.9.7 → 0.9.8
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/datepicker-7w3ISMUW.amd.js +234 -0
- package/.chunks/datepicker-7w3ISMUW.amd.js.map +1 -0
- package/.chunks/datepicker-KB2i-H67.es.js +275 -0
- package/.chunks/datepicker-KB2i-H67.es.js.map +1 -0
- package/.chunks/forms-AZXCfF-R.amd.js +3 -0
- package/.chunks/forms-AZXCfF-R.amd.js.map +1 -0
- package/.chunks/{forms-dneLtREE.es.js → forms-iL1swNCF.es.js} +367 -369
- package/.chunks/forms-iL1swNCF.es.js.map +1 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-Mk92KW3C.es.js +154 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-Mk92KW3C.es.js.map +1 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-cBt2MlyL.amd.js +2 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-cBt2MlyL.amd.js.map +1 -0
- package/.chunks/{popup-2azH2gGP.amd.js → popup-8sqqRRR_.amd.js} +384 -378
- package/.chunks/popup-8sqqRRR_.amd.js.map +1 -0
- package/.chunks/{popup-GFcVEZf5.es.js → popup-gLJT9tg6.es.js} +429 -423
- package/.chunks/popup-gLJT9tg6.es.js.map +1 -0
- package/README.md +80 -80
- package/assets/forms.css +1 -1
- package/assets/tabsView.css +1 -1
- package/core/core.amd.js +1 -1
- package/core/core.js +1 -1
- package/forms/forms.amd.js +1 -1
- package/forms/forms.js +1 -1
- package/forms/helpers.amd.js.map +1 -1
- package/forms/helpers.js.map +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +1 -1
- package/formsExt/formsExt.js.map +1 -1
- package/icomoon/demo-files/demo.css +161 -161
- package/icomoon/demo-files/demo.js +30 -30
- package/icomoon/demo.html +2945 -2945
- package/icomoon/fonts/Topvisor-2.svg +232 -232
- package/icomoon/style.css +647 -647
- package/package.json +19 -19
- package/popup/popup.amd.js +1 -1
- package/popup/popup.js +2 -2
- package/popup/worker.amd.js +1 -1
- package/popup/worker.amd.js.map +1 -1
- package/popup/worker.js +2 -2
- package/popup/worker.js.map +1 -1
- package/require/css.amd.js +11 -11
- package/src/components/forms/checkbox/checkbox.d.ts +1 -4
- package/src/components/forms/checkbox/checkbox.stories.d.ts +8 -32
- package/src/components/forms/checkbox/checkbox.vue.d.ts +41 -15
- package/src/components/popup/popup/popup.stories.d.ts +79 -0
- package/src/components/popup/popup/popup.vue.d.ts +1 -0
- package/src/components/tabsView/tabsView/_MenuItem.stories.d.ts +132 -31
- package/src/components/tabsView/tabsView/_MenuTitle.stories.d.ts +19 -1
- package/src/components/tabsView/tabsView/menuItem.vue.d.ts +18 -1
- package/src/components/tabsView/tabsView/tabsView.d.ts +48 -23
- package/src/components/tabsView/tabsView/tabsView.stories.d.ts +95 -54
- package/src/components/tabsView/tabsView/tabsView.vue.d.ts +3 -1
- package/src/components/tabsView/tabsView.d.ts +0 -1
- package/tabs/tabs.amd.js +1 -1
- package/tabs/tabs.js +1 -1
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.js +145 -122
- package/tabsView/tabsView.js.map +1 -1
- package/utils/css.amd.js.map +1 -1
- package/utils/css.js.map +1 -1
- package/utils/date.amd.js +1 -1
- package/utils/date.js +1 -1
- package/utils/device.amd.js +1 -1
- package/utils/device.js +1 -1
- package/utils/dom.amd.js.map +1 -1
- package/utils/dom.js.map +1 -1
- package/.chunks/datepicker-0tFN0clU.amd.js +0 -234
- package/.chunks/datepicker-0tFN0clU.amd.js.map +0 -1
- package/.chunks/datepicker-8geHBNBn.es.js +0 -275
- package/.chunks/datepicker-8geHBNBn.es.js.map +0 -1
- package/.chunks/forms-dneLtREE.es.js.map +0 -1
- package/.chunks/forms-hIalWiGK.amd.js +0 -3
- package/.chunks/forms-hIalWiGK.amd.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-bLJ0dcPn.amd.js +0 -2
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-bLJ0dcPn.amd.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-qWOlkuQ3.es.js +0 -148
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-qWOlkuQ3.es.js.map +0 -1
- package/.chunks/popup-2azH2gGP.amd.js.map +0 -1
- package/.chunks/popup-GFcVEZf5.es.js.map +0 -1
- package/src/components/tabsView/tabsView/content.vue.d.ts +0 -19
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@topvisor/ui",
|
|
3
|
-
"private": false,
|
|
4
|
-
"version": "0.9.
|
|
5
|
-
"type": "module",
|
|
6
|
-
"description": "Topvisor UI-kit Vue",
|
|
7
|
-
"author": "Topvisor",
|
|
8
|
-
"keywords": [
|
|
9
|
-
"topvisor",
|
|
10
|
-
"vue",
|
|
11
|
-
"ui framework",
|
|
12
|
-
"component framework",
|
|
13
|
-
"component library"
|
|
14
|
-
],
|
|
15
|
-
"license": "MIT",
|
|
16
|
-
"peerDependencies": {
|
|
17
|
-
"vue": "^3.4.
|
|
18
|
-
}
|
|
19
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@topvisor/ui",
|
|
3
|
+
"private": false,
|
|
4
|
+
"version": "0.9.8",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"description": "Topvisor UI-kit Vue",
|
|
7
|
+
"author": "Topvisor",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"topvisor",
|
|
10
|
+
"vue",
|
|
11
|
+
"ui framework",
|
|
12
|
+
"component framework",
|
|
13
|
+
"component library"
|
|
14
|
+
],
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"peerDependencies": {
|
|
17
|
+
"vue": "^3.4.7"
|
|
18
|
+
}
|
|
19
|
+
}
|
package/popup/popup.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/listItem.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
define(["require","exports","../.chunks/listItem.vue_vue_type_script_setup_true_lang-cBt2MlyL.amd","vue","../.chunks/forms-AZXCfF-R.amd","./worker.amd","../utils/dom.amd"],function(i,e,o,u,n,d,m){"use strict";if(typeof u>"u")var u=window.Vue;e.Popup=o._sfc_main,e.PopupListItem=o._sfc_main$2,e.PopupOpener=o._sfc_main$1,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=popup.amd.js.map
|
package/popup/popup.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { _ as a, b as e, a as s } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import { _ as a, b as e, a as s } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-Mk92KW3C.es.js";
|
|
2
2
|
import "vue";
|
|
3
|
-
import "../.chunks/forms-
|
|
3
|
+
import "../.chunks/forms-iL1swNCF.es.js";
|
|
4
4
|
import "./worker.js";
|
|
5
5
|
import "../utils/dom.js";
|
|
6
6
|
export {
|
package/popup/worker.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/forms-
|
|
1
|
+
define(["require","exports","../.chunks/forms-AZXCfF-R.amd","../utils/dom.amd","vue"],function(require,exports,forms,utils_dom,vue){"use strict";if(typeof vue>"u")var vue=window.Vue;class WorkerEvents{static init(){document.addEventListener("mouseover",t=>{var o;(o=t.target.dataset)!=null&&o.topPopupOpenByHover&&t.target.click()}),document.addEventListener("scroll",()=>{forms.Core.isMobile||Worker$1.getAll().forEach(t=>Worker$1.close(t))}),forms.Events.addOnReize(t=>{forms.Core.state.isMobile&&t.topEvent.widthDiff&&Worker$1.getAll().forEach(o=>Worker$1.close(o))}),document.addEventListener("click",this.onclick)}static async onclick(t){var s,r,a,p;let o;switch(!0){case!!((s=t.target.dataset)!=null&&s.topPopup):o=t.target;break;case!!((r=t.target.parentElement)!=null&&r.dataset.topPopup):o=t.target.parentElement;break;case!!((p=(a=t.target.parentElement)==null?void 0:a.parentElement)!=null&&p.dataset.topPopup):o=t.target.parentElement.parentElement;break}o&&(o.dataset.topPopupDisabled||o.dataset.topPopupOpened||(t.preventDefault(),await Worker$1.openByOpener(o)))}}let decoratorBeforeOpen,decoratorAfterOpen,decoratorIsIgnoreOuterClick,i18n={Close:"Close"};class Worker{static noClose=!1;static vueConnectors=new Map;static onInitApp(e){decoratorBeforeOpen=e==null?void 0:e.decoratorBeforeOpen,decoratorAfterOpen=e==null?void 0:e.decoratorAfterOpen,decoratorIsIgnoreOuterClick=e==null?void 0:e.decoratorIsIgnoreOuterClick,i18n=e==null?void 0:e.i18n}static getPopup(e){return utils_dom.default.storage(e,"Popup")}static getAll(){return utils_dom.default.querySelectorAllArray(document,".top-popup-wrapper")}static getAllVisible(){return utils_dom.default.querySelectorAllVisible(document,".top-popup-wrapper")}static async openByOpener(e){const t={};return t.popup=e.dataset.topPopup,e.dataset.topPopupP&&(t.p=parseInt(e.dataset.topPopupP)),e.dataset.topPopupNotch&&(t.notch=e.dataset.topPopupNotch),e.dataset.topPopupClass&&(t.class=e.dataset.topPopupClass),e.dataset.topPopupPosBy&&(t.posBy=e.dataset.topPopupPosBy),e.dataset.topPopupFront&&(t.frontSelector=e.dataset.topPopupFront),e.dataset.topPopupInvertX&&(t.invertX=e.dataset.topPopupInvertX),e.dataset.topPopupOpenByHover&&(t.openByHover=e.dataset.topPopupOpenByHover),e.dataset.topPopupUseOriginal&&(t.useOriginal=e.dataset.topPopupUseOriginal),await Worker.open(e,t)}static async open(elOpener,options){elOpener.dataset.topPopupOpened="opened";const{default:Popup}=await new Promise((e,t)=>require(["../.chunks/popup-8sqqRRR_.amd"],e,t));if(typeof jQuery=="function"){const $elOpener=jQuery(elOpener);if($elOpener.data("aftershow")){let afterShow=$elOpener.data("aftershow");typeof afterShow=="string"&&(afterShow=eval(afterShow.replace(/\W/g,""))),$elOpener.one("aftershow.top-menu-popup",afterShow)}if($elOpener.data("afterclose")){let afterclose=$elOpener.data("afterclose");typeof afterclose=="string"&&(afterclose=eval(afterclose.replace(/\W/g,""))),$elOpener.one("afterclose.top-menu-popup",afterclose)}}return options.isFullScreen=forms.Core.state.isMobile,options.i18n=i18n,await new Popup(elOpener,options)}static close(e){const t=Worker.getPopup(e);t&&t.close()}static recalcPosition(e){const t=Worker.getPopup(e);t&&(t.recalcPosition(),HelperCommon.genHasScroll($(t.elPopupBody)))}static scrollToActive(e){if(!utils_dom.default.querySelectorVisible(e,"ul.top-popup_content > li > .top-active"))return;const o=e.querySelector("ul.top-popup_content"),s=utils_dom.default.querySelectorAllVisible(e,"ul.top-popup_content > li");e.classList.add("top-popup-wrapper-no_animate"),setTimeout(()=>e.classList.remove("top-popup-wrapper-no_animate"),100);let r=100;for(const p of s){if(p.querySelector(":scope > .top-active"))break;r+=p.offsetHeight}const a=o.offsetHeight;r>a?o.scrollTop=r-a:o.scrollTop=0}static decoratorBeforeOpen(e){decoratorBeforeOpen&&decoratorBeforeOpen(e)}static decoratorAfterOpen(e){decoratorAfterOpen&&decoratorAfterOpen(e)}static decoratorIsIgnoreOuterClick(e){return decoratorIsIgnoreOuterClick?decoratorIsIgnoreOuterClick(e):!1}static regVueComponent(e,t){if(Worker.vueConnectors.get(e))throw"Vue component Popup use duplicated id: "+e;Worker.vueConnectors.set(e,t)}static unregVueComponent(e){Worker.vueConnectors.delete(e)}}WorkerEvents.init(Worker,forms.Core);const Worker$1=Worker;exports.PopupWorker=Worker$1,exports.default=Worker$1,Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
2
2
|
//# sourceMappingURL=worker.amd.js.map
|
package/popup/worker.amd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.amd.js","sources":["../../src/components/popup/lib/worker.globalEvents.js","../../src/components/popup/lib/worker.js"],"sourcesContent":["import Core from '@/core/core/core';\nimport Events from '@/core/core/events';\nimport Worker from '@/components/popup/lib/worker';\n\n/**\n * Глобальные события, для реализации Popup\n */\nclass WorkerEvents {\n\tstatic init () {\n\t\t// автоматическое открытие при наведении мыши, событие глобальное, так как инициализация popup отложена\n\t\tdocument.addEventListener('mouseover', (e) => {\n\t\t\tif (!e.target.dataset?.topPopupOpenByHover) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\te.target.click();\n\t\t});\n\n\t\t// при скролле страницы убирать закрыть Popup\n\t\tdocument.addEventListener('scroll', () => {\n\t\t\tif (Core.isMobile) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\n\t\t});\n\n\t\tEvents.addOnReize(e => {\n\t\t\t// закрыть popup при повороте экрана телефона\n\t\t\t// если была отображена ПК версия, она будет закрыта\n\t\t\tif (Core.state.isMobile && e.topEvent.widthDiff) {\n\t\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\n\t\t\t}\n\t\t});\n\n\t\tdocument.addEventListener('click', this.onclick);\n\t}\n\n\t/**\n\t * Глобальный обработчик кликов\n\t * обрабатывает клики на открытие Popup\n\t * @param {Event} e\n\t */\n\tstatic async onclick (e) {\n\t\tlet elOpener;\n\n\t\tswitch (true) {\n\t\t\tcase !!e.target.dataset?.topPopup:\n\t\t\t\telOpener = e.target;\n\n\t\t\t\tbreak;\n\n\t\t\tcase !!e.target.parentElement?.dataset.topPopup:\n\t\t\t\telOpener = e.target.parentElement;\n\n\t\t\t\tbreak;\n\n\t\t\tcase !!e.target.parentElement?.parentElement?.dataset.topPopup:\n\t\t\t\telOpener = e.target.parentElement.parentElement;\n\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (!elOpener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\t// меню уже открыто\n\t\tif (elOpener.dataset.topPopupOpened) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tawait Worker.openByOpener(elOpener);\n\t}\n}\n\nexport default WorkerEvents;\n","import Core from '@/core/core/core';\nimport DOM from '@/core/utils/dom';\nimport GlobalEvents from '@/components/popup/lib/worker.globalEvents';\n\nlet decoratorBeforeOpen;\nlet decoratorAfterOpen;\nlet decoratorIsIgnoreOuterClick;\nlet i18n = {\n\tClose: 'Close',\n};\n\nclass Worker {\n\n\t// глобальное выключение закрытия меню, используется при различных оверлеях\n\tstatic noClose = false;\n\n\tstatic vueConnectors = new Map();\n\n\t/**\n\t * Вызывается при инициализаци приложения\n\t * устанавливает глобальные статические декортаоры для компонента Popup\n\t * @param {{\n\t * \tdecoratorBeforeOpen: (object) => void\n\t * \tdecoratorAfterOpen: (object) => void,\n\t * \tdecoratorIsIgnoreOuterClick: (e) => void,\n\t * \ti18n: {Close: string}\n\t * }} options\n\t */\n\tstatic onInitApp (options) {\n\t\tdecoratorBeforeOpen = options?.decoratorBeforeOpen;\n\t\tdecoratorAfterOpen = options?.decoratorAfterOpen;\n\t\tdecoratorIsIgnoreOuterClick = options?.decoratorIsIgnoreOuterClick;\n\t\ti18n = options?.i18n;\n\t}\n\n\t// вернуть объект компонента popup, привязанный к элементу\n\tstatic getPopup (elPopup) {\n\t\treturn DOM.storage(elPopup, 'Popup');\n\t}\n\n\tstatic getAll () {\n\t\treturn DOM.querySelectorAllArray(document, '.top-popup-wrapper');\n\t}\n\n\tstatic getAllVisible () {\n\t\treturn DOM.querySelectorAllVisible(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Открть Popup от указанного elOpener\n\t * @param {Element} elOpener - элемент, который должен вызвать открытие Popup\n\t */\n\tstatic async openByOpener (elOpener) {\n\t\tconst options = {};\n\n\t\toptions.popup = elOpener.dataset.topPopup;\n\n\t\tif (elOpener.dataset.topPopupP) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupP);\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupNotch) {\n\t\t\toptions.notch = elOpener.dataset.topPopupNotch;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupClass) {\n\t\t\toptions.class = elOpener.dataset.topPopupClass;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupPosBy) {\n\t\t\toptions.posBy = elOpener.dataset.topPopupPosBy;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupFront) {\n\t\t\toptions.frontSelector = elOpener.dataset.topPopupFront;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupInvertX) {\n\t\t\toptions.invertX = elOpener.dataset.topPopupInvertX;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupOpenByHover) {\n\t\t\toptions.openByHover = elOpener.dataset.topPopupOpenByHover;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupUseOriginal) {\n\t\t\toptions.useOriginal = elOpener.dataset.topPopupUseOriginal;\n\t\t}\n\n\t\treturn await Worker.open(elOpener, options);\n\t}\n\n\t/**\n\t * Создать и открыть Popup\n\t * @param {Element} elOpener - элемент, вызвавший открытие Popup\n\t * @param {object} options - опции Popup\n\t */\n\tstatic async open (elOpener, options) {\n\t\telOpener.dataset.topPopupOpened = 'opened';\n\n\t\tconst { default: Popup } = await import('./popup');\n\n\t\tif (typeof (jQuery) === 'function') {\n\t\t\tconst $elOpener = jQuery(elOpener);\n\n\t\t\t// deprecated, используется aftershow.top-menu-popup\n\t\t\tif ($elOpener.data('aftershow')) {\n\t\t\t\tlet afterShow = $elOpener.data('aftershow');\n\t\t\t\tif (typeof (afterShow) == 'string') {\n\t\t\t\t\tafterShow = eval(afterShow.replace(/\\W/g, ''));\n\t\t\t\t}\n\n\t\t\t\t$elOpener.one('aftershow.top-menu-popup', afterShow);\n\t\t\t}\n\n\t\t\t// deprecated, используется afterclose.top-menu-popup\n\t\t\tif ($elOpener.data('afterclose')) {\n\t\t\t\tlet afterclose = $elOpener.data('afterclose');\n\t\t\t\tif (typeof (afterclose) == 'string') {\n\t\t\t\t\tafterclose = eval(afterclose.replace(/\\W/g, ''));\n\t\t\t\t}\n\n\t\t\t\t$elOpener.one('afterclose.top-menu-popup', afterclose);\n\t\t\t}\n\t\t}\n\n\t\toptions.isFullScreen = Core.state.isMobile;\n\t\toptions.i18n = i18n;\n\n\t\treturn await new Popup(elOpener, options);\n\t}\n\n\tstatic close (elPopup) {\n\t\tconst popup = Worker.getPopup(elPopup);\n\t\tif (popup) {\n\t\t\tpopup.close();\n\t\t}\n\t}\n\n\tstatic recalcPosition (elPopup) {\n\t\tconst popup = Worker.getPopup(elPopup);\n\t\tif (popup) {\n\t\t\tpopup.recalcPosition();\n\n\t\t\t// контроль за состоянием тени скролла\n\t\t\t// вызывать после имзенения высоты скролла popup.elPopupBody\n\t\t\tHelperCommon.genHasScroll($(popup.elPopupBody));\n\t\t}\n\t}\n\n\t// скролл к активному элементу списка\n\tstatic scrollToActive (elPopup) {\n\t\tconst elItemActive = DOM.querySelectorVisible(elPopup, 'ul.top-popup_content > li > .top-active');\n\t\tif (!elItemActive) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elUl = elPopup.querySelector('ul.top-popup_content');\n\t\tconst elsLi = DOM.querySelectorAllVisible(elPopup, 'ul.top-popup_content > li');\n\n\t\telPopup.classList.add('top-popup-wrapper-no_animate');\n\t\tsetTimeout(() => elPopup.classList.remove('top-popup-wrapper-no_animate'), 100);\n\n\t\tlet top = 100;\n\t\tfor (const elLi of elsLi) {\n\t\t\tif (elLi.querySelector(':scope > .top-active')) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\ttop += elLi.offsetHeight;\n\t\t}\n\n\t\tconst heightWrapper = elUl.offsetHeight;\n\t\tif (top > heightWrapper) {\n\t\t\telUl.scrollTop = top - heightWrapper;\n\t\t} else {\n\t\t\telUl.scrollTop = 0;\n\t\t}\n\t}\n\n\tstatic decoratorBeforeOpen (popup) {\n\t\tif (decoratorBeforeOpen) {\n\t\t\tdecoratorBeforeOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorAfterOpen (popup) {\n\t\tif (decoratorAfterOpen) {\n\t\t\tdecoratorAfterOpen(popup);\n\t\t}\n\t};\n\n\t/**\n\t * Определитель того, что клик вне Popup нужно игнорировать\n\t * @returns {boolean} - игнорировать клик, то есть не закрывать Popup\n\t */\n\tstatic decoratorIsIgnoreOuterClick (e) {\n\t\tif (decoratorIsIgnoreOuterClick) {\n\t\t\treturn decoratorIsIgnoreOuterClick(e);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Зарегистрировать Vue компонент\n\t *\n\t * Каждый экземляр Popup регистрируется в словаре vueConnectors для последующего доступа из js\n\t * @param {string} id\n\t * @param {any} vueConnector\n\t */\n\tstatic regVueComponent (id, vueConnector) {\n\t\tif (Worker.vueConnectors.get(id)) {\n\t\t\tthrow 'Vue component Popup use duplicated id: ' + id;\n\t\t}\n\n\t\tWorker.vueConnectors.set(id, vueConnector);\n\t}\n\n\t/**\n\t * Снять с регистрации Vue компонент\n\t * @param {string} id\n\t */\n\tstatic unregVueComponent (id) {\n\t\tWorker.vueConnectors.delete(id);\n\t}\n\n}\n\nGlobalEvents.init(Worker, Core);\n\nexport default Worker;\n"],"names":["e","elPopup","elOpener","_d","_c","options","popup","top","elLi","elsLi","heightWrapper","elUl","id","vueConnector","GlobalEvents"],"mappings":"sLAOA,MAAA,YAAA,kHAQAA,EAAA,OAAA,MAAA,CACA,CAAA,EAGA,SAAA,iBAAA,SAAA,IAAA,CACA,MAAA,KAAA,UAIA,SAAA,OAAA,EAAA,QAAAC,GAAA,SAAA,MAAAA,CAAA,CAAA,CACA,CAAA,EAEA,MAAA,OAAA,WAAAD,GAAA,CAGA,MAAA,KAAA,MAAA,UAAAA,EAAA,SAAA,WACA,SAAA,OAAA,EAAA,QAAAC,GAAA,SAAA,MAAAA,CAAA,CAAA,CAEA,CAAA,kDAUA,aAAA,QAAAD,EAAA,mBAGA,OAAA,GAAA,gDAEAE,EAAAF,EAAA,OAEA,mEAGAE,EAAAF,EAAA,OAAA,cAEA,MAEA,IAAA,CAAA,GAAAG,GAAAC,EAAAJ,EAAA,OAAA,gBAAA,YAAAI,EAAA,gBAAA,MAAAD,EAAA,QAAA,iDAGA,UAOAD,EAAA,QAAA,kBAKAA,EAAA,QAAA,iBAIAF,EAAA,eAAA,EAEA,MAAA,SAAA,aAAAE,CAAA,IAEA,CC5EA,IAAA,oBACA,mBACA,4BACA,KAAA,cAEA,EAEA,MAAA,MAAA,CAGA,OAAA,QAAA,GAEA,OAAA,cAAA,IAAA,IAYA,OAAA,UAAAG,EAAA,CACA,oBAAAA,GAAA,YAAAA,EAAA,oBACA,mBAAAA,GAAA,YAAAA,EAAA,mBACA,4BAAAA,GAAA,YAAAA,EAAA,4BACA,KAAAA,GAAA,YAAAA,EAAA,KAIA,OAAA,SAAAJ,EAAA,kPAgBA,aAAA,aAAAC,EAAA,CACA,MAAAG,EAAA,CAAA,oCAIAH,EAAA,QAAA,YACAG,EAAA,EAAA,SAAAH,EAAA,QAAA,SAAA,GAGAA,EAAA,QAAA,iDAIAA,EAAA,QAAA,iDAIAA,EAAA,QAAA,iDAIAA,EAAA,QAAA,yDAIAA,EAAA,QAAA,uDAIAA,EAAA,QAAA,mEAIAA,EAAA,QAAA,0FAYA,aAAA,KAAA,SAAA,QAAA,CACA,SAAA,QAAA,eAAA,uGAIA,GAAA,OAAA,QAAA,WAAA,CACA,MAAA,UAAA,OAAA,QAAA,EAGA,GAAA,UAAA,KAAA,WAAA,EAAA,2CAEA,OAAA,WAAA,WACA,UAAA,KAAA,UAAA,QAAA,MAAA,EAAA,CAAA,uDAOA,GAAA,UAAA,KAAA,YAAA,EAAA,6CAEA,OAAA,YAAA,WACA,WAAA,KAAA,WAAA,QAAA,MAAA,EAAA,CAAA,gHAQA,QAAA,KAAA,uCAKA,OAAA,MAAAD,EAAA,+BAGAK,EAAA,MAAA,EAIA,OAAA,eAAAL,EAAA,gCAGAK,EAAA,eAAA,+CASA,OAAA,eAAAL,EAAA,yFAGA,kLAOA,WAAA,IAAAA,EAAA,UAAA,OAAA,8BAAA,EAAA,GAAA,EAEA,IAAAM,EAAA,IACA,UAAAC,KAAAC,EAAA,CACA,GAAAD,EAAA,cAAA,sBAAA,EACA,MAGAD,GAAAC,EAAA,aAGA,MAAAE,EAAAC,EAAA,aACAJ,EAAAG,EACAC,EAAA,UAAAJ,EAAAG,EAEAC,EAAA,UAAA,EAIA,OAAA,oBAAAL,EAAA,sBAEA,oBAAAA,CAAA,EAIA,OAAA,mBAAAA,EAAA,qBAEA,mBAAAA,CAAA,EAQA,OAAA,4BAAA,EAAA,oCAEA,4BAAA,CAAA,KAaA,OAAA,gBAAAM,EAAAC,EAAA,gCAEA,KAAA,0CAAAD,gCAUA,OAAA,kBAAAA,EAAA,iCAMAE,aAAAA,KAAAA,OAAAA,MAAAA,IAAAA,EAEA,MAAA,SAAA"}
|
|
1
|
+
{"version":3,"file":"worker.amd.js","sources":["../../src/components/popup/lib/worker.globalEvents.js","../../src/components/popup/lib/worker.js"],"sourcesContent":["import Core from '@/core/core/core';\r\nimport Events from '@/core/core/events';\r\nimport Worker from '@/components/popup/lib/worker';\r\n\r\n/**\r\n * Глобальные события, для реализации Popup\r\n */\r\nclass WorkerEvents {\r\n\tstatic init () {\r\n\t\t// автоматическое открытие при наведении мыши, событие глобальное, так как инициализация popup отложена\r\n\t\tdocument.addEventListener('mouseover', (e) => {\r\n\t\t\tif (!e.target.dataset?.topPopupOpenByHover) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\te.target.click();\r\n\t\t});\r\n\r\n\t\t// при скролле страницы убирать закрыть Popup\r\n\t\tdocument.addEventListener('scroll', () => {\r\n\t\t\tif (Core.isMobile) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\r\n\t\t});\r\n\r\n\t\tEvents.addOnReize(e => {\r\n\t\t\t// закрыть popup при повороте экрана телефона\r\n\t\t\t// если была отображена ПК версия, она будет закрыта\r\n\t\t\tif (Core.state.isMobile && e.topEvent.widthDiff) {\r\n\t\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tdocument.addEventListener('click', this.onclick);\r\n\t}\r\n\r\n\t/**\r\n\t * Глобальный обработчик кликов\r\n\t * обрабатывает клики на открытие Popup\r\n\t * @param {Event} e\r\n\t */\r\n\tstatic async onclick (e) {\r\n\t\tlet elOpener;\r\n\r\n\t\tswitch (true) {\r\n\t\t\tcase !!e.target.dataset?.topPopup:\r\n\t\t\t\telOpener = e.target;\r\n\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase !!e.target.parentElement?.dataset.topPopup:\r\n\t\t\t\telOpener = e.target.parentElement;\r\n\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase !!e.target.parentElement?.parentElement?.dataset.topPopup:\r\n\t\t\t\telOpener = e.target.parentElement.parentElement;\r\n\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (!elOpener) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupDisabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// меню уже открыто\r\n\t\tif (elOpener.dataset.topPopupOpened) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\te.preventDefault();\r\n\r\n\t\tawait Worker.openByOpener(elOpener);\r\n\t}\r\n}\r\n\r\nexport default WorkerEvents;\r\n","import Core from '@/core/core/core';\r\nimport DOM from '@/core/utils/dom';\r\nimport GlobalEvents from '@/components/popup/lib/worker.globalEvents';\r\n\r\nlet decoratorBeforeOpen;\r\nlet decoratorAfterOpen;\r\nlet decoratorIsIgnoreOuterClick;\r\nlet i18n = {\r\n\tClose: 'Close',\r\n};\r\n\r\nclass Worker {\r\n\r\n\t// глобальное выключение закрытия меню, используется при различных оверлеях\r\n\tstatic noClose = false;\r\n\r\n\tstatic vueConnectors = new Map();\r\n\r\n\t/**\r\n\t * Вызывается при инициализаци приложения\r\n\t * устанавливает глобальные статические декортаоры для компонента Popup\r\n\t * @param {{\r\n\t * \tdecoratorBeforeOpen: (object) => void\r\n\t * \tdecoratorAfterOpen: (object) => void,\r\n\t * \tdecoratorIsIgnoreOuterClick: (e) => void,\r\n\t * \ti18n: {Close: string}\r\n\t * }} options\r\n\t */\r\n\tstatic onInitApp (options) {\r\n\t\tdecoratorBeforeOpen = options?.decoratorBeforeOpen;\r\n\t\tdecoratorAfterOpen = options?.decoratorAfterOpen;\r\n\t\tdecoratorIsIgnoreOuterClick = options?.decoratorIsIgnoreOuterClick;\r\n\t\ti18n = options?.i18n;\r\n\t}\r\n\r\n\t// вернуть объект компонента popup, привязанный к элементу\r\n\tstatic getPopup (elPopup) {\r\n\t\treturn DOM.storage(elPopup, 'Popup');\r\n\t}\r\n\r\n\tstatic getAll () {\r\n\t\treturn DOM.querySelectorAllArray(document, '.top-popup-wrapper');\r\n\t}\r\n\r\n\tstatic getAllVisible () {\r\n\t\treturn DOM.querySelectorAllVisible(document, '.top-popup-wrapper');\r\n\t}\r\n\r\n\t/**\r\n\t * Открть Popup от указанного elOpener\r\n\t * @param {Element} elOpener - элемент, который должен вызвать открытие Popup\r\n\t */\r\n\tstatic async openByOpener (elOpener) {\r\n\t\tconst options = {};\r\n\r\n\t\toptions.popup = elOpener.dataset.topPopup;\r\n\r\n\t\tif (elOpener.dataset.topPopupP) {\r\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupP);\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupNotch) {\r\n\t\t\toptions.notch = elOpener.dataset.topPopupNotch;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupClass) {\r\n\t\t\toptions.class = elOpener.dataset.topPopupClass;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupPosBy) {\r\n\t\t\toptions.posBy = elOpener.dataset.topPopupPosBy;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupFront) {\r\n\t\t\toptions.frontSelector = elOpener.dataset.topPopupFront;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupInvertX) {\r\n\t\t\toptions.invertX = elOpener.dataset.topPopupInvertX;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupOpenByHover) {\r\n\t\t\toptions.openByHover = elOpener.dataset.topPopupOpenByHover;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupUseOriginal) {\r\n\t\t\toptions.useOriginal = elOpener.dataset.topPopupUseOriginal;\r\n\t\t}\r\n\r\n\t\treturn await Worker.open(elOpener, options);\r\n\t}\r\n\r\n\t/**\r\n\t * Создать и открыть Popup\r\n\t * @param {Element} elOpener - элемент, вызвавший открытие Popup\r\n\t * @param {object} options - опции Popup\r\n\t */\r\n\tstatic async open (elOpener, options) {\r\n\t\telOpener.dataset.topPopupOpened = 'opened';\r\n\r\n\t\tconst { default: Popup } = await import('./popup');\r\n\r\n\t\tif (typeof (jQuery) === 'function') {\r\n\t\t\tconst $elOpener = jQuery(elOpener);\r\n\r\n\t\t\t// deprecated, используется aftershow.top-menu-popup\r\n\t\t\tif ($elOpener.data('aftershow')) {\r\n\t\t\t\tlet afterShow = $elOpener.data('aftershow');\r\n\t\t\t\tif (typeof (afterShow) == 'string') {\r\n\t\t\t\t\tafterShow = eval(afterShow.replace(/\\W/g, ''));\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$elOpener.one('aftershow.top-menu-popup', afterShow);\r\n\t\t\t}\r\n\r\n\t\t\t// deprecated, используется afterclose.top-menu-popup\r\n\t\t\tif ($elOpener.data('afterclose')) {\r\n\t\t\t\tlet afterclose = $elOpener.data('afterclose');\r\n\t\t\t\tif (typeof (afterclose) == 'string') {\r\n\t\t\t\t\tafterclose = eval(afterclose.replace(/\\W/g, ''));\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$elOpener.one('afterclose.top-menu-popup', afterclose);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\toptions.isFullScreen = Core.state.isMobile;\r\n\t\toptions.i18n = i18n;\r\n\r\n\t\treturn await new Popup(elOpener, options);\r\n\t}\r\n\r\n\tstatic close (elPopup) {\r\n\t\tconst popup = Worker.getPopup(elPopup);\r\n\t\tif (popup) {\r\n\t\t\tpopup.close();\r\n\t\t}\r\n\t}\r\n\r\n\tstatic recalcPosition (elPopup) {\r\n\t\tconst popup = Worker.getPopup(elPopup);\r\n\t\tif (popup) {\r\n\t\t\tpopup.recalcPosition();\r\n\r\n\t\t\t// контроль за состоянием тени скролла\r\n\t\t\t// вызывать после имзенения высоты скролла popup.elPopupBody\r\n\t\t\tHelperCommon.genHasScroll($(popup.elPopupBody));\r\n\t\t}\r\n\t}\r\n\r\n\t// скролл к активному элементу списка\r\n\tstatic scrollToActive (elPopup) {\r\n\t\tconst elItemActive = DOM.querySelectorVisible(elPopup, 'ul.top-popup_content > li > .top-active');\r\n\t\tif (!elItemActive) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst elUl = elPopup.querySelector('ul.top-popup_content');\r\n\t\tconst elsLi = DOM.querySelectorAllVisible(elPopup, 'ul.top-popup_content > li');\r\n\r\n\t\telPopup.classList.add('top-popup-wrapper-no_animate');\r\n\t\tsetTimeout(() => elPopup.classList.remove('top-popup-wrapper-no_animate'), 100);\r\n\r\n\t\tlet top = 100;\r\n\t\tfor (const elLi of elsLi) {\r\n\t\t\tif (elLi.querySelector(':scope > .top-active')) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\ttop += elLi.offsetHeight;\r\n\t\t}\r\n\r\n\t\tconst heightWrapper = elUl.offsetHeight;\r\n\t\tif (top > heightWrapper) {\r\n\t\t\telUl.scrollTop = top - heightWrapper;\r\n\t\t} else {\r\n\t\t\telUl.scrollTop = 0;\r\n\t\t}\r\n\t}\r\n\r\n\tstatic decoratorBeforeOpen (popup) {\r\n\t\tif (decoratorBeforeOpen) {\r\n\t\t\tdecoratorBeforeOpen(popup);\r\n\t\t}\r\n\t};\r\n\r\n\tstatic decoratorAfterOpen (popup) {\r\n\t\tif (decoratorAfterOpen) {\r\n\t\t\tdecoratorAfterOpen(popup);\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Определитель того, что клик вне Popup нужно игнорировать\r\n\t * @returns {boolean} - игнорировать клик, то есть не закрывать Popup\r\n\t */\r\n\tstatic decoratorIsIgnoreOuterClick (e) {\r\n\t\tif (decoratorIsIgnoreOuterClick) {\r\n\t\t\treturn decoratorIsIgnoreOuterClick(e);\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n\t/**\r\n\t * Зарегистрировать Vue компонент\r\n\t *\r\n\t * Каждый экземляр Popup регистрируется в словаре vueConnectors для последующего доступа из js\r\n\t * @param {string} id\r\n\t * @param {any} vueConnector\r\n\t */\r\n\tstatic regVueComponent (id, vueConnector) {\r\n\t\tif (Worker.vueConnectors.get(id)) {\r\n\t\t\tthrow 'Vue component Popup use duplicated id: ' + id;\r\n\t\t}\r\n\r\n\t\tWorker.vueConnectors.set(id, vueConnector);\r\n\t}\r\n\r\n\t/**\r\n\t * Снять с регистрации Vue компонент\r\n\t * @param {string} id\r\n\t */\r\n\tstatic unregVueComponent (id) {\r\n\t\tWorker.vueConnectors.delete(id);\r\n\t}\r\n\r\n}\r\n\r\nGlobalEvents.init(Worker, Core);\r\n\r\nexport default Worker;\r\n"],"names":["e","elPopup","elOpener","_d","_c","options","popup","top","elLi","elsLi","heightWrapper","elUl","id","vueConnector","GlobalEvents"],"mappings":"sLAOA,MAAA,YAAA,kHAQAA,EAAA,OAAA,MAAA,CACA,CAAA,EAGA,SAAA,iBAAA,SAAA,IAAA,CACA,MAAA,KAAA,UAIA,SAAA,OAAA,EAAA,QAAAC,GAAA,SAAA,MAAAA,CAAA,CAAA,CACA,CAAA,EAEA,MAAA,OAAA,WAAAD,GAAA,CAGA,MAAA,KAAA,MAAA,UAAAA,EAAA,SAAA,WACA,SAAA,OAAA,EAAA,QAAAC,GAAA,SAAA,MAAAA,CAAA,CAAA,CAEA,CAAA,kDAUA,aAAA,QAAAD,EAAA,mBAGA,OAAA,GAAA,gDAEAE,EAAAF,EAAA,OAEA,mEAGAE,EAAAF,EAAA,OAAA,cAEA,MAEA,IAAA,CAAA,GAAAG,GAAAC,EAAAJ,EAAA,OAAA,gBAAA,YAAAI,EAAA,gBAAA,MAAAD,EAAA,QAAA,iDAGA,UAOAD,EAAA,QAAA,kBAKAA,EAAA,QAAA,iBAIAF,EAAA,eAAA,EAEA,MAAA,SAAA,aAAAE,CAAA,IAEA,CC5EA,IAAA,oBACA,mBACA,4BACA,KAAA,cAEA,EAEA,MAAA,MAAA,CAGA,OAAA,QAAA,GAEA,OAAA,cAAA,IAAA,IAYA,OAAA,UAAAG,EAAA,CACA,oBAAAA,GAAA,YAAAA,EAAA,oBACA,mBAAAA,GAAA,YAAAA,EAAA,mBACA,4BAAAA,GAAA,YAAAA,EAAA,4BACA,KAAAA,GAAA,YAAAA,EAAA,KAIA,OAAA,SAAAJ,EAAA,kPAgBA,aAAA,aAAAC,EAAA,CACA,MAAAG,EAAA,CAAA,oCAIAH,EAAA,QAAA,YACAG,EAAA,EAAA,SAAAH,EAAA,QAAA,SAAA,GAGAA,EAAA,QAAA,iDAIAA,EAAA,QAAA,iDAIAA,EAAA,QAAA,iDAIAA,EAAA,QAAA,yDAIAA,EAAA,QAAA,uDAIAA,EAAA,QAAA,mEAIAA,EAAA,QAAA,0FAYA,aAAA,KAAA,SAAA,QAAA,CACA,SAAA,QAAA,eAAA,uGAIA,GAAA,OAAA,QAAA,WAAA,CACA,MAAA,UAAA,OAAA,QAAA,EAGA,GAAA,UAAA,KAAA,WAAA,EAAA,2CAEA,OAAA,WAAA,WACA,UAAA,KAAA,UAAA,QAAA,MAAA,EAAA,CAAA,uDAOA,GAAA,UAAA,KAAA,YAAA,EAAA,6CAEA,OAAA,YAAA,WACA,WAAA,KAAA,WAAA,QAAA,MAAA,EAAA,CAAA,gHAQA,QAAA,KAAA,uCAKA,OAAA,MAAAD,EAAA,+BAGAK,EAAA,MAAA,EAIA,OAAA,eAAAL,EAAA,gCAGAK,EAAA,eAAA,+CASA,OAAA,eAAAL,EAAA,yFAGA,kLAOA,WAAA,IAAAA,EAAA,UAAA,OAAA,8BAAA,EAAA,GAAA,EAEA,IAAAM,EAAA,IACA,UAAAC,KAAAC,EAAA,CACA,GAAAD,EAAA,cAAA,sBAAA,EACA,MAGAD,GAAAC,EAAA,aAGA,MAAAE,EAAAC,EAAA,aACAJ,EAAAG,EACAC,EAAA,UAAAJ,EAAAG,EAEAC,EAAA,UAAA,EAIA,OAAA,oBAAAL,EAAA,sBAEA,oBAAAA,CAAA,EAIA,OAAA,mBAAAA,EAAA,qBAEA,mBAAAA,CAAA,EAQA,OAAA,4BAAA,EAAA,oCAEA,4BAAA,CAAA,KAaA,OAAA,gBAAAM,EAAAC,EAAA,gCAEA,KAAA,0CAAAD,gCAUA,OAAA,kBAAAA,EAAA,iCAMAE,aAAAA,KAAAA,OAAAA,MAAAA,IAAAA,EAEA,MAAA,SAAA"}
|
package/popup/worker.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as Core, E as Events } from "../.chunks/forms-
|
|
1
|
+
import { C as Core, E as Events } from "../.chunks/forms-iL1swNCF.es.js";
|
|
2
2
|
import DOM from "../utils/dom.js";
|
|
3
3
|
import "vue";
|
|
4
4
|
class WorkerEvents {
|
|
@@ -79,7 +79,7 @@ class Worker {
|
|
|
79
79
|
*/
|
|
80
80
|
static async open(elOpener, options) {
|
|
81
81
|
elOpener.dataset.topPopupOpened = "opened";
|
|
82
|
-
const { default: Popup } = await import("../.chunks/popup-
|
|
82
|
+
const { default: Popup } = await import("../.chunks/popup-gLJT9tg6.es.js");
|
|
83
83
|
if (typeof jQuery == "function") {
|
|
84
84
|
const $elOpener = jQuery(elOpener);
|
|
85
85
|
if ($elOpener.data("aftershow")) {
|
package/popup/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sources":["../../src/components/popup/lib/worker.globalEvents.js","../../src/components/popup/lib/worker.js"],"sourcesContent":["import Core from '@/core/core/core';\nimport Events from '@/core/core/events';\nimport Worker from '@/components/popup/lib/worker';\n\n/**\n * Глобальные события, для реализации Popup\n */\nclass WorkerEvents {\n\tstatic init () {\n\t\t// автоматическое открытие при наведении мыши, событие глобальное, так как инициализация popup отложена\n\t\tdocument.addEventListener('mouseover', (e) => {\n\t\t\tif (!e.target.dataset?.topPopupOpenByHover) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\te.target.click();\n\t\t});\n\n\t\t// при скролле страницы убирать закрыть Popup\n\t\tdocument.addEventListener('scroll', () => {\n\t\t\tif (Core.isMobile) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\n\t\t});\n\n\t\tEvents.addOnReize(e => {\n\t\t\t// закрыть popup при повороте экрана телефона\n\t\t\t// если была отображена ПК версия, она будет закрыта\n\t\t\tif (Core.state.isMobile && e.topEvent.widthDiff) {\n\t\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\n\t\t\t}\n\t\t});\n\n\t\tdocument.addEventListener('click', this.onclick);\n\t}\n\n\t/**\n\t * Глобальный обработчик кликов\n\t * обрабатывает клики на открытие Popup\n\t * @param {Event} e\n\t */\n\tstatic async onclick (e) {\n\t\tlet elOpener;\n\n\t\tswitch (true) {\n\t\t\tcase !!e.target.dataset?.topPopup:\n\t\t\t\telOpener = e.target;\n\n\t\t\t\tbreak;\n\n\t\t\tcase !!e.target.parentElement?.dataset.topPopup:\n\t\t\t\telOpener = e.target.parentElement;\n\n\t\t\t\tbreak;\n\n\t\t\tcase !!e.target.parentElement?.parentElement?.dataset.topPopup:\n\t\t\t\telOpener = e.target.parentElement.parentElement;\n\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (!elOpener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\t// меню уже открыто\n\t\tif (elOpener.dataset.topPopupOpened) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tawait Worker.openByOpener(elOpener);\n\t}\n}\n\nexport default WorkerEvents;\n","import Core from '@/core/core/core';\nimport DOM from '@/core/utils/dom';\nimport GlobalEvents from '@/components/popup/lib/worker.globalEvents';\n\nlet decoratorBeforeOpen;\nlet decoratorAfterOpen;\nlet decoratorIsIgnoreOuterClick;\nlet i18n = {\n\tClose: 'Close',\n};\n\nclass Worker {\n\n\t// глобальное выключение закрытия меню, используется при различных оверлеях\n\tstatic noClose = false;\n\n\tstatic vueConnectors = new Map();\n\n\t/**\n\t * Вызывается при инициализаци приложения\n\t * устанавливает глобальные статические декортаоры для компонента Popup\n\t * @param {{\n\t * \tdecoratorBeforeOpen: (object) => void\n\t * \tdecoratorAfterOpen: (object) => void,\n\t * \tdecoratorIsIgnoreOuterClick: (e) => void,\n\t * \ti18n: {Close: string}\n\t * }} options\n\t */\n\tstatic onInitApp (options) {\n\t\tdecoratorBeforeOpen = options?.decoratorBeforeOpen;\n\t\tdecoratorAfterOpen = options?.decoratorAfterOpen;\n\t\tdecoratorIsIgnoreOuterClick = options?.decoratorIsIgnoreOuterClick;\n\t\ti18n = options?.i18n;\n\t}\n\n\t// вернуть объект компонента popup, привязанный к элементу\n\tstatic getPopup (elPopup) {\n\t\treturn DOM.storage(elPopup, 'Popup');\n\t}\n\n\tstatic getAll () {\n\t\treturn DOM.querySelectorAllArray(document, '.top-popup-wrapper');\n\t}\n\n\tstatic getAllVisible () {\n\t\treturn DOM.querySelectorAllVisible(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Открть Popup от указанного elOpener\n\t * @param {Element} elOpener - элемент, который должен вызвать открытие Popup\n\t */\n\tstatic async openByOpener (elOpener) {\n\t\tconst options = {};\n\n\t\toptions.popup = elOpener.dataset.topPopup;\n\n\t\tif (elOpener.dataset.topPopupP) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupP);\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupNotch) {\n\t\t\toptions.notch = elOpener.dataset.topPopupNotch;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupClass) {\n\t\t\toptions.class = elOpener.dataset.topPopupClass;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupPosBy) {\n\t\t\toptions.posBy = elOpener.dataset.topPopupPosBy;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupFront) {\n\t\t\toptions.frontSelector = elOpener.dataset.topPopupFront;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupInvertX) {\n\t\t\toptions.invertX = elOpener.dataset.topPopupInvertX;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupOpenByHover) {\n\t\t\toptions.openByHover = elOpener.dataset.topPopupOpenByHover;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupUseOriginal) {\n\t\t\toptions.useOriginal = elOpener.dataset.topPopupUseOriginal;\n\t\t}\n\n\t\treturn await Worker.open(elOpener, options);\n\t}\n\n\t/**\n\t * Создать и открыть Popup\n\t * @param {Element} elOpener - элемент, вызвавший открытие Popup\n\t * @param {object} options - опции Popup\n\t */\n\tstatic async open (elOpener, options) {\n\t\telOpener.dataset.topPopupOpened = 'opened';\n\n\t\tconst { default: Popup } = await import('./popup');\n\n\t\tif (typeof (jQuery) === 'function') {\n\t\t\tconst $elOpener = jQuery(elOpener);\n\n\t\t\t// deprecated, используется aftershow.top-menu-popup\n\t\t\tif ($elOpener.data('aftershow')) {\n\t\t\t\tlet afterShow = $elOpener.data('aftershow');\n\t\t\t\tif (typeof (afterShow) == 'string') {\n\t\t\t\t\tafterShow = eval(afterShow.replace(/\\W/g, ''));\n\t\t\t\t}\n\n\t\t\t\t$elOpener.one('aftershow.top-menu-popup', afterShow);\n\t\t\t}\n\n\t\t\t// deprecated, используется afterclose.top-menu-popup\n\t\t\tif ($elOpener.data('afterclose')) {\n\t\t\t\tlet afterclose = $elOpener.data('afterclose');\n\t\t\t\tif (typeof (afterclose) == 'string') {\n\t\t\t\t\tafterclose = eval(afterclose.replace(/\\W/g, ''));\n\t\t\t\t}\n\n\t\t\t\t$elOpener.one('afterclose.top-menu-popup', afterclose);\n\t\t\t}\n\t\t}\n\n\t\toptions.isFullScreen = Core.state.isMobile;\n\t\toptions.i18n = i18n;\n\n\t\treturn await new Popup(elOpener, options);\n\t}\n\n\tstatic close (elPopup) {\n\t\tconst popup = Worker.getPopup(elPopup);\n\t\tif (popup) {\n\t\t\tpopup.close();\n\t\t}\n\t}\n\n\tstatic recalcPosition (elPopup) {\n\t\tconst popup = Worker.getPopup(elPopup);\n\t\tif (popup) {\n\t\t\tpopup.recalcPosition();\n\n\t\t\t// контроль за состоянием тени скролла\n\t\t\t// вызывать после имзенения высоты скролла popup.elPopupBody\n\t\t\tHelperCommon.genHasScroll($(popup.elPopupBody));\n\t\t}\n\t}\n\n\t// скролл к активному элементу списка\n\tstatic scrollToActive (elPopup) {\n\t\tconst elItemActive = DOM.querySelectorVisible(elPopup, 'ul.top-popup_content > li > .top-active');\n\t\tif (!elItemActive) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elUl = elPopup.querySelector('ul.top-popup_content');\n\t\tconst elsLi = DOM.querySelectorAllVisible(elPopup, 'ul.top-popup_content > li');\n\n\t\telPopup.classList.add('top-popup-wrapper-no_animate');\n\t\tsetTimeout(() => elPopup.classList.remove('top-popup-wrapper-no_animate'), 100);\n\n\t\tlet top = 100;\n\t\tfor (const elLi of elsLi) {\n\t\t\tif (elLi.querySelector(':scope > .top-active')) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\ttop += elLi.offsetHeight;\n\t\t}\n\n\t\tconst heightWrapper = elUl.offsetHeight;\n\t\tif (top > heightWrapper) {\n\t\t\telUl.scrollTop = top - heightWrapper;\n\t\t} else {\n\t\t\telUl.scrollTop = 0;\n\t\t}\n\t}\n\n\tstatic decoratorBeforeOpen (popup) {\n\t\tif (decoratorBeforeOpen) {\n\t\t\tdecoratorBeforeOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorAfterOpen (popup) {\n\t\tif (decoratorAfterOpen) {\n\t\t\tdecoratorAfterOpen(popup);\n\t\t}\n\t};\n\n\t/**\n\t * Определитель того, что клик вне Popup нужно игнорировать\n\t * @returns {boolean} - игнорировать клик, то есть не закрывать Popup\n\t */\n\tstatic decoratorIsIgnoreOuterClick (e) {\n\t\tif (decoratorIsIgnoreOuterClick) {\n\t\t\treturn decoratorIsIgnoreOuterClick(e);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Зарегистрировать Vue компонент\n\t *\n\t * Каждый экземляр Popup регистрируется в словаре vueConnectors для последующего доступа из js\n\t * @param {string} id\n\t * @param {any} vueConnector\n\t */\n\tstatic regVueComponent (id, vueConnector) {\n\t\tif (Worker.vueConnectors.get(id)) {\n\t\t\tthrow 'Vue component Popup use duplicated id: ' + id;\n\t\t}\n\n\t\tWorker.vueConnectors.set(id, vueConnector);\n\t}\n\n\t/**\n\t * Снять с регистрации Vue компонент\n\t * @param {string} id\n\t */\n\tstatic unregVueComponent (id) {\n\t\tWorker.vueConnectors.delete(id);\n\t}\n\n}\n\nGlobalEvents.init(Worker, Core);\n\nexport default Worker;\n"],"names":["e","_a","Worker","elPopup","elOpener","_b","_d","_c","options","popup","elUl","elsLi","top","elLi","heightWrapper","id","vueConnector","GlobalEvents"],"mappings":";;;AAOA,MAAM,aAAa;AAAA,EAClB,OAAO,OAAQ;AAEd,aAAS,iBAAiB,aAAa,CAACA,MAAM;;AAC7C,OAAKC,IAAAD,EAAE,OAAO,YAAT,QAAAC,EAAkB,uBAIvBD,EAAE,OAAO;IACZ,CAAG,GAGD,SAAS,iBAAiB,UAAU,MAAM;AACzC,MAAI,KAAK,YAITE,SAAO,OAAQ,EAAC,QAAQ,CAAAC,MAAWD,SAAO,MAAMC,CAAO,CAAC;AAAA,IAC3D,CAAG,GAED,OAAO,WAAW,CAAAH,MAAK;AAGtB,MAAI,KAAK,MAAM,YAAYA,EAAE,SAAS,aACrCE,SAAO,OAAQ,EAAC,QAAQ,CAAAC,MAAWD,SAAO,MAAMC,CAAO,CAAC;AAAA,IAE5D,CAAG,GAED,SAAS,iBAAiB,SAAS,KAAK,OAAO;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,aAAa,QAASH,GAAG;;AACxB,QAAII;AAEJ,YAAQ,IAAI;AAAA,MACX,KAAK,CAAC,GAACH,IAAAD,EAAE,OAAO,YAAT,QAAAC,EAAkB;AACxB,QAAAG,IAAWJ,EAAE;AAEb;AAAA,MAED,KAAK,CAAC,GAACK,IAAAL,EAAE,OAAO,kBAAT,QAAAK,EAAwB,QAAQ;AACtC,QAAAD,IAAWJ,EAAE,OAAO;AAEpB;AAAA,MAED,KAAK,CAAC,GAACM,KAAAC,IAAAP,EAAE,OAAO,kBAAT,gBAAAO,EAAwB,kBAAxB,QAAAD,EAAuC,QAAQ;AACrD,QAAAF,IAAWJ,EAAE,OAAO,cAAc;AAElC;AAAA,IACD;AAED,IAAKI,MAIDA,EAAS,QAAQ,oBAKjBA,EAAS,QAAQ,mBAIrBJ,EAAE,eAAc,GAEhB,MAAME,SAAO,aAAaE,CAAQ;AAAA,EAClC;AACF;AC5EA,IAAI,qBACA,oBACA,6BACA,OAAO;AAAA,EACV,OAAO;AACR;AAEA,MAAM,OAAO;AAAA;AAAA,EAGZ,OAAO,UAAU;AAAA,EAEjB,OAAO,gBAAgB,oBAAI;;;;;;;;;;;EAY3B,OAAO,UAAWI,GAAS;AAC1B,0BAAsBA,KAAA,gBAAAA,EAAS,qBAC/B,qBAAqBA,KAAA,gBAAAA,EAAS,oBAC9B,8BAA8BA,KAAA,gBAAAA,EAAS,6BACvC,OAAOA,KAAA,gBAAAA,EAAS;AAAA,EAChB;AAAA;AAAA,EAGD,OAAO,SAAUL,GAAS;AACzB,WAAO,IAAI,QAAQA,GAAS,OAAO;AAAA,EACnC;AAAA,EAED,OAAO,SAAU;AAChB,WAAO,IAAI,sBAAsB,UAAU,oBAAoB;AAAA,EAC/D;AAAA,EAED,OAAO,gBAAiB;AACvB,WAAO,IAAI,wBAAwB,UAAU,oBAAoB;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,aAAa,aAAcC,GAAU;AACpC,UAAMI,IAAU,CAAA;AAEhB,WAAAA,EAAQ,QAAQJ,EAAS,QAAQ,UAE7BA,EAAS,QAAQ,cACpBI,EAAQ,IAAI,SAASJ,EAAS,QAAQ,SAAS,IAG5CA,EAAS,QAAQ,kBACpBI,EAAQ,QAAQJ,EAAS,QAAQ,gBAG9BA,EAAS,QAAQ,kBACpBI,EAAQ,QAAQJ,EAAS,QAAQ,gBAG9BA,EAAS,QAAQ,kBACpBI,EAAQ,QAAQJ,EAAS,QAAQ,gBAG9BA,EAAS,QAAQ,kBACpBI,EAAQ,gBAAgBJ,EAAS,QAAQ,gBAGtCA,EAAS,QAAQ,oBACpBI,EAAQ,UAAUJ,EAAS,QAAQ,kBAGhCA,EAAS,QAAQ,wBACpBI,EAAQ,cAAcJ,EAAS,QAAQ,sBAGpCA,EAAS,QAAQ,wBACpBI,EAAQ,cAAcJ,EAAS,QAAQ,sBAGjC,MAAM,OAAO,KAAKA,GAAUI,CAAO;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,aAAa,KAAM,UAAU,SAAS;AACrC,aAAS,QAAQ,iBAAiB;AAElC,UAAM,EAAE,SAAS,MAAO,IAAG,MAAM,OAAO,iCAAS;AAEjD,QAAI,OAAQ,UAAY,YAAY;AACnC,YAAM,YAAY,OAAO,QAAQ;AAGjC,UAAI,UAAU,KAAK,WAAW,GAAG;AAChC,YAAI,YAAY,UAAU,KAAK,WAAW;AAC1C,QAAI,OAAQ,aAAc,aACzB,YAAY,KAAK,UAAU,QAAQ,OAAO,EAAE,CAAC,IAG9C,UAAU,IAAI,4BAA4B,SAAS;AAAA,MACnD;AAGD,UAAI,UAAU,KAAK,YAAY,GAAG;AACjC,YAAI,aAAa,UAAU,KAAK,YAAY;AAC5C,QAAI,OAAQ,cAAe,aAC1B,aAAa,KAAK,WAAW,QAAQ,OAAO,EAAE,CAAC,IAGhD,UAAU,IAAI,6BAA6B,UAAU;AAAA,MACrD;AAAA,IACD;AAED,mBAAQ,eAAe,KAAK,MAAM,UAClC,QAAQ,OAAO,MAER,MAAM,IAAI,MAAM,UAAU,OAAO;AAAA,EACxC;AAAA,EAED,OAAO,MAAOL,GAAS;AACtB,UAAMM,IAAQ,OAAO,SAASN,CAAO;AACrC,IAAIM,KACHA,EAAM,MAAK;AAAA,EAEZ;AAAA,EAED,OAAO,eAAgBN,GAAS;AAC/B,UAAMM,IAAQ,OAAO,SAASN,CAAO;AACrC,IAAIM,MACHA,EAAM,eAAc,GAIpB,aAAa,aAAa,EAAEA,EAAM,WAAW,CAAC;AAAA,EAE/C;AAAA;AAAA,EAGD,OAAO,eAAgBN,GAAS;AAE/B,QAAI,CADiB,IAAI,qBAAqBA,GAAS,yCAAyC;AAE/F;AAGD,UAAMO,IAAOP,EAAQ,cAAc,sBAAsB,GACnDQ,IAAQ,IAAI,wBAAwBR,GAAS,2BAA2B;AAE9E,IAAAA,EAAQ,UAAU,IAAI,8BAA8B,GACpD,WAAW,MAAMA,EAAQ,UAAU,OAAO,8BAA8B,GAAG,GAAG;AAE9E,QAAIS,IAAM;AACV,eAAWC,KAAQF,GAAO;AACzB,UAAIE,EAAK,cAAc,sBAAsB;AAC5C;AAGD,MAAAD,KAAOC,EAAK;AAAA,IACZ;AAED,UAAMC,IAAgBJ,EAAK;AAC3B,IAAIE,IAAME,IACTJ,EAAK,YAAYE,IAAME,IAEvBJ,EAAK,YAAY;AAAA,EAElB;AAAA,EAED,OAAO,oBAAqBD,GAAO;AAClC,IAAI,uBACH,oBAAoBA,CAAK;AAAA,EAE1B;AAAA,EAED,OAAO,mBAAoBA,GAAO;AACjC,IAAI,sBACH,mBAAmBA,CAAK;AAAA,EAEzB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO,4BAA6B,GAAG;AACtC,WAAI,8BACI,4BAA4B,CAAC,IAG9B;AAAA,EACP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASD,OAAO,gBAAiBM,GAAIC,GAAc;AACzC,QAAI,OAAO,cAAc,IAAID,CAAE;AAC9B,YAAM,4CAA4CA;AAGnD,WAAO,cAAc,IAAIA,GAAIC,CAAY;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO,kBAAmBD,GAAI;AAC7B,WAAO,cAAc,OAAOA,CAAE;AAAA,EAC9B;AAEF;AAEAE,aAAa,KAAK,QAAQ,IAAI;AAE9B,MAAA,WAAe;"}
|
|
1
|
+
{"version":3,"file":"worker.js","sources":["../../src/components/popup/lib/worker.globalEvents.js","../../src/components/popup/lib/worker.js"],"sourcesContent":["import Core from '@/core/core/core';\r\nimport Events from '@/core/core/events';\r\nimport Worker from '@/components/popup/lib/worker';\r\n\r\n/**\r\n * Глобальные события, для реализации Popup\r\n */\r\nclass WorkerEvents {\r\n\tstatic init () {\r\n\t\t// автоматическое открытие при наведении мыши, событие глобальное, так как инициализация popup отложена\r\n\t\tdocument.addEventListener('mouseover', (e) => {\r\n\t\t\tif (!e.target.dataset?.topPopupOpenByHover) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\te.target.click();\r\n\t\t});\r\n\r\n\t\t// при скролле страницы убирать закрыть Popup\r\n\t\tdocument.addEventListener('scroll', () => {\r\n\t\t\tif (Core.isMobile) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\r\n\t\t});\r\n\r\n\t\tEvents.addOnReize(e => {\r\n\t\t\t// закрыть popup при повороте экрана телефона\r\n\t\t\t// если была отображена ПК версия, она будет закрыта\r\n\t\t\tif (Core.state.isMobile && e.topEvent.widthDiff) {\r\n\t\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tdocument.addEventListener('click', this.onclick);\r\n\t}\r\n\r\n\t/**\r\n\t * Глобальный обработчик кликов\r\n\t * обрабатывает клики на открытие Popup\r\n\t * @param {Event} e\r\n\t */\r\n\tstatic async onclick (e) {\r\n\t\tlet elOpener;\r\n\r\n\t\tswitch (true) {\r\n\t\t\tcase !!e.target.dataset?.topPopup:\r\n\t\t\t\telOpener = e.target;\r\n\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase !!e.target.parentElement?.dataset.topPopup:\r\n\t\t\t\telOpener = e.target.parentElement;\r\n\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase !!e.target.parentElement?.parentElement?.dataset.topPopup:\r\n\t\t\t\telOpener = e.target.parentElement.parentElement;\r\n\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (!elOpener) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupDisabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// меню уже открыто\r\n\t\tif (elOpener.dataset.topPopupOpened) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\te.preventDefault();\r\n\r\n\t\tawait Worker.openByOpener(elOpener);\r\n\t}\r\n}\r\n\r\nexport default WorkerEvents;\r\n","import Core from '@/core/core/core';\r\nimport DOM from '@/core/utils/dom';\r\nimport GlobalEvents from '@/components/popup/lib/worker.globalEvents';\r\n\r\nlet decoratorBeforeOpen;\r\nlet decoratorAfterOpen;\r\nlet decoratorIsIgnoreOuterClick;\r\nlet i18n = {\r\n\tClose: 'Close',\r\n};\r\n\r\nclass Worker {\r\n\r\n\t// глобальное выключение закрытия меню, используется при различных оверлеях\r\n\tstatic noClose = false;\r\n\r\n\tstatic vueConnectors = new Map();\r\n\r\n\t/**\r\n\t * Вызывается при инициализаци приложения\r\n\t * устанавливает глобальные статические декортаоры для компонента Popup\r\n\t * @param {{\r\n\t * \tdecoratorBeforeOpen: (object) => void\r\n\t * \tdecoratorAfterOpen: (object) => void,\r\n\t * \tdecoratorIsIgnoreOuterClick: (e) => void,\r\n\t * \ti18n: {Close: string}\r\n\t * }} options\r\n\t */\r\n\tstatic onInitApp (options) {\r\n\t\tdecoratorBeforeOpen = options?.decoratorBeforeOpen;\r\n\t\tdecoratorAfterOpen = options?.decoratorAfterOpen;\r\n\t\tdecoratorIsIgnoreOuterClick = options?.decoratorIsIgnoreOuterClick;\r\n\t\ti18n = options?.i18n;\r\n\t}\r\n\r\n\t// вернуть объект компонента popup, привязанный к элементу\r\n\tstatic getPopup (elPopup) {\r\n\t\treturn DOM.storage(elPopup, 'Popup');\r\n\t}\r\n\r\n\tstatic getAll () {\r\n\t\treturn DOM.querySelectorAllArray(document, '.top-popup-wrapper');\r\n\t}\r\n\r\n\tstatic getAllVisible () {\r\n\t\treturn DOM.querySelectorAllVisible(document, '.top-popup-wrapper');\r\n\t}\r\n\r\n\t/**\r\n\t * Открть Popup от указанного elOpener\r\n\t * @param {Element} elOpener - элемент, который должен вызвать открытие Popup\r\n\t */\r\n\tstatic async openByOpener (elOpener) {\r\n\t\tconst options = {};\r\n\r\n\t\toptions.popup = elOpener.dataset.topPopup;\r\n\r\n\t\tif (elOpener.dataset.topPopupP) {\r\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupP);\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupNotch) {\r\n\t\t\toptions.notch = elOpener.dataset.topPopupNotch;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupClass) {\r\n\t\t\toptions.class = elOpener.dataset.topPopupClass;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupPosBy) {\r\n\t\t\toptions.posBy = elOpener.dataset.topPopupPosBy;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupFront) {\r\n\t\t\toptions.frontSelector = elOpener.dataset.topPopupFront;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupInvertX) {\r\n\t\t\toptions.invertX = elOpener.dataset.topPopupInvertX;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupOpenByHover) {\r\n\t\t\toptions.openByHover = elOpener.dataset.topPopupOpenByHover;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupUseOriginal) {\r\n\t\t\toptions.useOriginal = elOpener.dataset.topPopupUseOriginal;\r\n\t\t}\r\n\r\n\t\treturn await Worker.open(elOpener, options);\r\n\t}\r\n\r\n\t/**\r\n\t * Создать и открыть Popup\r\n\t * @param {Element} elOpener - элемент, вызвавший открытие Popup\r\n\t * @param {object} options - опции Popup\r\n\t */\r\n\tstatic async open (elOpener, options) {\r\n\t\telOpener.dataset.topPopupOpened = 'opened';\r\n\r\n\t\tconst { default: Popup } = await import('./popup');\r\n\r\n\t\tif (typeof (jQuery) === 'function') {\r\n\t\t\tconst $elOpener = jQuery(elOpener);\r\n\r\n\t\t\t// deprecated, используется aftershow.top-menu-popup\r\n\t\t\tif ($elOpener.data('aftershow')) {\r\n\t\t\t\tlet afterShow = $elOpener.data('aftershow');\r\n\t\t\t\tif (typeof (afterShow) == 'string') {\r\n\t\t\t\t\tafterShow = eval(afterShow.replace(/\\W/g, ''));\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$elOpener.one('aftershow.top-menu-popup', afterShow);\r\n\t\t\t}\r\n\r\n\t\t\t// deprecated, используется afterclose.top-menu-popup\r\n\t\t\tif ($elOpener.data('afterclose')) {\r\n\t\t\t\tlet afterclose = $elOpener.data('afterclose');\r\n\t\t\t\tif (typeof (afterclose) == 'string') {\r\n\t\t\t\t\tafterclose = eval(afterclose.replace(/\\W/g, ''));\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$elOpener.one('afterclose.top-menu-popup', afterclose);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\toptions.isFullScreen = Core.state.isMobile;\r\n\t\toptions.i18n = i18n;\r\n\r\n\t\treturn await new Popup(elOpener, options);\r\n\t}\r\n\r\n\tstatic close (elPopup) {\r\n\t\tconst popup = Worker.getPopup(elPopup);\r\n\t\tif (popup) {\r\n\t\t\tpopup.close();\r\n\t\t}\r\n\t}\r\n\r\n\tstatic recalcPosition (elPopup) {\r\n\t\tconst popup = Worker.getPopup(elPopup);\r\n\t\tif (popup) {\r\n\t\t\tpopup.recalcPosition();\r\n\r\n\t\t\t// контроль за состоянием тени скролла\r\n\t\t\t// вызывать после имзенения высоты скролла popup.elPopupBody\r\n\t\t\tHelperCommon.genHasScroll($(popup.elPopupBody));\r\n\t\t}\r\n\t}\r\n\r\n\t// скролл к активному элементу списка\r\n\tstatic scrollToActive (elPopup) {\r\n\t\tconst elItemActive = DOM.querySelectorVisible(elPopup, 'ul.top-popup_content > li > .top-active');\r\n\t\tif (!elItemActive) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst elUl = elPopup.querySelector('ul.top-popup_content');\r\n\t\tconst elsLi = DOM.querySelectorAllVisible(elPopup, 'ul.top-popup_content > li');\r\n\r\n\t\telPopup.classList.add('top-popup-wrapper-no_animate');\r\n\t\tsetTimeout(() => elPopup.classList.remove('top-popup-wrapper-no_animate'), 100);\r\n\r\n\t\tlet top = 100;\r\n\t\tfor (const elLi of elsLi) {\r\n\t\t\tif (elLi.querySelector(':scope > .top-active')) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\ttop += elLi.offsetHeight;\r\n\t\t}\r\n\r\n\t\tconst heightWrapper = elUl.offsetHeight;\r\n\t\tif (top > heightWrapper) {\r\n\t\t\telUl.scrollTop = top - heightWrapper;\r\n\t\t} else {\r\n\t\t\telUl.scrollTop = 0;\r\n\t\t}\r\n\t}\r\n\r\n\tstatic decoratorBeforeOpen (popup) {\r\n\t\tif (decoratorBeforeOpen) {\r\n\t\t\tdecoratorBeforeOpen(popup);\r\n\t\t}\r\n\t};\r\n\r\n\tstatic decoratorAfterOpen (popup) {\r\n\t\tif (decoratorAfterOpen) {\r\n\t\t\tdecoratorAfterOpen(popup);\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Определитель того, что клик вне Popup нужно игнорировать\r\n\t * @returns {boolean} - игнорировать клик, то есть не закрывать Popup\r\n\t */\r\n\tstatic decoratorIsIgnoreOuterClick (e) {\r\n\t\tif (decoratorIsIgnoreOuterClick) {\r\n\t\t\treturn decoratorIsIgnoreOuterClick(e);\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n\t/**\r\n\t * Зарегистрировать Vue компонент\r\n\t *\r\n\t * Каждый экземляр Popup регистрируется в словаре vueConnectors для последующего доступа из js\r\n\t * @param {string} id\r\n\t * @param {any} vueConnector\r\n\t */\r\n\tstatic regVueComponent (id, vueConnector) {\r\n\t\tif (Worker.vueConnectors.get(id)) {\r\n\t\t\tthrow 'Vue component Popup use duplicated id: ' + id;\r\n\t\t}\r\n\r\n\t\tWorker.vueConnectors.set(id, vueConnector);\r\n\t}\r\n\r\n\t/**\r\n\t * Снять с регистрации Vue компонент\r\n\t * @param {string} id\r\n\t */\r\n\tstatic unregVueComponent (id) {\r\n\t\tWorker.vueConnectors.delete(id);\r\n\t}\r\n\r\n}\r\n\r\nGlobalEvents.init(Worker, Core);\r\n\r\nexport default Worker;\r\n"],"names":["e","_a","Worker","elPopup","elOpener","_b","_d","_c","options","popup","elUl","elsLi","top","elLi","heightWrapper","id","vueConnector","GlobalEvents"],"mappings":"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"}
|
package/require/css.amd.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Плагин requirejs для подгрузки css файлов
|
|
3
|
-
*/
|
|
4
|
-
define({
|
|
5
|
-
load: (name, req, onload) => {
|
|
6
|
-
req(['../utils/css.amd'], ({ insertToPage }) => {
|
|
7
|
-
let cssURL = req.toUrl(name);
|
|
8
|
-
|
|
9
|
-
insertToPage([cssURL]).then(onload).catch(onload.error);
|
|
10
|
-
});
|
|
11
|
-
},
|
|
1
|
+
/**
|
|
2
|
+
* Плагин requirejs для подгрузки css файлов
|
|
3
|
+
*/
|
|
4
|
+
define({
|
|
5
|
+
load: (name, req, onload) => {
|
|
6
|
+
req(['../utils/css.amd'], ({ insertToPage }) => {
|
|
7
|
+
let cssURL = req.toUrl(name);
|
|
8
|
+
|
|
9
|
+
insertToPage([cssURL]).then(onload).catch(onload.error);
|
|
10
|
+
});
|
|
11
|
+
},
|
|
12
12
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
type ModelValue = boolean | string[] | Set<string
|
|
1
|
+
type ModelValue = boolean | string[] | Set<string> | undefined;
|
|
2
2
|
export interface Props {
|
|
3
3
|
/**
|
|
4
4
|
* Может быть одного из трех типов:
|
|
@@ -16,7 +16,4 @@ export interface Props {
|
|
|
16
16
|
indeterminate?: boolean;
|
|
17
17
|
isError?: boolean;
|
|
18
18
|
}
|
|
19
|
-
export interface Emits {
|
|
20
|
-
(e: 'update:modelValue', value: ModelValue): void;
|
|
21
|
-
}
|
|
22
19
|
export {};
|
|
@@ -2,10 +2,7 @@ import type { StoryObj } from '@storybook/vue3';
|
|
|
2
2
|
declare const meta: {
|
|
3
3
|
component: {
|
|
4
4
|
new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
|
|
5
|
-
modelValue:
|
|
6
|
-
type: import("vue").PropType<boolean | string[] | Set<string>>;
|
|
7
|
-
required: true;
|
|
8
|
-
};
|
|
5
|
+
modelValue: import("vue").PropType<boolean | string[] | Set<string> | undefined>;
|
|
9
6
|
name: {
|
|
10
7
|
type: import("vue").PropType<string>;
|
|
11
8
|
};
|
|
@@ -24,15 +21,8 @@ declare const meta: {
|
|
|
24
21
|
isError: {
|
|
25
22
|
type: import("vue").PropType<boolean>;
|
|
26
23
|
};
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
30
|
-
"update:modelValue": (value: boolean | string[] | Set<string>) => void;
|
|
31
|
-
}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
|
|
32
|
-
modelValue: {
|
|
33
|
-
type: import("vue").PropType<boolean | string[] | Set<string>>;
|
|
34
|
-
required: true;
|
|
35
|
-
};
|
|
24
|
+
}>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
|
|
25
|
+
modelValue: import("vue").PropType<boolean | string[] | Set<string> | undefined>;
|
|
36
26
|
name: {
|
|
37
27
|
type: import("vue").PropType<string>;
|
|
38
28
|
};
|
|
@@ -51,9 +41,7 @@ declare const meta: {
|
|
|
51
41
|
isError: {
|
|
52
42
|
type: import("vue").PropType<boolean>;
|
|
53
43
|
};
|
|
54
|
-
}
|
|
55
|
-
"onUpdate:modelValue"?: ((value: boolean | string[] | Set<string>) => any) | undefined;
|
|
56
|
-
}, {}, true, {}, {}, {
|
|
44
|
+
}>>, {}, true, {}, {}, {
|
|
57
45
|
P: {};
|
|
58
46
|
B: {};
|
|
59
47
|
D: {};
|
|
@@ -61,10 +49,7 @@ declare const meta: {
|
|
|
61
49
|
M: {};
|
|
62
50
|
Defaults: {};
|
|
63
51
|
}, Readonly<import("vue").ExtractPropTypes<{
|
|
64
|
-
modelValue:
|
|
65
|
-
type: import("vue").PropType<boolean | string[] | Set<string>>;
|
|
66
|
-
required: true;
|
|
67
|
-
};
|
|
52
|
+
modelValue: import("vue").PropType<boolean | string[] | Set<string> | undefined>;
|
|
68
53
|
name: {
|
|
69
54
|
type: import("vue").PropType<string>;
|
|
70
55
|
};
|
|
@@ -83,17 +68,12 @@ declare const meta: {
|
|
|
83
68
|
isError: {
|
|
84
69
|
type: import("vue").PropType<boolean>;
|
|
85
70
|
};
|
|
86
|
-
}
|
|
87
|
-
"onUpdate:modelValue"?: ((value: boolean | string[] | Set<string>) => any) | undefined;
|
|
88
|
-
}, {}, {}, {}, {}, {}>;
|
|
71
|
+
}>>, {}, {}, {}, {}, {}>;
|
|
89
72
|
__isFragment?: undefined;
|
|
90
73
|
__isTeleport?: undefined;
|
|
91
74
|
__isSuspense?: undefined;
|
|
92
75
|
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
|
|
93
|
-
modelValue:
|
|
94
|
-
type: import("vue").PropType<boolean | string[] | Set<string>>;
|
|
95
|
-
required: true;
|
|
96
|
-
};
|
|
76
|
+
modelValue: import("vue").PropType<boolean | string[] | Set<string> | undefined>;
|
|
97
77
|
name: {
|
|
98
78
|
type: import("vue").PropType<string>;
|
|
99
79
|
};
|
|
@@ -112,11 +92,7 @@ declare const meta: {
|
|
|
112
92
|
isError: {
|
|
113
93
|
type: import("vue").PropType<boolean>;
|
|
114
94
|
};
|
|
115
|
-
}
|
|
116
|
-
"onUpdate:modelValue"?: ((value: boolean | string[] | Set<string>) => any) | undefined;
|
|
117
|
-
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
118
|
-
"update:modelValue": (value: boolean | string[] | Set<string>) => void;
|
|
119
|
-
}, string, {}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
95
|
+
}>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
120
96
|
$slots: {
|
|
121
97
|
default?(_: {}): any;
|
|
122
98
|
};
|
|
@@ -1,21 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
2
|
+
modelValue: import("vue").PropType<boolean | string[] | Set<string> | undefined>;
|
|
3
|
+
name: {
|
|
4
|
+
type: import("vue").PropType<string>;
|
|
5
|
+
};
|
|
6
|
+
value: {
|
|
7
|
+
type: import("vue").PropType<string>;
|
|
8
|
+
};
|
|
9
|
+
description: {
|
|
10
|
+
type: import("vue").PropType<string>;
|
|
11
|
+
};
|
|
12
|
+
disabled: {
|
|
13
|
+
type: import("vue").PropType<boolean>;
|
|
14
|
+
};
|
|
15
|
+
indeterminate: {
|
|
16
|
+
type: import("vue").PropType<boolean>;
|
|
17
|
+
};
|
|
18
|
+
isError: {
|
|
19
|
+
type: import("vue").PropType<boolean>;
|
|
20
|
+
};
|
|
21
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
22
|
+
modelValue: import("vue").PropType<boolean | string[] | Set<string> | undefined>;
|
|
23
|
+
name: {
|
|
24
|
+
type: import("vue").PropType<string>;
|
|
25
|
+
};
|
|
26
|
+
value: {
|
|
27
|
+
type: import("vue").PropType<string>;
|
|
28
|
+
};
|
|
29
|
+
description: {
|
|
30
|
+
type: import("vue").PropType<string>;
|
|
31
|
+
};
|
|
32
|
+
disabled: {
|
|
33
|
+
type: import("vue").PropType<boolean>;
|
|
34
|
+
};
|
|
35
|
+
indeterminate: {
|
|
36
|
+
type: import("vue").PropType<boolean>;
|
|
37
|
+
};
|
|
38
|
+
isError: {
|
|
39
|
+
type: import("vue").PropType<boolean>;
|
|
40
|
+
};
|
|
41
|
+
}>>, {}, {}>, {
|
|
7
42
|
default?(_: {}): any;
|
|
8
43
|
}>;
|
|
9
44
|
export default _default;
|
|
10
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
11
|
-
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
12
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
13
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
14
|
-
} : {
|
|
15
|
-
type: import('vue').PropType<T[K]>;
|
|
16
|
-
required: true;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
45
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
20
46
|
new (): {
|
|
21
47
|
$slots: S;
|
|
@@ -142,6 +142,7 @@ declare const meta: {
|
|
|
142
142
|
$slots: {
|
|
143
143
|
opener?(_: {}): any;
|
|
144
144
|
header?(_: {}): any;
|
|
145
|
+
widget?(_: {}): any;
|
|
145
146
|
content?(_: {}): any;
|
|
146
147
|
contentList?(_: {}): any;
|
|
147
148
|
footer?(_: {}): any;
|
|
@@ -213,6 +214,7 @@ export declare const Playground: {
|
|
|
213
214
|
onOpen?: (() => any) | undefined;
|
|
214
215
|
opener?: ((_: {}) => any) | import("vue").VNodeChild;
|
|
215
216
|
header?: ((_: {}) => any) | import("vue").VNodeChild;
|
|
217
|
+
widget?: import("vue").VNodeChild | ((_: {}) => any);
|
|
216
218
|
content?: ((_: {}) => any) | import("vue").VNodeChild;
|
|
217
219
|
contentList?: ((_: {}) => any) | import("vue").VNodeChild;
|
|
218
220
|
footer?: ((_: {}) => any) | import("vue").VNodeChild;
|
|
@@ -359,11 +361,87 @@ export declare const Playground: {
|
|
|
359
361
|
$slots: {
|
|
360
362
|
opener?(_: {}): any;
|
|
361
363
|
header?(_: {}): any;
|
|
364
|
+
widget?(_: {}): any;
|
|
362
365
|
content?(_: {}): any;
|
|
363
366
|
contentList?(_: {}): any;
|
|
364
367
|
footer?(_: {}): any;
|
|
365
368
|
};
|
|
366
369
|
});
|
|
370
|
+
WidgetInput: import("vue").DefineComponent<{
|
|
371
|
+
modelValue: import("vue").PropType<any>;
|
|
372
|
+
icon: {
|
|
373
|
+
type: import("vue").PropType<string>;
|
|
374
|
+
};
|
|
375
|
+
icon2: {
|
|
376
|
+
type: import("vue").PropType<string>;
|
|
377
|
+
};
|
|
378
|
+
title: {
|
|
379
|
+
type: import("vue").PropType<string>;
|
|
380
|
+
};
|
|
381
|
+
size: {
|
|
382
|
+
type: import("vue").PropType<import("../../forms/helpers").Size>;
|
|
383
|
+
};
|
|
384
|
+
name: {
|
|
385
|
+
type: import("vue").PropType<string>;
|
|
386
|
+
};
|
|
387
|
+
disabled: {
|
|
388
|
+
type: import("vue").PropType<boolean>;
|
|
389
|
+
};
|
|
390
|
+
isError: {
|
|
391
|
+
type: import("vue").PropType<boolean>;
|
|
392
|
+
};
|
|
393
|
+
readonly: {
|
|
394
|
+
type: import("vue").PropType<boolean>;
|
|
395
|
+
};
|
|
396
|
+
captionType: {
|
|
397
|
+
type: import("vue").PropType<import("../../forms/input/input").CaptionType>;
|
|
398
|
+
};
|
|
399
|
+
addCleaner: {
|
|
400
|
+
type: import("vue").PropType<boolean>;
|
|
401
|
+
default: boolean;
|
|
402
|
+
};
|
|
403
|
+
modificator: {
|
|
404
|
+
type: import("vue").PropType<string>;
|
|
405
|
+
};
|
|
406
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
407
|
+
modelValue: import("vue").PropType<any>;
|
|
408
|
+
icon: {
|
|
409
|
+
type: import("vue").PropType<string>;
|
|
410
|
+
};
|
|
411
|
+
icon2: {
|
|
412
|
+
type: import("vue").PropType<string>;
|
|
413
|
+
};
|
|
414
|
+
title: {
|
|
415
|
+
type: import("vue").PropType<string>;
|
|
416
|
+
};
|
|
417
|
+
size: {
|
|
418
|
+
type: import("vue").PropType<import("../../forms/helpers").Size>;
|
|
419
|
+
};
|
|
420
|
+
name: {
|
|
421
|
+
type: import("vue").PropType<string>;
|
|
422
|
+
};
|
|
423
|
+
disabled: {
|
|
424
|
+
type: import("vue").PropType<boolean>;
|
|
425
|
+
};
|
|
426
|
+
isError: {
|
|
427
|
+
type: import("vue").PropType<boolean>;
|
|
428
|
+
};
|
|
429
|
+
readonly: {
|
|
430
|
+
type: import("vue").PropType<boolean>;
|
|
431
|
+
};
|
|
432
|
+
captionType: {
|
|
433
|
+
type: import("vue").PropType<import("../../forms/input/input").CaptionType>;
|
|
434
|
+
};
|
|
435
|
+
addCleaner: {
|
|
436
|
+
type: import("vue").PropType<boolean>;
|
|
437
|
+
default: boolean;
|
|
438
|
+
};
|
|
439
|
+
modificator: {
|
|
440
|
+
type: import("vue").PropType<string>;
|
|
441
|
+
};
|
|
442
|
+
}>>, {
|
|
443
|
+
addCleaner: boolean;
|
|
444
|
+
}, {}>;
|
|
367
445
|
Button: {
|
|
368
446
|
new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
|
|
369
447
|
icon: {
|
|
@@ -610,6 +688,7 @@ export declare const Playground: {
|
|
|
610
688
|
onOpen?: (() => any) | undefined;
|
|
611
689
|
opener?: ((_: {}) => any) | import("vue").VNodeChild;
|
|
612
690
|
header?: ((_: {}) => any) | import("vue").VNodeChild;
|
|
691
|
+
widget?: import("vue").VNodeChild | ((_: {}) => any);
|
|
613
692
|
content?: ((_: {}) => any) | import("vue").VNodeChild;
|
|
614
693
|
contentList?: ((_: {}) => any) | import("vue").VNodeChild;
|
|
615
694
|
footer?: ((_: {}) => any) | import("vue").VNodeChild;
|