@topvisor/ui 1.2.0 → 1.3.0
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-CXqQSo9c.amd.js +2 -0
- package/.chunks/core-CXqQSo9c.amd.js.map +1 -0
- package/.chunks/core-CY6RkZz2.es.js +197 -0
- package/.chunks/core-CY6RkZz2.es.js.map +1 -0
- package/.chunks/datepicker-BiaXdEIn.es.js +44 -0
- package/.chunks/datepicker-BiaXdEIn.es.js.map +1 -0
- package/.chunks/datepicker-DUoArkDy.amd.js +2 -0
- package/.chunks/datepicker-DUoArkDy.amd.js.map +1 -0
- package/.chunks/dialog_selectorRegions-CPRVbPAk.amd.js +2 -0
- package/.chunks/dialog_selectorRegions-CPRVbPAk.amd.js.map +1 -0
- package/.chunks/dialog_selectorRegions-Zlm6K2mk.es.js +188 -0
- package/.chunks/dialog_selectorRegions-Zlm6K2mk.es.js.map +1 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CLahwA6M.es.js +322 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CLahwA6M.es.js.map +1 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-D8NggYHD.amd.js +2 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-D8NggYHD.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-CgtkdwgA.amd.js +3 -0
- package/.chunks/forms-CgtkdwgA.amd.js.map +1 -0
- package/.chunks/forms-DarRVke_.es.js +2045 -0
- package/.chunks/forms-DarRVke_.es.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-CT-EXxJj.amd.js +2 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CT-EXxJj.amd.js.map +1 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DzJ_pc-d.es.js +184 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DzJ_pc-d.es.js.map +1 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-BLMYjYLV.amd.js +2 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-BLMYjYLV.amd.js.map +1 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-COD_4iTy.es.js +110 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-COD_4iTy.es.js.map +1 -0
- package/.chunks/notice-CPtAnc7p.amd.js +4 -0
- package/.chunks/notice-CPtAnc7p.amd.js.map +1 -0
- package/.chunks/notice-fno9saBY.es.js +175 -0
- package/.chunks/notice-fno9saBY.es.js.map +1 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-BS0aEP4i.es.js +143 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-BS0aEP4i.es.js.map +1 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-DLebrPmi.amd.js +2 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-DLebrPmi.amd.js.map +1 -0
- package/.chunks/popup-AG94kehM.es.js +459 -0
- package/.chunks/popup-AG94kehM.es.js.map +1 -0
- package/.chunks/popup-CtvJLWn3.amd.js +2 -0
- package/.chunks/popup-CtvJLWn3.amd.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-3M9LC_L_.es.js +79 -0
- package/.chunks/utils-3M9LC_L_.es.js.map +1 -0
- package/.chunks/utils-BitKP31L.es.js +302 -0
- package/.chunks/utils-BitKP31L.es.js.map +1 -0
- package/.chunks/utils-D9D3zzjc.amd.js +2 -0
- package/.chunks/utils-D9D3zzjc.amd.js.map +1 -0
- package/.chunks/utils-DcP4RFmH.amd.js +2 -0
- package/.chunks/utils-DcP4RFmH.amd.js.map +1 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-BK-pTu3V.amd.js +2 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-BK-pTu3V.amd.js.map +1 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-xwjgBq1L.es.js +39 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-xwjgBq1L.es.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 +33 -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,2 @@
|
|
|
1
|
+
define(["require","exports","vue","./forms-CgtkdwgA.amd","../popup/worker.amd","./dialogs.vue_vue_type_script_setup_true_lang-D8NggYHD.amd","../utils/dom.amd"],(function(r,L,_,i,l,U,S){"use strict";if(typeof _>"u")var _=window.Vue;class V{static isInited=!1;static init(){this.isInited||(this.isInited=!0,document.addEventListener("mouseover",e=>{var o;!(e.target instanceof HTMLElement)||!((o=e.target.dataset)!=null&&o.topPopupOpenByHover)||e.target.click()}),document.addEventListener("scroll",()=>{i.Core.state.isMobile||i.Core.state.isMobileUA||l.TopPopupWorker.getAll().forEach(e=>l.TopPopupWorker.close(e))}),i.Events.addOnReize(e=>{i.Core.state.isMobile&&e.topEvent.widthDiff&&l.TopPopupWorker.getAll().forEach(o=>l.TopPopupWorker.close(o))}),document.addEventListener("click",this.onclick,{capture:!0}))}static async onclick(e){var n,s,c,a,D;if(!(e.target instanceof HTMLElement)||e.target.dataset.topPopupDisabled)return;let o;switch(!0){case!!((n=e.target.dataset)!=null&&n.topPopup):o=e.target;break;case!!((s=e.target.parentElement)!=null&&s.dataset.topPopup):o=e.target.parentElement;break;case!!((a=(c=e.target.parentElement)==null?void 0:c.parentElement)!=null&&a.dataset.topPopup):o=(D=e.target.parentElement)==null?void 0:D.parentElement;break}o&&(o.dataset.topPopupDisabled||o.dataset.topPopupOpened||(e.preventDefault(),await l.TopPopupWorker.openByOpener(o)))}}let g;const I={mounted:async(t,e)=>{g||(g=(await new Promise((c,a)=>r(["../utils/dom.amd"],c,a))).storage);const o=e.arg,n=e.value;g(t,o,n)}};let h,d=[],T;const M=async()=>{const{isVisible:t}=await new Promise((o,n)=>r(["../utils/dom.amd"],o,n));if(d=d.filter(t),!d.length)return;d[0].focus(),d=[]},$=async t=>{h||(h=await new Promise((e,o)=>r(["../utils/lodash.amd"],e,o))),T||(T=h.debounce(M,30)),d.push(t),T()},R={mounted:function(t,e){t.__TOP_V_FOCUS_VALUE=e.value??!0,(e.value??!0)&&$(t)},updated:function(t,e){e.modifiers.onupdate&&t.__TOP_V_FOCUS_VALUE!==(e.value??!0)&&(t.__TOP_V_FOCUS_VALUE=e.value??!0,(e.value??!0)&&$(t))}};let f,b;const C=t=>(typeof t=="boolean"||(t?t={...t}:t={},t.behavior??="smooth",t.block??="nearest",t.inline??="nearest"),t);let v,E;const H=async()=>{if(!v)return;const t=await P(v);t.isVisible&&v.scrollIntoView(t.scrollIntoViewOptions)},O=async t=>{b||(b=await new Promise((e,o)=>r(["../utils/lodash.amd"],e,o))),E||(E=b.debounce(H,30)),v=t,E()},P=async(t,e)=>{f||(f=await new Promise((n,s)=>r(["../utils/dom.amd"],n,s)));let o=f.storage(t,"v-top-scrollIntoView");return o||(o={isVisible:S.isVisible(t),scrollIntoViewOptions:C(e)},f.storage(t,"v-top-scrollIntoView",o)),o},W={async mounted(t,e){await P(t,e.value),e.modifiers.immediate&&O(t)},async updated(t,e){const o=await P(t,e.value);o.scrollIntoViewOptions=C(e.value);const n=S.isVisible(t);n&&o.isVisible!==n&&O(t),o.isVisible=n}};let u;const x={async mounted(t){u||(u=await new Promise((e,o)=>r(["../utils/scroll.amd"],e,o))),u.connectScrollShadow(t)},async unmounted(t){u||(u=await new Promise((e,o)=>r(["../utils/scroll.amd"],e,o))),u.unconnectScrollShadow(t)}};let p;const N={mounted(t,e,o){const n=e.value||"top-sticky";p=new IntersectionObserver(s=>{let c=s[0].intersectionRatio<1;c&&e.modifiers.bottom&&s[0].intersectionRect.y===0&&(c=!1),t.classList.toggle(n,c)},{threshold:[1]}),p.observe(t)},unmounted(t,e,o){p==null||p.disconnect()}};let k=!1,m;const w=new Map,F=(t,e)=>{const{distance:o,percent:n}=t.directiveSwipUpOptions,s=t.getBoundingClientRect().top,c=e*n/100/o,a=(e-s)/c;a<=o?t.style.transform=`translateY(${o-a}px)`:t.style.transform="translateY(0px)"},B=t=>{let e=window.innerHeight;window.addEventListener("scroll",()=>{w.forEach(o=>F(o,e))},{passive:!0}),m=new IntersectionObserver(o=>{e=window.innerHeight,o.forEach(n=>{const s=n.target;if(n.intersectionRatio<.1?w.delete(s):w.set(s,s),n.intersectionRatio===0){const{distance:c}=s.directiveSwipUpOptions;s.style.transform=`translateY(${c}px)`}})},{threshold:.1})},Y={mounted(t,e,o){var n,s;i.Core.state.isMobileUA||(t.directiveSwipUpOptions={distance:((n=e.value)==null?void 0:n.distance)??100,percent:((s=e.value)==null?void 0:s.percent)??30},k||(B(),k=!0),m.observe(t))},unmounted(t,e,o){w.delete(t),m==null||m.unobserve(t)}},y=t=>{var e,o;if(!((o=(e=i.Core.$)==null?void 0:e.ui)!=null&&o.tooltip)){console.info("Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip");return}return i.Core.$(t)},A=(t,e)=>{var n;const o=t.value??{};return o.content??=(n=e.props)==null?void 0:n.title,o.content=String(o.content).replace(/\r\n|\r|\n/g,"<br>"),o.position??={my:"bottom-18px",at:"top center"},o},j={mounted(t,e,o){var n;(n=y(t))==null||n.tooltip(A(e,o))},updated(t,e,o,n){var a;const s=A(e,o),c=(a=y(t))==null?void 0:a.tooltip("instance");c&&(c.options={...c.options,...s})},unmounted(t,e,o){var n;(n=y(t))==null||n.tooltip("destroy")}},z=_.defineAsyncComponent(()=>new Promise((t,e)=>r(["./notice-CPtAnc7p.amd"],t,e)));window.vd=console.log;const G={install:(t,e)=>{t.config.globalProperties.$core=i.Core,t.config.globalProperties.$vd=console.log;for(const o in e)i.Core.state[o]=e[o];e.widthForMobile&&(i.Core.widthForMobile=e.widthForMobile),e.themeName&&(i.Core.themeName=e.themeName),i.Core._setState(),e.topPopupOptions&&(l.TopPopupWorker.options=e.topPopupOptions),V.init(),U.TopDialogWorker.init(e.topDialogOptions),t.directive("top-data",I),t.directive("top-focus",R),t.directive("top-scroll-into-view",W),t.directive("top-scroll-shadow",x),t.directive("top-sticky",N),t.directive("top-swim-up",Y),t.directive("top-tooltip",j),t.component("TopAvatar",i._sfc_main$3),t.component("TopButton",i._sfc_main$1),t.component("TopCheckbox",i._sfc_main$4),t.component("TopControlLabel",i._sfc_main$5),t.component("TopHint",i._sfc_main$2),t.component("TopInput",i._sfc_main),t.component("TopInputDate",i._sfc_main$6),t.component("TopInputRange",i._sfc_main$7),t.component("TopLoadbar",i.TopLoadbar),t.component("TopRadio",i._sfc_main$8),t.component("TopSelect",i._sfc_main$9),t.component("TopSwitcher",i._sfc_main$10),t.component("TopTextarea",i._sfc_main$11),t.component("TopNotice",z),t.component("TopDialogs",U._sfc_main)}};L.core=G}));
|
|
2
|
+
//# sourceMappingURL=core-CXqQSo9c.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-CXqQSo9c.amd.js","sources":["../../src/components/popup/lib/worker.globalEvents.ts","../../src/core/directives/data.ts","../../src/core/directives/focus.ts","../../src/core/directives/scrollIntoView.ts","../../src/core/directives/scrollShadow.ts","../../src/core/directives/sticky.ts","../../src/core/directives/swimUp.ts","../../src/core/directives/tooltip.ts","../../src/core/plugins/core.ts"],"sourcesContent":["import Core from '@/core/core/core';\nimport Events from '@/core/core/events';\nimport Worker from '@/components/popup/lib/worker';\n\n/**\n * Глобальные события, для реализации Popup\n */\nclass WorkerEvents {\n\n\tprivate static isInited = false;\n\n\t/**\n\t * Добавить глобальные обработчики\n\t *\n\t * Добавляются на страницу один раз и навсегда\n\t */\n\tstatic init(): void {\n\t\tif (this.isInited) return;\n\n\t\tthis.isInited = true;\n\n\t\t// автоматическое открытие при наведении мыши, событие глобальное, так как инициализация popup отложена\n\t\tdocument.addEventListener('mouseover', (e) => {\n\t\t\tif (!(e.target instanceof HTMLElement) || !e.target.dataset?.topPopupOpenByHover) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\te.target.click();\n\t\t});\n\n\t\t// при скролле страницы закрыть Popup\n\t\tdocument.addEventListener('scroll', () => {\n\t\t\tif (Core.state.isMobile || Core.state.isMobileUA) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\n\t\t});\n\n\t\tEvents.addOnReize(e => {\n\t\t\t// закрыть popup при повороте экрана телефона\n\t\t\t// если была отображена ПК версия, она будет закрыта\n\t\t\tif (Core.state.isMobile && e.topEvent.widthDiff) {\n\t\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\n\t\t\t}\n\t\t});\n\n\t\tdocument.addEventListener('click', this.onclick, { capture: true });\n\t}\n\n\t/**\n\t * Глобальный обработчик кликов\n\t *\n\t * Обрабатывает клики на открытие Popup\n\t */\n\tprivate static async onclick(e: Event): Promise<void> {\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tif (e.target.dataset.topPopupDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet elOpener: HTMLElement | undefined;\n\n\t\tswitch (true) {\n\t\t\tcase !!e.target.dataset?.topPopup:\n\t\t\t\telOpener = e.target;\n\n\t\t\t\tbreak;\n\n\t\t\tcase !!e.target.parentElement?.dataset.topPopup:\n\t\t\t\telOpener = e.target.parentElement;\n\n\t\t\t\tbreak;\n\n\t\t\tcase !!e.target.parentElement?.parentElement?.dataset.topPopup:\n\t\t\t\telOpener = e.target.parentElement?.parentElement;\n\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (!elOpener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\t// меню уже открыто\n\t\tif (elOpener.dataset.topPopupOpened) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tawait Worker.openByOpener(elOpener);\n\t}\n}\n\nexport default WorkerEvents;\n","import type { DirectiveBinding, ObjectDirective } from 'vue';\n\nlet storage: any;\n\n/**\n * Сохранить данные в элементе\n *\n * Для доступа к данным можно воспользоваться ui/utils/dom storage()\n */\nconst data = {\n\tmounted: async (el: HTMLElement, binding: DirectiveBinding) => {\n\t\tif (!storage) {\n\t\t\tconst UtilsDom = await import('@/core/utils/dom');\n\n\t\t\tstorage = UtilsDom.storage;\n\t\t}\n\n\t\tconst name = binding.arg;\n\t\tconst value = binding.value;\n\n\t\tstorage(el, name, value);\n\t},\n};\n\nexport default data;\n","import type { DirectiveBinding } from 'vue';\n\ntype Binding = DirectiveBinding<boolean, 'onupdate'>;\n\nlet UtilsLodash: typeof import('@/core/utils/lodash');\n\n/**\n * Список элементов, на которых бала запрошена фокусировка, для дедупликации фокусировок\n */\nlet elsActive: HTMLElement[] = [];\n\n/**\n * Функция скролла с дедупликацией\n */\nlet focusOnElActiveDebounce: Function;\n\n/**\n * Выполнить фокусировку на активном элементе\n *\n * Если фокусирока запрошена на несколько элементов, будет выбран первый элемент\n */\nconst focusOnElActive = async () => {\n\tconst { isVisible } = await import('@/core/utils/dom');\n\telsActive = elsActive.filter(isVisible)\n\n\tif (!elsActive.length) return;\n\n\tconst el = elsActive[0];\n\n\tel.focus();\n\n\t// // UX: Если выбрано несколько чекбоксов или радио после выбора фокусировка будет снята, чтобы не делать выбор за пользователя\n\t// if (elsActive.length && el.nodeName === 'INPUT') {\n\t// \tconst type = (el as HTMLInputElement).type;\n\t// \tif (type === 'checkbox' || type === 'radio') el.blur();\n\t// }\n\n\telsActive = [];\n};\n\n/**\n * Выполнить дедуплицированную фокусировку на элементе\n */\nconst focusOnElDebounce = async (el: HTMLElement) => {\n\tif (!UtilsLodash) UtilsLodash = await import('@/core/utils/lodash');\n\tif (!focusOnElActiveDebounce) focusOnElActiveDebounce = UtilsLodash.debounce(focusOnElActive, 30);\n\n\telsActive.push(el);\n\n\tfocusOnElActiveDebounce();\n};\n\n/**\n * Фокусировка на элементе сразу после его отображения\n */\nconst focus = {\n\tmounted: function (el: HTMLElement, binding: Binding) {\n\t\tel['__TOP_V_FOCUS_VALUE'] = binding.value ?? true;\n\n\t\tif (binding.value ?? true) focusOnElDebounce(el);\n\t},\n\n\tupdated: function (el: HTMLElement, binding: Binding) {\n\t\tif (!binding.modifiers.onupdate) return;\n\n\t\tif (el['__TOP_V_FOCUS_VALUE'] === (binding.value ?? true)) return;\n\t\tel['__TOP_V_FOCUS_VALUE'] = binding.value ?? true;\n\n\t\tif (binding.value ?? true) focusOnElDebounce(el);\n\t},\n};\n\nexport default focus;\n","import type { DirectiveBinding, ObjectDirective } from 'vue';\nimport { isVisible } from '@/core/utils/dom';\n\ntype Binding = DirectiveBinding<ScrollIntoViewOptions | boolean | undefined, 'immediate'>;\n\ntype Storage = {\n\t/**\n\t * Сохраненное состояние видимости\n\t */\n\tisVisible: boolean,\n\n\t/**\n\t * Текущие настройки скролла\n\t */\n\tscrollIntoViewOptions: ScrollIntoViewOptions | boolean\n};\n\nlet UtilsDom: typeof import('@/core/utils/dom');\nlet UtilsLodash: typeof import('@/core/utils/lodash');\n\n/**\n * Сгенерировать настройки для скролла\n *\n * @see https://developer.mozilla.org/ru/docs/Web/API/Element/scrollIntoView\n */\nconst genScrollIntoViewOptions = (scrollIntoViewOptions?: ScrollIntoViewOptions | boolean) => {\n\tif (typeof scrollIntoViewOptions === 'boolean') return scrollIntoViewOptions;\n\n\tif (!scrollIntoViewOptions) {\n\t\tscrollIntoViewOptions = {};\n\t} else {\n\t\tscrollIntoViewOptions = { ...scrollIntoViewOptions };\n\t}\n\n\tscrollIntoViewOptions.behavior ??= 'smooth';\n\tscrollIntoViewOptions.block ??= 'nearest';\n\tscrollIntoViewOptions.inline ??= 'nearest';\n\n\treturn scrollIntoViewOptions;\n};\n\n/**\n * Активный элемент, для дедупликации скроллов\n *\n * Только один элемент на странице может считаться активным\n */\nlet elActive: HTMLElement | undefined;\n\n/**\n * Функция скролла с дедупликацией\n */\nlet scrollToElActiveDebounce: Function;\n\n/**\n * Выполнить скролл к текущему активному элементу\n */\nconst scrollToElActive = async () => {\n\tif (!elActive) return;\n\n\tconst storage = await useStorage(elActive);\n\tif (!storage.isVisible) return;\n\n\telActive.scrollIntoView(storage.scrollIntoViewOptions);\n};\n\n/**\n * Выполнить дедуплицированный скролл к элементу\n *\n * Будет выполнен скролл к самому последнему элементу, вызвавшему срабатывание директивы\n */\nconst scrollToElDebounce = async (el: HTMLElement) => {\n\tif (!UtilsLodash) UtilsLodash = await import('@/core/utils/lodash');\n\tif (!scrollToElActiveDebounce) scrollToElActiveDebounce = UtilsLodash.debounce(scrollToElActive, 30);\n\n\telActive = el;\n\n\tscrollToElActiveDebounce();\n};\n\n/**\n * Данные, связанные с элементом и директивой\n */\nconst useStorage = async (el: HTMLElement, scrollIntoViewOptions?: ScrollIntoViewOptions | boolean) => {\n\tif (!UtilsDom) UtilsDom = await import('@/core/utils/dom');\n\n\tlet storage: Storage | undefined = UtilsDom.storage(el, 'v-top-scrollIntoView');\n\n\t// инициализация\n\tif (!storage) {\n\t\tstorage = {\n\t\t\tisVisible: isVisible(el),\n\t\t\tscrollIntoViewOptions: genScrollIntoViewOptions(scrollIntoViewOptions),\n\t\t};\n\n\t\tUtilsDom.storage(el, 'v-top-scrollIntoView', storage);\n\t}\n\n\treturn storage;\n};\n\nconst scrollIntoView: ObjectDirective = {\n\tasync mounted(el: HTMLElement, binding: Binding) {\n\t\tawait useStorage(el, binding.value);\n\n\t\tif (binding.modifiers.immediate) {\n\t\t\tscrollToElDebounce(el);\n\t\t}\n\t},\n\n\tasync updated(el: HTMLElement, binding: Binding) {\n\t\tconst storage = await useStorage(el, binding.value);\n\t\tstorage.scrollIntoViewOptions = genScrollIntoViewOptions(binding.value);\n\n\t\tconst isVisibleNew = isVisible(el);\n\t\tif (isVisibleNew && storage.isVisible !== isVisibleNew) {\n\t\t\tscrollToElDebounce(el);\n\t\t}\n\n\t\tstorage.isVisible = isVisibleNew;\n\t},\n};\n\nexport default scrollIntoView;\n","let UtilsScroll: typeof import('@/core/utils/scroll');\n\n/**\n * Добавить отображение тени при появлении скролла у элемента\n *\n * Будут добавлены события для усатновки модификаторов тени в зависимости от скролла элемента\n *\n * Модификаторы:\n * - top-scrollShadow\n * - top-scrollShadow-started\n * - top-scrollShadow-finished\n */\nconst connectScrollShadow = {\n\tasync mounted(el) {\n\t\tif (!UtilsScroll) UtilsScroll = await import('@/core/utils/scroll');\n\n\t\tUtilsScroll.connectScrollShadow(el);\n\t},\n\n\tasync unmounted(el) {\n\t\tif (!UtilsScroll) UtilsScroll = await import('@/core/utils/scroll');\n\n\t\tUtilsScroll.unconnectScrollShadow(el);\n\t},\n};\n\nexport default connectScrollShadow;\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\n\nlet appStickyObserver: IntersectionObserver;\n\n/**\n * Добавление sticky\n * К элементу добляется класс переданный как значение диррективы либо **'top-sticky'** по умолчанию\n */\nconst sticky = {\n\tmounted(el: HTMLElement, binding: DirectiveBinding, _vnode: VNode) {\n\t\tconst className = binding.value || 'top-sticky';\n\n\t\tappStickyObserver = new IntersectionObserver(entries => {\n\t\t\tlet condition = entries[0].intersectionRatio < 1;\n\t\t\tif (condition) {\n\t\t\t\tif (binding.modifiers.bottom && entries[0].intersectionRect.y === 0) condition = false;\n\t\t\t}\n\n\t\t\tel.classList.toggle(className, condition);\n\t\t}, {\n\t\t\tthreshold: [1],\n\t\t});\n\n\t\tappStickyObserver.observe(el);\n\t},\n\n\tunmounted(_el: HTMLElement, _binding: DirectiveBinding, _vnode: VNode) {\n\t\tappStickyObserver?.disconnect();\n\t},\n};\n\nexport default sticky;\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\nimport Core from '@/core/core/core';\n\ninterface HTMLElementWithSwimUpOptions extends HTMLElement {\n\tdirectiveSwipUpOptions: {\n\t\tdistance: number,\n\t\tpercent: number,\n\t};\n}\n\nlet appSwimUpInited = false;\nlet appSwimUpObserver: IntersectionObserver;\nconst appSwimUpEls = new Map();\n\n/**\n * Отодвинуть блок в зависимости от скролла старинцы\n * @param el\n * @param windowHeight\n */\nconst swimUpElTransform = (el: HTMLElementWithSwimUpOptions, windowHeight: number): void => {\n\tconst { distance, percent } = el.directiveSwipUpOptions;\n\n\tconst elTop = el.getBoundingClientRect().top;\n\n\t// во столько раз triggerHeight должен быть меньше, чтобы закончить подплытие к нужной высоте экрана\n\tconst triggerHeightReducer = windowHeight * percent / 100 / distance;\n\tconst triggerHeight = (windowHeight - elTop) / triggerHeightReducer;\n\n\tif (triggerHeight <= distance) {\n\t\tel.style.transform = `translateY(${distance - triggerHeight}px)`;\n\t} else {\n\t\tel.style.transform = 'translateY(0px)';\n\t}\n};\n\nconst swimUpInit = (_el: HTMLElementWithSwimUpOptions): void => {\n\tlet windowHeight = window.innerHeight;\n\n\twindow.addEventListener('scroll', () => {\n\t\tappSwimUpEls.forEach((el) => swimUpElTransform(el, windowHeight));\n\t}, { passive: true });\n\n\t// проверка того, что элемент в зоне видимости\n\tappSwimUpObserver = new IntersectionObserver(entries => {\n\t\twindowHeight = window.innerHeight;\n\n\t\tentries.forEach((entry) => {\n\t\t\tconst el = entry.target as HTMLElementWithSwimUpOptions;\n\n\t\t\tif (entry.intersectionRatio < 0.1) {\n\t\t\t\t// элемент за областью видимости\n\t\t\t\tappSwimUpEls.delete(el);\n\t\t\t} else {\n\t\t\t\t// элемент на экране\n\t\t\t\tappSwimUpEls.set(el, el);\n\t\t\t}\n\n\t\t\tif (entry.intersectionRatio === 0) {\n\t\t\t\tconst { distance } = el.directiveSwipUpOptions;\n\t\t\t\tel.style.transform = `translateY(${distance}px)`;\n\t\t\t}\n\t\t});\n\t}, {\n\t\tthreshold: 0.1,\n\t});\n};\n\n/**\n * Добавление анимации подплытия вверх для блока\n */\nconst swimUp = {\n\tmounted(el: HTMLElementWithSwimUpOptions, binding: DirectiveBinding, _vnode: VNode): void {\n\t\tif (Core.state.isMobileUA) return;\n\n\t\tel.directiveSwipUpOptions = {\n\t\t\tdistance: binding.value?.distance ?? 100, // количество px на которые блок изначально смещен вниз,\n\t\t\tpercent: binding.value?.percent ?? 30, // процент высоты экрана поднявшись на который блок закончит подплытие\n\t\t};\n\n\t\tif (!appSwimUpInited) {\n\t\t\tswimUpInit(el);\n\n\t\t\tappSwimUpInited = true;\n\t\t}\n\n\t\tappSwimUpObserver.observe(el);\n\t},\n\n\tunmounted(el: HTMLElementWithSwimUpOptions, _binding: DirectiveBinding, _vnode: VNode) {\n\t\tappSwimUpEls.delete(el);\n\t\tappSwimUpObserver?.unobserve(el);\n\t},\n};\n\nexport default swimUp;\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\nimport Core from '@/core/core/core';\n\nconst $ = (el: VNode) => {\n\tif (!Core.$?.ui?.tooltip) {\n\t\tconsole.info('Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip');\n\n\t\treturn;\n\t}\n\n\treturn Core.$(el);\n};\n\nconst tvTooltipGenOptions = (binding: DirectiveBinding, vnode: VNode) => {\n\tconst options = binding.value ?? {};\n\n\toptions.content ??= vnode.props?.title;\n\toptions.content = String(options.content).replace(/\\r\\n|\\r|\\n/g, '<br>');\n\n\toptions.position ??= {\n\t\tmy: 'bottom-18px',\n\t\tat: 'top center',\n\t};\n\n\treturn options;\n};\n\n/**\n * Добавление всплывающей подсказки к элементу.\n */\nconst tooltip = {\n\tmounted(el: VNode, binding: DirectiveBinding, vnode: VNode) {\n\t\t$(el)?.tooltip(tvTooltipGenOptions(binding, vnode));\n\t},\n\n\tupdated(el: VNode, binding: DirectiveBinding, vnode: VNode, _prevVnode: VNode) {\n\t\t/**\n\t\t * В результате обновления может быть открыто несколько тултипов поэтому изменить опции, без перерисовки тултипа\n\t\t */\n\t\tconst options = tvTooltipGenOptions(binding, vnode);\n\t\tconst instance = $(el)?.tooltip('instance') as { options: JQueryUI.TooltipOptions } | undefined;\n\t\tif (!instance) {\n\t\t\treturn;\n\t\t}\n\n\t\tinstance.options = {\n\t\t\t...instance.options,\n\t\t\t...options,\n\t\t};\n\t},\n\n\tunmounted(el: VNode, _binding: DirectiveBinding, _vnode: VNode) {\n\t\t$(el)?.tooltip('destroy');\n\t},\n};\n\nexport default tooltip;\n","import { defineAsyncComponent, type Plugin } from 'vue';\nimport type { PartialBy } from '@/components/types';\n\nimport Core from '@/core/core/core';\nimport coreDefaultOptions from '@/core/core/options';\n\nimport * as Forms from '../../components/forms/forms';\n\nconst TopNotice = defineAsyncComponent(() => import('@/components/core/notice/notice.vue'));\n\nimport type { Options as TopPopupOptions } from '@/components/popup/lib/worker';\nimport TopPopupWorker from '@/components/popup/lib/worker';\nimport TopPopupWorkerGlobalEvents from '@/components/popup/lib/worker.globalEvents';\n\nimport TopDialogs from '@/components/dialog/dialog/dialogs/dialogs.vue';\nimport { TopDialogWorker } from '@/components/dialog/lib/worker';\nimport type { TopDialogOptions } from '@/components/dialog/lib/types';\n\nimport directiveData from '@/core/directives/data';\nimport directiveFocus from '@/core/directives/focus';\nimport directiveScrollIntoView from '@/core/directives/scrollIntoView';\nimport directiveScrollShadow from '@/core/directives/scrollShadow';\nimport directiveSticky from '@/core/directives/sticky';\nimport directiveSwimUp from '@/core/directives/swimUp';\nimport directiveTooltip from '@/core/directives/tooltip';\n\ndeclare global {\n\tconst vd: typeof console.log;\n}\n\nwindow['vd'] = console.log;\n\ndeclare module '@vue/runtime-core' {\n\tinterface ComponentCustomProperties {\n\t\t/**\n\t\t * Статический класс с текущим состоянимем UI\n\t\t */\n\t\t$core: typeof Core;\n\n\t\t$vd: typeof console.log;\n\t}\n\n\t/**\n\t * Обязательные компоненты UI\n\t *\n\t * Они подключаются через плагин и доступны без явного указания импорта\n\t */\n\texport interface GlobalComponents {\n\t\tTopAvatar: typeof Forms.TopAvatar;\n\t\tTopButton: typeof Forms.TopButton;\n\t\tTopCheckbox: typeof Forms.TopCheckbox;\n\t\tTopControlLabel: typeof Forms.TopControlLabel;\n\t\tTopHint: typeof Forms.TopHint;\n\t\tTopInput: typeof Forms.TopInput;\n\t\tTopInputDate: typeof Forms.TopInputDate;\n\t\tTopInputRange: typeof Forms.TopInputRange;\n\t\tTopRadio: typeof Forms.TopRadio;\n\t\tTopSwitcher: typeof Forms.TopSwitcher;\n\t\tTopTextarea: typeof Forms.TopTextarea;\n\t\tTopSelect: typeof Forms.TopSelect;\n\t\tTopLoadbar: typeof Forms.TopLoadbar;\n\n\t\tTopNotice: typeof TopNotice;\n\t\tTopDialogs: typeof TopDialogs;\n\t}\n}\n\ntype CoreOptions = PartialBy<typeof coreDefaultOptions, 'timezoneOffset' | 'documentClassModificators'>;\n\ntype Options = CoreOptions & {\n\ttopPopupOptions?: TopPopupOptions\n\ttopDialogOptions?: TopDialogOptions\n};\n\n/**\n * Плагин для интеграции UI во Vue приложение\n *\n * - В глобальную область видимости шаблонов будет добавлен объект $core\n * - Будут зарегистрирвоаны директивы UI: https://ui.topvisor.com/?path=/docs/core-directives-focus--docs\n * - Будут подключены базовые компоненты UI/Forms: https://ui.topvisor.com/?path=/docs/components-forms-readme--docs\n */\nexport default {\n\n\tinstall: (app, options: Options) => {\n\t\tapp.config.globalProperties.$core = Core;\n\t\tapp.config.globalProperties.$vd = console.log;\n\n\t\t// начальные настройки UI\n\t\tfor (const name in options) {\n\t\t\tCore.state[name] = options[name];\n\t\t}\n\n\t\tif (options.widthForMobile) Core.widthForMobile = options.widthForMobile;\n\t\tif (options.themeName) Core.themeName = options.themeName;\n\n\t\tCore._setState();\n\n\t\tif (options.topPopupOptions) TopPopupWorker.options = options.topPopupOptions;\n\t\tTopPopupWorkerGlobalEvents.init();\n\n\t\tTopDialogWorker.init(options.topDialogOptions);\n\n\t\t// определение директив\n\t\tapp.directive('top-data', directiveData);\n\t\tapp.directive('top-focus', directiveFocus);\n\t\tapp.directive('top-scroll-into-view', directiveScrollIntoView);\n\t\tapp.directive('top-scroll-shadow', directiveScrollShadow);\n\t\tapp.directive('top-sticky', directiveSticky);\n\t\tapp.directive('top-swim-up', directiveSwimUp);\n\t\tapp.directive('top-tooltip', directiveTooltip);\n\n\t\t// определение базовых компонентов\n\t\tapp.component('TopAvatar', Forms.TopAvatar);\n\t\tapp.component('TopButton', Forms.TopButton);\n\t\tapp.component('TopCheckbox', Forms.TopCheckbox);\n\t\tapp.component('TopControlLabel', Forms.TopControlLabel);\n\t\tapp.component('TopHint', Forms.TopHint);\n\t\tapp.component('TopInput', Forms.TopInput);\n\t\tapp.component('TopInputDate', Forms.TopInputDate);\n\t\tapp.component('TopInputRange', Forms.TopInputRange);\n\t\tapp.component('TopLoadbar', Forms.TopLoadbar);\n\t\tapp.component('TopRadio', Forms.TopRadio);\n\t\tapp.component('TopSelect', Forms.TopSelect);\n\t\tapp.component('TopSwitcher', Forms.TopSwitcher);\n\t\tapp.component('TopTextarea', Forms.TopTextarea);\n\n\t\tapp.component('TopNotice', TopNotice);\n\t\tapp.component('TopDialogs', TopDialogs);\n\t},\n\n} satisfies Plugin<Options>;\n"],"names":["WorkerEvents","_a","forms","popup_worker","elPopup","elOpener","_d","_c","storage","data","el","binding","resolve","reject","require","name","value","UtilsLodash$1","focusOnElActiveDebounce","elsActive","isVisible","focusOnElDebounce","focusOnElActive","focus","UtilsDom","UtilsLodash","genScrollIntoViewOptions","scrollIntoViewOptions","elActive","scrollToElActiveDebounce","useStorage","scrollToElDebounce","scrollToElActive","utils_dom","scrollIntoView","isVisibleNew","UtilsScroll","connectScrollShadow","appStickyObserver","sticky","_vnode","className","entries","_el","_binding","appSwimUpObserver","appSwimUpEls","swimUpElTransform","windowHeight","triggerHeight","distance","swimUpInit","entry","swimUp","_b","$","tvTooltipGenOptions","vnode","options","tooltip","core","app","dialogs_vue_vue_type_script_setup_true_lang","TopNotice"],"mappings":"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"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { defineAsyncComponent as D } from "vue";
|
|
2
|
+
import { C as r, E as L, h as P, c as V, j as I, k as M, f as C, _ as R, l as H, m as x, T as N, n as F, o as B, p as W, q as Y } from "./forms-DarRVke_.es.js";
|
|
3
|
+
import { TopPopupWorker as l } from "../popup/worker.js";
|
|
4
|
+
import { T as j, _ as q } from "./dialogs.vue_vue_type_script_setup_true_lang-CLahwA6M.es.js";
|
|
5
|
+
import { isVisible as O } from "../utils/dom.js";
|
|
6
|
+
class z {
|
|
7
|
+
static isInited = !1;
|
|
8
|
+
/**
|
|
9
|
+
* Добавить глобальные обработчики
|
|
10
|
+
*
|
|
11
|
+
* Добавляются на страницу один раз и навсегда
|
|
12
|
+
*/
|
|
13
|
+
static init() {
|
|
14
|
+
this.isInited || (this.isInited = !0, document.addEventListener("mouseover", (e) => {
|
|
15
|
+
var o;
|
|
16
|
+
!(e.target instanceof HTMLElement) || !((o = e.target.dataset) != null && o.topPopupOpenByHover) || e.target.click();
|
|
17
|
+
}), document.addEventListener("scroll", () => {
|
|
18
|
+
r.state.isMobile || r.state.isMobileUA || l.getAll().forEach((e) => l.close(e));
|
|
19
|
+
}), L.addOnReize((e) => {
|
|
20
|
+
r.state.isMobile && e.topEvent.widthDiff && l.getAll().forEach((o) => l.close(o));
|
|
21
|
+
}), document.addEventListener("click", this.onclick, { capture: !0 }));
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Глобальный обработчик кликов
|
|
25
|
+
*
|
|
26
|
+
* Обрабатывает клики на открытие Popup
|
|
27
|
+
*/
|
|
28
|
+
static async onclick(e) {
|
|
29
|
+
var n, i, s, a, y;
|
|
30
|
+
if (!(e.target instanceof HTMLElement) || e.target.dataset.topPopupDisabled)
|
|
31
|
+
return;
|
|
32
|
+
let o;
|
|
33
|
+
switch (!0) {
|
|
34
|
+
case !!((n = e.target.dataset) != null && n.topPopup):
|
|
35
|
+
o = e.target;
|
|
36
|
+
break;
|
|
37
|
+
case !!((i = e.target.parentElement) != null && i.dataset.topPopup):
|
|
38
|
+
o = e.target.parentElement;
|
|
39
|
+
break;
|
|
40
|
+
case !!((a = (s = e.target.parentElement) == null ? void 0 : s.parentElement) != null && a.dataset.topPopup):
|
|
41
|
+
o = (y = e.target.parentElement) == null ? void 0 : y.parentElement;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
o && (o.dataset.topPopupDisabled || o.dataset.topPopupOpened || (e.preventDefault(), await l.openByOpener(o)));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
let _;
|
|
48
|
+
const G = {
|
|
49
|
+
mounted: async (t, e) => {
|
|
50
|
+
_ || (_ = (await import("../utils/dom.js")).storage);
|
|
51
|
+
const o = e.arg, n = e.value;
|
|
52
|
+
_(t, o, n);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
let g, u = [], w;
|
|
56
|
+
const Q = async () => {
|
|
57
|
+
const { isVisible: t } = await import("../utils/dom.js");
|
|
58
|
+
if (u = u.filter(t), !u.length) return;
|
|
59
|
+
u[0].focus(), u = [];
|
|
60
|
+
}, U = async (t) => {
|
|
61
|
+
g || (g = await import("../utils/lodash.js")), w || (w = g.debounce(Q, 30)), u.push(t), w();
|
|
62
|
+
}, J = {
|
|
63
|
+
mounted: function(t, e) {
|
|
64
|
+
t.__TOP_V_FOCUS_VALUE = e.value ?? !0, (e.value ?? !0) && U(t);
|
|
65
|
+
},
|
|
66
|
+
updated: function(t, e) {
|
|
67
|
+
e.modifiers.onupdate && t.__TOP_V_FOCUS_VALUE !== (e.value ?? !0) && (t.__TOP_V_FOCUS_VALUE = e.value ?? !0, (e.value ?? !0) && U(t));
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
let d, h;
|
|
71
|
+
const A = (t) => (typeof t == "boolean" || (t ? t = { ...t } : t = {}, t.behavior ??= "smooth", t.block ??= "nearest", t.inline ??= "nearest"), t);
|
|
72
|
+
let f, b;
|
|
73
|
+
const K = async () => {
|
|
74
|
+
if (!f) return;
|
|
75
|
+
const t = await E(f);
|
|
76
|
+
t.isVisible && f.scrollIntoView(t.scrollIntoViewOptions);
|
|
77
|
+
}, $ = async (t) => {
|
|
78
|
+
h || (h = await import("../utils/lodash.js")), b || (b = h.debounce(K, 30)), f = t, b();
|
|
79
|
+
}, E = async (t, e) => {
|
|
80
|
+
d || (d = await import("../utils/dom.js"));
|
|
81
|
+
let o = d.storage(t, "v-top-scrollIntoView");
|
|
82
|
+
return o || (o = {
|
|
83
|
+
isVisible: O(t),
|
|
84
|
+
scrollIntoViewOptions: A(e)
|
|
85
|
+
}, d.storage(t, "v-top-scrollIntoView", o)), o;
|
|
86
|
+
}, X = {
|
|
87
|
+
async mounted(t, e) {
|
|
88
|
+
await E(t, e.value), e.modifiers.immediate && $(t);
|
|
89
|
+
},
|
|
90
|
+
async updated(t, e) {
|
|
91
|
+
const o = await E(t, e.value);
|
|
92
|
+
o.scrollIntoViewOptions = A(e.value);
|
|
93
|
+
const n = O(t);
|
|
94
|
+
n && o.isVisible !== n && $(t), o.isVisible = n;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
let c;
|
|
98
|
+
const Z = {
|
|
99
|
+
async mounted(t) {
|
|
100
|
+
c || (c = await import("../utils/scroll.js")), c.connectScrollShadow(t);
|
|
101
|
+
},
|
|
102
|
+
async unmounted(t) {
|
|
103
|
+
c || (c = await import("../utils/scroll.js")), c.unconnectScrollShadow(t);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
let p;
|
|
107
|
+
const tt = {
|
|
108
|
+
mounted(t, e, o) {
|
|
109
|
+
const n = e.value || "top-sticky";
|
|
110
|
+
p = new IntersectionObserver((i) => {
|
|
111
|
+
let s = i[0].intersectionRatio < 1;
|
|
112
|
+
s && e.modifiers.bottom && i[0].intersectionRect.y === 0 && (s = !1), t.classList.toggle(n, s);
|
|
113
|
+
}, {
|
|
114
|
+
threshold: [1]
|
|
115
|
+
}), p.observe(t);
|
|
116
|
+
},
|
|
117
|
+
unmounted(t, e, o) {
|
|
118
|
+
p == null || p.disconnect();
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
let S = !1, m;
|
|
122
|
+
const v = /* @__PURE__ */ new Map(), et = (t, e) => {
|
|
123
|
+
const { distance: o, percent: n } = t.directiveSwipUpOptions, i = t.getBoundingClientRect().top, s = e * n / 100 / o, a = (e - i) / s;
|
|
124
|
+
a <= o ? t.style.transform = `translateY(${o - a}px)` : t.style.transform = "translateY(0px)";
|
|
125
|
+
}, ot = (t) => {
|
|
126
|
+
let e = window.innerHeight;
|
|
127
|
+
window.addEventListener("scroll", () => {
|
|
128
|
+
v.forEach((o) => et(o, e));
|
|
129
|
+
}, { passive: !0 }), m = new IntersectionObserver((o) => {
|
|
130
|
+
e = window.innerHeight, o.forEach((n) => {
|
|
131
|
+
const i = n.target;
|
|
132
|
+
if (n.intersectionRatio < 0.1 ? v.delete(i) : v.set(i, i), n.intersectionRatio === 0) {
|
|
133
|
+
const { distance: s } = i.directiveSwipUpOptions;
|
|
134
|
+
i.style.transform = `translateY(${s}px)`;
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}, {
|
|
138
|
+
threshold: 0.1
|
|
139
|
+
});
|
|
140
|
+
}, nt = {
|
|
141
|
+
mounted(t, e, o) {
|
|
142
|
+
var n, i;
|
|
143
|
+
r.state.isMobileUA || (t.directiveSwipUpOptions = {
|
|
144
|
+
distance: ((n = e.value) == null ? void 0 : n.distance) ?? 100,
|
|
145
|
+
// количество px на которые блок изначально смещен вниз,
|
|
146
|
+
percent: ((i = e.value) == null ? void 0 : i.percent) ?? 30
|
|
147
|
+
// процент высоты экрана поднявшись на который блок закончит подплытие
|
|
148
|
+
}, S || (ot(), S = !0), m.observe(t));
|
|
149
|
+
},
|
|
150
|
+
unmounted(t, e, o) {
|
|
151
|
+
v.delete(t), m == null || m.unobserve(t);
|
|
152
|
+
}
|
|
153
|
+
}, T = (t) => {
|
|
154
|
+
var e, o;
|
|
155
|
+
if (!((o = (e = r.$) == null ? void 0 : e.ui) != null && o.tooltip)) {
|
|
156
|
+
console.info("Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip");
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
return r.$(t);
|
|
160
|
+
}, k = (t, e) => {
|
|
161
|
+
var n;
|
|
162
|
+
const o = t.value ?? {};
|
|
163
|
+
return o.content ??= (n = e.props) == null ? void 0 : n.title, o.content = String(o.content).replace(/\r\n|\r|\n/g, "<br>"), o.position ??= {
|
|
164
|
+
my: "bottom-18px",
|
|
165
|
+
at: "top center"
|
|
166
|
+
}, o;
|
|
167
|
+
}, it = {
|
|
168
|
+
mounted(t, e, o) {
|
|
169
|
+
var n;
|
|
170
|
+
(n = T(t)) == null || n.tooltip(k(e, o));
|
|
171
|
+
},
|
|
172
|
+
updated(t, e, o, n) {
|
|
173
|
+
var a;
|
|
174
|
+
const i = k(e, o), s = (a = T(t)) == null ? void 0 : a.tooltip("instance");
|
|
175
|
+
s && (s.options = {
|
|
176
|
+
...s.options,
|
|
177
|
+
...i
|
|
178
|
+
});
|
|
179
|
+
},
|
|
180
|
+
unmounted(t, e, o) {
|
|
181
|
+
var n;
|
|
182
|
+
(n = T(t)) == null || n.tooltip("destroy");
|
|
183
|
+
}
|
|
184
|
+
}, st = D(() => import("./notice-fno9saBY.es.js"));
|
|
185
|
+
window.vd = console.log;
|
|
186
|
+
const pt = {
|
|
187
|
+
install: (t, e) => {
|
|
188
|
+
t.config.globalProperties.$core = r, t.config.globalProperties.$vd = console.log;
|
|
189
|
+
for (const o in e)
|
|
190
|
+
r.state[o] = e[o];
|
|
191
|
+
e.widthForMobile && (r.widthForMobile = e.widthForMobile), e.themeName && (r.themeName = e.themeName), r._setState(), e.topPopupOptions && (l.options = e.topPopupOptions), z.init(), j.init(e.topDialogOptions), t.directive("top-data", G), t.directive("top-focus", J), t.directive("top-scroll-into-view", X), t.directive("top-scroll-shadow", Z), t.directive("top-sticky", tt), t.directive("top-swim-up", nt), t.directive("top-tooltip", it), t.component("TopAvatar", P), t.component("TopButton", V), t.component("TopCheckbox", I), t.component("TopControlLabel", M), t.component("TopHint", C), t.component("TopInput", R), t.component("TopInputDate", H), t.component("TopInputRange", x), t.component("TopLoadbar", N), t.component("TopRadio", F), t.component("TopSelect", B), t.component("TopSwitcher", W), t.component("TopTextarea", Y), t.component("TopNotice", st), t.component("TopDialogs", q);
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
export {
|
|
195
|
+
pt as c
|
|
196
|
+
};
|
|
197
|
+
//# sourceMappingURL=core-CY6RkZz2.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-CY6RkZz2.es.js","sources":["../../src/components/popup/lib/worker.globalEvents.ts","../../src/core/directives/data.ts","../../src/core/directives/focus.ts","../../src/core/directives/scrollIntoView.ts","../../src/core/directives/scrollShadow.ts","../../src/core/directives/sticky.ts","../../src/core/directives/swimUp.ts","../../src/core/directives/tooltip.ts","../../src/core/plugins/core.ts"],"sourcesContent":["import Core from '@/core/core/core';\nimport Events from '@/core/core/events';\nimport Worker from '@/components/popup/lib/worker';\n\n/**\n * Глобальные события, для реализации Popup\n */\nclass WorkerEvents {\n\n\tprivate static isInited = false;\n\n\t/**\n\t * Добавить глобальные обработчики\n\t *\n\t * Добавляются на страницу один раз и навсегда\n\t */\n\tstatic init(): void {\n\t\tif (this.isInited) return;\n\n\t\tthis.isInited = true;\n\n\t\t// автоматическое открытие при наведении мыши, событие глобальное, так как инициализация popup отложена\n\t\tdocument.addEventListener('mouseover', (e) => {\n\t\t\tif (!(e.target instanceof HTMLElement) || !e.target.dataset?.topPopupOpenByHover) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\te.target.click();\n\t\t});\n\n\t\t// при скролле страницы закрыть Popup\n\t\tdocument.addEventListener('scroll', () => {\n\t\t\tif (Core.state.isMobile || Core.state.isMobileUA) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\n\t\t});\n\n\t\tEvents.addOnReize(e => {\n\t\t\t// закрыть popup при повороте экрана телефона\n\t\t\t// если была отображена ПК версия, она будет закрыта\n\t\t\tif (Core.state.isMobile && e.topEvent.widthDiff) {\n\t\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\n\t\t\t}\n\t\t});\n\n\t\tdocument.addEventListener('click', this.onclick, { capture: true });\n\t}\n\n\t/**\n\t * Глобальный обработчик кликов\n\t *\n\t * Обрабатывает клики на открытие Popup\n\t */\n\tprivate static async onclick(e: Event): Promise<void> {\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tif (e.target.dataset.topPopupDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet elOpener: HTMLElement | undefined;\n\n\t\tswitch (true) {\n\t\t\tcase !!e.target.dataset?.topPopup:\n\t\t\t\telOpener = e.target;\n\n\t\t\t\tbreak;\n\n\t\t\tcase !!e.target.parentElement?.dataset.topPopup:\n\t\t\t\telOpener = e.target.parentElement;\n\n\t\t\t\tbreak;\n\n\t\t\tcase !!e.target.parentElement?.parentElement?.dataset.topPopup:\n\t\t\t\telOpener = e.target.parentElement?.parentElement;\n\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (!elOpener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\t// меню уже открыто\n\t\tif (elOpener.dataset.topPopupOpened) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tawait Worker.openByOpener(elOpener);\n\t}\n}\n\nexport default WorkerEvents;\n","import type { DirectiveBinding, ObjectDirective } from 'vue';\n\nlet storage: any;\n\n/**\n * Сохранить данные в элементе\n *\n * Для доступа к данным можно воспользоваться ui/utils/dom storage()\n */\nconst data = {\n\tmounted: async (el: HTMLElement, binding: DirectiveBinding) => {\n\t\tif (!storage) {\n\t\t\tconst UtilsDom = await import('@/core/utils/dom');\n\n\t\t\tstorage = UtilsDom.storage;\n\t\t}\n\n\t\tconst name = binding.arg;\n\t\tconst value = binding.value;\n\n\t\tstorage(el, name, value);\n\t},\n};\n\nexport default data;\n","import type { DirectiveBinding } from 'vue';\n\ntype Binding = DirectiveBinding<boolean, 'onupdate'>;\n\nlet UtilsLodash: typeof import('@/core/utils/lodash');\n\n/**\n * Список элементов, на которых бала запрошена фокусировка, для дедупликации фокусировок\n */\nlet elsActive: HTMLElement[] = [];\n\n/**\n * Функция скролла с дедупликацией\n */\nlet focusOnElActiveDebounce: Function;\n\n/**\n * Выполнить фокусировку на активном элементе\n *\n * Если фокусирока запрошена на несколько элементов, будет выбран первый элемент\n */\nconst focusOnElActive = async () => {\n\tconst { isVisible } = await import('@/core/utils/dom');\n\telsActive = elsActive.filter(isVisible)\n\n\tif (!elsActive.length) return;\n\n\tconst el = elsActive[0];\n\n\tel.focus();\n\n\t// // UX: Если выбрано несколько чекбоксов или радио после выбора фокусировка будет снята, чтобы не делать выбор за пользователя\n\t// if (elsActive.length && el.nodeName === 'INPUT') {\n\t// \tconst type = (el as HTMLInputElement).type;\n\t// \tif (type === 'checkbox' || type === 'radio') el.blur();\n\t// }\n\n\telsActive = [];\n};\n\n/**\n * Выполнить дедуплицированную фокусировку на элементе\n */\nconst focusOnElDebounce = async (el: HTMLElement) => {\n\tif (!UtilsLodash) UtilsLodash = await import('@/core/utils/lodash');\n\tif (!focusOnElActiveDebounce) focusOnElActiveDebounce = UtilsLodash.debounce(focusOnElActive, 30);\n\n\telsActive.push(el);\n\n\tfocusOnElActiveDebounce();\n};\n\n/**\n * Фокусировка на элементе сразу после его отображения\n */\nconst focus = {\n\tmounted: function (el: HTMLElement, binding: Binding) {\n\t\tel['__TOP_V_FOCUS_VALUE'] = binding.value ?? true;\n\n\t\tif (binding.value ?? true) focusOnElDebounce(el);\n\t},\n\n\tupdated: function (el: HTMLElement, binding: Binding) {\n\t\tif (!binding.modifiers.onupdate) return;\n\n\t\tif (el['__TOP_V_FOCUS_VALUE'] === (binding.value ?? true)) return;\n\t\tel['__TOP_V_FOCUS_VALUE'] = binding.value ?? true;\n\n\t\tif (binding.value ?? true) focusOnElDebounce(el);\n\t},\n};\n\nexport default focus;\n","import type { DirectiveBinding, ObjectDirective } from 'vue';\nimport { isVisible } from '@/core/utils/dom';\n\ntype Binding = DirectiveBinding<ScrollIntoViewOptions | boolean | undefined, 'immediate'>;\n\ntype Storage = {\n\t/**\n\t * Сохраненное состояние видимости\n\t */\n\tisVisible: boolean,\n\n\t/**\n\t * Текущие настройки скролла\n\t */\n\tscrollIntoViewOptions: ScrollIntoViewOptions | boolean\n};\n\nlet UtilsDom: typeof import('@/core/utils/dom');\nlet UtilsLodash: typeof import('@/core/utils/lodash');\n\n/**\n * Сгенерировать настройки для скролла\n *\n * @see https://developer.mozilla.org/ru/docs/Web/API/Element/scrollIntoView\n */\nconst genScrollIntoViewOptions = (scrollIntoViewOptions?: ScrollIntoViewOptions | boolean) => {\n\tif (typeof scrollIntoViewOptions === 'boolean') return scrollIntoViewOptions;\n\n\tif (!scrollIntoViewOptions) {\n\t\tscrollIntoViewOptions = {};\n\t} else {\n\t\tscrollIntoViewOptions = { ...scrollIntoViewOptions };\n\t}\n\n\tscrollIntoViewOptions.behavior ??= 'smooth';\n\tscrollIntoViewOptions.block ??= 'nearest';\n\tscrollIntoViewOptions.inline ??= 'nearest';\n\n\treturn scrollIntoViewOptions;\n};\n\n/**\n * Активный элемент, для дедупликации скроллов\n *\n * Только один элемент на странице может считаться активным\n */\nlet elActive: HTMLElement | undefined;\n\n/**\n * Функция скролла с дедупликацией\n */\nlet scrollToElActiveDebounce: Function;\n\n/**\n * Выполнить скролл к текущему активному элементу\n */\nconst scrollToElActive = async () => {\n\tif (!elActive) return;\n\n\tconst storage = await useStorage(elActive);\n\tif (!storage.isVisible) return;\n\n\telActive.scrollIntoView(storage.scrollIntoViewOptions);\n};\n\n/**\n * Выполнить дедуплицированный скролл к элементу\n *\n * Будет выполнен скролл к самому последнему элементу, вызвавшему срабатывание директивы\n */\nconst scrollToElDebounce = async (el: HTMLElement) => {\n\tif (!UtilsLodash) UtilsLodash = await import('@/core/utils/lodash');\n\tif (!scrollToElActiveDebounce) scrollToElActiveDebounce = UtilsLodash.debounce(scrollToElActive, 30);\n\n\telActive = el;\n\n\tscrollToElActiveDebounce();\n};\n\n/**\n * Данные, связанные с элементом и директивой\n */\nconst useStorage = async (el: HTMLElement, scrollIntoViewOptions?: ScrollIntoViewOptions | boolean) => {\n\tif (!UtilsDom) UtilsDom = await import('@/core/utils/dom');\n\n\tlet storage: Storage | undefined = UtilsDom.storage(el, 'v-top-scrollIntoView');\n\n\t// инициализация\n\tif (!storage) {\n\t\tstorage = {\n\t\t\tisVisible: isVisible(el),\n\t\t\tscrollIntoViewOptions: genScrollIntoViewOptions(scrollIntoViewOptions),\n\t\t};\n\n\t\tUtilsDom.storage(el, 'v-top-scrollIntoView', storage);\n\t}\n\n\treturn storage;\n};\n\nconst scrollIntoView: ObjectDirective = {\n\tasync mounted(el: HTMLElement, binding: Binding) {\n\t\tawait useStorage(el, binding.value);\n\n\t\tif (binding.modifiers.immediate) {\n\t\t\tscrollToElDebounce(el);\n\t\t}\n\t},\n\n\tasync updated(el: HTMLElement, binding: Binding) {\n\t\tconst storage = await useStorage(el, binding.value);\n\t\tstorage.scrollIntoViewOptions = genScrollIntoViewOptions(binding.value);\n\n\t\tconst isVisibleNew = isVisible(el);\n\t\tif (isVisibleNew && storage.isVisible !== isVisibleNew) {\n\t\t\tscrollToElDebounce(el);\n\t\t}\n\n\t\tstorage.isVisible = isVisibleNew;\n\t},\n};\n\nexport default scrollIntoView;\n","let UtilsScroll: typeof import('@/core/utils/scroll');\n\n/**\n * Добавить отображение тени при появлении скролла у элемента\n *\n * Будут добавлены события для усатновки модификаторов тени в зависимости от скролла элемента\n *\n * Модификаторы:\n * - top-scrollShadow\n * - top-scrollShadow-started\n * - top-scrollShadow-finished\n */\nconst connectScrollShadow = {\n\tasync mounted(el) {\n\t\tif (!UtilsScroll) UtilsScroll = await import('@/core/utils/scroll');\n\n\t\tUtilsScroll.connectScrollShadow(el);\n\t},\n\n\tasync unmounted(el) {\n\t\tif (!UtilsScroll) UtilsScroll = await import('@/core/utils/scroll');\n\n\t\tUtilsScroll.unconnectScrollShadow(el);\n\t},\n};\n\nexport default connectScrollShadow;\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\n\nlet appStickyObserver: IntersectionObserver;\n\n/**\n * Добавление sticky\n * К элементу добляется класс переданный как значение диррективы либо **'top-sticky'** по умолчанию\n */\nconst sticky = {\n\tmounted(el: HTMLElement, binding: DirectiveBinding, _vnode: VNode) {\n\t\tconst className = binding.value || 'top-sticky';\n\n\t\tappStickyObserver = new IntersectionObserver(entries => {\n\t\t\tlet condition = entries[0].intersectionRatio < 1;\n\t\t\tif (condition) {\n\t\t\t\tif (binding.modifiers.bottom && entries[0].intersectionRect.y === 0) condition = false;\n\t\t\t}\n\n\t\t\tel.classList.toggle(className, condition);\n\t\t}, {\n\t\t\tthreshold: [1],\n\t\t});\n\n\t\tappStickyObserver.observe(el);\n\t},\n\n\tunmounted(_el: HTMLElement, _binding: DirectiveBinding, _vnode: VNode) {\n\t\tappStickyObserver?.disconnect();\n\t},\n};\n\nexport default sticky;\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\nimport Core from '@/core/core/core';\n\ninterface HTMLElementWithSwimUpOptions extends HTMLElement {\n\tdirectiveSwipUpOptions: {\n\t\tdistance: number,\n\t\tpercent: number,\n\t};\n}\n\nlet appSwimUpInited = false;\nlet appSwimUpObserver: IntersectionObserver;\nconst appSwimUpEls = new Map();\n\n/**\n * Отодвинуть блок в зависимости от скролла старинцы\n * @param el\n * @param windowHeight\n */\nconst swimUpElTransform = (el: HTMLElementWithSwimUpOptions, windowHeight: number): void => {\n\tconst { distance, percent } = el.directiveSwipUpOptions;\n\n\tconst elTop = el.getBoundingClientRect().top;\n\n\t// во столько раз triggerHeight должен быть меньше, чтобы закончить подплытие к нужной высоте экрана\n\tconst triggerHeightReducer = windowHeight * percent / 100 / distance;\n\tconst triggerHeight = (windowHeight - elTop) / triggerHeightReducer;\n\n\tif (triggerHeight <= distance) {\n\t\tel.style.transform = `translateY(${distance - triggerHeight}px)`;\n\t} else {\n\t\tel.style.transform = 'translateY(0px)';\n\t}\n};\n\nconst swimUpInit = (_el: HTMLElementWithSwimUpOptions): void => {\n\tlet windowHeight = window.innerHeight;\n\n\twindow.addEventListener('scroll', () => {\n\t\tappSwimUpEls.forEach((el) => swimUpElTransform(el, windowHeight));\n\t}, { passive: true });\n\n\t// проверка того, что элемент в зоне видимости\n\tappSwimUpObserver = new IntersectionObserver(entries => {\n\t\twindowHeight = window.innerHeight;\n\n\t\tentries.forEach((entry) => {\n\t\t\tconst el = entry.target as HTMLElementWithSwimUpOptions;\n\n\t\t\tif (entry.intersectionRatio < 0.1) {\n\t\t\t\t// элемент за областью видимости\n\t\t\t\tappSwimUpEls.delete(el);\n\t\t\t} else {\n\t\t\t\t// элемент на экране\n\t\t\t\tappSwimUpEls.set(el, el);\n\t\t\t}\n\n\t\t\tif (entry.intersectionRatio === 0) {\n\t\t\t\tconst { distance } = el.directiveSwipUpOptions;\n\t\t\t\tel.style.transform = `translateY(${distance}px)`;\n\t\t\t}\n\t\t});\n\t}, {\n\t\tthreshold: 0.1,\n\t});\n};\n\n/**\n * Добавление анимации подплытия вверх для блока\n */\nconst swimUp = {\n\tmounted(el: HTMLElementWithSwimUpOptions, binding: DirectiveBinding, _vnode: VNode): void {\n\t\tif (Core.state.isMobileUA) return;\n\n\t\tel.directiveSwipUpOptions = {\n\t\t\tdistance: binding.value?.distance ?? 100, // количество px на которые блок изначально смещен вниз,\n\t\t\tpercent: binding.value?.percent ?? 30, // процент высоты экрана поднявшись на который блок закончит подплытие\n\t\t};\n\n\t\tif (!appSwimUpInited) {\n\t\t\tswimUpInit(el);\n\n\t\t\tappSwimUpInited = true;\n\t\t}\n\n\t\tappSwimUpObserver.observe(el);\n\t},\n\n\tunmounted(el: HTMLElementWithSwimUpOptions, _binding: DirectiveBinding, _vnode: VNode) {\n\t\tappSwimUpEls.delete(el);\n\t\tappSwimUpObserver?.unobserve(el);\n\t},\n};\n\nexport default swimUp;\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\nimport Core from '@/core/core/core';\n\nconst $ = (el: VNode) => {\n\tif (!Core.$?.ui?.tooltip) {\n\t\tconsole.info('Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip');\n\n\t\treturn;\n\t}\n\n\treturn Core.$(el);\n};\n\nconst tvTooltipGenOptions = (binding: DirectiveBinding, vnode: VNode) => {\n\tconst options = binding.value ?? {};\n\n\toptions.content ??= vnode.props?.title;\n\toptions.content = String(options.content).replace(/\\r\\n|\\r|\\n/g, '<br>');\n\n\toptions.position ??= {\n\t\tmy: 'bottom-18px',\n\t\tat: 'top center',\n\t};\n\n\treturn options;\n};\n\n/**\n * Добавление всплывающей подсказки к элементу.\n */\nconst tooltip = {\n\tmounted(el: VNode, binding: DirectiveBinding, vnode: VNode) {\n\t\t$(el)?.tooltip(tvTooltipGenOptions(binding, vnode));\n\t},\n\n\tupdated(el: VNode, binding: DirectiveBinding, vnode: VNode, _prevVnode: VNode) {\n\t\t/**\n\t\t * В результате обновления может быть открыто несколько тултипов поэтому изменить опции, без перерисовки тултипа\n\t\t */\n\t\tconst options = tvTooltipGenOptions(binding, vnode);\n\t\tconst instance = $(el)?.tooltip('instance') as { options: JQueryUI.TooltipOptions } | undefined;\n\t\tif (!instance) {\n\t\t\treturn;\n\t\t}\n\n\t\tinstance.options = {\n\t\t\t...instance.options,\n\t\t\t...options,\n\t\t};\n\t},\n\n\tunmounted(el: VNode, _binding: DirectiveBinding, _vnode: VNode) {\n\t\t$(el)?.tooltip('destroy');\n\t},\n};\n\nexport default tooltip;\n","import { defineAsyncComponent, type Plugin } from 'vue';\nimport type { PartialBy } from '@/components/types';\n\nimport Core from '@/core/core/core';\nimport coreDefaultOptions from '@/core/core/options';\n\nimport * as Forms from '../../components/forms/forms';\n\nconst TopNotice = defineAsyncComponent(() => import('@/components/core/notice/notice.vue'));\n\nimport type { Options as TopPopupOptions } from '@/components/popup/lib/worker';\nimport TopPopupWorker from '@/components/popup/lib/worker';\nimport TopPopupWorkerGlobalEvents from '@/components/popup/lib/worker.globalEvents';\n\nimport TopDialogs from '@/components/dialog/dialog/dialogs/dialogs.vue';\nimport { TopDialogWorker } from '@/components/dialog/lib/worker';\nimport type { TopDialogOptions } from '@/components/dialog/lib/types';\n\nimport directiveData from '@/core/directives/data';\nimport directiveFocus from '@/core/directives/focus';\nimport directiveScrollIntoView from '@/core/directives/scrollIntoView';\nimport directiveScrollShadow from '@/core/directives/scrollShadow';\nimport directiveSticky from '@/core/directives/sticky';\nimport directiveSwimUp from '@/core/directives/swimUp';\nimport directiveTooltip from '@/core/directives/tooltip';\n\ndeclare global {\n\tconst vd: typeof console.log;\n}\n\nwindow['vd'] = console.log;\n\ndeclare module '@vue/runtime-core' {\n\tinterface ComponentCustomProperties {\n\t\t/**\n\t\t * Статический класс с текущим состоянимем UI\n\t\t */\n\t\t$core: typeof Core;\n\n\t\t$vd: typeof console.log;\n\t}\n\n\t/**\n\t * Обязательные компоненты UI\n\t *\n\t * Они подключаются через плагин и доступны без явного указания импорта\n\t */\n\texport interface GlobalComponents {\n\t\tTopAvatar: typeof Forms.TopAvatar;\n\t\tTopButton: typeof Forms.TopButton;\n\t\tTopCheckbox: typeof Forms.TopCheckbox;\n\t\tTopControlLabel: typeof Forms.TopControlLabel;\n\t\tTopHint: typeof Forms.TopHint;\n\t\tTopInput: typeof Forms.TopInput;\n\t\tTopInputDate: typeof Forms.TopInputDate;\n\t\tTopInputRange: typeof Forms.TopInputRange;\n\t\tTopRadio: typeof Forms.TopRadio;\n\t\tTopSwitcher: typeof Forms.TopSwitcher;\n\t\tTopTextarea: typeof Forms.TopTextarea;\n\t\tTopSelect: typeof Forms.TopSelect;\n\t\tTopLoadbar: typeof Forms.TopLoadbar;\n\n\t\tTopNotice: typeof TopNotice;\n\t\tTopDialogs: typeof TopDialogs;\n\t}\n}\n\ntype CoreOptions = PartialBy<typeof coreDefaultOptions, 'timezoneOffset' | 'documentClassModificators'>;\n\ntype Options = CoreOptions & {\n\ttopPopupOptions?: TopPopupOptions\n\ttopDialogOptions?: TopDialogOptions\n};\n\n/**\n * Плагин для интеграции UI во Vue приложение\n *\n * - В глобальную область видимости шаблонов будет добавлен объект $core\n * - Будут зарегистрирвоаны директивы UI: https://ui.topvisor.com/?path=/docs/core-directives-focus--docs\n * - Будут подключены базовые компоненты UI/Forms: https://ui.topvisor.com/?path=/docs/components-forms-readme--docs\n */\nexport default {\n\n\tinstall: (app, options: Options) => {\n\t\tapp.config.globalProperties.$core = Core;\n\t\tapp.config.globalProperties.$vd = console.log;\n\n\t\t// начальные настройки UI\n\t\tfor (const name in options) {\n\t\t\tCore.state[name] = options[name];\n\t\t}\n\n\t\tif (options.widthForMobile) Core.widthForMobile = options.widthForMobile;\n\t\tif (options.themeName) Core.themeName = options.themeName;\n\n\t\tCore._setState();\n\n\t\tif (options.topPopupOptions) TopPopupWorker.options = options.topPopupOptions;\n\t\tTopPopupWorkerGlobalEvents.init();\n\n\t\tTopDialogWorker.init(options.topDialogOptions);\n\n\t\t// определение директив\n\t\tapp.directive('top-data', directiveData);\n\t\tapp.directive('top-focus', directiveFocus);\n\t\tapp.directive('top-scroll-into-view', directiveScrollIntoView);\n\t\tapp.directive('top-scroll-shadow', directiveScrollShadow);\n\t\tapp.directive('top-sticky', directiveSticky);\n\t\tapp.directive('top-swim-up', directiveSwimUp);\n\t\tapp.directive('top-tooltip', directiveTooltip);\n\n\t\t// определение базовых компонентов\n\t\tapp.component('TopAvatar', Forms.TopAvatar);\n\t\tapp.component('TopButton', Forms.TopButton);\n\t\tapp.component('TopCheckbox', Forms.TopCheckbox);\n\t\tapp.component('TopControlLabel', Forms.TopControlLabel);\n\t\tapp.component('TopHint', Forms.TopHint);\n\t\tapp.component('TopInput', Forms.TopInput);\n\t\tapp.component('TopInputDate', Forms.TopInputDate);\n\t\tapp.component('TopInputRange', Forms.TopInputRange);\n\t\tapp.component('TopLoadbar', Forms.TopLoadbar);\n\t\tapp.component('TopRadio', Forms.TopRadio);\n\t\tapp.component('TopSelect', Forms.TopSelect);\n\t\tapp.component('TopSwitcher', Forms.TopSwitcher);\n\t\tapp.component('TopTextarea', Forms.TopTextarea);\n\n\t\tapp.component('TopNotice', TopNotice);\n\t\tapp.component('TopDialogs', TopDialogs);\n\t},\n\n} satisfies Plugin<Options>;\n"],"names":["WorkerEvents","_a","Core","Worker","elPopup","Events","elOpener","_b","_d","_c","_e","storage","data","el","binding","name","value","UtilsLodash","elsActive","focusOnElActiveDebounce","focusOnElActive","isVisible","focusOnElDebounce","focus","UtilsDom","genScrollIntoViewOptions","scrollIntoViewOptions","elActive","scrollToElActiveDebounce","scrollToElActive","useStorage","scrollToElDebounce","scrollIntoView","isVisibleNew","UtilsScroll","connectScrollShadow","appStickyObserver","sticky","_vnode","className","entries","condition","_el","_binding","appSwimUpInited","appSwimUpObserver","appSwimUpEls","swimUpElTransform","windowHeight","distance","percent","elTop","triggerHeightReducer","triggerHeight","swimUpInit","entry","swimUp","$","tvTooltipGenOptions","vnode","options","tooltip","_prevVnode","instance","TopNotice","defineAsyncComponent","core","app","TopPopupWorker","TopPopupWorkerGlobalEvents","TopDialogWorker","directiveData","directiveFocus","directiveScrollIntoView","directiveScrollShadow","directiveSticky","directiveSwimUp","directiveTooltip","Forms.TopAvatar","Forms.TopButton","Forms.TopCheckbox","Forms.TopControlLabel","Forms.TopHint","Forms.TopInput","Forms.TopInputDate","Forms.TopInputRange","Forms.TopLoadbar","Forms.TopRadio","Forms.TopSelect","Forms.TopSwitcher","Forms.TopTextarea","TopDialogs"],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { watch as k, toRef as g } from "vue";
|
|
2
|
+
import { C as o, e as m } from "./forms-DarRVke_.es.js";
|
|
3
|
+
const h = '.ui-datepicker{--datepicker-day-color: var(--color-layout-front-1);--datepicker-day-color-hover: var(--color-layer-1);--datepicker-selected-color: var(--color-bg-primary-1);--datepicker-selected-color-hover: var(--color-bg-primary-2);--datepicker-range-color: var(--color-layer-primary-1);--datepicker-range-color-hover: var(--color-layer-primary-2);-webkit-user-select:none;user-select:none;width:auto;padding:0}.ui-datepicker:before,.ui-datepicker:after{display:none}.ui-datepicker-inline{display:inline-block!important}.ui-datepicker:not(.ui-datepicker-inline){border-radius:8px;background:var(--color-layout-front-1);box-shadow:var(--top-shadow);z-index:10000000!important;padding:8px}.ui-datepicker a{text-decoration:none!important}.ui-datepicker option{color:var(--color-text-1);font-size:14px}.ui-datepicker-header{padding:0!important;margin:0 0 18px;display:flex;align-items:center}.ui-datepicker-header>*{display:flex;align-items:center;justify-content:center}.ui-datepicker-title{width:100%!important;height:24px;margin:0!important}.ui-datepicker-month,.ui-datepicker-year{outline:none!important;width:auto!important;border:none;padding:0;margin:0 6px!important;text-align:center;font-size:16px!important}.ui-datepicker-month{color:var(--color-text-1)}.ui-datepicker-year{color:var(--color-text-2)}select.ui-datepicker-month,select.ui-datepicker-year{cursor:pointer}.ui-datepicker-prev,.ui-datepicker-next{cursor:pointer;width:24px!important;height:24px!important;font-size:24px;font-family:Topvisor-2;position:static!important}.ui-datepicker-prev:before{color:var(--color-text-3);content:""}.ui-datepicker-prev-hover:before{color:var(--color-text-1);content:""}.ui-datepicker-next{color:var(--color-text-3);order:1}.ui-datepicker-next-hover{color:var(--color-text-1);order:1}.ui-datepicker-next:before{content:""}.ui-datepicker-prev>*,.ui-datepicker-next>*{display:none!important}.ui-datepicker thead th{width:auto!important;padding:0!important;color:var(--color-text-3);font-size:14px;font-weight:400!important}.ui-datepicker table{margin:0!important;font-size:14px}.ui-datepicker td{color:var(--color-text-1);background:none;padding:0!important}.ui-datepicker td span,.ui-datepicker td a{border-radius:8px;border:none;min-width:32px;height:32px;padding:0;margin:1px;color:var(--color-text-1)!important;line-height:32px;text-align:center;position:relative;display:block}.ui-datepicker td a{background:var(--datepicker-day-color)}.ui-datepicker td a:hover{background:var(--datepicker-day-color-hover)}td.ui-datepicker-today span,td.ui-datepicker-today a{background:none;position:relative}.ui-datepicker td.selected a{background:var(--datepicker-range-color);padding-right:0;padding-left:1px;margin-right:1px;margin-left:0}.ui-datepicker td.selected a:hover{background:var(--datepicker-range-color-hover)}.ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a{border-top-left-radius:0;border-bottom-left-radius:0;padding-left:1px;margin-left:0}.ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:1px;margin-right:0}.ui-datepicker td.selected-start a,.ui-datepicker td.selected-end a,.ui-datepicker td.ui-datepicker-current-day a{background:var(--datepicker-selected-color);color:#fff!important}.ui-datepicker td.selected-start a:hover,.ui-datepicker td.selected-end a:hover,.ui-datepicker td.ui-datepicker-current-day a:hover{background:var(--datepicker-selected-color-hover)}.ui-datepicker-day-marks{line-height:normal;position:absolute;right:0;bottom:3px;left:0;display:flex;align-items:center;justify-content:center}.ui-datepicker-day-marks>i{border-radius:50%;border:1px solid #FFF;width:4px;height:4px;margin:0 2px}.ui-datepicker-day-marks-exists{background:var(--color-text-primary)}.ui-datepicker-day-marks-update{background:var(--color-text-negative)}.ui-datepicker-row-break{display:none}';
|
|
4
|
+
o.insertStyleToPage(h);
|
|
5
|
+
const x = (t) => {
|
|
6
|
+
var e, r;
|
|
7
|
+
if (!((r = (e = o.$) == null ? void 0 : e.ui) != null && r.datepicker)) {
|
|
8
|
+
console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
return o.$.datepicker.setDefaults({
|
|
12
|
+
dateFormat: o.state.dateFormat.toLowerCase().replace("m", "mm").replace("y", "yy").replace("d", "dd")
|
|
13
|
+
}), o.$(t);
|
|
14
|
+
};
|
|
15
|
+
function b(t, e) {
|
|
16
|
+
var r;
|
|
17
|
+
return (r = x(t)) == null ? void 0 : r.datepicker(e);
|
|
18
|
+
}
|
|
19
|
+
let n, l, p, u;
|
|
20
|
+
k(g(o.state.dateFormat), () => {
|
|
21
|
+
var t;
|
|
22
|
+
n = m("2000-01-01"), l = ((t = n.match(/\D/)) == null ? void 0 : t[0]) ?? "-", p = n.replace(/\D+/g, "").length, u = [];
|
|
23
|
+
for (let e = 0; e < n.length; e++)
|
|
24
|
+
n[e] === l && u.push(e);
|
|
25
|
+
}, { immediate: !0 });
|
|
26
|
+
function y(t) {
|
|
27
|
+
let e = t.target.selectionEnd, r = t.target.value, i = r.substring(0, e).replace(/\D+/g, ""), a = r.substring(e).replace(/\D+/g, ""), c = i.length + a.length - p;
|
|
28
|
+
if (c > 0) {
|
|
29
|
+
i = i.substring(0, p);
|
|
30
|
+
const d = p - i.length;
|
|
31
|
+
a = a.substring(a.length - d);
|
|
32
|
+
} else c < 0 && (t.inputType === "deleteContentForward" ? i += "0".repeat(-c) : a = "0".repeat(-c) + a);
|
|
33
|
+
e = i.length, r = i + a;
|
|
34
|
+
for (let d = 0; d < u.length; d++) {
|
|
35
|
+
const s = u[d];
|
|
36
|
+
r = r.substring(0, s) + l + r.substring(s), e >= s && e++;
|
|
37
|
+
}
|
|
38
|
+
t.inputType === "deleteContentBackward" && r[e - 1] === l && e--, r !== t.target.value && (t.target.value = r, t.target.selectionStart = e, t.target.selectionEnd = e);
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
b as connectDatepicker,
|
|
42
|
+
y as oninput
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=datepicker-BiaXdEIn.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datepicker-BiaXdEIn.es.js","sources":["../../src/components/forms/inputDate/datepicker.ts"],"sourcesContent":["import { toRef, watch } from 'vue';\nimport Core from '@/core/core/core';\nimport { dateFormat } from '@/core/utils/date';\n\nimport css from '@/components/forms/inputDate/datepicker.css?inline';\n\nCore.insertStyleToPage(css);\n\nconst $ = (el: HTMLInputElement) => {\n\tif (!Core.$?.ui?.datepicker) {\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\n\n\t\treturn;\n\t}\n\n\tCore.$.datepicker.setDefaults({\n\t\tdateFormat: Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd'),\n\t});\n\n\treturn Core.$(el);\n};\n\nexport function connectDatepicker(el: HTMLInputElement, options: any) {\n\treturn $(el)?.datepicker(options);\n}\n\nlet dateFormatted;\nlet delimiter: string;\nlet dateNumbersCount: number;\nlet delimitersIndexes: number[];\n\nwatch(toRef(Core.state.dateFormat), () => {\n\t// генерация отформатированной даты, извлечение из нее разделителей и их индексов\n\tdateFormatted = dateFormat('2000-01-01');\n\tdelimiter = dateFormatted.match(/\\D/)?.[0] ?? '-';\n\tdateNumbersCount = dateFormatted.replace(/\\D+/g, '').length;\n\tdelimitersIndexes = [];\n\n\tfor (let i = 0; i < dateFormatted.length; i++) {\n\t\tif (dateFormatted[i] === delimiter) {\n\t\t\tdelimitersIndexes.push(i);\n\t\t}\n\t}\n}, { immediate: true });\n\n/**\n * Автоформат при вводе в поле с датой\n */\nexport function oninput(e: any) {\n\tlet selectionPos = e.target.selectionEnd;\n\tlet value = e.target.value;\n\n\t// разбить занчение на две половины - до и после каретки\n\t// удалить все символы, кроме цифр\n\tlet valueChunkLeft = value.substring(0, selectionPos).replace(/\\D+/g, '');\n\tlet valueChunkRight = value.substring(selectionPos).replace(/\\D+/g, '');\n\n\tlet extraNumbersCount = valueChunkLeft.length + valueChunkRight.length - dateNumbersCount;\n\tif (extraNumbersCount > 0) {\n\t\t// // количество цифр больше требуемого - удалить лишние\n\t\tvalueChunkLeft = valueChunkLeft.substring(0, dateNumbersCount);\n\n\t\tconst valueChunkRightMaxLength = dateNumbersCount - valueChunkLeft.length;\n\t\tvalueChunkRight = valueChunkRight.substring(valueChunkRight.length - valueChunkRightMaxLength);\n\t} else if (extraNumbersCount < 0) {\n\t\t// количество цифр меньше требуемого - добавить 0\n\t\tif (e.inputType === 'deleteContentForward') {\n\t\t\t// нажатие на delete - добавить к левой части для правильного позиционирования каретки\n\t\t\tvalueChunkLeft += '0'.repeat(-extraNumbersCount);\n\t\t} else {\n\t\t\tvalueChunkRight = '0'.repeat(-extraNumbersCount) + valueChunkRight;\n\t\t}\n\t}\n\n\tselectionPos = valueChunkLeft.length;\n\tvalue = valueChunkLeft + valueChunkRight;\n\n\t// вставить разделители\n\tfor (let i = 0; i < delimitersIndexes.length; i++) {\n\t\tconst delimiterIndex = delimitersIndexes[i];\n\n\t\tvalue = value.substring(0, delimiterIndex) + delimiter + value.substring(delimiterIndex);\n\n\t\t// сдвинуть каретку, если разделитель вставлен левее ее\n\t\tif (selectionPos >= delimiterIndex) {\n\t\t\tselectionPos++;\n\t\t}\n\t}\n\n\t// нажатие на backspace - если слева символ разделителя, перенести каретку за него\n\tif (e.inputType === 'deleteContentBackward' && value[selectionPos - 1] === delimiter) {\n\t\tselectionPos--;\n\t}\n\n\t// если значение изменилось - вставить его и переместить каретку\n\tif (value !== e.target.value) {\n\t\te.target.value = value;\n\t\te.target.selectionStart = selectionPos;\n\t\te.target.selectionEnd = selectionPos;\n\t}\n}\n"],"names":["Core","css","$","el","_b","_a","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","toRef","dateFormat","i","oninput","e","selectionPos","value","valueChunkLeft","valueChunkRight","extraNumbersCount","valueChunkRightMaxLength","delimiterIndex"],"mappings":";;;AAMAA,EAAK,kBAAkBC,CAAG;AAE1B,MAAMC,IAAI,CAACC,MAAyB;;AACnC,MAAI,GAACC,KAAAC,IAAAL,EAAK,MAAL,gBAAAK,EAAQ,OAAR,QAAAD,EAAY,aAAY;AAC5B,YAAQ,KAAK,0EAA0E;AAEvF;AAAA,EACD;AAEA,SAAAJ,EAAK,EAAE,WAAW,YAAY;AAAA,IAC7B,YAAYA,EAAK,MAAM,WAAW,YAAA,EAAc,QAAQ,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI;AAAA,EAAA,CACvG,GAEMA,EAAK,EAAEG,CAAE;AACjB;AAEO,SAASG,EAAkBH,GAAsBI,GAAc;;AACrE,UAAOF,IAAAH,EAAEC,CAAE,MAAJ,gBAAAE,EAAO,WAAWE;AAC1B;AAEA,IAAIC,GACAC,GACAC,GACAC;AAEJC,EAAMC,EAAMb,EAAK,MAAM,UAAU,GAAG,MAAM;;AAEzC,EAAAQ,IAAgBM,EAAW,YAAY,GACvCL,MAAYJ,IAAAG,EAAc,MAAM,IAAI,MAAxB,gBAAAH,EAA4B,OAAM,KAC9CK,IAAmBF,EAAc,QAAQ,QAAQ,EAAE,EAAE,QACrDG,IAAoB,CAAA;AAEpB,WAASI,IAAI,GAAGA,IAAIP,EAAc,QAAQO;AACzC,IAAIP,EAAcO,CAAC,MAAMN,KACxBE,EAAkB,KAAKI,CAAC;AAG3B,GAAG,EAAE,WAAW,IAAM;AAKf,SAASC,EAAQC,GAAQ;AAC/B,MAAIC,IAAeD,EAAE,OAAO,cACxBE,IAAQF,EAAE,OAAO,OAIjBG,IAAiBD,EAAM,UAAU,GAAGD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GACpEG,IAAkBF,EAAM,UAAUD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GAElEI,IAAoBF,EAAe,SAASC,EAAgB,SAASX;AACzE,MAAIY,IAAoB,GAAG;AAE1B,IAAAF,IAAiBA,EAAe,UAAU,GAAGV,CAAgB;AAE7D,UAAMa,IAA2Bb,IAAmBU,EAAe;AACnE,IAAAC,IAAkBA,EAAgB,UAAUA,EAAgB,SAASE,CAAwB;AAAA,EAC9F,MAAA,CAAWD,IAAoB,MAE1BL,EAAE,cAAc,yBAEnBG,KAAkB,IAAI,OAAO,CAACE,CAAiB,IAE/CD,IAAkB,IAAI,OAAO,CAACC,CAAiB,IAAID;AAIrD,EAAAH,IAAeE,EAAe,QAC9BD,IAAQC,IAAiBC;AAGzB,WAASN,IAAI,GAAGA,IAAIJ,EAAkB,QAAQI,KAAK;AAClD,UAAMS,IAAiBb,EAAkBI,CAAC;AAE1C,IAAAI,IAAQA,EAAM,UAAU,GAAGK,CAAc,IAAIf,IAAYU,EAAM,UAAUK,CAAc,GAGnFN,KAAgBM,KACnBN;AAAA,EAEF;AAGA,EAAID,EAAE,cAAc,2BAA2BE,EAAMD,IAAe,CAAC,MAAMT,KAC1ES,KAIGC,MAAUF,EAAE,OAAO,UACtBA,EAAE,OAAO,QAAQE,GACjBF,EAAE,OAAO,iBAAiBC,GAC1BD,EAAE,OAAO,eAAeC;AAE1B;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["require","exports","vue","./forms-CgtkdwgA.amd"],(function(x,k,c,i){"use strict";if(typeof c>"u")var c=window.Vue;i.Core.insertStyleToPage('.ui-datepicker{--datepicker-day-color: var(--color-layout-front-1);--datepicker-day-color-hover: var(--color-layer-1);--datepicker-selected-color: var(--color-bg-primary-1);--datepicker-selected-color-hover: var(--color-bg-primary-2);--datepicker-range-color: var(--color-layer-primary-1);--datepicker-range-color-hover: var(--color-layer-primary-2);-webkit-user-select:none;user-select:none;width:auto;padding:0}.ui-datepicker:before,.ui-datepicker:after{display:none}.ui-datepicker-inline{display:inline-block!important}.ui-datepicker:not(.ui-datepicker-inline){border-radius:8px;background:var(--color-layout-front-1);box-shadow:var(--top-shadow);z-index:10000000!important;padding:8px}.ui-datepicker a{text-decoration:none!important}.ui-datepicker option{color:var(--color-text-1);font-size:14px}.ui-datepicker-header{padding:0!important;margin:0 0 18px;display:flex;align-items:center}.ui-datepicker-header>*{display:flex;align-items:center;justify-content:center}.ui-datepicker-title{width:100%!important;height:24px;margin:0!important}.ui-datepicker-month,.ui-datepicker-year{outline:none!important;width:auto!important;border:none;padding:0;margin:0 6px!important;text-align:center;font-size:16px!important}.ui-datepicker-month{color:var(--color-text-1)}.ui-datepicker-year{color:var(--color-text-2)}select.ui-datepicker-month,select.ui-datepicker-year{cursor:pointer}.ui-datepicker-prev,.ui-datepicker-next{cursor:pointer;width:24px!important;height:24px!important;font-size:24px;font-family:Topvisor-2;position:static!important}.ui-datepicker-prev:before{color:var(--color-text-3);content:""}.ui-datepicker-prev-hover:before{color:var(--color-text-1);content:""}.ui-datepicker-next{color:var(--color-text-3);order:1}.ui-datepicker-next-hover{color:var(--color-text-1);order:1}.ui-datepicker-next:before{content:""}.ui-datepicker-prev>*,.ui-datepicker-next>*{display:none!important}.ui-datepicker thead th{width:auto!important;padding:0!important;color:var(--color-text-3);font-size:14px;font-weight:400!important}.ui-datepicker table{margin:0!important;font-size:14px}.ui-datepicker td{color:var(--color-text-1);background:none;padding:0!important}.ui-datepicker td span,.ui-datepicker td a{border-radius:8px;border:none;min-width:32px;height:32px;padding:0;margin:1px;color:var(--color-text-1)!important;line-height:32px;text-align:center;position:relative;display:block}.ui-datepicker td a{background:var(--datepicker-day-color)}.ui-datepicker td a:hover{background:var(--datepicker-day-color-hover)}td.ui-datepicker-today span,td.ui-datepicker-today a{background:none;position:relative}.ui-datepicker td.selected a{background:var(--datepicker-range-color);padding-right:0;padding-left:1px;margin-right:1px;margin-left:0}.ui-datepicker td.selected a:hover{background:var(--datepicker-range-color-hover)}.ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a{border-top-left-radius:0;border-bottom-left-radius:0;padding-left:1px;margin-left:0}.ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:1px;margin-right:0}.ui-datepicker td.selected-start a,.ui-datepicker td.selected-end a,.ui-datepicker td.ui-datepicker-current-day a{background:var(--datepicker-selected-color);color:#fff!important}.ui-datepicker td.selected-start a:hover,.ui-datepicker td.selected-end a:hover,.ui-datepicker td.ui-datepicker-current-day a:hover{background:var(--datepicker-selected-color-hover)}.ui-datepicker-day-marks{line-height:normal;position:absolute;right:0;bottom:3px;left:0;display:flex;align-items:center;justify-content:center}.ui-datepicker-day-marks>i{border-radius:50%;border:1px solid #FFF;width:4px;height:4px;margin:0 2px}.ui-datepicker-day-marks-exists{background:var(--color-text-primary)}.ui-datepicker-day-marks-update{background:var(--color-text-negative)}.ui-datepicker-row-break{display:none}');const h=t=>{var e,r;if(!((r=(e=i.Core.$)==null?void 0:e.ui)!=null&&r.datepicker)){console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");return}return i.Core.$.datepicker.setDefaults({dateFormat:i.Core.state.dateFormat.toLowerCase().replace("m","mm").replace("y","yy").replace("d","dd")}),i.Core.$(t)};function m(t,e){var r;return(r=h(t))==null?void 0:r.datepicker(e)}let d,p,l,u;c.watch(c.toRef(i.Core.state.dateFormat),()=>{var t;d=i.dateFormat("2000-01-01"),p=((t=d.match(/\D/))==null?void 0:t[0])??"-",l=d.replace(/\D+/g,"").length,u=[];for(let e=0;e<d.length;e++)d[e]===p&&u.push(e)},{immediate:!0});function v(t){let e=t.target.selectionEnd,r=t.target.value,a=r.substring(0,e).replace(/\D+/g,""),o=r.substring(e).replace(/\D+/g,""),s=a.length+o.length-l;if(s>0){a=a.substring(0,l);const n=l-a.length;o=o.substring(o.length-n)}else s<0&&(t.inputType==="deleteContentForward"?a+="0".repeat(-s):o="0".repeat(-s)+o);e=a.length,r=a+o;for(let n=0;n<u.length;n++){const g=u[n];r=r.substring(0,g)+p+r.substring(g),e>=g&&e++}t.inputType==="deleteContentBackward"&&r[e-1]===p&&e--,r!==t.target.value&&(t.target.value=r,t.target.selectionStart=e,t.target.selectionEnd=e)}k.connectDatepicker=m,k.oninput=v,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})}));
|
|
2
|
+
//# sourceMappingURL=datepicker-DUoArkDy.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datepicker-DUoArkDy.amd.js","sources":["../../src/components/forms/inputDate/datepicker.ts"],"sourcesContent":["import { toRef, watch } from 'vue';\nimport Core from '@/core/core/core';\nimport { dateFormat } from '@/core/utils/date';\n\nimport css from '@/components/forms/inputDate/datepicker.css?inline';\n\nCore.insertStyleToPage(css);\n\nconst $ = (el: HTMLInputElement) => {\n\tif (!Core.$?.ui?.datepicker) {\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\n\n\t\treturn;\n\t}\n\n\tCore.$.datepicker.setDefaults({\n\t\tdateFormat: Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd'),\n\t});\n\n\treturn Core.$(el);\n};\n\nexport function connectDatepicker(el: HTMLInputElement, options: any) {\n\treturn $(el)?.datepicker(options);\n}\n\nlet dateFormatted;\nlet delimiter: string;\nlet dateNumbersCount: number;\nlet delimitersIndexes: number[];\n\nwatch(toRef(Core.state.dateFormat), () => {\n\t// генерация отформатированной даты, извлечение из нее разделителей и их индексов\n\tdateFormatted = dateFormat('2000-01-01');\n\tdelimiter = dateFormatted.match(/\\D/)?.[0] ?? '-';\n\tdateNumbersCount = dateFormatted.replace(/\\D+/g, '').length;\n\tdelimitersIndexes = [];\n\n\tfor (let i = 0; i < dateFormatted.length; i++) {\n\t\tif (dateFormatted[i] === delimiter) {\n\t\t\tdelimitersIndexes.push(i);\n\t\t}\n\t}\n}, { immediate: true });\n\n/**\n * Автоформат при вводе в поле с датой\n */\nexport function oninput(e: any) {\n\tlet selectionPos = e.target.selectionEnd;\n\tlet value = e.target.value;\n\n\t// разбить занчение на две половины - до и после каретки\n\t// удалить все символы, кроме цифр\n\tlet valueChunkLeft = value.substring(0, selectionPos).replace(/\\D+/g, '');\n\tlet valueChunkRight = value.substring(selectionPos).replace(/\\D+/g, '');\n\n\tlet extraNumbersCount = valueChunkLeft.length + valueChunkRight.length - dateNumbersCount;\n\tif (extraNumbersCount > 0) {\n\t\t// // количество цифр больше требуемого - удалить лишние\n\t\tvalueChunkLeft = valueChunkLeft.substring(0, dateNumbersCount);\n\n\t\tconst valueChunkRightMaxLength = dateNumbersCount - valueChunkLeft.length;\n\t\tvalueChunkRight = valueChunkRight.substring(valueChunkRight.length - valueChunkRightMaxLength);\n\t} else if (extraNumbersCount < 0) {\n\t\t// количество цифр меньше требуемого - добавить 0\n\t\tif (e.inputType === 'deleteContentForward') {\n\t\t\t// нажатие на delete - добавить к левой части для правильного позиционирования каретки\n\t\t\tvalueChunkLeft += '0'.repeat(-extraNumbersCount);\n\t\t} else {\n\t\t\tvalueChunkRight = '0'.repeat(-extraNumbersCount) + valueChunkRight;\n\t\t}\n\t}\n\n\tselectionPos = valueChunkLeft.length;\n\tvalue = valueChunkLeft + valueChunkRight;\n\n\t// вставить разделители\n\tfor (let i = 0; i < delimitersIndexes.length; i++) {\n\t\tconst delimiterIndex = delimitersIndexes[i];\n\n\t\tvalue = value.substring(0, delimiterIndex) + delimiter + value.substring(delimiterIndex);\n\n\t\t// сдвинуть каретку, если разделитель вставлен левее ее\n\t\tif (selectionPos >= delimiterIndex) {\n\t\t\tselectionPos++;\n\t\t}\n\t}\n\n\t// нажатие на backspace - если слева символ разделителя, перенести каретку за него\n\tif (e.inputType === 'deleteContentBackward' && value[selectionPos - 1] === delimiter) {\n\t\tselectionPos--;\n\t}\n\n\t// если значение изменилось - вставить его и переместить каретку\n\tif (value !== e.target.value) {\n\t\te.target.value = value;\n\t\te.target.selectionStart = selectionPos;\n\t\te.target.selectionEnd = selectionPos;\n\t}\n}\n"],"names":["Core","$","el","forms","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","_a","i","selectionPos","e","value","valueChunkLeft","valueChunkRight","extraNumbersCount","valueChunkRightMaxLength","delimiterIndex"],"mappings":"2HAMAA,EAAAA,KAAAA,83HAAAA,EAEA,MAAAC,EAAAC,GAAA,uEAEE,QAAA,KAAA,0EAAA,SAKD,OAAAC,EAAA,KAAA,EAAA,WAAA,YAAA,CAA8B,WAAAA,EAAA,KAAA,MAAA,WAAA,YAAA,EAAA,QAAA,IAAA,IAAA,EAAA,QAAA,IAAA,IAAA,EAAA,QAAA,IAAA,IAAA,CAC0E,CAAA,EAGxGA,EAAA,KAAA,EAAAD,CAAA,GAGM,SAAAE,EAAAF,EAAAG,EAAA,kDAEP,CAEA,IAAAC,EACAC,EACAC,EACAC,EAEAC,EAAAA,MAAAA,EAAAA,MAAAA,EAAAA,KAAAA,MAAAA,UAAAA,EAAAA,IAAAA,OAECJ,EAAAH,EAAA,WAAA,YAAA,EACAI,IAAAI,EAAAL,EAAA,MAAA,IAAA,IAAA,YAAAK,EAAA,KAAA,uCAIA,QAAAC,EAAA,EAAAA,EAAAN,EAAA,OAAAM,IACCN,EAAAM,CAAA,IAAAL,GACCE,EAAA,KAAAG,CAAA,CAGH,EAAA,CAAA,UAAA,EAAA,CAAA,gBAMC,IAAAC,EAAAC,EAAA,OAAA,aACAC,EAAAD,EAAA,OAAA,MAIAE,EAAAD,EAAA,UAAA,EAAAF,CAAA,EAAA,QAAA,OAAA,EAAA,EACAI,EAAAF,EAAA,UAAAF,CAAA,EAAA,QAAA,OAAA,EAAA,wBAGA,GAAAK,EAAA,EAAA,oBAIC,MAAAC,EAAAX,EAAAQ,EAAA,gCAC6F,MAAAE,EAAA,IAG7FJ,EAAA,YAAA,6DAQDD,EAAAG,EAAA,OACAD,EAAAC,EAAAC,EAGA,QAAAL,EAAA,EAAAA,EAAAH,EAAA,OAAAG,IAAA,CACC,MAAAQ,EAAAX,EAAAG,CAAA,EAEAG,EAAAA,EAAA,UAAA,EAAAK,CAAA,EAAAb,EAAAQ,EAAA,UAAAK,CAAA,EAGAP,GAAAO,GACCP,IAKFC,EAAA,YAAA,yBAAAC,EAAAF,EAAA,CAAA,IAAAN,GACCM,yBAKAC,EAAA,OAAA,MAAAC,EACAD,EAAA,OAAA,eAAAD,EACAC,EAAA,OAAA,aAAAD,EAEF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["require","exports","vue","./page.vue_vue_type_script_setup_true_lang-DLebrPmi.amd","./utils-D9D3zzjc.amd","../utils/string.amd","../utils/searchers.amd","./forms-CgtkdwgA.amd","../require/css.amd!../assets/dialog_selectorRegions.css"],(function(j,v,e,_,h,C,p,f){"use strict";if(typeof e>"u")var e=window.Vue;const V={class:"dialog_selectorRegions_header"},b=["data-top-icon"],N=["src","alt"],B={class:"top-ellipsis"},I={class:"dialog_selectorRegions_regionAreaName"},R={key:1},S=["data-top-icon"],E=e.defineComponent({id:"selectorRegions",__name:"dialog_selectorRegions",props:{regions:{},regionsIndexes:{},"@update:regionsIndexes":{type:Function}},setup(L){const s=L,y=h.useTopDialogSelf(),r=e.ref([]),i=e.ref(null),u=e.reactive({searcher_key:-1,key:-1,name:-1}),k=e.computed({get(){return r.value.every(o=>o.selected)},set(o){r.value=r.value.map(l=>({...l,selected:o}))}}),g=o=>{u[o]=-u[o],r.value.sort((l,t)=>!l[o]||!t[o]?-1:l[o]>=t[o]?u[o]:-u[o])},w=()=>{var l;if(!r.value.some(t=>t.selected))return;const o=r.value.filter(t=>t.selected).map(t=>t.index);(l=s["@update:regionsIndexes"])==null||l.call(s,o),y.close()};e.watch([()=>s.regions,()=>s.regionsIndexes],()=>{if(r.value=[],!s.regions||!s.regionsIndexes)return;let o=[...s.regions];const l=new Map(s.regionsIndexes.map((t,a)=>[t,a]));o.sort((t,a)=>{const n=l.get(t.index)??Number.MAX_VALUE,c=l.get(a.index)??Number.MAX_VALUE;return n-c}),o.forEach(t=>{var x;let a=t.name;t.areaName&&(a+=` (${t.areaName})`);const n=((x=s.regionsIndexes)==null?void 0:x.includes(t.index))??!1,c=p.getSearcherGIcon(t.searcher_key),m=t.lang!==void 0?p.getLangLabel(t.searcher_key??999,t.lang):void 0,d=t.device!==void 0?p.getDeviceGIcon(t.device):void 0,D=t.countryCode!==void 0?C.genFlagLinkByCountryCode(t.countryCode):void 0,U={...t,selected:n,title:a,searcherIcon:c,langLabel:m,deviceIcon:d,flagLink:D};r.value.push(U)})});const A=()=>{var o;if(!((o=f.Core.$)!=null&&o.ui.sortable)){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}i.value&&$(i.value).sortable({distance:10,stop:()=>{const l=[...i.value.children].map(t=>Number(t.getAttribute("data-region-index")));r.value.sort((t,a)=>l.indexOf(t.index)-l.indexOf(a.index))}})},T=()=>{var o;(o=f.Core.$)!=null&&o.ui.sortable&&i.value&&$(i.value).sortable("destroy")};return(o,l)=>{const t=e.resolveComponent("TopCheckbox"),a=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(e.unref(_._sfc_main),{id:e.unref(y).id,pageActive:"selectorRegions",class:"dialog_selectorRegions",height:"600px",width:"600px",onOpen:A,onClose:T},{default:e.withCtx(()=>[e.createVNode(e.unref(_._sfc_main$1),{name:"selectorRegions",order:0},{header:e.withCtx(()=>{var n,c,m;return[e.createElementVNode("div",V,[e.createVNode(t,{modelValue:k.value,"onUpdate:modelValue":l[0]||(l[0]=d=>k.value=d)},null,8,["modelValue"]),e.createVNode(a,{class:"dialog_selectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:l[1]||(l[1]=d=>g("searcher_key")),title:(n=o.$i18n.Projects)==null?void 0:n.Sort_by_search_engine},null,8,["title"]),e.createVNode(a,{class:"dialog_selectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:l[2]||(l[2]=d=>g("key")),title:(c=o.$i18n.Projects)==null?void 0:c.Sort_by_yande_region_code},null,8,["title"]),e.createVNode(a,{class:"dialog_selectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:l[3]||(l[3]=d=>g("name")),title:(m=o.$i18n.Projects)==null?void 0:m.Sort_by_lphabetically},null,8,["title"])])]}),body:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"elRegions",ref:i},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,n=>(e.openBlock(),e.createBlock(t,{key:n.index,modelValue:n.selected,"onUpdate:modelValue":c=>n.selected=c,class:"dialog_selectorRegions_region","data-region-index":n.index},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"dialog_selectorRegions_regionSearcherIcon","data-top-icon":n.searcherIcon},null,8,b),n.flagLink?(e.openBlock(),e.createElementBlock("img",{key:0,class:"top-flag",src:"//topvisor.dev"+n.flagLink,alt:n.countryCode},null,8,N)):e.createCommentVNode("",!0),e.createElementVNode("div",B,[e.createTextVNode(e.toDisplayString(n.name)+" ",1),e.createElementVNode("span",I,e.toDisplayString(n.areaName),1)]),n.langLabel?(e.openBlock(),e.createElementBlock("div",R," ["+e.toDisplayString(n.langLabel)+"] ",1)):e.createCommentVNode("",!0),n.deviceIcon?(e.openBlock(),e.createElementBlock("div",{key:2,"data-top-icon":n.deviceIcon},null,8,S)):e.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-region-index"]))),128))],512)]),footer:e.withCtx(()=>[e.createVNode(a,{onClick:w},{default:e.withCtx(()=>{var n;return[e.createTextVNode(e.toDisplayString((n=o.$i18n.Common)==null?void 0:n.Apply),1)]}),_:1})]),_:1})]),_:1},8,["id"])}}});v.default=E,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})}));
|
|
2
|
+
//# sourceMappingURL=dialog_selectorRegions-CPRVbPAk.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog_selectorRegions-CPRVbPAk.amd.js","sources":["../../src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, reactive, ref, watch } from 'vue';\nimport { TopDialog, TopDialogPage, useTopDialogSelf } from '@/components/dialog/dialog';\nimport { genFlagLinkByCountryCode } from '@/core/utils/string';\nimport type { Props, RegionRich } from './types';\nimport { getDeviceGIcon, getLangLabel, getSearcherGIcon } from '@/core/utils/searchers';\nimport Core from '@/core/core/core';\n\ndefineOptions({ id: 'selectorRegions' });\n\nconst props = defineProps<Partial<Props>>();\n\nconst dialog = useTopDialogSelf();\n\n/**\n * Список расширенных регионов для использования в компоненте\n */\nconst regionsRich = ref<RegionRich[]>([]);\n\n/**\n * Ссылка на элемент с регионами\n */\nconst elRegions = ref<null | HTMLElement>(null);\n\n/**\n * Направление сортировки по полю\n */\nconst sortedVectorByField = reactive({\n\tsearcher_key: -1,\n\tkey: -1,\n\tname: -1,\n});\n\n/**\n * Выбраны все регионы\n */\nconst isAllSelected = computed({\n\tget() {\n\t\treturn regionsRich.value.every(region => region.selected);\n\t},\n\n\tset(value) {\n\t\tregionsRich.value = regionsRich.value.map(region => ({ ...region, selected: value }));\n\t},\n});\n\n/**\n * Сортировать регионы по выбранному полю\n * @param sortedField - Поле для сортировки\n */\nconst sort = (sortedField: keyof typeof sortedVectorByField) => {\n\tsortedVectorByField[sortedField] = -sortedVectorByField[sortedField];\n\n\tregionsRich.value.sort((regionA, regionB) => {\n\t\tif (!regionA[sortedField] || !regionB[sortedField]) return -1;\n\n\t\treturn regionA[sortedField] >= regionB[sortedField] ? sortedVectorByField[sortedField] : -sortedVectorByField[sortedField];\n\t});\n};\n\n/**\n * Применить изменения\n *\n * Вызывает callback `props['@update:regionsIndexes']`\n */\nconst onSubmit = () => {\n\tif (!regionsRich.value.some(region => region.selected)) return;\n\n\tconst regionsIndexes = regionsRich.value\n\t\t.filter(region => region.selected)\n\t\t.map(region => region.index);\n\n\tprops['@update:regionsIndexes']?.(regionsIndexes);\n\n\tdialog.close();\n};\n\n// генерация регионов\nwatch([\n\t() => props.regions,\n\t() => props.regionsIndexes,\n], () => {\n\tregionsRich.value = [];\n\n\tif (!props.regions) return;\n\tif (!props.regionsIndexes) return;\n\n\tlet regions = [...props.regions];\n\n\t// отсортировать регионы по входным данным\n\tconst orderByRegionIndex = new Map(props.regionsIndexes.map((index, order) => [index, order]));\n\n\tregions.sort((regionA, regionB) => {\n\t\tconst orderA = orderByRegionIndex.get(regionA.index) ?? Number.MAX_VALUE;\n\t\tconst orderB = orderByRegionIndex.get(regionB.index) ?? Number.MAX_VALUE;\n\n\t\treturn orderA - orderB;\n\t});\n\n\tregions.forEach(region => {\n\t\tlet title = region.name;\n\t\tif (region.areaName) title += ` (${region.areaName})`;\n\n\t\tconst selected = props.regionsIndexes?.includes(region.index) ?? false;\n\t\tconst searcherIcon = getSearcherGIcon(region.searcher_key);\n\t\tconst langLabel = region.lang !== undefined ? getLangLabel(region.searcher_key ?? 999, region.lang) : undefined;\n\t\tconst deviceIcon = region.device !== undefined ? getDeviceGIcon(region.device) : undefined;\n\t\tconst flagLink = region.countryCode !== undefined ? genFlagLinkByCountryCode(region.countryCode) : undefined;\n\n\t\tconst regionRich = {\n\t\t\t...region,\n\t\t\tselected,\n\t\t\ttitle,\n\t\t\tsearcherIcon,\n\t\t\tlangLabel,\n\t\t\tdeviceIcon,\n\t\t\tflagLink,\n\t\t};\n\n\t\tregionsRich.value.push(regionRich);\n\t});\n});\n\n/**\n * Проверить на существование sortable\n */\nconst onOpen = () => {\n\tif (!Core.$?.ui['sortable']) {\n\t\tconsole.info('Для работы сортировки требуется глобальная загрузка jQuery UI Sortable');\n\n\t\treturn;\n\t}\n\n\tif (!elRegions.value) return;\n\n\t$(elRegions.value).sortable({\n\t\tdistance: 10,\n\n\t\tstop: () => {\n\t\t\t// Обновляем порядок регионов в массиве regionsRich после сортировки\n\t\t\tconst sortedIndexes = [...elRegions.value!.children].map(el => Number(el.getAttribute('data-region-index')));\n\t\t\tregionsRich.value.sort((a, b) => sortedIndexes.indexOf(a.index) - sortedIndexes.indexOf(b.index));\n\t\t},\n\t});\n};\n\n/**\n * Удаление sortable\n */\nconst onClose = () => {\n\tif (!Core.$?.ui['sortable']) return;\n\tif (!elRegions.value) return;\n\n\t$(elRegions.value).sortable('destroy');\n};\n\n</script>\n\n<template>\n\t<TopDialog\n\t\t:id=\"dialog.id\"\n\t\tpageActive=\"selectorRegions\"\n\t\tclass=\"dialog_selectorRegions\"\n\t\theight=\"600px\"\n\t\twidth=\"600px\"\n\t\t@open=\"onOpen\"\n\t\t@close=\"onClose\"\n\t>\n\t\t<TopDialogPage name=\"selectorRegions\" :order=\"0\">\n\t\t\t<template #header>\n\t\t\t\t<div class=\"dialog_selectorRegions_header\">\n\t\t\t\t\t<TopCheckbox v-model=\"isAllSelected\"></TopCheckbox>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('searcher_key')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_search_engine\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('key')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_yande_region_code\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('name')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_lphabetically\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template #body>\n\t\t\t\t<div ref=\"elRegions\">\n\t\t\t\t\t<TopCheckbox\n\t\t\t\t\t\tv-for=\"region of regionsRich\"\n\t\t\t\t\t\t:key=\"region.index\"\n\t\t\t\t\t\tv-model=\"region.selected\"\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_region\"\n\t\t\t\t\t\t:data-region-index=\"region.index\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"dialog_selectorRegions_regionSearcherIcon\"\n\t\t\t\t\t\t\t:data-top-icon=\"region.searcherIcon\"\n\t\t\t\t\t\t></div>\n\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tv-if=\"region.flagLink\"\n\t\t\t\t\t\t\tclass=\"top-flag\"\n\t\t\t\t\t\t\t:src=\"'//topvisor.dev' + region.flagLink\"\n\t\t\t\t\t\t\t:alt=\"region.countryCode\"\n\t\t\t\t\t\t>\n\n\t\t\t\t\t\t<div class=\"top-ellipsis\">\n\t\t\t\t\t\t\t{{ region.name }}\n\n\t\t\t\t\t\t\t<span class=\"dialog_selectorRegions_regionAreaName\">\n\t\t\t\t\t\t\t\t{{ region.areaName }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if=\"region.langLabel\">\n\t\t\t\t\t\t\t[{{ region.langLabel }}]\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"region.deviceIcon\"\n\t\t\t\t\t\t\t:data-top-icon=\"region.deviceIcon\"\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</TopCheckbox>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template #footer>\n\t\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t\t{{ $i18n.Common?.Apply }}\n\t\t\t\t</TopButton>\n\t\t\t</template>\n\t\t</TopDialogPage>\n\t</TopDialog>\n</template>\n\n<style>\n@import \"./style.css\";\n</style>\n"],"names":["dialog","utils","regionsRich","vue","elRegions","sortedVectorByField","isAllSelected","region","sort","sortedField","regionA","regionB","_a","props","regionsIndexes","orderA","orderByRegionIndex","orderB","regions","title","selected","deviceIcon","utils_searchers","flagLink","utils_string","searcherIcon","langLabel","regionRich","a","b","sortedIndexes","onOpen","page_vue_vue_type_script_setup_true_lang","_hoisted_1","_cache","$event","_ctx","_b","_c","_hoisted_2","_hoisted_3","_hoisted_5","_hoisted_7"],"mappings":"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"}
|