@topvisor/ui 1.2.0 → 1.3.1-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.chunks/core-DkD6AE7J.amd.js +2 -0
- package/.chunks/core-DkD6AE7J.amd.js.map +1 -0
- package/.chunks/core-ZuvfeeJ3.es.js +197 -0
- package/.chunks/core-ZuvfeeJ3.es.js.map +1 -0
- package/.chunks/datepicker-CxWa68gc.es.js +44 -0
- package/.chunks/datepicker-CxWa68gc.es.js.map +1 -0
- package/.chunks/datepicker-DeYFg9AM.amd.js +2 -0
- package/.chunks/datepicker-DeYFg9AM.amd.js.map +1 -0
- package/.chunks/dialog_selectorRegions-D1ord0Ik.es.js +188 -0
- package/.chunks/dialog_selectorRegions-D1ord0Ik.es.js.map +1 -0
- package/.chunks/dialog_selectorRegions-vQD6LBdY.amd.js +2 -0
- package/.chunks/dialog_selectorRegions-vQD6LBdY.amd.js.map +1 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BMDSZwZJ.es.js +322 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BMDSZwZJ.es.js.map +1 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-DDR6uqak.amd.js +2 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-DDR6uqak.amd.js.map +1 -0
- package/.chunks/field-Cvv0SRcJ.amd.js +2 -0
- package/.chunks/field-Cvv0SRcJ.amd.js.map +1 -0
- package/.chunks/field-CyyFzM-Y.es.js +16 -0
- package/.chunks/field-CyyFzM-Y.es.js.map +1 -0
- package/.chunks/forms-CRHjU2Mj.es.js +2045 -0
- package/.chunks/forms-CRHjU2Mj.es.js.map +1 -0
- package/.chunks/forms-D4uFd45i.amd.js +3 -0
- package/.chunks/forms-D4uFd45i.amd.js.map +1 -0
- package/.chunks/index-BEI7XZmU.amd.js +2 -0
- package/.chunks/index-BEI7XZmU.amd.js.map +1 -0
- package/.chunks/index-igPkes8X.es.js +48 -0
- package/.chunks/index-igPkes8X.es.js.map +1 -0
- package/.chunks/lazy-40pjr8cZ.es.js +71 -0
- package/.chunks/lazy-40pjr8cZ.es.js.map +1 -0
- package/.chunks/lazy-DSFLxvj4.amd.js +2 -0
- package/.chunks/lazy-DSFLxvj4.amd.js.map +1 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-B2Q4gqK6.amd.js +2 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-B2Q4gqK6.amd.js.map +1 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DFWY29DS.es.js +184 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DFWY29DS.es.js.map +1 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-Bm9sY3Ux.es.js +110 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-Bm9sY3Ux.es.js.map +1 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-bMtkdrEt.amd.js +2 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-bMtkdrEt.amd.js.map +1 -0
- package/.chunks/notice-7-xEtFXT.amd.js +4 -0
- package/.chunks/notice-7-xEtFXT.amd.js.map +1 -0
- package/.chunks/notice-pFWJHCd7.es.js +180 -0
- package/.chunks/notice-pFWJHCd7.es.js.map +1 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-DzuM-_u7.amd.js +2 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-DzuM-_u7.amd.js.map +1 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-o3lCjjxW.es.js +143 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-o3lCjjxW.es.js.map +1 -0
- package/.chunks/popup-C05LLKni.amd.js +2 -0
- package/.chunks/popup-C05LLKni.amd.js.map +1 -0
- package/.chunks/popup-Dr3j_FOV.es.js +459 -0
- package/.chunks/popup-Dr3j_FOV.es.js.map +1 -0
- package/.chunks/punycode.es6-CNOnFR2-.amd.js +2 -0
- package/.chunks/punycode.es6-CNOnFR2-.amd.js.map +1 -0
- package/.chunks/punycode.es6-CgGegfA_.es.js +134 -0
- package/.chunks/punycode.es6-CgGegfA_.es.js.map +1 -0
- package/.chunks/store-CX_6ZXhO.es.js +29 -0
- package/.chunks/store-CX_6ZXhO.es.js.map +1 -0
- package/.chunks/store-YRW59xEF.amd.js +2 -0
- package/.chunks/store-YRW59xEF.amd.js.map +1 -0
- package/.chunks/utils-BgEQlXpF.amd.js +2 -0
- package/.chunks/utils-BgEQlXpF.amd.js.map +1 -0
- package/.chunks/utils-Bsv1-1_h.es.js +79 -0
- package/.chunks/utils-Bsv1-1_h.es.js.map +1 -0
- package/.chunks/utils-DQvj_C9w.amd.js +2 -0
- package/.chunks/utils-DQvj_C9w.amd.js.map +1 -0
- package/.chunks/utils-sKjgHYod.es.js +302 -0
- package/.chunks/utils-sKjgHYod.es.js.map +1 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-5LVABONB.es.js +39 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-5LVABONB.es.js.map +1 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-B7zzY9Mx.amd.js +2 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-B7zzY9Mx.amd.js.map +1 -0
- package/.chunks/widgetInput.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js +2 -0
- package/.chunks/widgetInput.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js.map +1 -0
- package/README.md +82 -33
- package/api/additional.amd.js +2 -0
- package/api/additional.amd.js.map +1 -0
- package/api/additional.d.ts +2 -0
- package/api/additional.js +66 -0
- package/api/additional.js.map +1 -0
- package/api/index.amd.js +2 -0
- package/api/index.amd.js.map +1 -0
- package/api/index.d.ts +2 -0
- package/api/index.js +280 -0
- package/api/index.js.map +1 -0
- package/assets/charts.css +1 -0
- package/assets/core.css +1 -0
- package/assets/dialog_selectorRegions.css +1 -0
- package/assets/extra.css +1 -0
- package/assets/forms.css +1 -0
- package/assets/formsExt.css +1 -0
- package/assets/layout.css +1 -0
- package/assets/listItem.css +1 -0
- package/assets/menu.css +1 -0
- package/assets/notice.css +1 -0
- package/assets/project.css +1 -0
- package/assets/tabs.css +1 -0
- package/assets/tabsView.css +1 -0
- package/assets/themes/dark-th.css +1 -0
- package/assets/themes/dark.css +1 -0
- package/assets/themes/light.css +1 -0
- package/assets/widgetInput.css +1 -0
- package/charts/charts.amd.js +2 -0
- package/charts/charts.amd.js.map +1 -0
- package/charts/charts.d.ts +2 -0
- package/charts/charts.js +178 -0
- package/charts/charts.js.map +1 -0
- package/core/app.amd.js +2 -0
- package/core/app.amd.js.map +1 -0
- package/core/app.d.ts +2 -0
- package/core/app.js +216 -0
- package/core/app.js.map +1 -0
- package/dialog/dialog.amd.js +2 -0
- package/dialog/dialog.amd.js.map +1 -0
- package/dialog/dialog.d.ts +2 -0
- package/dialog/dialog.js +60 -0
- package/dialog/dialog.js.map +1 -0
- package/extra/extra.amd.js +2 -0
- package/extra/extra.amd.js.map +1 -0
- package/extra/extra.d.ts +2 -0
- package/extra/extra.js +72 -0
- package/extra/extra.js.map +1 -0
- package/forms/forms.amd.js +2 -0
- package/forms/forms.amd.js.map +1 -0
- package/forms/forms.d.ts +2 -0
- package/forms/forms.js +19 -0
- package/forms/forms.js.map +1 -0
- package/forms/helpers.amd.js +2 -0
- package/forms/helpers.amd.js.map +1 -0
- package/forms/helpers.d.ts +1 -0
- package/forms/helpers.js +2 -0
- package/forms/helpers.js.map +1 -0
- package/formsExt/formsExt.amd.js +2 -0
- package/formsExt/formsExt.amd.js.map +1 -0
- package/formsExt/formsExt.d.ts +2 -0
- package/formsExt/formsExt.js +697 -0
- package/formsExt/formsExt.js.map +1 -0
- package/icomoon/Read Me.txt +7 -0
- package/icomoon/demo-files/demo.css +158 -0
- package/icomoon/demo-files/demo.js +30 -0
- package/icomoon/demo.css +158 -0
- package/icomoon/demo.html +3782 -0
- package/icomoon/demo.js +30 -0
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +293 -0
- package/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/icomoon/fonts/Topvisor-2.woff +0 -0
- package/icomoon/selection.json +1 -0
- package/icomoon/style.css +828 -0
- package/jquery-ui.min.css +6 -0
- package/layout/layout.amd.js +2 -0
- package/layout/layout.amd.js.map +1 -0
- package/layout/layout.d.ts +2 -0
- package/layout/layout.js +62 -0
- package/layout/layout.js.map +1 -0
- package/package.json +36 -88
- package/popup/popup.amd.js +2 -0
- package/popup/popup.amd.js.map +1 -0
- package/popup/popup.d.ts +2 -0
- package/popup/popup.js +228 -0
- package/popup/popup.js.map +1 -0
- package/popup/worker.amd.js +2 -0
- package/popup/worker.amd.js.map +1 -0
- package/popup/worker.d.ts +2 -0
- package/popup/worker.js +138 -0
- package/popup/worker.js.map +1 -0
- package/project/project.amd.js +2 -0
- package/project/project.amd.js.map +1 -0
- package/project/project.d.ts +2 -0
- package/project/project.js +986 -0
- package/project/project.js.map +1 -0
- package/require/css.amd.js +12 -0
- package/src/api/api/additional.d.ts +1 -0
- package/src/api/api/client/client.d.ts +55 -0
- package/src/api/api/client/request-options.d.ts +1 -0
- package/src/api/api/client/request.d.ts +2 -0
- package/src/api/api/index.d.ts +12 -0
- package/src/api/api/mocker/index.d.ts +9 -0
- package/src/api/api/tests/types.test-d.d.ts +1 -0
- package/src/api/api/types/api.d.ts +144 -0
- package/src/api/api/types/client/client.d.ts +8 -0
- package/src/api/api/types/client/middleware.d.ts +65 -0
- package/src/api/api/types/client/options.d.ts +60 -0
- package/src/api/api/types/client/request-context.d.ts +35 -0
- package/src/api/api/types/client/request-options.d.ts +73 -0
- package/src/api/api/types/client/request.d.ts +91 -0
- package/src/api/api/types/ext.d.ts +51 -0
- package/src/api/api/types/field.d.ts +33 -0
- package/src/api/api/types/index.d.ts +13 -0
- package/src/api/api/types/mocker.d.ts +106 -0
- package/src/api/api/types/schema.d.ts +50 -0
- package/src/api/api/types/tv.d.ts +59 -0
- package/src/api/api/types/utils.d.ts +51 -0
- package/src/api/api/utils/common.d.ts +16 -0
- package/src/api/api/utils/field.d.ts +8 -0
- package/src/api/api/utils/filters.d.ts +48 -0
- package/src/api/api/utils/lazy.d.ts +26 -0
- package/src/components/charts/charts.d.ts +2 -0
- package/src/components/charts/miniChart/miniChart.vue.d.ts +15 -0
- package/src/components/charts/miniChart/types.d.ts +92 -0
- package/src/components/charts/miniChart/utils/consts.d.ts +8 -0
- package/src/components/charts/miniCharts/miniCharts.d.ts +20 -0
- package/src/components/charts/miniCharts/miniCharts.vue.d.ts +32 -0
- package/src/components/core/notice/item/item.vue.d.ts +10 -0
- package/src/components/core/notice/item/types.d.ts +63 -0
- package/src/components/core/notice/notice.vue.d.ts +5 -0
- package/src/components/core/notice/types.d.ts +1 -0
- package/src/components/core/notice/utils.d.ts +27 -0
- package/src/components/dialog/dialog/composables/asyncDialogHandle.d.ts +51 -0
- package/src/components/dialog/dialog/composables/dialogHandle.d.ts +108 -0
- package/src/components/dialog/dialog/composables/types.d.ts +11 -0
- package/src/components/dialog/dialog/composables/utils.d.ts +21 -0
- package/src/components/dialog/dialog/dialog.vue.d.ts +28 -0
- package/src/components/dialog/dialog/dialogs/dialogs.vue.d.ts +13 -0
- package/src/components/dialog/dialog/page/page.vue.d.ts +19 -0
- package/src/components/dialog/dialog/page/types.d.ts +72 -0
- package/src/components/dialog/dialog/pageComponent/pageComponent.vue.d.ts +6 -0
- package/src/components/dialog/dialog/pageComponent/types.d.ts +18 -0
- package/src/components/dialog/dialog/stories/dialog_example/pages/utils.d.ts +7 -0
- package/src/components/dialog/dialog/types.d.ts +58 -0
- package/src/components/dialog/dialog.d.ts +6 -0
- package/src/components/dialog/lib/types.d.ts +44 -0
- package/src/components/dialog/lib/utils.d.ts +14 -0
- package/src/components/dialog/lib/utils.globalEvents.d.ts +8 -0
- package/src/components/dialog/lib/worker.d.ts +76 -0
- package/src/components/extra/extra.d.ts +1 -0
- package/src/components/extra/rive/rive.vue.d.ts +11 -0
- package/src/components/extra/rive/types.d.ts +7 -0
- package/src/components/forms/avatar/avatar.vue.d.ts +10 -0
- package/src/components/forms/avatar/types.d.ts +32 -0
- package/src/components/forms/button/button.vue.d.ts +21 -0
- package/src/components/forms/button/types.d.ts +49 -0
- package/src/components/forms/caption/caption.vue.d.ts +17 -0
- package/src/components/forms/caption/types.d.ts +9 -0
- package/src/components/forms/checkbox/checkbox.vue.d.ts +27 -0
- package/src/components/forms/checkbox/types.d.ts +21 -0
- package/src/components/forms/controlLabel/controlLabel.vue.d.ts +19 -0
- package/src/components/forms/controlLabel/types.d.ts +4 -0
- package/src/components/forms/forms.d.ts +15 -0
- package/src/components/forms/helpers.d.ts +1 -0
- package/src/components/forms/hint/hint.vue.d.ts +4 -0
- package/src/components/forms/hint/types.d.ts +8 -0
- package/src/components/forms/input/input.vue.d.ts +27 -0
- package/src/components/forms/input/types.d.ts +23 -0
- package/src/components/forms/inputDate/datepicker.d.ts +5 -0
- package/src/components/forms/inputDate/inputDate.vue.d.ts +12 -0
- package/src/components/forms/inputDate/types.d.ts +1 -0
- package/src/components/forms/inputRange/inputRange.vue.d.ts +19 -0
- package/src/components/forms/inputRange/types.d.ts +2 -0
- package/src/components/forms/loadbar/loadbar.vue.d.ts +3 -0
- package/src/components/forms/preloader/preloader.vue.d.ts +4 -0
- package/src/components/forms/preloader/types.d.ts +3 -0
- package/src/components/forms/radio/radio.vue.d.ts +23 -0
- package/src/components/forms/radio/types.d.ts +14 -0
- package/src/components/forms/select/select.vue.d.ts +17 -0
- package/src/components/forms/select/types.d.ts +58 -0
- package/src/components/forms/switcher/switcher.vue.d.ts +23 -0
- package/src/components/forms/switcher/types.d.ts +21 -0
- package/src/components/forms/textarea/textarea.vue.d.ts +12 -0
- package/src/components/forms/textarea/types.d.ts +44 -0
- package/src/components/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +16 -0
- package/src/components/formsExt/checkboxGroup/types.d.ts +19 -0
- package/src/components/formsExt/editArea/editArea.vue.d.ts +18 -0
- package/src/components/formsExt/editArea/types.d.ts +33 -0
- package/src/components/formsExt/editInput/editInput.vue.d.ts +8 -0
- package/src/components/formsExt/editInput/types.d.ts +16 -0
- package/src/components/formsExt/formsExt.d.ts +8 -0
- package/src/components/formsExt/info/info.vue.d.ts +20 -0
- package/src/components/formsExt/info/types.d.ts +21 -0
- package/src/components/formsExt/menu/menu.vue.d.ts +16 -0
- package/src/components/formsExt/menu/types.d.ts +37 -0
- package/src/components/formsExt/policy/policy.vue.d.ts +8 -0
- package/src/components/formsExt/policy/types.d.ts +20 -0
- package/src/components/formsExt/radioGroup/radioGroup.vue.d.ts +16 -0
- package/src/components/formsExt/radioGroup/types.d.ts +21 -0
- package/src/components/formsExt/selector2/composables/useAPI.d.ts +18 -0
- package/src/components/formsExt/selector2/composables/useMenu.d.ts +16 -0
- package/src/components/formsExt/selector2/itemMulti.vue.d.ts +8 -0
- package/src/components/formsExt/selector2/selector2.vue.d.ts +43 -0
- package/src/components/formsExt/selector2/types.d.ts +162 -0
- package/src/components/formsExt/selector2/utils.d.ts +6 -0
- package/src/components/layout/islandRows/islandRows.vue.d.ts +17 -0
- package/src/components/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +18 -0
- package/src/components/layout/islandRows/islandRowsRow/types.d.ts +2 -0
- package/src/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +18 -0
- package/src/components/layout/islandRows/types.d.ts +10 -0
- package/src/components/layout/layout.d.ts +4 -0
- package/src/components/layout/rows/rows.vue.d.ts +21 -0
- package/src/components/layout/rows/types.d.ts +6 -0
- package/src/components/popup/alert/alert.vue.d.ts +25 -0
- package/src/components/popup/alert/types.d.ts +8 -0
- package/src/components/popup/confirm/confirm.vue.d.ts +26 -0
- package/src/components/popup/confirm/types.d.ts +21 -0
- package/src/components/popup/lib/popup.d.ts +87 -0
- package/src/components/popup/lib/popup.globalEvents.d.ts +32 -0
- package/src/components/popup/lib/worker.d.ts +77 -0
- package/src/components/popup/lib/worker.globalEvents.d.ts +19 -0
- package/src/components/popup/popup/listItem.vue.d.ts +22 -0
- package/src/components/popup/popup/opener.vue.d.ts +17 -0
- package/src/components/popup/popup/popup.vue.d.ts +38 -0
- package/src/components/popup/popup/types.d.ts +110 -0
- package/src/components/popup/popup/widgetInput.vue.d.ts +17 -0
- package/src/components/popup/popup.d.ts +7 -0
- package/src/components/popup/prompt/prompt.vue.d.ts +26 -0
- package/src/components/popup/prompt/types.d.ts +21 -0
- package/src/components/popup/worker.d.ts +1 -0
- package/src/components/project/project.d.ts +9 -0
- package/src/components/project/selectorCompetitors/composables.d.ts +3 -0
- package/src/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +14 -0
- package/src/components/project/selectorCompetitors/types.d.ts +30 -0
- package/src/components/project/selectorRegion/composables/compare.d.ts +12 -0
- package/src/components/project/selectorRegion/composables/selectRegion.d.ts +13 -0
- package/src/components/project/selectorRegion/composables/selectSearcher.d.ts +13 -0
- package/src/components/project/selectorRegion/composables/selectorRegion.d.ts +25 -0
- package/src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue.d.ts +6 -0
- package/src/components/project/selectorRegion/dialog_selectorRegions/types.d.ts +26 -0
- package/src/components/project/selectorRegion/selectorRegion.vue.d.ts +23 -0
- package/src/components/project/selectorRegion/types.d.ts +172 -0
- package/src/components/project/selectorRegion/utils/consts.d.ts +31 -0
- package/src/components/project/selectorRegion/utils/utils.d.ts +34 -0
- package/src/components/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +20 -0
- package/src/components/project/tagSelector/popupListItem/types.d.ts +33 -0
- package/src/components/project/tagSelector/popupOpener/popupOpener.vue.d.ts +27 -0
- package/src/components/project/tagSelector/popupOpener/types.d.ts +64 -0
- package/src/components/project/tagSelector/tagIcon/tagIcon.vue.d.ts +4 -0
- package/src/components/project/tagSelector/tagIcon/types.d.ts +21 -0
- package/src/components/project/tagSelector/tagSelector.vue.d.ts +37 -0
- package/src/components/project/tagSelector/tagsDefaults.d.ts +3 -0
- package/src/components/project/tagSelector/types.d.ts +140 -0
- package/src/components/project/tagSelector/utils/el.d.ts +19 -0
- package/src/components/project/tagSelector/utils/utils.d.ts +14 -0
- package/src/components/tabs/tabs/content.vue.d.ts +19 -0
- package/src/components/tabs/tabs/tab.vue.d.ts +19 -0
- package/src/components/tabs/tabs/tabs.vue.d.ts +21 -0
- package/src/components/tabs/tabs/types.d.ts +19 -0
- package/src/components/tabs/tabs.d.ts +3 -0
- package/src/components/tabsView/tabsView/menu.vue.d.ts +32 -0
- package/src/components/tabsView/tabsView/menuDelimeter.vue.d.ts +3 -0
- package/src/components/tabsView/tabsView/menuItem.vue.d.ts +23 -0
- package/src/components/tabsView/tabsView/menuTitle.vue.d.ts +20 -0
- package/src/components/tabsView/tabsView/store.d.ts +12 -0
- package/src/components/tabsView/tabsView/tabsView.vue.d.ts +34 -0
- package/src/components/tabsView/tabsView/types.d.ts +98 -0
- package/src/components/tabsView/tabsView/utils.d.ts +11 -0
- package/src/components/tabsView/tabsView.d.ts +3 -0
- package/src/core/app.d.ts +8 -0
- package/src/core/core/core.d.ts +113 -0
- package/src/core/core/events/resize.d.ts +16 -0
- package/src/core/core/events.d.ts +15 -0
- package/src/core/core/options.d.ts +47 -0
- package/src/core/core/preloaders.d.ts +19 -0
- package/src/core/core/state.d.ts +49 -0
- package/src/core/directives/data.d.ts +10 -0
- package/src/core/directives/focus.d.ts +10 -0
- package/src/core/directives/preloader.d.ts +8 -0
- package/src/core/directives/scrollIntoView.d.ts +3 -0
- package/src/core/directives/scrollShadow.d.ts +15 -0
- package/src/core/directives/sticky.d.ts +10 -0
- package/src/core/directives/swimUp.d.ts +15 -0
- package/src/core/directives/tooltip.d.ts +10 -0
- package/src/core/plugins/core.d.ts +60 -0
- package/src/core/plugins/i18n.d.ts +97 -0
- package/src/core/plugins/piniaTPA.d.ts +17 -0
- package/src/core/utils/check.d.ts +26 -0
- package/src/core/utils/clipboard.d.ts +12 -0
- package/src/core/utils/date.d.ts +70 -0
- package/src/core/utils/device.d.ts +50 -0
- package/src/core/utils/dom.d.ts +104 -0
- package/src/core/utils/image.d.ts +16 -0
- package/src/core/utils/keyboard.d.ts +8 -0
- package/src/core/utils/lodash.d.ts +6 -0
- package/src/core/utils/number.d.ts +17 -0
- package/src/core/utils/price.d.ts +10 -0
- package/src/core/utils/route.d.ts +33 -0
- package/src/core/utils/scroll.d.ts +32 -0
- package/src/core/utils/searchers.d.ts +38 -0
- package/src/core/utils/store/localStorage.d.ts +6 -0
- package/src/core/utils/store/plugin.d.ts +24 -0
- package/src/core/utils/store/store.d.ts +34 -0
- package/src/core/utils/store.d.ts +6 -0
- package/src/core/utils/string.d.ts +100 -0
- package/src/core/utils/system.d.ts +25 -0
- package/src/core/utils/url.d.ts +36 -0
- package/tabs/tabs.amd.js +2 -0
- package/tabs/tabs.amd.js.map +1 -0
- package/tabs/tabs.d.ts +2 -0
- package/tabs/tabs.js +81 -0
- package/tabs/tabs.js.map +1 -0
- package/tabsView/tabsView.amd.js +2 -0
- package/tabsView/tabsView.amd.js.map +1 -0
- package/tabsView/tabsView.d.ts +2 -0
- package/tabsView/tabsView.js +307 -0
- package/tabsView/tabsView.js.map +1 -0
- package/utils/check.amd.js +2 -0
- package/utils/check.amd.js.map +1 -0
- package/utils/check.d.ts +2 -0
- package/utils/check.js +26 -0
- package/utils/check.js.map +1 -0
- package/utils/clipboard.amd.js +6 -0
- package/utils/clipboard.amd.js.map +1 -0
- package/utils/clipboard.d.ts +2 -0
- package/utils/clipboard.js +35 -0
- package/utils/clipboard.js.map +1 -0
- package/utils/date.amd.js +2 -0
- package/utils/date.amd.js.map +1 -0
- package/utils/date.d.ts +2 -0
- package/utils/date.js +12 -0
- package/utils/date.js.map +1 -0
- package/utils/device.amd.js +2 -0
- package/utils/device.amd.js.map +1 -0
- package/utils/device.d.ts +2 -0
- package/utils/device.js +15 -0
- package/utils/device.js.map +1 -0
- package/utils/dom.amd.js +2 -0
- package/utils/dom.amd.js.map +1 -0
- package/utils/dom.d.ts +6 -0
- package/utils/dom.js +80 -0
- package/utils/dom.js.map +1 -0
- package/utils/image.amd.js +12 -0
- package/utils/image.amd.js.map +1 -0
- package/utils/image.d.ts +2 -0
- package/utils/image.js +23 -0
- package/utils/image.js.map +1 -0
- package/utils/keyboard.amd.js +2 -0
- package/utils/keyboard.amd.js.map +1 -0
- package/utils/keyboard.d.ts +2 -0
- package/utils/keyboard.js +12 -0
- package/utils/keyboard.js.map +1 -0
- package/utils/lodash.amd.js +2 -0
- package/utils/lodash.amd.js.map +1 -0
- package/utils/lodash.d.ts +2 -0
- package/utils/lodash.js +9 -0
- package/utils/lodash.js.map +1 -0
- package/utils/number.amd.js +2 -0
- package/utils/number.amd.js.map +1 -0
- package/utils/number.d.ts +2 -0
- package/utils/number.js +13 -0
- package/utils/number.js.map +1 -0
- package/utils/price.amd.js +2 -0
- package/utils/price.amd.js.map +1 -0
- package/utils/price.d.ts +2 -0
- package/utils/price.js +10 -0
- package/utils/price.js.map +1 -0
- package/utils/route.amd.js +2 -0
- package/utils/route.amd.js.map +1 -0
- package/utils/route.d.ts +2 -0
- package/utils/route.js +38 -0
- package/utils/route.js.map +1 -0
- package/utils/scroll.amd.js +2 -0
- package/utils/scroll.amd.js.map +1 -0
- package/utils/scroll.d.ts +2 -0
- package/utils/scroll.js +45 -0
- package/utils/scroll.js.map +1 -0
- package/utils/searchers.amd.js +2 -0
- package/utils/searchers.amd.js.map +1 -0
- package/utils/searchers.d.ts +2 -0
- package/utils/searchers.js +134 -0
- package/utils/searchers.js.map +1 -0
- package/utils/store.amd.js +2 -0
- package/utils/store.amd.js.map +1 -0
- package/utils/store.d.ts +2 -0
- package/utils/store.js +7 -0
- package/utils/store.js.map +1 -0
- package/utils/string.amd.js +2 -0
- package/utils/string.amd.js.map +1 -0
- package/utils/string.d.ts +2 -0
- package/utils/string.js +152 -0
- package/utils/string.js.map +1 -0
- package/utils/system.amd.js +2 -0
- package/utils/system.amd.js.map +1 -0
- package/utils/system.d.ts +2 -0
- package/utils/system.js +29 -0
- package/utils/system.js.map +1 -0
- package/utils/url.amd.js +3 -0
- package/utils/url.amd.js.map +1 -0
- package/utils/url.d.ts +2 -0
- package/utils/url.js +48 -0
- package/utils/url.js.map +1 -0
- package/web-types.json +130 -130
- package/.gitlab-ci/.gitlab-ci.yml +0 -26
- package/.gitlab-ci/common/install.yml +0 -21
- package/.gitlab-ci/common/lint.yml +0 -14
- package/.gitlab-ci/common/version.yml +0 -23
- package/.gitlab-ci/storybook/build.yml +0 -20
- package/.gitlab-ci/storybook/deploy.yml +0 -49
- package/.gitlab-ci/ui/build.yml +0 -13
- package/.gitlab-ci/ui/deploy.yml +0 -23
- package/.idea/.gitignore +0 -11
- package/.idea/codeStyles/Project.xml +0 -205
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/externalDependencies.xml +0 -6
- package/.idea/inspectionProfiles/Disabled.xml +0 -824
- package/.idea/inspectionProfiles/Project_Default.xml +0 -33
- package/.idea/php.xml +0 -19
- package/.idea/vcs.xml +0 -6
- package/.storybook/TopTheme.ts +0 -115
- package/.storybook/TopThemeManager.ts +0 -53
- package/.storybook/main.ts +0 -51
- package/.storybook/manager.ts +0 -25
- package/.storybook/preview-head.html +0 -21
- package/.storybook/preview.ts +0 -47
- package/.storybook/vue/coreDecorator.ts +0 -77
- package/.storybook/vue/vModelDecorator.ts +0 -46
- package/.versionrc.json +0 -16
- package/.vscode/extensions.json +0 -11
- package/.vscode/keybindings.example.json +0 -121
- package/.vscode/settings.json +0 -45
- package/CHANGELOG.md +0 -223
- package/NPM.md +0 -25
- package/PUBLISH.md +0 -63
- package/STORYBOOK.md +0 -48
- package/USE_IN_PROJECT.md +0 -32
- package/build/afterBuild.sh +0 -11
- package/build/cssModules.ts +0 -39
- package/build/genDocs.sh +0 -19
- package/build/plugin/amdFix.ts +0 -83
- package/build/plugin/autoloadCSS.ts +0 -155
- package/build/rollup.config.ts +0 -37
- package/public/README.md +0 -82
- package/public/icomoon/Read Me.txt +0 -7
- package/public/icomoon/Topvisor icons.json +0 -6260
- package/public/icomoon/demo-files/demo.css +0 -158
- package/public/icomoon/demo-files/demo.js +0 -30
- package/public/icomoon/demo.html +0 -3558
- package/public/icomoon/fonts/Topvisor-2.eot +0 -0
- package/public/icomoon/fonts/Topvisor-2.svg +0 -277
- package/public/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/public/icomoon/fonts/Topvisor-2.woff +0 -0
- package/public/icomoon/selection.json +0 -1
- package/public/icomoon/style.css +0 -780
- package/public/jquery-ui.min.css +0 -6
- package/public/require/css.amd.js +0 -12
- package/src/components/charts/charts.ts +0 -8
- package/src/components/charts/miniChart/miniChart.stories.ts +0 -67
- package/src/components/charts/miniChart/miniChart.ts +0 -110
- package/src/components/charts/miniChart/miniChart.vue +0 -158
- package/src/components/charts/miniChart/stories/README.md +0 -9
- package/src/components/charts/miniChart/stories/dummy.ts +0 -25
- package/src/components/charts/miniChart/styles/miniChart.css +0 -87
- package/src/components/charts/miniChart/utils/consts.ts +0 -9
- package/src/components/charts/miniCharts/miniCharts.stories.ts +0 -76
- package/src/components/charts/miniCharts/miniCharts.ts +0 -24
- package/src/components/charts/miniCharts/miniCharts.vue +0 -128
- package/src/components/charts/miniCharts/stories/README.md +0 -18
- package/src/components/charts/miniCharts/stories/dummy.ts +0 -70
- package/src/components/charts/miniCharts/stories/overview.vue +0 -139
- package/src/components/charts/miniCharts/styles/miniCharts.css +0 -32
- package/src/components/component.ts +0 -130
- package/src/components/core/core.mdx +0 -7
- package/src/components/core/notice/item/item.vue +0 -145
- package/src/components/core/notice/item/style.css +0 -70
- package/src/components/core/notice/item/types.ts +0 -71
- package/src/components/core/notice/notice.stories.ts +0 -105
- package/src/components/core/notice/notice.vue +0 -69
- package/src/components/core/notice/stories/README.md +0 -34
- package/src/components/core/notice/types.ts +0 -1
- package/src/components/core/notice/utils.ts +0 -115
- package/src/components/dialog/dialog/Dialog (code).mdx +0 -61
- package/src/components/dialog/dialog/composables/asyncDialogHandle.ts +0 -99
- package/src/components/dialog/dialog/composables/dialogHandle.ts +0 -176
- package/src/components/dialog/dialog/composables/types.ts +0 -12
- package/src/components/dialog/dialog/composables/utils.ts +0 -39
- package/src/components/dialog/dialog/dialog.stories.ts +0 -83
- package/src/components/dialog/dialog/dialog.vue +0 -74
- package/src/components/dialog/dialog/dialogs/dialogs.vue +0 -58
- package/src/components/dialog/dialog/page/page.vue +0 -86
- package/src/components/dialog/dialog/page/types.ts +0 -84
- package/src/components/dialog/dialog/page.stories.ts +0 -27
- package/src/components/dialog/dialog/pageComponent/pageComponent.vue +0 -57
- package/src/components/dialog/dialog/pageComponent/types.ts +0 -21
- package/src/components/dialog/dialog/pageComponent.stories.ts +0 -27
- package/src/components/dialog/dialog/stories/README.md +0 -117
- package/src/components/dialog/dialog/stories/autoload.ts +0 -12
- package/src/components/dialog/dialog/stories/dialog_example/dialog_example.vue +0 -73
- package/src/components/dialog/dialog/stories/dialog_example/pages/async.vue +0 -57
- package/src/components/dialog/dialog/stories/dialog_example/pages/default.vue +0 -64
- package/src/components/dialog/dialog/stories/dialog_example/pages/headerButtons.vue +0 -56
- package/src/components/dialog/dialog/stories/dialog_example/pages/utils.ts +0 -26
- package/src/components/dialog/dialog/stories/dialog_example/pages/withoutCache.vue +0 -64
- package/src/components/dialog/dialog/stories/page/README.md +0 -24
- package/src/components/dialog/dialog/stories/pageComponent/README.md +0 -12
- package/src/components/dialog/dialog/style/dialog.css +0 -316
- package/src/components/dialog/dialog/style/dialog.m.css +0 -40
- package/src/components/dialog/dialog/style/dialog.pc.css +0 -73
- package/src/components/dialog/dialog/style/modern/dialog.css +0 -12
- package/src/components/dialog/dialog/style/modern/dialog.pc.css +0 -3
- package/src/components/dialog/dialog/types.ts +0 -69
- package/src/components/dialog/dialog.ts +0 -7
- package/src/components/dialog/lib/types.ts +0 -26
- package/src/components/dialog/lib/utils.globalEvents.ts +0 -175
- package/src/components/dialog/lib/utils.ts +0 -525
- package/src/components/dialog/lib/worker.ts +0 -273
- package/src/components/forms/README.mdx +0 -10
- package/src/components/forms/avatar/avatar.stories.ts +0 -38
- package/src/components/forms/avatar/avatar.ts +0 -40
- package/src/components/forms/avatar/avatar.vue +0 -77
- package/src/components/forms/avatar/stories/overview.vue +0 -28
- package/src/components/forms/button/button.stories.ts +0 -118
- package/src/components/forms/button/button.vue +0 -111
- package/src/components/forms/button/stories/README.md +0 -9
- package/src/components/forms/button/stories/overview.vue +0 -33
- package/src/components/forms/button/style/button.css +0 -139
- package/src/components/forms/button/style/style-outline.css +0 -129
- package/src/components/forms/button/style/style-soft.css +0 -89
- package/src/components/forms/button/style/style-transparent.css +0 -39
- package/src/components/forms/button/types.ts +0 -66
- package/src/components/forms/checkbox/checkbox.stories.ts +0 -33
- package/src/components/forms/checkbox/checkbox.ts +0 -21
- package/src/components/forms/checkbox/checkbox.vue +0 -114
- package/src/components/forms/checkbox/stories/overview.vue +0 -171
- package/src/components/forms/controlLabel/controlLabel.stories.ts +0 -32
- package/src/components/forms/controlLabel/controlLabel.ts +0 -4
- package/src/components/forms/controlLabel/controlLabel.vue +0 -54
- package/src/components/forms/forms.ts +0 -40
- package/src/components/forms/helpers.ts +0 -11
- package/src/components/forms/hint/hint.stories.ts +0 -41
- package/src/components/forms/hint/hint.ts +0 -8
- package/src/components/forms/hint/hint.vue +0 -32
- package/src/components/forms/input/input.stories.ts +0 -32
- package/src/components/forms/input/input.ts +0 -47
- package/src/components/forms/input/input.vue +0 -189
- package/src/components/forms/input/stories/overview.vue +0 -61
- package/src/components/forms/inputDate/datepicker.css +0 -246
- package/src/components/forms/inputDate/datepicker.ts +0 -101
- package/src/components/forms/inputDate/inputDate.stories.ts +0 -41
- package/src/components/forms/inputDate/inputDate.ts +0 -5
- package/src/components/forms/inputDate/inputDate.vue +0 -133
- package/src/components/forms/inputDate/stories/overview.vue +0 -35
- package/src/components/forms/inputRange/inputRange.stories.ts +0 -53
- package/src/components/forms/inputRange/inputRange.ts +0 -3
- package/src/components/forms/inputRange/inputRange.vue +0 -39
- package/src/components/forms/inputRange/stories/overview.vue +0 -129
- package/src/components/forms/loadbar/loadbar.stories.ts +0 -17
- package/src/components/forms/loadbar/loadbar.vue +0 -37
- package/src/components/forms/radio/radio.stories.ts +0 -34
- package/src/components/forms/radio/radio.ts +0 -15
- package/src/components/forms/radio/radio.vue +0 -97
- package/src/components/forms/radio/stories/overview.vue +0 -79
- package/src/components/forms/select/select.stories.ts +0 -69
- package/src/components/forms/select/select.ts +0 -69
- package/src/components/forms/select/select.vue +0 -300
- package/src/components/forms/select/stories/exampleOptions.ts +0 -61
- package/src/components/forms/select/stories/overview.vue +0 -72
- package/src/components/forms/switcher/stories/overview.vue +0 -139
- package/src/components/forms/switcher/switcher.stories.ts +0 -33
- package/src/components/forms/switcher/switcher.ts +0 -22
- package/src/components/forms/switcher/switcher.vue +0 -118
- package/src/components/forms/textarea/stories/overview.vue +0 -62
- package/src/components/forms/textarea/textarea.stories.ts +0 -34
- package/src/components/forms/textarea/textarea.ts +0 -47
- package/src/components/forms/textarea/textarea.vue +0 -123
- package/src/components/formsExt/README.mdx +0 -5
- package/src/components/formsExt/editArea/editArea.stories.ts +0 -41
- package/src/components/formsExt/editArea/editArea.ts +0 -41
- package/src/components/formsExt/editArea/editArea.vue +0 -198
- package/src/components/formsExt/editArea/stories/README.md +0 -21
- package/src/components/formsExt/editArea/stories/overview.vue +0 -67
- package/src/components/formsExt/editInput/editInput.stories.ts +0 -36
- package/src/components/formsExt/editInput/editInput.ts +0 -20
- package/src/components/formsExt/editInput/editInput.vue +0 -54
- package/src/components/formsExt/editInput/stories/overview.vue +0 -54
- package/src/components/formsExt/formsExt.ts +0 -15
- package/src/components/formsExt/info/info.stories.ts +0 -35
- package/src/components/formsExt/info/info.vue +0 -84
- package/src/components/formsExt/info/stories/overview.vue +0 -29
- package/src/components/formsExt/info/types.ts +0 -25
- package/src/components/formsExt/menu/menu.stories.ts +0 -59
- package/src/components/formsExt/menu/menu.ts +0 -45
- package/src/components/formsExt/menu/menu.vue +0 -321
- package/src/components/formsExt/menu/stories/items.ts +0 -18
- package/src/components/formsExt/menu/stories/overview.vue +0 -52
- package/src/components/formsExt/navigationMenu/item.vue +0 -186
- package/src/components/formsExt/navigationMenu/navigationMenu.stories.ts +0 -37
- package/src/components/formsExt/navigationMenu/navigationMenu.ts +0 -28
- package/src/components/formsExt/navigationMenu/navigationMenu.vue +0 -40
- package/src/components/formsExt/navigationMenu/stories/items.ts +0 -116
- package/src/components/formsExt/radioGroup/radioGroup.stories.ts +0 -51
- package/src/components/formsExt/radioGroup/radioGroup.ts +0 -28
- package/src/components/formsExt/radioGroup/radioGroup.vue +0 -146
- package/src/components/formsExt/radioGroup/stories/overview.vue +0 -78
- package/src/components/formsExt/radioGroup/styles/top-scrollBar.css +0 -52
- package/src/components/formsExt/selector2/api.ts +0 -148
- package/src/components/formsExt/selector2/itemMulti.vue +0 -57
- package/src/components/formsExt/selector2/selector2.stories.ts +0 -48
- package/src/components/formsExt/selector2/selector2.ts +0 -145
- package/src/components/formsExt/selector2/selector2.vue +0 -389
- package/src/components/formsExt/selector2/stories/dummyAPIRequest.ts +0 -58
- package/src/components/formsExt/selector2/stories/overview.vue +0 -93
- package/src/components/helper.js +0 -10
- package/src/components/helpersStories.ts +0 -205
- package/src/components/layout/islandRows/islandRows.stories.ts +0 -139
- package/src/components/layout/islandRows/islandRows.vue +0 -53
- package/src/components/layout/islandRows/islandRowsRow/islandRowsRow.vue +0 -36
- package/src/components/layout/islandRows/islandRowsRow/types.ts +0 -1
- package/src/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue +0 -16
- package/src/components/layout/islandRows/stories/README.md +0 -8
- package/src/components/layout/islandRows/types.ts +0 -11
- package/src/components/layout/layout.ts +0 -11
- package/src/components/layout/rows/rows.stories.ts +0 -48
- package/src/components/layout/rows/rows.vue +0 -46
- package/src/components/layout/rows/stories/README.md +0 -10
- package/src/components/layout/rows/types.ts +0 -6
- package/src/components/popup/alert/alert.stories.ts +0 -71
- package/src/components/popup/alert/alert.ts +0 -11
- package/src/components/popup/alert/alert.vue +0 -46
- package/src/components/popup/alert/stories/overview.vue +0 -40
- package/src/components/popup/confirm/confirm.stories.ts +0 -75
- package/src/components/popup/confirm/confirm.ts +0 -26
- package/src/components/popup/confirm/confirm.vue +0 -75
- package/src/components/popup/confirm/stories/overview.vue +0 -62
- package/src/components/popup/lib/popup.globalEvents.ts +0 -239
- package/src/components/popup/lib/popup.ts +0 -790
- package/src/components/popup/lib/worker.globalEvents.ts +0 -97
- package/src/components/popup/lib/worker.ts +0 -286
- package/src/components/popup/popup/listItem.vue +0 -35
- package/src/components/popup/popup/opener.vue +0 -81
- package/src/components/popup/popup/popup.stories.ts +0 -74
- package/src/components/popup/popup/popup.ts +0 -120
- package/src/components/popup/popup/popup.vue +0 -168
- package/src/components/popup/popup/stories/README.md +0 -55
- package/src/components/popup/popup/stories/listItems.vue +0 -44
- package/src/components/popup/popup/stories/listSubItems.vue +0 -47
- package/src/components/popup/popup/stories/overview.vue +0 -210
- package/src/components/popup/popup/style/popup.css +0 -345
- package/src/components/popup/popup/style/popup.m.css +0 -72
- package/src/components/popup/popup/style/popup.pc.css +0 -26
- package/src/components/popup/popup/widgetInput.vue +0 -43
- package/src/components/popup/popup.ts +0 -17
- package/src/components/popup/prompt/prompt.stories.ts +0 -78
- package/src/components/popup/prompt/prompt.ts +0 -26
- package/src/components/popup/prompt/prompt.vue +0 -84
- package/src/components/popup/prompt/stories/overview.vue +0 -50
- package/src/components/popup/worker.ts +0 -1
- package/src/components/project/project.ts +0 -23
- package/src/components/project/selectorCompetitors/composables.ts +0 -21
- package/src/components/project/selectorCompetitors/selectorCompetitors.stories.ts +0 -33
- package/src/components/project/selectorCompetitors/selectorCompetitors.ts +0 -27
- package/src/components/project/selectorCompetitors/selectorCompetitors.vue +0 -75
- package/src/components/project/selectorCompetitors/stories/README.md +0 -20
- package/src/components/project/selectorCompetitors/stories/items.ts +0 -30
- package/src/components/project/selectorCompetitors/types/competitor.ts +0 -7
- package/src/components/project/selectorRegion/composables/compare.ts +0 -87
- package/src/components/project/selectorRegion/composables/selectRegion.ts +0 -147
- package/src/components/project/selectorRegion/composables/selectSearcher.ts +0 -64
- package/src/components/project/selectorRegion/composables/selectorRegion.ts +0 -167
- package/src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue +0 -190
- package/src/components/project/selectorRegion/dialog_selectorRegions/style.css +0 -49
- package/src/components/project/selectorRegion/dialog_selectorRegions/types.ts +0 -31
- package/src/components/project/selectorRegion/selectorRegion.stories.ts +0 -85
- package/src/components/project/selectorRegion/selectorRegion.ts +0 -204
- package/src/components/project/selectorRegion/selectorRegion.vue +0 -335
- package/src/components/project/selectorRegion/stories/README.md +0 -36
- package/src/components/project/selectorRegion/stories/searchers.ts +0 -77
- package/src/components/project/selectorRegion/styles/searcherColors.css +0 -41
- package/src/components/project/selectorRegion/utils/consts.ts +0 -73
- package/src/components/project/selectorRegion/utils/utils.ts +0 -167
- package/src/components/project/tagSelector/popupListItem/tagPopupListItem.vue +0 -209
- package/src/components/project/tagSelector/popupListItem/types.ts +0 -40
- package/src/components/project/tagSelector/popupOpener/popupOpener.vue +0 -145
- package/src/components/project/tagSelector/popupOpener/types.ts +0 -71
- package/src/components/project/tagSelector/stories/README.md +0 -62
- package/src/components/project/tagSelector/stories/overview.vue +0 -152
- package/src/components/project/tagSelector/tagIcon/tagIcon.vue +0 -97
- package/src/components/project/tagSelector/tagIcon/types.ts +0 -25
- package/src/components/project/tagSelector/tagSelector.stories.ts +0 -51
- package/src/components/project/tagSelector/tagSelector.vue +0 -359
- package/src/components/project/tagSelector/tagsDefaults.ts +0 -54
- package/src/components/project/tagSelector/types.ts +0 -159
- package/src/components/project/tagSelector/utils/el.ts +0 -151
- package/src/components/project/tagSelector/utils/utils.ts +0 -30
- package/src/components/tabs/tabs/content.vue +0 -24
- package/src/components/tabs/tabs/stories/README.md +0 -12
- package/src/components/tabs/tabs/tab.vue +0 -49
- package/src/components/tabs/tabs/tabs.stories.ts +0 -171
- package/src/components/tabs/tabs/tabs.ts +0 -22
- package/src/components/tabs/tabs/tabs.vue +0 -64
- package/src/components/tabs/tabs.ts +0 -9
- package/src/components/tabsView/tabsView/menu.vue +0 -291
- package/src/components/tabsView/tabsView/menuDelimeter.vue +0 -26
- package/src/components/tabsView/tabsView/menuItem.vue +0 -125
- package/src/components/tabsView/tabsView/menuTitle.vue +0 -46
- package/src/components/tabsView/tabsView/store.ts +0 -60
- package/src/components/tabsView/tabsView/stories/README.md +0 -22
- package/src/components/tabsView/tabsView/tabsView.stories.ts +0 -170
- package/src/components/tabsView/tabsView/tabsView.ts +0 -118
- package/src/components/tabsView/tabsView/tabsView.vue +0 -120
- package/src/components/tabsView/tabsView/utils.ts +0 -27
- package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuItem.stories.ts +0 -47
- package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuTitle.stories.ts +0 -43
- package/src/components/tabsView/tabsView.ts +0 -9
- package/src/components/types.ts +0 -3
- package/src/core/app.ts +0 -22
- package/src/core/core/core.mdx +0 -36
- package/src/core/core/core.ts +0 -287
- package/src/core/core/events/resize.ts +0 -47
- package/src/core/core/events.ts +0 -6
- package/src/core/core/jQuery.mdx +0 -41
- package/src/core/core/options.ts +0 -51
- package/src/core/core/preloaders.ts +0 -31
- package/src/core/core/state.ts +0 -61
- package/src/core/directives/data.mdx +0 -24
- package/src/core/directives/data.ts +0 -25
- package/src/core/directives/focus.mdx +0 -28
- package/src/core/directives/focus.ts +0 -73
- package/src/core/directives/scrollIntoView.mdx +0 -41
- package/src/core/directives/scrollIntoView.ts +0 -123
- package/src/core/directives/scrollShadow.mdx +0 -23
- package/src/core/directives/scrollShadow.ts +0 -27
- package/src/core/directives/sticky.mdx +0 -29
- package/src/core/directives/sticky.ts +0 -32
- package/src/core/directives/swimUp.mdx +0 -27
- package/src/core/directives/swimUp.ts +0 -95
- package/src/core/directives/tooltip.mdx +0 -13
- package/src/core/directives/tooltip.ts +0 -57
- package/src/core/icons/gallery.vue +0 -70
- package/src/core/icons/icons.mdx +0 -24
- package/src/core/icons/icons.stories.ts +0 -14
- package/src/core/plugins/core.ts +0 -131
- package/src/core/plugins/i18n.ts +0 -184
- package/src/core/plugins/piniaTPA.ts +0 -431
- package/src/core/plugins/plugins.mdx +0 -82
- package/src/core/styles/CSS Variables.stories.ts +0 -17
- package/src/core/styles/styles.mdx +0 -26
- package/src/core/theme/Variables.stories.ts +0 -16
- package/src/core/theme/theme.mdx +0 -117
- package/src/core/utils/References/Docs.mdx +0 -23
- package/src/core/utils/References/check/Docs.mdx +0 -15
- package/src/core/utils/References/check/functions/getDomainRegexp.mdx +0 -15
- package/src/core/utils/References/check/functions/isDomain.mdx +0 -21
- package/src/core/utils/References/check/functions/isEmail.mdx +0 -22
- package/src/core/utils/References/check/functions/isIp.mdx +0 -21
- package/src/core/utils/References/check/functions/validUrl.mdx +0 -22
- package/src/core/utils/References/clipboard/Docs.mdx +0 -11
- package/src/core/utils/References/clipboard/functions/setClipboard.mdx +0 -23
- package/src/core/utils/References/date/Docs.mdx +0 -17
- package/src/core/utils/References/date/functions/dateFormat.mdx +0 -28
- package/src/core/utils/References/date/functions/dateToString.mdx +0 -26
- package/src/core/utils/References/date/functions/dateUnformat.mdx +0 -22
- package/src/core/utils/References/date/functions/genDate.mdx +0 -26
- package/src/core/utils/References/date/functions/genDateMoscow.mdx +0 -22
- package/src/core/utils/References/date/functions/getDayOfWeek.mdx +0 -26
- package/src/core/utils/References/date/functions/stringToDate.mdx +0 -21
- package/src/core/utils/References/device/Docs.mdx +0 -21
- package/src/core/utils/References/device/functions/get$scroll.mdx +0 -15
- package/src/core/utils/References/device/functions/getCommandKeyLabel.mdx +0 -15
- package/src/core/utils/References/device/functions/getElsScroll.mdx +0 -15
- package/src/core/utils/References/device/functions/getOS.mdx +0 -17
- package/src/core/utils/References/device/functions/getOSAsync.mdx +0 -15
- package/src/core/utils/References/device/functions/getScrollTop.mdx +0 -15
- package/src/core/utils/References/device/functions/isApp.mdx +0 -15
- package/src/core/utils/References/device/functions/isMacOS.mdx +0 -15
- package/src/core/utils/References/device/functions/isMobile.mdx +0 -15
- package/src/core/utils/References/device/functions/isRetina.mdx +0 -15
- package/src/core/utils/References/device/functions/isSafari.mdx +0 -15
- package/src/core/utils/References/dom/Docs.mdx +0 -27
- package/src/core/utils/References/dom/functions/css.mdx +0 -24
- package/src/core/utils/References/dom/functions/genEl.mdx +0 -28
- package/src/core/utils/References/dom/functions/isVisible.mdx +0 -23
- package/src/core/utils/References/dom/functions/offset.mdx +0 -35
- package/src/core/utils/References/dom/functions/querySelectorAllArray.mdx +0 -22
- package/src/core/utils/References/dom/functions/querySelectorAllVisible.mdx +0 -22
- package/src/core/utils/References/dom/functions/querySelectorVisible.mdx +0 -22
- package/src/core/utils/References/dom/functions/querySelectorVisibleLast.mdx +0 -22
- package/src/core/utils/References/dom/functions/storage.mdx +0 -28
- package/src/core/utils/References/dom/functions/storageClear.mdx +0 -21
- package/src/core/utils/References/dom/functions/wrap.mdx +0 -22
- package/src/core/utils/References/dom/variables/default.mdx +0 -241
- package/src/core/utils/References/image/Docs.mdx +0 -12
- package/src/core/utils/References/image/functions/downloadImageFromString.mdx +0 -22
- package/src/core/utils/References/image/functions/genFaviconImgHtml.mdx +0 -22
- package/src/core/utils/References/keyboard/Docs.mdx +0 -11
- package/src/core/utils/References/keyboard/functions/invertKeyboardLayout.mdx +0 -21
- package/src/core/utils/References/lodash/Docs.mdx +0 -20
- package/src/core/utils/References/lodash/functions/cloneDeep.mdx +0 -29
- package/src/core/utils/References/lodash/functions/debounce.mdx +0 -76
- package/src/core/utils/References/lodash/functions/memoize.mdx +0 -26
- package/src/core/utils/References/lodash/functions/merge.mdx +0 -200
- package/src/core/utils/References/lodash/functions/throttle.mdx +0 -73
- package/src/core/utils/References/number/Docs.mdx +0 -11
- package/src/core/utils/References/number/functions/percentOfNumber.mdx +0 -26
- package/src/core/utils/References/price/Docs.mdx +0 -11
- package/src/core/utils/References/price/functions/genPrice.mdx +0 -28
- package/src/core/utils/References/route/Docs.mdx +0 -16
- package/src/core/utils/References/route/functions/delHash.mdx +0 -26
- package/src/core/utils/References/route/functions/genHash.mdx +0 -26
- package/src/core/utils/References/route/functions/getHash.mdx +0 -22
- package/src/core/utils/References/route/functions/historySetState.mdx +0 -31
- package/src/core/utils/References/route/functions/setHash.mdx +0 -26
- package/src/core/utils/References/route/functions/setHashs.mdx +0 -22
- package/src/core/utils/References/scroll/Docs.mdx +0 -14
- package/src/core/utils/References/scroll/functions/amountScrolled.mdx +0 -17
- package/src/core/utils/References/scroll/functions/connectScrollShadow.mdx +0 -28
- package/src/core/utils/References/scroll/functions/genHasScroll.mdx +0 -25
- package/src/core/utils/References/scroll/functions/getScrollPercent.mdx +0 -21
- package/src/core/utils/References/searchers/Docs.mdx +0 -19
- package/src/core/utils/References/searchers/functions/genVolumeLabel.mdx +0 -26
- package/src/core/utils/References/searchers/functions/getDeviceGIcon.mdx +0 -21
- package/src/core/utils/References/searchers/functions/getLangLabel.mdx +0 -22
- package/src/core/utils/References/searchers/functions/getSearcherGIcon.mdx +0 -21
- package/src/core/utils/References/searchers/functions/prepareVolumeType.mdx +0 -22
- package/src/core/utils/References/searchers/variables/searchersNames.mdx +0 -97
- package/src/core/utils/References/store/Docs.mdx +0 -18
- package/src/core/utils/References/store/functions/defineStore.mdx +0 -36
- package/src/core/utils/References/store/functions/useStore.mdx +0 -29
- package/src/core/utils/References/store/variables/plugin.mdx +0 -66
- package/src/core/utils/References/string/Docs.mdx +0 -26
- package/src/core/utils/References/string/functions/addCommasWhite.mdx +0 -21
- package/src/core/utils/References/string/functions/addLinkTags.mdx +0 -23
- package/src/core/utils/References/string/functions/camelToSnakeCase.mdx +0 -21
- package/src/core/utils/References/string/functions/ellipsis.mdx +0 -26
- package/src/core/utils/References/string/functions/genFlagLinkByCountryCode.mdx +0 -21
- package/src/core/utils/References/string/functions/genIntHash.mdx +0 -21
- package/src/core/utils/References/string/functions/getRandomHash.mdx +0 -21
- package/src/core/utils/References/string/functions/highlightHtml.mdx +0 -25
- package/src/core/utils/References/string/functions/htmlspecialchars.mdx +0 -21
- package/src/core/utils/References/string/functions/isUrl.mdx +0 -21
- package/src/core/utils/References/string/functions/nl2br.mdx +0 -21
- package/src/core/utils/References/string/functions/numberEnding.mdx +0 -28
- package/src/core/utils/References/string/functions/numberWithWord.mdx +0 -28
- package/src/core/utils/References/string/functions/rusToLatin.mdx +0 -21
- package/src/core/utils/References/string/functions/toCapitalize.mdx +0 -21
- package/src/core/utils/References/string/functions/toRoditPadej.mdx +0 -21
- package/src/core/utils/References/system/Docs.mdx +0 -13
- package/src/core/utils/References/system/functions/sleep.mdx +0 -21
- package/src/core/utils/References/system/functions/sleepWhile.mdx +0 -26
- package/src/core/utils/References/system/functions/waitWhile.mdx +0 -26
- package/src/core/utils/References/url/Docs.mdx +0 -17
- package/src/core/utils/References/url/functions/decode.mdx +0 -21
- package/src/core/utils/References/url/functions/encode.mdx +0 -21
- package/src/core/utils/References/url/functions/fromPuny.mdx +0 -23
- package/src/core/utils/References/url/functions/getHost.mdx +0 -21
- package/src/core/utils/References/url/functions/hostToLowerCase.mdx +0 -21
- package/src/core/utils/References/url/functions/normalize.mdx +0 -21
- package/src/core/utils/References/url/functions/toPuny.mdx +0 -23
- package/src/core/utils/check.ts +0 -88
- package/src/core/utils/clipboard.ts +0 -51
- package/src/core/utils/date.ts +0 -291
- package/src/core/utils/device.ts +0 -139
- package/src/core/utils/dom.ts +0 -182
- package/src/core/utils/image.ts +0 -46
- package/src/core/utils/keyboard.ts +0 -29
- package/src/core/utils/lodash.ts +0 -18
- package/src/core/utils/number.ts +0 -37
- package/src/core/utils/price.ts +0 -24
- package/src/core/utils/route.ts +0 -115
- package/src/core/utils/scroll.ts +0 -120
- package/src/core/utils/searchers.ts +0 -191
- package/src/core/utils/store/localStorage.ts +0 -56
- package/src/core/utils/store/plugin.ts +0 -50
- package/src/core/utils/store/store.ts +0 -77
- package/src/core/utils/store.ts +0 -7
- package/src/core/utils/string.ts +0 -317
- package/src/core/utils/system.ts +0 -72
- package/src/core/utils/url.ts +0 -138
- package/src/core/utils/utils.mdx +0 -6
- package/src/d.ts +0 -12
- package/src/icomoon.d.ts +0 -98
- package/src/resources/styles/core/components.css +0 -111
- package/src/resources/styles/core/core.ts +0 -11
- package/src/resources/styles/core/forms/clear.css +0 -20
- package/src/resources/styles/core/forms/controls.css +0 -20
- package/src/resources/styles/core/forms/focusable.css +0 -26
- package/src/resources/styles/core/forms/forms.css +0 -156
- package/src/resources/styles/core/icon.css +0 -58
- package/src/resources/styles/core/jquery.css +0 -1
- package/src/resources/styles/core/layout.css +0 -59
- package/src/resources/styles/core/modifiers/as.css +0 -9
- package/src/resources/styles/core/modifiers/ellipsis.css +0 -26
- package/src/resources/styles/core/modifiers/modifiers.css +0 -120
- package/src/resources/styles/core/modifiers/only.css +0 -19
- package/src/resources/styles/core/modifiers/scrollShadow.css +0 -50
- package/src/resources/styles/core/select.css +0 -15
- package/src/resources/styles/storybook.css +0 -11
- package/src/resources/styles/themes/dark/dark-layout.css +0 -47
- package/src/resources/styles/themes/dark/dark-positions.css +0 -66
- package/src/resources/styles/themes/dark/dark.css +0 -400
- package/src/resources/styles/themes/dark-positions.ts +0 -1
- package/src/resources/styles/themes/dark-th/dark-th-layout.css +0 -47
- package/src/resources/styles/themes/dark-th/dark-th-positions.css +0 -67
- package/src/resources/styles/themes/dark-th/dark-th.css +0 -400
- package/src/resources/styles/themes/dark-th-positions.ts +0 -1
- package/src/resources/styles/themes/dark-th.ts +0 -3
- package/src/resources/styles/themes/dark.ts +0 -3
- package/src/resources/styles/themes/light/light-layout.css +0 -47
- package/src/resources/styles/themes/light/light-positions.css +0 -66
- package/src/resources/styles/themes/light/light.css +0 -400
- package/src/resources/styles/themes/light-positions.ts +0 -1
- package/src/resources/styles/themes/light.ts +0 -3
- package/src/storybook/components/color.vue +0 -47
- package/src/storybook/components/cssVariables.vue +0 -195
- package/src/storybook/components/icomoon.ts +0 -40
- package/src/storybook/jquery.ts +0 -4
- package/src//320/221/321/213/321/201/321/202/321/200/321/213/320/271 /321/201/321/202/320/260/321/200/321/202.mdx" +0 -181
- package/src//320/230/320/275/321/204/320/276/321/200/320/274/320/260/321/206/320/270/321/217 /320/276 /321/201/320/261/320/276/321/200/320/272/320/265.mdx" +0 -12
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CHANGELOG.md.mdx" +0 -4
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS/FAQ.mdx" +0 -43
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/236/320/261/321/211/320/270/320/265 /320/274/320/276/320/264/320/270/321/204/320/270/320/272/320/260/321/202/320/276/321/200/321/213.mdx" +0 -155
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/237/320/265/321/200/320/265/320/274/320/265/320/275/320/275/321/213/320/265.mdx" +0 -35
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/237/321/200/320/265/320/264/320/277/321/200/320/276/321/206/320/265/321/201/321/201/320/276/321/200/321/213.mdx" +0 -15
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/240/320/265/320/272/320/276/320/274/320/265/320/275/320/264/320/260/321/206/320/270/320/270 /320/221/320/255/320/234.mdx" +0 -56
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/241/321/202/320/270/320/273/320/270.mdx" +0 -53
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/247/321/202/320/276 /321/202/320/260/320/272/320/276/320/265 css /320/274/320/276/320/264/321/203/320/273/321/214.mdx" +0 -55
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/PUBLISH.md.mdx" +0 -4
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/README.md.mdx" +0 -4
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/STORYBOOK.md.mdx" +0 -4
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/USE_IN_PROJECT.md.mdx" +0 -3
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/222/320/262/320/265/320/264/320/265/320/275/320/270/320/265 /320/262 NPM.md.mdx" +0 -4
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/224/320/276/320/277/320/276/320/273/320/275/320/270/321/202/320/265/320/273/321/214/320/275/320/260/321/217 /320/273/320/270/321/202/320/265/321/200/320/260/321/202/321/203/321/200/320/260.mdx" +0 -15
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/235/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/260 IDE.mdx" +0 -45
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/236/321/204/320/276/321/200/320/274/320/273/320/265/320/275/320/270/320/265 /320/272/320/276/320/264/320/260.mdx" +0 -31
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260.mdx" +0 -29
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213.mdx" +0 -41
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213//320/241/321/202/320/270/320/273/320/270 /320/272/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213.mdx" +0 -58
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI.mdx" +0 -11
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/243/321/202/320/270/320/273/320/270/321/202/321/213.mdx" +0 -5
- package/storybook-dev.sh +0 -14
- package/tsconfig.json +0 -91
- package/typedoc.json +0 -20
- package/vite.config.ts +0 -148
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.vue_vue_type_style_index_0_lang-bMtkdrEt.amd.js","sources":["../../src/components/formsExt/menu/menu.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, onUpdated, ref } from 'vue';\nimport type { Item, Props } from './types';\nimport Core from '@/core/core/core';\nimport { isSafari } from '@/core/utils/device';\nimport TopButton from '@/components/forms/button/button.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tstyling: 'default',\n});\n\nconst model = defineModel({\n\trequired: true,\n});\n\nconst el = ref();\n\n// валидация типа modelValue без возможности выбора нескольких значений (ожидается строка или число)\nif (!props.isMultiple && typeof (model.value) !== 'string' && typeof (model.value) !== 'number') {\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected String: ' + typeof (model.value));\n}\n\n// валидация типа modelValue с возможностью выбора нескольких значений (ожидается массив)\nif (props.isMultiple && !Array.isArray(model.value)) {\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected Array: ' + typeof (model.value));\n}\n\n/**\n * Для множественного выбора без пустого множества\n *\n * Если ничего не выбрано, присваиваем 1-ое значение\n */\nif (props.isMultiple && !props.canBeEmptyMultiple && Array.isArray(model.value) && !model.value.length && props.items[0]) {\n\tmodel.value = [props.items[0]?.href ?? props.items[0]?.value];\n}\n\nconst itemIsActive = (item: Item) => {\n\tif (!Array.isArray(model.value)) {\n\t\treturn item.value === model.value;\n\t}\n\n\treturn model.value.includes(item.value);\n};\n\n/**\n * Выбрать элемент\n * @param item\n * @param toggle - добавить или исключить элемент, для isMultiple\n */\nconst select = (item: Item, toggle = false) => {\n\tif (Array.isArray(model.value)) {\n\t\tlet modelNew = model.value.slice();\n\n\t\tif (toggle) {\n\t\t\tif (!modelNew.length) modelNew = props.items.map(item => item.value);\n\n\t\t\tconst index = modelNew.indexOf(item.value);\n\t\t\tif (index === -1) {\n\t\t\t\tmodelNew.push(item.value);\n\t\t\t} else {\n\t\t\t\tmodelNew.splice(index, 1);\n\t\t\t}\n\t\t} else {\n\t\t\tif (modelNew.length === 1 && modelNew[0] === item.value) {\n\t\t\t\tmodelNew = [];\n\t\t\t} else {\n\t\t\t\tmodelNew = [item.value];\n\t\t\t}\n\t\t}\n\n\t\tif (!props.canBeEmptyMultiple && !modelNew.length) modelNew = [item.value];\n\n\t\tmodel.value = modelNew;\n\n\t\treturn;\n\t}\n\n\tmodel.value = item.value;\n};\n\n// вертикальный скролл в горизонтальный скролл\nconst onWheel = (event: WheelEvent) => {\n\tif (el.value.scrollWidth <= el.value.offsetWidth) return;\n\tif (event.shiftKey) return;\n\tif (Math.abs(event.deltaY) < 50) return; // устройство с высокой точностью, например тачпад\n\n\tevent.preventDefault();\n\n\tconst delta = event.deltaY > 0 ? 30 : -30;\n\tel.value.scrollLeft = el.value.scrollLeft + delta;\n};\n\n/**\n * Замена стандартному scrollIntoView, который меняет скролл документа\n *\n * Выравнивание по ближнему краю элемента\n *\n * Выравнивается таким образом, чтобы был виден соседний элемент\n */\nconst scrollIntoView = (isSmooth = true) => {\n\tconst elBtn = el.value.querySelector('.top-active');\n\tif (!elBtn) return;\n\n\tconst gap = 24;\n\n\t// левая и правая координаты элемента\n\tconst leftMargin = elBtn.offsetLeft - el.value.offsetLeft - gap;\n\tconst rightMargin = elBtn.offsetLeft - el.value.offsetLeft + elBtn.clientWidth + gap;\n\n\t// левая и правая границы видимой части меню\n\tconst leftMarginParent = el.value.scrollLeft;\n\tconst rightMarginParent = el.value.clientWidth + el.value.scrollLeft;\n\n\tlet scrollLeft: number | undefined = undefined;\n\n\t// левую границу элемента к левой границе меню\n\tif (leftMargin < leftMarginParent) scrollLeft = leftMargin;\n\n\t// правую границу элемента к правой границе меню\n\tif (rightMargin > rightMarginParent) scrollLeft = rightMargin - el.value.clientWidth;\n\n\tif (scrollLeft !== undefined) {\n\t\tif (isSafari()) {\n\t\t\tCore.$?.(el.value).animate({ scrollLeft: scrollLeft }, isSmooth ? 200 : 0);\n\t\t} else {\n\t\t\tel.value.scrollTo({ left: scrollLeft, behavior: isSmooth ? 'smooth' : 'auto' });\n\t\t}\n\t}\n};\n\n/**\n * Выбрать все элементы в меню\n */\nconst selectAll = () => {\n\tif (!Array.isArray(model.value)) return;\n\n\tif (model.value.length === props.items.length) {\n\t\tmodel.value = [props.items[0].href ?? props.items[0].value];\n\t\treturn;\n\t}\n\n\tmodel.value = props.items.map(item => item.href ?? item.value);\n};\n\nonMounted(() => scrollIntoView(false));\nonUpdated(() => scrollIntoView(true));\n\n</script>\n\n<template>\n\t<div\n\t\tref=\"el\"\n\t\t:class=\"{\n\t\t\t'top-menu': true,\n\t\t\t['top-style_' + styling]: true,\n\t\t\t// ['top-unwrap-x']: styling === 'default',\n\t\t}\"\n\t\t@wheel=\"onWheel\"\n\t>\n\t\t<TopButton\n\t\t\tv-for=\"item in items\"\n\t\t\t:=\"item\"\n\t\t\tclass=\"top-menu_item\"\n\t\t\tcolor=\"theme\"\n\t\t\t@click=\"select(item, $event.ctrlKey || $event.metaKey)\"\n\t\t\t:isActive=\"itemIsActive(item)\"\n\t\t>\n\t\t\t<template #default v-if=\"item.content\">\n\t\t\t\t{{ item.content }}\n\t\t\t</template>\n\t\t</TopButton>\n\n\t\t<div\n\t\t\tv-if=\"Array.isArray(model) && selectAllItem\"\n\t\t\tclass=\"top-menu_selectAll\"\n\t\t>\n\t\t\t<TopButton\n\t\t\t\t:=\"selectAllItem\"\n\t\t\t\tclass=\"top-menu_item\"\n\t\t\t\tcolor=\"theme\"\n\t\t\t\tstyling=\"\"\n\t\t\t\t@click=\"selectAll()\"\n\t\t\t\t:isActive=\"model.length === items.length\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"selectAllItem.content\">\n\t\t\t\t\t{{ selectAllItem.content }}\n\t\t\t\t</template>\n\t\t\t</TopButton>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-menu {\n\t--scroll-thumb-color: var(--color-line-1);\n\t--scroll-thumb-color-hover: var(--color-line-2);\n\t--scroll-thumb-color-active: var(--color-line-3);\n\n\tmax-width: 100%;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: var(--top-gap-2);\n\toverflow-x: auto;\n\tscrollbar-width: none; /* firefox */\n\n\t/* предотвратить натинвые события браузера (назад / вперед) */\n\toverscroll-behavior-x: contain;\n}\n\n.top-menu::-webkit-scrollbar { display: none; }\n\n.top-menu .top-menu_item {\n\t--top-button-color: var(--color-text-2);\n\n\toutline-offset: -2px !important;\n\tmin-width: 0;\n\tmax-width: 200px;\n\tmargin: 0;\n\tflex-shrink: 0;\n}\n\n.top-menu .top-menu_item[data-top-icon] {\n\t--top-icon-color: var(--color-text-2);\n}\n\n.top-menu_selectAll {\n\tposition: sticky;\n\tright: 0;\n\tbackground: var(--color-layout-front-1);\n\tborder-left: 1px solid var(--color-line-1);\n\tpadding-left: var(--top-padding-1);\n\tbox-shadow: var(--color-layout-front-1) var(--top-padding-2) 0px;\n}\n\n/* style default */\n.top-menu.top-style_default .top-menu_item {\n\t--top-forms-radius: 0;\n\t--top-forms-border-color: transparent;\n\t--top-forms-border-width: 2px;\n\n\tfilter: none;\n\tbox-shadow: none;\n\tborder: none;\n\tborder-bottom: var(--top-forms-border-width) solid var(--top-forms-border-color);\n\tbackground: none;\n}\n\n.top-style_default > .top-menu_item > [data-top-badge] {\n\tmargin-top: 0;\n}\n\n.top-menu.top-style_default .top-menu_item:hover {\n\t--top-icon-color: var(--color-text-1);\n\t--top-button-color: var(--color-text-1);\n\t--top-forms-border-color: var(--color-line-2);\n}\n\n.top-menu.top-style_default .top-menu_item:active,\n.top-menu.top-style_default .top-menu_item.top-active {\n\t--top-icon-color: var(--color-text-primary);\n\t--top-button-color: var(--color-text-1);\n\t--top-forms-border-color: var(--color-line-primary-1);\n}\n\n.top-menu.top-style_default .top-menu_selectAll {\n\tpadding-left: var(--top-padding-2);\n}\n\n/* style bar */\n.top-menu.top-style_bar {\n\tborder-radius: var(--top-radius-3);\n\tborder: 1px solid var(--color-line-2);\n\tpadding: var(--top-padding-1);\n\tgap: 3px;\n}\n.top-menu.top-style_bar .top-menu_item {\n\t--top-button-background-color-hover: var(--color-layer-1);\n\t--top-button-background-color-active: var(--color-layer-2);\n\t--top-button-background-color-selected: var(--color-layer-primary-1);\n\n\tposition: relative;\n}\n\n.top-menu.top-style_bar .top-menu_item:hover {\n\t--top-icon-color: var(--color-text-1);\n\t--top-button-color: var(--color-text-1);\n}\n\n.top-menu.top-style_bar .top-menu_item.top-active {\n\t--top-icon-color: var(--color-text-primary);\n\t--top-button-color: var(--color-text-primary);\n}\n\n/* разделители кнопок в баре */\n.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after {\n\tcontent: \"\";\n\tbackground: var(--color-line-1-opacity);\n\twidth: 1px;\n\theight: 60%;\n\tdisplay: block;\n\tposition: absolute;\n\tleft: -2px;\n}\n.top-menu.top-style_bar .top-menu_item.top-active + .top-menu_item:after,\n.top-menu.top-style_bar .top-menu_item:hover + .top-menu_item:after {\n\tcontent: none !important;\n}\n\n/*\n.top-style_bar > .top-menu_item > [data-top-badge] {\n\tmargin-top: -3px;\n}\n*/\n\n/** TODO: .top-unwrap-x надо вынести глобально в UI или добавить в стили для storybook */\n/*\n.top-menu.top-unwrap-x {\n\tpadding-right: var(--top-unwrap-x);\n\tpadding-left: var(--top-unwrap-x);\n\tmargin-right: calc(0px - var(--top-unwrap-x));\n\tmargin-left: calc(0px - var(--top-unwrap-x));\n}\n*/\n</style>\n"],"names":["el","vue","props","model","itemIsActive","item","index","modelNew","onWheel","event","delta","scrollIntoView","isSmooth","leftMargin","elBtn","gap","rightMargin","leftMarginParent","rightMarginParent","scrollLeft","$event","select","_cache","selectAll"],"mappings":"ygBAeAA,EAAAC,EAAA,IAAA,EAGA,CAAAC,EAAA,YAAA,OAAAC,EAAA,OAAA,UAAA,OAAAA,EAAA,OAAA,oGAKAD,EAAA,YAAA,CAAA,MAAA,QAAAC,EAAA,KAAA,4FASAD,EAAA,YAAA,CAAAA,EAAA,oBAAA,MAAA,QAAAC,EAAA,KAAA,GAAA,CAAAA,EAAA,MAAA,QAAAD,EAAA,MAAA,CAAA,2FAIA,MAAAE,EAAAC,oDAEEA,EAAA,QAAAF,EAAA,2IAmBCG,IAAA,GACCC,EAAA,KAAAF,EAAA,KAAA,EAEAE,EAAA,OAAAD,EAAA,CAAA,CACD,MAEAC,EAAA,SAAA,GAAAA,EAAA,CAAA,IAAAF,EAAA,WAGCE,EAAA,CAAAF,EAAA,KAAA,EAIF,CAAAH,EAAA,oBAAA,CAAAK,EAAA,SAAAA,EAAA,CAAAF,EAAA,KAAA,GAEAF,EAAA,MAAAI,SAKDJ,EAAA,MAAAE,EAAA,KAAmB,EAIpBG,EAAAC,GAAA,IACCT,EAAA,MAAA,aAAAA,EAAA,MAAA,aACAS,EAAA,oFAMAT,EAAA,MAAA,WAAAA,EAAA,MAAA,WAAAU,CAA4C,EAU7CC,EAAA,CAAAC,EAAA,KAAA,8EAOCC,EAAAC,EAAA,WAAAd,EAAA,MAAA,WAAAe,EACAC,EAAAF,EAAA,WAAAd,EAAA,MAAA,WAAAc,EAAA,YAAAC,EAGAE,EAAAjB,EAAA,MAAA,WACAkB,EAAAlB,EAAA,MAAA,YAAAA,EAAA,MAAA,iBAKAa,EAAAI,IAAAE,EAAAN,GAGAG,EAAAE,IAAAC,EAAAH,EAAAhB,EAAA,MAAA,aAEAmB,IAAA,gGAIEnB,EAAA,MAAA,SAAA,CAAA,KAAAmB,EAAA,SAAAP,EAAA,SAAA,MAAA,CAAA,EAEF,mCASA,IAAAT,EAAA,MAAA,SAAAD,EAAA,MAAA,OAAA,4FAK6D,EAG9D,OAAAD,EAAA,UAAA,IAAAU,EAAA,EAAA,CAAA,EACAV,EAAA,UAAA,IAAAU,EAAA,EAAA,CAAA,wIAO2D,CAAA,WAKxD,EAAA,2LAMM,QAAAS,GAAAC,EAAAhB,EAAAe,EAAA,SAAAA,EAAA,OAAA,EAC+C,SAAAhB,EAAAC,CAAA,mDAG1C,GAAAJ,EAAA,QAAA,IAAA,kDACK,CAAA,uPAYP,QAAAqB,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAF,GAAAG,EAAA,2GAIG,GAAAtB,EAAA,QAAA,IAAA,gEACc,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
define(["require","exports","vue","./forms-D4uFd45i.amd","../utils/string.amd","../require/css.amd!../assets/notice.css"],(function(q,T,e,m,C){"use strict";if(typeof e>"u")var e=window.Vue;const _=300,c=e.reactive(new Map),y=(o,s,t)=>"top-notice_"+C.genIntHash(o+s+JSON.stringify(t)),M=(o,s="info",t)=>{let i="";o=String(o);const d=y(o,s,t);if(t!=null&&t.title)i=t.title;else{const u=o.split(`
|
|
2
|
+
`);u.length&&(i=String(u.shift()),o=u.join(`
|
|
3
|
+
`))}const n=c.get(d);if(n){L(n);return}const a={id:d,title:i,text:o,style:s,buttonsProps:t==null?void 0:t.buttonsProps,metaText:t==null?void 0:t.metaText,isSafeHTML:t==null?void 0:t.isSafeHTML,selectToClose:t==null?void 0:t.selectToClose,onClose:t==null?void 0:t.onClose};if(c.set(a.id,a),c.size>5){const[u,g]=[...c].at(0)||[];g&&v(g)}m.Core.state.isMobile&&$("input").one("click",()=>v(a))},L=o=>{o.hightlight=!0,setTimeout(()=>o.hightlight=!1,_)},v=o=>{o.forceClosed=!0,setTimeout(()=>{var s;(s=o.onClose)==null||s.call(o),c.delete(o.id)},_)},k=o=>{const s="hacking was detected";return o=o.replace(/<script/g,s),o=o.replace(/<img/g,s),o=o.replace(/<iframe/g,s),o=o.replace(/javascript:/g,s),o=o.replace(/<[^>]+ (@|on)\w+=[^>]+>?/g,s),o},H={class:"top-notice_itemTextWrapper"},b=["innerHTML"],S=["innerHTML"],w={key:0,class:"top-notice_itemButtons"},E=["innerHTML"],N=["title"],P=e.defineComponent({__name:"item",props:{id:{},title:{},text:{},style:{},metaText:{},buttonsProps:{},isSafeHTML:{type:Boolean},hightlight:{type:Boolean},selectToClose:{type:Boolean,default:!0},forceClosed:{type:Boolean}},emits:["close"],setup(o,{emit:s}){const t=o,i=s,d=e.ref(!1);setTimeout(()=>d.value=!0,10);const n=e.ref(!1),a=e.ref("right"),u=e.computed(()=>{let l=t.title.replace(/ {2}/g," ");return t.isSafeHTML||(l=k(l)),l}),g=e.computed(()=>{let l=C.nl2br(t.text);return l=l.replace(/ {2}/g," "),t.isSafeHTML||(l=k(l)),l}),h=l=>{n.value=!0,l&&(a.value=l),setTimeout(()=>i("close"),_)},z=l=>{if(!t.selectToClose)return;const{tagName:r}=l.target;r==="A"&&h(),r==="BUTTON"&&h()},j={mounted:l=>{if(!m.Core.state.isMobile||!m.Core.$||!m.Core.$.ui.draggable)return;let r="right";m.Core.$(l).draggable({revert:!1,axis:"x",drag:(p,f)=>{r=f.position.left>0?"right":"left"},stop:(p,f)=>{h(r)}})}};return(l,r)=>{var p;const B=e.resolveComponent("TopButton");return e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["top-notice_item",{["top-notice_item-"+l.style]:!0,"top-notice_item-hightlight":l.hightlight,"top-notice_item-showed":d.value,"top-notice_item-closed":n.value||l.forceClosed,["top-notice_item-closed_"+a.value]:n.value}]),onClick:z},[e.createElementVNode("div",H,[u.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-notice_itemTitle",innerHTML:u.value},null,8,b)):e.createCommentVNode("",!0),g.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"top-notice_itemText",innerHTML:g.value},null,8,S)):e.createCommentVNode("",!0)]),(p=l.buttonsProps)!=null&&p.length?(e.openBlock(),e.createElementBlock("div",w,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.buttonsProps,f=>(e.openBlock(),e.createBlock(B,e.mergeProps({class:"top-notice_itemButton",size:"s"},{ref_for:!0},f,{title:f.title,innerHTML:f.default,onClick:r[0]||(r[0]=D=>h())}),null,16,["title","innerHTML"]))),256))])):e.createCommentVNode("",!0),l.metaText?(e.openBlock(),e.createElementBlock("div",{key:1,class:"top-notice_itemMetaText",innerHTML:l.metaText},null,8,E)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"top-notice_itemClose","data-top-icon":"",title:l.$i18n.Common.Close,onClick:r[1]||(r[1]=()=>h())},null,8,N)],2)),[[j]])}}}),V={class:"top-notice"},I=e.defineComponent({__name:"notice",setup(o){const s=t=>{var i;(i=t.onClose)==null||i.call(t),c.delete(t.id)};return(t,i)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",V,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),([d,n])=>(e.openBlock(),e.createBlock(P,{key:n.id,id:n.id,title:n.title,text:n.text,style:e.normalizeStyle(n.style),buttonsProps:n.buttonsProps,metaText:n.metaText,isSafeHTML:n.isSafeHTML,forceClosed:n.forceClosed,hightlight:n.hightlight,onClose:a=>s(n)},null,8,["id","title","text","style","buttonsProps","metaText","isSafeHTML","forceClosed","hightlight","onClose"]))),128))])]))}});T.default=I,T.show=M,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})}));
|
|
4
|
+
//# sourceMappingURL=notice-7-xEtFXT.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notice-7-xEtFXT.amd.js","sources":["../../src/components/core/notice/utils.ts","../../src/components/core/notice/item/item.vue","../../src/components/core/notice/notice.vue"],"sourcesContent":["import { reactive } from 'vue';\nimport type { Props as ItemProps, Props, Style } from '@/components/core/notice/item/types';\nimport Core from '@/core/core/core';\nimport { genIntHash } from '@/core/utils/string';\n\nexport const transitionDuration = 300;\n\nexport type Item = Props & { onClose?: Function };\n\nexport const itemById = reactive(new Map<string, Item>());\n\nconst genItemId = (text: ItemProps['text'], style: ItemProps['style'], options?: Options) => {\n\treturn 'top-notice_' + genIntHash(text + style + JSON.stringify(options));\n};\n\nexport type Options = {\n\ttitle?: ItemProps['title'],\n\tmetaText?: ItemProps['metaText'],\n\tbuttonsProps?: ItemProps['buttonsProps'],\n\tisSafeHTML?: ItemProps['isSafeHTML'],\n\tselectToClose?: ItemProps['selectToClose'],\n\tonClose?: Function\n}\n\n/**\n * Показать сообщением в стиле push уведомления\n *\n * title будет получен из первой строки text\n *\n * Если в options указан title, он будет взят оттуда\n */\nexport const show = (text: string, style: Style = 'info', options?: Options) => {\n\tlet title = '';\n\n\ttext = String(text);\n\n\tconst id = genItemId(text, style, options);\n\n\tif (options?.title) {\n\t\ttitle = options.title;\n\t} else {\n\t\tconst chunks = text.split('\\n');\n\n\t\tif (chunks.length) {\n\t\t\ttitle = String(chunks.shift());\n\t\t\ttext = chunks.join('\\n');\n\t\t}\n\t}\n\n\tconst itemExists = itemById.get(id);\n\tif (itemExists) {\n\t\thightlight(itemExists);\n\n\t\treturn;\n\t}\n\n\tconst item: Item = {\n\t\tid,\n\t\ttitle,\n\t\ttext,\n\t\tstyle,\n\t\tbuttonsProps: options?.buttonsProps,\n\t\tmetaText: options?.metaText,\n\t\tisSafeHTML: options?.isSafeHTML,\n\t\tselectToClose: options?.selectToClose,\n\t\tonClose: options?.onClose,\n\t};\n\n\titemById.set(item.id, item);\n\n\tif (itemById.size > 5) {\n\t\tconst [_firstId, firstItem] = [...itemById].at(0) || [];\n\t\tif (firstItem) close(firstItem);\n\t}\n\n\t/**\n\t * Автозакрытие ошибок форм\n\t *\n\t * Добавляет\n\t */\n\tif (Core.state.isMobile) {\n\t\t$('input').one('click', () => close(item));\n\t}\n};\n\nconst hightlight = (item: Item) => {\n\titem.hightlight = true;\n\n\tsetTimeout(() => item.hightlight = false, transitionDuration);\n};\n\nconst close = (item: Item) => {\n\titem.forceClosed = true;\n\n\tsetTimeout(() => {\n\t\titem.onClose?.();\n\n\t\titemById.delete(item.id);\n\t}, transitionDuration);\n};\n\n/**\n * Убрать подозрительный html код\n */\nexport const prepareText = (text: string) => {\n\tconst textNoSafety = 'hacking was detected';\n\n\ttext = text.replace(/<script/g, textNoSafety);\n\ttext = text.replace(/<img/g, textNoSafety);\n\ttext = text.replace(/<iframe/g, textNoSafety);\n\ttext = text.replace(/javascript:/g, textNoSafety);\n\ttext = text.replace(/<[^>]+ (@|on)\\w+=[^>]+>?/g, textNoSafety);\n\n\treturn text;\n};\n","<script setup lang=\"ts\">\nimport { computed, ref, withDefaults } from 'vue';\n\nimport Core from '@/core/core/core';\nimport { nl2br } from '@/core/utils/string';\n\nimport type { Emits, Props } from './types';\nimport { prepareText, transitionDuration } from '@/components/core/notice/utils';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tselectToClose: true,\n});\n\nconst emit = defineEmits<Emits>();\n\n// анимация появления\nconst showed = ref(false);\nsetTimeout(() => showed.value = true, 10);\n\n// анимация закрытия\nconst closed = ref(false);\nconst closedDirection = ref<'top' | 'right' | 'bottom' | 'left'>('right');\n\nconst title = computed(() => {\n\tlet res = props.title.replace(/ {2}/g, ' ');\n\n\tif (!props.isSafeHTML) res = prepareText(res);\n\n\treturn res;\n});\n\nconst text = computed(() => {\n\tlet res = nl2br(props.text);\n\n\tres = res.replace(/ {2}/g, ' ');\n\n\tif (!props.isSafeHTML) res = prepareText(res);\n\n\treturn res;\n});\n\nconst close = (direction?: typeof closedDirection.value) => {\n\tclosed.value = true;\n\n\tif (direction) {\n\t\tclosedDirection.value = direction;\n\t}\n\n\tsetTimeout(() => emit('close'), transitionDuration);\n};\n\nconst onClick = (e: MouseEvent) => {\n\tif (!props.selectToClose) return;\n\n\tconst { tagName } = e.target as HTMLElement;\n\n\tif (tagName === 'A') close();\n\tif (tagName === 'BUTTON') close();\n};\n\nconst vSwipe = {\n\tmounted: (el: HTMLElement) => {\n\t\tif (!Core.state.isMobile) return;\n\n\t\tif (!Core.$ || !Core.$.ui['draggable']) return;\n\n\t\tlet direction: typeof closedDirection.value = 'right';\n\n\t\tlet axis = 'x';\n\t\t// if (getOS() === 'iOS') axis = 'y';\n\n\t\tCore.$(el).draggable({\n\t\t\trevert: false,\n\t\t\taxis,\n\t\t\tdrag: (_e, ui) => {\n\t\t\t\tif (axis == 'x') {\n\t\t\t\t\tdirection = ui.position.left > 0 ? 'right' : 'left';\n\t\t\t\t} else {\n\t\t\t\t\tdirection = ui.position.top > 0 ? 'bottom' : 'top';\n\t\t\t\t}\n\t\t\t},\n\t\t\tstop: (_e, _ui) => {\n\t\t\t\tclose(direction);\n\t\t\t},\n\t\t});\n\t},\n};\n\n// const vSwipe = {\n// \tmounted: (el: HTMLElement) => {\n// \t\tconst { distanceX, direction } = usePointerSwipe(el, {\n// \t\t\tdisableTextSelect: true,\n// \t\t\tonSwipe(e: PointerEvent) {\n// \t\t\t\tleft.value = -distanceX.value + 'px';\n// \t\t\t},\n// \t\t\tonSwipeEnd: (_e, direction) => {\n// \t\t\t\tclose(direction);\n// \t\t\t},\n// \t\t});\n// \t},\n// };\n</script>\n\n<template>\n\t<div\n\t\tclass=\"top-notice_item\"\n\t\t:class=\"{\n\t\t\t['top-notice_item-' + style]: true,\n\t\t\t'top-notice_item-hightlight': hightlight,\n\t\t\t'top-notice_item-showed': showed,\n\t\t\t'top-notice_item-closed': closed || forceClosed,\n\t\t\t['top-notice_item-closed_' + closedDirection]: closed,\n\t\t}\"\n\t\t@click=\"onClick\"\n\t\tv-swipe\n\t>\n\t\t<div class=\"top-notice_itemTextWrapper\">\n\t\t\t<div v-if=\"title\" class=\"top-notice_itemTitle\" v-html=\"title\"></div>\n\t\t\t<div v-if=\"text\" class=\"top-notice_itemText\" v-html=\"text\"></div>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"buttonsProps?.length\"\n\t\t\tclass=\"top-notice_itemButtons\"\n\t\t>\n\t\t\t<TopButton\n\t\t\t\tv-for=\"buttonProps in buttonsProps\"\n\t\t\t\tclass=\"top-notice_itemButton\"\n\t\t\t\tsize=\"s\"\n\t\t\t\t:=\"buttonProps\"\n\t\t\t\t:title=\"buttonProps.title\"\n\t\t\t\tv-html=\"buttonProps.default\"\n\t\t\t\t@click=\"close()\"\n\t\t\t/>\n\t\t</div>\n\n\t\t<div v-if=\"metaText\" class=\"top-notice_itemMetaText\" v-html=\"metaText\"></div>\n\n\t\t<div\n\t\t\tclass=\"top-notice_itemClose\"\n\t\t\tdata-top-icon=\"\"\n\t\t\t:title=\"$i18n.Common.Close\"\n\t\t\t@click=\"() => close()\"\n\t\t></div>\n\t</div>\n</template>\n\n<style>\n@import \"style.css\";\n</style>\n","<!-- performance all in one file component, для Core.notice() -->\n<script lang=\"ts\">\nexport { show } from './utils';\n</script>\n\n<script setup lang=\"ts\">\nimport type { Item } from './utils';\nimport { itemById } from './utils';\n\nimport type { Props } from './types';\nimport TopNoticeItem from './item/item.vue';\n\ndefineProps<Props>();\n\nconst onCloseItem = (item: Item) => {\n\titem.onClose?.();\n\n\titemById.delete(item.id);\n};\n</script>\n\n<template>\n\t<teleport to=\"body\">\n\t\t<div class=\"top-notice\">\n\t\t\t<TopNoticeItem\n\t\t\t\tv-for=\"[_index, item] in itemById\"\n\t\t\t\t:key=\"item.id\"\n\t\t\t\t:id=\"item.id\"\n\t\t\t\t:title=\"item.title\"\n\t\t\t\t:text=\"item.text\"\n\t\t\t\t:style=\"item.style\"\n\t\t\t\t:buttonsProps=\"item.buttonsProps\"\n\t\t\t\t:metaText=\"item.metaText\"\n\t\t\t\t:isSafeHTML=\"item.isSafeHTML\"\n\t\t\t\t:forceClosed=\"item.forceClosed\"\n\t\t\t\t:hightlight=\"item.hightlight\"\n\t\t\t\t@close=\"onCloseItem(item)\"\n\t\t\t/>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n:root {\n\t--top-notice-top: var(--top-padding-4);\n\t--top-notice-right: var(--top-padding-4);\n}\n\n.top-notice {\n\twidth: 400px;\n\tfont-size: 14px;\n\tposition: fixed; top: var(--top-notice-top); right: var(--top-notice-right);\n\tz-index: 1000010;\n\tdisplay: flex; flex-direction: column-reverse; gap: var(--top-gap-2);\n}\n\n.top-notice ul {\n\tpadding: 0 0 0 var(--top-padding-5);\n}\n\n@media only screen and (max-width: 600px) {\n\t:root {\n\t\t--top-notice-top: var(--top-padding-4);\n\t\t--top-notice-right: var(--top-padding-4);\n\t}\n\n\t.top-notice { width: auto; left: var(--top-notice-right); }\n}\n</style>\n"],"names":["itemById","vue","utils_string","text","style","options","show","title","chunks","id","_firstId","firstItem","close","forms","item","hightlight","prepareText","showed","closed","closedDirection","res","props","direction","onClick","e","tagName","el","_e","ui","_ui","_ctx","_hoisted_2","_hoisted_3","buttonProps","_cache","$event","metaText","_hoisted_6","onCloseItem","_hoisted_1"],"mappings":"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"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { Core as N } from "../core/app.js";
|
|
2
|
+
import { reactive as z, defineComponent as b, ref as C, computed as S, resolveComponent as D, withDirectives as E, createElementBlock as u, openBlock as i, normalizeClass as j, createElementVNode as v, createCommentVNode as _, Fragment as B, renderList as w, createBlock as M, mergeProps as O, Teleport as V, unref as A, normalizeStyle as F } from "vue";
|
|
3
|
+
import { C as T } from "./forms-CRHjU2Mj.es.js";
|
|
4
|
+
import { genIntHash as J, nl2br as U } from "../utils/string.js";
|
|
5
|
+
const x = ["../assets/notice.css"].map((e) => import.meta.resolve(e));
|
|
6
|
+
N.insertCSSLinkToPage(x, !0);
|
|
7
|
+
const y = 300, d = z(/* @__PURE__ */ new Map()), W = (e, l, t) => "top-notice_" + J(e + l + JSON.stringify(t)), ie = (e, l = "info", t) => {
|
|
8
|
+
let r = "";
|
|
9
|
+
e = String(e);
|
|
10
|
+
const f = W(e, l, t);
|
|
11
|
+
if (t != null && t.title)
|
|
12
|
+
r = t.title;
|
|
13
|
+
else {
|
|
14
|
+
const c = e.split(`
|
|
15
|
+
`);
|
|
16
|
+
c.length && (r = String(c.shift()), e = c.join(`
|
|
17
|
+
`));
|
|
18
|
+
}
|
|
19
|
+
const o = d.get(f);
|
|
20
|
+
if (o) {
|
|
21
|
+
q(o);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const a = {
|
|
25
|
+
id: f,
|
|
26
|
+
title: r,
|
|
27
|
+
text: e,
|
|
28
|
+
style: l,
|
|
29
|
+
buttonsProps: t == null ? void 0 : t.buttonsProps,
|
|
30
|
+
metaText: t == null ? void 0 : t.metaText,
|
|
31
|
+
isSafeHTML: t == null ? void 0 : t.isSafeHTML,
|
|
32
|
+
selectToClose: t == null ? void 0 : t.selectToClose,
|
|
33
|
+
onClose: t == null ? void 0 : t.onClose
|
|
34
|
+
};
|
|
35
|
+
if (d.set(a.id, a), d.size > 5) {
|
|
36
|
+
const [c, m] = [...d].at(0) || [];
|
|
37
|
+
m && H(m);
|
|
38
|
+
}
|
|
39
|
+
T.state.isMobile && $("input").one("click", () => H(a));
|
|
40
|
+
}, q = (e) => {
|
|
41
|
+
e.hightlight = !0, setTimeout(() => e.hightlight = !1, y);
|
|
42
|
+
}, H = (e) => {
|
|
43
|
+
e.forceClosed = !0, setTimeout(() => {
|
|
44
|
+
var l;
|
|
45
|
+
(l = e.onClose) == null || l.call(e), d.delete(e.id);
|
|
46
|
+
}, y);
|
|
47
|
+
}, k = (e) => {
|
|
48
|
+
const l = "hacking was detected";
|
|
49
|
+
return e = e.replace(/<script/g, l), e = e.replace(/<img/g, l), e = e.replace(/<iframe/g, l), e = e.replace(/javascript:/g, l), e = e.replace(/<[^>]+ (@|on)\w+=[^>]+>?/g, l), e;
|
|
50
|
+
}, G = { class: "top-notice_itemTextWrapper" }, K = ["innerHTML"], Q = ["innerHTML"], R = {
|
|
51
|
+
key: 0,
|
|
52
|
+
class: "top-notice_itemButtons"
|
|
53
|
+
}, X = ["innerHTML"], Y = ["title"], Z = /* @__PURE__ */ b({
|
|
54
|
+
__name: "item",
|
|
55
|
+
props: {
|
|
56
|
+
id: {},
|
|
57
|
+
title: {},
|
|
58
|
+
text: {},
|
|
59
|
+
style: {},
|
|
60
|
+
metaText: {},
|
|
61
|
+
buttonsProps: {},
|
|
62
|
+
isSafeHTML: { type: Boolean },
|
|
63
|
+
hightlight: { type: Boolean },
|
|
64
|
+
selectToClose: { type: Boolean, default: !0 },
|
|
65
|
+
forceClosed: { type: Boolean }
|
|
66
|
+
},
|
|
67
|
+
emits: ["close"],
|
|
68
|
+
setup(e, { emit: l }) {
|
|
69
|
+
const t = e, r = l, f = C(!1);
|
|
70
|
+
setTimeout(() => f.value = !0, 10);
|
|
71
|
+
const o = C(!1), a = C("right"), c = S(() => {
|
|
72
|
+
let s = t.title.replace(/ {2}/g, " ");
|
|
73
|
+
return t.isSafeHTML || (s = k(s)), s;
|
|
74
|
+
}), m = S(() => {
|
|
75
|
+
let s = U(t.text);
|
|
76
|
+
return s = s.replace(/ {2}/g, " "), t.isSafeHTML || (s = k(s)), s;
|
|
77
|
+
}), h = (s) => {
|
|
78
|
+
o.value = !0, s && (a.value = s), setTimeout(() => r("close"), y);
|
|
79
|
+
}, P = (s) => {
|
|
80
|
+
if (!t.selectToClose) return;
|
|
81
|
+
const { tagName: n } = s.target;
|
|
82
|
+
n === "A" && h(), n === "BUTTON" && h();
|
|
83
|
+
}, I = {
|
|
84
|
+
mounted: (s) => {
|
|
85
|
+
if (!T.state.isMobile || !T.$ || !T.$.ui.draggable) return;
|
|
86
|
+
let n = "right";
|
|
87
|
+
T.$(s).draggable({
|
|
88
|
+
revert: !1,
|
|
89
|
+
axis: "x",
|
|
90
|
+
drag: (p, g) => {
|
|
91
|
+
n = g.position.left > 0 ? "right" : "left";
|
|
92
|
+
},
|
|
93
|
+
stop: (p, g) => {
|
|
94
|
+
h(n);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
return (s, n) => {
|
|
100
|
+
var p;
|
|
101
|
+
const L = D("TopButton");
|
|
102
|
+
return E((i(), u("div", {
|
|
103
|
+
class: j(["top-notice_item", {
|
|
104
|
+
["top-notice_item-" + s.style]: !0,
|
|
105
|
+
"top-notice_item-hightlight": s.hightlight,
|
|
106
|
+
"top-notice_item-showed": f.value,
|
|
107
|
+
"top-notice_item-closed": o.value || s.forceClosed,
|
|
108
|
+
["top-notice_item-closed_" + a.value]: o.value
|
|
109
|
+
}]),
|
|
110
|
+
onClick: P
|
|
111
|
+
}, [
|
|
112
|
+
v("div", G, [
|
|
113
|
+
c.value ? (i(), u("div", {
|
|
114
|
+
key: 0,
|
|
115
|
+
class: "top-notice_itemTitle",
|
|
116
|
+
innerHTML: c.value
|
|
117
|
+
}, null, 8, K)) : _("", !0),
|
|
118
|
+
m.value ? (i(), u("div", {
|
|
119
|
+
key: 1,
|
|
120
|
+
class: "top-notice_itemText",
|
|
121
|
+
innerHTML: m.value
|
|
122
|
+
}, null, 8, Q)) : _("", !0)
|
|
123
|
+
]),
|
|
124
|
+
(p = s.buttonsProps) != null && p.length ? (i(), u("div", R, [
|
|
125
|
+
(i(!0), u(B, null, w(s.buttonsProps, (g) => (i(), M(L, O({
|
|
126
|
+
class: "top-notice_itemButton",
|
|
127
|
+
size: "s"
|
|
128
|
+
}, { ref_for: !0 }, g, {
|
|
129
|
+
title: g.title,
|
|
130
|
+
innerHTML: g.default,
|
|
131
|
+
onClick: n[0] || (n[0] = (te) => h())
|
|
132
|
+
}), null, 16, ["title", "innerHTML"]))), 256))
|
|
133
|
+
])) : _("", !0),
|
|
134
|
+
s.metaText ? (i(), u("div", {
|
|
135
|
+
key: 1,
|
|
136
|
+
class: "top-notice_itemMetaText",
|
|
137
|
+
innerHTML: s.metaText
|
|
138
|
+
}, null, 8, X)) : _("", !0),
|
|
139
|
+
v("div", {
|
|
140
|
+
class: "top-notice_itemClose",
|
|
141
|
+
"data-top-icon": "",
|
|
142
|
+
title: s.$i18n.Common.Close,
|
|
143
|
+
onClick: n[1] || (n[1] = () => h())
|
|
144
|
+
}, null, 8, Y)
|
|
145
|
+
], 2)), [
|
|
146
|
+
[I]
|
|
147
|
+
]);
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
}), ee = { class: "top-notice" }, re = /* @__PURE__ */ b({
|
|
151
|
+
__name: "notice",
|
|
152
|
+
setup(e) {
|
|
153
|
+
const l = (t) => {
|
|
154
|
+
var r;
|
|
155
|
+
(r = t.onClose) == null || r.call(t), d.delete(t.id);
|
|
156
|
+
};
|
|
157
|
+
return (t, r) => (i(), M(V, { to: "body" }, [
|
|
158
|
+
v("div", ee, [
|
|
159
|
+
(i(!0), u(B, null, w(A(d), ([f, o]) => (i(), M(Z, {
|
|
160
|
+
key: o.id,
|
|
161
|
+
id: o.id,
|
|
162
|
+
title: o.title,
|
|
163
|
+
text: o.text,
|
|
164
|
+
style: F(o.style),
|
|
165
|
+
buttonsProps: o.buttonsProps,
|
|
166
|
+
metaText: o.metaText,
|
|
167
|
+
isSafeHTML: o.isSafeHTML,
|
|
168
|
+
forceClosed: o.forceClosed,
|
|
169
|
+
hightlight: o.hightlight,
|
|
170
|
+
onClose: (a) => l(o)
|
|
171
|
+
}, null, 8, ["id", "title", "text", "style", "buttonsProps", "metaText", "isSafeHTML", "forceClosed", "hightlight", "onClose"]))), 128))
|
|
172
|
+
])
|
|
173
|
+
]));
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
export {
|
|
177
|
+
re as default,
|
|
178
|
+
ie as show
|
|
179
|
+
};
|
|
180
|
+
//# sourceMappingURL=notice-pFWJHCd7.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notice-pFWJHCd7.es.js","sources":["../../src/components/core/notice/utils.ts","../../src/components/core/notice/item/item.vue","../../src/components/core/notice/notice.vue"],"sourcesContent":["import { reactive } from 'vue';\nimport type { Props as ItemProps, Props, Style } from '@/components/core/notice/item/types';\nimport Core from '@/core/core/core';\nimport { genIntHash } from '@/core/utils/string';\n\nexport const transitionDuration = 300;\n\nexport type Item = Props & { onClose?: Function };\n\nexport const itemById = reactive(new Map<string, Item>());\n\nconst genItemId = (text: ItemProps['text'], style: ItemProps['style'], options?: Options) => {\n\treturn 'top-notice_' + genIntHash(text + style + JSON.stringify(options));\n};\n\nexport type Options = {\n\ttitle?: ItemProps['title'],\n\tmetaText?: ItemProps['metaText'],\n\tbuttonsProps?: ItemProps['buttonsProps'],\n\tisSafeHTML?: ItemProps['isSafeHTML'],\n\tselectToClose?: ItemProps['selectToClose'],\n\tonClose?: Function\n}\n\n/**\n * Показать сообщением в стиле push уведомления\n *\n * title будет получен из первой строки text\n *\n * Если в options указан title, он будет взят оттуда\n */\nexport const show = (text: string, style: Style = 'info', options?: Options) => {\n\tlet title = '';\n\n\ttext = String(text);\n\n\tconst id = genItemId(text, style, options);\n\n\tif (options?.title) {\n\t\ttitle = options.title;\n\t} else {\n\t\tconst chunks = text.split('\\n');\n\n\t\tif (chunks.length) {\n\t\t\ttitle = String(chunks.shift());\n\t\t\ttext = chunks.join('\\n');\n\t\t}\n\t}\n\n\tconst itemExists = itemById.get(id);\n\tif (itemExists) {\n\t\thightlight(itemExists);\n\n\t\treturn;\n\t}\n\n\tconst item: Item = {\n\t\tid,\n\t\ttitle,\n\t\ttext,\n\t\tstyle,\n\t\tbuttonsProps: options?.buttonsProps,\n\t\tmetaText: options?.metaText,\n\t\tisSafeHTML: options?.isSafeHTML,\n\t\tselectToClose: options?.selectToClose,\n\t\tonClose: options?.onClose,\n\t};\n\n\titemById.set(item.id, item);\n\n\tif (itemById.size > 5) {\n\t\tconst [_firstId, firstItem] = [...itemById].at(0) || [];\n\t\tif (firstItem) close(firstItem);\n\t}\n\n\t/**\n\t * Автозакрытие ошибок форм\n\t *\n\t * Добавляет\n\t */\n\tif (Core.state.isMobile) {\n\t\t$('input').one('click', () => close(item));\n\t}\n};\n\nconst hightlight = (item: Item) => {\n\titem.hightlight = true;\n\n\tsetTimeout(() => item.hightlight = false, transitionDuration);\n};\n\nconst close = (item: Item) => {\n\titem.forceClosed = true;\n\n\tsetTimeout(() => {\n\t\titem.onClose?.();\n\n\t\titemById.delete(item.id);\n\t}, transitionDuration);\n};\n\n/**\n * Убрать подозрительный html код\n */\nexport const prepareText = (text: string) => {\n\tconst textNoSafety = 'hacking was detected';\n\n\ttext = text.replace(/<script/g, textNoSafety);\n\ttext = text.replace(/<img/g, textNoSafety);\n\ttext = text.replace(/<iframe/g, textNoSafety);\n\ttext = text.replace(/javascript:/g, textNoSafety);\n\ttext = text.replace(/<[^>]+ (@|on)\\w+=[^>]+>?/g, textNoSafety);\n\n\treturn text;\n};\n","<script setup lang=\"ts\">\nimport { computed, ref, withDefaults } from 'vue';\n\nimport Core from '@/core/core/core';\nimport { nl2br } from '@/core/utils/string';\n\nimport type { Emits, Props } from './types';\nimport { prepareText, transitionDuration } from '@/components/core/notice/utils';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tselectToClose: true,\n});\n\nconst emit = defineEmits<Emits>();\n\n// анимация появления\nconst showed = ref(false);\nsetTimeout(() => showed.value = true, 10);\n\n// анимация закрытия\nconst closed = ref(false);\nconst closedDirection = ref<'top' | 'right' | 'bottom' | 'left'>('right');\n\nconst title = computed(() => {\n\tlet res = props.title.replace(/ {2}/g, ' ');\n\n\tif (!props.isSafeHTML) res = prepareText(res);\n\n\treturn res;\n});\n\nconst text = computed(() => {\n\tlet res = nl2br(props.text);\n\n\tres = res.replace(/ {2}/g, ' ');\n\n\tif (!props.isSafeHTML) res = prepareText(res);\n\n\treturn res;\n});\n\nconst close = (direction?: typeof closedDirection.value) => {\n\tclosed.value = true;\n\n\tif (direction) {\n\t\tclosedDirection.value = direction;\n\t}\n\n\tsetTimeout(() => emit('close'), transitionDuration);\n};\n\nconst onClick = (e: MouseEvent) => {\n\tif (!props.selectToClose) return;\n\n\tconst { tagName } = e.target as HTMLElement;\n\n\tif (tagName === 'A') close();\n\tif (tagName === 'BUTTON') close();\n};\n\nconst vSwipe = {\n\tmounted: (el: HTMLElement) => {\n\t\tif (!Core.state.isMobile) return;\n\n\t\tif (!Core.$ || !Core.$.ui['draggable']) return;\n\n\t\tlet direction: typeof closedDirection.value = 'right';\n\n\t\tlet axis = 'x';\n\t\t// if (getOS() === 'iOS') axis = 'y';\n\n\t\tCore.$(el).draggable({\n\t\t\trevert: false,\n\t\t\taxis,\n\t\t\tdrag: (_e, ui) => {\n\t\t\t\tif (axis == 'x') {\n\t\t\t\t\tdirection = ui.position.left > 0 ? 'right' : 'left';\n\t\t\t\t} else {\n\t\t\t\t\tdirection = ui.position.top > 0 ? 'bottom' : 'top';\n\t\t\t\t}\n\t\t\t},\n\t\t\tstop: (_e, _ui) => {\n\t\t\t\tclose(direction);\n\t\t\t},\n\t\t});\n\t},\n};\n\n// const vSwipe = {\n// \tmounted: (el: HTMLElement) => {\n// \t\tconst { distanceX, direction } = usePointerSwipe(el, {\n// \t\t\tdisableTextSelect: true,\n// \t\t\tonSwipe(e: PointerEvent) {\n// \t\t\t\tleft.value = -distanceX.value + 'px';\n// \t\t\t},\n// \t\t\tonSwipeEnd: (_e, direction) => {\n// \t\t\t\tclose(direction);\n// \t\t\t},\n// \t\t});\n// \t},\n// };\n</script>\n\n<template>\n\t<div\n\t\tclass=\"top-notice_item\"\n\t\t:class=\"{\n\t\t\t['top-notice_item-' + style]: true,\n\t\t\t'top-notice_item-hightlight': hightlight,\n\t\t\t'top-notice_item-showed': showed,\n\t\t\t'top-notice_item-closed': closed || forceClosed,\n\t\t\t['top-notice_item-closed_' + closedDirection]: closed,\n\t\t}\"\n\t\t@click=\"onClick\"\n\t\tv-swipe\n\t>\n\t\t<div class=\"top-notice_itemTextWrapper\">\n\t\t\t<div v-if=\"title\" class=\"top-notice_itemTitle\" v-html=\"title\"></div>\n\t\t\t<div v-if=\"text\" class=\"top-notice_itemText\" v-html=\"text\"></div>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"buttonsProps?.length\"\n\t\t\tclass=\"top-notice_itemButtons\"\n\t\t>\n\t\t\t<TopButton\n\t\t\t\tv-for=\"buttonProps in buttonsProps\"\n\t\t\t\tclass=\"top-notice_itemButton\"\n\t\t\t\tsize=\"s\"\n\t\t\t\t:=\"buttonProps\"\n\t\t\t\t:title=\"buttonProps.title\"\n\t\t\t\tv-html=\"buttonProps.default\"\n\t\t\t\t@click=\"close()\"\n\t\t\t/>\n\t\t</div>\n\n\t\t<div v-if=\"metaText\" class=\"top-notice_itemMetaText\" v-html=\"metaText\"></div>\n\n\t\t<div\n\t\t\tclass=\"top-notice_itemClose\"\n\t\t\tdata-top-icon=\"\"\n\t\t\t:title=\"$i18n.Common.Close\"\n\t\t\t@click=\"() => close()\"\n\t\t></div>\n\t</div>\n</template>\n\n<style>\n@import \"style.css\";\n</style>\n","<!-- performance all in one file component, для Core.notice() -->\n<script lang=\"ts\">\nexport { show } from './utils';\n</script>\n\n<script setup lang=\"ts\">\nimport type { Item } from './utils';\nimport { itemById } from './utils';\n\nimport type { Props } from './types';\nimport TopNoticeItem from './item/item.vue';\n\ndefineProps<Props>();\n\nconst onCloseItem = (item: Item) => {\n\titem.onClose?.();\n\n\titemById.delete(item.id);\n};\n</script>\n\n<template>\n\t<teleport to=\"body\">\n\t\t<div class=\"top-notice\">\n\t\t\t<TopNoticeItem\n\t\t\t\tv-for=\"[_index, item] in itemById\"\n\t\t\t\t:key=\"item.id\"\n\t\t\t\t:id=\"item.id\"\n\t\t\t\t:title=\"item.title\"\n\t\t\t\t:text=\"item.text\"\n\t\t\t\t:style=\"item.style\"\n\t\t\t\t:buttonsProps=\"item.buttonsProps\"\n\t\t\t\t:metaText=\"item.metaText\"\n\t\t\t\t:isSafeHTML=\"item.isSafeHTML\"\n\t\t\t\t:forceClosed=\"item.forceClosed\"\n\t\t\t\t:hightlight=\"item.hightlight\"\n\t\t\t\t@close=\"onCloseItem(item)\"\n\t\t\t/>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n:root {\n\t--top-notice-top: var(--top-padding-4);\n\t--top-notice-right: var(--top-padding-4);\n}\n\n.top-notice {\n\twidth: 400px;\n\tfont-size: 14px;\n\tposition: fixed; top: var(--top-notice-top); right: var(--top-notice-right);\n\tz-index: 1000010;\n\tdisplay: flex; flex-direction: column-reverse; gap: var(--top-gap-2);\n}\n\n.top-notice ul {\n\tpadding: 0 0 0 var(--top-padding-5);\n}\n\n@media only screen and (max-width: 600px) {\n\t:root {\n\t\t--top-notice-top: var(--top-padding-4);\n\t\t--top-notice-right: var(--top-padding-4);\n\t}\n\n\t.top-notice { width: auto; left: var(--top-notice-right); }\n}\n</style>\n"],"names":["transitionDuration","itemById","reactive","genItemId","text","style","options","genIntHash","show","title","id","chunks","itemExists","hightlight","item","_firstId","firstItem","close","Core","_a","prepareText","textNoSafety","props","__props","emit","__emit","showed","ref","closed","closedDirection","computed","res","nl2br","direction","onClick","e","tagName","vSwipe","el","_e","ui","_ui","normalizeClass","_ctx","forceClosed","openBlock","createElementBlock","_hoisted_2","createCommentVNode","_hoisted_3","Fragment","renderList","buttonProps","createBlock","_component_TopButton","mergeProps","_cache","$event","metaText","_hoisted_6","onCloseItem","createElementVNode","_hoisted_1","unref","_index","normalizeStyle"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["require","exports","vue","./dialogs.vue_vue_type_script_setup_true_lang-DDR6uqak.amd","./forms-D4uFd45i.amd","./utils-BgEQlXpF.amd"],(function(b,i,e,r,d,p){"use strict";if(typeof e>"u")var e=window.Vue;const c=["id","data-view-page-active","data-modal","data-position"],u=e.defineComponent({__name:"dialog",props:{id:{},pageActive:{},width:{default:"600px"},height:{default:"auto"},modal:{type:Boolean,default:!0},position:{},historyType:{default:"push"},classes:{}},emits:["open","close"],setup(s){const n=s,t=r.getDialogWorker(n.id);if(!t)throw new Error("TopDialog cannot be used in a template, use useTopDialog() / useAsyncTopDialog()");return e.provide("dialogWorker",t),e.onMounted(()=>{var l;const a=e.getCurrentInstance(),o=a.parent;if(((l=o==null?void 0:o.parent)==null?void 0:l.type.name)!=="DialogWrapper")throw new Error("TopDialog cannot be used in a template, use useTopDialog()");if(Array.isArray(o.subTree.children)&&o.subTree.children.length!==1)throw new Error("TopDialog can has only one root element");t.onMounted(o,a)}),e.watch(t.isOpened,()=>{t.isReady.value=!0},{flush:"post",once:!0}),(a,o)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(t).idAttr,class:e.normalizeClass(["top-dialog",a.classes]),style:e.normalizeStyle({"--top-dialog-width":a.width,"--top-dialog-height":a.height}),tabindex:"-1","data-view-page-active":e.unref(t).pageActive.value,"data-modal":a.modal,"data-position":a.position},[o[0]||(o[0]=e.createElementVNode("div",{class:"modal-layer modal-layer-header"},null,-1)),e.createElementVNode("div",{class:"modal-layer modal-layer-body",style:e.normalizeStyle({"min-height":a.height+"px"})},null,4),e.renderSlot(a.$slots,"default")],14,c))}}),m={key:0,style:{display:"none"}},h=["data-order","data-view-page"],v={class:"modal-header"},g={class:"top-title"},f={class:"buttons"},y=["title"],k=["title"],w=["data-order","data-view-page"],B={class:"modal-body"},_=e.defineComponent({__name:"page",props:{isLoading:{type:Boolean},name:{},order:{default:0},prevName:{},footerFullWith:{type:Boolean}},setup(s){const n=s,t=p.useTopDialogSelf(),a=e.computed(()=>{var o;return{active:((o=t.pageActive)==null?void 0:o.value)===n.name,"i-load-data":n.isLoading||t.isLoadingPage.value}});return(o,l)=>{const E=e.resolveDirective("top-scroll-shadow");return e.unref(t).isReady.value?(e.openBlock(),e.createElementBlock("div",m,[(e.openBlock(),e.createBlock(e.Teleport,{to:"#"+e.unref(t).idAttr+" .modal-layer-header",disabled:!e.unref(t).needShowPage(o.name)},[e.createElementVNode("div",{"data-order":o.order,"data-view-page":o.name,class:e.normalizeClass(a.value)},[e.createElementVNode("div",v,[e.createElementVNode("div",g,[e.renderSlot(o.$slots,"header")]),e.createElementVNode("div",f,[e.renderSlot(o.$slots,"headerButtons")]),e.unref(d.Core).state.isMobile&&o.prevName?(e.openBlock(),e.createElementBlock("div",{key:0,class:"close",title:o.$i18n.Common.Back,"data-top-icon":"",onClick:l[0]||(l[0]=C=>e.unref(t).open(o.prevName))},null,8,y)):(e.openBlock(),e.createElementBlock("div",{key:1,class:"close",title:o.$i18n.Common.Close,"data-top-icon":"","data-action":"top-dialog-close"},null,8,k))])],10,h)],8,["to","disabled"])),(e.openBlock(),e.createBlock(e.Teleport,{to:"#"+e.unref(t).idAttr+" .modal-layer-body",disabled:!e.unref(t).needShowPage(o.name)},[e.createElementVNode("div",{"data-order":o.order,"data-view-page":o.name,class:e.normalizeClass(["has_scroll_container",a.value]),style:e.normalizeStyle({"--top-dialog-footer-height":o.$slots.footer?void 0:"0px"})},[e.withDirectives((e.openBlock(),e.createElementBlock("div",B,[e.renderSlot(o.$slots,"body")])),[[E]]),o.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["modal-footer",{"modal-footer-fullWith":o.footerFullWith}])},[e.renderSlot(o.$slots,"footer")],2)):e.createCommentVNode("",!0)],14,w)],8,["to","disabled"]))])):e.createCommentVNode("",!0)}}});i._sfc_main=u,i._sfc_main$1=_}));
|
|
2
|
+
//# sourceMappingURL=page.vue_vue_type_script_setup_true_lang-DzuM-_u7.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.vue_vue_type_script_setup_true_lang-DzuM-_u7.amd.js","sources":["../../src/components/dialog/dialog/dialog.vue","../../src/components/dialog/dialog/page/page.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ComponentInternalInstance } from 'vue';\nimport { getCurrentInstance, onMounted, provide, watch } from 'vue';\nimport { getDialogWorker } from './dialogs/dialogs.vue';\nimport type { Emits, Props, Slots } from './types';\n\nconst props = withDefaults(defineProps<Props>(), {\n\twidth: '600px',\n\theight: 'auto',\n\tmodal: true,\n\thistoryType: 'push',\n});\n\ndefineEmits<Emits>();\n\ndefineSlots<Slots>();\n\nconst dialog = getDialogWorker(props.id);\nif (!dialog) {\n\tthrow new Error('TopDialog cannot be used in a template, use useTopDialog() / useAsyncTopDialog()');\n}\n\n/**\n * Для useTopDialogSelf()\n */\nprovide('dialogWorker', dialog);\n\n/**\n * Инициализация начального состояния TopDialogHandle\n */\nonMounted(() => {\n\tconst topDialogBaseComponent = getCurrentInstance() as ComponentInternalInstance;\n\tconst topDialogComponent = topDialogBaseComponent.parent;\n\n\tif (topDialogComponent?.parent?.type.name !== 'DialogWrapper') {\n\t\tthrow new Error('TopDialog cannot be used in a template, use useTopDialog()');\n\t}\n\n\tif (Array.isArray(topDialogComponent.subTree.children) && topDialogComponent.subTree.children.length !== 1) {\n\t\tthrow new Error('TopDialog can has only one root element');\n\t}\n\n\tdialog.onMounted(topDialogComponent, topDialogBaseComponent);\n});\n\nwatch(dialog.isOpened, () => {\n\tdialog.isReady.value = true;\n}, {\n\tflush: 'post',\n\tonce: true,\n});\n</script>\n\n<template>\n\t<div\n\t\t:id=\"dialog.idAttr\"\n\t\tclass=\"top-dialog\"\n\t\t:class=\"classes\"\n\t\t:style=\"{\n\t\t\t'--top-dialog-width': width,\n\t\t\t'--top-dialog-height': height,\n\t\t}\"\n\t\ttabindex=\"-1\"\n\t\t:data-view-page-active=\"dialog.pageActive.value\"\n\t\t:data-modal=\"modal\"\n\t\t:data-position=\"position\"\n\t>\n\t\t<div class=\"modal-layer modal-layer-header\"></div>\n\n\t\t<div class=\"modal-layer modal-layer-body\" :style=\"{'min-height': height + 'px'}\"></div>\n\n\t\t<slot name=\"default\"></slot>\n\t</div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport Core from '@/core/core/core';\nimport { useTopDialogSelf } from '@/components/dialog/dialog/composables/utils';\nimport type { Props, Slots } from './types';\n\nconst props = withDefaults(defineProps<Props>(), {\n\torder: 0,\n});\n\ndefineSlots<Slots>();\n\nconst dialog = useTopDialogSelf();\n\nconst classes = computed(() => {\n\treturn {\n\t\tactive: dialog.pageActive?.value === props.name,\n\t\t'i-load-data': props.isLoading || dialog.isLoadingPage.value,\n\t};\n});\n</script>\n\n<template>\n\t<div\n\t\tstyle=\"display: none\"\n\t\tv-if=\"dialog.isReady.value\"\n\t>\n\t\t<Teleport :to=\"'#' + dialog.idAttr + ' .modal-layer-header'\" :disabled=\"!dialog.needShowPage(name)\">\n\t\t\t<div\n\t\t\t\t:data-order=\"order\"\n\t\t\t\t:data-view-page=\"name\"\n\t\t\t\t:class=\"classes\"\n\t\t\t>\n\t\t\t\t<div class=\"modal-header\">\n\t\t\t\t\t<div class=\"top-title\">\n\t\t\t\t\t\t<slot name=\"header\"></slot>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"buttons\">\n\t\t\t\t\t\t<slot name=\"headerButtons\"></slot>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"Core.state.isMobile && prevName\"\n\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t:title=\"$i18n.Common.Back\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"dialog.open(prevName)\"\n\t\t\t\t\t></div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-else\n\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t:title=\"$i18n.Common.Close\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\tdata-action=\"top-dialog-close\"\n\t\t\t\t\t></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Teleport>\n\n\t\t<Teleport :to=\"'#' + dialog.idAttr + ' .modal-layer-body'\" :disabled=\"!dialog.needShowPage(name)\">\n\t\t\t<div\n\t\t\t\t:data-order=\"order\"\n\t\t\t\t:data-view-page=\"name\"\n\t\t\t\tclass=\"has_scroll_container\"\n\t\t\t\t:class=\"classes\"\n\t\t\t\t:style=\"{'--top-dialog-footer-height': $slots.footer ? undefined : '0px'}\"\n\t\t\t>\n\t\t\t\t<div class=\"modal-body\" v-top-scroll-shadow>\n\t\t\t\t\t<slot name=\"body\"></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div\n\t\t\t\t\tclass=\"modal-footer\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'modal-footer-fullWith': footerFullWith\n\t\t\t\t\t}\"\n\t\t\t\t\tv-if=\"$slots.footer\"\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"footer\"></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Teleport>\n\t</div>\n</template>\n"],"names":["vue","dialog","topDialogBaseComponent","topDialogComponent","_ctx","height","position","_hoisted_1$1","utils","classes","order","name","_hoisted_4","_hoisted_6","_hoisted_7","footerFullWith"],"mappings":"siBAmBC,MAAA,IAAA,MAAA,kFAAA,EAMD,OAAAA,EAAA,QAAA,eAAAC,CAAA,yBAMC,MAAAC,EAAAF,EAAA,mBAAA,EACAG,EAAAD,EAAA,mFAGC,MAAA,IAAA,MAAA,4DAAA,sEAIA,MAAA,IAAA,MAAA,yCAAA,EAGDD,EAAA,UAAAE,EAAAD,CAAA,CAA2D,CAAA,EAG5DF,EAAA,MAAAC,EAAA,SAAA,IAAA,CACCA,EAAA,QAAA,MAAA,EAAuB,EAAA,cAEhB,KAAA,EACD,CAAA,oDAuBA,GAAAD,EAAA,MAAAC,CAAA,EAAA,gFAdC,qBAAAG,EAAA,oCAA8DC,CAAAA,oEAK1B,aAAAD,EAAA,gCAE1BE,EAAAA,4JAIL,MAAAN,EAAA,eAAA,CAAA,aAAAI,EAAA,OAAA,IAAA,CAAA,CAA4D,EAAA,KAAA,CAAA,kCAE3C,EAAA,GAAAG,CAAA,wXC3D9BN,EAAAO,EAAA,iBAAA,EAEAC,EAAAT,EAAA,SAAA,IAAA,OACC,MAAA,0GAGA,CAAA,8IAkEMA,EAAA,UAAA,EAAAA,EAAA,YAAAA,EAAA,SAAA,iDAzD6B,SAAA,CAAAA,EAAA,MAAAC,CAAA,EAAA,aAAAG,EAAA,IAAA,CAA+D,EAAA,6BA+B1F,aAAAA,EAAA,MA7BQM,iBAAAA,EAAAA,KACIC,MAAAA,EAAAA,eAAAA,EAAAA,KAAAA,CACF,EAAA,+BA0BTX,EAAA,mBAAA,MAAAY,EAAA,CArBCZ,EAAA,WAAAI,EAAA,OAAA,QAAA,CADsB,CAAA,gCAKtBJ,EAAA,WAAAI,EAAA,OAAA,eAAA,CAD6B,CAAA,6MAQN,EAAA,KAAA,EAAAS,CAAA,IAAAb,EAAA,UAAA,EAAAA,EAAA,mBAAA,MAAA,oEAOd,cAAA,kBACF,EAAA,KAAA,EAAAc,CAAA,0HAMkB,SAAA,CAAAd,EAAA,MAAAC,CAAA,EAAA,aAAAG,EAAA,IAAA,CAA6D,EAAA,6BAqBxF,aAAAA,EAAA,MAnBQM,iBAAAA,EAAAA,8DAGE,MAAAV,EAAA,eAAA,CAAA,6BAAAI,EAAA,OAAA,OAAA,OAAA,KAAA,CAAA,CACiD,EAAA,+DAI1DJ,EAAA,WAAAI,EAAA,OAAA,MAAA,CADoB,CAAA,GAAA,wJAKgBW,CAAAA,CAAAA"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { defineComponent as v, provide as f, onMounted as w, getCurrentInstance as b, watch as $, createElementBlock as l, openBlock as s, unref as t, normalizeStyle as u, normalizeClass as n, createElementVNode as i, renderSlot as r, computed as k, resolveDirective as D, createCommentVNode as c, createBlock as h, Teleport as g, withDirectives as T } from "vue";
|
|
2
|
+
import { g as _ } from "./dialogs.vue_vue_type_script_setup_true_lang-BMDSZwZJ.es.js";
|
|
3
|
+
import { C } from "./forms-CRHjU2Mj.es.js";
|
|
4
|
+
import { b as A } from "./utils-Bsv1-1_h.es.js";
|
|
5
|
+
const B = ["id", "data-view-page-active", "data-modal", "data-position"], q = /* @__PURE__ */ v({
|
|
6
|
+
__name: "dialog",
|
|
7
|
+
props: {
|
|
8
|
+
id: {},
|
|
9
|
+
pageActive: {},
|
|
10
|
+
width: { default: "600px" },
|
|
11
|
+
height: { default: "auto" },
|
|
12
|
+
modal: { type: Boolean, default: !0 },
|
|
13
|
+
position: {},
|
|
14
|
+
historyType: { default: "push" },
|
|
15
|
+
classes: {}
|
|
16
|
+
},
|
|
17
|
+
emits: ["open", "close"],
|
|
18
|
+
setup(p) {
|
|
19
|
+
const o = _(p.id);
|
|
20
|
+
if (!o)
|
|
21
|
+
throw new Error("TopDialog cannot be used in a template, use useTopDialog() / useAsyncTopDialog()");
|
|
22
|
+
return f("dialogWorker", o), w(() => {
|
|
23
|
+
var d;
|
|
24
|
+
const a = b(), e = a.parent;
|
|
25
|
+
if (((d = e == null ? void 0 : e.parent) == null ? void 0 : d.type.name) !== "DialogWrapper")
|
|
26
|
+
throw new Error("TopDialog cannot be used in a template, use useTopDialog()");
|
|
27
|
+
if (Array.isArray(e.subTree.children) && e.subTree.children.length !== 1)
|
|
28
|
+
throw new Error("TopDialog can has only one root element");
|
|
29
|
+
o.onMounted(e, a);
|
|
30
|
+
}), $(o.isOpened, () => {
|
|
31
|
+
o.isReady.value = !0;
|
|
32
|
+
}, {
|
|
33
|
+
flush: "post",
|
|
34
|
+
once: !0
|
|
35
|
+
}), (a, e) => (s(), l("div", {
|
|
36
|
+
id: t(o).idAttr,
|
|
37
|
+
class: n(["top-dialog", a.classes]),
|
|
38
|
+
style: u({
|
|
39
|
+
"--top-dialog-width": a.width,
|
|
40
|
+
"--top-dialog-height": a.height
|
|
41
|
+
}),
|
|
42
|
+
tabindex: "-1",
|
|
43
|
+
"data-view-page-active": t(o).pageActive.value,
|
|
44
|
+
"data-modal": a.modal,
|
|
45
|
+
"data-position": a.position
|
|
46
|
+
}, [
|
|
47
|
+
e[0] || (e[0] = i("div", { class: "modal-layer modal-layer-header" }, null, -1)),
|
|
48
|
+
i("div", {
|
|
49
|
+
class: "modal-layer modal-layer-body",
|
|
50
|
+
style: u({ "min-height": a.height + "px" })
|
|
51
|
+
}, null, 4),
|
|
52
|
+
r(a.$slots, "default")
|
|
53
|
+
], 14, B));
|
|
54
|
+
}
|
|
55
|
+
}), W = {
|
|
56
|
+
key: 0,
|
|
57
|
+
style: { display: "none" }
|
|
58
|
+
}, E = ["data-order", "data-view-page"], N = { class: "modal-header" }, S = { class: "top-title" }, L = { class: "buttons" }, M = ["title"], P = ["title"], z = ["data-order", "data-view-page"], F = { class: "modal-body" }, G = /* @__PURE__ */ v({
|
|
59
|
+
__name: "page",
|
|
60
|
+
props: {
|
|
61
|
+
isLoading: { type: Boolean },
|
|
62
|
+
name: {},
|
|
63
|
+
order: { default: 0 },
|
|
64
|
+
prevName: {},
|
|
65
|
+
footerFullWith: { type: Boolean }
|
|
66
|
+
},
|
|
67
|
+
setup(p) {
|
|
68
|
+
const m = p, o = A(), a = k(() => {
|
|
69
|
+
var e;
|
|
70
|
+
return {
|
|
71
|
+
active: ((e = o.pageActive) == null ? void 0 : e.value) === m.name,
|
|
72
|
+
"i-load-data": m.isLoading || o.isLoadingPage.value
|
|
73
|
+
};
|
|
74
|
+
});
|
|
75
|
+
return (e, d) => {
|
|
76
|
+
const y = D("top-scroll-shadow");
|
|
77
|
+
return t(o).isReady.value ? (s(), l("div", W, [
|
|
78
|
+
(s(), h(g, {
|
|
79
|
+
to: "#" + t(o).idAttr + " .modal-layer-header",
|
|
80
|
+
disabled: !t(o).needShowPage(e.name)
|
|
81
|
+
}, [
|
|
82
|
+
i("div", {
|
|
83
|
+
"data-order": e.order,
|
|
84
|
+
"data-view-page": e.name,
|
|
85
|
+
class: n(a.value)
|
|
86
|
+
}, [
|
|
87
|
+
i("div", N, [
|
|
88
|
+
i("div", S, [
|
|
89
|
+
r(e.$slots, "header")
|
|
90
|
+
]),
|
|
91
|
+
i("div", L, [
|
|
92
|
+
r(e.$slots, "headerButtons")
|
|
93
|
+
]),
|
|
94
|
+
t(C).state.isMobile && e.prevName ? (s(), l("div", {
|
|
95
|
+
key: 0,
|
|
96
|
+
class: "close",
|
|
97
|
+
title: e.$i18n.Common.Back,
|
|
98
|
+
"data-top-icon": "",
|
|
99
|
+
onClick: d[0] || (d[0] = (R) => t(o).open(e.prevName))
|
|
100
|
+
}, null, 8, M)) : (s(), l("div", {
|
|
101
|
+
key: 1,
|
|
102
|
+
class: "close",
|
|
103
|
+
title: e.$i18n.Common.Close,
|
|
104
|
+
"data-top-icon": "",
|
|
105
|
+
"data-action": "top-dialog-close"
|
|
106
|
+
}, null, 8, P))
|
|
107
|
+
])
|
|
108
|
+
], 10, E)
|
|
109
|
+
], 8, ["to", "disabled"])),
|
|
110
|
+
(s(), h(g, {
|
|
111
|
+
to: "#" + t(o).idAttr + " .modal-layer-body",
|
|
112
|
+
disabled: !t(o).needShowPage(e.name)
|
|
113
|
+
}, [
|
|
114
|
+
i("div", {
|
|
115
|
+
"data-order": e.order,
|
|
116
|
+
"data-view-page": e.name,
|
|
117
|
+
class: n(["has_scroll_container", a.value]),
|
|
118
|
+
style: u({ "--top-dialog-footer-height": e.$slots.footer ? void 0 : "0px" })
|
|
119
|
+
}, [
|
|
120
|
+
T((s(), l("div", F, [
|
|
121
|
+
r(e.$slots, "body")
|
|
122
|
+
])), [
|
|
123
|
+
[y]
|
|
124
|
+
]),
|
|
125
|
+
e.$slots.footer ? (s(), l("div", {
|
|
126
|
+
key: 0,
|
|
127
|
+
class: n(["modal-footer", {
|
|
128
|
+
"modal-footer-fullWith": e.footerFullWith
|
|
129
|
+
}])
|
|
130
|
+
}, [
|
|
131
|
+
r(e.$slots, "footer")
|
|
132
|
+
], 2)) : c("", !0)
|
|
133
|
+
], 14, z)
|
|
134
|
+
], 8, ["to", "disabled"]))
|
|
135
|
+
])) : c("", !0);
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
export {
|
|
140
|
+
q as _,
|
|
141
|
+
G as a
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=page.vue_vue_type_script_setup_true_lang-o3lCjjxW.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.vue_vue_type_script_setup_true_lang-o3lCjjxW.es.js","sources":["../../src/components/dialog/dialog/dialog.vue","../../src/components/dialog/dialog/page/page.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ComponentInternalInstance } from 'vue';\nimport { getCurrentInstance, onMounted, provide, watch } from 'vue';\nimport { getDialogWorker } from './dialogs/dialogs.vue';\nimport type { Emits, Props, Slots } from './types';\n\nconst props = withDefaults(defineProps<Props>(), {\n\twidth: '600px',\n\theight: 'auto',\n\tmodal: true,\n\thistoryType: 'push',\n});\n\ndefineEmits<Emits>();\n\ndefineSlots<Slots>();\n\nconst dialog = getDialogWorker(props.id);\nif (!dialog) {\n\tthrow new Error('TopDialog cannot be used in a template, use useTopDialog() / useAsyncTopDialog()');\n}\n\n/**\n * Для useTopDialogSelf()\n */\nprovide('dialogWorker', dialog);\n\n/**\n * Инициализация начального состояния TopDialogHandle\n */\nonMounted(() => {\n\tconst topDialogBaseComponent = getCurrentInstance() as ComponentInternalInstance;\n\tconst topDialogComponent = topDialogBaseComponent.parent;\n\n\tif (topDialogComponent?.parent?.type.name !== 'DialogWrapper') {\n\t\tthrow new Error('TopDialog cannot be used in a template, use useTopDialog()');\n\t}\n\n\tif (Array.isArray(topDialogComponent.subTree.children) && topDialogComponent.subTree.children.length !== 1) {\n\t\tthrow new Error('TopDialog can has only one root element');\n\t}\n\n\tdialog.onMounted(topDialogComponent, topDialogBaseComponent);\n});\n\nwatch(dialog.isOpened, () => {\n\tdialog.isReady.value = true;\n}, {\n\tflush: 'post',\n\tonce: true,\n});\n</script>\n\n<template>\n\t<div\n\t\t:id=\"dialog.idAttr\"\n\t\tclass=\"top-dialog\"\n\t\t:class=\"classes\"\n\t\t:style=\"{\n\t\t\t'--top-dialog-width': width,\n\t\t\t'--top-dialog-height': height,\n\t\t}\"\n\t\ttabindex=\"-1\"\n\t\t:data-view-page-active=\"dialog.pageActive.value\"\n\t\t:data-modal=\"modal\"\n\t\t:data-position=\"position\"\n\t>\n\t\t<div class=\"modal-layer modal-layer-header\"></div>\n\n\t\t<div class=\"modal-layer modal-layer-body\" :style=\"{'min-height': height + 'px'}\"></div>\n\n\t\t<slot name=\"default\"></slot>\n\t</div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport Core from '@/core/core/core';\nimport { useTopDialogSelf } from '@/components/dialog/dialog/composables/utils';\nimport type { Props, Slots } from './types';\n\nconst props = withDefaults(defineProps<Props>(), {\n\torder: 0,\n});\n\ndefineSlots<Slots>();\n\nconst dialog = useTopDialogSelf();\n\nconst classes = computed(() => {\n\treturn {\n\t\tactive: dialog.pageActive?.value === props.name,\n\t\t'i-load-data': props.isLoading || dialog.isLoadingPage.value,\n\t};\n});\n</script>\n\n<template>\n\t<div\n\t\tstyle=\"display: none\"\n\t\tv-if=\"dialog.isReady.value\"\n\t>\n\t\t<Teleport :to=\"'#' + dialog.idAttr + ' .modal-layer-header'\" :disabled=\"!dialog.needShowPage(name)\">\n\t\t\t<div\n\t\t\t\t:data-order=\"order\"\n\t\t\t\t:data-view-page=\"name\"\n\t\t\t\t:class=\"classes\"\n\t\t\t>\n\t\t\t\t<div class=\"modal-header\">\n\t\t\t\t\t<div class=\"top-title\">\n\t\t\t\t\t\t<slot name=\"header\"></slot>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"buttons\">\n\t\t\t\t\t\t<slot name=\"headerButtons\"></slot>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"Core.state.isMobile && prevName\"\n\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t:title=\"$i18n.Common.Back\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"dialog.open(prevName)\"\n\t\t\t\t\t></div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-else\n\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t:title=\"$i18n.Common.Close\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\tdata-action=\"top-dialog-close\"\n\t\t\t\t\t></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Teleport>\n\n\t\t<Teleport :to=\"'#' + dialog.idAttr + ' .modal-layer-body'\" :disabled=\"!dialog.needShowPage(name)\">\n\t\t\t<div\n\t\t\t\t:data-order=\"order\"\n\t\t\t\t:data-view-page=\"name\"\n\t\t\t\tclass=\"has_scroll_container\"\n\t\t\t\t:class=\"classes\"\n\t\t\t\t:style=\"{'--top-dialog-footer-height': $slots.footer ? undefined : '0px'}\"\n\t\t\t>\n\t\t\t\t<div class=\"modal-body\" v-top-scroll-shadow>\n\t\t\t\t\t<slot name=\"body\"></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div\n\t\t\t\t\tclass=\"modal-footer\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'modal-footer-fullWith': footerFullWith\n\t\t\t\t\t}\"\n\t\t\t\t\tv-if=\"$slots.footer\"\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"footer\"></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Teleport>\n\t</div>\n</template>\n"],"names":["dialog","getDialogWorker","__props","provide","onMounted","topDialogBaseComponent","getCurrentInstance","topDialogComponent","_a","watch","_createElementBlock","_unref","_normalizeClass","classes","_normalizeStyle","width","height","modal","position","_createElementVNode","_renderSlot","_ctx","props","useTopDialogSelf","computed","_openBlock","_hoisted_1","_createBlock","_Teleport","name","order","_hoisted_3","_hoisted_4","_hoisted_5","Core","prevName","$i18n","_cache","$event","$slots","_withDirectives","_hoisted_9","footerFullWith"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["require","exports","./forms-D4uFd45i.amd","../utils/dom.amd","../popup/worker.amd"],(function(W,y,f,i,s){"use strict";if(typeof k>"u")var k=window.Vue;class x{static componentName="Top";componentName;className;uid;el;options={};unmountEls=[];unmountEvents=[];init(t,p,o){if(!p)throw t+": el is undefined";const e=x.getComponent(p,t);if(e)return e.reInit(o),e;this.componentName=t,this.className="top"+t[0].toUpperCase()+t.substring(1),this.uid=this.componentName+(Math.random()+"").replace(".",""),this._setComponent(p),this.el=p,this.el.classList.add(this.className),this.options=Object.assign(this.options,o),this.mount()}static getComponent(t,p){return i.default.storage(t,"#"+p)}_setComponent(t){i.default.storage(t,"#"+this.componentName,this)}mount(){throw"Please, add method mount() to component: "+this.componentName}unmount(){i.default.storage(this.el,"#"+this.componentName,null),this.unmountEls.forEach(t=>{t.remove()}),this.unmountEls=[],this.unmountEvents.forEach(t=>{t.el.removeEventListener(t.type,t.listener,t.options)}),this.unmountEvents=[]}registerElForUnmount(t){this.unmountEls.push(t)}addEventListenerWithUnmount(t,p,o,e){t.addEventListener(p,o,e),this.registerEventForUnmount(t,p,o,e)}registerEventForUnmount(t,p,o,e){const r={el:t,type:p,listener:o,options:e};this.unmountEvents.push(r)}reInit(t){throw"Please, add method reInit() to component: "+this.componentName}static detach(t){var p;if(t instanceof NodeList)t.forEach(o=>{var e;return(e=o.parentElement)==null?void 0:e.removeChild(o)});else{const o=t;(p=o.parentElement)==null||p.removeChild(o)}}}class I{static isInited=!1;static init(){this.isInited||(this.isInited=!0,document.addEventListener("click",this.onclickCapture,{capture:!0}),document.addEventListener("click",this.onclick),document.addEventListener("keydown",this.onkeydown))}static onclickCapture(t){var o;if(!(!(t.target instanceof HTMLElement)||!t.target.closest(".top-popup-wrapper"))){if(t.target.matches("[data-top-popup]")){const e=t.target.closest("ul"),r=t.target.closest("a, .a");e&&((o=e.querySelector("a.top-active, .a.top-active"))==null||o.classList.remove("top-active")),r&&r.classList.add("top-active"),t.stopPropagation();return}if(t.target.matches(".top-popup-wrapper")){const e=t.target;s.TopPopupWorker.close(e),t.stopPropagation();return}}}static onclick(t){if(!(t.target instanceof HTMLElement))return;const p=t.target.closest(".closer, a, .a, .top-button");if(p){const o=t.target.closest(".top-popup-wrapper");if(!o||p.matches(".top-popup-noCloser"))return;p.getAttribute("href")==="."&&t.preventDefault(),s.TopPopupWorker.close(o)}}static onkeydown(t){var e,r,n;if(!(t.target instanceof HTMLElement))return;let p=t.target.closest(".top-popup-wrapper");if(p||(p=((e=s.TopPopupWorker.getPopupFromOpener(t.target))==null?void 0:e.elPopup)??null),!p)return;const o=p.querySelector("ul.top-popup_content");switch(t.key){case"Escape":s.TopPopupWorker.close(p);break;case"Enter":if(!o){if(i.default.querySelectorVisible(p,".preloader"))break;const d=i.default.querySelectorVisible(p,".top-popup_footer .go, .top-popup_footer [data-action]");if(d instanceof HTMLElement){d.click();break}let v=i.default.querySelectorVisibleLast(p,".top-popup_footer .top-button:focus");v||(v=i.default.querySelectorVisibleLast(p,".top-popup_footer .top-button")),v instanceof HTMLElement&&v.click();break}const c=i.default.querySelectorVisible(p,"li > a.top-active");c&&c.getAttribute("href")&&(t.preventDefault(),location.href=c.getAttribute("href"));const h=p.querySelector("li > .top-active");h instanceof HTMLElement&&h.click();break;case"ArrowUp":case"ArrowRight":case"ArrowDown":case"ArrowLeft":if(!o)break;if(t.key==="ArrowRight"||t.key==="ArrowLeft"){if(i.default.querySelectorVisible(p,"ul.top-popup_content > li:not(.top-popup_liNoSelectable) > .top-active > .top-popup_listMore"))t.preventDefault();else if(t.target.tagName==="INPUT")break}else t.preventDefault();const u=(r=p.querySelector("ul.top-popup_content > li:not(.top-popup_liNoSelectable) > .top-active"))==null?void 0:r.parentElement;if(t.key==="ArrowRight"&&u){const d=u.querySelector(".top-active > .top-popup_listMore");if(d instanceof HTMLElement)return d.click()}const g=i.default.querySelectorAllVisible(p,"ul.top-popup_content > li:not(.top-popup_liNoSelectable)"),m=g.length;if(!m)return;let l=-1;if(u&&(l=g.indexOf(u)),t.key==="ArrowUp"||t.key==="ArrowLeft"?l--:l++,t.key==="ArrowLeft"&&l===-1)return t.target.matches("input")?void 0:s.TopPopupWorker.close(p);if(t.key==="ArrowRight"&&l===m)return;l<0&&(l=m-1),l>m-1&&(l=0),p.querySelectorAll("ul.top-popup_content > li > .top-active").forEach(d=>d.classList.remove("top-active")),(n=g[l].querySelector(":scope > a, :scope > .a"))==null||n.classList.add("top-active"),s.TopPopupWorker.scrollToActive(p);break}}}const T=":root{--top-popup-z-index: 200000;--top-popup-transition-delay: .1s;--top-popup-offset: var(--top-padding-2);--top-popup-background-color: var(--color-layout-front-1);--top-popup-background-color-hover: var(--color-layout-front-3);--top-popup-background-color-active: var(--color-layout-front-4);--top-popup-border-color: var(--color-line-2-opacity);--top-popup-title-background-color: var(--color-layer-1);--top-popup-content-padding: calc(var(--top-popup-list-padding) + var(--top-popup-listItem-padding));--top-popup-list-padding: var(--top-padding-2);--top-popup-listItem-radius: var(--top-radius-2);--top-popup-listItem-padding: var(--top-padding-2)}.top-popup-front{position:relative}.top-popup-wrapper{--top-popup-height: 0px;--top-popup-right-bounding: 0px;--top-popup-bottom-bounding: 0px;--top-popup-top: 0px;--top-popup-right: calc(100vw - var(--top-popup-right-bounding));--top-popup-bottom: calc(var(--100vh) - var(--top-popup-bottom-bounding));--top-popup-left: 0px;--top-popup-margin: -10px;text-align:initial;white-space:normal;word-break:normal;position:absolute;z-index:200000;outline:none}.top-popup-wrapper:not(.top-popup-wrapper-shown){overflow:hidden}.top-popupPanel{cursor:default;box-shadow:var(--top-shadow-b);border-radius:14px;background:var(--top-popup-background-color);position:absolute;overflow:hidden;display:flex;flex-direction:column}.top-popup-wrapper>*{opacity:0;transition:opacity var(--top-popup-transition-delay) linear,transform var(--top-popup-transition-delay) linear}.top-popup-wrapper.p0>*{transform:translateY(-8px)}.top-popup-wrapper.p1>*{transform:translateY(8px)}.top-popup-wrapper.p2>*{transform:translate(8px)}.top-popup-wrapper.p3>*{transform:translateY(8px)}.top-popup-wrapper.p4>*{transform:translate(-8px)}.top-popup-wrapper-shown:not(.top-popup-wrapper-closed)>*{opacity:1;transform:translate(0)!important}.top-popup-wrapper.p0>.top-popup{top:-16px;left:-8px}.top-popup-wrapper.p1>.top-popup{bottom:calc(100% + 8px)}.top-popup-wrapper.p2>.top-popup{left:calc(100% + 8px)}.top-popup-wrapper.p3>.top-popup{top:calc(100% + 8px)}.top-popup-wrapper.p4>.top-popup{right:calc(100% + 8px)}.top-popup-wrapper.p2>.top-popup,.top-popup-wrapper.p4>.top-popup{margin-top:var(--top-popup-margin)}.top-popup-wrapper.p2.invert-y>.top-popup,.top-popup-wrapper.p4.invert-y>.top-popup{margin-bottom:var(--top-popup-margin)}.top-popup-wrapper.p1.with_notch>.top-popup{margin-bottom:5px}.top-popup-wrapper.p2.with_notch>.top-popup{margin-left:5px}.top-popup-wrapper.p3.with_notch>.top-popup{margin-top:5px}.top-popup-wrapper.p4.with_notch>.top-popup{margin-right:5px}.top-popup-wrapper.invert-x>.top-popup{right:0}.top-popup-wrapper.invert-y>.top-popup{bottom:0}.top-popup-wrapper>.notch{border:7.4px solid transparent;position:absolute;display:block}.top-popup-wrapper.p1>.notch{border-bottom:0;border-top:7.4px solid var(--color-layout-front-1);margin:0 0 7.4px -7.4px;bottom:100%;left:50%}.top-popup-wrapper.p2>.notch{border-left:0;border-right:7.4px solid var(--color-layout-front-1);margin:0 0 -7.4px 7.4px;bottom:50%;left:100%}.top-popup-wrapper.p3>.notch{border-top:0;border-bottom:7.4px solid var(--color-layout-front-1);margin:7.4px 0 0 -7.4px;top:100%;left:50%}.top-popup-wrapper.p4>.notch{border-right:0;border-left:7.4px solid var(--color-layout-front-1);margin:0 7.4px -7.4px 0;bottom:50%;right:100%}.top-popup-wrapper.p1>.notch-border{border-top-color:#0000000d;margin-bottom:6px}.top-popup-wrapper.p2>.notch-border{border-right-color:#0000000d;margin-left:6px}.top-popup-wrapper.p3>.notch-border{border-bottom-color:#0000000d;margin-top:6px}.top-popup-wrapper.p4>.notch-border{border-left-color:#0000000d;margin-right:6px}.top-popup_header,.top-popup_content,.top-popup_footer{font-size:14px}.top-popup_header,.top-popup_footer{display:flex;align-items:center;justify-content:space-between}.top-popup_header{color:var(--color-text-1);border-bottom:1px solid var(--top-popup-border-color);padding:var(--top-padding-3);font-weight:600}.top-popup_header>*{font-weight:400}.top-popup_header>.a{cursor:pointer}.top-popup_header>.a:hover{color:var(--color-text-primary)}.top-popup_headerButton{width:60px}.top-popup_widget{padding:var(--top-padding-2)}.top-popup_content{margin:0;flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--top-gap-4);-webkit-overflow-scrolling:touch}div.top-popup_content{color:var(--color-text-1);padding:var(--top-popup-content-padding)}div.top-popup_content>*{flex-shrink:0}div.top-popup_content>.top-button{margin:0}div.top-popup_content .top-unwrap{--top-unwrap-x: var(--top-popup-content-padding)}ul.top-popup_content{color:var(--color-text-1);padding:var(--top-popup-list-padding);gap:2px}ul.top-popup_content .top-unwrap{--top-unwrap-x: var(--top-popup-list-padding)}.top-popup_listItem{border-radius:var(--top-popup-listItem-radius);padding:var(--top-popup-listItem-padding);line-height:1!important}ul.top-popup_content li{margin:0;list-style:none;display:flex;position:relative}ul.top-popup_content li>*{flex-grow:1}ul.top-popup_content li>a:not(.top-button),ul.top-popup_content li>.a{cursor:pointer;box-sizing:border-box;border-radius:var(--top-popup-listItem-radius);background:var(--top-popup-background-color);padding:var(--top-popup-listItem-padding);color:var(--color-text-1)!important;font-size:14px;font-weight:400!important;text-decoration:none!important;font-style:normal;line-height:1!important;display:flex;flex:1 1 100%;align-items:center;transition:background-color .1s ease-in-out}.top-popup-wrapper-no_animate ul.top-popup_content li>a:not(.top-button),.top-popup-wrapper-no_animate ul.top-popup_content li>.a{transition:none}ul.top-popup_content li>a:not(.top-button):hover,ul.top-popup_content li>.a:hover{background:var(--top-popup-background-color-hover)}ul.top-popup_content li>a:not(.top-button).top-active,ul.top-popup_content li>.a.top-active{--top-icon-color: var(--color-text-primary) !important;background:var(--top-popup-background-color-active)}.top-popup_content+.top-popup_content{padding-top:0}.top-popup_listItem-title{background:var(--color-layer-1);color:var(--color-text-1);font-size:12px}.top-popup_listItem-delimiter{border-radius:3px;background:var(--top-popup-border-color);height:1px;padding:0;margin:4px}.top-popup_listMore{font-size:20px;margin:calc(0px - var(--top-popup-listItem-padding)) calc(0px - var(--top-popup-listItem-padding) / 2) calc(0px - var(--top-popup-listItem-padding)) 0}.top-popup_listMore.top-button{margin:0}ul.top-popup_content li>.a.top-popup_listMore{text-align:center;flex-basis:10px}ul.top-popup_content li>.a.top-popup_listMore:before{color:var(--color-text-2)}ul.top-popup_content li>*>.top-popup_listMore{margin-left:auto;color:var(--color-layer-4);font-size:14px}ul.top-popup_content li>*>i.top-popup_listMore:hover,ul.top-popup_content li>*>i.top-popup_listMore.top-active{color:var(--color-text-primary)}ul.top-popup_content li>*>i.top-popup_listMore:before{transform:rotate(90deg);display:block}ul.top-popup_content li a.close{background:none!important}.top-popup_content>[data-top-icon]:before{--top-icon-size: 20px}ul.top-popup_content li>[data-top-icon]:not(.top-button){--top-icon-color: var(--color-text-3);--top-icon-size: 20px;--top-icon-width: 20px}ul.top-popup_content li>[data-top-icon]:not(.top-button):before{height:1rem;margin-right:8px;transition:color .1s}ul.top-popup_content li:hover>[data-top-icon]:not(.top-button){--top-icon-color: var(--color-text-2)}.top-popup_footer{padding:var(--top-padding-3);border-top:1px solid var(--top-popup-border-color);display:flex;gap:var(--top-gap-2);justify-content:flex-end}.top-popup_footerSupportLink{margin-right:auto}.top-popup>[data-widget]{padding:0 var(--top-popup-list-padding)}.top-popup>[data-widget]+hr{margin:0 var(--top-popup-list-padding)}.top-popup .placeholder{border:1px solid #E0D9D9!important;border-right:none!important;border-left:none!important;background:#f9f9f9!important;margin:-1px 0;z-index:1;position:relative}.top-popup-wrapper.simple_list>.top-popup{min-width:0;white-space:nowrap}.top-popup_content .top-column{display:flex;flex-direction:column;gap:4px}html .top-popup .top-popup_content li>.top-button{margin:calc(var(--top-popup-listItem-padding) / 2) var(--top-popup-listItem-padding)}.top-popup li .check_all,.top-popup li .clear_all{cursor:pointer;color:var(--color-text-primary);padding:8px;display:inline-block}.top-popup li .check_all:hover,.top-popup li .clear_all:hover{text-decoration:underline}.top-popup li .clear_all{display:none}.top-popup_content table{margin:-9px 0}.top-popup_content table td,.top-popup_content table th{padding:9px var(--top-popup-listItem-padding) 9px 0;vertical-align:top}.top-popup_content table th{width:40%;font-weight:600;white-space:nowrap}ul.top-popup_content .a>[type=checkbox],ul.top-popup_content .a>[type=radio]{margin:-8px 0 -8px auto}ul.top-popup_content a>[class*=icon],ul.top-popup_content i.a>[class*=icon]{transition:.1s}.top-popup .buttons{border-radius:0 0 4px 4px;border-top:1px solid #BDC3C7;background:#ecf0f1;padding:10px 15px;margin:10px -15px -10px;white-space:nowrap}.top-popup_footer [class*=btn]:not(.btn-transparent){min-width:100px;padding:5px 14px;margin-left:10px}.top-popup_footer [class*=btn]:first-child{margin-left:0}.top-popup_footer .btn.full_width{margin:0;flex-grow:1}",S=":root{--top-popup-list-padding: 0px;--top-popup-listItem-radius: 0px;--top-popup-listItem-padding: var(--top-padding-4)}.top-popup-wrapper{--top-popup-footer-offset: 25px;width:auto!important;height:auto!important;position:fixed;top:0!important;right:0!important;left:0!important;overflow:hidden;transition:background .3s}.top-popup-wrapper-shown:not(.top-popup-wrapper-closed){background:#00000080;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.top-popup-wrapper-shown:not(.top-popup-wrapper-closed)>.top-popup{opacity:1!important}.top-popup{border-radius:8px 8px 0 0;width:auto!important;max-height:calc(100% - var(--header-height, 0px) - var(--toolbar-height, 0px) - 12px);margin:0!important;top:auto!important;right:0!important;bottom:var(--toolbar-height, 0px)!important;left:0!important;display:flex;flex-direction:column;transform:translateY(80%);transition:opacity .3s,transform .3s}.top-popup-wrapper.p-from-top{--top-popup-footer-offset: 0px;top:var(--header-height, 0px)!important}.with_dialog .top-popup-wrapper.p-from-top{top:50px!important}.top-popup-wrapper.p-from-top>.top-popup{border-radius:0 0 8px 8px;max-height:calc(100% - 24px);top:0!important;bottom:auto!important;transform:translateY(calc(-100% - 24px))}.top-popup_widget:not(.p-from-top){order:10}ul.top-popup_content{gap:0}ul.top-popup_content li:not(:last-child){border-bottom:1px solid var(--top-popup-border-color)}.top-popup-wrapper.top-style_alt>.top-popup>ul>li{border-bottom:none}.top-popup_footer{flex-direction:column-reverse}.top-popup_footer>.top-button{--top-forms-base-height: var(--top-forms-base-height_l);width:100%}ul.top-popup_content .top-popup_listItem-title{--top-popup-padding-v: 12px}ul.top-popup_content .top-popup_listItem-delimiter{background:var(--color-line-1-opacity);height:4px;margin:0}ul.top-popup_content li:first-child>.top-popup_listItem-delimiter{border-top:1px solid var(--top-popup-border-color)}",M=".top-popup{min-width:250px;max-width:calc(100vw - var(--top-popup-left) - 16px);max-height:calc(var(--top-popup-bottom) + var(--top-popup-height))}.top-popup-wrapper.invert-x>.top-popup{max-width:calc(100vw - var(--top-popup-right) - 16px)}.top-popup-wrapper.invert-y>.top-popup{max-height:calc(100vh - var(--top-popup-bottom) - 16px)}.top-popup-wrapper.p1>.top-popup{max-height:calc(var(--top-popup-top) - var(--header-height, 0px) - 16px)}.top-popup-wrapper.p3>.top-popup{max-height:calc(var(--top-popup-bottom) - 16px)}.top-popup-wrapper.p2>.top-popup{max-width:calc(var(--top-popup-right) - 16px)}.top-popup-wrapper.p4>.top-popup{max-width:calc(var(--top-popup-left) - 16px)}.top-popup-wrapper.p1.with_notch>.top-popup,.top-popup-wrapper.p3.with_notch>.top-popup{margin-left:-16px!important}.top-popup-wrapper.p1.with_notch>.notch,.top-popup-wrapper.p3.with_notch>.notch{margin-left:-8px!important}.top-popup-wrapper.p1.with_notch.invert-x,.top-popup-wrapper.p3.with_notch.invert-x{margin-left:3px!important}.top-popup-wrapper.p1.with_notch.invert-x>.notch,.top-popup-wrapper.p3.with_notch.invert-x>.notch{margin-left:-9px!important}ul.top-popup_content li>*>i.top-popup_listMore{visibility:hidden;transition:none}ul.top-popup_content li:hover>*>i.top-popup_listMore,ul.top-popup_content li>*.top-active>i.top-popup_listMore,ul.top-popup_content li>*>i.top-popup_listMore.top-active{visibility:visible}";f.Core.insertStyleToPage(T),f.Core.insertStyleToPage(S,"m"),f.Core.insertStyleToPage(M,"pc");class P extends x{static componentName="TopPopup";elActiveByDefault;elPopup;elPopupInner;elPopupHeader;elPopupWidget;elPopupBody;elPopupFooter;elFront;openerIsInput=!1;popupParent;$;elStartPosition;shift={top:0,left:0};isClosed=!1;isFirstClick=!0;type;options={popup:"",p:0,notch:!1,class:"",posBy:"left",frontSelector:"",invertX:!1,openByHover:!1,useOriginal:!1,transitionDuration:100,isFullScreen:!1};events={};constructor(t,p){super(),this.init(P.componentName,t,p)}async mount(){var e,r;if(!(this.el instanceof HTMLElement))return;const t=this.vueGetComponent();if(this.el.closest(".top-popup-wrapper")&&(this.popupParent=s.TopPopupWorker.getPopup(this.el.closest(".top-popup-wrapper"))),await this.mountJQuery(),i.default.css(this.el,"position")!=="absolute"&&(this.el.style.position="relative"),this.el.dataset.topPopupOpened="opened",this.elActiveByDefault=this.el.classList.contains("top-active"),this.el.classList.add("top-active"),this.openerIsInput=this.el.classList.contains("top-input"),t)this.type="vue",this.options.popup="",this.elPopup=i.default.genEl("div",{},this.options.popup);else if((e=this.options.popup)!=null&&e.match(/^[#.]/))this.type="selector",this.elPopup=document.querySelector(`${this.options.popup}.template`)||void 0;else{if(this.type="html",this.options.useOriginal)throw"Option useOriginal not allowed for text templates";this.elPopup=i.default.genEl("div",{},this.options.popup??"")}if(!this.elPopup||t!=null&&t.opened){if(this.options.useOriginal||t!=null&&t.opened){if(t!=null&&t.opened?this.elPopup=t.popup.elPopup:this.elPopup=document.querySelector(`${this.options.popup}.top-popup-wrapper-shown`)||void 0,this.elPopup){this.el.dataset.topPopupOpened="",this.elActiveByDefault||this.el.classList.remove("top-active"),s.TopPopupWorker.close(this.elPopup),setTimeout(()=>this.mount(),this.options.transitionDuration);return}throw"Option useOriginal state allowed only elements .template"}this.elPopup=document.querySelector(`${this.options.popup}:not(.top-popup-wrapper)`)||void 0}if(!this.elPopup)return;for(this.options.useOriginal?(this.elStartPosition=this.elPopup.closest(".top-popup-el-start-position"),this.elStartPosition||(this.elStartPosition=i.default.wrap(this.elPopup,"i"),this.elStartPosition.classList.add("top-popup-el-start-position","hidden"))):(this.elPopup=this.elPopup.cloneNode(!0),this.type==="selector"&&!this.elPopup.matches(".template")&&(this.elPopup.classList.remove("hidden"),this.elPopup.querySelector(":scope > .top-popup_content")||this.elPopup.classList.add("top-popup_content"),this.elPopup=i.default.wrap(this.elPopup,"div")),this.type==="html"&&(this.elPopup.querySelector(":scope > .top-popup_content")||(this.elPopup.classList.add("top-popup_content"),this.elPopup=i.default.wrap(this.elPopup,"div"))),(this.type==="selector"&&!this.elPopup.matches(".template")||this.type==="html"||this.type==="vue")&&(i.default.querySelectorAllArray(this.elPopup,"[data-top-popup]").forEach(n=>{n instanceof HTMLElement&&(n.dataset.topPopupPosBy="fixed")}),i.default.querySelectorAllArray(this.elPopup,".top-popup-wrapper").forEach(n=>n.remove()))),s.TopPopupWorker.decoratorBeforeOpen(this),t&&(this.options.class=t.classRef.value,t.transitionDurationRef.value!==void 0&&(this.options.transitionDuration=t.transitionDurationRef.value,this.elPopup instanceof HTMLElement&&this.elPopup.style.setProperty("--top-popup-transition-delay",this.options.transitionDuration+"ms"))),this.elPopupInner=document.createElement("div"),this.elPopupInner.classList.add("top-popupPanel","top-popup");this.elPopup.firstChild;)this.elPopupInner.appendChild(this.elPopup.firstChild);if(this.elPopup.append(this.elPopupInner),this.elPopup.classList.add("top-popup-wrapper"),this.options.class){const n=this.options.class.split(" ");this.elPopup.classList.add(...n)}this.options.notch&&(this.elPopup.classList.add("with_notch"),this.elPopup.insertAdjacentHTML("beforeend",'<i class="notch notch-border"></i><i class="notch"></i>')),await this.vueOpen(),this.elPopupHeader=this.elPopupInner.querySelector(".top-popup_header"),this.elPopupWidget=this.elPopupInner.querySelector(".top-popup_widget"),this.elPopupBody=this.elPopupInner.querySelector(".top-popup_content"),this.elPopupFooter=this.elPopupInner.querySelector(".top-popup_footer");const p=!!this.elPopup.querySelector('[data-widget="search"]');if(this.options.isFullScreen&&!p){const n=f.useI18n();!this.elPopupHeader&&n.Common.Close&&(this.elPopupHeader=i.default.genEl("i",{class:"top-popup_header"}),this.elPopupInner.prepend(this.elPopupHeader),this.elPopupHeader.prepend(i.default.genEl("i",{class:"a closer"},n.Common.Close)),this.elPopupHeader.append(i.default.genEl("i",{class:"top-popup_headerButton"})))}i.default.storage(this.elPopup,P.componentName,this),this.options.frontSelector&&(this.elFront=document.querySelector(this.options.frontSelector)),this.elFront||(this.elFront=this.el.closest(".top-popup-front")),this.elFront||(this.elFront=document.body),this.elPopup instanceof HTMLElement&&(this.elPopup.style.width=this.el.offsetWidth+"px",this.elPopup.style.height=this.el.offsetHeight+"px",this.elPopup.style.top=this.el.offsetTop+"px",this.elPopup.style.right=parseInt(this.el.style.right||"0")+"px",this.elPopup.style.bottom=parseInt(this.el.style.bottom||"0")+"px"),(r=this.el.parentElement)==null||r.insertBefore(this.elPopup,this.el),this.elPopup.classList.remove("template"),this.options.invertX&&this.elPopup.classList.add("invert-x");let o=!!this.el.closest(".modal-header");o||(o=!!this.el.closest("#top_panel")),o||(o=!!this.el.closest("#secondmenu")),o&&this.elPopup.classList.add("p-from-top"),setTimeout(()=>{var n;return(n=this.elPopup)==null?void 0:n.classList.add("top-popup-wrapper-shown")}),this.elFront&&!this.elFront.matches("body")&&(this.elFront.append(this.elPopup),this.shift.top=i.default.offset(this.el).top-this.el.offsetTop-i.default.offset(this.elFront).top,this.shift.left=i.default.offset(this.el).left-this.el.offsetLeft-i.default.offset(this.elFront).left,this.shift.top-=parseInt(this.el.style["margin-top"]||0),this.shift.left-=parseInt(this.el.style["margin-left"]||0),this.elPopup instanceof HTMLElement&&(this.elPopup.style.top=parseInt(this.elPopup.style.top||"0")+this.shift.top+"px",this.elPopup.style.left=parseInt(this.elPopup.style.left||"0")+this.shift.left+"px")),this.$&&f.Core.$&&this.$.trigger("aftershow.top-menu-popup",[f.Core.$(this.elPopup)]),this.recalcPosition(),this.elPopup.setAttribute("tabindex","0"),this.focus(),s.TopPopupWorker.decoratorAfterOpen(this),this.mountEvents()}async mountJQuery(){f.Core.$&&(this.$=f.Core.$(this.el))}focus(){let t;this.elPopup&&(t=i.default.querySelectorVisible(this.elPopup,".top-popup-autofocus"),t||(t=i.default.querySelectorVisible(this.elPopup,":read-write, select:not(:disabled)")),t||(t=i.default.querySelectorVisible(this.elPopup,".top-popup_footer .top-button")),t||(t=this.elPopup),this.openerIsInput||(t instanceof HTMLElement&&t.focus(),setTimeout(()=>{t instanceof HTMLElement&&t.focus()},this.options.transitionDuration)))}mountEvents(){this.addEventListenerWithUnmount(document,"mousedown",t=>this.onMousedown(t)),this.elPopup&&this.elPopupInner&&(this.addEventListenerWithUnmount(this.elPopup,"focus",t=>this.onFocus(t)),this.options.openByHover&&(this.addEventListenerWithUnmount(this.elPopup,"mouseleave",t=>this.onMouseleave(t)),this.addEventListenerWithUnmount(this.elPopupInner,"mouseleave",t=>this.onMouseleave(t)))),this.options.isFullScreen&&this.elPopupBody&&this.addEventListenerWithUnmount(this.elPopupBody,"touchmove",t=>this.onTouchmove(t))}onMousedown(t){if(!this.elPopup||!(t.target instanceof Element)||!this.isFirstClick||(this.isFirstClick=!1,setTimeout(()=>this.isFirstClick=!0),t instanceof MouseEvent&&t.button!==0))return;let p=i.default.querySelectorVisibleLast(document.body,":scope > .top-popup-wrapper");p&&p!==this.elPopup||t.target.closest(".top-popup-front")&&(p=i.default.querySelectorVisibleLast(t.target.closest(".top-popup-front"),":scope > .top-popup-wrapper"),p&&p!==this.elPopup)||this.elPopup.contains(t.target)||this.elPopup.closest(".ui-dialog")&&!t.target.closest(".ui-dialog")||s.TopPopupWorker.decoratorIsIgnoreOuterClick(t)||s.TopPopupWorker.close(this.elPopup)}onFocus(t){if(t.target instanceof Element&&t.target.matches("input")||this.isClosed)return;s.TopPopupWorker.getAllVisible().forEach(o=>{var e,r,n,c;(e=this.elPopup)!=null&&e.contains(o)||((r=this.popupParent)==null?void 0:r.elPopup)===o||((c=(n=this.popupParent)==null?void 0:n.popupParent)==null?void 0:c.elPopup)===o||s.TopPopupWorker.close(o)})}onMouseleave(t){setTimeout(()=>{this.elPopupInner&&this.elPopupInner.matches(":hover")||!this.elPopup||s.TopPopupWorker.close(this.elPopup)},100)}onResize(){this.elPopup&&this.elPopup.parentElement!==document.body&&document.body.append(this.elPopup),this.elPopup instanceof HTMLElement&&(this.elPopup.style.top=i.default.offset(this.el).top+"px",this.elPopup.style.left=i.default.offset(this.el).left+"px")}unmount(){super.unmount(),this.el instanceof HTMLElement&&(this.el.dataset.topPopupOpened=""),this.elActiveByDefault||this.el.classList.remove("top-active");let t=this.el.getAttribute("style");t&&(t=t.replace(/position:[^;]*;?/g,""),this.el.setAttribute("style",t))}recalcPosition(t){var _,E;if(!(this.elPopup instanceof HTMLElement))return;let p=t??this.options.p,o;if(this.el instanceof HTMLElement)switch(this.elPopup.style.height=this.el.offsetHeight+"px",this.elPopup.classList.remove("p0","p1","p2","p3","p4"),this.elPopup.classList.add("p"+p),this.options.posBy){case"left":o=this.el.offsetLeft+parseInt(this.el.style["margin-left"]||"0"),o+=this.shift.left,this.elPopup.style.left=o+"px";break;case"right":if(!(this.el.offsetParent instanceof HTMLElement))break;o=this.el.offsetLeft+parseInt(this.el.style["margin-left"]||"0"),this.elPopup.style.right=this.el.offsetParent.offsetWidth-this.el.offsetWidth-o+"px";break;case"fixed":this.addEventListenerWithUnmount(window,"resize",()=>this.onResize()),this.onResize();break;default:(_=this.options.posBy)==null||_.append(this.elPopup)}const e=this.elPopup.getBoundingClientRect();this.elPopup.style.setProperty("--top-popup-height",this.elPopup.offsetHeight+"px"),this.elPopup.style.setProperty("--top-popup-right-bounding",e.right+"px"),this.elPopup.style.setProperty("--top-popup-bottom-bounding",e.bottom+"px"),this.elPopup.style.setProperty("--top-popup-top",e.top+"px"),this.elPopup.style.setProperty("--top-popup-left",e.left+"px"),this.elPopupInner instanceof HTMLElement&&(this.elPopupInner.style.maxWidth="unset",this.elPopupInner.style.maxHeight="unset");const r={top:!1,right:!1,bottom:!1,left:!1},n={top:!1,right:!1,bottom:!1,left:!1};let c=e.left>window.innerWidth/2,h=e.top>window.innerHeight/2;p===4&&(c=!c),p===1&&(h=!h);const u=(E=this.elPopupInner)==null?void 0:E.getBoundingClientRect();let g,m;const l=i.default.cssNumber(this.elPopup,"--top-popup-offset"),d=this.el.offsetHeight,v=this.el.offsetWidth;u&&(g=window.innerWidth-u.right,m=window.innerHeight-u.bottom,u.top<l&&(r.top=!0,u.top<l*2-u.height+d&&(n.top=!0)),g<l&&(r.right=!0,g<l*2-u.width+v&&(n.right=!0)),m<l&&(r.bottom=!0,m<l*2-u.height+d&&(n.bottom=!0)),u.left<l&&(r.left=!0,u.left<l*2-u.width+d&&(n.left=!0)));const C=(b,a)=>{if(b==="x"){if(!r.right&&!r.left||(a===1||a===3)&&!n.right&&!n.left&&c)return a;r.right&&(a===0||a===2)&&c&&(a=4),r.left&&(a===0||a===4)&&c&&(a=2)}if(b==="y"){if(!r.top&&!r.bottom||(a===2||a===4)&&!n.top&&!n.bottom&&h)return a;r.top&&(a===0||a===1)&&h&&(a=3),r.bottom&&h&&(a=1)}return a};let L=["x","y"];(p===0||p===1||p===3)&&(L=["y","x"]);let w=p??0;L.forEach(b=>{w=C(b,w)}),p=w,r.bottom&&(p===2||p===4)&&h&&this.elPopup.classList.add("invert-y"),r.right&&(p===0||p===1||p===3)&&this.elPopup.classList.add("invert-x"),this.elPopup.classList.remove("p0","p1","p2","p3","p4"),this.elPopup.classList.add("p"+p),this.elPopupInner instanceof HTMLElement&&(this.elPopupInner.style.maxWidth="",this.elPopupInner.style.maxHeight=""),s.TopPopupWorker.scrollToActive(this.elPopup)}onTouchmove(t){var p,o,e;if(t.currentTarget instanceof HTMLElement&&t.target instanceof HTMLElement){if(t.currentTarget.scrollWidth>t.currentTarget.offsetWidth||(p=t.target.parentElement)!=null&&p.scrollWidth&&((o=t.target.parentElement)!=null&&o.offsetWidth)&&t.target.parentElement.scrollWidth>((e=t.target.parentElement)==null?void 0:e.offsetWidth))return;t.currentTarget.matches(".has_scroll")||t.preventDefault()}}close(){var t;this.isClosed||(this.isClosed=!0,this.$&&f.Core.$&&this.elPopup&&this.$.trigger("afterclose.top-menu-popup",[f.Core.$(this.elPopup)]),!s.TopPopupWorker.noClose&&(this.unmount(),(t=this.elPopup)==null||t.classList.add("top-popup-wrapper-closed"),setTimeout(()=>{var e,r,n,c,h;if(this.vueClose(),!this.elPopup)return;this.options.useOriginal?(this.elPopup.removeAttribute("style"),this.elPopup.classList.remove("top-popup-wrapper-shown","top-popup-wrapper-closed"),this.elPopup.classList.add("template"),(e=this.elStartPosition)==null||e.append(this.elPopup),(r=this.elPopup.querySelector("div.top-popup_content.top-column"))==null||r.classList.remove("top-column"),(n=this.elPopup.querySelector(".notch-border"))==null||n.remove(),(c=this.elPopup.querySelector(".notch"))==null||c.remove(),(h=this.elPopupInner)==null||h.replaceWith(...this.elPopupInner.childNodes),i.default.storageClear(this.elPopup)):(i.default.storageClear(this.elPopup),this.elPopup.remove(),delete this.elPopup);const p=s.TopPopupWorker.getAllVisible(),o=p.length&&p[p.length-1];o?s.TopPopupWorker.getPopup(o).focus():document.documentElement.classList.remove("with_popup")},this.options.transitionDuration)))}async vueOpen(){var t;await((t=this.vueGetComponent())==null?void 0:t.onOpen(this))}vueClose(){var t;(t=this.vueGetComponent())==null||t.onClose(this)}vueGetComponent(){if(this.el instanceof HTMLElement&&this.options.id)return s.TopPopupWorker.vueConnectors.get(this.options.id)}}I.init(),y.TopLibPopup=P,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})}));
|
|
2
|
+
//# sourceMappingURL=popup-C05LLKni.amd.js.map
|