@topvisor/ui 1.5.10-animation.0 → 1.5.10-genRegionLabelData
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/{app-BbV6AslA.es.amd.js → app-C6mHPpb7.es.amd.js} +2 -2
- package/.chunks/app-C6mHPpb7.es.amd.js.map +1 -0
- package/.chunks/{app-BbV6AslA.es.js → app-C6mHPpb7.es.js} +12 -6
- package/.chunks/app-C6mHPpb7.es.js.map +1 -0
- package/.chunks/{datepicker-CpnGeB5y.es.amd.js → datepicker-DtdAe-rf.es.amd.js} +2 -2
- package/.chunks/{datepicker-CpnGeB5y.es.amd.js.map → datepicker-DtdAe-rf.es.amd.js.map} +1 -1
- package/.chunks/{datepicker-CpnGeB5y.es.js → datepicker-DtdAe-rf.es.js} +2 -2
- package/.chunks/{datepicker-CpnGeB5y.es.js.map → datepicker-DtdAe-rf.es.js.map} +1 -1
- package/.chunks/dialog-Cs7KfRxQ.es.amd.js +2 -0
- package/.chunks/dialog-Cs7KfRxQ.es.amd.js.map +1 -0
- package/.chunks/{dialog-CiK4MPcB.es.js → dialog-Cs7KfRxQ.es.js} +45 -30
- package/.chunks/dialog-Cs7KfRxQ.es.js.map +1 -0
- package/.chunks/dialog_regionSelectorRegions-CH8ppE6d.es.amd.js +2 -0
- package/.chunks/dialog_regionSelectorRegions-CH8ppE6d.es.amd.js.map +1 -0
- package/.chunks/dialog_regionSelectorRegions-CH8ppE6d.es.js +165 -0
- package/.chunks/dialog_regionSelectorRegions-CH8ppE6d.es.js.map +1 -0
- package/.chunks/forms-DrY7Q_VD.es.amd.js +2 -0
- package/.chunks/forms-DrY7Q_VD.es.amd.js.map +1 -0
- package/.chunks/{forms-CjJD60m3.es.js → forms-DrY7Q_VD.es.js} +138 -133
- package/.chunks/forms-DrY7Q_VD.es.js.map +1 -0
- package/.chunks/{formsExt-B9hGGznb.es.amd.js → formsExt-BgtDJL34.es.amd.js} +2 -2
- package/.chunks/{formsExt-B9hGGznb.es.amd.js.map → formsExt-BgtDJL34.es.amd.js.map} +1 -1
- package/.chunks/{formsExt-B9hGGznb.es.js → formsExt-BgtDJL34.es.js} +3 -3
- package/.chunks/{formsExt-B9hGGznb.es.js.map → formsExt-BgtDJL34.es.js.map} +1 -1
- package/.chunks/{notice-BSVUBQ4B.es.amd.js → notice-qj8gI3Vn.es.amd.js} +2 -2
- package/.chunks/{notice-BSVUBQ4B.es.amd.js.map → notice-qj8gI3Vn.es.amd.js.map} +1 -1
- package/.chunks/{notice-BSVUBQ4B.es.js → notice-qj8gI3Vn.es.js} +2 -2
- package/.chunks/{notice-BSVUBQ4B.es.js.map → notice-qj8gI3Vn.es.js.map} +1 -1
- package/.chunks/{popup-BoCCkzOM.es.amd.js → popup-CWtDQcwo.es.amd.js} +2 -2
- package/.chunks/{popup-BoCCkzOM.es.amd.js.map → popup-CWtDQcwo.es.amd.js.map} +1 -1
- package/.chunks/{popup-BoCCkzOM.es.js → popup-CWtDQcwo.es.js} +3 -3
- package/.chunks/{popup-BoCCkzOM.es.js.map → popup-CWtDQcwo.es.js.map} +1 -1
- package/.chunks/{popup-q1PRZblX.es.amd.js → popup-DQDuBLfC.es.amd.js} +2 -2
- package/.chunks/{popup-q1PRZblX.es.amd.js.map → popup-DQDuBLfC.es.amd.js.map} +1 -1
- package/.chunks/{popup-q1PRZblX.es.js → popup-DQDuBLfC.es.js} +3 -3
- package/.chunks/{popup-q1PRZblX.es.js.map → popup-DQDuBLfC.es.js.map} +1 -1
- package/.chunks/utils-D9A8uWOP.es.amd.js +2 -0
- package/.chunks/utils-D9A8uWOP.es.amd.js.map +1 -0
- package/.chunks/{utils-Xb6J5WcU.es.js → utils-D9A8uWOP.es.js} +3 -4
- package/.chunks/utils-D9A8uWOP.es.js.map +1 -0
- package/.chunks/{utils-DzPB2u_5.es.amd.js → utils-Dltd8Oce.es.amd.js} +2 -2
- package/.chunks/{utils-DzPB2u_5.es.amd.js.map → utils-Dltd8Oce.es.amd.js.map} +1 -1
- package/.chunks/{utils-DzPB2u_5.es.js → utils-Dltd8Oce.es.js} +4 -4
- package/.chunks/utils-Dltd8Oce.es.js.map +1 -0
- package/.chunks/{worker-F-Y1IEi2.es.amd.js → worker-C6E8GqL6.es.amd.js} +2 -2
- package/.chunks/{worker-F-Y1IEi2.es.amd.js.map → worker-C6E8GqL6.es.amd.js.map} +1 -1
- package/.chunks/{worker-F-Y1IEi2.es.js → worker-C6E8GqL6.es.js} +3 -3
- package/.chunks/{worker-F-Y1IEi2.es.js.map → worker-C6E8GqL6.es.js.map} +1 -1
- package/assets/forms.css +1 -1
- package/assets/formsExt.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 +3 -3
- package/dialog/dialog.amd.js +1 -1
- package/dialog/dialog.amd.js.map +1 -1
- package/dialog/dialog.js +2 -2
- 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 +284 -261
- package/icomoon/demo.html +15 -1
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +3 -1
- 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 +373 -370
- package/project/project.js.map +1 -1
- package/schedule/schedule.amd.js +1 -1
- package/schedule/schedule.amd.js.map +1 -1
- package/schedule/schedule.js +2 -2
- package/src/components/dialog/dialog/page/types.d.ts +10 -0
- package/src/components/project/regionSelector/dialog_regionSelectorRegions/types.d.ts +2 -4
- package/src/components/project/regionSelector/types.d.ts +4 -0
- package/src/core/core/core.d.ts +17 -0
- package/src/core/core/options.d.ts +4 -0
- package/src/core/plugins/core.d.ts +1 -1
- package/src/core/utils/searchers.d.ts +15 -0
- package/src/core/utils/string.d.ts +7 -2
- 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 +24 -7
- package/utils/searchers.js.map +1 -1
- package/utils/string.amd.js +2 -1
- package/utils/string.amd.js.map +1 -1
- package/utils/string.js +9 -2
- package/utils/string.js.map +1 -1
- package/.chunks/app-BbV6AslA.es.amd.js.map +0 -1
- package/.chunks/app-BbV6AslA.es.js.map +0 -1
- package/.chunks/dialog-CiK4MPcB.es.amd.js +0 -2
- package/.chunks/dialog-CiK4MPcB.es.amd.js.map +0 -1
- package/.chunks/dialog-CiK4MPcB.es.js.map +0 -1
- package/.chunks/dialog_regionSelectorRegions-CRUwGUuz.es.amd.js +0 -2
- package/.chunks/dialog_regionSelectorRegions-CRUwGUuz.es.amd.js.map +0 -1
- package/.chunks/dialog_regionSelectorRegions-CRUwGUuz.es.js +0 -168
- package/.chunks/dialog_regionSelectorRegions-CRUwGUuz.es.js.map +0 -1
- package/.chunks/forms-CjJD60m3.es.amd.js +0 -2
- package/.chunks/forms-CjJD60m3.es.amd.js.map +0 -1
- package/.chunks/forms-CjJD60m3.es.js.map +0 -1
- package/.chunks/utils-DzPB2u_5.es.js.map +0 -1
- package/.chunks/utils-Xb6J5WcU.es.amd.js +0 -2
- package/.chunks/utils-Xb6J5WcU.es.amd.js.map +0 -1
- package/.chunks/utils-Xb6J5WcU.es.js.map +0 -1
- package/src/components/dialog/dialog/stories/dialog_example/pages/utils.d.ts +0 -7
- package/src/components/project/groupSelector/stories/mocks/folders.d.ts +0 -4
- package/src/components/project/groupSelector/stories/mocks/groups.d.ts +0 -6
- package/src/components/project/groupSelector/stories/mocks/index.d.ts +0 -8
- package/src/components/project/groupSelector/stories/play/apiEditorMulti.d.ts +0 -2
- package/src/components/project/projectSelector/stories/mocks/index.d.ts +0 -5
- package/src/components/project/projectSelector/stories/mocks/projects.d.ts +0 -3
- package/src/components/schedule/schedule/stories/play/play.d.ts +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[".chunks/worker-F-Y1IEi2.es.js","../../src/components/popup/lib/worker.ts"],"names":["k2","k","desc","m","o","v","\"default\"","ownKeys","ar","mod","result","resolve_1","reject_1"],"mappings":"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","sourcesContent":["var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\ndefine([\"require\", \"exports\", \"./api-nVBtzTDk.es.js\", \"./forms-CjJD60m3.es.js\", \"../utils/dom.js\"], function (require, exports, api_nVBtzTDk_es_js_1, forms_CjJD60m3_es_js_1, dom_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.t = void 0;\n dom_js_1 = __importDefault(dom_js_1);\n //#region src/components/popup/lib/worker.ts\n var Worker = class Worker {\n static getPopup(e) {\n return dom_js_1.default.storage(e, \"TopPopup\");\n }\n static getParentPopup(e) {\n let t = Worker.getElPopup(e);\n if (!t)\n return;\n let n = Worker.getPopup(t);\n if (n)\n return n;\n }\n static getClosestPopup(e, t) {\n let n = Worker.getParentPopup(e);\n if (n && n.el)\n return n.el === t ? n : Worker.getClosestPopup(n.el, t);\n }\n static getElPopup(e) {\n return e.closest(\".top-popup-wrapper\");\n }\n static getElPopupOpener(e) {\n return e.closest(\"[data-top-popup]\");\n }\n static getPopupFromOpener(e) {\n let t = Worker.getElPopupOpener(e);\n return t ? dom_js_1.default.storage(t, \"#TopPopup\") : null;\n }\n static getAll() {\n return dom_js_1.default.querySelectorAllArray(document, \".top-popup-wrapper\");\n }\n static getAllVisible() {\n return dom_js_1.default.querySelectorAllVisible(document, \".top-popup-wrapper\");\n }\n static async openByOpener(e) {\n if (!(e instanceof HTMLElement))\n return;\n let t = {};\n return t.popup = e.dataset.topPopup, t.id = e.dataset.topPopupId, !t.id && t.popup && (e.dataset.topPopupId = btoa(String.fromCharCode(...new TextEncoder().encode(t.popup))), t.id = e.dataset.topPopupId), e.dataset.topPopupP && (t.p = parseInt(e.dataset.topPopupP)), e.dataset.topPopupPos && (t.p = parseInt(e.dataset.topPopupPos)), e.dataset.topPopupNotch && (t.notch = e.dataset.topPopupNotch === \"true\" || e.dataset.topPopupNotch === \"1\"), 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 === \"true\" || e.dataset.topPopupInvertX === \"1\"), e.dataset.topPopupOpenByHovertopPopupOpenByHover && (t.openByHover = e.dataset.topPopupOpenByHover === \"true\" || e.dataset.topPopupOpenByHover === \"1\"), e.dataset.topPopupUseOriginal && (t.useOriginal = e.dataset.topPopupUseOriginal === \"true\" || e.dataset.topPopupUseOriginal === \"1\"), await Worker.open(e, t);\n }\n static async open(elOpener, options) {\n elOpener instanceof HTMLElement && (elOpener.dataset.topPopupOpened = \"opened\");\n const { TopLibPopup } = await new Promise((resolve_1, reject_1) => { require([\"./popup-BoCCkzOM.es.js\"], resolve_1, reject_1); }).then(__importStar);\n if (forms_CjJD60m3_es_js_1.O.$) {\n const $elOpener = forms_CjJD60m3_es_js_1.O.$(elOpener);\n if ($elOpener.data(\"aftershow\")) {\n let afterShow = $elOpener.data(\"aftershow\");\n typeof afterShow == \"string\" && (afterShow = eval(afterShow.replace(/\\W/g, \"\"))), $elOpener.one(\"aftershow.top-menu-popup\", afterShow);\n }\n if ($elOpener.data(\"afterclose\")) {\n let afterclose = $elOpener.data(\"afterclose\");\n typeof afterclose == \"string\" && (afterclose = eval(afterclose.replace(/\\W/g, \"\"))), $elOpener.one(\"afterclose.top-menu-popup\", afterclose);\n }\n }\n return options.isFullScreen = forms_CjJD60m3_es_js_1.O.state.isMobile, new TopLibPopup(elOpener, options);\n }\n static close(e, t = !1) {\n let n = Worker.getPopup(e);\n if (n) {\n n.close();\n let e = n.el.contains(document.activeElement);\n t && !e && setTimeout(() => {\n let e = Worker.getParentPopup(n.el);\n if (e?.openerIsInput) {\n e.el.focus();\n return;\n }\n n.el.focus();\n });\n }\n }\n static recalcPosition(e) {\n let t = Worker.getPopup(e);\n t && t.elPopupBody instanceof HTMLElement && t.recalcPosition();\n }\n static scrollToActive(e) {\n if (!dom_js_1.default.querySelectorVisible(e, \"ul.top-popup_content > li > .top-active\"))\n return;\n let t = e.querySelector(\"ul.top-popup_content\"), n = dom_js_1.default.querySelectorAllVisible(e, \"ul.top-popup_content > li\");\n e.classList.add(\"top-popup-wrapper-no_animate\"), setTimeout(() => e.classList.remove(\"top-popup-wrapper-no_animate\"), 100);\n let r = 100;\n for (let e of n) {\n if (e.querySelector(\":scope > .top-active\"))\n break;\n e instanceof HTMLElement && (r += e.offsetHeight);\n }\n if (t instanceof HTMLElement) {\n let e = t.offsetHeight;\n t.scrollTop = r > e ? r - e : 0;\n }\n }\n static decoratorBeforeOpen(e) {\n this.options.decoratorBeforeOpen && this.options.decoratorBeforeOpen(e);\n }\n static decoratorAfterOpen(e) {\n this.options.decoratorAfterOpen && this.options.decoratorAfterOpen(e);\n }\n static decoratorIsIgnoreOuterClick(e) {\n return this.options.decoratorIsIgnoreOuterClick ? this.options.decoratorIsIgnoreOuterClick(e) : !1;\n }\n static regVueComponent(e, t) {\n if (Worker.vueConnectors.get(e))\n throw \"Vue component Popup use duplicated id: \" + e;\n Worker.vueConnectors.set(e, t);\n }\n static unregVueComponent(e) {\n Worker.vueConnectors.delete(e);\n }\n static genElPopupOpener(e, t, ...n) {\n let r = dom_js_1.default.genEl(e, {}, ...n);\n r.dataset.topPopup = \"#\" + t.id;\n for (let e in t) {\n let n = \"topPopup\" + e.charAt(0).toUpperCase() + e.slice(1);\n r.dataset[n] = t[e];\n }\n return r.__TopPopupOpenerProps = t, r;\n }\n };\n exports.t = Worker;\n (0, api_nVBtzTDk_es_js_1.o)(Worker, \"noClose\", !1), (0, api_nVBtzTDk_es_js_1.o)(Worker, \"vueConnectors\", /* @__PURE__ */ new Map()), (0, api_nVBtzTDk_es_js_1.o)(Worker, \"options\", {});\n});\n//# sourceMappingURL=worker-F-Y1IEi2.es.js.map\n","/**\n * PopupWorker управляет работой Popup\n *\n * Должен грузить TopLibPopup только в отложенном режиме\n */\n\nimport Core from '@/core/core/core';\nimport DOM from '@/core/utils/dom';\nimport type { PopupOptions, TopLibPopup } from '@/components/popup/lib/popup';\nimport type { OpenerProps } from '@/components/popup/popup/opener/types';\n\nexport type Options = {\n\t/**\n\t * Глобальное событие, которое будет вызвано перед открытием TopPopup\n\t */\n\tdecoratorBeforeOpen?: (popup: TopLibPopup) => void,\n\n\t/**\n\t * Глобальное событие, которое будет вызвано после открытия TopPopup\n\t */\n\tdecoratorAfterOpen?: (popup: TopLibPopup) => void;\n\n\t/**\n\t * Определитель того, что клик вне Popup нужно игнорировать\n\t * @returns {boolean} - если true, то click не приведет к закрытию Popup\n\t */\n\tdecoratorIsIgnoreOuterClick?: (e: MouseEvent) => boolean\n}\n\nclass Worker {\n\n\t/**\n\t * Глобальное выключение закрытия меню, используется при различных оверлеях\n\t */\n\tstatic noClose = false;\n\n\t/**\n\t * Для взаимодействия с vue\n\t */\n\tstatic vueConnectors = new Map();\n\n\tstatic options: Options = {};\n\n\t/**\n\t * Вернуть объект компонента popup, привязанный к элементу\n\t */\n\tstatic getPopup(elPopup: HTMLElement): TopLibPopup {\n\t\treturn DOM.storage(elPopup, 'TopPopup') as TopLibPopup;\n\t}\n\n\t/**\n\t * Получить родительский popup\n\t */\n\tstatic getParentPopup(el: HTMLElement): TopLibPopup | undefined {\n\t\tconst elPopup = Worker.getElPopup(el);\n\t\tif (!elPopup) return;\n\n\t\tconst parentPopup = Worker.getPopup(elPopup);\n\t\tif (!parentPopup) return;\n\n\t\treturn parentPopup;\n\t}\n\n\t/**\n\t * Найти родительский (или этот) popup, с указанным opener\n\t *\n\t * @param el Любой элемент внутри любого popup\n\t * @param elOpenerClosest Элемент opener для поиска нужного родительского popup\n\t */\n\tstatic getClosestPopup(el: HTMLElement, elOpenerClosest: HTMLElement): TopLibPopup | undefined {\n\t\tconst parentPopup = Worker.getParentPopup(el);\n\t\tif (!parentPopup) return;\n\n\t\tif (!parentPopup.el) return;\n\n\t\tif (parentPopup.el === elOpenerClosest) {\n\t\t\treturn parentPopup;\n\t\t}\n\n\t\treturn Worker.getClosestPopup(parentPopup.el, elOpenerClosest);\n\t}\n\n\tstatic getElPopup(el: HTMLElement): HTMLElement | null {\n\t\treturn el.closest<HTMLElement>('.top-popup-wrapper');\n\t}\n\n\tstatic getElPopupOpener(el: HTMLElement): HTMLElement | null {\n\t\treturn el.closest<HTMLElement>('[data-top-popup]');\n\t}\n\n\tstatic getPopupFromOpener(el: HTMLElement): TopLibPopup | null {\n\t\tconst elOpener = Worker.getElPopupOpener(el);\n\t\tif (!elOpener) return null;\n\n\t\treturn DOM.storage(elOpener, '#TopPopup');\n\t}\n\n\t/**\n\t * Вернуть все элементы с Popup\n\t */\n\tstatic getAll(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllArray(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Вернуть все элементы с открытыми Popup\n\t */\n\tstatic getAllVisible(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllVisible(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Открыть Popup от указанного elOpener\n\t * @param {HTMLElement} elOpener - элемент, который должен вызвать открытие Popup\n\t */\n\tstatic async openByOpener(elOpener: HTMLElement): Promise<TopLibPopup | undefined> {\n\t\tif (!(elOpener instanceof HTMLElement)) return;\n\n\t\tconst options: PopupOptions = {};\n\n\t\toptions.popup = elOpener.dataset.topPopup;\n\n\t\toptions.id = elOpener.dataset.topPopupId;\n\n\t\t/**\n\t\t * @deprecated в php шаблонах нет data-top-popup-id\n\t\t */\n\t\tif (!options.id && options.popup) {\n\t\t\telOpener.dataset.topPopupId = btoa(\n\t\t\t\tString.fromCharCode(...new TextEncoder().encode(options.popup))\n\t\t\t);\n\n\t\t\toptions.id = elOpener.dataset.topPopupId;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated topPopupP - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupP) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupP);\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupPos) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupPos);\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupNotch) {\n\t\t\toptions.notch = elOpener.dataset.topPopupNotch === 'true' || elOpener.dataset.topPopupNotch === '1';\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 as PopupOptions['posBy'];\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupFront) {\n\t\t\toptions.frontSelector = elOpener.dataset.topPopupFront;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupInvertX) {\n\t\t\toptions.invertX = elOpener.dataset.topPopupInvertX === 'true' || elOpener.dataset.topPopupInvertX === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupOpenByHovertopPopupOpenByHover) {\n\t\t\toptions.openByHover = elOpener.dataset.topPopupOpenByHover === 'true' || elOpener.dataset.topPopupOpenByHover === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupUseOriginal) {\n\t\t\toptions.useOriginal = elOpener.dataset.topPopupUseOriginal === 'true' || elOpener.dataset.topPopupUseOriginal === '1';\n\t\t}\n\n\t\treturn await Worker.open(elOpener, options);\n\t}\n\n\t/**\n\t * Создать и открыть Popup\n\t * @param elOpener - элемент, вызвавший открытие Popup\n\t * @param options - опции Popup\n\t */\n\tprivate static async open(elOpener: HTMLElement, options: PopupOptions): Promise<TopLibPopup> {\n\t\tif (elOpener instanceof HTMLElement) elOpener.dataset.topPopupOpened = 'opened';\n\n\t\tconst { TopLibPopup } = await import('./popup');\n\n\t\tif (Core.$) {\n\t\t\tconst $elOpener = Core.$(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\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\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\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\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\n\t\treturn new TopLibPopup(elOpener, options);\n\t}\n\n\tstatic close(elPopup: HTMLElement, restoreFocus = false): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\n\t\tif (popup) {\n\t\t\tpopup.close();\n\n\t\t\tconst isFocused = popup.el.contains(document.activeElement);\n\n\t\t\tif (restoreFocus && !isFocused) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst parentPopup = Worker.getParentPopup(popup.el);\n\t\t\t\t\tif (parentPopup?.openerIsInput) {\n\t\t\t\t\t\tparentPopup.el.focus();\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tpopup.el.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic recalcPosition(elPopup: HTMLElement): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\t\tif (popup && popup.elPopupBody instanceof HTMLElement) {\n\t\t\tpopup.recalcPosition();\n\t\t}\n\t}\n\n\t/**\n\t * Скролл к активному элементу списка\n\t */\n\tstatic scrollToActive(elPopup: HTMLElement): void {\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\tif (elLi instanceof HTMLElement) top += elLi.offsetHeight;\n\t\t}\n\n\t\tif (elUl instanceof HTMLElement) {\n\t\t\tconst heightWrapper = elUl.offsetHeight;\n\t\t\tif (top > heightWrapper) {\n\t\t\t\telUl.scrollTop = top - heightWrapper;\n\t\t\t} else {\n\t\t\t\telUl.scrollTop = 0;\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic decoratorBeforeOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorBeforeOpen) {\n\t\t\tthis.options.decoratorBeforeOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorAfterOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorAfterOpen) {\n\t\t\tthis.options.decoratorAfterOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorIsIgnoreOuterClick(e: MouseEvent): boolean {\n\t\tif (this.options.decoratorIsIgnoreOuterClick) {\n\t\t\treturn this.options.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 */\n\tstatic regVueComponent(id: string, vueConnector: any): void {\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 */\n\tstatic unregVueComponent(id: string): void {\n\t\tWorker.vueConnectors.delete(id);\n\t}\n\n\t/**\n\t * Сгенерировать элемент для открытия popup\n\t */\n\tstatic genElPopupOpener(tagName: string, props: OpenerProps, ...elsChildrens: HTMLElement[] | string[]): HTMLElement {\n\t\tconst el = DOM.genEl(tagName, {}, ...elsChildrens) as TopLibPopup['el'];\n\n\t\tel.dataset.topPopup = '#' + props.id;\n\n\t\t// if (props.pos === undefined) props.pos = '3';\n\t\t// if (props.notch === undefined) props.notch = true;\n\t\t// if (props.posBy === undefined) props.posBy = 'fixed';\n\n\t\tfor (const name in props) {\n\t\t\tconst attrName = 'topPopup' + name.charAt(0).toUpperCase() + name.slice(1);\n\n\t\t\tel.dataset[attrName] = props[name];\n\t\t}\n\n\t\tel.__TopPopupOpenerProps = props;\n\n\t\treturn el;\n\t}\n\n}\n\nexport default Worker;\n"]}
|
|
1
|
+
{"version":3,"sources":[".chunks/worker-C6E8GqL6.es.js","../../src/components/popup/lib/worker.ts"],"names":["k2","k","desc","m","o","v","\"default\"","ownKeys","ar","mod","result","resolve_1","reject_1"],"mappings":"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","sourcesContent":["var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\ndefine([\"require\", \"exports\", \"./api-nVBtzTDk.es.js\", \"./forms-DrY7Q_VD.es.js\", \"../utils/dom.js\"], function (require, exports, api_nVBtzTDk_es_js_1, forms_DrY7Q_VD_es_js_1, dom_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.t = void 0;\n dom_js_1 = __importDefault(dom_js_1);\n //#region src/components/popup/lib/worker.ts\n var Worker = class Worker {\n static getPopup(e) {\n return dom_js_1.default.storage(e, \"TopPopup\");\n }\n static getParentPopup(e) {\n let t = Worker.getElPopup(e);\n if (!t)\n return;\n let n = Worker.getPopup(t);\n if (n)\n return n;\n }\n static getClosestPopup(e, t) {\n let n = Worker.getParentPopup(e);\n if (n && n.el)\n return n.el === t ? n : Worker.getClosestPopup(n.el, t);\n }\n static getElPopup(e) {\n return e.closest(\".top-popup-wrapper\");\n }\n static getElPopupOpener(e) {\n return e.closest(\"[data-top-popup]\");\n }\n static getPopupFromOpener(e) {\n let t = Worker.getElPopupOpener(e);\n return t ? dom_js_1.default.storage(t, \"#TopPopup\") : null;\n }\n static getAll() {\n return dom_js_1.default.querySelectorAllArray(document, \".top-popup-wrapper\");\n }\n static getAllVisible() {\n return dom_js_1.default.querySelectorAllVisible(document, \".top-popup-wrapper\");\n }\n static async openByOpener(e) {\n if (!(e instanceof HTMLElement))\n return;\n let t = {};\n return t.popup = e.dataset.topPopup, t.id = e.dataset.topPopupId, !t.id && t.popup && (e.dataset.topPopupId = btoa(String.fromCharCode(...new TextEncoder().encode(t.popup))), t.id = e.dataset.topPopupId), e.dataset.topPopupP && (t.p = parseInt(e.dataset.topPopupP)), e.dataset.topPopupPos && (t.p = parseInt(e.dataset.topPopupPos)), e.dataset.topPopupNotch && (t.notch = e.dataset.topPopupNotch === \"true\" || e.dataset.topPopupNotch === \"1\"), 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 === \"true\" || e.dataset.topPopupInvertX === \"1\"), e.dataset.topPopupOpenByHovertopPopupOpenByHover && (t.openByHover = e.dataset.topPopupOpenByHover === \"true\" || e.dataset.topPopupOpenByHover === \"1\"), e.dataset.topPopupUseOriginal && (t.useOriginal = e.dataset.topPopupUseOriginal === \"true\" || e.dataset.topPopupUseOriginal === \"1\"), await Worker.open(e, t);\n }\n static async open(elOpener, options) {\n elOpener instanceof HTMLElement && (elOpener.dataset.topPopupOpened = \"opened\");\n const { TopLibPopup } = await new Promise((resolve_1, reject_1) => { require([\"./popup-CWtDQcwo.es.js\"], resolve_1, reject_1); }).then(__importStar);\n if (forms_DrY7Q_VD_es_js_1.O.$) {\n const $elOpener = forms_DrY7Q_VD_es_js_1.O.$(elOpener);\n if ($elOpener.data(\"aftershow\")) {\n let afterShow = $elOpener.data(\"aftershow\");\n typeof afterShow == \"string\" && (afterShow = eval(afterShow.replace(/\\W/g, \"\"))), $elOpener.one(\"aftershow.top-menu-popup\", afterShow);\n }\n if ($elOpener.data(\"afterclose\")) {\n let afterclose = $elOpener.data(\"afterclose\");\n typeof afterclose == \"string\" && (afterclose = eval(afterclose.replace(/\\W/g, \"\"))), $elOpener.one(\"afterclose.top-menu-popup\", afterclose);\n }\n }\n return options.isFullScreen = forms_DrY7Q_VD_es_js_1.O.state.isMobile, new TopLibPopup(elOpener, options);\n }\n static close(e, t = !1) {\n let n = Worker.getPopup(e);\n if (n) {\n n.close();\n let e = n.el.contains(document.activeElement);\n t && !e && setTimeout(() => {\n let e = Worker.getParentPopup(n.el);\n if (e?.openerIsInput) {\n e.el.focus();\n return;\n }\n n.el.focus();\n });\n }\n }\n static recalcPosition(e) {\n let t = Worker.getPopup(e);\n t && t.elPopupBody instanceof HTMLElement && t.recalcPosition();\n }\n static scrollToActive(e) {\n if (!dom_js_1.default.querySelectorVisible(e, \"ul.top-popup_content > li > .top-active\"))\n return;\n let t = e.querySelector(\"ul.top-popup_content\"), n = dom_js_1.default.querySelectorAllVisible(e, \"ul.top-popup_content > li\");\n e.classList.add(\"top-popup-wrapper-no_animate\"), setTimeout(() => e.classList.remove(\"top-popup-wrapper-no_animate\"), 100);\n let r = 100;\n for (let e of n) {\n if (e.querySelector(\":scope > .top-active\"))\n break;\n e instanceof HTMLElement && (r += e.offsetHeight);\n }\n if (t instanceof HTMLElement) {\n let e = t.offsetHeight;\n t.scrollTop = r > e ? r - e : 0;\n }\n }\n static decoratorBeforeOpen(e) {\n this.options.decoratorBeforeOpen && this.options.decoratorBeforeOpen(e);\n }\n static decoratorAfterOpen(e) {\n this.options.decoratorAfterOpen && this.options.decoratorAfterOpen(e);\n }\n static decoratorIsIgnoreOuterClick(e) {\n return this.options.decoratorIsIgnoreOuterClick ? this.options.decoratorIsIgnoreOuterClick(e) : !1;\n }\n static regVueComponent(e, t) {\n if (Worker.vueConnectors.get(e))\n throw \"Vue component Popup use duplicated id: \" + e;\n Worker.vueConnectors.set(e, t);\n }\n static unregVueComponent(e) {\n Worker.vueConnectors.delete(e);\n }\n static genElPopupOpener(e, t, ...n) {\n let r = dom_js_1.default.genEl(e, {}, ...n);\n r.dataset.topPopup = \"#\" + t.id;\n for (let e in t) {\n let n = \"topPopup\" + e.charAt(0).toUpperCase() + e.slice(1);\n r.dataset[n] = t[e];\n }\n return r.__TopPopupOpenerProps = t, r;\n }\n };\n exports.t = Worker;\n (0, api_nVBtzTDk_es_js_1.o)(Worker, \"noClose\", !1), (0, api_nVBtzTDk_es_js_1.o)(Worker, \"vueConnectors\", /* @__PURE__ */ new Map()), (0, api_nVBtzTDk_es_js_1.o)(Worker, \"options\", {});\n});\n//# sourceMappingURL=worker-C6E8GqL6.es.js.map\n","/**\n * PopupWorker управляет работой Popup\n *\n * Должен грузить TopLibPopup только в отложенном режиме\n */\n\nimport Core from '@/core/core/core';\nimport DOM from '@/core/utils/dom';\nimport type { PopupOptions, TopLibPopup } from '@/components/popup/lib/popup';\nimport type { OpenerProps } from '@/components/popup/popup/opener/types';\n\nexport type Options = {\n\t/**\n\t * Глобальное событие, которое будет вызвано перед открытием TopPopup\n\t */\n\tdecoratorBeforeOpen?: (popup: TopLibPopup) => void,\n\n\t/**\n\t * Глобальное событие, которое будет вызвано после открытия TopPopup\n\t */\n\tdecoratorAfterOpen?: (popup: TopLibPopup) => void;\n\n\t/**\n\t * Определитель того, что клик вне Popup нужно игнорировать\n\t * @returns {boolean} - если true, то click не приведет к закрытию Popup\n\t */\n\tdecoratorIsIgnoreOuterClick?: (e: MouseEvent) => boolean\n}\n\nclass Worker {\n\n\t/**\n\t * Глобальное выключение закрытия меню, используется при различных оверлеях\n\t */\n\tstatic noClose = false;\n\n\t/**\n\t * Для взаимодействия с vue\n\t */\n\tstatic vueConnectors = new Map();\n\n\tstatic options: Options = {};\n\n\t/**\n\t * Вернуть объект компонента popup, привязанный к элементу\n\t */\n\tstatic getPopup(elPopup: HTMLElement): TopLibPopup {\n\t\treturn DOM.storage(elPopup, 'TopPopup') as TopLibPopup;\n\t}\n\n\t/**\n\t * Получить родительский popup\n\t */\n\tstatic getParentPopup(el: HTMLElement): TopLibPopup | undefined {\n\t\tconst elPopup = Worker.getElPopup(el);\n\t\tif (!elPopup) return;\n\n\t\tconst parentPopup = Worker.getPopup(elPopup);\n\t\tif (!parentPopup) return;\n\n\t\treturn parentPopup;\n\t}\n\n\t/**\n\t * Найти родительский (или этот) popup, с указанным opener\n\t *\n\t * @param el Любой элемент внутри любого popup\n\t * @param elOpenerClosest Элемент opener для поиска нужного родительского popup\n\t */\n\tstatic getClosestPopup(el: HTMLElement, elOpenerClosest: HTMLElement): TopLibPopup | undefined {\n\t\tconst parentPopup = Worker.getParentPopup(el);\n\t\tif (!parentPopup) return;\n\n\t\tif (!parentPopup.el) return;\n\n\t\tif (parentPopup.el === elOpenerClosest) {\n\t\t\treturn parentPopup;\n\t\t}\n\n\t\treturn Worker.getClosestPopup(parentPopup.el, elOpenerClosest);\n\t}\n\n\tstatic getElPopup(el: HTMLElement): HTMLElement | null {\n\t\treturn el.closest<HTMLElement>('.top-popup-wrapper');\n\t}\n\n\tstatic getElPopupOpener(el: HTMLElement): HTMLElement | null {\n\t\treturn el.closest<HTMLElement>('[data-top-popup]');\n\t}\n\n\tstatic getPopupFromOpener(el: HTMLElement): TopLibPopup | null {\n\t\tconst elOpener = Worker.getElPopupOpener(el);\n\t\tif (!elOpener) return null;\n\n\t\treturn DOM.storage(elOpener, '#TopPopup');\n\t}\n\n\t/**\n\t * Вернуть все элементы с Popup\n\t */\n\tstatic getAll(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllArray(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Вернуть все элементы с открытыми Popup\n\t */\n\tstatic getAllVisible(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllVisible(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Открыть Popup от указанного elOpener\n\t * @param {HTMLElement} elOpener - элемент, который должен вызвать открытие Popup\n\t */\n\tstatic async openByOpener(elOpener: HTMLElement): Promise<TopLibPopup | undefined> {\n\t\tif (!(elOpener instanceof HTMLElement)) return;\n\n\t\tconst options: PopupOptions = {};\n\n\t\toptions.popup = elOpener.dataset.topPopup;\n\n\t\toptions.id = elOpener.dataset.topPopupId;\n\n\t\t/**\n\t\t * @deprecated в php шаблонах нет data-top-popup-id\n\t\t */\n\t\tif (!options.id && options.popup) {\n\t\t\telOpener.dataset.topPopupId = btoa(\n\t\t\t\tString.fromCharCode(...new TextEncoder().encode(options.popup))\n\t\t\t);\n\n\t\t\toptions.id = elOpener.dataset.topPopupId;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated topPopupP - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupP) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupP);\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupPos) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupPos);\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupNotch) {\n\t\t\toptions.notch = elOpener.dataset.topPopupNotch === 'true' || elOpener.dataset.topPopupNotch === '1';\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 as PopupOptions['posBy'];\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupFront) {\n\t\t\toptions.frontSelector = elOpener.dataset.topPopupFront;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupInvertX) {\n\t\t\toptions.invertX = elOpener.dataset.topPopupInvertX === 'true' || elOpener.dataset.topPopupInvertX === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupOpenByHovertopPopupOpenByHover) {\n\t\t\toptions.openByHover = elOpener.dataset.topPopupOpenByHover === 'true' || elOpener.dataset.topPopupOpenByHover === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupUseOriginal) {\n\t\t\toptions.useOriginal = elOpener.dataset.topPopupUseOriginal === 'true' || elOpener.dataset.topPopupUseOriginal === '1';\n\t\t}\n\n\t\treturn await Worker.open(elOpener, options);\n\t}\n\n\t/**\n\t * Создать и открыть Popup\n\t * @param elOpener - элемент, вызвавший открытие Popup\n\t * @param options - опции Popup\n\t */\n\tprivate static async open(elOpener: HTMLElement, options: PopupOptions): Promise<TopLibPopup> {\n\t\tif (elOpener instanceof HTMLElement) elOpener.dataset.topPopupOpened = 'opened';\n\n\t\tconst { TopLibPopup } = await import('./popup');\n\n\t\tif (Core.$) {\n\t\t\tconst $elOpener = Core.$(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\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\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\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\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\n\t\treturn new TopLibPopup(elOpener, options);\n\t}\n\n\tstatic close(elPopup: HTMLElement, restoreFocus = false): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\n\t\tif (popup) {\n\t\t\tpopup.close();\n\n\t\t\tconst isFocused = popup.el.contains(document.activeElement);\n\n\t\t\tif (restoreFocus && !isFocused) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst parentPopup = Worker.getParentPopup(popup.el);\n\t\t\t\t\tif (parentPopup?.openerIsInput) {\n\t\t\t\t\t\tparentPopup.el.focus();\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tpopup.el.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic recalcPosition(elPopup: HTMLElement): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\t\tif (popup && popup.elPopupBody instanceof HTMLElement) {\n\t\t\tpopup.recalcPosition();\n\t\t}\n\t}\n\n\t/**\n\t * Скролл к активному элементу списка\n\t */\n\tstatic scrollToActive(elPopup: HTMLElement): void {\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\tif (elLi instanceof HTMLElement) top += elLi.offsetHeight;\n\t\t}\n\n\t\tif (elUl instanceof HTMLElement) {\n\t\t\tconst heightWrapper = elUl.offsetHeight;\n\t\t\tif (top > heightWrapper) {\n\t\t\t\telUl.scrollTop = top - heightWrapper;\n\t\t\t} else {\n\t\t\t\telUl.scrollTop = 0;\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic decoratorBeforeOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorBeforeOpen) {\n\t\t\tthis.options.decoratorBeforeOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorAfterOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorAfterOpen) {\n\t\t\tthis.options.decoratorAfterOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorIsIgnoreOuterClick(e: MouseEvent): boolean {\n\t\tif (this.options.decoratorIsIgnoreOuterClick) {\n\t\t\treturn this.options.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 */\n\tstatic regVueComponent(id: string, vueConnector: any): void {\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 */\n\tstatic unregVueComponent(id: string): void {\n\t\tWorker.vueConnectors.delete(id);\n\t}\n\n\t/**\n\t * Сгенерировать элемент для открытия popup\n\t */\n\tstatic genElPopupOpener(tagName: string, props: OpenerProps, ...elsChildrens: HTMLElement[] | string[]): HTMLElement {\n\t\tconst el = DOM.genEl(tagName, {}, ...elsChildrens) as TopLibPopup['el'];\n\n\t\tel.dataset.topPopup = '#' + props.id;\n\n\t\t// if (props.pos === undefined) props.pos = '3';\n\t\t// if (props.notch === undefined) props.notch = true;\n\t\t// if (props.posBy === undefined) props.posBy = 'fixed';\n\n\t\tfor (const name in props) {\n\t\t\tconst attrName = 'topPopup' + name.charAt(0).toUpperCase() + name.slice(1);\n\n\t\t\tel.dataset[attrName] = props[name];\n\t\t}\n\n\t\tel.__TopPopupOpenerProps = props;\n\n\t\treturn el;\n\t}\n\n}\n\nexport default Worker;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { o as _defineProperty } from "./api-nVBtzTDk.es.js";
|
|
2
|
-
import { O as Core } from "./forms-
|
|
2
|
+
import { O as Core } from "./forms-DrY7Q_VD.es.js";
|
|
3
3
|
import dom_default from "../utils/dom.js";
|
|
4
4
|
//#region src/components/popup/lib/worker.ts
|
|
5
5
|
var Worker = class Worker {
|
|
@@ -39,7 +39,7 @@ var Worker = class Worker {
|
|
|
39
39
|
}
|
|
40
40
|
static async open(elOpener, options) {
|
|
41
41
|
elOpener instanceof HTMLElement && (elOpener.dataset.topPopupOpened = "opened");
|
|
42
|
-
const { TopLibPopup } = await import("./popup-
|
|
42
|
+
const { TopLibPopup } = await import("./popup-CWtDQcwo.es.js");
|
|
43
43
|
if (Core.$) {
|
|
44
44
|
const $elOpener = Core.$(elOpener);
|
|
45
45
|
if ($elOpener.data("aftershow")) {
|
|
@@ -116,4 +116,4 @@ _defineProperty(Worker, "noClose", !1), _defineProperty(Worker, "vueConnectors",
|
|
|
116
116
|
//#endregion
|
|
117
117
|
export { Worker as t };
|
|
118
118
|
|
|
119
|
-
//# sourceMappingURL=worker-
|
|
119
|
+
//# sourceMappingURL=worker-C6E8GqL6.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-F-Y1IEi2.es.js","names":[],"sources":["../../src/components/popup/lib/worker.ts"],"sourcesContent":["/**\n * PopupWorker управляет работой Popup\n *\n * Должен грузить TopLibPopup только в отложенном режиме\n */\n\nimport Core from '@/core/core/core';\nimport DOM from '@/core/utils/dom';\nimport type { PopupOptions, TopLibPopup } from '@/components/popup/lib/popup';\nimport type { OpenerProps } from '@/components/popup/popup/opener/types';\n\nexport type Options = {\n\t/**\n\t * Глобальное событие, которое будет вызвано перед открытием TopPopup\n\t */\n\tdecoratorBeforeOpen?: (popup: TopLibPopup) => void,\n\n\t/**\n\t * Глобальное событие, которое будет вызвано после открытия TopPopup\n\t */\n\tdecoratorAfterOpen?: (popup: TopLibPopup) => void;\n\n\t/**\n\t * Определитель того, что клик вне Popup нужно игнорировать\n\t * @returns {boolean} - если true, то click не приведет к закрытию Popup\n\t */\n\tdecoratorIsIgnoreOuterClick?: (e: MouseEvent) => boolean\n}\n\nclass Worker {\n\n\t/**\n\t * Глобальное выключение закрытия меню, используется при различных оверлеях\n\t */\n\tstatic noClose = false;\n\n\t/**\n\t * Для взаимодействия с vue\n\t */\n\tstatic vueConnectors = new Map();\n\n\tstatic options: Options = {};\n\n\t/**\n\t * Вернуть объект компонента popup, привязанный к элементу\n\t */\n\tstatic getPopup(elPopup: HTMLElement): TopLibPopup {\n\t\treturn DOM.storage(elPopup, 'TopPopup') as TopLibPopup;\n\t}\n\n\t/**\n\t * Получить родительский popup\n\t */\n\tstatic getParentPopup(el: HTMLElement): TopLibPopup | undefined {\n\t\tconst elPopup = Worker.getElPopup(el);\n\t\tif (!elPopup) return;\n\n\t\tconst parentPopup = Worker.getPopup(elPopup);\n\t\tif (!parentPopup) return;\n\n\t\treturn parentPopup;\n\t}\n\n\t/**\n\t * Найти родительский (или этот) popup, с указанным opener\n\t *\n\t * @param el Любой элемент внутри любого popup\n\t * @param elOpenerClosest Элемент opener для поиска нужного родительского popup\n\t */\n\tstatic getClosestPopup(el: HTMLElement, elOpenerClosest: HTMLElement): TopLibPopup | undefined {\n\t\tconst parentPopup = Worker.getParentPopup(el);\n\t\tif (!parentPopup) return;\n\n\t\tif (!parentPopup.el) return;\n\n\t\tif (parentPopup.el === elOpenerClosest) {\n\t\t\treturn parentPopup;\n\t\t}\n\n\t\treturn Worker.getClosestPopup(parentPopup.el, elOpenerClosest);\n\t}\n\n\tstatic getElPopup(el: HTMLElement): HTMLElement | null {\n\t\treturn el.closest<HTMLElement>('.top-popup-wrapper');\n\t}\n\n\tstatic getElPopupOpener(el: HTMLElement): HTMLElement | null {\n\t\treturn el.closest<HTMLElement>('[data-top-popup]');\n\t}\n\n\tstatic getPopupFromOpener(el: HTMLElement): TopLibPopup | null {\n\t\tconst elOpener = Worker.getElPopupOpener(el);\n\t\tif (!elOpener) return null;\n\n\t\treturn DOM.storage(elOpener, '#TopPopup');\n\t}\n\n\t/**\n\t * Вернуть все элементы с Popup\n\t */\n\tstatic getAll(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllArray(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Вернуть все элементы с открытыми Popup\n\t */\n\tstatic getAllVisible(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllVisible(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Открыть Popup от указанного elOpener\n\t * @param {HTMLElement} elOpener - элемент, который должен вызвать открытие Popup\n\t */\n\tstatic async openByOpener(elOpener: HTMLElement): Promise<TopLibPopup | undefined> {\n\t\tif (!(elOpener instanceof HTMLElement)) return;\n\n\t\tconst options: PopupOptions = {};\n\n\t\toptions.popup = elOpener.dataset.topPopup;\n\n\t\toptions.id = elOpener.dataset.topPopupId;\n\n\t\t/**\n\t\t * @deprecated в php шаблонах нет data-top-popup-id\n\t\t */\n\t\tif (!options.id && options.popup) {\n\t\t\telOpener.dataset.topPopupId = btoa(\n\t\t\t\tString.fromCharCode(...new TextEncoder().encode(options.popup))\n\t\t\t);\n\n\t\t\toptions.id = elOpener.dataset.topPopupId;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated topPopupP - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupP) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupP);\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupPos) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupPos);\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupNotch) {\n\t\t\toptions.notch = elOpener.dataset.topPopupNotch === 'true' || elOpener.dataset.topPopupNotch === '1';\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 as PopupOptions['posBy'];\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupFront) {\n\t\t\toptions.frontSelector = elOpener.dataset.topPopupFront;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupInvertX) {\n\t\t\toptions.invertX = elOpener.dataset.topPopupInvertX === 'true' || elOpener.dataset.topPopupInvertX === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupOpenByHovertopPopupOpenByHover) {\n\t\t\toptions.openByHover = elOpener.dataset.topPopupOpenByHover === 'true' || elOpener.dataset.topPopupOpenByHover === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupUseOriginal) {\n\t\t\toptions.useOriginal = elOpener.dataset.topPopupUseOriginal === 'true' || elOpener.dataset.topPopupUseOriginal === '1';\n\t\t}\n\n\t\treturn await Worker.open(elOpener, options);\n\t}\n\n\t/**\n\t * Создать и открыть Popup\n\t * @param elOpener - элемент, вызвавший открытие Popup\n\t * @param options - опции Popup\n\t */\n\tprivate static async open(elOpener: HTMLElement, options: PopupOptions): Promise<TopLibPopup> {\n\t\tif (elOpener instanceof HTMLElement) elOpener.dataset.topPopupOpened = 'opened';\n\n\t\tconst { TopLibPopup } = await import('./popup');\n\n\t\tif (Core.$) {\n\t\t\tconst $elOpener = Core.$(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\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\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\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\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\n\t\treturn new TopLibPopup(elOpener, options);\n\t}\n\n\tstatic close(elPopup: HTMLElement, restoreFocus = false): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\n\t\tif (popup) {\n\t\t\tpopup.close();\n\n\t\t\tconst isFocused = popup.el.contains(document.activeElement);\n\n\t\t\tif (restoreFocus && !isFocused) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst parentPopup = Worker.getParentPopup(popup.el);\n\t\t\t\t\tif (parentPopup?.openerIsInput) {\n\t\t\t\t\t\tparentPopup.el.focus();\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tpopup.el.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic recalcPosition(elPopup: HTMLElement): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\t\tif (popup && popup.elPopupBody instanceof HTMLElement) {\n\t\t\tpopup.recalcPosition();\n\t\t}\n\t}\n\n\t/**\n\t * Скролл к активному элементу списка\n\t */\n\tstatic scrollToActive(elPopup: HTMLElement): void {\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\tif (elLi instanceof HTMLElement) top += elLi.offsetHeight;\n\t\t}\n\n\t\tif (elUl instanceof HTMLElement) {\n\t\t\tconst heightWrapper = elUl.offsetHeight;\n\t\t\tif (top > heightWrapper) {\n\t\t\t\telUl.scrollTop = top - heightWrapper;\n\t\t\t} else {\n\t\t\t\telUl.scrollTop = 0;\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic decoratorBeforeOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorBeforeOpen) {\n\t\t\tthis.options.decoratorBeforeOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorAfterOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorAfterOpen) {\n\t\t\tthis.options.decoratorAfterOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorIsIgnoreOuterClick(e: MouseEvent): boolean {\n\t\tif (this.options.decoratorIsIgnoreOuterClick) {\n\t\t\treturn this.options.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 */\n\tstatic regVueComponent(id: string, vueConnector: any): void {\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 */\n\tstatic unregVueComponent(id: string): void {\n\t\tWorker.vueConnectors.delete(id);\n\t}\n\n\t/**\n\t * Сгенерировать элемент для открытия popup\n\t */\n\tstatic genElPopupOpener(tagName: string, props: OpenerProps, ...elsChildrens: HTMLElement[] | string[]): HTMLElement {\n\t\tconst el = DOM.genEl(tagName, {}, ...elsChildrens) as TopLibPopup['el'];\n\n\t\tel.dataset.topPopup = '#' + props.id;\n\n\t\t// if (props.pos === undefined) props.pos = '3';\n\t\t// if (props.notch === undefined) props.notch = true;\n\t\t// if (props.posBy === undefined) props.posBy = 'fixed';\n\n\t\tfor (const name in props) {\n\t\t\tconst attrName = 'topPopup' + name.charAt(0).toUpperCase() + name.slice(1);\n\n\t\t\tel.dataset[attrName] = props[name];\n\t\t}\n\n\t\tel.__TopPopupOpenerProps = props;\n\n\t\treturn el;\n\t}\n\n}\n\nexport default Worker;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker-C6E8GqL6.es.js","names":[],"sources":["../../src/components/popup/lib/worker.ts"],"sourcesContent":["/**\n * PopupWorker управляет работой Popup\n *\n * Должен грузить TopLibPopup только в отложенном режиме\n */\n\nimport Core from '@/core/core/core';\nimport DOM from '@/core/utils/dom';\nimport type { PopupOptions, TopLibPopup } from '@/components/popup/lib/popup';\nimport type { OpenerProps } from '@/components/popup/popup/opener/types';\n\nexport type Options = {\n\t/**\n\t * Глобальное событие, которое будет вызвано перед открытием TopPopup\n\t */\n\tdecoratorBeforeOpen?: (popup: TopLibPopup) => void,\n\n\t/**\n\t * Глобальное событие, которое будет вызвано после открытия TopPopup\n\t */\n\tdecoratorAfterOpen?: (popup: TopLibPopup) => void;\n\n\t/**\n\t * Определитель того, что клик вне Popup нужно игнорировать\n\t * @returns {boolean} - если true, то click не приведет к закрытию Popup\n\t */\n\tdecoratorIsIgnoreOuterClick?: (e: MouseEvent) => boolean\n}\n\nclass Worker {\n\n\t/**\n\t * Глобальное выключение закрытия меню, используется при различных оверлеях\n\t */\n\tstatic noClose = false;\n\n\t/**\n\t * Для взаимодействия с vue\n\t */\n\tstatic vueConnectors = new Map();\n\n\tstatic options: Options = {};\n\n\t/**\n\t * Вернуть объект компонента popup, привязанный к элементу\n\t */\n\tstatic getPopup(elPopup: HTMLElement): TopLibPopup {\n\t\treturn DOM.storage(elPopup, 'TopPopup') as TopLibPopup;\n\t}\n\n\t/**\n\t * Получить родительский popup\n\t */\n\tstatic getParentPopup(el: HTMLElement): TopLibPopup | undefined {\n\t\tconst elPopup = Worker.getElPopup(el);\n\t\tif (!elPopup) return;\n\n\t\tconst parentPopup = Worker.getPopup(elPopup);\n\t\tif (!parentPopup) return;\n\n\t\treturn parentPopup;\n\t}\n\n\t/**\n\t * Найти родительский (или этот) popup, с указанным opener\n\t *\n\t * @param el Любой элемент внутри любого popup\n\t * @param elOpenerClosest Элемент opener для поиска нужного родительского popup\n\t */\n\tstatic getClosestPopup(el: HTMLElement, elOpenerClosest: HTMLElement): TopLibPopup | undefined {\n\t\tconst parentPopup = Worker.getParentPopup(el);\n\t\tif (!parentPopup) return;\n\n\t\tif (!parentPopup.el) return;\n\n\t\tif (parentPopup.el === elOpenerClosest) {\n\t\t\treturn parentPopup;\n\t\t}\n\n\t\treturn Worker.getClosestPopup(parentPopup.el, elOpenerClosest);\n\t}\n\n\tstatic getElPopup(el: HTMLElement): HTMLElement | null {\n\t\treturn el.closest<HTMLElement>('.top-popup-wrapper');\n\t}\n\n\tstatic getElPopupOpener(el: HTMLElement): HTMLElement | null {\n\t\treturn el.closest<HTMLElement>('[data-top-popup]');\n\t}\n\n\tstatic getPopupFromOpener(el: HTMLElement): TopLibPopup | null {\n\t\tconst elOpener = Worker.getElPopupOpener(el);\n\t\tif (!elOpener) return null;\n\n\t\treturn DOM.storage(elOpener, '#TopPopup');\n\t}\n\n\t/**\n\t * Вернуть все элементы с Popup\n\t */\n\tstatic getAll(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllArray(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Вернуть все элементы с открытыми Popup\n\t */\n\tstatic getAllVisible(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllVisible(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Открыть Popup от указанного elOpener\n\t * @param {HTMLElement} elOpener - элемент, который должен вызвать открытие Popup\n\t */\n\tstatic async openByOpener(elOpener: HTMLElement): Promise<TopLibPopup | undefined> {\n\t\tif (!(elOpener instanceof HTMLElement)) return;\n\n\t\tconst options: PopupOptions = {};\n\n\t\toptions.popup = elOpener.dataset.topPopup;\n\n\t\toptions.id = elOpener.dataset.topPopupId;\n\n\t\t/**\n\t\t * @deprecated в php шаблонах нет data-top-popup-id\n\t\t */\n\t\tif (!options.id && options.popup) {\n\t\t\telOpener.dataset.topPopupId = btoa(\n\t\t\t\tString.fromCharCode(...new TextEncoder().encode(options.popup))\n\t\t\t);\n\n\t\t\toptions.id = elOpener.dataset.topPopupId;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated topPopupP - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupP) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupP);\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupPos) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupPos);\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupNotch) {\n\t\t\toptions.notch = elOpener.dataset.topPopupNotch === 'true' || elOpener.dataset.topPopupNotch === '1';\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 as PopupOptions['posBy'];\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupFront) {\n\t\t\toptions.frontSelector = elOpener.dataset.topPopupFront;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupInvertX) {\n\t\t\toptions.invertX = elOpener.dataset.topPopupInvertX === 'true' || elOpener.dataset.topPopupInvertX === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupOpenByHovertopPopupOpenByHover) {\n\t\t\toptions.openByHover = elOpener.dataset.topPopupOpenByHover === 'true' || elOpener.dataset.topPopupOpenByHover === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupUseOriginal) {\n\t\t\toptions.useOriginal = elOpener.dataset.topPopupUseOriginal === 'true' || elOpener.dataset.topPopupUseOriginal === '1';\n\t\t}\n\n\t\treturn await Worker.open(elOpener, options);\n\t}\n\n\t/**\n\t * Создать и открыть Popup\n\t * @param elOpener - элемент, вызвавший открытие Popup\n\t * @param options - опции Popup\n\t */\n\tprivate static async open(elOpener: HTMLElement, options: PopupOptions): Promise<TopLibPopup> {\n\t\tif (elOpener instanceof HTMLElement) elOpener.dataset.topPopupOpened = 'opened';\n\n\t\tconst { TopLibPopup } = await import('./popup');\n\n\t\tif (Core.$) {\n\t\t\tconst $elOpener = Core.$(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\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\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\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\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\n\t\treturn new TopLibPopup(elOpener, options);\n\t}\n\n\tstatic close(elPopup: HTMLElement, restoreFocus = false): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\n\t\tif (popup) {\n\t\t\tpopup.close();\n\n\t\t\tconst isFocused = popup.el.contains(document.activeElement);\n\n\t\t\tif (restoreFocus && !isFocused) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst parentPopup = Worker.getParentPopup(popup.el);\n\t\t\t\t\tif (parentPopup?.openerIsInput) {\n\t\t\t\t\t\tparentPopup.el.focus();\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tpopup.el.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic recalcPosition(elPopup: HTMLElement): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\t\tif (popup && popup.elPopupBody instanceof HTMLElement) {\n\t\t\tpopup.recalcPosition();\n\t\t}\n\t}\n\n\t/**\n\t * Скролл к активному элементу списка\n\t */\n\tstatic scrollToActive(elPopup: HTMLElement): void {\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\tif (elLi instanceof HTMLElement) top += elLi.offsetHeight;\n\t\t}\n\n\t\tif (elUl instanceof HTMLElement) {\n\t\t\tconst heightWrapper = elUl.offsetHeight;\n\t\t\tif (top > heightWrapper) {\n\t\t\t\telUl.scrollTop = top - heightWrapper;\n\t\t\t} else {\n\t\t\t\telUl.scrollTop = 0;\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic decoratorBeforeOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorBeforeOpen) {\n\t\t\tthis.options.decoratorBeforeOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorAfterOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorAfterOpen) {\n\t\t\tthis.options.decoratorAfterOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorIsIgnoreOuterClick(e: MouseEvent): boolean {\n\t\tif (this.options.decoratorIsIgnoreOuterClick) {\n\t\t\treturn this.options.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 */\n\tstatic regVueComponent(id: string, vueConnector: any): void {\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 */\n\tstatic unregVueComponent(id: string): void {\n\t\tWorker.vueConnectors.delete(id);\n\t}\n\n\t/**\n\t * Сгенерировать элемент для открытия popup\n\t */\n\tstatic genElPopupOpener(tagName: string, props: OpenerProps, ...elsChildrens: HTMLElement[] | string[]): HTMLElement {\n\t\tconst el = DOM.genEl(tagName, {}, ...elsChildrens) as TopLibPopup['el'];\n\n\t\tel.dataset.topPopup = '#' + props.id;\n\n\t\t// if (props.pos === undefined) props.pos = '3';\n\t\t// if (props.notch === undefined) props.notch = true;\n\t\t// if (props.posBy === undefined) props.posBy = 'fixed';\n\n\t\tfor (const name in props) {\n\t\t\tconst attrName = 'topPopup' + name.charAt(0).toUpperCase() + name.slice(1);\n\n\t\t\tel.dataset[attrName] = props[name];\n\t\t}\n\n\t\tel.__TopPopupOpenerProps = props;\n\n\t\treturn el;\n\t}\n\n}\n\nexport default Worker;\n"],"mappings":"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"}
|
package/assets/forms.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.top-avatar{width:var(--v232d06f8);height:var(--v232d06f8);flex-grow:0;flex-shrink:0;display:flex;position:relative;top:0;left:0}.top-avatar_image{border-radius:50%;width:100%;height:100%}.top-avatar_status{border:2px solid var(--color-layout-front-1);background-color:var(--color-bg-positive-1);border-radius:50%;width:25%;height:25%;position:absolute;bottom:0;right:0}.top-button{cursor:pointer;box-sizing:border-box;box-shadow:var(--top-button-box-shadow);border-radius:var(--top-forms-radius);border:var(--top-forms-border-width) solid var(--top-forms-border-color);background-color:var(--top-button-background-color);height:var(--top-forms-base-height);padding-right:var(--top-forms-padding);padding-left:var(--top-forms-padding);color:var(--top-button-color);white-space:nowrap;justify-content:center;align-items:center;line-height:1;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.top-button:hover{box-shadow:var(--top-button-box-shadow-hover);background-color:var(--top-button-background-color-hover)}.top-button:active{box-shadow:var(--top-button-box-shadow-active);background-color:var(--top-button-background-color-active)}.top-button.top-active{box-shadow:var(--top-button-box-shadow-selected);background-color:var(--top-button-background-color-selected)}.top-button.top-button-progress{cursor:help;background-image:linear-gradient(-45deg,#fff3 25%,#0000 25% 50%,#fff3 50% 75%,#0000 75%,#0000);background-size:32px 32px;animation:1s linear infinite progress;box-shadow:inset 0 0 64px #00000080}@keyframes progress{0%{background-position-x:0}to{background-position-x:32px}}a.top-button,button.top-button{min-width:100px;text-decoration:none}.top-button.top-button-autoWidth{min-width:auto}button.top-selector2{width:180px}a.top-button,a.top-button:hover{min-width:var(--top-forms-base-height);text-decoration:none}.top-button[data-top-icon]:not(:empty):not(.top-button-withoutText),.top-button[data-top-icon2]:not(:empty):not(.top-button-withoutText){text-align:left;justify-content:flex-start}.top-button[data-top-icon]{padding-left:0}.top-button[data-top-icon2]{padding-right:var(--top-selector-arrow-width)}.top-button[data-top-icon2]:after{margin-left:auto}.top-button:empty,.top-button.top-button-withoutText{min-width:var(--top-forms-base-height)}.top-button[data-top-icon]:empty,.top-button[data-top-icon2]:empty,.top-button[data-top-icon].top-button-withoutText,.top-button[data-top-icon2].top-button-withoutText{padding-left:0;padding-right:0}.top-button.top-color_blue{--top-button-background-color:var(--color-bg-primary-1)}.top-button.top-color_green{--top-button-background-color:var(--color-bg-positive-1)}.top-button.top-color_orange{--top-button-background-color:var(--color-bg-warning-1)}.top-button.top-color_red{--top-button-background-color:var(--color-bg-negative-1)}.top-button.top-color_pink{--top-button-background-color:var(--color-bg-info-1)}.top-button.top-color_brand{--top-button-color:var(--color-text-1-inverse);--top-button-background-color:var(--color-brand-1)}.top-button.top-color_theme{--top-button-box-shadow-hover:none;--top-button-box-shadow-active:none;--top-button-box-shadow-selected:none;--top-icon-color:var(--color-text-2);--top-icon2-color:var(--color-text-2);--top-button-color:var(--color-text-1);--top-button-background-color:transparent;--top-button-background-color-hover:var(--color-layer-1);--top-button-background-color-active:var(--color-layer-3);--top-button-background-color-selected:var(--color-layer-2)}.top-button.top-color_theme:hover{--top-icon-color:var(--color-text-1);--top-icon2-color:var(--color-text-1)}.top-button.top-color_theme.top-active{--top-icon-color:var(--color-text-2);--top-icon2-color:var(--color-text-2)}.top-button.top-style_outline{--top-button-box-shadow:none;--top-button-box-shadow-hover:none;--top-button-box-shadow-active:none;--top-button-box-shadow-selected:none;--top-button-background-color:var(--color-layout-front-1);--top-forms-border-width:1px}.top-button.top-style_outline.top-color_theme{--top-button-color:var(--color-text-2);--top-icon-color:var(--color-text-2);--top-icon2-color:var(--color-text-2);--top-button-background-color-hover:var(--color-layer-1);--top-button-background-color-active:var(--color-layer-2);--top-button-background-color-selected:var(--color-layer-3);--top-forms-border-color:var(--color-line-3)}.top-button.top-style_outline.top-color_theme:hover{--top-forms-border-color:var(--color-line-4)}.top-button.top-style_outline.top-color_blue{--top-button-color:var(--color-text-primary);--top-icon-color:var(--color-text-primary);--top-icon2-color:var(--color-text-primary);--top-button-background-color-hover:var(--color-layer-primary-1);--top-button-background-color-active:var(--color-layer-primary-2);--top-button-background-color-selected:var(--color-layer-primary-3);--top-forms-border-color:var(--color-line-primary-1)}.top-button.top-style_outline.top-color_blue:hover{--top-forms-border-color:var(--color-line-primary-2)}.top-button.top-style_outline.top-color_green{--top-button-color:var(--color-text-positive);--top-icon-color:var(--color-text-positive);--top-icon2-color:var(--color-text-positive);--top-button-background-color-hover:var(--color-layer-positive-1);--top-button-background-color-active:var(--color-layer-positive-2);--top-button-background-color-selected:var(--color-layer-positive-3);--top-forms-border-color:var(--color-line-positive-1)}.top-button.top-style_outline.top-color_green:hover{--top-forms-border-color:var(--color-line-positive-2)}.top-button.top-style_outline.top-color_orange{--top-button-color:var(--color-text-warning);--top-icon-color:var(--color-text-warning);--top-icon2-color:var(--color-text-warning);--top-button-background-color-hover:var(--color-layer-warning-1);--top-button-background-color-active:var(--color-layer-warning-2);--top-button-background-color-selected:var(--color-layer-warning-3);--top-forms-border-color:var(--color-line-warning-1)}.top-button.top-style_outline.top-color_orange:hover{--top-forms-border-color:var(--color-line-warning-2)}.top-button.top-style_outline.top-color_red{--top-button-color:var(--color-text-negative);--top-icon-color:var(--color-text-negative);--top-icon2-color:var(--color-text-negative);--top-button-background-color-hover:var(--color-layer-negative-1);--top-button-background-color-active:var(--color-layer-negative-2);--top-button-background-color-selected:var(--color-layer-negative-3);--top-forms-border-color:var(--color-line-negative-1)}.top-button.top-style_outline.top-color_red:hover{--top-forms-border-color:var(--color-line-negative-2)}.top-button.top-style_outline.top-color_pink{--top-button-color:var(--color-text-info);--top-icon-color:var(--color-text-info);--top-icon2-color:var(--color-text-info);--top-button-background-color-hover:var(--color-layer-info-1);--top-button-background-color-active:var(--color-layer-info-2);--top-button-background-color-selected:var(--color-layer-info-3);--top-forms-border-color:var(--color-line-info-1)}.top-button.top-style_outline.top-color_pink:hover{--top-forms-border-color:var(--color-line-info-2)}.top-button.top-style_outline.top-color_brand{--top-button-color:var(--color-brand-1);--top-icon-color:var(--color-brand-1);--top-icon2-color:var(--color-brand-1);--top-button-background-color-hover:var(--color-layer-1);--top-button-background-color-active:var(--color-layer-2);--top-button-background-color-selected:var(--color-layer-3);--top-forms-border-color:var(--color-brand-1)}.top-button.top-style_outline.top-color_brand:hover{--top-forms-border-color:var(--color-brand-2)}.top-button.top-style_soft{--top-shadow-darken-1:none;--top-shadow-darken-2:none;--top-shadow-darken-3:none}.top-button.top-style_soft.top-color_theme{--top-button-color:var(--color-text-1);--top-icon-color:var(--color-text-1);--top-icon2-color:var(--color-text-1);--top-button-background-color:var(--color-layer-1);--top-button-background-color-hover:var(--color-layer-2);--top-button-background-color-active:var(--color-layer-3);--top-button-background-color-selected:var(--color-layer-3)}.top-button.top-style_soft.top-color_blue{--top-button-color:var(--color-text-primary);--top-icon-color:var(--color-text-primary);--top-icon2-color:var(--color-text-primary);--top-button-background-color:var(--color-layer-primary-1);--top-button-background-color-hover:var(--color-layer-primary-2);--top-button-background-color-active:var(--color-layer-primary-3);--top-button-background-color-selected:var(--color-layer-primary-3)}.top-button.top-style_soft.top-color_green{--top-button-color:var(--color-text-positive);--top-icon-color:var(--color-text-positive);--top-icon2-color:var(--color-text-positive);--top-button-background-color:var(--color-layer-positive-1);--top-button-background-color-hover:var(--color-layer-positive-2);--top-button-background-color-active:var(--color-layer-positive-3);--top-button-background-color-selected:var(--color-layer-positive-3)}.top-button.top-style_soft.top-color_orange{--top-button-color:var(--color-text-warning);--top-icon-color:var(--color-text-warning);--top-icon2-color:var(--color-text-warning);--top-button-background-color:var(--color-layer-warning-1);--top-button-background-color-hover:var(--color-layer-warning-2);--top-button-background-color-active:var(--color-layer-warning-3);--top-button-background-color-selected:var(--color-layer-warning-3)}.top-button.top-style_soft.top-color_red{--top-button-color:var(--color-text-negative);--top-icon-color:var(--color-text-negative);--top-icon2-color:var(--color-text-negative);--top-button-background-color:var(--color-layer-negative-1);--top-button-background-color-hover:var(--color-layer-negative-2);--top-button-background-color-active:var(--color-layer-negative-3);--top-button-background-color-selected:var(--color-layer-negative-3)}.top-button.top-style_soft.top-color_pink{--top-button-color:var(--color-text-info);--top-icon-color:var(--color-text-info);--top-icon2-color:var(--color-text-info);--top-button-background-color:var(--color-layer-info-1);--top-button-background-color-hover:var(--color-layer-info-2);--top-button-background-color-active:var(--color-layer-info-3);--top-button-background-color-selected:var(--color-layer-info-3)}.top-button.top-style_soft.top-color_brand{--top-button-color:var(--color-brand-1);--top-icon-color:var(--color-brand-1);--top-icon2-color:var(--color-brand-1);--top-button-background-color:var(--color-layer-1);--top-button-background-color-hover:var(--color-layer-2);--top-button-background-color-active:var(--color-layer-3);--top-button-background-color-selected:var(--color-layer-3)}.top-button.top-style_transparent{--top-shadow-darken-1:none;--top-shadow-darken-2:none;--top-shadow-darken-3:none;--top-button-color:var(--color-text);--top-button-background-color:transparent;--top-button-background-color-hover:transparent;--top-button-background-color-active:transparent;--top-button-background-color-selected:var(--color-layer-3)}.top-button.top-style_transparent:hover{opacity:.8}.top-button.top-style_transparent.top-color_blue{--top-button-color:var(--color-text-primary)}.top-button.top-style_transparent.top-color_green{--top-button-color:var(--color-text-positive)}.top-button.top-style_transparent.top-color_orange{--top-button-color:var(--color-text-warning)}.top-button.top-style_transparent.top-color_red{--top-button-color:var(--color-text-negative)}.top-button.top-style_transparent.top-color_pink{--top-button-color:var(--color-text-info)}.top-button.top-style_transparent.top-color_brand{--top-button-color:var(--color-brand-1)}.top-button{--top-button-color:var(--color-white);--top-button-background-color:transparent;--top-button-background-color-hover:var(--top-button-background-color);--top-button-background-color-active:var(--top-button-background-color-hover);--top-button-background-color-selected:var(--top-button-background-color-hover);--top-button-box-shadow:none;--top-button-box-shadow-hover:var(--top-shadow-darken-2);--top-button-box-shadow-active:var(--top-shadow-darken-3);--top-button-box-shadow-selected:var(--top-shadow-darken-3);--top-forms-border-width:0px;--top-icon-width:calc(var(--top-icon-size) + var(--top-forms-padding));--top-icon2-width:calc(var(--top-icon2-size) + var(--top-forms-padding))}.top-button>span{pointer-events:none}.top-button>.top-ellipsis{flex-grow:0}.top-button.top-size_xs{--top-forms-padding:var(--top-forms-padding_xs);--top-forms-base-height:var(--top-forms-base-height_xs)}.top-button.top-size_m{--top-forms-padding:var(--top-forms-padding_m);--top-forms-base-height:var(--top-forms-base-height_m)}.top-button.top-size_l{--top-forms-padding:var(--top-forms-padding_l);--top-forms-base-height:var(--top-forms-base-height_l)}.top-button_badge-afterText{order:100}.top-button:not([data-top-icon2])>.top-button_badge-afterText{margin-left:0}.top-caption{gap:var(--top-gap-1);flex-direction:column;display:flex}.top-caption_text{color:var(--color-text-3);font-size:12px}.top-forms-optionLabel{flex-grow:1}.top-forms-optionLabel_title{color:var(--color-text-1);min-height:var(--top-forms-option-height);align-items:center;display:flex}.top-forms-optionLabel_title-disabled{color:var(--color-text-3)}.top-forms-optionLabel_description{color:var(--color-text-2);font-size:.85em;line-height:var(--top-forms-option-height)}.top-forms-optionLabel_description-disabled{color:var(--color-text-3)}.top-checkbox{cursor:pointer;display:inline-flex}.top-checkbox_input{cursor:inherit;background:var(--color-layout-front-1);border:1px solid var(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2);border-radius:4px}.top-checkbox_input:before{content:"";color:#fff;font-family:Topvisor-2;font-size:16px;line-height:1}.top-checkbox_input:hover{border-color:var(--top-forms-border-color-hover);background:var(--color-layer-primary-1)}.top-checkbox_input:checked,.top-checkbox_input:indeterminate{border-color:var(--top-forms-option-color);background:var(--top-forms-option-color)}.top-checkbox_input:checked:before{content:""}.top-checkbox_input:indeterminate:before{content:""}.top-checkbox_input:checked:hover,.top-checkbox_input:indeterminate:hover{border-color:var(--top-forms-option-color-hover);background:var(--top-forms-option-color-hover)}.top-checkbox_input.top-error{border-color:var(--color-bg-negative-1)}.top-checkbox_input.top-error:hover{border-color:var(--color-bg-negative-2)}.top-checkbox_input:checked.top-error,.top-checkbox_input:indeterminate.top-error{background:var(--color-bg-negative-1)}.top-checkbox_input:checked.top-error:hover,.top-checkbox_input:indeterminate.top-error:hover{background:var(--color-bg-negative-2)}.top-hint{--top-icon-size:16px;--top-icon-width:var(--top-icon-size);cursor:default;background:inherit;color:var(--color-text-3);z-index:1;pointer-events:all;border-radius:50%;padding:1px;line-height:1}.top-hint:hover{color:var(--color-text-2)}:root{--top-loadbar-duration:10s;--top-loadbar-color:var(--color-line-primary-1)}.top-loadbar{background:var(--top-loadbar-color);width:0;height:4px;animation:top-loadbar var(--top-loadbar-duration) forwards;position:absolute;top:0;left:0}@keyframes top-loadbar{0%{width:4px}4%{width:4%}5%{width:5%}to{width:95%}}.top-input{--top-forms_clear-width:0px;align-items:center;gap:var(--top-gap-1);width:180px;display:inline-flex;position:relative}.top-input_input{color:var(--color-text-2);height:var(--top-forms-base-height);padding:0;padding-right:calc(max(var(--top-forms-padding), calc(var(--top-icon2-width) + var(--top-forms_clear-width))));padding-left:calc(max(var(--top-forms-padding), var(--top-icon-width)))}.top-input[data-top-icon]:before,.top-input[data-top-icon2]:after{--top-icon-color:var(--color-text-3);--top-icon2-color:var(--color-text-3);z-index:3;font-size:20px;position:absolute}.top-input[data-top-icon]:before{left:0}.top-input[data-top-icon2]:after{right:0}.top-input-withCleaner{--top-forms_clear-width:24px}.top-input_cleaner[data-top-icon]{--top-icon-size:16px;--top-icon-width:20px;--top-icon-color:var(--color-text-3);cursor:pointer;width:20px;height:16px;right:calc(var(--top-forms-border-width) + max(var(--top-icon2-width), var(--top-forms-padding) / 2));z-index:1;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.top-input_cleaner[data-top-icon]:hover{--top-icon-color:var(--color-text-2)}.top-input_input{flex-grow:1;width:50%}.top-input .top-loadbar{border-radius:var(--top-forms-radius) 0 0 0}.top-input-datepicker{width:calc(105px + var(--top-icon-width) + var(--top-icon2-width))}.top-input_input-date{opacity:0;z-index:-1;position:absolute;inset:0}.top-input_input-date::-webkit-inner-spin-button{display:none}.top-input_input-date::-webkit-calendar-picker-indicator{opacity:0}.top-inputRange{vertical-align:baseline;gap:8px;max-width:320px;display:inline-flex}.top-inputRange_dash{height:var(--top-forms-base-height);color:var(--color-text-4);align-self:flex-end;align-items:center;display:inline-flex}.top-inputRange>.top-input{flex-grow:1}:root{--top-radio-background-color:var(--color-layout-front-1);--top-radio-background-color-hover:var(--top-radio-background-color);--top-radio-background-color-active:var(--top-radio-background-color)}.top-radio{cursor:pointer}.top-radio_input{background:var(--color-layout-front-1);border:1px solid var(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2);border-radius:50%}.top-radio_input:hover{border-color:var(--top-forms-border-color-hover);background:var(--color-layer-primary-1)}.top-radio_input:checked{border-color:var(--top-forms-option-color);border-width:5px}.top-radio_input:checked:hover{border-color:var(--color-bg-primary-2)}.top-radio_input.top-error,.top-radio_input.top-error:hover{border-color:var(--color-bg-negative-1)}.top-checkboxSwitcher{cursor:pointer;gap:4px;display:inline-flex}.top-checkboxSwitcher_input{background:var(--color-layer-3);border:none;border-radius:9px;width:36px;height:18px;position:relative}.top-checkboxSwitcher_input:before{content:"";background:var(--color-white);border-radius:50%;width:12px;height:12px;margin:3px;transition:left .1s;position:absolute;top:0;left:0}.top-checkboxSwitcher_input:hover{background:var(--color-layer-4)}.top-checkboxSwitcher_input:checked{background:var(--top-forms-option-color)}.top-checkboxSwitcher_input:checked:hover{background:var(--top-forms-option-color-hover)}.top-checkboxSwitcher_input:checked:before{left:50%}.top-checkboxSwitcher_input.top-error{background:var(--color-layer-negative-3)}.top-checkboxSwitcher_input.top-error:hover{background:var(--color-layer-negative-4)}.top-checkboxSwitcher_input.top-error:checked{background:var(--color-bg-negative-2)}.top-checkboxSwitcher_input.top-error:checked:hover{background:var(--color-bg-negative-1)}.top-textarea{align-items:center;width:180px;display:inline-flex;position:relative}.top-textarea_textarea{color:var(--color-text-1);width:100%;padding:var(--top-forms-padding);resize:none}html .top-textarea_textarea.top-textarea_textarea-expandable{field-sizing:content;min-height:var(--v7e3a2156)}.top-textarea_pseudoContent{display:none}@supports not (field-sizing:content){html .top-textarea_textarea.top-textarea_textarea-expandable{width:100%;height:calc(100% + var(--top-forms-border-width) * 2);position:absolute;top:0;left:0}.top-textarea_pseudoContent{pointer-events:none;box-sizing:border-box;min-height:var(--v7e3a2156);max-height:60vh;padding:var(--top-forms-padding);white-space:pre-line;overflow-wrap:anywhere;opacity:0;z-index:-1;font-size:14px;display:block}}.top-textarea_hint{height:var(--top-icon-width);display:flex;position:absolute;top:2px;right:2px}.top-textarea_counter{box-shadow:var(--top-forms-background-color) -2px -2px 4px;background:var(--top-forms-background-color);padding:var(--top-padding-1);color:var(--color-text-4);right:var(--top-scrollbar-width,var(--top-forms-border-width));bottom:var(--top-forms-border-width);z-index:1;border-radius:8px;position:absolute}.top-textarea_counter-max{color:var(--color-text-negative)}.top-select{color:var(--color-text-1);--top-icon-color:var(--color-text-2);--top-icon2-color:var(--color-text-2);align-items:center;width:180px;max-width:100%;display:inline-flex}.top-select-error{--top-icon-color:var(--color-text-negative);--top-icon2-color:var(--color-text-negative)}.top-select_select{padding-left:var(--top-forms-padding);text-indent:calc(clamp(0px, calc(var(--top-icon-both-width) - var(--top-forms-padding)), calc(var(--top-icon-both-width) - var(--top-forms-padding))));width:100%;height:var(--top-forms-base-height);text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.top-select optgroup{color:var(--color-text-1);font-style:normal}.top-select option:not(:disabled){background:var(--color-layout-front-1);color:var(--color-text-1)}.top-select option:disabled{background:unset;color:unset}@-moz-document url-prefix(){.top-select_select{text-indent:calc(clamp(0px, calc(var(--top-icon-both-width) - var(--top-forms-padding)), calc(var(--top-icon-both-width) - var(--top-forms-padding))) / 2)}}@media only screen and (min-width:900px){.top-changer{cursor:pointer;width:0;color:var(--color-text-2);z-index:2;border-radius:100%;order:4;font-size:16px;line-height:1;display:none;transform:translate(-44px)}.top-changer:hover{color:var(--color-text-primary)}.top-changer:after{content:"";background-color:var(--top-forms-background-color);font-family:Topvisor-2}:hover>.top-changer{display:block}}:root{--top-preloader-size:12px;--top-preloader-color:var(--color-bg-primary-1)}.top-preloader-throbber{border:2px solid var(--top-preloader-color);width:var(--top-preloader-size);height:var(--top-preloader-size);border-top-color:#0000;border-left-color:#0000;border-radius:50%;animation:.9s linear infinite top-preloader-throbber;display:inline-block}@keyframes top-preloader-throbber{to{transform:rotate(360deg)}}.top-preloader-circles{--top-preloader-color:var(--color-line-1-opacity)}.top-preloader-circles>i{background-color:var(--top-preloader-color);width:var(--top-preloader-size);height:var(--top-preloader-size);vertical-align:middle;border-radius:100%;animation-duration:.5s;animation-timing-function:linear;animation-iteration-count:infinite;display:inline-block}.top-preloader-circles>i:first-child{animation-name:top-preloader-circles_1}.top-preloader-circles>i:not(:first-child):not(:last-child){animation-name:top-preloader-circles_2}.top-preloader-circles>i:last-child{animation-name:top-preloader-circles_3}@keyframes top-preloader-circles_1{0%{opacity:0;transform:translate(-12px)}30%{opacity:1;transform:translate(-2px)}to{transform:translate(6px)}}@keyframes top-preloader-circles_2{0%{transform:translate(-6px)}to{transform:translate(6px)}}@keyframes top-preloader-circles_3{0%{transform:translate(-6px)}70%{opacity:1;transform:translate(2px)}to{opacity:0;transform:translate(12px)}}
|
|
1
|
+
.top-avatar{width:var(--v232d06f8);height:var(--v232d06f8);flex-grow:0;flex-shrink:0;display:flex;position:relative;top:0;left:0}.top-avatar_image{border-radius:50%;width:100%;height:100%}.top-avatar_status{border:2px solid var(--color-layout-front-1);background-color:var(--color-bg-positive-1);border-radius:50%;width:25%;height:25%;position:absolute;bottom:0;right:0}.top-button{cursor:pointer;box-sizing:border-box;box-shadow:var(--top-button-box-shadow);border-radius:var(--top-forms-radius);border:var(--top-forms-border-width) solid var(--top-forms-border-color);background-color:var(--top-button-background-color);height:var(--top-forms-base-height);padding-right:var(--top-forms-padding);padding-left:var(--top-forms-padding);color:var(--top-button-color);white-space:nowrap;justify-content:center;align-items:center;line-height:1;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.top-button:hover{box-shadow:var(--top-button-box-shadow-hover);background-color:var(--top-button-background-color-hover)}.top-button:active{box-shadow:var(--top-button-box-shadow-active);background-color:var(--top-button-background-color-active)}.top-button.top-active{box-shadow:var(--top-button-box-shadow-selected);background-color:var(--top-button-background-color-selected)}.top-button.top-button-progress{cursor:help;background-image:linear-gradient(-45deg,#fff3 25%,#0000000d 25% 50%,#fff3 50% 75%,#0000000d 75%,#0000000d);background-size:32px 32px;animation:1s linear infinite progress;box-shadow:inset 0 0 64px #00000080}@keyframes progress{0%{background-position-x:0}to{background-position-x:32px}}a.top-button,button.top-button{min-width:100px;text-decoration:none}.top-button.top-button-autoWidth{min-width:auto}button.top-selector2{width:180px}a.top-button,a.top-button:hover{min-width:var(--top-forms-base-height);text-decoration:none}.top-button[data-top-icon]:not(:empty):not(.top-button-withoutText),.top-button[data-top-icon2]:not(:empty):not(.top-button-withoutText){text-align:left;justify-content:flex-start}.top-button[data-top-icon]{padding-left:0}.top-button[data-top-icon2]{padding-right:var(--top-selector-arrow-width)}.top-button[data-top-icon2]:after{margin-left:auto}.top-button:empty,.top-button.top-button-withoutText{min-width:var(--top-forms-base-height)}.top-button[data-top-icon]:empty,.top-button[data-top-icon2]:empty,.top-button[data-top-icon].top-button-withoutText,.top-button[data-top-icon2].top-button-withoutText{padding-left:0;padding-right:0}.top-button.top-color_blue{--top-button-background-color:var(--color-bg-primary-1)}.top-button.top-color_green{--top-button-background-color:var(--color-bg-positive-1)}.top-button.top-color_orange{--top-button-background-color:var(--color-bg-warning-1)}.top-button.top-color_red{--top-button-background-color:var(--color-bg-negative-1)}.top-button.top-color_pink{--top-button-background-color:var(--color-bg-info-1)}.top-button.top-color_brand{--top-button-color:var(--color-text-1-inverse);--top-button-background-color:var(--color-brand-1)}.top-button.top-color_theme{--top-button-box-shadow-hover:none;--top-button-box-shadow-active:none;--top-button-box-shadow-selected:none;--top-icon-color:var(--color-text-2);--top-icon2-color:var(--color-text-2);--top-button-color:var(--color-text-1);--top-button-background-color:transparent;--top-button-background-color-hover:var(--color-layer-1);--top-button-background-color-active:var(--color-layer-3);--top-button-background-color-selected:var(--color-layer-2)}.top-button.top-color_theme:hover{--top-icon-color:var(--color-text-1);--top-icon2-color:var(--color-text-1)}.top-button.top-color_theme.top-active{--top-icon-color:var(--color-text-2);--top-icon2-color:var(--color-text-2)}.top-button.top-style_outline{--top-button-box-shadow:none;--top-button-box-shadow-hover:none;--top-button-box-shadow-active:none;--top-button-box-shadow-selected:none;--top-button-background-color:var(--color-layout-front-1);--top-forms-border-width:1px}.top-button.top-style_outline.top-color_theme{--top-button-color:var(--color-text-2);--top-icon-color:var(--color-text-2);--top-icon2-color:var(--color-text-2);--top-button-background-color-hover:var(--color-layer-1);--top-button-background-color-active:var(--color-layer-2);--top-button-background-color-selected:var(--color-layer-3);--top-forms-border-color:var(--color-line-3)}.top-button.top-style_outline.top-color_theme:hover{--top-forms-border-color:var(--color-line-4)}.top-button.top-style_outline.top-color_blue{--top-button-color:var(--color-text-primary);--top-icon-color:var(--color-text-primary);--top-icon2-color:var(--color-text-primary);--top-button-background-color-hover:var(--color-layer-primary-1);--top-button-background-color-active:var(--color-layer-primary-2);--top-button-background-color-selected:var(--color-layer-primary-3);--top-forms-border-color:var(--color-line-primary-1)}.top-button.top-style_outline.top-color_blue:hover{--top-forms-border-color:var(--color-line-primary-2)}.top-button.top-style_outline.top-color_green{--top-button-color:var(--color-text-positive);--top-icon-color:var(--color-text-positive);--top-icon2-color:var(--color-text-positive);--top-button-background-color-hover:var(--color-layer-positive-1);--top-button-background-color-active:var(--color-layer-positive-2);--top-button-background-color-selected:var(--color-layer-positive-3);--top-forms-border-color:var(--color-line-positive-1)}.top-button.top-style_outline.top-color_green:hover{--top-forms-border-color:var(--color-line-positive-2)}.top-button.top-style_outline.top-color_orange{--top-button-color:var(--color-text-warning);--top-icon-color:var(--color-text-warning);--top-icon2-color:var(--color-text-warning);--top-button-background-color-hover:var(--color-layer-warning-1);--top-button-background-color-active:var(--color-layer-warning-2);--top-button-background-color-selected:var(--color-layer-warning-3);--top-forms-border-color:var(--color-line-warning-1)}.top-button.top-style_outline.top-color_orange:hover{--top-forms-border-color:var(--color-line-warning-2)}.top-button.top-style_outline.top-color_red{--top-button-color:var(--color-text-negative);--top-icon-color:var(--color-text-negative);--top-icon2-color:var(--color-text-negative);--top-button-background-color-hover:var(--color-layer-negative-1);--top-button-background-color-active:var(--color-layer-negative-2);--top-button-background-color-selected:var(--color-layer-negative-3);--top-forms-border-color:var(--color-line-negative-1)}.top-button.top-style_outline.top-color_red:hover{--top-forms-border-color:var(--color-line-negative-2)}.top-button.top-style_outline.top-color_pink{--top-button-color:var(--color-text-info);--top-icon-color:var(--color-text-info);--top-icon2-color:var(--color-text-info);--top-button-background-color-hover:var(--color-layer-info-1);--top-button-background-color-active:var(--color-layer-info-2);--top-button-background-color-selected:var(--color-layer-info-3);--top-forms-border-color:var(--color-line-info-1)}.top-button.top-style_outline.top-color_pink:hover{--top-forms-border-color:var(--color-line-info-2)}.top-button.top-style_outline.top-color_brand{--top-button-color:var(--color-brand-1);--top-icon-color:var(--color-brand-1);--top-icon2-color:var(--color-brand-1);--top-button-background-color-hover:var(--color-layer-1);--top-button-background-color-active:var(--color-layer-2);--top-button-background-color-selected:var(--color-layer-3);--top-forms-border-color:var(--color-brand-1)}.top-button.top-style_outline.top-color_brand:hover{--top-forms-border-color:var(--color-brand-2)}.top-button.top-style_soft{--top-shadow-darken-1:none;--top-shadow-darken-2:none;--top-shadow-darken-3:none}.top-button.top-style_soft.top-color_theme{--top-button-color:var(--color-text-1);--top-icon-color:var(--color-text-1);--top-icon2-color:var(--color-text-1);--top-button-background-color:var(--color-layer-1);--top-button-background-color-hover:var(--color-layer-2);--top-button-background-color-active:var(--color-layer-3);--top-button-background-color-selected:var(--color-layer-3)}.top-button.top-style_soft.top-color_blue{--top-button-color:var(--color-text-primary);--top-icon-color:var(--color-text-primary);--top-icon2-color:var(--color-text-primary);--top-button-background-color:var(--color-layer-primary-1);--top-button-background-color-hover:var(--color-layer-primary-2);--top-button-background-color-active:var(--color-layer-primary-3);--top-button-background-color-selected:var(--color-layer-primary-3)}.top-button.top-style_soft.top-color_green{--top-button-color:var(--color-text-positive);--top-icon-color:var(--color-text-positive);--top-icon2-color:var(--color-text-positive);--top-button-background-color:var(--color-layer-positive-1);--top-button-background-color-hover:var(--color-layer-positive-2);--top-button-background-color-active:var(--color-layer-positive-3);--top-button-background-color-selected:var(--color-layer-positive-3)}.top-button.top-style_soft.top-color_orange{--top-button-color:var(--color-text-warning);--top-icon-color:var(--color-text-warning);--top-icon2-color:var(--color-text-warning);--top-button-background-color:var(--color-layer-warning-1);--top-button-background-color-hover:var(--color-layer-warning-2);--top-button-background-color-active:var(--color-layer-warning-3);--top-button-background-color-selected:var(--color-layer-warning-3)}.top-button.top-style_soft.top-color_red{--top-button-color:var(--color-text-negative);--top-icon-color:var(--color-text-negative);--top-icon2-color:var(--color-text-negative);--top-button-background-color:var(--color-layer-negative-1);--top-button-background-color-hover:var(--color-layer-negative-2);--top-button-background-color-active:var(--color-layer-negative-3);--top-button-background-color-selected:var(--color-layer-negative-3)}.top-button.top-style_soft.top-color_pink{--top-button-color:var(--color-text-info);--top-icon-color:var(--color-text-info);--top-icon2-color:var(--color-text-info);--top-button-background-color:var(--color-layer-info-1);--top-button-background-color-hover:var(--color-layer-info-2);--top-button-background-color-active:var(--color-layer-info-3);--top-button-background-color-selected:var(--color-layer-info-3)}.top-button.top-style_soft.top-color_brand{--top-button-color:var(--color-brand-1);--top-icon-color:var(--color-brand-1);--top-icon2-color:var(--color-brand-1);--top-button-background-color:var(--color-layer-1);--top-button-background-color-hover:var(--color-layer-2);--top-button-background-color-active:var(--color-layer-3);--top-button-background-color-selected:var(--color-layer-3)}.top-button.top-style_transparent{--top-shadow-darken-1:none;--top-shadow-darken-2:none;--top-shadow-darken-3:none;--top-button-color:var(--color-text);--top-button-background-color:transparent;--top-button-background-color-hover:transparent;--top-button-background-color-active:transparent;--top-button-background-color-selected:var(--color-layer-3)}.top-button.top-style_transparent:hover{opacity:.8}.top-button.top-style_transparent.top-color_blue{--top-button-color:var(--color-text-primary)}.top-button.top-style_transparent.top-color_green{--top-button-color:var(--color-text-positive)}.top-button.top-style_transparent.top-color_orange{--top-button-color:var(--color-text-warning)}.top-button.top-style_transparent.top-color_red{--top-button-color:var(--color-text-negative)}.top-button.top-style_transparent.top-color_pink{--top-button-color:var(--color-text-info)}.top-button.top-style_transparent.top-color_brand{--top-button-color:var(--color-brand-1)}.top-button{--top-button-color:var(--color-white);--top-button-background-color:transparent;--top-button-background-color-hover:var(--top-button-background-color);--top-button-background-color-active:var(--top-button-background-color-hover);--top-button-background-color-selected:var(--top-button-background-color-hover);--top-button-box-shadow:none;--top-button-box-shadow-hover:var(--top-shadow-darken-2);--top-button-box-shadow-active:var(--top-shadow-darken-3);--top-button-box-shadow-selected:var(--top-shadow-darken-3);--top-forms-border-width:0px;--top-icon-width:calc(var(--top-icon-size) + var(--top-forms-padding));--top-icon2-width:calc(var(--top-icon2-size) + var(--top-forms-padding))}.top-button>span{pointer-events:none}.top-button>.top-ellipsis{flex-grow:0}.top-button.top-size_xs{--top-forms-padding:var(--top-forms-padding_xs);--top-forms-base-height:var(--top-forms-base-height_xs)}.top-button.top-size_m{--top-forms-padding:var(--top-forms-padding_m);--top-forms-base-height:var(--top-forms-base-height_m)}.top-button.top-size_l{--top-forms-padding:var(--top-forms-padding_l);--top-forms-base-height:var(--top-forms-base-height_l)}.top-button_badge-afterText{order:100}.top-button:not([data-top-icon2])>.top-button_badge-afterText{margin-left:0}.top-caption{gap:var(--top-gap-1);flex-direction:column;display:flex}.top-caption_text{color:var(--color-text-3);font-size:12px}.top-forms-optionLabel{flex-grow:1}.top-forms-optionLabel_title{color:var(--color-text-1);min-height:var(--top-forms-option-height);align-items:center;display:flex}.top-forms-optionLabel_title-disabled{color:var(--color-text-3)}.top-forms-optionLabel_description{color:var(--color-text-2);font-size:.85em;line-height:var(--top-forms-option-height)}.top-forms-optionLabel_description-disabled{color:var(--color-text-3)}.top-checkbox{cursor:pointer;display:inline-flex}.top-checkbox_input{cursor:inherit;background:var(--color-layout-front-1);border:1px solid var(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2);border-radius:4px}.top-checkbox_input:before{content:"";color:#fff;font-family:Topvisor-2;font-size:16px;line-height:1}.top-checkbox_input:hover{border-color:var(--top-forms-border-color-hover);background:var(--color-layer-primary-1)}.top-checkbox_input:checked,.top-checkbox_input:indeterminate{border-color:var(--top-forms-option-color);background:var(--top-forms-option-color)}.top-checkbox_input:checked:before{content:""}.top-checkbox_input:indeterminate:before{content:""}.top-checkbox_input:checked:hover,.top-checkbox_input:indeterminate:hover{border-color:var(--top-forms-option-color-hover);background:var(--top-forms-option-color-hover)}.top-checkbox_input.top-error{border-color:var(--color-bg-negative-1)}.top-checkbox_input.top-error:hover{border-color:var(--color-bg-negative-2)}.top-checkbox_input:checked.top-error,.top-checkbox_input:indeterminate.top-error{background:var(--color-bg-negative-1)}.top-checkbox_input:checked.top-error:hover,.top-checkbox_input:indeterminate.top-error:hover{background:var(--color-bg-negative-2)}.top-hint{--top-icon-size:16px;--top-icon-width:var(--top-icon-size);cursor:default;background:inherit;color:var(--color-text-3);z-index:1;pointer-events:all;border-radius:50%;padding:1px;line-height:1}.top-hint:hover{color:var(--color-text-2)}:root{--top-loadbar-duration:10s;--top-loadbar-color:var(--color-line-primary-1)}.top-loadbar{background:var(--top-loadbar-color);width:0;height:4px;animation:top-loadbar var(--top-loadbar-duration) forwards;position:absolute;top:0;left:0}@keyframes top-loadbar{0%{width:4px}4%{width:4%}5%{width:5%}to{width:95%}}.top-input{--top-forms_clear-width:0px;align-items:center;gap:var(--top-gap-1);width:180px;display:inline-flex;position:relative}.top-input_input{color:var(--color-text-2);height:var(--top-forms-base-height);padding:0;padding-right:calc(max(var(--top-forms-padding), calc(var(--top-icon2-width) + var(--top-forms_clear-width))));padding-left:calc(max(var(--top-forms-padding), var(--top-icon-width)))}.top-input[data-top-icon]:before,.top-input[data-top-icon2]:after{--top-icon-color:var(--color-text-3);--top-icon2-color:var(--color-text-3);z-index:3;font-size:20px;position:absolute}.top-input[data-top-icon]:before{left:0}.top-input[data-top-icon2]:after{right:0}.top-input-withCleaner{--top-forms_clear-width:24px}.top-input_cleaner[data-top-icon]{--top-icon-size:16px;--top-icon-width:20px;--top-icon-color:var(--color-text-3);cursor:pointer;width:20px;height:16px;right:calc(var(--top-forms-border-width) + max(var(--top-icon2-width), var(--top-forms-padding) / 2));z-index:1;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.top-input_cleaner[data-top-icon]:hover{--top-icon-color:var(--color-text-2)}.top-input_input{flex-grow:1;width:50%}.top-input .top-loadbar{border-radius:var(--top-forms-radius) 0 0 0}.top-input-datepicker{width:calc(105px + var(--top-icon-width) + var(--top-icon2-width))}.top-input_input-date{opacity:0;z-index:-1;position:absolute;inset:0}.top-input_input-date::-webkit-inner-spin-button{display:none}.top-input_input-date::-webkit-calendar-picker-indicator{opacity:0}.top-inputRange{vertical-align:baseline;gap:8px;max-width:320px;display:inline-flex}.top-inputRange_dash{height:var(--top-forms-base-height);color:var(--color-text-4);align-self:flex-end;align-items:center;display:inline-flex}.top-inputRange>.top-input{flex-grow:1}:root{--top-radio-background-color:var(--color-layout-front-1);--top-radio-background-color-hover:var(--top-radio-background-color);--top-radio-background-color-active:var(--top-radio-background-color)}.top-radio{cursor:pointer}.top-radio_input{background:var(--color-layout-front-1);border:1px solid var(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2);border-radius:50%}.top-radio_input:hover{border-color:var(--top-forms-border-color-hover);background:var(--color-layer-primary-1)}.top-radio_input:checked{border-color:var(--top-forms-option-color);border-width:5px}.top-radio_input:checked:hover{border-color:var(--color-bg-primary-2)}.top-radio_input.top-error,.top-radio_input.top-error:hover{border-color:var(--color-bg-negative-1)}.top-checkboxSwitcher{cursor:pointer;gap:4px;display:inline-flex}.top-checkboxSwitcher_input{background:var(--color-layer-3);border:none;border-radius:9px;width:36px;height:18px;position:relative}.top-checkboxSwitcher_input:before{content:"";background:var(--color-white);border-radius:50%;width:12px;height:12px;margin:3px;transition:left .1s;position:absolute;top:0;left:0}.top-checkboxSwitcher_input:hover{background:var(--color-layer-4)}.top-checkboxSwitcher_input:checked{background:var(--top-forms-option-color)}.top-checkboxSwitcher_input:checked:hover{background:var(--top-forms-option-color-hover)}.top-checkboxSwitcher_input:checked:before{left:50%}.top-checkboxSwitcher_input.top-error{background:var(--color-layer-negative-3)}.top-checkboxSwitcher_input.top-error:hover{background:var(--color-layer-negative-4)}.top-checkboxSwitcher_input.top-error:checked{background:var(--color-bg-negative-2)}.top-checkboxSwitcher_input.top-error:checked:hover{background:var(--color-bg-negative-1)}.top-textarea{align-items:center;width:180px;display:inline-flex;position:relative}.top-textarea_textarea{color:var(--color-text-1);width:100%;padding:var(--top-forms-padding);resize:none}html .top-textarea_textarea.top-textarea_textarea-expandable{field-sizing:content;min-height:var(--v7e3a2156)}.top-textarea_pseudoContent{display:none}@supports not (field-sizing:content){html .top-textarea_textarea.top-textarea_textarea-expandable{width:100%;height:calc(100% + var(--top-forms-border-width) * 2);position:absolute;top:0;left:0}.top-textarea_pseudoContent{pointer-events:none;box-sizing:border-box;min-height:var(--v7e3a2156);max-height:60vh;padding:var(--top-forms-padding);white-space:pre-line;overflow-wrap:anywhere;opacity:0;z-index:-1;font-size:14px;display:block}}.top-textarea_hint{height:var(--top-icon-width);display:flex;position:absolute;top:2px;right:2px}.top-textarea_counter{box-shadow:var(--top-forms-background-color) -2px -2px 4px;background:var(--top-forms-background-color);padding:var(--top-padding-1);color:var(--color-text-4);right:var(--top-scrollbar-width,var(--top-forms-border-width));bottom:var(--top-forms-border-width);z-index:1;border-radius:8px;position:absolute}.top-textarea_counter-max{color:var(--color-text-negative)}.top-select{color:var(--color-text-1);--top-icon-color:var(--color-text-2);--top-icon2-color:var(--color-text-2);align-items:center;width:180px;max-width:100%;display:inline-flex}.top-select-error{--top-icon-color:var(--color-text-negative);--top-icon2-color:var(--color-text-negative)}.top-select_select{padding-left:var(--top-forms-padding);text-indent:calc(clamp(0px, calc(var(--top-icon-both-width) - var(--top-forms-padding)), calc(var(--top-icon-both-width) - var(--top-forms-padding))));width:100%;height:var(--top-forms-base-height);text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.top-select optgroup{color:var(--color-text-1);font-style:normal}.top-select option:not(:disabled){background:var(--color-layout-front-1);color:var(--color-text-1)}.top-select option:disabled{background:unset;color:unset}@-moz-document url-prefix(){.top-select_select{padding-left:max(var(--top-forms-padding), var(--top-icon-both-width));text-indent:0}}@media only screen and (min-width:900px){.top-changer{cursor:pointer;width:0;color:var(--color-text-2);z-index:2;border-radius:100%;order:4;font-size:16px;line-height:1;display:none;transform:translate(-44px)}.top-changer:hover{color:var(--color-text-primary)}.top-changer:after{content:"";background-color:var(--top-forms-background-color);font-family:Topvisor-2}:hover>.top-changer{display:block}}:root{--top-preloader-size:12px;--top-preloader-color:var(--color-bg-primary-1)}.top-preloader-throbber{border:2px solid var(--top-preloader-color);width:var(--top-preloader-size);height:var(--top-preloader-size);border-top-color:#0000;border-left-color:#0000;border-radius:50%;animation:.9s linear infinite top-preloader-throbber;display:inline-block}@keyframes top-preloader-throbber{to{transform:rotate(360deg)}}.top-preloader-circles{--top-preloader-color:var(--color-line-1-opacity)}.top-preloader-circles>i{background-color:var(--top-preloader-color);width:var(--top-preloader-size);height:var(--top-preloader-size);vertical-align:middle;border-radius:100%;animation-duration:.5s;animation-timing-function:linear;animation-iteration-count:infinite;display:inline-block}.top-preloader-circles>i:first-child{animation-name:top-preloader-circles_1}.top-preloader-circles>i:not(:first-child):not(:last-child){animation-name:top-preloader-circles_2}.top-preloader-circles>i:last-child{animation-name:top-preloader-circles_3}@keyframes top-preloader-circles_1{0%{opacity:0;transform:translate(-12px)}30%{opacity:1;transform:translate(-2px)}to{transform:translate(6px)}}@keyframes top-preloader-circles_2{0%{transform:translate(-6px)}to{transform:translate(6px)}}@keyframes top-preloader-circles_3{0%{transform:translate(-6px)}70%{opacity:1;transform:translate(2px)}to{opacity:0;transform:translate(12px)}}
|
package/assets/formsExt.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.top-menu{--scroll-thumb-color:var(--color-line-1);--scroll-thumb-color-hover:var(--color-line-2);--scroll-thumb-color-active:var(--color-line-3);background:var(--content-background-color);align-items:flex-start;gap:var(--top-gap-2);scrollbar-width:none;overscroll-behavior-x:contain;max-width:100%;display:flex;overflow-x:auto}.top-menu::-webkit-scrollbar{display:none}.top-menu .top-menu_item{--top-button-color:var(--color-text-2);flex-shrink:0;min-width:0;max-width:200px;margin:0;outline-offset:-2px!important}.top-menu .top-menu_item[data-top-icon]{--top-icon-color:var(--color-text-2)}.top-menu_selectAll{background:var(--color-layout-front-1);border-left:1px solid var(--color-line-1);padding-left:var(--top-padding-1);box-shadow:var(--color-layout-front-1) var(--top-padding-2) 0px;position:sticky;right:0}.top-menu.top-style_default .top-menu_item{--top-forms-radius:0;--top-forms-border-color:transparent;--top-forms-border-width:2px;filter:none;box-shadow:none;border:none;border-bottom:var(--top-forms-border-width) solid var(--top-forms-border-color);background:0 0}.top-style_default>.top-menu_item>[data-top-badge]{margin-top:0}.top-menu.top-style_default .top-menu_item:hover{--top-icon-color:var(--color-text-1);--top-button-color:var(--color-text-1);--top-forms-border-color:var(--color-line-2)}.top-menu.top-style_default .top-menu_item:active,.top-menu.top-style_default .top-menu_item.top-active{--top-icon-color:var(--color-text-primary);--top-button-color:var(--color-text-1);--top-forms-border-color:var(--color-line-primary-1)}.top-menu.top-style_default .top-menu_selectAll{padding-left:var(--top-padding-2)}.top-menu.top-style_bar{border-radius:var(--top-radius-3);border:1px solid var(--color-line-2);padding:var(--top-padding-1);gap:3px}.top-menu.top-style_bar .top-menu_item{--top-button-background-color-hover:var(--color-layer-1);--top-button-background-color-active:var(--color-layer-2);--top-button-background-color-selected:var(--color-layer-primary-1);position:relative}.top-menu.top-style_bar .top-menu_item:hover{--top-icon-color:var(--color-text-1);--top-button-color:var(--color-text-1)}.top-menu.top-style_bar .top-menu_item.top-active{--top-icon-color:var(--color-text-primary);--top-button-color:var(--color-text-primary)}.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after{content:"";background:var(--color-line-1-opacity);width:1px;height:60%;display:block;position:absolute;left:-2px}.top-menu.top-style_bar .top-menu_item.top-active+.top-menu_item:after,.top-menu.top-style_bar .top-menu_item:hover+.top-menu_item:after{content:none!important}.top-selector2_itemMulti{box-sizing:border-box;padding-left:var(--top-padding-2);border-radius:var(--top-radius-1,4px);border:1px solid var(--color-line-primary-1);background:var(--color-layer-primary-2);max-width:100%;min-height:22px;color:var(--color-text-1);align-items:center;gap:var(--top-gap-1);flex-grow:0;display:inline-flex}.top-selector2_itemMultiDelete{--top-icon-size:14px;--top-icon-width:18px;--top-icon-color:var(--color-text-1);cursor:pointer;justify-content:center;align-items:center;height:100%;display:flex}.top-selector2_itemMultiDelete:hover{background:var(--color-layer-primary-2)}@media screen and (min-width:900px){.top-selector2.top-active .top-selector2_itemMultiDelete{z-index:calc(var(--top-popup-z-index) + 1)}}.top-selector2{width:180px}.top-selector2::placeholder,.top-selector2_placeholder{color:var(--color-text-2)}.top-selector2_placeholder{padding-left:var(--top-padding-1)}.top-selector2.top-as-input{padding:var(--top-padding-1) var(--top-forms-padding)}.top-selector2.top-selector2-multiselect{width:auto;padding:var(--top-padding-1);flex-grow:1}.top-selector2.top-active{--top-forms-border-color:var(--top-forms-border-color-hover)}.top-selector2_searchWidget{gap:var(--top-gap-2);display:flex}.top-selector2_activeItems{gap:var(--top-padding-1);flex-wrap:wrap;max-width:100%;display:flex}.top-selector2_activeName{font-size:var(--top-font-size);white-space:nowrap}.top-changer-selector{width:auto;padding:var(--top-padding-1);margin:calc(0px - var(--top-padding-1));transform:translate(0)}.top-selector2.top-button{justify-content:start}.top-selector2.top-input_input~.top-changer-selector{transform:translate(-52px)}.top-selector2.top-as-selector{padding-right:calc(var(--top-selector-arrow-width) + var(--top-padding-2))}.top-editArea{--top-editArea-bottom:env(keyboard-inset-height,0px);--top-editArea-offset-bottom:0px;flex-direction:column;gap:6px;display:flex}.top-editArea_caption{font-size:12px}.top-editArea_form{flex-direction:column}.top-textarea{width:100%}.top-editArea_element.top-textarea_textarea{--top-forms-border-width:0px;outline:none;animation:none}.top-editArea_footer{padding:var(--top-forms-padding);justify-content:flex-end;align-self:flex-end;gap:var(--top-forms-padding);min-height:32px;display:flex}.top-editArea-attachedToKeyboard{background:var(--top-forms-background-color);bottom:calc(var(--top-editArea-offset-bottom) + var(--top-editArea-bottom));z-index:2;transition:bottom var(--transition-fast);gap:0;position:fixed;left:0;right:0}.top-editArea-attachedToKeyboard .top-editArea_form{border:none;border-top:1px solid var(--top-forms-border-color);border-radius:0}.top-editArea-attachedToKeyboard .top-editArea_title{cursor:pointer;border-top:1px solid var(--color-line-2-opacity);padding:var(--top-forms-padding)}.top-editArea-attachedToKeyboard .top-editArea_footer>[data-top-icon]{border-radius:100%}@media screen and (max-width:900px){.top-editArea_form{flex-direction:row}}.top-editInput{align-items:flex-end;gap:var(--top-gap-1);flex-grow:1;width:220px;display:flex}.top-editInput .top-input{width:unset;flex-grow:1}.top-optionGroup{-webkit-user-select:none;user-select:none;box-sizing:border-box;background-color:var(--color-layout-middle);height:var(--top-forms-base-height);border-radius:8px;align-items:flex-start;gap:2px;padding:2px;display:flex}.top-optionGroup_item{cursor:pointer;box-sizing:border-box;height:calc(var(--top-forms-base-height) - 4px);padding:1px var(--top-padding-2);color:var(--color-text-2);white-space:nowrap;justify-content:center;align-items:center;gap:var(--top-gap-1);border-radius:6px;flex-grow:1;font-weight:400;display:flex}.top-optionGroup_item:hover{background-color:var(--color-layout-front-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-optionGroup_item-selected{color:var(--color-text-1);background-color:var(--color-bg-lightning-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-optionGroup_item>.top-forms-optionLabel{flex-grow:0}.top-optionGroup-showIndicator_0>.top-optionGroup_item{justify-content:center}.top-optionGroup-showIndicator_0>.top-optionGroup_item:has(:focus-visible){outline:2px solid var(--color-bg-primary-2);outline-offset:-1px}.top-optionGroup-showIndicator_1>.top-optionGroup_item{justify-content:flex-start;padding:1px 3px}.top-optionGroup-showIndicator_0>.top-optionGroup_item>.top-forms-option{opacity:0;width:0;height:0;position:absolute}.top-optionGroup_item>.top-forms-option{order:-1}.top-info{--top-icon-width:var(--top-icon-size);border-radius:var(--top-forms-radius);box-sizing:border-box;min-height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-2);justify-content:space-between;align-items:center;gap:var(--top-gap-2);flex-grow:5;display:flex}.top-info_text{flex-grow:1}.top-info_value{font-weight:700}.top-info.top-size_default{border-radius:var(--top-radius-3);padding:var(--top-padding-4)}.top-info-styling_default{--top-icon-color:var(--color-text-2);background:var(--color-layer-1)}.top-info-styling_info{--top-icon-color:var(--color-text-primary);background:var(--color-layer-primary-1)}.top-info-styling_warning{--top-icon-color:var(--color-text-warning);background:var(--color-layer-warning-1)}.top-info-styling_negative{--top-icon-color:var(--color-text-negative);background:var(--color-layer-negative-1)}.top-policy{box-sizing:border-box;box-shadow:var(--top-shadow-b);border-radius:var(--top-radius-4);background:var(--color-bg-lightning-1);width:600px;padding:var(--top-padding-4);right:var(--top-gap-10);bottom:var(--top-gap-10);gap:var(--top-gap-4);z-index:10000;flex-direction:column;display:flex;position:fixed}.top-policy_title{font-size:24px;font-weight:700}.top-policy_description{font-size:14px}@media screen and (max-width:900px){.top-policy{width:100%;right:0;bottom:calc(var(--top-gap-5) + var(--toolbar-height,0px))}}.top-banner{box-sizing:border-box;border-block:1px solid var(--color-line-info-1);background:var(--color-layout-front-info-6);padding:var(--top-padding-3) var(--top-padding-4);z-index:1000;min-height:52px;transition:var(--transition);overflow:hidden}.top-banner .top-banner_wrapper{max-width:var(--top-page-width);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.top-banner_content{text-align:center;justify-content:center;align-items:center;gap:var(--top-gap-4);flex:1;font-size:14px;display:flex}.top-banner_contentText{overflow-wrap:anywhere;max-width:700px}@media only screen and (max-width:900px){.top-banner{padding:var(--top-padding-2) var(--top-padding-4)}.top-banner .top-banner_wrapper{justify-content:center;gap:var(--top-gap-3)}.top-banner_content{text-align:left;justify-content:unset;gap:var(--top-gap-3);font-size:12px}.top-banner_contentText{flex-grow:1}}
|
|
1
|
+
.top-menu{--scroll-thumb-color:var(--color-line-1);--scroll-thumb-color-hover:var(--color-line-2);--scroll-thumb-color-active:var(--color-line-3);background:var(--content-background-color);align-items:flex-start;gap:var(--top-gap-2);scrollbar-width:none;overscroll-behavior-x:contain;max-width:100%;display:flex;overflow-x:auto}.top-menu::-webkit-scrollbar{display:none}.top-menu .top-menu_item{--top-button-color:var(--color-text-2);flex-shrink:0;min-width:0;max-width:200px;margin:0;outline-offset:-2px!important}.top-menu .top-menu_item[data-top-icon]{--top-icon-color:var(--color-text-2)}.top-menu_selectAll{background:var(--color-layout-front-1);border-left:1px solid var(--color-line-1);padding-left:var(--top-padding-1);box-shadow:var(--color-layout-front-1) var(--top-padding-2) 0px;position:sticky;right:0}.top-menu.top-style_default .top-menu_item{--top-forms-radius:0;--top-forms-border-color:transparent;--top-forms-border-width:2px;filter:none;box-shadow:none;border:none;border-bottom:var(--top-forms-border-width) solid var(--top-forms-border-color);background:0 0}.top-style_default>.top-menu_item>[data-top-badge]{margin-top:0}.top-menu.top-style_default .top-menu_item:hover{--top-icon-color:var(--color-text-1);--top-button-color:var(--color-text-1);--top-forms-border-color:var(--color-line-2)}.top-menu.top-style_default .top-menu_item:active,.top-menu.top-style_default .top-menu_item.top-active{--top-icon-color:var(--color-text-primary);--top-button-color:var(--color-text-1);--top-forms-border-color:var(--color-line-primary-1)}.top-menu.top-style_default .top-menu_selectAll{padding-left:var(--top-padding-2)}.top-menu.top-style_bar{border-radius:var(--top-radius-3);border:1px solid var(--color-line-2);padding:var(--top-padding-1);gap:3px}.top-menu.top-style_bar .top-menu_item{--top-button-background-color-hover:var(--color-layer-1);--top-button-background-color-active:var(--color-layer-2);--top-button-background-color-selected:var(--color-layer-primary-1);position:relative}.top-menu.top-style_bar .top-menu_item:hover{--top-icon-color:var(--color-text-1);--top-button-color:var(--color-text-1)}.top-menu.top-style_bar .top-menu_item.top-active{--top-icon-color:var(--color-text-primary);--top-button-color:var(--color-text-primary)}.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after{content:"";background:var(--color-line-1-opacity);width:1px;height:60%;display:block;position:absolute;left:-2px}.top-menu.top-style_bar .top-menu_item.top-active+.top-menu_item:after,.top-menu.top-style_bar .top-menu_item:hover+.top-menu_item:after{content:none!important}.top-selector2_itemMulti{box-sizing:border-box;padding-left:var(--top-padding-2);border-radius:var(--top-radius-1,4px);border:1px solid var(--color-line-primary-1);background:var(--color-layer-primary-2);max-width:100%;min-height:22px;color:var(--color-text-1);align-items:center;gap:var(--top-gap-1);flex-grow:0;display:inline-flex}.top-selector2_itemMultiDelete{--top-icon-size:14px;--top-icon-width:18px;--top-icon-color:var(--color-text-1);cursor:pointer;justify-content:center;align-items:center;height:100%;display:flex}.top-selector2_itemMultiDelete:hover{background:var(--color-layer-primary-2)}@media screen and (min-width:900px){.top-selector2.top-active .top-selector2_itemMultiDelete{z-index:calc(var(--top-popup-z-index) + 1)}}.top-selector2{width:180px}.top-selector2::placeholder,.top-selector2_placeholder{color:var(--color-text-2)}.top-selector2_placeholder{padding-left:var(--top-padding-1)}.top-selector2.top-as-input{padding:var(--top-padding-1) var(--top-forms-padding)}.top-selector2.top-selector2-multiselect{width:auto;padding:var(--top-padding-1);flex-grow:1}.top-selector2.top-active{--top-forms-border-color:var(--top-forms-border-color-hover)}.top-selector2_searchWidget{gap:var(--top-gap-2);display:flex}.top-selector2_activeItems{gap:var(--top-padding-1);flex-wrap:wrap;max-width:100%;display:flex}.top-selector2_activeName{font-size:var(--top-font-size);white-space:nowrap}.top-changer-selector{width:auto;padding:var(--top-padding-1);margin:calc(0px - var(--top-padding-1));transform:translate(0)}.top-selector2.top-button{justify-content:start}.top-selector2.top-input_input~.top-changer-selector{transform:translate(-52px)}.top-selector2.top-as-selector{padding-right:calc(var(--top-selector-arrow-width) + var(--top-padding-2))}.top-editArea{--top-editArea-bottom:env(keyboard-inset-height,0px);--top-editArea-offset-bottom:0px;flex-direction:column;gap:6px;display:flex}.top-editArea_caption{font-size:12px}.top-editArea_form{flex-direction:column}.top-textarea{width:100%}.top-editArea_element.top-textarea_textarea{--top-forms-border-width:0px;outline:none;animation:none}.top-editArea_footer{padding:var(--top-forms-padding);justify-content:flex-end;align-self:flex-end;gap:var(--top-forms-padding);min-height:32px;display:flex}.top-editArea-attachedToKeyboard{background:var(--top-forms-background-color);bottom:calc(var(--top-editArea-offset-bottom) + var(--top-editArea-bottom));z-index:2;transition:bottom var(--transition-fast);gap:0;position:fixed;left:0;right:0}.top-editArea-attachedToKeyboard .top-editArea_form{border:none;border-top:1px solid var(--top-forms-border-color);border-radius:0}.top-editArea-attachedToKeyboard .top-editArea_title{cursor:pointer;border-top:1px solid var(--color-line-2-opacity);padding:var(--top-forms-padding)}.top-editArea-attachedToKeyboard .top-editArea_footer>[data-top-icon]{border-radius:100%}@media screen and (max-width:900px){.top-editArea_form{flex-direction:row}}.top-editInput{align-items:flex-end;gap:var(--top-gap-1);flex-grow:1;width:220px;display:flex}.top-editInput .top-input{width:unset;flex-grow:1}.top-optionGroup{-webkit-user-select:none;user-select:none;box-sizing:border-box;background-color:var(--color-layout-middle);height:var(--top-forms-base-height);border-radius:8px;align-items:flex-start;gap:2px;padding:2px;display:flex}.top-optionGroup_item{cursor:pointer;box-sizing:border-box;height:calc(var(--top-forms-base-height) - 4px);padding:1px var(--top-padding-2);color:var(--color-text-2);white-space:nowrap;justify-content:center;align-items:center;gap:var(--top-gap-1);border-radius:6px;flex-grow:1;font-weight:400;display:flex}.top-optionGroup_item:hover{background-color:var(--color-layout-front-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-optionGroup_item-selected{color:var(--color-text-1);background-color:var(--color-bg-lightning-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-optionGroup_item>.top-forms-optionLabel{flex-grow:0}.top-optionGroup-showIndicator_0>.top-optionGroup_item{justify-content:center}.top-optionGroup-showIndicator_0>.top-optionGroup_item:has(:focus-visible){outline:2px solid var(--color-bg-primary-2);outline-offset:-1px}.top-optionGroup-showIndicator_1>.top-optionGroup_item{justify-content:flex-start;padding:1px 3px}.top-optionGroup-showIndicator_0>.top-optionGroup_item>.top-forms-option{opacity:0;width:0;height:0;position:absolute}.top-optionGroup_item>.top-forms-option{order:-1}.top-info{--top-icon-width:var(--top-icon-size);border-radius:var(--top-forms-radius);box-sizing:border-box;min-height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-2);justify-content:space-between;align-items:center;gap:var(--top-gap-2);flex-grow:5;display:flex}.top-info_text{flex-grow:1}.top-info_value{font-weight:700}.top-info.top-size_default{border-radius:var(--top-radius-3);padding:var(--top-padding-4)}.top-info-styling_default{--top-icon-color:var(--color-text-2);background:var(--color-layer-1)}.top-info-styling_info{--top-icon-color:var(--color-text-primary);background:var(--color-layer-primary-1)}.top-info-styling_warning{--top-icon-color:var(--color-text-warning);background:var(--color-layer-warning-1)}.top-info-styling_negative{--top-icon-color:var(--color-text-negative);background:var(--color-layer-negative-1)}.top-policy{box-sizing:border-box;box-shadow:var(--top-shadow-b);border-radius:var(--top-radius-4);background:var(--color-bg-lightning-1);width:600px;padding:var(--top-padding-4);right:var(--top-gap-10);bottom:var(--top-gap-10);gap:var(--top-gap-4);z-index:10000;flex-direction:column;display:flex;position:fixed}.top-policy_title{font-size:24px;font-weight:700}.top-policy_description{font-size:14px}@media screen and (max-width:900px){.top-policy{width:100%;right:0;bottom:calc(var(--top-gap-5) + var(--toolbar-height,0px))}}.top-banner{box-sizing:border-box;border-block:1px solid var(--color-line-info-1);background:var(--color-layout-front-info-6);padding:var(--top-padding-3) var(--top-padding-4);z-index:1000;min-height:52px;transition:var(--transition);overflow:hidden}.top-banner .top-banner_wrapper{max-width:var(--top-page-width);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.top-banner_content{text-align:center;justify-content:center;align-items:center;gap:var(--top-gap-4);flex:1;font-size:14px;display:flex}.top-banner_contentText{overflow-wrap:anywhere;max-width:700px}.top-banner_content>.top-button{flex-shrink:0}@media only screen and (max-width:900px){.top-banner{padding:var(--top-padding-2) var(--top-padding-4)}.top-banner .top-banner_wrapper{justify-content:center;gap:var(--top-gap-3)}.top-banner_content{text-align:left;justify-content:unset;gap:var(--top-gap-3);font-size:12px}.top-banner_contentText{flex-grow:1}}
|
|
@@ -69,16 +69,16 @@
|
|
|
69
69
|
"tabsView/tabsView.amd.js": [
|
|
70
70
|
"../assets/tabsView.css"
|
|
71
71
|
],
|
|
72
|
-
".chunks/dialog_regionSelectorRegions-
|
|
72
|
+
".chunks/dialog_regionSelectorRegions-CH8ppE6d.es.amd.js": [
|
|
73
73
|
"../assets/dialog_regionSelectorRegions.css"
|
|
74
74
|
],
|
|
75
|
-
".chunks/formsExt-
|
|
75
|
+
".chunks/formsExt-BgtDJL34.es.amd.js": [
|
|
76
76
|
"../assets/formsExt.css"
|
|
77
77
|
],
|
|
78
|
-
".chunks/notice-
|
|
78
|
+
".chunks/notice-qj8gI3Vn.es.amd.js": [
|
|
79
79
|
"../assets/notice.css"
|
|
80
80
|
],
|
|
81
|
-
".chunks/popup-
|
|
81
|
+
".chunks/popup-DQDuBLfC.es.amd.js": [
|
|
82
82
|
"../assets/popup.css"
|
|
83
83
|
]
|
|
84
84
|
}
|
|
@@ -80,16 +80,16 @@
|
|
|
80
80
|
"tabsView/tabsView.js": [
|
|
81
81
|
"../assets/tabsView.css"
|
|
82
82
|
],
|
|
83
|
-
".chunks/dialog_regionSelectorRegions-
|
|
83
|
+
".chunks/dialog_regionSelectorRegions-CH8ppE6d.es.js": [
|
|
84
84
|
"../assets/dialog_regionSelectorRegions.css"
|
|
85
85
|
],
|
|
86
|
-
".chunks/formsExt-
|
|
86
|
+
".chunks/formsExt-BgtDJL34.es.js": [
|
|
87
87
|
"../assets/formsExt.css"
|
|
88
88
|
],
|
|
89
|
-
".chunks/notice-
|
|
89
|
+
".chunks/notice-qj8gI3Vn.es.js": [
|
|
90
90
|
"../assets/notice.css"
|
|
91
91
|
],
|
|
92
|
-
".chunks/popup-
|
|
92
|
+
".chunks/popup-DQDuBLfC.es.js": [
|
|
93
93
|
"../assets/popup.css"
|
|
94
94
|
]
|
|
95
95
|
}
|
package/charts/charts.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define([`require`,`exports`,`../.chunks/forms-
|
|
1
|
+
define([`require`,`exports`,`../.chunks/forms-DrY7Q_VD.es.amd`,`../utils/number.amd`,`vue`,`../require/css.amd!../assets/charts.css`],function(e,t,n,r,i){"use strict";if(a===void 0)var a=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.TopMiniCharts=t.TopMiniChart=void 0;var o=[`data-top-icon`],s={class:`top-miniChart_chart`},c=[`onMouseenter`],l={class:`top-miniChart_data`},u={class:`top-miniChart_dataValue`},d=[`innerHTML`],f=(0,i.defineComponent)({__name:`miniChart`,props:(0,i.mergeModels)({title:{},gIcon:{},color:{default:`blue`},dates:{},values:{},activeDates:{},keysForDyn:{},dynamic:{},isInvert:{type:Boolean},numberCols:{default:90},additionalHTML:{},modelValue:{},valueSuffix:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,a=(0,i.useModel)(e,`modelValue`),f=e=>{let n=m.value;t.isInvert&&(--e,--n);let r=n>0?Math.round(e/n*90):0;return t.isInvert?100-r:r+10},p=e=>t.activeDates.includes(e),m=(0,i.computed)(()=>Math.max(...t.values)),h=(0,i.computed)(()=>t.dates.slice().reverse()),g=(0,i.computed)(()=>t.dates.length?t.numberCols-t.dates.length:0),_=()=>{a.value=null},v=(e,r,i)=>{e.target instanceof HTMLElement&&(a.value={elCol:e.target,date:(0,n._)(r),value:i===null?`--`:i+(t.valueSuffix??``)})},y=(0,i.computed)(()=>{let e=t.dynamic;if(e===void 0){let n=t.values[t.keysForDyn.start];e=t.values[t.keysForDyn.end]-n}return(e<0?-1:1)*(0,r.percentOfNumber)(Math.abs(e))}),b=(0,i.computed)(()=>{let e=`stay`;return t.isInvert?(y.value>0&&(e=`down`),y.value<0&&(e=`up`)):(y.value>0&&(e=`up`),y.value<0&&(e=`down`)),e});return(t,n)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:(0,i.normalizeClass)({"top-miniChart":!0,"top-miniChart_hideChartInMobile":e.hideChartInMobile,[`top-color_${e.color}`]:!0})},[(0,i.createElementVNode)(`div`,{class:`top-miniChart_title top-ellipsis`,"data-top-icon":e.gIcon},(0,i.toDisplayString)(e.title),9,o),(0,i.createElementVNode)(`div`,s,[(0,i.createElementVNode)(`div`,{class:`top-miniChart_chartGrid`,onMouseleave:n[1]||=e=>_()},[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(h.value,(t,n)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:(0,i.normalizeClass)({"top-miniChart_chartGridCol":!0,"top-active":p(t)}),onMouseenter:r=>v(r,t,e.values[e.values.length-n-1])},[(0,i.createElementVNode)(`div`,{style:(0,i.normalizeStyle)(`height:`+f(e.values[e.values.length-n-1])+`%`)},null,4)],42,c))),256)),((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(g.value,()=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:`top-miniChart_chartGridCol top-miniChart_chartGridCol-none`,onMouseenter:n[0]||=e=>_()},[...n[2]||=[(0,i.createElementVNode)(`div`,null,null,-1)]],32))),256))],32)]),(0,i.createElementVNode)(`div`,l,[(0,i.createElementVNode)(`span`,{class:(0,i.normalizeClass)({"top-miniChart_dataDynamic":!0,[`top-miniChart_dataDynamic-direction_${b.value}`]:!0})},(0,i.toDisplayString)(Math.abs(y.value)||``),3),(0,i.createElementVNode)(`span`,u,(0,i.toDisplayString)((0,i.unref)(r.percentOfNumber)(e.values[e.values.length-1])||0),1)]),e.additionalHTML?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:0,innerHTML:e.additionalHTML},null,8,d)):(0,i.createCommentVNode)(``,!0)],2))}}),p={key:0,class:`top-miniCharts_pages`},m=[`onClick`],h=(0,i.defineComponent)({__name:`miniCharts`,props:(0,i.mergeModels)({modelValue:{},countCharts:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=(0,i.useModel)(e,`modelValue`),r=(0,i.ref)(null),a,o=(0,i.ref)(1),s=(0,i.ref)(1),c=()=>{o.value=Math.round(r.value.scrollHeight/r.value.clientHeight)};(0,i.watch)(o,()=>{o.value<s.value&&(s.value=1)}),(0,i.watch)(()=>t.countCharts,()=>c(),{flush:`post`});let l=(0,i.computed)(()=>{if(!n.value)return{};let e=n.value.elCol.getBoundingClientRect(),t={top:e.bottom+window.scrollY+`px`};return document.documentElement.clientWidth/2>e.right?t.left=e.right+window.scrollX+10+`px`:(t.left=e.left+window.scrollX-10+`px`,t.transform=`translate(-100%, 0)`),t});return(0,i.onMounted)(()=>{a=new ResizeObserver(()=>c()),a.observe(r.value),(0,i.watch)(s,()=>{let e=(r.value.children[0].clientHeight+parseInt(window.getComputedStyle(r.value).getPropertyValue(`row-gap`)))*(s.value-1);r.value.scrollTo({top:e,behavior:`smooth`})})}),(0,i.onUnmounted)(()=>{a.disconnect()}),(t,a)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:(0,i.normalizeClass)([`top-miniCharts`,{"top-miniCharts":!0,scrollable:o.value>1,"top-miniCharts_hideChartInMobile":e.hideChartInMobile}]),ref_key:`elRef`,ref:r},[(0,i.renderSlot)(t.$slots,`default`),o.value>1?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,p,[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(o.value,e=>((0,i.openBlock)(),(0,i.createElementBlock)(`span`,{class:(0,i.normalizeClass)({"top-active":e===s.value}),onClick:t=>s.value=e},null,10,m))),256))])):(0,i.createCommentVNode)(``,!0),((0,i.openBlock)(),(0,i.createBlock)(i.Teleport,{to:`body`},[n.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:0,class:`top-miniCharts_tooltip`,style:(0,i.normalizeStyle)(l.value)},[(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(n.value.date),1),(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(n.value.value),1)],4)):(0,i.createCommentVNode)(``,!0)]))],2))}});t.TopMiniChart=f,t.TopMiniCharts=h});
|
|
2
2
|
//# sourceMappingURL=charts.amd.js.map
|
package/charts/charts.amd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["charts/charts.js","../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniCharts/miniCharts.vue"],"names":["vue","exports","C","w","T","E","D","O","k","vue_1","a","r","l","u","t","n","g","v","S","forms_CjJD60m3_es_js_1","A","number_js_1","j","e","M","b"],"mappings":"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","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/forms-CjJD60m3.es.js\", \"../utils/number.js\", \"vue\"], function (require, exports, forms_CjJD60m3_es_js_1, number_js_1, vue_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.TopMiniCharts = exports.TopMiniChart = void 0;\n //#region src/components/charts/miniChart/miniChart.vue?vue&type=script&setup=true&lang.ts\n var C = [\"data-top-icon\"], w = { class: \"top-miniChart_chart\" }, T = [\"onMouseenter\"], E = { class: \"top-miniChart_data\" }, D = { class: \"top-miniChart_dataValue\" }, O = [\"innerHTML\"], k = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"miniChart\",\n props: /*@__PURE__*/ (0, vue_1.mergeModels)({\n title: {},\n gIcon: {},\n color: { default: \"blue\" },\n dates: {},\n values: {},\n activeDates: {},\n keysForDyn: {},\n dynamic: {},\n isInvert: { type: Boolean },\n numberCols: { default: 90 },\n additionalHTML: {},\n modelValue: {},\n valueSuffix: {},\n hideChartInMobile: { type: Boolean }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(r) {\n let a = r, l = (0, vue_1.useModel)(r, \"modelValue\"), u = (e) => {\n let t = m.value;\n a.isInvert && (--e, --t);\n let n = t > 0 ? Math.round(e / t * 90) : 0;\n return a.isInvert ? 100 - n : n + 10;\n }, p = (e) => a.activeDates.includes(e), m = (0, vue_1.computed)(() => Math.max(...a.values)), g = (0, vue_1.computed)(() => a.dates.slice().reverse()), v = (0, vue_1.computed)(() => a.dates.length ? a.numberCols - a.dates.length : 0), S = () => {\n l.value = null;\n }, k = (t, n, r) => {\n t.target instanceof HTMLElement && (l.value = {\n elCol: t.target,\n date: (0, forms_CjJD60m3_es_js_1._)(n),\n value: r === null ? \"--\" : r + (a.valueSuffix ?? \"\")\n });\n }, A = (0, vue_1.computed)(() => {\n let e = a.dynamic;\n if (e === void 0) {\n let t = a.values[a.keysForDyn.start];\n e = a.values[a.keysForDyn.end] - t;\n }\n return (e < 0 ? -1 : 1) * (0, number_js_1.percentOfNumber)(Math.abs(e));\n }), j = (0, vue_1.computed)(() => {\n let e = \"stay\";\n return a.isInvert ? (A.value > 0 && (e = \"down\"), A.value < 0 && (e = \"up\")) : (A.value > 0 && (e = \"up\"), A.value < 0 && (e = \"down\")), e;\n });\n return (e, i) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", { class: (0, vue_1.normalizeClass)({\n \"top-miniChart\": !0,\n \"top-miniChart_hideChartInMobile\": r.hideChartInMobile,\n [`top-color_${r.color}`]: !0\n }) }, [\n (0, vue_1.createElementVNode)(\"div\", {\n class: \"top-miniChart_title top-ellipsis\",\n \"data-top-icon\": r.gIcon\n }, (0, vue_1.toDisplayString)(r.title), 9, C),\n (0, vue_1.createElementVNode)(\"div\", w, [(0, vue_1.createElementVNode)(\"div\", {\n class: \"top-miniChart_chartGrid\",\n onMouseleave: i[1] ||= (e) => S()\n }, [((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(g.value, (e, t) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: (0, vue_1.normalizeClass)({\n \"top-miniChart_chartGridCol\": !0,\n \"top-active\": p(e)\n }),\n onMouseenter: (n) => k(n, e, r.values[r.values.length - t - 1])\n }, [(0, vue_1.createElementVNode)(\"div\", { style: (0, vue_1.normalizeStyle)(\"height:\" + u(r.values[r.values.length - t - 1]) + \"%\") }, null, 4)], 42, T))), 256)), ((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(v.value, () => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: \"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\",\n onMouseenter: i[0] ||= (e) => S()\n }, [...i[2] ||= [(0, vue_1.createElementVNode)(\"div\", null, null, -1)]], 32))), 256))], 32)]),\n (0, vue_1.createElementVNode)(\"div\", E, [(0, vue_1.createElementVNode)(\"span\", { class: (0, vue_1.normalizeClass)({\n \"top-miniChart_dataDynamic\": !0,\n [`top-miniChart_dataDynamic-direction_${j.value}`]: !0\n }) }, (0, vue_1.toDisplayString)(Math.abs(A.value) || \"\"), 3), (0, vue_1.createElementVNode)(\"span\", D, (0, vue_1.toDisplayString)((0, vue_1.unref)(number_js_1.percentOfNumber)(r.values[r.values.length - 1]) || 0), 1)]),\n r.additionalHTML ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n key: 0,\n innerHTML: r.additionalHTML\n }, null, 8, O)) : (0, vue_1.createCommentVNode)(\"\", !0)\n ], 2));\n }\n }), A = {\n key: 0,\n class: \"top-miniCharts_pages\"\n }, j = [\"onClick\"], M = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"miniCharts\",\n props: /*@__PURE__*/ (0, vue_1.mergeModels)({\n modelValue: {},\n countCharts: {},\n hideChartInMobile: { type: Boolean }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n let t = e, l = (0, vue_1.useModel)(e, \"modelValue\"), u = (0, vue_1.ref)(null), b, C = (0, vue_1.ref)(1), w = (0, vue_1.ref)(1), T = () => {\n C.value = Math.round(u.value.scrollHeight / u.value.clientHeight);\n };\n (0, vue_1.watch)(C, () => {\n C.value < w.value && (w.value = 1);\n }), (0, vue_1.watch)(() => t.countCharts, () => T(), { flush: \"post\" });\n let E = (0, vue_1.computed)(() => {\n if (!l.value)\n return {};\n let e = l.value.elCol.getBoundingClientRect(), t = { top: e.bottom + window.scrollY + \"px\" };\n return document.documentElement.clientWidth / 2 > e.right ? t.left = e.right + window.scrollX + 10 + \"px\" : (t.left = e.left + window.scrollX - 10 + \"px\", t.transform = \"translate(-100%, 0)\"), t;\n });\n return (0, vue_1.onMounted)(() => {\n b = new ResizeObserver(() => T()), b.observe(u.value), (0, vue_1.watch)(w, () => {\n let e = (u.value.children[0].clientHeight + parseInt(window.getComputedStyle(u.value).getPropertyValue(\"row-gap\"))) * (w.value - 1);\n u.value.scrollTo({\n top: e,\n behavior: \"smooth\"\n });\n });\n }), (0, vue_1.onUnmounted)(() => {\n b.disconnect();\n }), (t, i) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: (0, vue_1.normalizeClass)([\"top-miniCharts\", {\n \"top-miniCharts\": !0,\n scrollable: C.value > 1,\n \"top-miniCharts_hideChartInMobile\": e.hideChartInMobile\n }]),\n ref_key: \"elRef\",\n ref: u\n }, [\n (0, vue_1.renderSlot)(t.$slots, \"default\"),\n C.value > 1 ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", A, [((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(C.value, (e) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"span\", {\n class: (0, vue_1.normalizeClass)({ \"top-active\": e === w.value }),\n onClick: (t) => w.value = e\n }, null, 10, j))), 256))])) : (0, vue_1.createCommentVNode)(\"\", !0),\n ((0, vue_1.openBlock)(), (0, vue_1.createBlock)(vue_1.Teleport, { to: \"body\" }, [l.value ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n key: 0,\n class: \"top-miniCharts_tooltip\",\n style: (0, vue_1.normalizeStyle)(E.value)\n }, [(0, vue_1.createElementVNode)(\"span\", null, (0, vue_1.toDisplayString)(l.value.date), 1), (0, vue_1.createElementVNode)(\"span\", null, (0, vue_1.toDisplayString)(l.value.value), 1)], 4)) : (0, vue_1.createCommentVNode)(\"\", !0)]))\n ], 2));\n }\n });\n exports.TopMiniChart = k;\n exports.TopMiniCharts = M;\n});\n//# sourceMappingURL=charts.js.map\n","<script setup lang=\"ts\">\nimport type { Props } from './types';\nimport { computed } from 'vue';\nimport { dateFormat } from '@/core/utils/date';\nimport { percentOfNumber } from '@/core/utils/number';\nimport { defaultNumberCols, minHeight } from './utils/consts';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcolor: 'blue',\n\tnumberCols: defaultNumberCols,\n});\nconst model = defineModel<Props['modelValue']>();\n\n/**\n * Расчет высоты колонки (в процентах)\n */\nconst genColHeight = (value: number): number => {\n\tlet maximumValue = maxValue.value;\n\n\t// для графиков средней и медианной делаем максимум 1\n\tif (props.isInvert) {\n\t\tvalue -= 1;\n\t\tmaximumValue -= 1;\n\t}\n\n\tconst height = maximumValue > 0 ? Math.round((value / maximumValue) * (100 - minHeight)) : 0;\n\tif (props.isInvert) return 100 - height;\n\n\treturn height + minHeight;\n};\n\nconst isActiveDate = (date: string) => props.activeDates.includes(date);\n\nconst maxValue = computed(() => Math.max(...props.values));\n\n/**\n * Из-за стиля .top-miniChart_chartGrid - direction: rtl\n */\nconst reversedDates = computed(() => props.dates.slice().reverse());\n\n/**\n * Кол-во пустых колонок\n */\nconst numOfEmptyCols = computed(() => {\n\tif (!props.dates.length) return 0;\n\n\treturn props.numberCols - props.dates.length;\n});\n\nconst resetModel = () => {\n\tmodel.value = null;\n};\n\nconst setModel = (e: Event, date: string, value: number | null) => {\n\tif (!(e.target instanceof HTMLElement)) return;\n\n\tmodel.value = {\n\t\telCol: e.target,\n\t\tdate: dateFormat(date),\n\t\tvalue: value === null ? '--' : value + (props.valueSuffix ?? ''),\n\t};\n};\n\n/**\n * Возвращает численный показатель динамики графика\n */\nconst localDynamic = computed(() => {\n\tlet dynamic = props.dynamic;\n\n\tif (typeof dynamic === 'undefined') {\n\t\tconst prevPeriodValue = props.values[props.keysForDyn.start];\n\t\tconst currentValue = props.values[props.keysForDyn.end];\n\t\tdynamic = currentValue - prevPeriodValue;\n\t}\n\n\tconst sign = dynamic < 0 ? -1 : 1;\n\n\treturn sign * (percentOfNumber(Math.abs(dynamic)) as number);\n});\n\nconst dynamicDirection = computed(() => {\n\tlet direction: 'up' | 'stay' | 'down' = 'stay';\n\n\tif (!props.isInvert) {\n\t\tif (localDynamic.value > 0) direction = 'up';\n\t\tif (localDynamic.value < 0) direction = 'down';\n\t} else {\n\t\tif (localDynamic.value > 0) direction = 'down';\n\t\tif (localDynamic.value < 0) direction = 'up';\n\t}\n\n\treturn direction;\n});\n\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-miniChart']: true,\n\t\t\t['top-miniChart_hideChartInMobile']: hideChartInMobile,\n\t\t\t[`top-color_${color}`]: true\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tclass=\"top-miniChart_title top-ellipsis\"\n\t\t\t:data-top-icon=\"gIcon\"\n\t\t>\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_chart\">\n\t\t\t<div\n\t\t\t\tclass=\"top-miniChart_chartGrid\"\n\t\t\t\t@mouseleave=\"resetModel()\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(date, i) in reversedDates\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t['top-miniChart_chartGridCol']: true,\n\t\t\t\t\t\t['top-active']: isActiveDate(date)\n\t\t\t\t\t}\"\n\t\t\t\t\t@mouseenter=\"setModel($event, date, values[values.length - i - 1])\"\n\t\t\t\t>\n\t\t\t\t\t<div :style=\"'height:' + genColHeight(values[values.length - i - 1]) + '%'\"/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"() in numOfEmptyCols\"\n\t\t\t\t\tclass=\"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\"\n\t\t\t\t\t@mouseenter=\"resetModel()\"\n\t\t\t\t>\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_data\">\n\t\t\t<span :class=\"{\n\t\t\t\t['top-miniChart_dataDynamic']: true,\n\t\t\t\t[`top-miniChart_dataDynamic-direction_${dynamicDirection}`]: true,\n\t\t\t}\">\n\t\t\t\t{{ Math.abs(localDynamic) || '' }}\n\t\t\t</span>\n\t\t\t<span class=\"top-miniChart_dataValue\">\n\t\t\t\t{{ percentOfNumber(values[values.length - 1]) || 0 }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"additionalHTML\"\n\t\t\tv-html=\"additionalHTML\"\n\t\t/>\n\t</div>\n\n</template>\n<style>\n@import \"./styles/miniChart.css\";\n</style>\n","<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, watch } from 'vue';\nimport type { Props, Style } from './miniCharts';\n\nconst props = defineProps<Props>();\nconst model = defineModel<Props['modelValue']>();\n\nconst elRef = ref<HTMLElement | null>(null);\n\nlet pagesResizeObserver: ResizeObserver;\n\n/**\n * Количество страниц\n */\nconst countPages = ref(1);\n\n/**\n * Активная страница\n */\nconst activePage = ref(1);\n\n/**\n * Установка количества страниц в блоке\n */\nconst setCountPages = () => {\n\tcountPages.value = Math.round(elRef.value!.scrollHeight / elRef.value!.clientHeight);\n};\n\nwatch(countPages, () => {\n\tif (countPages.value < activePage.value) {\n\t\tactivePage.value = 1;\n\t}\n});\n\nwatch(\n\t() => props.countCharts,\n\t() => setCountPages(),\n\t{ flush: 'post' },\n);\n\n/**\n * Расчет положения для подсказки\n */\nconst tooltipStyle = computed(() => {\n\tif (!model.value) return {};\n\n\tconst box = model.value.elCol.getBoundingClientRect();\n\n\tconst style: Style = {\n\t\ttop: box.bottom + window.scrollY + 'px',\n\t};\n\n\tif (document.documentElement.clientWidth / 2 > box.right) {\n\t\tstyle.left = box.right + window.scrollX + 10 + 'px';\n\t} else {\n\t\tstyle.left = box.left + window.scrollX - 10 + 'px';\n\t\tstyle.transform = 'translate(-100%, 0)';\n\t}\n\n\treturn style;\n});\n\nonMounted(() => {\n\t/**\n\t * Функционал переключения экранов графиков\n\t */\n\tpagesResizeObserver = new ResizeObserver(() => setCountPages());\n\tpagesResizeObserver.observe(elRef.value!);\n\n\twatch(activePage, () => {\n\t\tconst elMiniChart = elRef.value!.children[0];\n\t\tconst pageHeight = elMiniChart.clientHeight + parseInt(window.getComputedStyle(elRef.value!).getPropertyValue('row-gap'));\n\t\tconst scrollTop = pageHeight * (activePage.value - 1);\n\n\t\telRef.value!.scrollTo({ top: scrollTop, behavior: 'smooth' });\n\t});\n});\n\nonUnmounted(() => {\n\tpagesResizeObserver.disconnect();\n});\n</script>\n\n<template>\n\t<div\n\t\tclass=\"top-miniCharts\"\n\t\t:class=\"{\n\t\t\t['top-miniCharts']: true,\n\t\t\t['scrollable']: countPages > 1,\n\t\t\t['top-miniCharts_hideChartInMobile']: hideChartInMobile,\n\t\t}\"\n\t\tref=\"elRef\"\n\t>\n\n\t\t<slot></slot>\n\n\t\t<div\n\t\t\tv-if=\"countPages > 1\"\n\t\t\tclass=\"top-miniCharts_pages\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-for=\"n in countPages\"\n\t\t\t\t:class=\"{['top-active']: n === activePage}\"\n\t\t\t\t@click=\"activePage = n\"\n\t\t\t></span>\n\t\t</div>\n\n\t\t<Teleport to=\"body\">\n\t\t\t<div\n\t\t\t\tv-if=\"model\"\n\t\t\t\tclass=\"top-miniCharts_tooltip\"\n\t\t\t\t:style=\"tooltipStyle\"\n\t\t\t>\n\t\t\t\t<span>{{ model.date }}</span>\n\t\t\t\t<span>{{ model.value }}</span>\n\t\t\t</div>\n\t\t</Teleport>\n\t</div>\n\n</template>\n\n<style>\n@import \"./styles/miniCharts.css\";\n</style>\n"]}
|
|
1
|
+
{"version":3,"sources":["charts/charts.js","../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniCharts/miniCharts.vue"],"names":["vue","exports","C","w","T","E","D","O","k","vue_1","a","r","l","u","t","n","g","v","S","forms_DrY7Q_VD_es_js_1","A","number_js_1","j","e","M","b"],"mappings":"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","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/forms-DrY7Q_VD.es.js\", \"../utils/number.js\", \"vue\"], function (require, exports, forms_DrY7Q_VD_es_js_1, number_js_1, vue_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.TopMiniCharts = exports.TopMiniChart = void 0;\n //#region src/components/charts/miniChart/miniChart.vue?vue&type=script&setup=true&lang.ts\n var C = [\"data-top-icon\"], w = { class: \"top-miniChart_chart\" }, T = [\"onMouseenter\"], E = { class: \"top-miniChart_data\" }, D = { class: \"top-miniChart_dataValue\" }, O = [\"innerHTML\"], k = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"miniChart\",\n props: /*@__PURE__*/ (0, vue_1.mergeModels)({\n title: {},\n gIcon: {},\n color: { default: \"blue\" },\n dates: {},\n values: {},\n activeDates: {},\n keysForDyn: {},\n dynamic: {},\n isInvert: { type: Boolean },\n numberCols: { default: 90 },\n additionalHTML: {},\n modelValue: {},\n valueSuffix: {},\n hideChartInMobile: { type: Boolean }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(r) {\n let a = r, l = (0, vue_1.useModel)(r, \"modelValue\"), u = (e) => {\n let t = m.value;\n a.isInvert && (--e, --t);\n let n = t > 0 ? Math.round(e / t * 90) : 0;\n return a.isInvert ? 100 - n : n + 10;\n }, p = (e) => a.activeDates.includes(e), m = (0, vue_1.computed)(() => Math.max(...a.values)), g = (0, vue_1.computed)(() => a.dates.slice().reverse()), v = (0, vue_1.computed)(() => a.dates.length ? a.numberCols - a.dates.length : 0), S = () => {\n l.value = null;\n }, k = (t, n, r) => {\n t.target instanceof HTMLElement && (l.value = {\n elCol: t.target,\n date: (0, forms_DrY7Q_VD_es_js_1._)(n),\n value: r === null ? \"--\" : r + (a.valueSuffix ?? \"\")\n });\n }, A = (0, vue_1.computed)(() => {\n let e = a.dynamic;\n if (e === void 0) {\n let t = a.values[a.keysForDyn.start];\n e = a.values[a.keysForDyn.end] - t;\n }\n return (e < 0 ? -1 : 1) * (0, number_js_1.percentOfNumber)(Math.abs(e));\n }), j = (0, vue_1.computed)(() => {\n let e = \"stay\";\n return a.isInvert ? (A.value > 0 && (e = \"down\"), A.value < 0 && (e = \"up\")) : (A.value > 0 && (e = \"up\"), A.value < 0 && (e = \"down\")), e;\n });\n return (e, i) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", { class: (0, vue_1.normalizeClass)({\n \"top-miniChart\": !0,\n \"top-miniChart_hideChartInMobile\": r.hideChartInMobile,\n [`top-color_${r.color}`]: !0\n }) }, [\n (0, vue_1.createElementVNode)(\"div\", {\n class: \"top-miniChart_title top-ellipsis\",\n \"data-top-icon\": r.gIcon\n }, (0, vue_1.toDisplayString)(r.title), 9, C),\n (0, vue_1.createElementVNode)(\"div\", w, [(0, vue_1.createElementVNode)(\"div\", {\n class: \"top-miniChart_chartGrid\",\n onMouseleave: i[1] ||= (e) => S()\n }, [((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(g.value, (e, t) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: (0, vue_1.normalizeClass)({\n \"top-miniChart_chartGridCol\": !0,\n \"top-active\": p(e)\n }),\n onMouseenter: (n) => k(n, e, r.values[r.values.length - t - 1])\n }, [(0, vue_1.createElementVNode)(\"div\", { style: (0, vue_1.normalizeStyle)(\"height:\" + u(r.values[r.values.length - t - 1]) + \"%\") }, null, 4)], 42, T))), 256)), ((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(v.value, () => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: \"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\",\n onMouseenter: i[0] ||= (e) => S()\n }, [...i[2] ||= [(0, vue_1.createElementVNode)(\"div\", null, null, -1)]], 32))), 256))], 32)]),\n (0, vue_1.createElementVNode)(\"div\", E, [(0, vue_1.createElementVNode)(\"span\", { class: (0, vue_1.normalizeClass)({\n \"top-miniChart_dataDynamic\": !0,\n [`top-miniChart_dataDynamic-direction_${j.value}`]: !0\n }) }, (0, vue_1.toDisplayString)(Math.abs(A.value) || \"\"), 3), (0, vue_1.createElementVNode)(\"span\", D, (0, vue_1.toDisplayString)((0, vue_1.unref)(number_js_1.percentOfNumber)(r.values[r.values.length - 1]) || 0), 1)]),\n r.additionalHTML ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n key: 0,\n innerHTML: r.additionalHTML\n }, null, 8, O)) : (0, vue_1.createCommentVNode)(\"\", !0)\n ], 2));\n }\n }), A = {\n key: 0,\n class: \"top-miniCharts_pages\"\n }, j = [\"onClick\"], M = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"miniCharts\",\n props: /*@__PURE__*/ (0, vue_1.mergeModels)({\n modelValue: {},\n countCharts: {},\n hideChartInMobile: { type: Boolean }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n let t = e, l = (0, vue_1.useModel)(e, \"modelValue\"), u = (0, vue_1.ref)(null), b, C = (0, vue_1.ref)(1), w = (0, vue_1.ref)(1), T = () => {\n C.value = Math.round(u.value.scrollHeight / u.value.clientHeight);\n };\n (0, vue_1.watch)(C, () => {\n C.value < w.value && (w.value = 1);\n }), (0, vue_1.watch)(() => t.countCharts, () => T(), { flush: \"post\" });\n let E = (0, vue_1.computed)(() => {\n if (!l.value)\n return {};\n let e = l.value.elCol.getBoundingClientRect(), t = { top: e.bottom + window.scrollY + \"px\" };\n return document.documentElement.clientWidth / 2 > e.right ? t.left = e.right + window.scrollX + 10 + \"px\" : (t.left = e.left + window.scrollX - 10 + \"px\", t.transform = \"translate(-100%, 0)\"), t;\n });\n return (0, vue_1.onMounted)(() => {\n b = new ResizeObserver(() => T()), b.observe(u.value), (0, vue_1.watch)(w, () => {\n let e = (u.value.children[0].clientHeight + parseInt(window.getComputedStyle(u.value).getPropertyValue(\"row-gap\"))) * (w.value - 1);\n u.value.scrollTo({\n top: e,\n behavior: \"smooth\"\n });\n });\n }), (0, vue_1.onUnmounted)(() => {\n b.disconnect();\n }), (t, i) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: (0, vue_1.normalizeClass)([\"top-miniCharts\", {\n \"top-miniCharts\": !0,\n scrollable: C.value > 1,\n \"top-miniCharts_hideChartInMobile\": e.hideChartInMobile\n }]),\n ref_key: \"elRef\",\n ref: u\n }, [\n (0, vue_1.renderSlot)(t.$slots, \"default\"),\n C.value > 1 ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", A, [((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(C.value, (e) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"span\", {\n class: (0, vue_1.normalizeClass)({ \"top-active\": e === w.value }),\n onClick: (t) => w.value = e\n }, null, 10, j))), 256))])) : (0, vue_1.createCommentVNode)(\"\", !0),\n ((0, vue_1.openBlock)(), (0, vue_1.createBlock)(vue_1.Teleport, { to: \"body\" }, [l.value ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n key: 0,\n class: \"top-miniCharts_tooltip\",\n style: (0, vue_1.normalizeStyle)(E.value)\n }, [(0, vue_1.createElementVNode)(\"span\", null, (0, vue_1.toDisplayString)(l.value.date), 1), (0, vue_1.createElementVNode)(\"span\", null, (0, vue_1.toDisplayString)(l.value.value), 1)], 4)) : (0, vue_1.createCommentVNode)(\"\", !0)]))\n ], 2));\n }\n });\n exports.TopMiniChart = k;\n exports.TopMiniCharts = M;\n});\n//# sourceMappingURL=charts.js.map\n","<script setup lang=\"ts\">\nimport type { Props } from './types';\nimport { computed } from 'vue';\nimport { dateFormat } from '@/core/utils/date';\nimport { percentOfNumber } from '@/core/utils/number';\nimport { defaultNumberCols, minHeight } from './utils/consts';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcolor: 'blue',\n\tnumberCols: defaultNumberCols,\n});\nconst model = defineModel<Props['modelValue']>();\n\n/**\n * Расчет высоты колонки (в процентах)\n */\nconst genColHeight = (value: number): number => {\n\tlet maximumValue = maxValue.value;\n\n\t// для графиков средней и медианной делаем максимум 1\n\tif (props.isInvert) {\n\t\tvalue -= 1;\n\t\tmaximumValue -= 1;\n\t}\n\n\tconst height = maximumValue > 0 ? Math.round((value / maximumValue) * (100 - minHeight)) : 0;\n\tif (props.isInvert) return 100 - height;\n\n\treturn height + minHeight;\n};\n\nconst isActiveDate = (date: string) => props.activeDates.includes(date);\n\nconst maxValue = computed(() => Math.max(...props.values));\n\n/**\n * Из-за стиля .top-miniChart_chartGrid - direction: rtl\n */\nconst reversedDates = computed(() => props.dates.slice().reverse());\n\n/**\n * Кол-во пустых колонок\n */\nconst numOfEmptyCols = computed(() => {\n\tif (!props.dates.length) return 0;\n\n\treturn props.numberCols - props.dates.length;\n});\n\nconst resetModel = () => {\n\tmodel.value = null;\n};\n\nconst setModel = (e: Event, date: string, value: number | null) => {\n\tif (!(e.target instanceof HTMLElement)) return;\n\n\tmodel.value = {\n\t\telCol: e.target,\n\t\tdate: dateFormat(date),\n\t\tvalue: value === null ? '--' : value + (props.valueSuffix ?? ''),\n\t};\n};\n\n/**\n * Возвращает численный показатель динамики графика\n */\nconst localDynamic = computed(() => {\n\tlet dynamic = props.dynamic;\n\n\tif (typeof dynamic === 'undefined') {\n\t\tconst prevPeriodValue = props.values[props.keysForDyn.start];\n\t\tconst currentValue = props.values[props.keysForDyn.end];\n\t\tdynamic = currentValue - prevPeriodValue;\n\t}\n\n\tconst sign = dynamic < 0 ? -1 : 1;\n\n\treturn sign * (percentOfNumber(Math.abs(dynamic)) as number);\n});\n\nconst dynamicDirection = computed(() => {\n\tlet direction: 'up' | 'stay' | 'down' = 'stay';\n\n\tif (!props.isInvert) {\n\t\tif (localDynamic.value > 0) direction = 'up';\n\t\tif (localDynamic.value < 0) direction = 'down';\n\t} else {\n\t\tif (localDynamic.value > 0) direction = 'down';\n\t\tif (localDynamic.value < 0) direction = 'up';\n\t}\n\n\treturn direction;\n});\n\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-miniChart']: true,\n\t\t\t['top-miniChart_hideChartInMobile']: hideChartInMobile,\n\t\t\t[`top-color_${color}`]: true\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tclass=\"top-miniChart_title top-ellipsis\"\n\t\t\t:data-top-icon=\"gIcon\"\n\t\t>\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_chart\">\n\t\t\t<div\n\t\t\t\tclass=\"top-miniChart_chartGrid\"\n\t\t\t\t@mouseleave=\"resetModel()\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(date, i) in reversedDates\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t['top-miniChart_chartGridCol']: true,\n\t\t\t\t\t\t['top-active']: isActiveDate(date)\n\t\t\t\t\t}\"\n\t\t\t\t\t@mouseenter=\"setModel($event, date, values[values.length - i - 1])\"\n\t\t\t\t>\n\t\t\t\t\t<div :style=\"'height:' + genColHeight(values[values.length - i - 1]) + '%'\"/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"() in numOfEmptyCols\"\n\t\t\t\t\tclass=\"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\"\n\t\t\t\t\t@mouseenter=\"resetModel()\"\n\t\t\t\t>\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_data\">\n\t\t\t<span :class=\"{\n\t\t\t\t['top-miniChart_dataDynamic']: true,\n\t\t\t\t[`top-miniChart_dataDynamic-direction_${dynamicDirection}`]: true,\n\t\t\t}\">\n\t\t\t\t{{ Math.abs(localDynamic) || '' }}\n\t\t\t</span>\n\t\t\t<span class=\"top-miniChart_dataValue\">\n\t\t\t\t{{ percentOfNumber(values[values.length - 1]) || 0 }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"additionalHTML\"\n\t\t\tv-html=\"additionalHTML\"\n\t\t/>\n\t</div>\n\n</template>\n<style>\n@import \"./styles/miniChart.css\";\n</style>\n","<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, watch } from 'vue';\nimport type { Props, Style } from './miniCharts';\n\nconst props = defineProps<Props>();\nconst model = defineModel<Props['modelValue']>();\n\nconst elRef = ref<HTMLElement | null>(null);\n\nlet pagesResizeObserver: ResizeObserver;\n\n/**\n * Количество страниц\n */\nconst countPages = ref(1);\n\n/**\n * Активная страница\n */\nconst activePage = ref(1);\n\n/**\n * Установка количества страниц в блоке\n */\nconst setCountPages = () => {\n\tcountPages.value = Math.round(elRef.value!.scrollHeight / elRef.value!.clientHeight);\n};\n\nwatch(countPages, () => {\n\tif (countPages.value < activePage.value) {\n\t\tactivePage.value = 1;\n\t}\n});\n\nwatch(\n\t() => props.countCharts,\n\t() => setCountPages(),\n\t{ flush: 'post' },\n);\n\n/**\n * Расчет положения для подсказки\n */\nconst tooltipStyle = computed(() => {\n\tif (!model.value) return {};\n\n\tconst box = model.value.elCol.getBoundingClientRect();\n\n\tconst style: Style = {\n\t\ttop: box.bottom + window.scrollY + 'px',\n\t};\n\n\tif (document.documentElement.clientWidth / 2 > box.right) {\n\t\tstyle.left = box.right + window.scrollX + 10 + 'px';\n\t} else {\n\t\tstyle.left = box.left + window.scrollX - 10 + 'px';\n\t\tstyle.transform = 'translate(-100%, 0)';\n\t}\n\n\treturn style;\n});\n\nonMounted(() => {\n\t/**\n\t * Функционал переключения экранов графиков\n\t */\n\tpagesResizeObserver = new ResizeObserver(() => setCountPages());\n\tpagesResizeObserver.observe(elRef.value!);\n\n\twatch(activePage, () => {\n\t\tconst elMiniChart = elRef.value!.children[0];\n\t\tconst pageHeight = elMiniChart.clientHeight + parseInt(window.getComputedStyle(elRef.value!).getPropertyValue('row-gap'));\n\t\tconst scrollTop = pageHeight * (activePage.value - 1);\n\n\t\telRef.value!.scrollTo({ top: scrollTop, behavior: 'smooth' });\n\t});\n});\n\nonUnmounted(() => {\n\tpagesResizeObserver.disconnect();\n});\n</script>\n\n<template>\n\t<div\n\t\tclass=\"top-miniCharts\"\n\t\t:class=\"{\n\t\t\t['top-miniCharts']: true,\n\t\t\t['scrollable']: countPages > 1,\n\t\t\t['top-miniCharts_hideChartInMobile']: hideChartInMobile,\n\t\t}\"\n\t\tref=\"elRef\"\n\t>\n\n\t\t<slot></slot>\n\n\t\t<div\n\t\t\tv-if=\"countPages > 1\"\n\t\t\tclass=\"top-miniCharts_pages\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-for=\"n in countPages\"\n\t\t\t\t:class=\"{['top-active']: n === activePage}\"\n\t\t\t\t@click=\"activePage = n\"\n\t\t\t></span>\n\t\t</div>\n\n\t\t<Teleport to=\"body\">\n\t\t\t<div\n\t\t\t\tv-if=\"model\"\n\t\t\t\tclass=\"top-miniCharts_tooltip\"\n\t\t\t\t:style=\"tooltipStyle\"\n\t\t\t>\n\t\t\t\t<span>{{ model.date }}</span>\n\t\t\t\t<span>{{ model.value }}</span>\n\t\t\t</div>\n\t\t</Teleport>\n\t</div>\n\n</template>\n\n<style>\n@import \"./styles/miniCharts.css\";\n</style>\n"]}
|
package/charts/charts.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
_autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
|
|
6
6
|
/* end import css */
|
|
7
7
|
|
|
8
|
-
import { _ as e } from "../.chunks/forms-
|
|
8
|
+
import { _ as e } from "../.chunks/forms-DrY7Q_VD.es.js";
|
|
9
9
|
import { percentOfNumber as t } from "../utils/number.js";
|
|
10
10
|
import { Fragment as n, Teleport as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, defineComponent as l, mergeModels as u, normalizeClass as d, normalizeStyle as f, onMounted as p, onUnmounted as m, openBlock as h, ref as g, renderList as _, renderSlot as v, toDisplayString as y, unref as b, useModel as x, watch as S } from "vue";
|
|
11
11
|
//#region src/components/charts/miniChart/miniChart.vue?vue&type=script&setup=true&lang.ts
|