@topvisor/ui 1.5.0-updates.1 → 1.5.0-updates.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.chunks/api-CawzY1Cw.amd.js +1 -1
- package/.chunks/api-CawzY1Cw.amd.js.map +1 -1
- package/.chunks/app-CCX-gNqz.amd.js +1 -1
- package/.chunks/app-CCX-gNqz.amd.js.map +1 -1
- package/.chunks/datepicker-BTkZOq7d.amd.js +1 -1
- package/.chunks/datepicker-BTkZOq7d.amd.js.map +1 -1
- package/.chunks/dialog-DeM4SApg.amd.js +1 -1
- package/.chunks/dialog-DeM4SApg.amd.js.map +1 -1
- package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd.js +1 -1
- package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd.js.map +1 -1
- package/.chunks/dialogs-CMrERMI7.amd.js +1 -1
- package/.chunks/dialogs-CMrERMI7.amd.js.map +1 -1
- package/.chunks/field-CjkpGeA7.amd.js +1 -1
- package/.chunks/field-CjkpGeA7.amd.js.map +1 -1
- package/.chunks/forms-CbUt-6Ff.amd.js +1 -1
- package/.chunks/forms-CbUt-6Ff.amd.js.map +1 -1
- package/.chunks/formsExt-CrTmBhja.amd.js +1 -1
- package/.chunks/formsExt-CrTmBhja.amd.js.map +1 -1
- package/.chunks/formsExt-CrTmBhja.esm.js.map +1 -1
- package/.chunks/lazy-CGswTOPj.amd.js +1 -1
- package/.chunks/lazy-CGswTOPj.amd.js.map +1 -1
- package/.chunks/mocker-CwZe-g4N.amd.js +1 -1
- package/.chunks/mocker-CwZe-g4N.amd.js.map +1 -1
- package/.chunks/notice-CslVdVNm.amd.js +2 -2
- package/.chunks/notice-CslVdVNm.amd.js.map +1 -1
- package/.chunks/popup-DrByVU-k.amd.js +1 -1
- package/.chunks/popup-DrByVU-k.amd.js.map +1 -1
- package/.chunks/popup-dNrN-eKi.amd.js +1 -1
- package/.chunks/popup-dNrN-eKi.amd.js.map +1 -1
- package/.chunks/punycode.es6-B-5kB2YI.amd.js +1 -1
- package/.chunks/punycode.es6-B-5kB2YI.amd.js.map +1 -1
- package/.chunks/store-DuQpSSLL.amd.js +1 -1
- package/.chunks/store-DuQpSSLL.amd.js.map +1 -1
- package/.chunks/utils-BwiXsV0S.amd.js +1 -1
- package/.chunks/utils-BwiXsV0S.amd.js.map +1 -1
- package/.chunks/utils-Dd0MZgyw.amd.js +1 -1
- package/.chunks/utils-Dd0MZgyw.amd.js.map +1 -1
- package/.chunks/worker-Db8YrEHo.amd.js +1 -1
- package/.chunks/worker-Db8YrEHo.amd.js.map +1 -1
- package/api/additional.amd.js +1 -1
- package/api/additional.amd.js.map +1 -1
- package/api/additional.d.ts +1 -0
- package/api/index.amd.js +1 -1
- package/api/index.amd.js.map +1 -1
- package/api/index.d.ts +1 -0
- package/assets/core.css +1 -1
- package/assets/formsExt.css +1 -1
- package/assets/project.css +1 -1
- package/charts/charts.amd.js +1 -1
- package/charts/charts.amd.js.map +1 -1
- package/charts/charts.d.ts +1 -0
- package/core/app.amd.js +1 -1
- package/core/app.amd.js.map +1 -1
- package/core/app.d.ts +1 -0
- package/dialog/dialog.amd.js +1 -1
- package/dialog/dialog.amd.js.map +1 -1
- package/dialog/dialog.d.ts +1 -0
- package/extra/extra.amd.js +1 -1
- package/extra/extra.amd.js.map +1 -1
- package/extra/extra.d.ts +1 -0
- package/forms/forms.amd.js +1 -1
- package/forms/forms.amd.js.map +1 -1
- package/forms/forms.d.ts +1 -0
- package/forms/helpers.amd.js +1 -1
- package/forms/helpers.amd.js.map +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.d.ts +1 -0
- package/icomoon/Topvisor icons.json +259 -231
- package/icomoon/demo-files/demo.amd.js +1 -1
- package/icomoon/demo-files/demo.amd.js.map +1 -1
- package/icomoon/demo.amd.js +1 -1
- package/icomoon/demo.amd.js.map +1 -1
- package/icomoon/demo.html +15 -1
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +1 -0
- package/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/icomoon/fonts/Topvisor-2.woff +0 -0
- package/icomoon/selection.json +1 -1
- package/icomoon/style.css +8 -5
- package/layout/layout.amd.js +1 -1
- package/layout/layout.amd.js.map +1 -1
- package/layout/layout.d.ts +1 -0
- package/package.json +1 -1
- package/popup/popup.amd.js +1 -1
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.d.ts +1 -0
- package/popup/worker.amd.js +1 -1
- package/popup/worker.amd.js.map +1 -1
- package/popup/worker.d.ts +1 -0
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.d.ts +1 -0
- package/project/project.js +182 -189
- package/project/project.js.map +1 -1
- package/src/{src/components → components}/charts/miniCharts/miniCharts.d.ts +1 -1
- package/src/{src/components → components}/core/notice/item/types.d.ts +1 -1
- package/src/{src/components → components}/core/notice/utils.d.ts +1 -1
- package/src/{src/components → components}/dialog/dialog/composables/dialogHandle.d.ts +1 -1
- package/src/{src/components → components}/dialog/dialog/dialogs/dialogs.vue.d.ts +2 -2
- package/src/{src/components → components}/dialog/dialog/stories/dialog_example/pages/utils.d.ts +1 -1
- package/src/components/dialog/dialog.d.ts +6 -0
- package/src/{src/components → components}/dialog/lib/worker.d.ts +1 -1
- package/src/{src/components → components}/forms/button/types.d.ts +1 -1
- package/src/{src/components → components}/forms/input/types.d.ts +1 -1
- package/src/components/forms/inputDate/types.d.ts +1 -0
- package/src/{src/components → components}/forms/select/types.d.ts +1 -1
- package/src/{src/components → components}/formsExt/editArea/types.d.ts +1 -1
- package/src/{src/components → components}/formsExt/editInput/types.d.ts +2 -2
- package/src/{src/components → components}/formsExt/libs/optionGroup/types.d.ts +1 -1
- package/src/{src/components → components}/formsExt/menu/types.d.ts +1 -1
- package/src/{src/components → components}/formsExt/policy/policy.vue.d.ts +1 -1
- package/src/{src/components → components}/formsExt/selector2/types.d.ts +3 -3
- package/src/{src/components → components}/popup/lib/popup.d.ts +2 -2
- package/src/{src/components → components}/popup/lib/worker.d.ts +2 -2
- package/src/{src/components → components}/popup/popup/popup.vue.d.ts +1 -1
- package/src/{src/components → components}/popup/popup/widgetInput/widgetInput.vue.d.ts +1 -1
- package/src/{src/components → components}/popup/popupConfirm/popupConfirm.vue.d.ts +1 -1
- package/src/{src/components → components}/project/competitorSelector/composables.d.ts +1 -1
- package/src/{src/components → components}/project/competitorSelector/types.d.ts +1 -1
- package/src/{src/components → components}/project/groupSelector/folders/types.d.ts +2 -2
- package/src/components/project/groupSelector/folders/utils.d.ts +57 -0
- package/src/{src/components → components}/project/groupSelector/groups/groups.vue.d.ts +1 -1
- package/src/{src/components → components}/project/groupSelector/groups/types.d.ts +2 -2
- package/src/components/project/groupSelector/groups/utils.d.ts +78 -0
- package/src/{src/components → components}/project/groupSelector/stories/mocks/index.d.ts +1 -1
- package/src/{src/components → components}/project/projectSelector/cache.d.ts +1 -1
- package/src/{src/components → components}/project/projectSelector/projectSelector.vue.d.ts +1 -1
- package/src/{src/components → components}/project/projectSelector/types.d.ts +2 -2
- package/src/{src/components → components}/project/projectSelector/utils.d.ts +41 -40
- package/src/{src/components → components}/project/regionSelector/composables/selectRegion.d.ts +1 -1
- package/src/{src/components → components}/project/regionSelector/composables/selectSearcher.d.ts +1 -1
- package/src/{src/components → components}/project/regionSelector/dialog_regionSelectorRegions/types.d.ts +1 -1
- package/src/{src/components → components}/project/tagSelector/popupOpener/types.d.ts +1 -1
- package/src/{src/components → components}/project/tagSelector/types.d.ts +1 -1
- package/src/{src/components → components}/project/tagSelector/utils/el.d.ts +1 -1
- package/src/{src/components → components}/tabsView/tabsView/store.d.ts +1 -1
- package/src/{src/core → core}/app.d.ts +2 -2
- package/src/{src/core → core}/core/core.d.ts +3 -3
- package/src/{src/core → core}/plugins/core.d.ts +6 -6
- package/src/{src/core → core}/utils/price.d.ts +2 -2
- package/src/core/utils/store.d.ts +6 -0
- package/tabs/tabs.amd.js +1 -1
- package/tabs/tabs.amd.js.map +1 -1
- package/tabs/tabs.d.ts +1 -0
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.d.ts +1 -0
- package/utils/check.amd.js +1 -1
- package/utils/check.amd.js.map +1 -1
- package/utils/check.d.ts +1 -0
- package/utils/clipboard.amd.js +4 -4
- package/utils/clipboard.amd.js.map +1 -1
- package/utils/clipboard.d.ts +1 -0
- package/utils/date.amd.js +1 -1
- package/utils/date.amd.js.map +1 -1
- package/utils/date.d.ts +1 -0
- package/utils/device.amd.js +1 -1
- package/utils/device.amd.js.map +1 -1
- package/utils/device.d.ts +1 -0
- package/utils/dom.amd.js +1 -1
- package/utils/dom.amd.js.map +1 -1
- package/utils/dom.d.ts +5 -0
- package/utils/image.amd.js +1 -1
- package/utils/image.amd.js.map +1 -1
- package/utils/image.d.ts +1 -0
- package/utils/keyboard.amd.js +1 -1
- package/utils/keyboard.amd.js.map +1 -1
- package/utils/keyboard.d.ts +1 -0
- package/utils/lodash.amd.js +1 -1
- package/utils/lodash.amd.js.map +1 -1
- package/utils/lodash.d.ts +1 -0
- package/utils/number.amd.js +1 -1
- package/utils/number.amd.js.map +1 -1
- package/utils/number.d.ts +1 -0
- package/utils/price.amd.js +1 -1
- package/utils/price.amd.js.map +1 -1
- package/utils/price.d.ts +1 -0
- package/utils/route.amd.js +1 -1
- package/utils/route.amd.js.map +1 -1
- package/utils/route.d.ts +1 -0
- package/utils/scroll.amd.js +1 -1
- package/utils/scroll.amd.js.map +1 -1
- package/utils/scroll.d.ts +1 -0
- package/utils/searchers.amd.js +1 -1
- package/utils/searchers.amd.js.map +1 -1
- package/utils/searchers.d.ts +1 -0
- package/utils/store.amd.js +1 -1
- package/utils/store.amd.js.map +1 -1
- package/utils/store.d.ts +1 -0
- package/utils/string.amd.js +1 -1
- package/utils/string.amd.js.map +1 -1
- package/utils/string.d.ts +1 -0
- package/utils/system.amd.js +1 -1
- package/utils/system.amd.js.map +1 -1
- package/utils/system.d.ts +1 -0
- package/utils/url.amd.js +2 -2
- package/utils/url.amd.js.map +1 -1
- package/utils/url.d.ts +1 -0
- package/src/src/components/dialog/dialog.d.ts +0 -6
- package/src/src/components/forms/inputDate/types.d.ts +0 -1
- package/src/src/components/project/groupSelector/folders/utils.d.ts +0 -422
- package/src/src/components/project/groupSelector/groups/utils.d.ts +0 -791
- package/src/src/components/project/groupSelector/utils.d.ts +0 -37
- package/src/src/core/utils/store.d.ts +0 -6
- package/src/{src/api → api}/api/additional.d.ts +0 -0
- package/src/{src/api → api}/api/client/client.d.ts +0 -0
- package/src/{src/api → api}/api/client/request-options.d.ts +0 -0
- package/src/{src/api → api}/api/client/request.d.ts +0 -0
- package/src/{src/api → api}/api/index.d.ts +0 -0
- package/src/{src/api → api}/api/mocker/index.d.ts +0 -0
- package/src/{src/api → api}/api/tests/types.test-d.d.ts +0 -0
- package/src/{src/api → api}/api/types/api.d.ts +0 -0
- package/src/{src/api → api}/api/types/client/client.d.ts +0 -0
- package/src/{src/api → api}/api/types/client/middleware.d.ts +0 -0
- package/src/{src/api → api}/api/types/client/options.d.ts +0 -0
- package/src/{src/api → api}/api/types/client/request-context.d.ts +0 -0
- package/src/{src/api → api}/api/types/client/request-options.d.ts +0 -0
- package/src/{src/api → api}/api/types/client/request.d.ts +0 -0
- package/src/{src/api → api}/api/types/ext.d.ts +0 -0
- package/src/{src/api → api}/api/types/field.d.ts +0 -0
- package/src/{src/api → api}/api/types/index.d.ts +0 -0
- package/src/{src/api → api}/api/types/mocker.d.ts +0 -0
- package/src/{src/api → api}/api/types/schema.d.ts +0 -0
- package/src/{src/api → api}/api/types/tv.d.ts +0 -0
- package/src/{src/api → api}/api/types/utils.d.ts +0 -0
- package/src/{src/api → api}/api/utils/common.d.ts +0 -0
- package/src/{src/api → api}/api/utils/field.d.ts +0 -0
- package/src/{src/api → api}/api/utils/filters.d.ts +0 -0
- package/src/{src/api → api}/api/utils/lazy.d.ts +0 -0
- package/src/{src/components → components}/charts/charts.d.ts +0 -0
- package/src/{src/components → components}/charts/miniChart/miniChart.vue.d.ts +0 -0
- package/src/{src/components → components}/charts/miniChart/types.d.ts +0 -0
- package/src/{src/components → components}/charts/miniChart/utils/consts.d.ts +0 -0
- package/src/{src/components → components}/charts/miniCharts/miniCharts.vue.d.ts +0 -0
- package/src/{src/components → components}/core/notice/item/item.vue.d.ts +0 -0
- package/src/{src/components → components}/core/notice/notice.vue.d.ts +0 -0
- package/src/{src/components → components}/core/notice/types.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/composables/asyncDialogHandle.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/composables/types.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/composables/utils.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/dialog.vue.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/page/page.vue.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/page/types.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/pageComponent/types.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/types.d.ts +0 -0
- package/src/{src/components → components}/dialog/lib/types.d.ts +0 -0
- package/src/{src/components → components}/dialog/lib/utils.d.ts +0 -0
- package/src/{src/components → components}/dialog/lib/utils.globalEvents.d.ts +0 -0
- package/src/{src/components → components}/extra/extra.d.ts +0 -0
- package/src/{src/components → components}/extra/rive/rive.vue.d.ts +0 -0
- package/src/{src/components → components}/extra/rive/types.d.ts +0 -0
- package/src/{src/components → components}/forms/avatar/avatar.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/avatar/types.d.ts +0 -0
- package/src/{src/components → components}/forms/button/button.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/caption/caption.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/caption/types.d.ts +0 -0
- package/src/{src/components → components}/forms/checkbox/checkbox.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/checkbox/types.d.ts +0 -0
- package/src/{src/components → components}/forms/controlLabel/controlLabel.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/controlLabel/types.d.ts +0 -0
- package/src/{src/components → components}/forms/forms.d.ts +0 -0
- package/src/{src/components → components}/forms/helpers.d.ts +0 -0
- package/src/{src/components → components}/forms/hint/hint.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/hint/types.d.ts +0 -0
- package/src/{src/components → components}/forms/input/input.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/inputDate/datepicker.d.ts +0 -0
- package/src/{src/components → components}/forms/inputDate/inputDate.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/inputRange/inputRange.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/inputRange/types.d.ts +0 -0
- package/src/{src/components → components}/forms/loadbar/loadbar.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/preloader/preloader.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/preloader/types.d.ts +0 -0
- package/src/{src/components → components}/forms/radio/radio.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/radio/types.d.ts +0 -0
- package/src/{src/components → components}/forms/select/select.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/switcher/switcher.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/switcher/types.d.ts +0 -0
- package/src/{src/components → components}/forms/textarea/textarea.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/textarea/types.d.ts +0 -0
- package/src/{src/components → components}/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/checkboxGroup/types.d.ts +0 -0
- package/src/{src/components → components}/formsExt/editArea/editArea.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/editInput/editInput.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/formsExt.d.ts +0 -0
- package/src/{src/components → components}/formsExt/info/info.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/info/types.d.ts +0 -0
- package/src/{src/components → components}/formsExt/libs/optionGroup/optionGroup.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/menu/menu.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/policy/types.d.ts +0 -0
- package/src/{src/components → components}/formsExt/radioGroup/radioGroup.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/radioGroup/types.d.ts +0 -0
- package/src/{src/components → components}/formsExt/selector2/cache.d.ts +0 -0
- package/src/{src/components → components}/formsExt/selector2/composables/useAPI.d.ts +0 -0
- package/src/{src/components → components}/formsExt/selector2/composables/useMenu.d.ts +0 -0
- package/src/{src/components → components}/formsExt/selector2/itemMulti.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/selector2/selector2.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/selector2/utils.d.ts +0 -0
- package/src/{src/components → components}/layout/islandRows/islandRows.vue.d.ts +0 -0
- package/src/{src/components → components}/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -0
- package/src/{src/components → components}/layout/islandRows/islandRowsRow/types.d.ts +0 -0
- package/src/{src/components → components}/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -0
- package/src/{src/components → components}/layout/islandRows/types.d.ts +0 -0
- package/src/{src/components → components}/layout/layout.d.ts +0 -0
- package/src/{src/components → components}/layout/rows/rows.vue.d.ts +0 -0
- package/src/{src/components → components}/layout/rows/types.d.ts +0 -0
- package/src/{src/components → components}/popup/lib/popup.globalEvents.d.ts +0 -0
- package/src/{src/components → components}/popup/lib/worker.globalEvents.d.ts +0 -0
- package/src/{src/components → components}/popup/popup/listItem.vue.d.ts +0 -0
- package/src/{src/components → components}/popup/popup/opener/opener.vue.d.ts +0 -0
- package/src/{src/components → components}/popup/popup/opener/types.d.ts +0 -0
- package/src/{src/components → components}/popup/popup/types.d.ts +0 -0
- package/src/{src/components → components}/popup/popup.d.ts +0 -0
- package/src/{src/components → components}/popup/popupAlert/popupAlert.vue.d.ts +0 -0
- package/src/{src/components → components}/popup/popupAlert/types.d.ts +0 -0
- package/src/{src/components → components}/popup/popupConfirm/types.d.ts +0 -0
- package/src/{src/components → components}/popup/popupHint/popupHint.vue.d.ts +0 -0
- package/src/{src/components → components}/popup/popupHint/types.d.ts +0 -0
- package/src/{src/components → components}/popup/popupPrompt/popupPrompt.vue.d.ts +0 -0
- package/src/{src/components → components}/popup/popupPrompt/types.d.ts +0 -0
- package/src/{src/components → components}/popup/worker.d.ts +0 -0
- package/src/{src/components → components}/project/competitorSelector/competitorSelector.vue.d.ts +0 -0
- package/src/{src/components → components}/project/groupSelector/folders/folders.vue.d.ts +0 -0
- package/src/{src/components → components}/project/groupSelector/groupSelector.vue.d.ts +1 -1
- /package/src/{src/components → components}/project/groupSelector/stories/mocks/folders.d.ts +0 -0
- /package/src/{src/components → components}/project/groupSelector/stories/mocks/groups.d.ts +0 -0
- /package/src/{src/components → components}/project/groupSelector/types.d.ts +0 -0
- /package/src/{src/components → components}/project/project.d.ts +0 -0
- /package/src/{src/components → components}/project/projectSelector/submenu/submenu.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/projectSelector/submenu/types.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/composables/compare.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/composables/selectorRegion.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/dialog_regionSelectorRegions/dialog_regionSelectorRegions.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/regionSelector.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/types.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/utils/consts.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/utils/utils.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/popupListItem/types.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/tagIcon/tagIcon.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/tagIcon/types.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/tagSelector.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/tagsDefaults.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/utils/utils.d.ts +0 -0
- /package/src/{src/components → components}/tabs/tabs/content.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabs/tabs/tab.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabs/tabs/tabs.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabs/tabs/types.d.ts +0 -0
- /package/src/{src/components → components}/tabs/tabs.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/menu.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/menuItem.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/menuTitle.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/tabsView.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/types.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/utils.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView.d.ts +0 -0
- /package/src/{src/core → core}/core/events/resize.d.ts +0 -0
- /package/src/{src/core → core}/core/events.d.ts +0 -0
- /package/src/{src/core → core}/core/options.d.ts +0 -0
- /package/src/{src/core → core}/core/preloaders.d.ts +0 -0
- /package/src/{src/core → core}/core/state.d.ts +0 -0
- /package/src/{src/core → core}/directives/data.d.ts +0 -0
- /package/src/{src/core → core}/directives/focus.d.ts +0 -0
- /package/src/{src/core → core}/directives/preloader.d.ts +0 -0
- /package/src/{src/core → core}/directives/scrollIntoView.d.ts +0 -0
- /package/src/{src/core → core}/directives/scrollShadow.d.ts +0 -0
- /package/src/{src/core → core}/directives/shortcut.d.ts +0 -0
- /package/src/{src/core → core}/directives/sticky.d.ts +0 -0
- /package/src/{src/core → core}/directives/swimUp.d.ts +0 -0
- /package/src/{src/core → core}/directives/tooltip.d.ts +0 -0
- /package/src/{src/core → core}/plugins/i18n.d.ts +0 -0
- /package/src/{src/core → core}/plugins/piniaTPA.d.ts +0 -0
- /package/src/{src/core → core}/utils/check.d.ts +0 -0
- /package/src/{src/core → core}/utils/clipboard.d.ts +0 -0
- /package/src/{src/core → core}/utils/composables/useWatch.d.ts +0 -0
- /package/src/{src/core → core}/utils/date.d.ts +0 -0
- /package/src/{src/core → core}/utils/device.d.ts +0 -0
- /package/src/{src/core → core}/utils/dom.d.ts +0 -0
- /package/src/{src/core → core}/utils/image.d.ts +0 -0
- /package/src/{src/core → core}/utils/keyboard.d.ts +0 -0
- /package/src/{src/core → core}/utils/lodash.d.ts +0 -0
- /package/src/{src/core → core}/utils/number.d.ts +0 -0
- /package/src/{src/core → core}/utils/route.d.ts +0 -0
- /package/src/{src/core → core}/utils/scroll.d.ts +0 -0
- /package/src/{src/core → core}/utils/searchers.d.ts +0 -0
- /package/src/{src/core → core}/utils/store/localStorage.d.ts +0 -0
- /package/src/{src/core → core}/utils/store/plugin.d.ts +0 -0
- /package/src/{src/core → core}/utils/store/store.d.ts +0 -0
- /package/src/{src/core → core}/utils/string.d.ts +0 -0
- /package/src/{src/core → core}/utils/system.d.ts +0 -0
- /package/src/{src/core → core}/utils/tests/date/dateFormat.test.d.ts +0 -0
- /package/src/{src/core → core}/utils/url.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[".chunks/utils-Dd0MZgyw.esm.js","../../src/storybook/jquery.ts","../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"names":["exports","p","m","i","dom_js_1","a","r","I","o","route_js_1","dialogs_CMrERMI7_esm_js_1","t","forms_CbUt_6Ff_esm_js_1","h","g","_","v","S","w","T","y","b","x","vue_1","system_js_1","scroll_js_1","C","n","E","D","O","k","F","c","l","u","d","s","M","N","worker_Db8YrEHo_esm_js_1","f","A","j","P"],"mappings":"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","sourcesContent":["define([\"require\", \"exports\", \"./forms-CbUt-6Ff.esm.js\", \"../utils/dom.js\", \"./worker-Db8YrEHo.esm.js\", \"../utils/system.js\", \"./dialogs-CMrERMI7.esm.js\", \"../utils/route.js\", \"../utils/scroll.js\", \"vue\", \"../popup/worker.js\"], function (require, exports, forms_CbUt_6Ff_esm_js_1, dom_js_1, worker_Db8YrEHo_esm_js_1, system_js_1, dialogs_CMrERMI7_esm_js_1, route_js_1, scroll_js_1, vue_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.TopDialogUtils = void 0;\n $;\n //#endregion\n //#region src/components/dialog/lib/utils.globalEvents.ts\n var p = !1, m = () => {\n p || (p = !0, document.addEventListener(\"keydown\", (e) => {\n if (e.key !== \"Escape\" || !e.target || !(e.target instanceof HTMLElement))\n return;\n let i = e.target;\n if (!i.closest(\".ui-dialog\") || i.contentEditable === \"true\" || i.contentEditable === \"plaintext-only\" || (0, dom_js_1.querySelectorVisible)(document.documentElement, \".top-popup-wrapper\") || i.classList.contains(\"autocomplete\") || (0, dom_js_1.querySelectorVisible)(document.documentElement, \".fancybox-container\"))\n return;\n let a = (0, dom_js_1.querySelectorAllArray)(document, \".ui-dialog-content\").filter((e) => (0, dom_js_1.isVisible)(e));\n $(a[a.length - 1]).dialog(\"close\");\n }), document.addEventListener(\"click\", (e) => {\n if (!(e.target instanceof HTMLElement))\n return;\n let r = e.target.closest(\"[data-action=\\\"top-dialog-close\\\"]\");\n if (!r)\n return;\n e.preventDefault();\n let i = r.closest(\".ui-dialog-content\");\n if (!i)\n return;\n let a = r.dataset.toView;\n if (a == \"toPrevPage()\") {\n I.toPrevPage(i);\n return;\n }\n if (a) {\n let e = a.split(\"-\"), r = e.shift(), i = e.join(\"-\");\n if (!r)\n return;\n let o = I.getElDialogById(r);\n if (!o)\n return;\n let c = (0, dom_js_1.querySelectorAllArray)(o, `[data-view-page=\"${i}\"]`);\n if (!c)\n return;\n if (!(0, dom_js_1.isVisible)(c[0])) {\n (0, route_js_1.historySetState)(!1, dialogs_CMrERMI7_esm_js_1.i.genViewPageHash(a, \"prev\"));\n return;\n }\n }\n $(i).dialog(\"close\");\n }), document.addEventListener(\"submit\", (e) => {\n let t = e.target;\n (t.matches(\".modal-body > form\") || t.matches(\".modal-layer-body > form\")) && e.preventDefault();\n }), document.addEventListener(\"keypress\", (e) => {\n if (!(e.target instanceof HTMLElement))\n return;\n let r = e.target;\n if (r.closest(\".ui-dialog .modal-body\") && (r.matches(\"input:not(.searcher), textarea:not(.searcher), select:not(.searcher), button:not(.searcher)\") || r.hasAttribute(\"contenteditable\")) && e.key === \"Enter\") {\n if (r.classList.contains(\"autocomplete\")) {\n e.preventDefault();\n return;\n }\n if (r.tagName === \"TEXTAREA\") {\n if (!e.ctrlKey && !e.metaKey)\n return;\n let i = r.closest(\"form\");\n i && (0, dom_js_1.querySelectorAllArray)(i, \"button[type=\\\"submit\\\"]\").concat((0, dom_js_1.querySelectorAllArray)(i, \"input[type=\\\"submit\\\"]\")).find((e) => (0, dom_js_1.isVisible)(e))?.click();\n }\n }\n }), document.addEventListener(\"click\", function (e) {\n if (!(e.target instanceof HTMLElement) || !e.target.classList.contains(\"ui-widget-overlay\"))\n return;\n let r, i = 0;\n if ((0, dom_js_1.querySelectorAllArray)(document, \".ui-dialog\").filter((e) => (0, dom_js_1.isVisible)(e)).forEach((e) => {\n let t = Number(window.getComputedStyle(e).zIndex);\n t < i || (r = e, i = t);\n }), r) {\n let e = r.querySelector(\".ui-dialog-content\");\n $(e).dialog(\"close\");\n }\n }), window.addEventListener(\"resize\", I.recalcPositions), I.recalcPositions());\n };\n forms_CbUt_6Ff_esm_js_1.O.insertStyleToPage(\":root{--dialog-border-color:var(--color-line-1);--dialog-loading-duration:10s;--top-dialog-footer-height:var(--top-forms-base-height_s)}html.with_dialog{overflow:hidden!important}a[data-to-view]{cursor:pointer}.ui-widget-overlay{opacity:.5;filter:Alpha(Opacity=50);background:#040404}.ui-dialog{border:none;border-radius:8px;padding:0}.ui-dialog.ui-widget{border:none}.ui-dialog-titlebar{display:none}.ui-dialog .ui-dialog-content{padding:0;overflow:visible}.ui-dialog .project_name{word-break:break-all}.ui-dialog-content{--dialog-header-height:50px;--dialog-layer-pageSelector:0px}.ui-dialog-content-withPageSelector{--dialog-layer-pageSelector:42px}.modal-header,.modal-body,.modal-footer{font-size:14px;position:relative}.modal-body{padding:var(--padding-default)}.modal-body:has(>.topTable:first-child){padding-top:calc(var(--padding-default) / 4)}.modal-header{border-bottom:1px solid var(--dialog-border-color);height:var(--dialog-header-height);padding:0 var(--padding-default);justify-content:space-between;align-items:center;gap:var(--top-padding-2);display:flex}.modal-header>*{padding:10px 0;font-size:16px}.modal-header>.top-title{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;order:50;align-items:center;margin:0;font-weight:400;display:flex;overflow:hidden}.modal-header>.top-title>div[class*=icon]{display:none}.modal-header>div:not(.top-title){order:60}.modal-header>div.close{--top-icon-color:var(--color-text-2);cursor:pointer;background:var(--color-layout-front-1);order:100;font-size:16px;animation-name:none!important}.modal-header>div.close:hover{--top-icon-color:var(--color-text-1)}.modal-header .links_icons{position:absolute;right:50px}.modal-header .links_icons [class*=icon-]{color:#d6dee0;width:auto;height:auto;padding:0 5px}.modal-header .links_icons [class*=icon-].active{color:var(--color-bg-warning-1)}.modal-layer-pageSelector{padding:0 10px!important}.modal-body{max-height:calc(var(--100vh) - var(--dialog-header-height) - 1px - var(--dialog-layer-pageSelector) - var(--top-dialog-footer-height) - 1px);box-sizing:border-box;flex-grow:1;overflow:hidden auto}.modal-body hr{margin:16px -15px}.modal-body h4{margin:0 0 10px;padding:0;line-height:normal}.modal-body .inner{padding:var(--padding-default);margin:0 calc(0px - var(--padding-default));position:relative}.modal-body .inner .bt{border-top:1px dashed var(--color-layout-front-primary-3);position:absolute;top:0;left:0;right:0}.modal-body .inner .bb{border-bottom:1px dashed var(--color-layout-front-primary-3);position:absolute;bottom:0;left:0;right:0}.modal-body .inner.color-1{background:var(--color-layout-front-primary-3);color:var(--color-text-1)}.modal-body .inner strong{color:var(--color-text-1)}.modal-body .comment{line-height:18px}.modal-footer{min-height:var(--top-dialog-footer-height);padding:var(--top-gap-2);justify-content:flex-end;align-items:center;gap:var(--top-gap-2);flex-shrink:0;display:flex}.modal-footer .modal-footer-btn-left{margin-right:auto}.modal-footer>.btn.full_width,.modal-footer>.top-button.full_width{flex-grow:1;align-self:flex-end}.modal-footer-fullWith{flex-wrap:wrap}.modal-footer-fullWith>*{flex-grow:1}.modal-footer-fullWith>.top-info{flex-grow:5}.modal-footer-fullWith>:empty{flex-grow:0}.ui-dialog-content>.modal-layer>[data-view-page]>input[type=submit]{visibility:hidden;position:absolute}.help_popup .modal-header{display:none}.help_popup .modal-header a{z-index:10;top:2px}.help_popup .modal-header .top-title{display:none}.modal-layer{overflow:hidden}.modal-layer a[data-top-icon]:empty{color:var(--color-text-4);text-decoration:none}.modal-layer>[data-view-page]>div>div.buttons{white-space:nowrap;gap:var(--top-padding-1);display:flex}.modal-layer>[data-view-page]>div>div.buttons:empty{display:none}.modal-layer>[data-view-page]>div>div.buttons>div,.modal-layer>[data-view-page]>div>div.buttons>a{cursor:pointer;width:auto;min-width:auto;height:auto;min-height:auto;color:var(--color-text-4);padding:10px 9px}.modal-layer>[data-view-page]>div>div.buttons>div:hover{color:var(--color-text-2)}.modal-layer>[data-view-page]>div>div.buttons>div.hidden{display:none!important}.ui-dialog-content[data-view-page-active]{flex-direction:column;justify-items:stretch;display:flex!important}.ui-dialog-content>.modal-layer{align-items:stretch;position:relative;display:flex!important}.ui-dialog-content.i-change-page>.modal-layer{overflow:hidden}.ui-dialog-content>.modal-layer>[data-view-page]{flex-direction:column;justify-content:space-between;width:100%;animation:none;display:none;position:relative}.ui-dialog-content>.modal-layer>[data-view-page].active{display:flex}.ui-dialog-content>.modal-layer>[data-view-page].reverse{animation-direction:reverse}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center{display:flex;position:absolute;inset:0}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left>div,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center>div{overflow:hidden}.ui-dialog-content>.modal-layer-header{border-bottom:1px solid var(--dialog-border-color);min-height:var(--dialog-header-height)}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header{background:0 0;border:none}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header>*{animation:none}.ui-dialog-content>.modal-layer-header>[data-view-page].reverse>.modal-header>*{animation-direction:reverse}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>.top-title{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>.top-title{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>[class*=widget-]{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>[class*=widget-]{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>div{animation-name:dialog-center-to-left-header-icons}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>div{animation-name:dialog-right-to-center-header-icons}.ui-dialog-content>.modal-layer-body{max-height:calc(var(--100vh) - var(--dialog-header-height) - var(--dialog-layer-pageSelector) - var(--toolbar-height));border-radius:0 0 8px 8px;flex-grow:2}.ui-dialog-content.i-change-page>.modal-layer-body>[data-view-page]{background:var(--color-layout-front-1)}.ui-dialog-content>.modal-layer-body>[data-view-page].center-to-left{animation-name:dialog-center-to-left}.ui-dialog-content>.modal-layer-body>[data-view-page].right-to-center{animation-name:dialog-right-to-center}.ui-dialog-content .modal-footer .second_level{box-sizing:border-box;background:var(--color-layout-front-1);justify-content:center;align-items:center;width:100%;min-height:25px;display:flex}.ui-dialog-content .modal-footer .second_level input{width:100%;height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-3);box-sizing:border-box;border-radius:8px}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data{pointer-events:none}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data:before{content:\\\" \\\";z-index:100;width:0;height:4px;animation:top-loadbar var(--dialog-loading-duration) forwards;background:#378dc6;position:absolute;top:0;left:0}.ui-dialog-content.modal-expanded{width:100vw!important;height:calc(var(--100vh) + 10px)!important}.modal-header>[data-widget]{opacity:0;visibility:hidden;z-index:1;align-items:center;padding:0 8px;transition:opacity .3s;position:absolute;inset:0;overflow:hidden}.modal-header>[data-widget=search] div.cancel{opacity:0;transition:transform .3s,opacity .3s;transform:translate(100%)}[data-view-page].i-show-search .modal-header>:not([data-widget=search]){visibility:hidden}[data-view-page].i-show-search [data-widget=search]{visibility:visible;opacity:1}[data-view-page].i-show-search [data-widget=search] .cancel{opacity:1;transform:translate(0)}[data-view-page]>.modal-header>*{transition:opacity .3s}[data-view-page].i-show-search>.modal-header>div.buttons{opacity:0}.modal-layer .top-popup-wrapper{height:100%!important}@keyframes dialog-center-to-left-header-title{0%{opacity:1;transform:translate(0)}75%{opacity:0}to{opacity:0;transform:translate(-30%)}}@keyframes dialog-right-to-center-header-title{0%{opacity:0;transform:translate(100%)}25%{opacity:0}to{opacity:1;transform:translate(0)}}@keyframes dialog-center-to-left-header-icons{0%{opacity:1;transform:translate(0)}35%{opacity:0;transform:translate(-20%)}to{opacity:0;transform:translate(-20%)}}@keyframes dialog-right-to-center-header-icons{0%{opacity:0;transform:translate(20%)}65%{opacity:0;transform:translate(20%)}to{opacity:1;transform:translate(0)}}@keyframes dialog-center-to-left{0%{filter:brightness();transform:translate(0)}to{filter:brightness(.9);transform:translate(-30%)}}@keyframes dialog-right-to-center{0%{transform:translate(100%);box-shadow:0 0 10px #0000001a}to{transform:translate(0);box-shadow:0 0 10px #0003}}@media only screen and (max-width:1480px){.win_side_panel_opener{display:none}}@media only screen and (min-width:1480px){.ui-dialog-content.with_side_panel{box-shadow:0 0 6px #0003}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width:calc((100vw - 900px) / 2 - 28px);box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);top:calc(var(--dialog-header-height) + 1px + var(--dialog-layer-pageSelector));bottom:calc(var(--top-dialog-footer-height) + 1px);z-index:-1;padding:18px;transition:all .2s;display:block;position:absolute}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}@media only screen and (max-height:900px){html.with_dialog{background:#f1f1f1;overflow:hidden}.ui-dialog.me-tightly{border-radius:0;position:fixed;height:auto!important;top:0!important;bottom:0!important}.ui-dialog.me-tightly .ui-dialog-content{min-height:100%!important}.ui-dialog.me-tightly>div>.modal-body{top:var(--dialog-header-height);left:0;right:0;bottom:var(--dialog-header-height);position:absolute}.ui-dialog.me-tightly>div>.modal-body:last-child{bottom:0}.ui-dialog.me-tightly>div>.modal-footer{position:absolute;bottom:0;left:0;right:0}.ui-dialog.me-tightly .modal-layer-body{border-radius:0;min-height:0!important}.ui-dialog.me-tightly .modal-layer-body .modal-footer{min-height:unset}}\"), forms_CbUt_6Ff_esm_js_1.O.insertStyleToPage(\"html.with_dialog body{height:var(--100vh);overflow:hidden}.ui-widget-overlay{height:calc(100% - var(--toolbar-height))}.ui-dialog{border-radius:0;position:fixed;width:auto!important;height:auto!important;inset:0!important}.ui-dialog-content{width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important}.modal-header>.top-title{text-align:center;font-size:14px}.modal-header>div.close{order:1;font-size:14px}.modal-header>div.close:before{content:\\\"\\\"}.modal-body:last-child,.modal-footer{bottom:0}.modal-footer .second_level{padding:10px 8px}.modal-layer-body{min-height:0!important}.ui-dialog-content>.modal-layer-body{border-radius:0}.modal-body,.modal-footer{padding-left:12px;padding-right:12px}.modal-footer .btn:last-child{margin-right:12px}.modal-body .inner{margin:0 -12px;padding:12px;position:relative}\", \"m\"), forms_CbUt_6Ff_esm_js_1.O.insertStyleToPage(\".modal-menu-opener{order:1!important}.modal-menu-opener:before{--top-icon-size:20px;--top-icon-color:#fff;--top-icon-width:var(--top-icon-size);background:var(--color-bg-primary-1);border-radius:50%;padding:3px;transition:transform .1s}.modal-menu-opener:hover:before{background:var(--color-bg-primary-2)}.modal-menu-opener.top-active:before{background:var(--color-bg-primary-2);transform:scale(.8)}.modal-layer .top-popup-wrapper{background:0 0;transition:background .3s;width:auto!important;margin:0!important;padding:0!important;top:0!important;left:0!important;right:0!important}.modal-layer .top-popup-wrapper>.top-popup[class],.modal-layer .top-popup-wrapper.with_notch>.top-popup[class]{opacity:1;border:none;border-radius:8px;flex-direction:column;max-width:100%;max-height:calc(100% - 24px);transition:transform .3s;display:flex;overflow:auto;transform:translateY(calc(-100% - 24px));margin:12px!important;inset:0 0 auto!important}.modal-layer .top-popup>.top-popup_header{background:var(--color-theme-50)}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select{border:none}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .text{color:#fff}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .arrow{background:0 0}.modal-layer .top-popup-wrapper-shown:not(.top-popup-wrapper-closed){pointer-events:auto;background:#34495e40}@media only screen and (min-width:1480px){.ui-dialog-content.with_side_panel{box-shadow:0 0 6px #0003}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width:calc((100vw - 900px) / 2 - 28px);box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);z-index:-1;padding:18px;transition:all .2s;display:block;position:absolute;top:51px;bottom:51px}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}\", \"pc\"), forms_CbUt_6Ff_esm_js_1.O.insertStyleToPage(\"html{--top-dialog-width:auto;--top-dialog-height:auto}.top-dialog{max-width:100vw}.top-dialog .modal-layer-body{height:var(--top-dialog-height)}\"), forms_CbUt_6Ff_esm_js_1.O.insertStyleToPage(\".top-dialog{width:var(--top-dialog-width)!important}\", \"pc\");\n var h, g = !1, _ = (e) => !!e && typeof e == \"object\" && \"jquery\" in e, v = () => {\n $.extend($.ui.dialog.prototype.options, {\n focus: (e) => {\n e.target.focus(), $(\"[autofocus]\", e.target)[0]?.focus();\n },\n create: (e) => S(e.target),\n open: (e) => w(e.target),\n close: (e) => T(e.target),\n modal: !0,\n resizable: !1,\n closeOnEscape: !1,\n width: \"auto\",\n minHeight: 0\n }), $.ui.dialog.prototype._focusTabbable = $.noop, $.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop, $.ui.dialog.prototype._moveToTop = function () {\n this._moveToTopOriginal();\n let e = $(this.element);\n e.trigger(\"dialogsMoveToTop\", [e]);\n }, m(), g = !0;\n }, y = (e) => {\n let t = {};\n return e.dataset?.modal === \"false\" && (t.modal = !1), e.dataset?.position && (t.position = JSON.parse(e.dataset.position)), t;\n }, b = (e) => document.getElementById(e), x = async (e, t, n) => {\n if (!e.startsWith(\"dialog_\"))\n return;\n let r = (0, dialogs_CMrERMI7_esm_js_1.r)(e);\n if (r && (r.isOpened.value = !0, t !== void 0 && (r.pageActive.value = t), n !== void 0 && (r.pageActiveNext.value = n), await (0, vue_1.nextTick)(), n)) {\n let t = b(e);\n if (!t)\n return;\n t.querySelectorAll(`[data-view-page=\"${n}\"]`).length || await (0, system_js_1.waitWhile)(() => !t.querySelectorAll(`[data-view-page=\"${n}\"]`).length);\n }\n }, S = (e) => {\n let t = e.querySelector(\".modal-body\");\n t && ((0, scroll_js_1.connectScrollShadow)(t), dialogs_CMrERMI7_esm_js_1.i.state.decoratorOnCreate?.(e), C(e));\n }, C = (e) => {\n $(e).on(\"aftershow.top-menu-popup\", \"[data-top-popup]\", (e, t) => {\n let n = t[0];\n dialogs_CMrERMI7_esm_js_1.i.getPairPage(n)?.[1]?.prepend(n);\n });\n }, w = async (t) => {\n let n = t.dataset.viewPageActive, r = t.dataset.args ? t.dataset.args?.split(\":\") : [], i = window.innerWidth;\n forms_CbUt_6Ff_esm_js_1.O.state.documentClassModificators.set(\"top-dialog\", \"with_dialog\");\n let a = window.innerWidth - i;\n document.documentElement.scrollHeight > window.innerHeight && (document.querySelector(\"html\").style.marginRight = a + \"px\"), E(), (0, dialogs_CMrERMI7_esm_js_1.r)(t.getAttribute(\"id\"))?.emit?.(\"open\", n, r);\n }, T = async (r) => {\n let i = r.getAttribute(\"id\"), a = r.dataset.viewPageActive;\n if (a) {\n let e = {\n vpn: dialogs_CMrERMI7_esm_js_1.i.state.viewPageN,\n [\"view-\" + i]: null\n };\n e[\"view-\" + i] = null, (dialogs_CMrERMI7_esm_js_1.i.state.viewPageN === 0 || dialogs_CMrERMI7_esm_js_1.i.state.viewPageN === 1) && (e.vpn = null), (0, route_js_1.setHashs)(e, !1);\n }\n (0, dom_js_1.querySelectorAllArray)(document, \".ui-widget-overlay\").filter((e) => (0, dom_js_1.isVisible)(e)).length || (forms_CbUt_6Ff_esm_js_1.O.state.documentClassModificators.delete(\"top-dialog\"), document.querySelector(\"html\").style.marginRight = \"\"), $(r).trigger(\"viewAfterClose\", [$(r)]);\n let o = (0, dialogs_CMrERMI7_esm_js_1.r)(i);\n o && (o.pageActive.value = \"\", o.isOpened.value = !1, o.emit?.(\"close\", a), o.onCloseOnce &&= (o.onCloseOnce(o.props, a), void 0)), window.dispatchEvent(new Event(\"resize\"));\n }, E = () => {\n (0, dom_js_1.querySelectorAllArray)(document, \".ui-dialog\").filter((e) => (0, dom_js_1.isVisible)(e) && e.querySelector(\":scope > .ui-dialog-content\")).map((e) => e.querySelector(\":scope > .ui-dialog-content\")).forEach((e) => {\n if (!e.querySelector(\".modal-body\"))\n return;\n let t = e.closest(\".ui-dialog\"), n = y(e);\n n.position ??= { of: window }, $(e).dialog(\"option\", n), t.classList.remove(\"me-tightly\"), (t.clientHeight ?? 0) > window.innerHeight && t.classList.add(\"me-tightly\");\n });\n }, D = async (e, t) => {\n let n = /(\\w+)[=-]([\\w-]+)(?::([\\w.:-]+))?/g.exec(e);\n if (n) {\n let e = n[1], r = n[2], i = n[3], a = [];\n i && (a = i.split(\":\")), await O(e, r, a, t);\n }\n }, O = async (e, t, n, r, i) => {\n g || await new Promise((e, t) => {\n let n = setInterval(() => {\n g && (clearInterval(n), e());\n }, 10);\n }), await (0, vue_1.nextTick)();\n let a;\n if (typeof e == \"object\" ? (_(e) && (e = e?.[0]), a = e) : a = b(e), !a && typeof e == \"string\" && dialogs_CMrERMI7_esm_js_1.i.state.load && (await dialogs_CMrERMI7_esm_js_1.i.state.load(e), a = b(e), !a))\n throw Error(\"Dialog no exists: \" + e);\n if (!a)\n return;\n await k(a, t, n, r);\n let o = $(a);\n if (a?.classList.contains(\"ui-dialog-content\"))\n o.dialog(\"open\");\n else {\n let e = y(a);\n o.dialog(e);\n }\n i && i(o);\n }, k = async (e, r, o, s) => {\n _(e) && (e = e?.[0]), r === void 0 && (r = e.dataset.viewPageActive), o === void 0 && (o = e.dataset.args?.split(\":\") ?? []), r !== e.dataset.viewPageActive && F(e) && await (0, system_js_1.sleep)(100), await x(e.getAttribute(\"id\"), void 0, r);\n let c = (0, dom_js_1.querySelectorAllArray)(e, \".modal-layer\"), l = c.reduce((e, t) => {\n let n = t.querySelector(\":scope > .active\");\n return n && e.push(n), e;\n }, []), u = c.reduce((e, t) => {\n let n = t.querySelector(`:scope > [data-view-page=\"${r}\"]`);\n return n && e.push(n), e;\n }, []), d = o.join(\":\");\n if (s === void 0 && (s = \"next\", (u[0]?.dataset.order ?? 0) < (l[0]?.dataset.order ?? 0) && (s = \"prev\")), !u.length)\n return;\n if (e.dataset.viewPageActive = r, e.dataset.args = o?.join(\":\") ?? \"\", u[0].classList.contains(\"active\")) {\n u[0].dataset.viewPageArgs !== d && u.forEach((e) => {\n e.dataset.viewPageArgs = d;\n }), M(e, u, r, o), N(e, u, r, o);\n return;\n }\n u.forEach((e) => {\n e.dataset.viewPageArgs = d;\n }), l.forEach((e) => {\n e.querySelector(\".top-popup-wrapper\") && worker_Db8YrEHo_esm_js_1.t.close(e.querySelector(\".top-popup-wrapper\"));\n });\n let f = u[0].closest(\".ui-dialog\");\n switch (f && !(0, dom_js_1.isVisible)(f) && (s = \"none\"), l.length || (s = \"none\"), (0, dom_js_1.isVisible)(u[0]) && (s = \"none\"), s) {\n case \"prev\":\n u.forEach((e) => {\n let t = e.parentNode?.querySelector(\":scope > .active\");\n t && e.parentNode?.insertBefore(e, t);\n }), l.forEach((e) => {\n e.classList.add(\"right-to-center\", \"reverse\");\n }), u.forEach((e) => {\n e.classList.add(\"center-to-left\", \"reverse\");\n });\n break;\n case \"next\":\n u.forEach((e) => {\n let t = e.parentNode?.querySelector(\":scope > .active\");\n t && e.parentNode?.insertBefore(e, t.nextSibling);\n }), l.forEach((e) => {\n e?.classList.add(\"center-to-left\");\n }), u.forEach((e) => {\n e.classList.add(\"right-to-center\");\n });\n break;\n }\n if (e.setAttribute(\"view-page-active\", r), l.forEach((e) => {\n e.classList.remove(\"active\");\n }), u.forEach((e) => {\n e.classList.add(\"active\");\n }), M(e, u, r, o), s) {\n e.classList.add(\"i-change-page\");\n let t = Number(window.getComputedStyle(u[0]).animationDuration.replace(\"s\", \"\")) * 1e3;\n h = setTimeout(function () {\n x(e.getAttribute(\"id\"), r, \"\"), F(e), N(e, u, r, o);\n }, t);\n }\n else\n await x(e.getAttribute(\"id\"), r, \"\"), N(e, u, r, o);\n }, A = (e) => {\n let t = (0, dom_js_1.querySelectorAllArray)(e, \".modal-layer\").reduce((e, t) => {\n let n = t.querySelector(\":scope > .active\");\n return n && e.push(n), e;\n }, []).reduce((e, t) => {\n let n = t.previousElementSibling;\n for (; n && !n.hasAttribute(\"data-view-page\");)\n n = n.previousElementSibling;\n return n && e.push(n), e;\n }, [])[0]?.dataset.viewPage;\n t ? k(e, t, void 0, \"prev\") : $(e).dialog(\"close\");\n }, j = /* @__PURE__ */ new Set(), M = (e, t, n, r) => {\n let i = e.getAttribute(\"id\") + t[0].dataset.viewPage + n + r.join();\n j.has(i) || (j.add(i), setTimeout(function () {\n j.delete(i), $(e).trigger(\"viewBeforeOpen\", [\n $(e),\n $(t),\n n,\n r\n ]);\n }));\n }, N = (e, t, n, r) => {\n setTimeout(function () {\n $(e).trigger(\"viewAfterOpen\", [\n $(e),\n $(t),\n n,\n r\n ]);\n });\n }, P = (e) => (_(e) && (e = e?.[0]), e.classList.contains(\"i-change-page\")), F = (e) => {\n if (!P(e))\n return !1;\n clearTimeout(h);\n let t = (0, dom_js_1.querySelectorAllArray)(e, \".modal-layer\"), r = e.dataset.viewPageActive;\n return e.classList.remove(\"i-change-page\"), t.forEach((e) => {\n e.querySelectorAll(\":scope > [data-view-page]\").forEach((e) => {\n e.classList.remove(\"center-to-left\", \"right-to-center\", \"reverse\", \"active\");\n });\n }), t.forEach((e) => {\n e.querySelector(`:scope > [data-view-page=\"${r}\"]`)?.classList.add(\"active\");\n }), !0;\n }, I = {\n getElDialogById: b,\n updatePageVue: x,\n recalcPositions: E,\n toViewDirty: D,\n toView: O,\n toViewPage: k,\n toPrevPage: A,\n setLoading: (e, n, r) => {\n _(e) && (e = e.toArray());\n let i = e.reduce((e, n) => (n.hasAttribute(\"data-view-page\") && (0, dom_js_1.isVisible)(n) && e.push(n), e), []);\n n ? (r !== void 0 && i.forEach((e) => {\n e.style.setProperty(\"--dialog-loading-duration\", r + \"s\");\n }), i.forEach((e) => {\n e.classList.add(\"i-load-data\");\n })) : (i.forEach((e) => {\n e.classList.remove(\"i-load-data\");\n }), i.forEach((e) => {\n e.style.setProperty(\"--dialog-loading-duration\", \"10s\");\n }));\n },\n isLoading: (e) => (_(e) && (e = e?.[0]), e.classList.contains(\"i-load-data\")),\n inAnimation: P,\n close: function (e) {\n let t = b(e);\n if (!t)\n return;\n let n = $(t);\n n.dialog(\"instance\") && n.dialog(\"close\");\n }\n };\n exports.TopDialogUtils = I;\n v();\n});\n//# sourceMappingURL=utils-Dd0MZgyw.esm.js.map\n","/**\n * см. /.storybook/preview-head.html\n */\nexport default $;\n","import { TopDialogUtils } from './utils';\nimport { TopDialogWorker } from './worker';\nimport { isVisible, querySelectorAllArray, querySelectorVisible } from '@/core/utils/dom';\nimport { historySetState } from '@/core/utils/route';\nimport type { ElTopDialog, ElTopDialogWrapper } from '@/components/dialog/lib/types';\n\nlet inited = false;\n\n/**\n * Инициализация глобальных событий для диалоговых окон\n *\n * Производится один раз при подключении диалогового окна\n *\n * События не размонтируются\n */\nexport const initDialogGlobalEvents = () => {\n\tif (inited) return;\n\tinited = true;\n\n\t/**\n\t * Закрытие диалога по Esc\n\t */\n\tdocument.addEventListener('keydown', (e) => {\n\t\tif (e.key !== 'Escape') return;\n\t\tif (!e.target || !(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target;\n\n\t\t// событие произошло вне диалогового окна\n\t\tif (!el.closest('.ui-dialog')) return;\n\n\t\tif (el.contentEditable === 'true' || el.contentEditable === 'plaintext-only') return;\n\n\t\t// не закрывать окно при открытом TopPopup\n\t\tif (querySelectorVisible(document.documentElement, '.top-popup-wrapper')) return;\n\n\t\t// не закрывать окно при работе с jquery autocomplete\n\t\tif (el.classList.contains('autocomplete')) return;\n\n\t\t// не закрывать окно при открытом fancybox\n\t\tif (querySelectorVisible(document.documentElement, '.fancybox-container')) return;\n\n\t\tconst elDialogs = querySelectorAllArray<ElTopDialog>(document, '.ui-dialog-content').filter((elDialog) => {\n\t\t\treturn isVisible(elDialog);\n\t\t});\n\n\t\t$(elDialogs[elDialogs.length - 1]).dialog('close');\n\t});\n\n\t/**\n\t * Закрытие диалога по кнопке закрыть\n\t */\n\tdocument.addEventListener('click', (e) => {\n\t\t// // навигация без истории\n\t\t// var $dialog = $(this).closest('.ui-dialog-content');\n\t\t// var viewName = $dialog.attr('id');\n\t\t// var pageName = getHash('view-' + viewName);\n\t\t// if (!pageName) {\n\t\t// \ttoPrevPage($dialog);\n\t\t//\n\t\t// \treturn;\n\t\t// }\n\t\t//\n\t\t// // навигация по истории\n\t\t// if (Core.state.isMobile && history.length > 1 && $(this).closest('.modal-layer').length) {\n\t\t// \tvar href = location.href;\n\t\t//\n\t\t// \thistory.go(-1);\n\t\t//\n\t\t// \tsetTimeout(() => {\n\t\t// \t\t// это первая страница в истории вкладки браузера\n\t\t// \t\tif (href === location.href) $(e.target).closest('.ui-dialog-content').dialog('close');\n\t\t// \t});\n\t\t// } else {\n\t\t// \t$(this).closest('.ui-dialog-content').dialog('close');\n\t\t// }\n\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target.closest('[data-action=\"top-dialog-close\"]') as HTMLElement | null;\n\t\tif (!el) return;\n\n\t\te.preventDefault();\n\n\t\tconst elDialog = el.closest<ElTopDialog>('.ui-dialog-content');\n\t\tif (!elDialog) return;\n\n\t\t// если к кнопке привязана ссылка, диалоговое окно не нужно закрывать\n\t\tconst toView = el.dataset.toView;\n\n\t\tif (toView == 'toPrevPage()') {\n\t\t\tTopDialogUtils.toPrevPage(elDialog);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (toView) {\n\t\t\tconst viewNameAndPageLink = toView.split('-');\n\t\t\tconst viewName = viewNameAndPageLink.shift();\n\t\t\tconst pageLink = viewNameAndPageLink.join('-');\n\n\t\t\tif (!viewName) return;\n\n\t\t\tconst elDialog = TopDialogUtils.getElDialogById(viewName);\n\t\t\tif (!elDialog) return;\n\n\t\t\tconst elToPages = querySelectorAllArray(elDialog, `[data-view-page=\"${pageLink}\"]`);\n\t\t\tif (!elToPages) return;\n\n\t\t\tif (!isVisible(elToPages[0])) {\n\t\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, 'prev');\n\n\t\t\t\t// // не убирает кнопку \"Вперед\" в браузере\n\t\t\t\t// history.replaceState(null, '', hash);\n\t\t\t\t// toViewDirty(toView, 'prev');\n\n\t\t\t\t// // добавляет текущую страницу в историю браузера\n\t\t\t\thistorySetState(false, hash);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst $dialog = $(elDialog);\n\n\t\t$dialog.dialog('close');\n\t});\n\n\t/**\n\t * Все submit должны обрабатываться через js\n\t */\n\tdocument.addEventListener('submit', (e) => {\n\t\tconst elForm = e.target as HTMLElement;\n\n\t\tif (elForm.matches('.modal-body > form') || elForm.matches('.modal-layer-body > form')) {\n\t\t\te.preventDefault();\n\t\t}\n\t});\n\n\t/**\n\t * Выполнение действия по нажатию Enter\n\t *\n\t * @todo Убрать `.searcher`\n\t */\n\tdocument.addEventListener('keypress', (e) => {\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = e.target;\n\n\t\tconst elModalBody = eventTarget.closest('.ui-dialog .modal-body');\n\t\tif (!elModalBody) return;\n\n\t\tconst isInput =\n\t\t\teventTarget.matches('input:not(.searcher), textarea:not(.searcher), select:not(.searcher), button:not(.searcher)')\n\t\t\t|| eventTarget.hasAttribute('contenteditable');\n\t\tif (!isInput) return;\n\n\t\t// if (e.keyCode !== 10 && e.key !== 'ENTER') return;\n\t\tif (e.key !== 'Enter') return;\n\n\t\t// не выполнять submit действий при работе с jquery autocomplete\n\t\tif (eventTarget.classList.contains('autocomplete')) {\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (eventTarget.tagName === 'TEXTAREA') {\n\t\t\tif (!e.ctrlKey && !e.metaKey) return;\n\n\t\t\tconst elForm = eventTarget.closest('form');\n\n\t\t\tif (elForm) {\n\t\t\t\t// Find visible submit buttons\n\t\t\t\tconst elSubmitButton = querySelectorAllArray(elForm, 'button[type=\"submit\"]')\n\t\t\t\t\t.concat(querySelectorAllArray(elForm, 'input[type=\"submit\"]'))\n\t\t\t\t\t.find((elSubmitButton) => {\n\t\t\t\t\t\treturn isVisible(elSubmitButton);\n\t\t\t\t\t});\n\n\t\t\t\telSubmitButton?.click();\n\t\t\t}\n\t\t}\n\t});\n\n\t/**\n\t * Закрытие диалога по клику вне окна\n\t */\n\tdocument.addEventListener('click', function (event) {\n\t\tif (!(event.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = event.target;\n\n\t\tif (!eventTarget.classList.contains('ui-widget-overlay')) return;\n\n\t\tlet elDialogWrapperWithTopZIndex: ElTopDialogWrapper | undefined;\n\t\tlet topZIndex = 0;\n\n\t\tconst elDialogWrapperVisibles = querySelectorAllArray<ElTopDialogWrapper>(document, '.ui-dialog').filter((elDialogWrapper) => {\n\t\t\treturn isVisible(elDialogWrapper);\n\t\t});\n\n\t\telDialogWrapperVisibles.forEach((elDialogWrapper) => {\n\t\t\tconst zIndex = Number(window.getComputedStyle(elDialogWrapper).zIndex);\n\t\t\tif (zIndex < topZIndex) return;\n\n\t\t\telDialogWrapperWithTopZIndex = elDialogWrapper;\n\t\t\ttopZIndex = zIndex;\n\t\t});\n\n\t\tif (elDialogWrapperWithTopZIndex) {\n\t\t\tconst elDialog = elDialogWrapperWithTopZIndex.querySelector('.ui-dialog-content');\n\n\t\t\t$(elDialog).dialog('close');\n\t\t}\n\t});\n\n\twindow.addEventListener('resize', TopDialogUtils.recalcPositions);\n\tTopDialogUtils.recalcPositions();\n};\n","import 'jquery';\nimport { nextTick } from 'vue';\n\nimport Core from '@/core/core/core';\nimport { TopPopupWorker } from '@/components/popup/worker';\nimport { sleep, waitWhile } from '@/core/utils/system';\nimport { setHashs } from '@/core/utils/route';\nimport { connectScrollShadow } from '@/core/utils/scroll';\n\nimport type { ElTopDialog, ElTopDialogBody, ElTopDialogModalLayer, ElTopDialogPage, ElTopDialogWrapper, MoveDirection } from './types';\nimport { TopDialogWorker } from './worker';\nimport { initDialogGlobalEvents } from './utils.globalEvents';\nimport { getDialogWorker } from '../dialog/dialogs/dialogs.vue';\n\nimport css from '../dialog/style/dialog.css?inline';\nimport cssM from '../dialog/style/dialog.m.css?inline';\nimport cssPC from '../dialog/style/dialog.pc.css?inline';\nimport cssModern from '../dialog/style/modern/dialog.css?inline';\nimport cssModernPC from '../dialog/style/modern/dialog.pc.css?inline';\nimport { isVisible, querySelectorAllArray } from '@/core/utils/dom';\n\nCore.insertStyleToPage(css);\nCore.insertStyleToPage(cssM, 'm');\nCore.insertStyleToPage(cssPC, 'pc');\nCore.insertStyleToPage(cssModern);\nCore.insertStyleToPage(cssModernPC, 'pc');\n\nlet timerClearAnimation: NodeJS.Timeout;\nlet isInited = false;\n\n/**\n * Является ли элемент JQuery<HTMLElement>\n */\nconst isElJQuery = (el: JQuery<HTMLElement> | HTMLElement | HTMLElement[]) => {\n\treturn !!el && typeof el === 'object' && 'jquery' in el;\n};\n\nconst init = () => {\n\t$.extend($.ui.dialog.prototype.options, {\n\t\tfocus: (e: any) => {\n\t\t\te.target.focus();\n\n\t\t\t$('[autofocus]', e.target)[0]?.focus();\n\n\t\t\t// setTimeout(function () {\n\t\t\t// \tif ($('[autofocus]', e.target).length) return;\n\t\t\t// \t$('.modal-footer button:first, .modal-body :input:first', e.target).eq(0).focus();\n\t\t\t//\n\t\t\t// \t// fix пропадающего autocomplete при нажатии на scroll в autocomplete\n\t\t\t// \t$(e.target).add($(e.target).closest('.ui-dialog')).removeAttr('tabindex');\n\t\t\t// });\n\t\t},\n\t\tcreate: (e: any) => onCreate(e.target),\n\t\topen: (e: any) => onOpen(e.target),\n\t\tclose: (e: any) => onClose(e.target),\n\t\tmodal: true,\n\t\tresizable: false,\n\t\tcloseOnEscape: false,\n\t\twidth: 'auto',\n\t\tminHeight: 0,\n\t});\n\n\t$.ui.dialog.prototype._focusTabbable = $.noop;\n\n\t$.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop;\n\t$.ui.dialog.prototype._moveToTop = function () {\n\t\tthis._moveToTopOriginal();\n\n\t\tconst $dialog = $(this.element);\n\t\t$dialog.trigger('dialogsMoveToTop', [$dialog]);\n\t};\n\n\tinitDialogGlobalEvents();\n\n\tisInited = true;\n};\n\n/**\n * Получить настройки диалогового окна из Vue компонента\n */\nconst genVueOptions = (elDialog: ElTopDialog) => {\n\tconst options: {\n\t\tmodal?: boolean,\n\t\tposition?: any,\n\t} = {};\n\n\tif (elDialog.dataset?.modal === 'false') options.modal = false;\n\tif (elDialog.dataset?.position) options.position = JSON.parse(elDialog.dataset.position);\n\n\treturn options;\n};\n\nconst getElDialogById = (id: string) => {\n\treturn <ElTopDialog | null>document.getElementById(id);\n};\n\n/**\n * Сменить состояние диалогового окна Vue\n */\nconst updatePageVue = async (dialogId: string, pageName?: string, pageNameNext?: string) => {\n\tif (!dialogId.startsWith('dialog_')) return;\n\n\tconst dialog = getDialogWorker(dialogId);\n\tif (!dialog) return;\n\n\tdialog.isOpened.value = true;\n\tif (pageName !== undefined) dialog.pageActive.value = pageName;\n\tif (pageNameNext !== undefined) dialog.pageActiveNext.value = pageNameNext;\n\n\tawait nextTick();\n\n\tif (pageNameNext) {\n\t\tconst elDialog = getElDialogById(dialogId);\n\t\tif (!elDialog) return;\n\n\t\tconst elNextpages = elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`);\n\n\t\tif (!elNextpages.length) {\n\t\t\tawait waitWhile(() => !elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`).length);\n\t\t}\n\t}\n};\n\n/**\n * Callback for jQuery dialog onCreate\n */\nconst onCreate = (elDialog: ElTopDialog) => {\n\tconst elDialogBody = elDialog.querySelector<ElTopDialogBody>('.modal-body');\n\tif (!elDialogBody) return;\n\n\tconnectScrollShadow(elDialogBody);\n\n\tTopDialogWorker.state.decoratorOnCreate?.(elDialog);\n\n\tinitPopup(elDialog);\n};\n\n/**\n * Инициирование событий TopPopup в диалоговом окне\n */\nconst initPopup = (elDialog: HTMLElement) => {\n\t$(elDialog).on('aftershow.top-menu-popup', '[data-top-popup]', (_e, $popup) => {\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPopup = $popup[0];\n\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPageContents = TopDialogWorker.getPairPage(elPopup);\n\t\telPageContents?.[1]?.prepend(elPopup);\n\t});\n};\n\n/**\n * Callback for jQuery dialog onOpen\n */\nconst onOpen = async (elDialog: ElTopDialog) => {\n\tconst pageName = elDialog.dataset.viewPageActive;\n\tconst args = elDialog.dataset.args ? elDialog.dataset.args?.split(':') : [];\n\n\tconst w1 = window.innerWidth;\n\n\tCore.state.documentClassModificators.set('top-dialog', 'with_dialog');\n\n\tconst w2 = window.innerWidth;\n\n\tconst scrollBarWidth = w2 - w1;\n\tif (document.documentElement.scrollHeight > window.innerHeight) document.querySelector('html')!.style.marginRight = scrollBarWidth + 'px';\n\n\trecalcPositions();\n\n\tconst dialog = getDialogWorker(elDialog.getAttribute('id')!);\n\tdialog?.emit?.('open', pageName, args);\n};\n\n/**\n * Callback for jQuery dialog onClose\n */\nconst onClose = async (elDialog: ElTopDialog) => {\n\tconst viewName = elDialog.getAttribute('id');\n\tconst pageName = elDialog.dataset.viewPageActive;\n\n\tif (pageName) {\n\t\tconst hashData = {\n\t\t\tvpn: TopDialogWorker.state.viewPageN as number | null,\n\t\t\t['view-' + viewName]: null,\n\t\t};\n\t\thashData['view-' + viewName] = null;\n\n\t\tif (TopDialogWorker.state.viewPageN === 0 || TopDialogWorker.state.viewPageN === 1) {\n\t\t\thashData.vpn = null;\n\t\t}\n\n\t\tsetHashs(hashData, false);\n\t}\n\n\tconst elUiWidgetOverlayVisibles = querySelectorAllArray(document, '.ui-widget-overlay').filter((el) => {\n\t\treturn isVisible(el);\n\t});\n\n\tif (!elUiWidgetOverlayVisibles.length) {\n\t\tCore.state.documentClassModificators.delete('top-dialog');\n\n\t\tdocument.querySelector('html')!.style.marginRight = '';\n\t}\n\n\t$(elDialog).trigger('viewAfterClose', [$(elDialog)]);\n\n\tconst dialog = getDialogWorker(viewName);\n\n\tif (dialog) {\n\t\tdialog.pageActive.value = '';\n\t\tdialog.isOpened.value = false;\n\t\tdialog.emit?.('close', pageName);\n\n\t\tif (dialog.onCloseOnce) {\n\t\t\tdialog.onCloseOnce(dialog.props, pageName);\n\t\t\tdialog.onCloseOnce = undefined;\n\t\t}\n\t}\n\n\t// после закрытия диалога может потребоваться пересчет позиций элементов\n\twindow.dispatchEvent(new Event('resize'));\n};\n\n/**\n * Пересчитать положения и размеры открытых диалоговых окон\n */\nconst recalcPositions = () => {\n\tconst elDialogVisibilityes = querySelectorAllArray(document, '.ui-dialog').filter((el) => {\n\t\treturn isVisible(el) && el.querySelector<ElTopDialog>(':scope > .ui-dialog-content');\n\t}).map((el) => {\n\t\treturn el.querySelector<ElTopDialog>(':scope > .ui-dialog-content')!;\n\t});\n\n\telDialogVisibilityes.forEach((elDialog) => {\n\t\tconst elDialogBody = elDialog.querySelector<ElTopDialogBody>('.modal-body');\n\t\tif (!elDialogBody) return;\n\n\t\tconst elDialogWrapper = elDialog.closest('.ui-dialog');\n\n\t\tconst options = genVueOptions(elDialog);\n\n\t\toptions.position ??= { of: window };\n\n\t\tconst $dialog = $(elDialog);\n\t\t$dialog.dialog('option', options);\n\n\t\telDialogWrapper.classList.remove('me-tightly');\n\t\tif ((elDialogWrapper.clientHeight ?? 0) > window.innerHeight) elDialogWrapper.classList.add('me-tightly');\n\t});\n};\n\n/**\n * Переход к view page по неразобранной ссылке в формате: {viewName}-{pageName}[:args]\n */\nconst toViewDirty = async (toViewPageName: string, moveDirection?: MoveDirection) => {\n\tconst regexp = /(\\w+)[=-]([\\w-]+)(?::([\\w.:-]+))?/g;\n\tconst toViewParts = regexp.exec(toViewPageName);\n\tif (toViewParts) {\n\t\tconst viewName = toViewParts[1];\n\t\tconst pageName = toViewParts[2];\n\t\tconst argsString = toViewParts[3];\n\n\t\tlet args: string[] = [];\n\t\tif (argsString) args = argsString.split(':');\n\n\t\tawait toView(viewName, pageName, args, moveDirection);\n\t}\n};\n\n/**\n * Открыть диалоговое окно, возможно указать нужную страницу\n * @param viewNameOrElDialog - id страницы окна или элемент окна\n * @param pageName - имя страницы\n * @param args - аргументы, набор проивзольных параметров, которые могут обрабатываться каждым окном по своему\n * @param moveDirection\n * @param callback - функция, которая будет запущена после октытия страницы\n */\nconst toView = async (\n\tviewNameOrElDialog: ElTopDialog | JQuery<ElTopDialog> | string,\n\tpageName?: string,\n\targs?: string[],\n\tmoveDirection?: MoveDirection,\n\tcallback?: Function,\n) => {\n\tif (!isInited) {\n\t\tawait new Promise<void>((resolve, _reject) => {\n\t\t\tconst timer = setInterval(() => {\n\t\t\t\tif (!isInited) return;\n\n\t\t\t\tclearInterval(timer);\n\n\t\t\t\tresolve();\n\t\t\t}, 10);\n\t\t});\n\t}\n\n\tawait nextTick();\n\n\tlet elDialog: ElTopDialog | null;\n\tif (typeof (viewNameOrElDialog) === 'object') {\n\t\tif (isElJQuery(viewNameOrElDialog)) viewNameOrElDialog = viewNameOrElDialog?.[0]; // todo: убрать после переписки jquery на сайте\n\n\t\telDialog = viewNameOrElDialog;\n\t} else {\n\t\telDialog = getElDialogById(viewNameOrElDialog);\n\t}\n\n\t// Диалоговое окно еще не загружено\n\tif (!elDialog && typeof viewNameOrElDialog === 'string' && TopDialogWorker.state.load) {\n\t\tawait TopDialogWorker.state.load(viewNameOrElDialog);\n\n\t\telDialog = getElDialogById(viewNameOrElDialog);\n\t\tif (!elDialog) {\n\t\t\tthrow new Error('Dialog no exists: ' + viewNameOrElDialog);\n\t\t}\n\t}\n\n\tif (!elDialog) return;\n\n\tawait toViewPage(elDialog, pageName, args, moveDirection);\n\n\tconst $dialog = $(elDialog);\n\n\tif (elDialog?.classList.contains('ui-dialog-content')) {\n\t\t// var zIndexMax = 0;\n\t\t// $.map($('.ui-dialog'), function (el) {\n\t\t// \tvar zIndex = $(el).css('z-index') * 1;\n\t\t// \tif (zIndex > zIndexMax) zIndexMax = zIndex;\n\t\t// });\n\t\t//\n\t\t// if ($dialog.is(':hidden')) $dialog.dialog('open');\n\t\t//\n\t\t// var $dialogWrapper = $dialog.parent();\n\t\t// var $dialogOverlay = $dialogWrapper.next();\n\t\t//\n\t\t// if ($dialogWrapper.css('z-index') * 1 < zIndexMax) {\n\t\t// \t$dialogWrapper.css('z-index', zIndexMax + 2);\n\t\t// \t$dialogOverlay.css('z-index', zIndexMax + 1);\n\t\t// }\n\n\t\t$dialog.dialog('open');\n\t} else {\n\t\tconst options = genVueOptions(elDialog);\n\n\t\t$dialog.dialog(options);\n\t}\n\n\tif (callback) callback($dialog);\n};\n\nconst toViewPage = async (elDialog: ElTopDialog | JQuery<ElTopDialog>, pageName?: string, args?: string[], moveDirection?: MoveDirection) => {\n\t// todo: убрать после переписки jquery на сайте\n\tif (isElJQuery(elDialog)) elDialog = elDialog?.[0];\n\n\tif (pageName === undefined) pageName = elDialog.dataset.viewPageActive;\n\tif (args === undefined) args = elDialog.dataset.args?.split(':') ?? [];\n\n\tif (pageName !== elDialog.dataset.viewPageActive) {\n\t\tconst stopped = stopAnimations(elDialog);\n\t\tif (stopped) await sleep(100);\n\t}\n\n\tawait updatePageVue(elDialog.getAttribute('id') as string, undefined, pageName);\n\n\tconst elModalLayers = querySelectorAllArray<ElTopDialogModalLayer>(elDialog, '.modal-layer');\n\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elCurrentPage = elModalLayer.querySelector<ElTopDialogPage>(':scope > .active');\n\t\tif (elCurrentPage) {\n\t\t\tacc.push(elCurrentPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst elNextPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elNextPage = elModalLayer.querySelector<ElTopDialogPage>(`:scope > [data-view-page=\"${pageName}\"]`);\n\t\tif (elNextPage) {\n\t\t\tacc.push(elNextPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst argsString = args.join(':');\n\n\tif (moveDirection === undefined) {\n\t\tmoveDirection = 'next';\n\t\tif ((elNextPages[0]?.dataset.order ?? 0) < (elCurrentPages[0]?.dataset.order ?? 0)) moveDirection = 'prev';\n\t}\n\n\tif (!elNextPages.length) return;\n\n\telDialog.dataset.viewPageActive = pageName;\n\telDialog.dataset.args = args?.join(':') ?? '';\n\n\t// запрашиваемая страница уже открыта\n\tif (elNextPages[0].classList.contains('active')) {\n\t\tif (elNextPages[0].dataset.viewPageArgs !== argsString) {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.dataset.viewPageArgs = argsString;\n\t\t\t});\n\n\t\t\t// dialogs.beforeOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t\t// dialogs.afterOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t}\n\n\t\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\t\treturn;\n\t}\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.dataset.viewPageArgs = argsString;\n\t});\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\tif (elCurrentPage.querySelector('.top-popup-wrapper')) {\n\t\t\tTopPopupWorker.close(elCurrentPage.querySelector('.top-popup-wrapper')!);\n\t\t}\n\t});\n\n\tconst elDialogWrapper = elNextPages[0].closest<ElTopDialogWrapper>('.ui-dialog');\n\n\tif (elDialogWrapper && !isVisible(elDialogWrapper)) moveDirection = 'none';\n\tif (!elCurrentPages.length) moveDirection = 'none';\n\tif (isVisible(elNextPages[0])) moveDirection = 'none';\n\n\tswitch (moveDirection) {\n\t\tcase 'prev': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage.classList.add('right-to-center', 'reverse');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('center-to-left', 'reverse');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t\tcase 'next': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive.nextSibling);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage?.classList.add('center-to-left');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('right-to-center');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\telDialog.setAttribute('view-page-active', pageName);\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\telCurrentPage.classList.remove('active');\n\t});\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.classList.add('active');\n\t});\n\n\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\tif (moveDirection) {\n\t\telDialog.classList.add('i-change-page');\n\n\t\tconst delay = Number(window.getComputedStyle(elNextPages[0]).animationDuration.replace('s', '')) * 1000;\n\n\t\ttimerClearAnimation = setTimeout(function () {\n\t\t\tupdatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\t\tstopAnimations(elDialog);\n\t\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\t}, delay);\n\t} else {\n\t\tawait updatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t}\n};\n\n/**\n * К предыдущему представлению\n */\nconst toPrevPage = (elDialog: ElTopDialog) => {\n\tconst elModalLayers = querySelectorAllArray<ElTopDialogModalLayer>(elDialog, '.modal-layer');\n\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elCurrentPage = elModalLayer.querySelector<ElTopDialogPage>(':scope > .active');\n\n\t\tif (elCurrentPage) {\n\t\t\tacc.push(elCurrentPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst elPrevPages = elCurrentPages.reduce<ElTopDialogPage[]>((acc, elCurrentPage) => {\n\t\tlet elPrevPage = elCurrentPage.previousElementSibling as ElTopDialogPage | null;\n\t\twhile (elPrevPage && !elPrevPage.hasAttribute('data-view-page')) {\n\t\t\telPrevPage = elPrevPage.previousElementSibling as ElTopDialogPage | null;\n\t\t}\n\n\t\tif (elPrevPage) acc.push(elPrevPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tconst prevPageName = (elPrevPages[0])?.dataset.viewPage;\n\n\tif (prevPageName) {\n\t\tvoid toViewPage(elDialog, prevPageName, undefined, 'prev');\n\t} else {\n\t\tconst $dialog = $(elDialog);\n\t\t$dialog.dialog('close');\n\t}\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst beforeOpenViewPageTimers = new Set();\nconst beforeOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\t// группировка цепочки событий\n\t// запрос на открытие страницы может выполняться несколько раз, чаще такое может быть при открытии, загрузке и переходе сразу к нужной странице\n\tconst eventKey = elDialog.getAttribute('id') + elPages[0].dataset.viewPage + pageName + args.join();\n\n\tif (beforeOpenViewPageTimers.has(eventKey)) return;\n\tbeforeOpenViewPageTimers.add(eventKey);\n\n\tsetTimeout(function () {\n\t\tbeforeOpenViewPageTimers.delete(eventKey);\n\n\t\t$(elDialog).trigger('viewBeforeOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst afterOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\tsetTimeout(function () {\n\t\t$(elDialog).trigger('viewAfterOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Получить состояние: Диалоговое окно находится в состоянии смены страницы\n */\nconst inAnimation = (elDialog: ElTopDialog | JQuery<ElTopDialog>) => {\n\tif (isElJQuery(elDialog)) elDialog = elDialog?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elDialog.classList.contains('i-change-page');\n};\n\n/**\n * Остановить анимацию смены страницы\n *\n * @returns Вернет true, если анимация производилась и была остановлена\n */\nconst stopAnimations = (elDialog: ElTopDialog) => {\n\tif (!inAnimation(elDialog)) return false;\n\n\tclearTimeout(timerClearAnimation);\n\n\tconst elModalLayers = querySelectorAllArray(elDialog, '.modal-layer');\n\n\tconst pageName = elDialog.dataset.viewPageActive;\n\telDialog.classList.remove('i-change-page');\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelectorAll(':scope > [data-view-page]').forEach((el) => {\n\t\t\tel.classList.remove('center-to-left', 'right-to-center', 'reverse', 'active');\n\t\t});\n\t});\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelector(`:scope > [data-view-page=\"${pageName}\"]`)?.classList.add('active');\n\t});\n\n\treturn true;\n};\n\n/**\n * Закрыть диалоговое окно\n */\nconst close = function (dialogId: string) {\n\tconst elDialog = getElDialogById(dialogId);\n\tif (!elDialog) return;\n\n\tconst $dialog = $(elDialog);\n\n\tif (!$dialog.dialog('instance')) return;\n\n\t$dialog.dialog('close');\n};\n\n/**\n * Управление props.isLoading\n */\nconst setLoading = (elPages: ElTopDialogPage[] | JQuery<ElTopDialogPage>, isLoading: boolean, duration?: number) => {\n\tif (isElJQuery(elPages)) elPages = elPages.toArray(); // todo: убрать после переписки jquery на сайте\n\n\tconst elPagesVisibleds = elPages.reduce<ElTopDialogPage[]>((acc, elPage) => {\n\t\tif (elPage.hasAttribute('data-view-page') && isVisible(elPage)) acc.push(elPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tif (isLoading) {\n\t\tif (duration !== undefined) {\n\t\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', duration + 's');\n\t\t\t});\n\t\t}\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.add('i-load-data');\n\t\t});\n\t} else {\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.remove('i-load-data');\n\t\t});\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', '10s');\n\t\t});\n\t}\n};\n\nconst isLoading = (elPage: ElTopDialogPage | JQuery<ElTopDialogPage>) => {\n\tif (isElJQuery(elPage)) elPage = elPage?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elPage.classList.contains('i-load-data');\n};\n\nexport const TopDialogUtils = {\n\tgetElDialogById,\n\tupdatePageVue,\n\trecalcPositions,\n\ttoViewDirty,\n\ttoView,\n\ttoViewPage,\n\ttoPrevPage,\n\tsetLoading,\n\tisLoading,\n\tinAnimation,\n\tclose,\n};\n\ninit();\n"]}
|
|
1
|
+
{"version":3,"sources":[".chunks/utils-Dd0MZgyw.esm.js","../../src/storybook/jquery.ts","../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"names":["vue","exports","p","m","i","dom_js_1","a","r","I","o","route_js_1","dialogs_CMrERMI7_esm_js_1","t","forms_CbUt_6Ff_esm_js_1","h","g","_","v","S","w","T","y","b","x","vue_1","system_js_1","scroll_js_1","C","n","E","D","O","k","F","c","l","u","d","s","M","N","worker_Db8YrEHo_esm_js_1","f","A","j","P"],"mappings":"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","sourcesContent":["define([\"require\", \"exports\", \"./forms-CbUt-6Ff.esm.js\", \"../utils/dom.js\", \"./worker-Db8YrEHo.esm.js\", \"../utils/system.js\", \"./dialogs-CMrERMI7.esm.js\", \"../utils/route.js\", \"../utils/scroll.js\", \"vue\", \"../popup/worker.js\"], function (require, exports, forms_CbUt_6Ff_esm_js_1, dom_js_1, worker_Db8YrEHo_esm_js_1, system_js_1, dialogs_CMrERMI7_esm_js_1, route_js_1, scroll_js_1, vue_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.TopDialogUtils = void 0;\n $;\n //#endregion\n //#region src/components/dialog/lib/utils.globalEvents.ts\n var p = !1, m = () => {\n p || (p = !0, document.addEventListener(\"keydown\", (e) => {\n if (e.key !== \"Escape\" || !e.target || !(e.target instanceof HTMLElement))\n return;\n let i = e.target;\n if (!i.closest(\".ui-dialog\") || i.contentEditable === \"true\" || i.contentEditable === \"plaintext-only\" || (0, dom_js_1.querySelectorVisible)(document.documentElement, \".top-popup-wrapper\") || i.classList.contains(\"autocomplete\") || (0, dom_js_1.querySelectorVisible)(document.documentElement, \".fancybox-container\"))\n return;\n let a = (0, dom_js_1.querySelectorAllArray)(document, \".ui-dialog-content\").filter((e) => (0, dom_js_1.isVisible)(e));\n $(a[a.length - 1]).dialog(\"close\");\n }), document.addEventListener(\"click\", (e) => {\n if (!(e.target instanceof HTMLElement))\n return;\n let r = e.target.closest(\"[data-action=\\\"top-dialog-close\\\"]\");\n if (!r)\n return;\n e.preventDefault();\n let i = r.closest(\".ui-dialog-content\");\n if (!i)\n return;\n let a = r.dataset.toView;\n if (a == \"toPrevPage()\") {\n I.toPrevPage(i);\n return;\n }\n if (a) {\n let e = a.split(\"-\"), r = e.shift(), i = e.join(\"-\");\n if (!r)\n return;\n let o = I.getElDialogById(r);\n if (!o)\n return;\n let c = (0, dom_js_1.querySelectorAllArray)(o, `[data-view-page=\"${i}\"]`);\n if (!c)\n return;\n if (!(0, dom_js_1.isVisible)(c[0])) {\n (0, route_js_1.historySetState)(!1, dialogs_CMrERMI7_esm_js_1.i.genViewPageHash(a, \"prev\"));\n return;\n }\n }\n $(i).dialog(\"close\");\n }), document.addEventListener(\"submit\", (e) => {\n let t = e.target;\n (t.matches(\".modal-body > form\") || t.matches(\".modal-layer-body > form\")) && e.preventDefault();\n }), document.addEventListener(\"keypress\", (e) => {\n if (!(e.target instanceof HTMLElement))\n return;\n let r = e.target;\n if (r.closest(\".ui-dialog .modal-body\") && (r.matches(\"input:not(.searcher), textarea:not(.searcher), select:not(.searcher), button:not(.searcher)\") || r.hasAttribute(\"contenteditable\")) && e.key === \"Enter\") {\n if (r.classList.contains(\"autocomplete\")) {\n e.preventDefault();\n return;\n }\n if (r.tagName === \"TEXTAREA\") {\n if (!e.ctrlKey && !e.metaKey)\n return;\n let i = r.closest(\"form\");\n i && (0, dom_js_1.querySelectorAllArray)(i, \"button[type=\\\"submit\\\"]\").concat((0, dom_js_1.querySelectorAllArray)(i, \"input[type=\\\"submit\\\"]\")).find((e) => (0, dom_js_1.isVisible)(e))?.click();\n }\n }\n }), document.addEventListener(\"click\", function (e) {\n if (!(e.target instanceof HTMLElement) || !e.target.classList.contains(\"ui-widget-overlay\"))\n return;\n let r, i = 0;\n if ((0, dom_js_1.querySelectorAllArray)(document, \".ui-dialog\").filter((e) => (0, dom_js_1.isVisible)(e)).forEach((e) => {\n let t = Number(window.getComputedStyle(e).zIndex);\n t < i || (r = e, i = t);\n }), r) {\n let e = r.querySelector(\".ui-dialog-content\");\n $(e).dialog(\"close\");\n }\n }), window.addEventListener(\"resize\", I.recalcPositions), I.recalcPositions());\n };\n forms_CbUt_6Ff_esm_js_1.O.insertStyleToPage(\":root{--dialog-border-color:var(--color-line-1);--dialog-loading-duration:10s;--top-dialog-footer-height:var(--top-forms-base-height_s)}html.with_dialog{overflow:hidden!important}a[data-to-view]{cursor:pointer}.ui-widget-overlay{opacity:.5;filter:Alpha(Opacity=50);background:#040404}.ui-dialog{border:none;border-radius:8px;padding:0}.ui-dialog.ui-widget{border:none}.ui-dialog-titlebar{display:none}.ui-dialog .ui-dialog-content{padding:0;overflow:visible}.ui-dialog .project_name{word-break:break-all}.ui-dialog-content{--dialog-header-height:50px;--dialog-layer-pageSelector:0px}.ui-dialog-content-withPageSelector{--dialog-layer-pageSelector:42px}.modal-header,.modal-body,.modal-footer{font-size:14px;position:relative}.modal-body{padding:var(--padding-default)}.modal-body:has(>.topTable:first-child){padding-top:calc(var(--padding-default) / 4)}.modal-header{border-bottom:1px solid var(--dialog-border-color);height:var(--dialog-header-height);padding:0 var(--padding-default);justify-content:space-between;align-items:center;gap:var(--top-padding-2);display:flex}.modal-header>*{padding:10px 0;font-size:16px}.modal-header>.top-title{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;order:50;align-items:center;margin:0;font-weight:400;display:flex;overflow:hidden}.modal-header>.top-title>div[class*=icon]{display:none}.modal-header>div:not(.top-title){order:60}.modal-header>div.close{--top-icon-color:var(--color-text-2);cursor:pointer;background:var(--color-layout-front-1);order:100;font-size:16px;animation-name:none!important}.modal-header>div.close:hover{--top-icon-color:var(--color-text-1)}.modal-header .links_icons{position:absolute;right:50px}.modal-header .links_icons [class*=icon-]{color:#d6dee0;width:auto;height:auto;padding:0 5px}.modal-header .links_icons [class*=icon-].active{color:var(--color-bg-warning-1)}.modal-layer-pageSelector{padding:0 10px!important}.modal-body{max-height:calc(var(--100vh) - var(--dialog-header-height) - 1px - var(--dialog-layer-pageSelector) - var(--top-dialog-footer-height) - 1px);box-sizing:border-box;flex-grow:1;overflow:hidden auto}.modal-body hr{margin:16px -15px}.modal-body h4{margin:0 0 10px;padding:0;line-height:normal}.modal-body .inner{padding:var(--padding-default);margin:0 calc(0px - var(--padding-default));position:relative}.modal-body .inner .bt{border-top:1px dashed var(--color-layout-front-primary-3);position:absolute;top:0;left:0;right:0}.modal-body .inner .bb{border-bottom:1px dashed var(--color-layout-front-primary-3);position:absolute;bottom:0;left:0;right:0}.modal-body .inner.color-1{background:var(--color-layout-front-primary-3);color:var(--color-text-1)}.modal-body .inner strong{color:var(--color-text-1)}.modal-body .comment{line-height:18px}.modal-footer{min-height:var(--top-dialog-footer-height);padding:var(--top-gap-2);justify-content:flex-end;align-items:center;gap:var(--top-gap-2);flex-shrink:0;display:flex}.modal-footer .modal-footer-btn-left{margin-right:auto}.modal-footer>.btn.full_width,.modal-footer>.top-button.full_width{flex-grow:1;align-self:flex-end}.modal-footer-fullWith{flex-wrap:wrap}.modal-footer-fullWith>*{flex-grow:1}.modal-footer-fullWith>.top-info{flex-grow:5}.modal-footer-fullWith>:empty{flex-grow:0}.ui-dialog-content>.modal-layer>[data-view-page]>input[type=submit]{visibility:hidden;position:absolute}.help_popup .modal-header{display:none}.help_popup .modal-header a{z-index:10;top:2px}.help_popup .modal-header .top-title{display:none}.modal-layer{overflow:hidden}.modal-layer a[data-top-icon]:empty{color:var(--color-text-4);text-decoration:none}.modal-layer>[data-view-page]>div>div.buttons{white-space:nowrap;gap:var(--top-padding-1);display:flex}.modal-layer>[data-view-page]>div>div.buttons:empty{display:none}.modal-layer>[data-view-page]>div>div.buttons>div,.modal-layer>[data-view-page]>div>div.buttons>a{cursor:pointer;width:auto;min-width:auto;height:auto;min-height:auto;color:var(--color-text-4);padding:10px 9px}.modal-layer>[data-view-page]>div>div.buttons>div:hover{color:var(--color-text-2)}.modal-layer>[data-view-page]>div>div.buttons>div.hidden{display:none!important}.ui-dialog-content[data-view-page-active]{flex-direction:column;justify-items:stretch;display:flex!important}.ui-dialog-content>.modal-layer{align-items:stretch;position:relative;display:flex!important}.ui-dialog-content.i-change-page>.modal-layer{overflow:hidden}.ui-dialog-content>.modal-layer>[data-view-page]{flex-direction:column;justify-content:space-between;width:100%;animation:none;display:none;position:relative}.ui-dialog-content>.modal-layer>[data-view-page].active{display:flex}.ui-dialog-content>.modal-layer>[data-view-page].reverse{animation-direction:reverse}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center{display:flex;position:absolute;inset:0}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left>div,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center>div{overflow:hidden}.ui-dialog-content>.modal-layer-header{border-bottom:1px solid var(--dialog-border-color);min-height:var(--dialog-header-height)}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header{background:0 0;border:none}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header>*{animation:none}.ui-dialog-content>.modal-layer-header>[data-view-page].reverse>.modal-header>*{animation-direction:reverse}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>.top-title{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>.top-title{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>[class*=widget-]{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>[class*=widget-]{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>div{animation-name:dialog-center-to-left-header-icons}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>div{animation-name:dialog-right-to-center-header-icons}.ui-dialog-content>.modal-layer-body{max-height:calc(var(--100vh) - var(--dialog-header-height) - var(--dialog-layer-pageSelector) - var(--toolbar-height));border-radius:0 0 8px 8px;flex-grow:2}.ui-dialog-content.i-change-page>.modal-layer-body>[data-view-page]{background:var(--color-layout-front-1)}.ui-dialog-content>.modal-layer-body>[data-view-page].center-to-left{animation-name:dialog-center-to-left}.ui-dialog-content>.modal-layer-body>[data-view-page].right-to-center{animation-name:dialog-right-to-center}.ui-dialog-content .modal-footer .second_level{box-sizing:border-box;background:var(--color-layout-front-1);justify-content:center;align-items:center;width:100%;min-height:25px;display:flex}.ui-dialog-content .modal-footer .second_level input{width:100%;height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-3);box-sizing:border-box;border-radius:8px}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data{pointer-events:none}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data:before{content:\\\" \\\";z-index:100;width:0;height:4px;animation:top-loadbar var(--dialog-loading-duration) forwards;background:#378dc6;position:absolute;top:0;left:0}.ui-dialog-content.modal-expanded{width:100vw!important;height:calc(var(--100vh) + 10px)!important}.modal-header>[data-widget]{opacity:0;visibility:hidden;z-index:1;align-items:center;padding:0 8px;transition:opacity .3s;position:absolute;inset:0;overflow:hidden}.modal-header>[data-widget=search] div.cancel{opacity:0;transition:transform .3s,opacity .3s;transform:translate(100%)}[data-view-page].i-show-search .modal-header>:not([data-widget=search]){visibility:hidden}[data-view-page].i-show-search [data-widget=search]{visibility:visible;opacity:1}[data-view-page].i-show-search [data-widget=search] .cancel{opacity:1;transform:translate(0)}[data-view-page]>.modal-header>*{transition:opacity .3s}[data-view-page].i-show-search>.modal-header>div.buttons{opacity:0}.modal-layer .top-popup-wrapper{height:100%!important}@keyframes dialog-center-to-left-header-title{0%{opacity:1;transform:translate(0)}75%{opacity:0}to{opacity:0;transform:translate(-30%)}}@keyframes dialog-right-to-center-header-title{0%{opacity:0;transform:translate(100%)}25%{opacity:0}to{opacity:1;transform:translate(0)}}@keyframes dialog-center-to-left-header-icons{0%{opacity:1;transform:translate(0)}35%{opacity:0;transform:translate(-20%)}to{opacity:0;transform:translate(-20%)}}@keyframes dialog-right-to-center-header-icons{0%{opacity:0;transform:translate(20%)}65%{opacity:0;transform:translate(20%)}to{opacity:1;transform:translate(0)}}@keyframes dialog-center-to-left{0%{filter:brightness();transform:translate(0)}to{filter:brightness(.9);transform:translate(-30%)}}@keyframes dialog-right-to-center{0%{transform:translate(100%);box-shadow:0 0 10px #0000001a}to{transform:translate(0);box-shadow:0 0 10px #0003}}@media only screen and (max-width:1480px){.win_side_panel_opener{display:none}}@media only screen and (min-width:1480px){.ui-dialog-content.with_side_panel{box-shadow:0 0 6px #0003}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width:calc((100vw - 900px) / 2 - 28px);box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);top:calc(var(--dialog-header-height) + 1px + var(--dialog-layer-pageSelector));bottom:calc(var(--top-dialog-footer-height) + 1px);z-index:-1;padding:18px;transition:all .2s;display:block;position:absolute}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}@media only screen and (max-height:900px){html.with_dialog{background:#f1f1f1;overflow:hidden}.ui-dialog.me-tightly{border-radius:0;position:fixed;height:auto!important;top:0!important;bottom:0!important}.ui-dialog.me-tightly .ui-dialog-content{min-height:100%!important}.ui-dialog.me-tightly>div>.modal-body{top:var(--dialog-header-height);left:0;right:0;bottom:var(--dialog-header-height);position:absolute}.ui-dialog.me-tightly>div>.modal-body:last-child{bottom:0}.ui-dialog.me-tightly>div>.modal-footer{position:absolute;bottom:0;left:0;right:0}.ui-dialog.me-tightly .modal-layer-body{border-radius:0;min-height:0!important}.ui-dialog.me-tightly .modal-layer-body .modal-footer{min-height:unset}}\"), forms_CbUt_6Ff_esm_js_1.O.insertStyleToPage(\"html.with_dialog body{height:var(--100vh);overflow:hidden}.ui-widget-overlay{height:calc(100% - var(--toolbar-height))}.ui-dialog{border-radius:0;position:fixed;width:auto!important;height:auto!important;inset:0!important}.ui-dialog-content{width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important}.modal-header>.top-title{text-align:center;font-size:14px}.modal-header>div.close{order:1;font-size:14px}.modal-header>div.close:before{content:\\\"\\\"}.modal-body:last-child,.modal-footer{bottom:0}.modal-footer .second_level{padding:10px 8px}.modal-layer-body{min-height:0!important}.ui-dialog-content>.modal-layer-body{border-radius:0}.modal-body,.modal-footer{padding-left:12px;padding-right:12px}.modal-footer .btn:last-child{margin-right:12px}.modal-body .inner{margin:0 -12px;padding:12px;position:relative}\", \"m\"), forms_CbUt_6Ff_esm_js_1.O.insertStyleToPage(\".modal-menu-opener{order:1!important}.modal-menu-opener:before{--top-icon-size:20px;--top-icon-color:#fff;--top-icon-width:var(--top-icon-size);background:var(--color-bg-primary-1);border-radius:50%;padding:3px;transition:transform .1s}.modal-menu-opener:hover:before{background:var(--color-bg-primary-2)}.modal-menu-opener.top-active:before{background:var(--color-bg-primary-2);transform:scale(.8)}.modal-layer .top-popup-wrapper{background:0 0;transition:background .3s;width:auto!important;margin:0!important;padding:0!important;top:0!important;left:0!important;right:0!important}.modal-layer .top-popup-wrapper>.top-popup[class],.modal-layer .top-popup-wrapper.with_notch>.top-popup[class]{opacity:1;border:none;border-radius:8px;flex-direction:column;max-width:100%;max-height:calc(100% - 24px);transition:transform .3s;display:flex;overflow:auto;transform:translateY(calc(-100% - 24px));margin:12px!important;inset:0 0 auto!important}.modal-layer .top-popup>.top-popup_header{background:var(--color-theme-50)}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select{border:none}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .text{color:#fff}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .arrow{background:0 0}.modal-layer .top-popup-wrapper-shown:not(.top-popup-wrapper-closed){pointer-events:auto;background:#34495e40}@media only screen and (min-width:1480px){.ui-dialog-content.with_side_panel{box-shadow:0 0 6px #0003}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width:calc((100vw - 900px) / 2 - 28px);box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);z-index:-1;padding:18px;transition:all .2s;display:block;position:absolute;top:51px;bottom:51px}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}\", \"pc\"), forms_CbUt_6Ff_esm_js_1.O.insertStyleToPage(\"html{--top-dialog-width:auto;--top-dialog-height:auto}.top-dialog{max-width:100vw}.top-dialog .modal-layer-body{height:var(--top-dialog-height)}\"), forms_CbUt_6Ff_esm_js_1.O.insertStyleToPage(\".top-dialog{width:var(--top-dialog-width)!important}\", \"pc\");\n var h, g = !1, _ = (e) => !!e && typeof e == \"object\" && \"jquery\" in e, v = () => {\n $.extend($.ui.dialog.prototype.options, {\n focus: (e) => {\n e.target.focus(), $(\"[autofocus]\", e.target)[0]?.focus();\n },\n create: (e) => S(e.target),\n open: (e) => w(e.target),\n close: (e) => T(e.target),\n modal: !0,\n resizable: !1,\n closeOnEscape: !1,\n width: \"auto\",\n minHeight: 0\n }), $.ui.dialog.prototype._focusTabbable = $.noop, $.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop, $.ui.dialog.prototype._moveToTop = function () {\n this._moveToTopOriginal();\n let e = $(this.element);\n e.trigger(\"dialogsMoveToTop\", [e]);\n }, m(), g = !0;\n }, y = (e) => {\n let t = {};\n return e.dataset?.modal === \"false\" && (t.modal = !1), e.dataset?.position && (t.position = JSON.parse(e.dataset.position)), t;\n }, b = (e) => document.getElementById(e), x = async (e, t, n) => {\n if (!e.startsWith(\"dialog_\"))\n return;\n let r = (0, dialogs_CMrERMI7_esm_js_1.r)(e);\n if (r && (r.isOpened.value = !0, t !== void 0 && (r.pageActive.value = t), n !== void 0 && (r.pageActiveNext.value = n), await (0, vue_1.nextTick)(), n)) {\n let t = b(e);\n if (!t)\n return;\n t.querySelectorAll(`[data-view-page=\"${n}\"]`).length || await (0, system_js_1.waitWhile)(() => !t.querySelectorAll(`[data-view-page=\"${n}\"]`).length);\n }\n }, S = (e) => {\n let t = e.querySelector(\".modal-body\");\n t && ((0, scroll_js_1.connectScrollShadow)(t), dialogs_CMrERMI7_esm_js_1.i.state.decoratorOnCreate?.(e), C(e));\n }, C = (e) => {\n $(e).on(\"aftershow.top-menu-popup\", \"[data-top-popup]\", (e, t) => {\n let n = t[0];\n dialogs_CMrERMI7_esm_js_1.i.getPairPage(n)?.[1]?.prepend(n);\n });\n }, w = async (t) => {\n let n = t.dataset.viewPageActive, r = t.dataset.args ? t.dataset.args?.split(\":\") : [], i = window.innerWidth;\n forms_CbUt_6Ff_esm_js_1.O.state.documentClassModificators.set(\"top-dialog\", \"with_dialog\");\n let a = window.innerWidth - i;\n document.documentElement.scrollHeight > window.innerHeight && (document.querySelector(\"html\").style.marginRight = a + \"px\"), E(), (0, dialogs_CMrERMI7_esm_js_1.r)(t.getAttribute(\"id\"))?.emit?.(\"open\", n, r);\n }, T = async (r) => {\n let i = r.getAttribute(\"id\"), a = r.dataset.viewPageActive;\n if (a) {\n let e = {\n vpn: dialogs_CMrERMI7_esm_js_1.i.state.viewPageN,\n [\"view-\" + i]: null\n };\n e[\"view-\" + i] = null, (dialogs_CMrERMI7_esm_js_1.i.state.viewPageN === 0 || dialogs_CMrERMI7_esm_js_1.i.state.viewPageN === 1) && (e.vpn = null), (0, route_js_1.setHashs)(e, !1);\n }\n (0, dom_js_1.querySelectorAllArray)(document, \".ui-widget-overlay\").filter((e) => (0, dom_js_1.isVisible)(e)).length || (forms_CbUt_6Ff_esm_js_1.O.state.documentClassModificators.delete(\"top-dialog\"), document.querySelector(\"html\").style.marginRight = \"\"), $(r).trigger(\"viewAfterClose\", [$(r)]);\n let o = (0, dialogs_CMrERMI7_esm_js_1.r)(i);\n o && (o.pageActive.value = \"\", o.isOpened.value = !1, o.emit?.(\"close\", a), o.onCloseOnce &&= (o.onCloseOnce(o.props, a), void 0)), window.dispatchEvent(new Event(\"resize\"));\n }, E = () => {\n (0, dom_js_1.querySelectorAllArray)(document, \".ui-dialog\").filter((e) => (0, dom_js_1.isVisible)(e) && e.querySelector(\":scope > .ui-dialog-content\")).map((e) => e.querySelector(\":scope > .ui-dialog-content\")).forEach((e) => {\n if (!e.querySelector(\".modal-body\"))\n return;\n let t = e.closest(\".ui-dialog\"), n = y(e);\n n.position ??= { of: window }, $(e).dialog(\"option\", n), t.classList.remove(\"me-tightly\"), (t.clientHeight ?? 0) > window.innerHeight && t.classList.add(\"me-tightly\");\n });\n }, D = async (e, t) => {\n let n = /(\\w+)[=-]([\\w-]+)(?::([\\w.:-]+))?/g.exec(e);\n if (n) {\n let e = n[1], r = n[2], i = n[3], a = [];\n i && (a = i.split(\":\")), await O(e, r, a, t);\n }\n }, O = async (e, t, n, r, i) => {\n g || await new Promise((e, t) => {\n let n = setInterval(() => {\n g && (clearInterval(n), e());\n }, 10);\n }), await (0, vue_1.nextTick)();\n let a;\n if (typeof e == \"object\" ? (_(e) && (e = e?.[0]), a = e) : a = b(e), !a && typeof e == \"string\" && dialogs_CMrERMI7_esm_js_1.i.state.load && (await dialogs_CMrERMI7_esm_js_1.i.state.load(e), a = b(e), !a))\n throw Error(\"Dialog no exists: \" + e);\n if (!a)\n return;\n await k(a, t, n, r);\n let o = $(a);\n if (a?.classList.contains(\"ui-dialog-content\"))\n o.dialog(\"open\");\n else {\n let e = y(a);\n o.dialog(e);\n }\n i && i(o);\n }, k = async (e, r, o, s) => {\n _(e) && (e = e?.[0]), r === void 0 && (r = e.dataset.viewPageActive), o === void 0 && (o = e.dataset.args?.split(\":\") ?? []), r !== e.dataset.viewPageActive && F(e) && await (0, system_js_1.sleep)(100), await x(e.getAttribute(\"id\"), void 0, r);\n let c = (0, dom_js_1.querySelectorAllArray)(e, \".modal-layer\"), l = c.reduce((e, t) => {\n let n = t.querySelector(\":scope > .active\");\n return n && e.push(n), e;\n }, []), u = c.reduce((e, t) => {\n let n = t.querySelector(`:scope > [data-view-page=\"${r}\"]`);\n return n && e.push(n), e;\n }, []), d = o.join(\":\");\n if (s === void 0 && (s = \"next\", (u[0]?.dataset.order ?? 0) < (l[0]?.dataset.order ?? 0) && (s = \"prev\")), !u.length)\n return;\n if (e.dataset.viewPageActive = r, e.dataset.args = o?.join(\":\") ?? \"\", u[0].classList.contains(\"active\")) {\n u[0].dataset.viewPageArgs !== d && u.forEach((e) => {\n e.dataset.viewPageArgs = d;\n }), M(e, u, r, o), N(e, u, r, o);\n return;\n }\n u.forEach((e) => {\n e.dataset.viewPageArgs = d;\n }), l.forEach((e) => {\n e.querySelector(\".top-popup-wrapper\") && worker_Db8YrEHo_esm_js_1.t.close(e.querySelector(\".top-popup-wrapper\"));\n });\n let f = u[0].closest(\".ui-dialog\");\n switch (f && !(0, dom_js_1.isVisible)(f) && (s = \"none\"), l.length || (s = \"none\"), (0, dom_js_1.isVisible)(u[0]) && (s = \"none\"), s) {\n case \"prev\":\n u.forEach((e) => {\n let t = e.parentNode?.querySelector(\":scope > .active\");\n t && e.parentNode?.insertBefore(e, t);\n }), l.forEach((e) => {\n e.classList.add(\"right-to-center\", \"reverse\");\n }), u.forEach((e) => {\n e.classList.add(\"center-to-left\", \"reverse\");\n });\n break;\n case \"next\":\n u.forEach((e) => {\n let t = e.parentNode?.querySelector(\":scope > .active\");\n t && e.parentNode?.insertBefore(e, t.nextSibling);\n }), l.forEach((e) => {\n e?.classList.add(\"center-to-left\");\n }), u.forEach((e) => {\n e.classList.add(\"right-to-center\");\n });\n break;\n }\n if (e.setAttribute(\"view-page-active\", r), l.forEach((e) => {\n e.classList.remove(\"active\");\n }), u.forEach((e) => {\n e.classList.add(\"active\");\n }), M(e, u, r, o), s) {\n e.classList.add(\"i-change-page\");\n let t = Number(window.getComputedStyle(u[0]).animationDuration.replace(\"s\", \"\")) * 1e3;\n h = setTimeout(function () {\n x(e.getAttribute(\"id\"), r, \"\"), F(e), N(e, u, r, o);\n }, t);\n }\n else\n await x(e.getAttribute(\"id\"), r, \"\"), N(e, u, r, o);\n }, A = (e) => {\n let t = (0, dom_js_1.querySelectorAllArray)(e, \".modal-layer\").reduce((e, t) => {\n let n = t.querySelector(\":scope > .active\");\n return n && e.push(n), e;\n }, []).reduce((e, t) => {\n let n = t.previousElementSibling;\n for (; n && !n.hasAttribute(\"data-view-page\");)\n n = n.previousElementSibling;\n return n && e.push(n), e;\n }, [])[0]?.dataset.viewPage;\n t ? k(e, t, void 0, \"prev\") : $(e).dialog(\"close\");\n }, j = /* @__PURE__ */ new Set(), M = (e, t, n, r) => {\n let i = e.getAttribute(\"id\") + t[0].dataset.viewPage + n + r.join();\n j.has(i) || (j.add(i), setTimeout(function () {\n j.delete(i), $(e).trigger(\"viewBeforeOpen\", [\n $(e),\n $(t),\n n,\n r\n ]);\n }));\n }, N = (e, t, n, r) => {\n setTimeout(function () {\n $(e).trigger(\"viewAfterOpen\", [\n $(e),\n $(t),\n n,\n r\n ]);\n });\n }, P = (e) => (_(e) && (e = e?.[0]), e.classList.contains(\"i-change-page\")), F = (e) => {\n if (!P(e))\n return !1;\n clearTimeout(h);\n let t = (0, dom_js_1.querySelectorAllArray)(e, \".modal-layer\"), r = e.dataset.viewPageActive;\n return e.classList.remove(\"i-change-page\"), t.forEach((e) => {\n e.querySelectorAll(\":scope > [data-view-page]\").forEach((e) => {\n e.classList.remove(\"center-to-left\", \"right-to-center\", \"reverse\", \"active\");\n });\n }), t.forEach((e) => {\n e.querySelector(`:scope > [data-view-page=\"${r}\"]`)?.classList.add(\"active\");\n }), !0;\n }, I = {\n getElDialogById: b,\n updatePageVue: x,\n recalcPositions: E,\n toViewDirty: D,\n toView: O,\n toViewPage: k,\n toPrevPage: A,\n setLoading: (e, n, r) => {\n _(e) && (e = e.toArray());\n let i = e.reduce((e, n) => (n.hasAttribute(\"data-view-page\") && (0, dom_js_1.isVisible)(n) && e.push(n), e), []);\n n ? (r !== void 0 && i.forEach((e) => {\n e.style.setProperty(\"--dialog-loading-duration\", r + \"s\");\n }), i.forEach((e) => {\n e.classList.add(\"i-load-data\");\n })) : (i.forEach((e) => {\n e.classList.remove(\"i-load-data\");\n }), i.forEach((e) => {\n e.style.setProperty(\"--dialog-loading-duration\", \"10s\");\n }));\n },\n isLoading: (e) => (_(e) && (e = e?.[0]), e.classList.contains(\"i-load-data\")),\n inAnimation: P,\n close: function (e) {\n let t = b(e);\n if (!t)\n return;\n let n = $(t);\n n.dialog(\"instance\") && n.dialog(\"close\");\n }\n };\n exports.TopDialogUtils = I;\n v();\n});\n//# sourceMappingURL=utils-Dd0MZgyw.esm.js.map\n","/**\n * см. /.storybook/preview-head.html\n */\nexport default $;\n","import { TopDialogUtils } from './utils';\nimport { TopDialogWorker } from './worker';\nimport { isVisible, querySelectorAllArray, querySelectorVisible } from '@/core/utils/dom';\nimport { historySetState } from '@/core/utils/route';\nimport type { ElTopDialog, ElTopDialogWrapper } from '@/components/dialog/lib/types';\n\nlet inited = false;\n\n/**\n * Инициализация глобальных событий для диалоговых окон\n *\n * Производится один раз при подключении диалогового окна\n *\n * События не размонтируются\n */\nexport const initDialogGlobalEvents = () => {\n\tif (inited) return;\n\tinited = true;\n\n\t/**\n\t * Закрытие диалога по Esc\n\t */\n\tdocument.addEventListener('keydown', (e) => {\n\t\tif (e.key !== 'Escape') return;\n\t\tif (!e.target || !(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target;\n\n\t\t// событие произошло вне диалогового окна\n\t\tif (!el.closest('.ui-dialog')) return;\n\n\t\tif (el.contentEditable === 'true' || el.contentEditable === 'plaintext-only') return;\n\n\t\t// не закрывать окно при открытом TopPopup\n\t\tif (querySelectorVisible(document.documentElement, '.top-popup-wrapper')) return;\n\n\t\t// не закрывать окно при работе с jquery autocomplete\n\t\tif (el.classList.contains('autocomplete')) return;\n\n\t\t// не закрывать окно при открытом fancybox\n\t\tif (querySelectorVisible(document.documentElement, '.fancybox-container')) return;\n\n\t\tconst elDialogs = querySelectorAllArray<ElTopDialog>(document, '.ui-dialog-content').filter((elDialog) => {\n\t\t\treturn isVisible(elDialog);\n\t\t});\n\n\t\t$(elDialogs[elDialogs.length - 1]).dialog('close');\n\t});\n\n\t/**\n\t * Закрытие диалога по кнопке закрыть\n\t */\n\tdocument.addEventListener('click', (e) => {\n\t\t// // навигация без истории\n\t\t// var $dialog = $(this).closest('.ui-dialog-content');\n\t\t// var viewName = $dialog.attr('id');\n\t\t// var pageName = getHash('view-' + viewName);\n\t\t// if (!pageName) {\n\t\t// \ttoPrevPage($dialog);\n\t\t//\n\t\t// \treturn;\n\t\t// }\n\t\t//\n\t\t// // навигация по истории\n\t\t// if (Core.state.isMobile && history.length > 1 && $(this).closest('.modal-layer').length) {\n\t\t// \tvar href = location.href;\n\t\t//\n\t\t// \thistory.go(-1);\n\t\t//\n\t\t// \tsetTimeout(() => {\n\t\t// \t\t// это первая страница в истории вкладки браузера\n\t\t// \t\tif (href === location.href) $(e.target).closest('.ui-dialog-content').dialog('close');\n\t\t// \t});\n\t\t// } else {\n\t\t// \t$(this).closest('.ui-dialog-content').dialog('close');\n\t\t// }\n\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target.closest('[data-action=\"top-dialog-close\"]') as HTMLElement | null;\n\t\tif (!el) return;\n\n\t\te.preventDefault();\n\n\t\tconst elDialog = el.closest<ElTopDialog>('.ui-dialog-content');\n\t\tif (!elDialog) return;\n\n\t\t// если к кнопке привязана ссылка, диалоговое окно не нужно закрывать\n\t\tconst toView = el.dataset.toView;\n\n\t\tif (toView == 'toPrevPage()') {\n\t\t\tTopDialogUtils.toPrevPage(elDialog);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (toView) {\n\t\t\tconst viewNameAndPageLink = toView.split('-');\n\t\t\tconst viewName = viewNameAndPageLink.shift();\n\t\t\tconst pageLink = viewNameAndPageLink.join('-');\n\n\t\t\tif (!viewName) return;\n\n\t\t\tconst elDialog = TopDialogUtils.getElDialogById(viewName);\n\t\t\tif (!elDialog) return;\n\n\t\t\tconst elToPages = querySelectorAllArray(elDialog, `[data-view-page=\"${pageLink}\"]`);\n\t\t\tif (!elToPages) return;\n\n\t\t\tif (!isVisible(elToPages[0])) {\n\t\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, 'prev');\n\n\t\t\t\t// // не убирает кнопку \"Вперед\" в браузере\n\t\t\t\t// history.replaceState(null, '', hash);\n\t\t\t\t// toViewDirty(toView, 'prev');\n\n\t\t\t\t// // добавляет текущую страницу в историю браузера\n\t\t\t\thistorySetState(false, hash);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst $dialog = $(elDialog);\n\n\t\t$dialog.dialog('close');\n\t});\n\n\t/**\n\t * Все submit должны обрабатываться через js\n\t */\n\tdocument.addEventListener('submit', (e) => {\n\t\tconst elForm = e.target as HTMLElement;\n\n\t\tif (elForm.matches('.modal-body > form') || elForm.matches('.modal-layer-body > form')) {\n\t\t\te.preventDefault();\n\t\t}\n\t});\n\n\t/**\n\t * Выполнение действия по нажатию Enter\n\t *\n\t * @todo Убрать `.searcher`\n\t */\n\tdocument.addEventListener('keypress', (e) => {\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = e.target;\n\n\t\tconst elModalBody = eventTarget.closest('.ui-dialog .modal-body');\n\t\tif (!elModalBody) return;\n\n\t\tconst isInput =\n\t\t\teventTarget.matches('input:not(.searcher), textarea:not(.searcher), select:not(.searcher), button:not(.searcher)')\n\t\t\t|| eventTarget.hasAttribute('contenteditable');\n\t\tif (!isInput) return;\n\n\t\t// if (e.keyCode !== 10 && e.key !== 'ENTER') return;\n\t\tif (e.key !== 'Enter') return;\n\n\t\t// не выполнять submit действий при работе с jquery autocomplete\n\t\tif (eventTarget.classList.contains('autocomplete')) {\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (eventTarget.tagName === 'TEXTAREA') {\n\t\t\tif (!e.ctrlKey && !e.metaKey) return;\n\n\t\t\tconst elForm = eventTarget.closest('form');\n\n\t\t\tif (elForm) {\n\t\t\t\t// Find visible submit buttons\n\t\t\t\tconst elSubmitButton = querySelectorAllArray(elForm, 'button[type=\"submit\"]')\n\t\t\t\t\t.concat(querySelectorAllArray(elForm, 'input[type=\"submit\"]'))\n\t\t\t\t\t.find((elSubmitButton) => {\n\t\t\t\t\t\treturn isVisible(elSubmitButton);\n\t\t\t\t\t});\n\n\t\t\t\telSubmitButton?.click();\n\t\t\t}\n\t\t}\n\t});\n\n\t/**\n\t * Закрытие диалога по клику вне окна\n\t */\n\tdocument.addEventListener('click', function (event) {\n\t\tif (!(event.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = event.target;\n\n\t\tif (!eventTarget.classList.contains('ui-widget-overlay')) return;\n\n\t\tlet elDialogWrapperWithTopZIndex: ElTopDialogWrapper | undefined;\n\t\tlet topZIndex = 0;\n\n\t\tconst elDialogWrapperVisibles = querySelectorAllArray<ElTopDialogWrapper>(document, '.ui-dialog').filter((elDialogWrapper) => {\n\t\t\treturn isVisible(elDialogWrapper);\n\t\t});\n\n\t\telDialogWrapperVisibles.forEach((elDialogWrapper) => {\n\t\t\tconst zIndex = Number(window.getComputedStyle(elDialogWrapper).zIndex);\n\t\t\tif (zIndex < topZIndex) return;\n\n\t\t\telDialogWrapperWithTopZIndex = elDialogWrapper;\n\t\t\ttopZIndex = zIndex;\n\t\t});\n\n\t\tif (elDialogWrapperWithTopZIndex) {\n\t\t\tconst elDialog = elDialogWrapperWithTopZIndex.querySelector('.ui-dialog-content');\n\n\t\t\t$(elDialog).dialog('close');\n\t\t}\n\t});\n\n\twindow.addEventListener('resize', TopDialogUtils.recalcPositions);\n\tTopDialogUtils.recalcPositions();\n};\n","import 'jquery';\nimport { nextTick } from 'vue';\n\nimport Core from '@/core/core/core';\nimport { TopPopupWorker } from '@/components/popup/worker';\nimport { sleep, waitWhile } from '@/core/utils/system';\nimport { setHashs } from '@/core/utils/route';\nimport { connectScrollShadow } from '@/core/utils/scroll';\n\nimport type { ElTopDialog, ElTopDialogBody, ElTopDialogModalLayer, ElTopDialogPage, ElTopDialogWrapper, MoveDirection } from './types';\nimport { TopDialogWorker } from './worker';\nimport { initDialogGlobalEvents } from './utils.globalEvents';\nimport { getDialogWorker } from '../dialog/dialogs/dialogs.vue';\n\nimport css from '../dialog/style/dialog.css?inline';\nimport cssM from '../dialog/style/dialog.m.css?inline';\nimport cssPC from '../dialog/style/dialog.pc.css?inline';\nimport cssModern from '../dialog/style/modern/dialog.css?inline';\nimport cssModernPC from '../dialog/style/modern/dialog.pc.css?inline';\nimport { isVisible, querySelectorAllArray } from '@/core/utils/dom';\n\nCore.insertStyleToPage(css);\nCore.insertStyleToPage(cssM, 'm');\nCore.insertStyleToPage(cssPC, 'pc');\nCore.insertStyleToPage(cssModern);\nCore.insertStyleToPage(cssModernPC, 'pc');\n\nlet timerClearAnimation: NodeJS.Timeout;\nlet isInited = false;\n\n/**\n * Является ли элемент JQuery<HTMLElement>\n */\nconst isElJQuery = (el: JQuery<HTMLElement> | HTMLElement | HTMLElement[]) => {\n\treturn !!el && typeof el === 'object' && 'jquery' in el;\n};\n\nconst init = () => {\n\t$.extend($.ui.dialog.prototype.options, {\n\t\tfocus: (e: any) => {\n\t\t\te.target.focus();\n\n\t\t\t$('[autofocus]', e.target)[0]?.focus();\n\n\t\t\t// setTimeout(function () {\n\t\t\t// \tif ($('[autofocus]', e.target).length) return;\n\t\t\t// \t$('.modal-footer button:first, .modal-body :input:first', e.target).eq(0).focus();\n\t\t\t//\n\t\t\t// \t// fix пропадающего autocomplete при нажатии на scroll в autocomplete\n\t\t\t// \t$(e.target).add($(e.target).closest('.ui-dialog')).removeAttr('tabindex');\n\t\t\t// });\n\t\t},\n\t\tcreate: (e: any) => onCreate(e.target),\n\t\topen: (e: any) => onOpen(e.target),\n\t\tclose: (e: any) => onClose(e.target),\n\t\tmodal: true,\n\t\tresizable: false,\n\t\tcloseOnEscape: false,\n\t\twidth: 'auto',\n\t\tminHeight: 0,\n\t});\n\n\t$.ui.dialog.prototype._focusTabbable = $.noop;\n\n\t$.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop;\n\t$.ui.dialog.prototype._moveToTop = function () {\n\t\tthis._moveToTopOriginal();\n\n\t\tconst $dialog = $(this.element);\n\t\t$dialog.trigger('dialogsMoveToTop', [$dialog]);\n\t};\n\n\tinitDialogGlobalEvents();\n\n\tisInited = true;\n};\n\n/**\n * Получить настройки диалогового окна из Vue компонента\n */\nconst genVueOptions = (elDialog: ElTopDialog) => {\n\tconst options: {\n\t\tmodal?: boolean,\n\t\tposition?: any,\n\t} = {};\n\n\tif (elDialog.dataset?.modal === 'false') options.modal = false;\n\tif (elDialog.dataset?.position) options.position = JSON.parse(elDialog.dataset.position);\n\n\treturn options;\n};\n\nconst getElDialogById = (id: string) => {\n\treturn <ElTopDialog | null>document.getElementById(id);\n};\n\n/**\n * Сменить состояние диалогового окна Vue\n */\nconst updatePageVue = async (dialogId: string, pageName?: string, pageNameNext?: string) => {\n\tif (!dialogId.startsWith('dialog_')) return;\n\n\tconst dialog = getDialogWorker(dialogId);\n\tif (!dialog) return;\n\n\tdialog.isOpened.value = true;\n\tif (pageName !== undefined) dialog.pageActive.value = pageName;\n\tif (pageNameNext !== undefined) dialog.pageActiveNext.value = pageNameNext;\n\n\tawait nextTick();\n\n\tif (pageNameNext) {\n\t\tconst elDialog = getElDialogById(dialogId);\n\t\tif (!elDialog) return;\n\n\t\tconst elNextpages = elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`);\n\n\t\tif (!elNextpages.length) {\n\t\t\tawait waitWhile(() => !elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`).length);\n\t\t}\n\t}\n};\n\n/**\n * Callback for jQuery dialog onCreate\n */\nconst onCreate = (elDialog: ElTopDialog) => {\n\tconst elDialogBody = elDialog.querySelector<ElTopDialogBody>('.modal-body');\n\tif (!elDialogBody) return;\n\n\tconnectScrollShadow(elDialogBody);\n\n\tTopDialogWorker.state.decoratorOnCreate?.(elDialog);\n\n\tinitPopup(elDialog);\n};\n\n/**\n * Инициирование событий TopPopup в диалоговом окне\n */\nconst initPopup = (elDialog: HTMLElement) => {\n\t$(elDialog).on('aftershow.top-menu-popup', '[data-top-popup]', (_e, $popup) => {\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPopup = $popup[0];\n\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPageContents = TopDialogWorker.getPairPage(elPopup);\n\t\telPageContents?.[1]?.prepend(elPopup);\n\t});\n};\n\n/**\n * Callback for jQuery dialog onOpen\n */\nconst onOpen = async (elDialog: ElTopDialog) => {\n\tconst pageName = elDialog.dataset.viewPageActive;\n\tconst args = elDialog.dataset.args ? elDialog.dataset.args?.split(':') : [];\n\n\tconst w1 = window.innerWidth;\n\n\tCore.state.documentClassModificators.set('top-dialog', 'with_dialog');\n\n\tconst w2 = window.innerWidth;\n\n\tconst scrollBarWidth = w2 - w1;\n\tif (document.documentElement.scrollHeight > window.innerHeight) document.querySelector('html')!.style.marginRight = scrollBarWidth + 'px';\n\n\trecalcPositions();\n\n\tconst dialog = getDialogWorker(elDialog.getAttribute('id')!);\n\tdialog?.emit?.('open', pageName, args);\n};\n\n/**\n * Callback for jQuery dialog onClose\n */\nconst onClose = async (elDialog: ElTopDialog) => {\n\tconst viewName = elDialog.getAttribute('id');\n\tconst pageName = elDialog.dataset.viewPageActive;\n\n\tif (pageName) {\n\t\tconst hashData = {\n\t\t\tvpn: TopDialogWorker.state.viewPageN as number | null,\n\t\t\t['view-' + viewName]: null,\n\t\t};\n\t\thashData['view-' + viewName] = null;\n\n\t\tif (TopDialogWorker.state.viewPageN === 0 || TopDialogWorker.state.viewPageN === 1) {\n\t\t\thashData.vpn = null;\n\t\t}\n\n\t\tsetHashs(hashData, false);\n\t}\n\n\tconst elUiWidgetOverlayVisibles = querySelectorAllArray(document, '.ui-widget-overlay').filter((el) => {\n\t\treturn isVisible(el);\n\t});\n\n\tif (!elUiWidgetOverlayVisibles.length) {\n\t\tCore.state.documentClassModificators.delete('top-dialog');\n\n\t\tdocument.querySelector('html')!.style.marginRight = '';\n\t}\n\n\t$(elDialog).trigger('viewAfterClose', [$(elDialog)]);\n\n\tconst dialog = getDialogWorker(viewName);\n\n\tif (dialog) {\n\t\tdialog.pageActive.value = '';\n\t\tdialog.isOpened.value = false;\n\t\tdialog.emit?.('close', pageName);\n\n\t\tif (dialog.onCloseOnce) {\n\t\t\tdialog.onCloseOnce(dialog.props, pageName);\n\t\t\tdialog.onCloseOnce = undefined;\n\t\t}\n\t}\n\n\t// после закрытия диалога может потребоваться пересчет позиций элементов\n\twindow.dispatchEvent(new Event('resize'));\n};\n\n/**\n * Пересчитать положения и размеры открытых диалоговых окон\n */\nconst recalcPositions = () => {\n\tconst elDialogVisibilityes = querySelectorAllArray(document, '.ui-dialog').filter((el) => {\n\t\treturn isVisible(el) && el.querySelector<ElTopDialog>(':scope > .ui-dialog-content');\n\t}).map((el) => {\n\t\treturn el.querySelector<ElTopDialog>(':scope > .ui-dialog-content')!;\n\t});\n\n\telDialogVisibilityes.forEach((elDialog) => {\n\t\tconst elDialogBody = elDialog.querySelector<ElTopDialogBody>('.modal-body');\n\t\tif (!elDialogBody) return;\n\n\t\tconst elDialogWrapper = elDialog.closest('.ui-dialog');\n\n\t\tconst options = genVueOptions(elDialog);\n\n\t\toptions.position ??= { of: window };\n\n\t\tconst $dialog = $(elDialog);\n\t\t$dialog.dialog('option', options);\n\n\t\telDialogWrapper.classList.remove('me-tightly');\n\t\tif ((elDialogWrapper.clientHeight ?? 0) > window.innerHeight) elDialogWrapper.classList.add('me-tightly');\n\t});\n};\n\n/**\n * Переход к view page по неразобранной ссылке в формате: {viewName}-{pageName}[:args]\n */\nconst toViewDirty = async (toViewPageName: string, moveDirection?: MoveDirection) => {\n\tconst regexp = /(\\w+)[=-]([\\w-]+)(?::([\\w.:-]+))?/g;\n\tconst toViewParts = regexp.exec(toViewPageName);\n\tif (toViewParts) {\n\t\tconst viewName = toViewParts[1];\n\t\tconst pageName = toViewParts[2];\n\t\tconst argsString = toViewParts[3];\n\n\t\tlet args: string[] = [];\n\t\tif (argsString) args = argsString.split(':');\n\n\t\tawait toView(viewName, pageName, args, moveDirection);\n\t}\n};\n\n/**\n * Открыть диалоговое окно, возможно указать нужную страницу\n * @param viewNameOrElDialog - id страницы окна или элемент окна\n * @param pageName - имя страницы\n * @param args - аргументы, набор проивзольных параметров, которые могут обрабатываться каждым окном по своему\n * @param moveDirection\n * @param callback - функция, которая будет запущена после октытия страницы\n */\nconst toView = async (\n\tviewNameOrElDialog: ElTopDialog | JQuery<ElTopDialog> | string,\n\tpageName?: string,\n\targs?: string[],\n\tmoveDirection?: MoveDirection,\n\tcallback?: Function,\n) => {\n\tif (!isInited) {\n\t\tawait new Promise<void>((resolve, _reject) => {\n\t\t\tconst timer = setInterval(() => {\n\t\t\t\tif (!isInited) return;\n\n\t\t\t\tclearInterval(timer);\n\n\t\t\t\tresolve();\n\t\t\t}, 10);\n\t\t});\n\t}\n\n\tawait nextTick();\n\n\tlet elDialog: ElTopDialog | null;\n\tif (typeof (viewNameOrElDialog) === 'object') {\n\t\tif (isElJQuery(viewNameOrElDialog)) viewNameOrElDialog = viewNameOrElDialog?.[0]; // todo: убрать после переписки jquery на сайте\n\n\t\telDialog = viewNameOrElDialog;\n\t} else {\n\t\telDialog = getElDialogById(viewNameOrElDialog);\n\t}\n\n\t// Диалоговое окно еще не загружено\n\tif (!elDialog && typeof viewNameOrElDialog === 'string' && TopDialogWorker.state.load) {\n\t\tawait TopDialogWorker.state.load(viewNameOrElDialog);\n\n\t\telDialog = getElDialogById(viewNameOrElDialog);\n\t\tif (!elDialog) {\n\t\t\tthrow new Error('Dialog no exists: ' + viewNameOrElDialog);\n\t\t}\n\t}\n\n\tif (!elDialog) return;\n\n\tawait toViewPage(elDialog, pageName, args, moveDirection);\n\n\tconst $dialog = $(elDialog);\n\n\tif (elDialog?.classList.contains('ui-dialog-content')) {\n\t\t// var zIndexMax = 0;\n\t\t// $.map($('.ui-dialog'), function (el) {\n\t\t// \tvar zIndex = $(el).css('z-index') * 1;\n\t\t// \tif (zIndex > zIndexMax) zIndexMax = zIndex;\n\t\t// });\n\t\t//\n\t\t// if ($dialog.is(':hidden')) $dialog.dialog('open');\n\t\t//\n\t\t// var $dialogWrapper = $dialog.parent();\n\t\t// var $dialogOverlay = $dialogWrapper.next();\n\t\t//\n\t\t// if ($dialogWrapper.css('z-index') * 1 < zIndexMax) {\n\t\t// \t$dialogWrapper.css('z-index', zIndexMax + 2);\n\t\t// \t$dialogOverlay.css('z-index', zIndexMax + 1);\n\t\t// }\n\n\t\t$dialog.dialog('open');\n\t} else {\n\t\tconst options = genVueOptions(elDialog);\n\n\t\t$dialog.dialog(options);\n\t}\n\n\tif (callback) callback($dialog);\n};\n\nconst toViewPage = async (elDialog: ElTopDialog | JQuery<ElTopDialog>, pageName?: string, args?: string[], moveDirection?: MoveDirection) => {\n\t// todo: убрать после переписки jquery на сайте\n\tif (isElJQuery(elDialog)) elDialog = elDialog?.[0];\n\n\tif (pageName === undefined) pageName = elDialog.dataset.viewPageActive;\n\tif (args === undefined) args = elDialog.dataset.args?.split(':') ?? [];\n\n\tif (pageName !== elDialog.dataset.viewPageActive) {\n\t\tconst stopped = stopAnimations(elDialog);\n\t\tif (stopped) await sleep(100);\n\t}\n\n\tawait updatePageVue(elDialog.getAttribute('id') as string, undefined, pageName);\n\n\tconst elModalLayers = querySelectorAllArray<ElTopDialogModalLayer>(elDialog, '.modal-layer');\n\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elCurrentPage = elModalLayer.querySelector<ElTopDialogPage>(':scope > .active');\n\t\tif (elCurrentPage) {\n\t\t\tacc.push(elCurrentPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst elNextPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elNextPage = elModalLayer.querySelector<ElTopDialogPage>(`:scope > [data-view-page=\"${pageName}\"]`);\n\t\tif (elNextPage) {\n\t\t\tacc.push(elNextPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst argsString = args.join(':');\n\n\tif (moveDirection === undefined) {\n\t\tmoveDirection = 'next';\n\t\tif ((elNextPages[0]?.dataset.order ?? 0) < (elCurrentPages[0]?.dataset.order ?? 0)) moveDirection = 'prev';\n\t}\n\n\tif (!elNextPages.length) return;\n\n\telDialog.dataset.viewPageActive = pageName;\n\telDialog.dataset.args = args?.join(':') ?? '';\n\n\t// запрашиваемая страница уже открыта\n\tif (elNextPages[0].classList.contains('active')) {\n\t\tif (elNextPages[0].dataset.viewPageArgs !== argsString) {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.dataset.viewPageArgs = argsString;\n\t\t\t});\n\n\t\t\t// dialogs.beforeOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t\t// dialogs.afterOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t}\n\n\t\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\t\treturn;\n\t}\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.dataset.viewPageArgs = argsString;\n\t});\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\tif (elCurrentPage.querySelector('.top-popup-wrapper')) {\n\t\t\tTopPopupWorker.close(elCurrentPage.querySelector('.top-popup-wrapper')!);\n\t\t}\n\t});\n\n\tconst elDialogWrapper = elNextPages[0].closest<ElTopDialogWrapper>('.ui-dialog');\n\n\tif (elDialogWrapper && !isVisible(elDialogWrapper)) moveDirection = 'none';\n\tif (!elCurrentPages.length) moveDirection = 'none';\n\tif (isVisible(elNextPages[0])) moveDirection = 'none';\n\n\tswitch (moveDirection) {\n\t\tcase 'prev': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage.classList.add('right-to-center', 'reverse');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('center-to-left', 'reverse');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t\tcase 'next': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive.nextSibling);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage?.classList.add('center-to-left');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('right-to-center');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\telDialog.setAttribute('view-page-active', pageName);\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\telCurrentPage.classList.remove('active');\n\t});\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.classList.add('active');\n\t});\n\n\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\tif (moveDirection) {\n\t\telDialog.classList.add('i-change-page');\n\n\t\tconst delay = Number(window.getComputedStyle(elNextPages[0]).animationDuration.replace('s', '')) * 1000;\n\n\t\ttimerClearAnimation = setTimeout(function () {\n\t\t\tupdatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\t\tstopAnimations(elDialog);\n\t\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\t}, delay);\n\t} else {\n\t\tawait updatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t}\n};\n\n/**\n * К предыдущему представлению\n */\nconst toPrevPage = (elDialog: ElTopDialog) => {\n\tconst elModalLayers = querySelectorAllArray<ElTopDialogModalLayer>(elDialog, '.modal-layer');\n\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elCurrentPage = elModalLayer.querySelector<ElTopDialogPage>(':scope > .active');\n\n\t\tif (elCurrentPage) {\n\t\t\tacc.push(elCurrentPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst elPrevPages = elCurrentPages.reduce<ElTopDialogPage[]>((acc, elCurrentPage) => {\n\t\tlet elPrevPage = elCurrentPage.previousElementSibling as ElTopDialogPage | null;\n\t\twhile (elPrevPage && !elPrevPage.hasAttribute('data-view-page')) {\n\t\t\telPrevPage = elPrevPage.previousElementSibling as ElTopDialogPage | null;\n\t\t}\n\n\t\tif (elPrevPage) acc.push(elPrevPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tconst prevPageName = (elPrevPages[0])?.dataset.viewPage;\n\n\tif (prevPageName) {\n\t\tvoid toViewPage(elDialog, prevPageName, undefined, 'prev');\n\t} else {\n\t\tconst $dialog = $(elDialog);\n\t\t$dialog.dialog('close');\n\t}\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst beforeOpenViewPageTimers = new Set();\nconst beforeOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\t// группировка цепочки событий\n\t// запрос на открытие страницы может выполняться несколько раз, чаще такое может быть при открытии, загрузке и переходе сразу к нужной странице\n\tconst eventKey = elDialog.getAttribute('id') + elPages[0].dataset.viewPage + pageName + args.join();\n\n\tif (beforeOpenViewPageTimers.has(eventKey)) return;\n\tbeforeOpenViewPageTimers.add(eventKey);\n\n\tsetTimeout(function () {\n\t\tbeforeOpenViewPageTimers.delete(eventKey);\n\n\t\t$(elDialog).trigger('viewBeforeOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst afterOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\tsetTimeout(function () {\n\t\t$(elDialog).trigger('viewAfterOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Получить состояние: Диалоговое окно находится в состоянии смены страницы\n */\nconst inAnimation = (elDialog: ElTopDialog | JQuery<ElTopDialog>) => {\n\tif (isElJQuery(elDialog)) elDialog = elDialog?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elDialog.classList.contains('i-change-page');\n};\n\n/**\n * Остановить анимацию смены страницы\n *\n * @returns Вернет true, если анимация производилась и была остановлена\n */\nconst stopAnimations = (elDialog: ElTopDialog) => {\n\tif (!inAnimation(elDialog)) return false;\n\n\tclearTimeout(timerClearAnimation);\n\n\tconst elModalLayers = querySelectorAllArray(elDialog, '.modal-layer');\n\n\tconst pageName = elDialog.dataset.viewPageActive;\n\telDialog.classList.remove('i-change-page');\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelectorAll(':scope > [data-view-page]').forEach((el) => {\n\t\t\tel.classList.remove('center-to-left', 'right-to-center', 'reverse', 'active');\n\t\t});\n\t});\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelector(`:scope > [data-view-page=\"${pageName}\"]`)?.classList.add('active');\n\t});\n\n\treturn true;\n};\n\n/**\n * Закрыть диалоговое окно\n */\nconst close = function (dialogId: string) {\n\tconst elDialog = getElDialogById(dialogId);\n\tif (!elDialog) return;\n\n\tconst $dialog = $(elDialog);\n\n\tif (!$dialog.dialog('instance')) return;\n\n\t$dialog.dialog('close');\n};\n\n/**\n * Управление props.isLoading\n */\nconst setLoading = (elPages: ElTopDialogPage[] | JQuery<ElTopDialogPage>, isLoading: boolean, duration?: number) => {\n\tif (isElJQuery(elPages)) elPages = elPages.toArray(); // todo: убрать после переписки jquery на сайте\n\n\tconst elPagesVisibleds = elPages.reduce<ElTopDialogPage[]>((acc, elPage) => {\n\t\tif (elPage.hasAttribute('data-view-page') && isVisible(elPage)) acc.push(elPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tif (isLoading) {\n\t\tif (duration !== undefined) {\n\t\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', duration + 's');\n\t\t\t});\n\t\t}\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.add('i-load-data');\n\t\t});\n\t} else {\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.remove('i-load-data');\n\t\t});\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', '10s');\n\t\t});\n\t}\n};\n\nconst isLoading = (elPage: ElTopDialogPage | JQuery<ElTopDialogPage>) => {\n\tif (isElJQuery(elPage)) elPage = elPage?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elPage.classList.contains('i-load-data');\n};\n\nexport const TopDialogUtils = {\n\tgetElDialogById,\n\tupdatePageVue,\n\trecalcPositions,\n\ttoViewDirty,\n\ttoView,\n\ttoViewPage,\n\ttoPrevPage,\n\tsetLoading,\n\tisLoading,\n\tinAnimation,\n\tclose,\n};\n\ninit();\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,`default`,{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!==`default`&&__createBinding(n,t,r[i]);return __setModuleDefault(n,t),n}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define([`require`,`exports`,`./forms-CbUt-6Ff.amd
|
|
1
|
+
var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,`default`,{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!==`default`&&__createBinding(n,t,r[i]);return __setModuleDefault(n,t),n}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define([`require`,`exports`,`./forms-CbUt-6Ff.amd`,`../utils/dom.amd`],function(require,exports,forms_CbUt_6Ff_esm_js_1,dom_js_1){"use strict";if(vue===void 0)var vue=window.Vue;Object.defineProperty(exports,`__esModule`,{value:!0}),exports.t=void 0,dom_js_1=__importDefault(dom_js_1);var Worker=class Worker{static getPopup(e){return dom_js_1.default.storage(e,`TopPopup`)}static getElPopupOpener(e){return e.closest(`[data-top-popup]`)}static getPopupFromOpener(e){let t=Worker.getElPopupOpener(e);return t?dom_js_1.default.storage(t,`#TopPopup`):null}static getAll(){return dom_js_1.default.querySelectorAllArray(document,`.top-popup-wrapper`)}static getAllVisible(){return dom_js_1.default.querySelectorAllVisible(document,`.top-popup-wrapper`)}static async openByOpener(e){if(!(e instanceof HTMLElement))return;let t={};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)}static async open(elOpener,options){elOpener instanceof HTMLElement&&(elOpener.dataset.topPopupOpened=`opened`);const{TopLibPopup}=await new Promise((e,t)=>{require([`./popup-dNrN-eKi.amd`],e,t)}).then(__importStar);if(forms_CbUt_6Ff_esm_js_1.O.$){const $elOpener=forms_CbUt_6Ff_esm_js_1.O.$(elOpener);if($elOpener.data(`aftershow`)){let afterShow=$elOpener.data(`aftershow`);typeof afterShow==`string`&&(afterShow=eval(afterShow.replace(/\W/g,``))),$elOpener.one(`aftershow.top-menu-popup`,afterShow)}if($elOpener.data(`afterclose`)){let afterclose=$elOpener.data(`afterclose`);typeof afterclose==`string`&&(afterclose=eval(afterclose.replace(/\W/g,``))),$elOpener.one(`afterclose.top-menu-popup`,afterclose)}}return options.isFullScreen=forms_CbUt_6Ff_esm_js_1.O.state.isMobile,new TopLibPopup(elOpener,options)}static close(e,t=!1){let n=Worker.getPopup(e);if(n){n.close();let e=n.el.contains(document.activeElement);t&&!e&&setTimeout(()=>{n.el.focus()})}}static recalcPosition(e){let t=Worker.getPopup(e);t&&t.elPopupBody instanceof HTMLElement&&t.recalcPosition()}static scrollToActive(e){if(!dom_js_1.default.querySelectorVisible(e,`ul.top-popup_content > li > .top-active`))return;let t=e.querySelector(`ul.top-popup_content`),n=dom_js_1.default.querySelectorAllVisible(e,`ul.top-popup_content > li`);e.classList.add(`top-popup-wrapper-no_animate`),setTimeout(()=>e.classList.remove(`top-popup-wrapper-no_animate`),100);let r=100;for(let e of n){if(e.querySelector(`:scope > .top-active`))break;e instanceof HTMLElement&&(r+=e.offsetHeight)}if(t instanceof HTMLElement){let e=t.offsetHeight;r>e?t.scrollTop=r-e:t.scrollTop=0}}static decoratorBeforeOpen(e){this.options.decoratorBeforeOpen&&this.options.decoratorBeforeOpen(e)}static decoratorAfterOpen(e){this.options.decoratorAfterOpen&&this.options.decoratorAfterOpen(e)}static decoratorIsIgnoreOuterClick(e){return this.options.decoratorIsIgnoreOuterClick?this.options.decoratorIsIgnoreOuterClick(e):!1}static regVueComponent(e,t){if(Worker.vueConnectors.get(e))throw`Vue component Popup use duplicated id: `+e;Worker.vueConnectors.set(e,t)}static unregVueComponent(e){Worker.vueConnectors.delete(e)}static genElPopupOpener(e,t,...n){let r=dom_js_1.default.genEl(e,{},...n);r.dataset.topPopup=`#`+t.id;for(let e in t){let n=`topPopup`+e.charAt(0).toUpperCase()+e.slice(1);r.dataset[n]=t[e]}return r.__TopPopupOpenerProps=t,r}};exports.t=Worker,(0,forms_CbUt_6Ff_esm_js_1.K)(Worker,`noClose`,!1),(0,forms_CbUt_6Ff_esm_js_1.K)(Worker,`vueConnectors`,new Map),(0,forms_CbUt_6Ff_esm_js_1.K)(Worker,`options`,{})});
|
|
2
2
|
//# sourceMappingURL=worker-Db8YrEHo.amd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[".chunks/worker-Db8YrEHo.esm.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\", \"./forms-CbUt-6Ff.esm.js\", \"../utils/dom.js\"], function (require, exports, forms_CbUt_6Ff_esm_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 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-dNrN-eKi.esm.js\"], resolve_1, reject_1); }).then(__importStar);\n if (forms_CbUt_6Ff_esm_js_1.O.$) {\n const $elOpener = forms_CbUt_6Ff_esm_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_CbUt_6Ff_esm_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 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 r > e ? t.scrollTop = r - e : t.scrollTop = 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, forms_CbUt_6Ff_esm_js_1.K)(Worker, \"noClose\", !1), (0, forms_CbUt_6Ff_esm_js_1.K)(Worker, \"vueConnectors\", /* @__PURE__ */ new Map()), (0, forms_CbUt_6Ff_esm_js_1.K)(Worker, \"options\", {});\n});\n//# sourceMappingURL=worker-Db8YrEHo.esm.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\tstatic getElPopupOpener(el: Element): 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\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 (let 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-Db8YrEHo.esm.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\", \"./forms-CbUt-6Ff.esm.js\", \"../utils/dom.js\"], function (require, exports, forms_CbUt_6Ff_esm_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 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-dNrN-eKi.esm.js\"], resolve_1, reject_1); }).then(__importStar);\n if (forms_CbUt_6Ff_esm_js_1.O.$) {\n const $elOpener = forms_CbUt_6Ff_esm_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_CbUt_6Ff_esm_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 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 r > e ? t.scrollTop = r - e : t.scrollTop = 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, forms_CbUt_6Ff_esm_js_1.K)(Worker, \"noClose\", !1), (0, forms_CbUt_6Ff_esm_js_1.K)(Worker, \"vueConnectors\", /* @__PURE__ */ new Map()), (0, forms_CbUt_6Ff_esm_js_1.K)(Worker, \"options\", {});\n});\n//# sourceMappingURL=worker-Db8YrEHo.esm.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\tstatic getElPopupOpener(el: Element): 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\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 (let 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"]}
|
package/api/additional.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define([`require`,`exports`,`../.chunks/field-CjkpGeA7.amd
|
|
1
|
+
define([`require`,`exports`,`../.chunks/field-CjkpGeA7.amd`],function(e,t,n){"use strict";if(r===void 0)var r=window.Vue;Object.defineProperty(t,`__esModule`,{value:!0}),t.pushFilterTagsIds=t.genFilters=t.genFilterPrimitive=t.genFilterIn=void 0;var i=e=>{let t=[];return Object.keys(e).forEach(n=>{let r=n,i=e[r];if(i===void 0)return;let a;r===`tags_ids`||r===`tags`?o(r,t,i):typeof i==`string`||typeof i==`number`||typeof i==`boolean`?a=s(r,i):(Array.isArray(i)||i instanceof Set)&&(a=c(r,i)),a&&t.push(a)}),t},a=e=>{let t=e,n=`EQUALS`,r;switch((e[1]===`:`||e[2]===`:`)&&([r,t]=e.split(`:`)),r){case`>`:n=`GREATER_THAN`,t=Number(t);break;case`>=`:n=`GREATER_THAN_EQUALS`,t=Number(t);break;case`<`:n=`LESS_THAN`,t=Number(t);break;case`<=`:n=`LESS_THAN_EQUALS`,t=Number(t);break;case`!=`:n=`NOT_EQUALS`,t.match(/^\d+$/)&&(t=Number(t));break;case`%`:n=`CONTAINS`;break;case`!%`:n=`DOES_NOT_CONTAIN`;break;case`^`:n=`STARTS_WITH`;break;case`null`:n=`IS_NULL`;break;case`!null`:n=`IS_NOT_NULL`;break;case`~`:n=`REGEXP`;break;case`!~`:n=`NOT_REGEXP`;break}return{value:t,operator:n}},o=(e,t,r)=>{let i=[],a=[];r.forEach(e=>{e[0]===`-`?a.push(e.substring(1)):i.push(e)}),i.length&&t.push((0,n.t)(e,`IN`,i)),a.length&&t.push((0,n.t)(e,`NOT_IN`,a))},s=(e,t)=>{let r=t,i=`EQUALS`;if(typeof t==`string`){let{}={value:r,operator:i}=a(t)}return typeof r==`boolean`&&(r=+!!r),(0,n.t)(e,i,[r])},c=(e,t)=>(0,n.t)(e,`IN`,Array.isArray(t)?t:[...t]);t.genFilters=i,t.pushFilterTagsIds=o,t.genFilterPrimitive=s,t.genFilterIn=c});
|
|
2
2
|
//# sourceMappingURL=additional.amd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["api/additional.js","../../src/api/api/utils/filters.ts"],"names":["exports","t","o","s","r","i","a","n","field_CjkpGeA7_esm_js_1"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,mCAAmC,CAAE,SAAU,EAAS,EAAS,EAAyB,CACpH,aCuCS,OACZ,eAC+BA,EAAA,aAAA,CAAA,MAAA,GAAA,CAAA,CAC/B,EAA6C,kBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,YAAA,IAAA,GAG5C,IAAMC,EACA,GAAiC,CACnC,IAAU,EAAA,EAAA,CAEV,OAAA,OAAA,KAAA,EAAA,CAAA,QAAA,GAAA,CAES,IAAAC,EAAA,EAAcC,EAAA,EAASD,GAa9B,GAAAC,IAAA,IAAA,GASH,OAEA,IAA8C,EAGpBD,IAAA,YAAwCA,IAAO,OAC3EE,EAAkBF,EAAA,EAAmCC,EAAA,CAAA,OAAUA,GAGjE,UAAA,OAAAA,GAAA,UAAA,OAAAA,GAAA,UAAA,EAAAE,EAAAH,EAAAC,EAAA,EAAA,MAAA,QAAAA,EAAA,EAAAA,aAAA,OAAA,EAAAG,EAAAJ,EAAAC,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EACM,CAAA,GACOI,EAAA,GAAA,CAGX,IAAA,EAAA,EAAA,EAAA,SAAA,EACI,QAAA,EAAA,KAAA,KAAA,EAAA,KAAA,OAAA,CAAA,EAAA,GAAA,EAAA,MAAA,IAAA,EAAA,EAAA,CACO,IAAA,IAGX,EAAA,eAAA,EAAA,OAAA,EAAA,CACI,MACO,IAAA,KAGX,EAAA,sBAAA,EAAA,OAAA,EAAA,CACI,MACO,IAAA,IAGX,EAAA,YAAA,EAAA,OAAA,EAAA,CACI,MACO,IAAA,KAIX,EAAA,mBAAA,EAAA,OAAA,EAAA,CACI,MACO,IAAA,KAEX,EAAA,aAAA,EAAA,MAAA,QAAA,GAAA,EAAA,OAAA,EAAA,EACI,MACO,IAAA,IAEX,EAAA,WACI,MACO,IAAA,KAEX,EAAA,mBACI,MACO,IAAA,IAEX,EAAA,cACI,MACO,IAAA,OAEX,EAAA,UACI,MACO,IAAA,QAEX,EAAA,cACI,MACO,IAAA,IAEX,EAAA,SDxFa,MC2FR,IAAA,KAAE,EAAA,aAAO,MAUhB,MAEA,CAEwD,MACA,EAEvC,SAAU,EAChB,EAOMH,GAAA,EAAA,EAAQ,IAAa,CAWtC,IACA,EAAA,EACI,CAAA,EAAA,EAAA,CACA,EAAQ,QACsC,GAAA,CAEvC,EAAA,KAA8B,IAAU,EAAA,KAAA,EAAA,UAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAC9C,CAAK,EAAA,QAAAG,EAAA,MAAA,EAAAC,EAA6F,GAAAP,EAAA,KAAA,EAAA,CAAA,CAAA,EAAA,QAAAM,EAAA,MAAA,EAAAC,EAAA,GAAAP,EAAA,SAAA,EAAA,CAAA,EDxHjGI,GAAK,EAAG,IAAM,CC4HhB,IAAAA,EAAOD,EAAA,EAAU,SAcrB,GACA,OAEwCA,GAAM,SAAY,CD1I/C,GAAI,GAAK,CAAE,MAAOC,EAAG,SAAU,GAAME,EAAEH,EAAE,CAE7C,OAAO,OAAOC,GAAK,YAAc,EAAI,CAAC,CAAC,CAACA,IAAK,EAAGG,EAAwB,GAAGP,EAAG,EAAG,CAACI,EAAE,CAAC,EACtFC,GAAK,EAAG,KAAO,EAAGE,EAAwB,GAAGP,EAAG,KAAM,MAAM,QAAQM,EAAE,CAAGA,EAAI,CAAC,GAAGA,EAAE,CAAC,CACvF,EAAQ,WAAaN,EACrB,EAAQ,kBAAoBG,EAC5B,EAAQ,mBAAqBC,EAC7B,EAAQ,YAAcC,GACxB","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/field-CjkpGeA7.esm.js\"], function (require, exports, field_CjkpGeA7_esm_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.pushFilterTagsIds = exports.genFilters = exports.genFilterPrimitive = exports.genFilterIn = void 0;\n //#region src/api/api/utils/filters.ts\n var t = (e) => {\n let t = [];\n return Object.keys(e).forEach((n) => {\n let o = n, s = e[o];\n if (s === void 0)\n return;\n let c;\n o === \"tags_ids\" || o === \"tags\" ? r(o, t, s) : typeof s == \"string\" || typeof s == \"number\" || typeof s == \"boolean\" ? c = i(o, s) : (Array.isArray(s) || s instanceof Set) && (c = a(o, s)), c && t.push(c);\n }), t;\n }, n = (e) => {\n let t = e, n = \"EQUALS\", r;\n switch ((e[1] === \":\" || e[2] === \":\") && ([r, t] = e.split(\":\")), r) {\n case \">\":\n n = \"GREATER_THAN\", t = Number(t);\n break;\n case \">=\":\n n = \"GREATER_THAN_EQUALS\", t = Number(t);\n break;\n case \"<\":\n n = \"LESS_THAN\", t = Number(t);\n break;\n case \"<=\":\n n = \"LESS_THAN_EQUALS\", t = Number(t);\n break;\n case \"!=\":\n n = \"NOT_EQUALS\", t.match(/^\\d+$/) && (t = Number(t));\n break;\n case \"%\":\n n = \"CONTAINS\";\n break;\n case \"!%\":\n n = \"DOES_NOT_CONTAIN\";\n break;\n case \"^\":\n n = \"STARTS_WITH\";\n break;\n case \"null\":\n n = \"IS_NULL\";\n break;\n case \"!null\":\n n = \"IS_NOT_NULL\";\n break;\n case \"~\":\n n = \"REGEXP\";\n break;\n case \"!~\":\n n = \"NOT_REGEXP\";\n break;\n }\n return {\n value: t,\n operator: n\n };\n }, r = (t, n, r) => {\n let i = [], a = [];\n r.forEach((e) => {\n e[0] === \"-\" ? a.push(e.substring(1)) : i.push(e);\n }), i.length && n.push((0, field_CjkpGeA7_esm_js_1.t)(t, \"IN\", i)), a.length && n.push((0, field_CjkpGeA7_esm_js_1.t)(t, \"NOT_IN\", a));\n }, i = (t, r) => {\n let i = r, a = \"EQUALS\";\n if (typeof r == \"string\") {\n let {} = { value: i, operator: a } = n(r);\n }\n return typeof i == \"boolean\" && (i = +!!i), (0, field_CjkpGeA7_esm_js_1.t)(t, a, [i]);\n }, a = (t, n) => (0, field_CjkpGeA7_esm_js_1.t)(t, \"IN\", Array.isArray(n) ? n : [...n]);\n exports.genFilters = t;\n exports.pushFilterTagsIds = r;\n exports.genFilterPrimitive = i;\n exports.genFilterIn = a;\n});\n//# sourceMappingURL=additional.js.map\n","import type { components as componentsTagId } from 'topvisor-openapi/src/ts/Tags_2/Types/TagId';\nimport { genFieldFilter } from './field';\n\ntype TagId = componentsTagId['schemas']['Tags_2.Types.TagId'];\ntype TagIdExclude = `-${TagId}`;\n\ntype DataWithModifierOperator<Model> = {\n\t[K in keyof Model]: Model[K] | Model[K][] | Set<Model[K]> | string\n};\n\n/**\n * Модификатор оператора сравнения\n *\n * Используется посредством добавления к строковому значению поля для упрощения синтаксиса указания фильтров\n *\n * @example Поиск вхождения `Иван` в поле `name`\n * genFilters({\n * id: 12345, // без модификатора опертора\n * name: '%:' + 'Иван', // с модификатором опертора\n * });\n */\ntype ModifierOperator = '>=' | '<=' | '!=' | '>' | '<' | '%' | '!%' | '^' | '~' | '!~' | 'null' | '!null';\n\ntype ValueWithModifierOperator = `${ModifierOperator}:${string | number}`;\n\n/**\n * Сгенерировать массив с фильтрами API\n *\n * Ключи - `filedName`, значения - `[ModifierOperator:]fieldValue` / `fieldValues`\n *\n * Значения `undefined` будут пропускаться\n *\n * Додерживает типы:\n *\n * - string, number, boolean - строгое равенство `EQUALS`, если не указан `modifierOperator`\n * - Array - вхождение `IN`\n * - Set<string | number> - вхождение `IN`\n *\n * @see ModifierOperator\n */\nexport const genFilters = <Model extends Api.Ext.Schemas['Model']>(\n\tdataWithModifierOperator: DataWithModifierOperator<Model>,\n): Api.Field.Filter<Model>[] => {\n\tconst filters: Api.Field.Filter<Model>[] = [];\n\n\tObject.keys(dataWithModifierOperator).forEach(_name => {\n\t\tconst name = _name as string & keyof Model;\n\t\tconst value = dataWithModifierOperator[name];\n\t\tif (value === undefined) return;\n\n\t\tlet filter: Api.Field.Filter<Model> | undefined;\n\n\t\tif (name === 'tags_ids' || name === 'tags') {\n\t\t\tpushFilterTagsIds(name, filters, value as any);\n\t\t} else if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n\t\t\tfilter = genFilterPrimitive(name, value);\n\t\t} else if (Array.isArray(value) || value instanceof Set) {\n\t\t\tfilter = genFilterIn(name, value as any);\n\t\t}\n\n\t\tif (filter) {\n\t\t\tfilters.push(filter);\n\t\t}\n\t});\n\n\treturn filters;\n};\n\n/**\n * Получить value и operator из valueWithModifierOperator\n */\nconst extractOperator = (valueWithModifierOperator: ValueWithModifierOperator): {\n\tvalue: any,\n\toperator: Api.Ext.Schemas['FieldOperator']\n} => {\n\tlet value: string | number = valueWithModifierOperator;\n\tlet operator: Api.Field.Filter<any>['operator'] = 'EQUALS';\n\n\tlet modifierOperator: ModifierOperator | undefined;\n\tif (valueWithModifierOperator[1] === ':' || valueWithModifierOperator[2] === ':') {\n\t\t[modifierOperator, value] = valueWithModifierOperator.split(':') as [ModifierOperator, string];\n\t}\n\n\tswitch (modifierOperator) {\n\t\tcase '>':\n\t\t\toperator = 'GREATER_THAN';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '>=':\n\t\t\toperator = 'GREATER_THAN_EQUALS';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '<':\n\t\t\toperator = 'LESS_THAN';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '<=':\n\t\t\toperator = 'LESS_THAN_EQUALS';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '!=':\n\t\t\toperator = 'NOT_EQUALS';\n\n\t\t\tif (value.match(/^\\d+$/)) value = Number(value);\n\n\t\t\tbreak;\n\t\tcase '%':\n\t\t\toperator = 'CONTAINS';\n\n\t\t\tbreak;\n\t\tcase '!%':\n\t\t\toperator = 'DOES_NOT_CONTAIN';\n\n\t\t\tbreak;\n\t\tcase '^':\n\t\t\toperator = 'STARTS_WITH';\n\n\t\t\tbreak;\n\t\tcase 'null':\n\t\t\toperator = 'IS_NULL';\n\n\t\t\tbreak;\n\t\tcase '!null':\n\t\t\toperator = 'IS_NOT_NULL';\n\n\t\t\tbreak;\n\t\tcase '~':\n\t\t\toperator = 'REGEXP';\n\n\t\t\tbreak;\n\t\tcase '!~':\n\t\t\toperator = 'NOT_REGEXP';\n\n\t\t\tbreak;\n\t}\n\n\treturn { value, operator };\n};\n\n/**\n * Сгенерировать и добавить API фильтр из списка тегов\n */\nexport const pushFilterTagsIds = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tfilters: Api.Field.Filter<Model, FieldName>[],\n\ttagsIds: Array<TagId | TagIdExclude>,\n) => {\n\tconst tagsIncluded: Array<Model[FieldName] & TagId> = [];\n\tconst tagsExcluded: Array<Model[FieldName] & TagId> = [];\n\n\ttagsIds.forEach((tagId) => {\n\t\tif (tagId[0] === '-') {\n\t\t\ttagsExcluded.push(tagId.substring(1) as Model[FieldName] & TagId);\n\t\t} else {\n\t\t\ttagsIncluded.push(tagId as Model[FieldName] & TagId);\n\t\t}\n\t});\n\n\tif (tagsIncluded.length) filters.push(genFieldFilter<Model, FieldName>(name, 'IN', tagsIncluded));\n\tif (tagsExcluded.length) filters.push(genFieldFilter<Model, FieldName>(name, 'NOT_IN', tagsExcluded));\n};\n\n/**\n * Сгенерировать API фильтр из простого значения\n */\nexport const genFilterPrimitive = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tvalueWithModifierOperator: number | string | boolean | ValueWithModifierOperator,\n) => {\n\tlet value = valueWithModifierOperator;\n\tlet operator: Api.Field.Filter<any>['operator'] = 'EQUALS';\n\n\tif (typeof valueWithModifierOperator === 'string') {\n\t\tlet {} = { value, operator } = extractOperator(valueWithModifierOperator as ValueWithModifierOperator);\n\t}\n\n\t// @deprecated\n\tif (typeof value === 'boolean') {\n\t\tvalue = value ? 1 : 0;\n\t}\n\n\treturn genFieldFilter<Model>(name, operator, [value as any]);\n};\n\n/**\n * Сгенерировать API фильтр IN\n */\nexport const genFilterIn = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tvaluesOrSet: Model[FieldName][] | Set<Model[FieldName]>,\n) => {\n\treturn genFieldFilter<Model, FieldName>(name, 'IN', Array.isArray(valuesOrSet) ? valuesOrSet : [...valuesOrSet]);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["api/additional.js","../../src/api/api/utils/filters.ts"],"names":["vue","exports","t","o","s","c","r","i","a","n","field_CjkpGeA7_esm_js_1"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,gCAAmC,CAAE,SAAU,EAAS,EAAS,EAAyB,CACpH,aAAA,GAAAA,IAAA,OAAA,IAAAA,EAAA,OAAA,ICuCS,OACZ,eAC+BC,EAAA,aAAA,CAAA,MAAA,GAAA,CAAA,CAC/B,EAA6C,kBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,YAAA,IAAA,GAG5C,IAAMC,EACA,GAAiC,CACnC,IAAU,EAAA,EAAA,CAEV,OAAA,OAAA,KAAA,EAAA,CAAA,QAAA,GAAA,CAES,IAAAC,EAAA,EAAcC,EAAA,EAASD,GAa9B,GAAAC,IAAA,IAAA,GASH,OAEA,IAA8CC,EAGpBF,IAAA,YAAwCA,IAAO,OAC3EG,EAAkBH,EAAA,EAAmCC,EAAA,CAAA,OAAUA,GAGjE,UAAA,OAAAA,GAAA,UAAA,OAAAA,GAAA,UAAA,EAAAG,EAAAJ,EAAAC,EAAA,EAAA,MAAA,QAAAA,EAAA,EAAAA,aAAA,OAAA,EAAAI,EAAAL,EAAAC,EAAA,EAAAC,GAAA,EAAA,KAAAA,EAAA,EACM,CAAA,GACOI,EAAA,GAAA,CAGX,IAAA,EAAA,EAAA,EAAA,SAAA,EACI,QAAA,EAAA,KAAA,KAAA,EAAA,KAAA,OAAA,CAAA,EAAA,GAAA,EAAA,MAAA,IAAA,EAAA,EAAA,CACO,IAAA,IAGX,EAAA,eAAA,EAAA,OAAA,EAAA,CACI,MACO,IAAA,KAGX,EAAA,sBAAA,EAAA,OAAA,EAAA,CACI,MACO,IAAA,IAGX,EAAA,YAAA,EAAA,OAAA,EAAA,CACI,MACO,IAAA,KAIX,EAAA,mBAAA,EAAA,OAAA,EAAA,CACI,MACO,IAAA,KAEX,EAAA,aAAA,EAAA,MAAA,QAAA,GAAA,EAAA,OAAA,EAAA,EACI,MACO,IAAA,IAEX,EAAA,WACI,MACO,IAAA,KAEX,EAAA,mBACI,MACO,IAAA,IAEX,EAAA,cACI,MACO,IAAA,OAEX,EAAA,UACI,MACO,IAAA,QAEX,EAAA,cACI,MACO,IAAA,IAEX,EAAA,SDxFa,MC2FR,IAAA,KAAE,EAAA,aAAO,MAUhB,MAEA,CAEwD,MACA,EAEvC,SAAU,EAChB,EAOMH,GAAA,EAAA,EAAQ,IAAa,CAWtC,IACA,EAAA,EACI,CAAA,EAAA,EAAA,CACA,EAAQ,QACsC,GAAA,CAEvC,EAAA,KAA8B,IAAU,EAAA,KAAA,EAAA,UAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAC9C,CAAK,EAAA,QAAAG,EAAA,MAAA,EAAAC,EAA6F,GAAAR,EAAA,KAAA,EAAA,CAAA,CAAA,EAAA,QAAAO,EAAA,MAAA,EAAAC,EAAA,GAAAR,EAAA,SAAA,EAAA,CAAA,EDxHjGK,GAAK,EAAG,IAAM,CC4HhB,IAAAA,EAAOD,EAAAE,EAAU,SAcrB,GACA,OAEwCF,GAAM,SAAY,CD1I/C,GAAI,GAAK,CAAE,MAAOC,EAAG,SAAUC,GAAMC,EAAEH,EAAE,CAE7C,OAAO,OAAOC,GAAK,YAAc,EAAI,CAAC,CAAC,CAACA,IAAK,EAAGG,EAAwB,GAAGR,EAAGM,EAAG,CAACD,EAAE,CAAC,EACtFC,GAAK,EAAG,KAAO,EAAGE,EAAwB,GAAGR,EAAG,KAAM,MAAM,QAAQO,EAAE,CAAGA,EAAI,CAAC,GAAGA,EAAE,CAAC,CACvF,EAAQ,WAAaP,EACrB,EAAQ,kBAAoBI,EAC5B,EAAQ,mBAAqBC,EAC7B,EAAQ,YAAcC,GACxB","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/field-CjkpGeA7.esm.js\"], function (require, exports, field_CjkpGeA7_esm_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.pushFilterTagsIds = exports.genFilters = exports.genFilterPrimitive = exports.genFilterIn = void 0;\n //#region src/api/api/utils/filters.ts\n var t = (e) => {\n let t = [];\n return Object.keys(e).forEach((n) => {\n let o = n, s = e[o];\n if (s === void 0)\n return;\n let c;\n o === \"tags_ids\" || o === \"tags\" ? r(o, t, s) : typeof s == \"string\" || typeof s == \"number\" || typeof s == \"boolean\" ? c = i(o, s) : (Array.isArray(s) || s instanceof Set) && (c = a(o, s)), c && t.push(c);\n }), t;\n }, n = (e) => {\n let t = e, n = \"EQUALS\", r;\n switch ((e[1] === \":\" || e[2] === \":\") && ([r, t] = e.split(\":\")), r) {\n case \">\":\n n = \"GREATER_THAN\", t = Number(t);\n break;\n case \">=\":\n n = \"GREATER_THAN_EQUALS\", t = Number(t);\n break;\n case \"<\":\n n = \"LESS_THAN\", t = Number(t);\n break;\n case \"<=\":\n n = \"LESS_THAN_EQUALS\", t = Number(t);\n break;\n case \"!=\":\n n = \"NOT_EQUALS\", t.match(/^\\d+$/) && (t = Number(t));\n break;\n case \"%\":\n n = \"CONTAINS\";\n break;\n case \"!%\":\n n = \"DOES_NOT_CONTAIN\";\n break;\n case \"^\":\n n = \"STARTS_WITH\";\n break;\n case \"null\":\n n = \"IS_NULL\";\n break;\n case \"!null\":\n n = \"IS_NOT_NULL\";\n break;\n case \"~\":\n n = \"REGEXP\";\n break;\n case \"!~\":\n n = \"NOT_REGEXP\";\n break;\n }\n return {\n value: t,\n operator: n\n };\n }, r = (t, n, r) => {\n let i = [], a = [];\n r.forEach((e) => {\n e[0] === \"-\" ? a.push(e.substring(1)) : i.push(e);\n }), i.length && n.push((0, field_CjkpGeA7_esm_js_1.t)(t, \"IN\", i)), a.length && n.push((0, field_CjkpGeA7_esm_js_1.t)(t, \"NOT_IN\", a));\n }, i = (t, r) => {\n let i = r, a = \"EQUALS\";\n if (typeof r == \"string\") {\n let {} = { value: i, operator: a } = n(r);\n }\n return typeof i == \"boolean\" && (i = +!!i), (0, field_CjkpGeA7_esm_js_1.t)(t, a, [i]);\n }, a = (t, n) => (0, field_CjkpGeA7_esm_js_1.t)(t, \"IN\", Array.isArray(n) ? n : [...n]);\n exports.genFilters = t;\n exports.pushFilterTagsIds = r;\n exports.genFilterPrimitive = i;\n exports.genFilterIn = a;\n});\n//# sourceMappingURL=additional.js.map\n","import type { components as componentsTagId } from 'topvisor-openapi/src/ts/Tags_2/Types/TagId';\nimport { genFieldFilter } from './field';\n\ntype TagId = componentsTagId['schemas']['Tags_2.Types.TagId'];\ntype TagIdExclude = `-${TagId}`;\n\ntype DataWithModifierOperator<Model> = {\n\t[K in keyof Model]: Model[K] | Model[K][] | Set<Model[K]> | string\n};\n\n/**\n * Модификатор оператора сравнения\n *\n * Используется посредством добавления к строковому значению поля для упрощения синтаксиса указания фильтров\n *\n * @example Поиск вхождения `Иван` в поле `name`\n * genFilters({\n * id: 12345, // без модификатора опертора\n * name: '%:' + 'Иван', // с модификатором опертора\n * });\n */\ntype ModifierOperator = '>=' | '<=' | '!=' | '>' | '<' | '%' | '!%' | '^' | '~' | '!~' | 'null' | '!null';\n\ntype ValueWithModifierOperator = `${ModifierOperator}:${string | number}`;\n\n/**\n * Сгенерировать массив с фильтрами API\n *\n * Ключи - `filedName`, значения - `[ModifierOperator:]fieldValue` / `fieldValues`\n *\n * Значения `undefined` будут пропускаться\n *\n * Додерживает типы:\n *\n * - string, number, boolean - строгое равенство `EQUALS`, если не указан `modifierOperator`\n * - Array - вхождение `IN`\n * - Set<string | number> - вхождение `IN`\n *\n * @see ModifierOperator\n */\nexport const genFilters = <Model extends Api.Ext.Schemas['Model']>(\n\tdataWithModifierOperator: DataWithModifierOperator<Model>,\n): Api.Field.Filter<Model>[] => {\n\tconst filters: Api.Field.Filter<Model>[] = [];\n\n\tObject.keys(dataWithModifierOperator).forEach(_name => {\n\t\tconst name = _name as string & keyof Model;\n\t\tconst value = dataWithModifierOperator[name];\n\t\tif (value === undefined) return;\n\n\t\tlet filter: Api.Field.Filter<Model> | undefined;\n\n\t\tif (name === 'tags_ids' || name === 'tags') {\n\t\t\tpushFilterTagsIds(name, filters, value as any);\n\t\t} else if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n\t\t\tfilter = genFilterPrimitive(name, value);\n\t\t} else if (Array.isArray(value) || value instanceof Set) {\n\t\t\tfilter = genFilterIn(name, value as any);\n\t\t}\n\n\t\tif (filter) {\n\t\t\tfilters.push(filter);\n\t\t}\n\t});\n\n\treturn filters;\n};\n\n/**\n * Получить value и operator из valueWithModifierOperator\n */\nconst extractOperator = (valueWithModifierOperator: ValueWithModifierOperator): {\n\tvalue: any,\n\toperator: Api.Ext.Schemas['FieldOperator']\n} => {\n\tlet value: string | number = valueWithModifierOperator;\n\tlet operator: Api.Field.Filter<any>['operator'] = 'EQUALS';\n\n\tlet modifierOperator: ModifierOperator | undefined;\n\tif (valueWithModifierOperator[1] === ':' || valueWithModifierOperator[2] === ':') {\n\t\t[modifierOperator, value] = valueWithModifierOperator.split(':') as [ModifierOperator, string];\n\t}\n\n\tswitch (modifierOperator) {\n\t\tcase '>':\n\t\t\toperator = 'GREATER_THAN';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '>=':\n\t\t\toperator = 'GREATER_THAN_EQUALS';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '<':\n\t\t\toperator = 'LESS_THAN';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '<=':\n\t\t\toperator = 'LESS_THAN_EQUALS';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '!=':\n\t\t\toperator = 'NOT_EQUALS';\n\n\t\t\tif (value.match(/^\\d+$/)) value = Number(value);\n\n\t\t\tbreak;\n\t\tcase '%':\n\t\t\toperator = 'CONTAINS';\n\n\t\t\tbreak;\n\t\tcase '!%':\n\t\t\toperator = 'DOES_NOT_CONTAIN';\n\n\t\t\tbreak;\n\t\tcase '^':\n\t\t\toperator = 'STARTS_WITH';\n\n\t\t\tbreak;\n\t\tcase 'null':\n\t\t\toperator = 'IS_NULL';\n\n\t\t\tbreak;\n\t\tcase '!null':\n\t\t\toperator = 'IS_NOT_NULL';\n\n\t\t\tbreak;\n\t\tcase '~':\n\t\t\toperator = 'REGEXP';\n\n\t\t\tbreak;\n\t\tcase '!~':\n\t\t\toperator = 'NOT_REGEXP';\n\n\t\t\tbreak;\n\t}\n\n\treturn { value, operator };\n};\n\n/**\n * Сгенерировать и добавить API фильтр из списка тегов\n */\nexport const pushFilterTagsIds = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tfilters: Api.Field.Filter<Model, FieldName>[],\n\ttagsIds: Array<TagId | TagIdExclude>,\n) => {\n\tconst tagsIncluded: Array<Model[FieldName] & TagId> = [];\n\tconst tagsExcluded: Array<Model[FieldName] & TagId> = [];\n\n\ttagsIds.forEach((tagId) => {\n\t\tif (tagId[0] === '-') {\n\t\t\ttagsExcluded.push(tagId.substring(1) as Model[FieldName] & TagId);\n\t\t} else {\n\t\t\ttagsIncluded.push(tagId as Model[FieldName] & TagId);\n\t\t}\n\t});\n\n\tif (tagsIncluded.length) filters.push(genFieldFilter<Model, FieldName>(name, 'IN', tagsIncluded));\n\tif (tagsExcluded.length) filters.push(genFieldFilter<Model, FieldName>(name, 'NOT_IN', tagsExcluded));\n};\n\n/**\n * Сгенерировать API фильтр из простого значения\n */\nexport const genFilterPrimitive = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tvalueWithModifierOperator: number | string | boolean | ValueWithModifierOperator,\n) => {\n\tlet value = valueWithModifierOperator;\n\tlet operator: Api.Field.Filter<any>['operator'] = 'EQUALS';\n\n\tif (typeof valueWithModifierOperator === 'string') {\n\t\tlet {} = { value, operator } = extractOperator(valueWithModifierOperator as ValueWithModifierOperator);\n\t}\n\n\t// @deprecated\n\tif (typeof value === 'boolean') {\n\t\tvalue = value ? 1 : 0;\n\t}\n\n\treturn genFieldFilter<Model>(name, operator, [value as any]);\n};\n\n/**\n * Сгенерировать API фильтр IN\n */\nexport const genFilterIn = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tvaluesOrSet: Model[FieldName][] | Set<Model[FieldName]>,\n) => {\n\treturn genFieldFilter<Model, FieldName>(name, 'IN', Array.isArray(valuesOrSet) ? valuesOrSet : [...valuesOrSet]);\n};\n"]}
|