@topvisor/ui 1.0.42-dev.2 → 1.0.42-dev.4
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-BCV4xehV.es.js +197 -0
- package/.chunks/core-BCV4xehV.es.js.map +1 -0
- package/.chunks/core-SEtL6T0A.amd.js +2 -0
- package/.chunks/core-SEtL6T0A.amd.js.map +1 -0
- package/.chunks/datepicker-Ba8QPoiv.amd.js +2 -0
- package/.chunks/datepicker-Ba8QPoiv.amd.js.map +1 -0
- package/.chunks/datepicker-DHxSFb-9.es.js +44 -0
- package/.chunks/datepicker-DHxSFb-9.es.js.map +1 -0
- package/.chunks/dialog_selectorRegions-Cd7_dHoH.es.js +188 -0
- package/.chunks/dialog_selectorRegions-Cd7_dHoH.es.js.map +1 -0
- package/.chunks/dialog_selectorRegions-CiWJsA9r.amd.js +2 -0
- package/.chunks/dialog_selectorRegions-CiWJsA9r.amd.js.map +1 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-C-wpHg-4.amd.js +2 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-C-wpHg-4.amd.js.map +1 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-Deg17t8D.es.js +322 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-Deg17t8D.es.js.map +1 -0
- package/.chunks/forms-DC7ffuv2.es.js +2051 -0
- package/.chunks/forms-DC7ffuv2.es.js.map +1 -0
- package/.chunks/forms-L6BGV_om.amd.js +3 -0
- package/.chunks/forms-L6BGV_om.amd.js.map +1 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CXp02bYr.es.js +184 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CXp02bYr.es.js.map +1 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-M0ZTpQlF.amd.js +2 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-M0ZTpQlF.amd.js.map +1 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-DNsbNhVH.es.js +110 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-DNsbNhVH.es.js.map +1 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-DepdFfhE.amd.js +2 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-DepdFfhE.amd.js.map +1 -0
- package/.chunks/notice-DQXlrM4Y.es.js +175 -0
- package/.chunks/notice-DQXlrM4Y.es.js.map +1 -0
- package/.chunks/notice-ZTC1xm1R.amd.js +4 -0
- package/.chunks/notice-ZTC1xm1R.amd.js.map +1 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-CDgPLGAn.es.js +143 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-CDgPLGAn.es.js.map +1 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-ZB87yGeU.amd.js +2 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-ZB87yGeU.amd.js.map +1 -0
- package/.chunks/popup-B7GI-vlM.es.js +459 -0
- package/.chunks/popup-B7GI-vlM.es.js.map +1 -0
- package/.chunks/popup-Kvk7IPNI.amd.js +2 -0
- package/.chunks/popup-Kvk7IPNI.amd.js.map +1 -0
- package/.chunks/punycode.es6-C2yitnNb.amd.js +2 -0
- package/.chunks/punycode.es6-C2yitnNb.amd.js.map +1 -0
- package/.chunks/punycode.es6-CNI-zL6U.es.js +134 -0
- package/.chunks/punycode.es6-CNI-zL6U.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-esTid5oI.amd.js +2 -0
- package/.chunks/store-esTid5oI.amd.js.map +1 -0
- package/.chunks/utils-BKooGtxR.amd.js +2 -0
- package/.chunks/utils-BKooGtxR.amd.js.map +1 -0
- package/.chunks/utils-Bg7IV0KZ.amd.js +2 -0
- package/.chunks/utils-Bg7IV0KZ.amd.js.map +1 -0
- package/.chunks/utils-BkchlCXw.es.js +79 -0
- package/.chunks/utils-BkchlCXw.es.js.map +1 -0
- package/.chunks/utils-CyqZFHE6.es.js +304 -0
- package/.chunks/utils-CyqZFHE6.es.js.map +1 -0
- package/README.md +59 -37
- 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/popup.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/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/components/charts/charts.d.ts +5 -0
- package/components/charts/miniChart/miniChart.vue.d.ts +15 -0
- package/components/charts/miniChart/stories/dummy.d.ts +13 -0
- package/components/charts/miniChart/types.d.ts +92 -0
- package/components/charts/miniChart/utils/consts.d.ts +8 -0
- package/components/charts/miniCharts/miniCharts.d.ts +20 -0
- package/components/charts/miniCharts/miniCharts.vue.d.ts +32 -0
- package/components/charts/miniCharts/stories/dummy.d.ts +6 -0
- package/components/core/notice/item/item.vue.d.ts +10 -0
- package/components/core/notice/item/types.d.ts +63 -0
- package/components/core/notice/notice.vue.d.ts +5 -0
- package/components/core/notice/utils.d.ts +27 -0
- package/components/dialog/dialog/composables/asyncDialogHandle.d.ts +51 -0
- package/components/dialog/dialog/composables/dialogHandle.d.ts +108 -0
- package/components/dialog/dialog/composables/types.d.ts +11 -0
- package/components/dialog/dialog/composables/utils.d.ts +21 -0
- package/components/dialog/dialog/dialog.vue.d.ts +28 -0
- package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +13 -0
- package/components/dialog/dialog/page/page.vue.d.ts +19 -0
- package/components/dialog/dialog/page/types.d.ts +72 -0
- package/components/dialog/dialog/pageComponent/pageComponent.vue.d.ts +6 -0
- package/components/dialog/dialog/pageComponent/types.d.ts +18 -0
- package/components/dialog/dialog/stories/autoload.d.ts +2 -0
- package/components/dialog/dialog/stories/dialog_example/pages/utils.d.ts +7 -0
- package/components/dialog/dialog/types.d.ts +58 -0
- package/components/dialog/dialog.d.ts +6 -0
- package/components/dialog/lib/types.d.ts +44 -0
- package/components/dialog/lib/utils.d.ts +14 -0
- package/components/dialog/lib/utils.globalEvents.d.ts +8 -0
- package/components/dialog/lib/worker.d.ts +76 -0
- package/components/extra/extra.d.ts +3 -0
- package/components/extra/rive/rive.vue.d.ts +11 -0
- package/components/extra/rive/types.d.ts +7 -0
- package/components/forms/avatar/avatar.vue.d.ts +10 -0
- package/components/forms/avatar/types.d.ts +32 -0
- package/components/forms/button/button.vue.d.ts +21 -0
- package/components/forms/button/types.d.ts +49 -0
- package/components/forms/caption/caption.vue.d.ts +17 -0
- package/components/forms/caption/types.d.ts +9 -0
- package/components/forms/checkbox/checkbox.vue.d.ts +27 -0
- package/components/forms/checkbox/types.d.ts +21 -0
- package/components/forms/controlLabel/controlLabel.vue.d.ts +19 -0
- package/components/forms/controlLabel/types.d.ts +4 -0
- package/components/forms/forms.d.ts +31 -0
- package/components/forms/hint/hint.vue.d.ts +4 -0
- package/components/forms/hint/types.d.ts +8 -0
- package/components/forms/input/input.vue.d.ts +27 -0
- package/components/forms/input/types.d.ts +23 -0
- package/components/forms/inputDate/datepicker.d.ts +5 -0
- package/components/forms/inputDate/inputDate.vue.d.ts +12 -0
- package/components/forms/inputDate/types.d.ts +1 -0
- package/components/forms/inputRange/inputRange.vue.d.ts +19 -0
- package/components/forms/inputRange/types.d.ts +2 -0
- package/components/forms/loadbar/loadbar.vue.d.ts +3 -0
- package/components/forms/preloader/preloader.vue.d.ts +4 -0
- package/components/forms/preloader/types.d.ts +3 -0
- package/components/forms/radio/radio.vue.d.ts +23 -0
- package/components/forms/radio/types.d.ts +14 -0
- package/components/forms/select/select.vue.d.ts +17 -0
- package/components/forms/select/stories/exampleOptions.d.ts +5 -0
- package/components/forms/select/types.d.ts +58 -0
- package/components/forms/switcher/switcher.vue.d.ts +23 -0
- package/components/forms/switcher/types.d.ts +21 -0
- package/components/forms/textarea/textarea.vue.d.ts +12 -0
- package/components/forms/textarea/types.d.ts +44 -0
- package/components/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +16 -0
- package/components/formsExt/checkboxGroup/stories/example.d.ts +15 -0
- package/components/formsExt/checkboxGroup/types.d.ts +19 -0
- package/components/formsExt/editArea/editArea.vue.d.ts +18 -0
- package/components/formsExt/editArea/types.d.ts +33 -0
- package/components/formsExt/editInput/editInput.vue.d.ts +8 -0
- package/components/formsExt/editInput/types.d.ts +16 -0
- package/components/formsExt/formsExt.d.ts +17 -0
- package/components/formsExt/info/info.vue.d.ts +20 -0
- package/components/formsExt/info/types.d.ts +21 -0
- package/components/formsExt/menu/menu.vue.d.ts +16 -0
- package/components/formsExt/menu/stories/items.d.ts +3 -0
- package/components/formsExt/menu/types.d.ts +37 -0
- package/components/formsExt/policy/policy.vue.d.ts +4 -0
- package/components/formsExt/policy/types.d.ts +10 -0
- package/components/formsExt/radioGroup/radioGroup.vue.d.ts +16 -0
- package/components/formsExt/radioGroup/stories/example.d.ts +20 -0
- package/components/formsExt/radioGroup/types.d.ts +21 -0
- package/components/formsExt/selector2/composables/useAPI.d.ts +30 -0
- package/components/formsExt/selector2/composables/useMenu.d.ts +16 -0
- package/components/formsExt/selector2/itemMulti.vue.d.ts +8 -0
- package/components/formsExt/selector2/selector2.vue.d.ts +43 -0
- package/components/formsExt/selector2/stories/dummyAPIRequest.d.ts +9 -0
- package/components/formsExt/selector2/types.d.ts +166 -0
- package/components/formsExt/selector2/utils.d.ts +6 -0
- package/components/layout/islandRows/islandRows.vue.d.ts +17 -0
- package/components/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +18 -0
- package/components/layout/islandRows/islandRowsRow/types.d.ts +2 -0
- package/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +18 -0
- package/components/layout/islandRows/types.d.ts +10 -0
- package/components/layout/layout.d.ts +9 -0
- package/components/layout/rows/rows.vue.d.ts +21 -0
- package/components/layout/rows/types.d.ts +6 -0
- package/components/popup/alert/alert.vue.d.ts +25 -0
- package/components/popup/alert/types.d.ts +8 -0
- package/components/popup/confirm/confirm.vue.d.ts +26 -0
- package/components/popup/confirm/types.d.ts +21 -0
- package/components/popup/lib/popup.d.ts +87 -0
- package/components/popup/lib/popup.globalEvents.d.ts +32 -0
- package/components/popup/lib/worker.d.ts +77 -0
- package/components/popup/lib/worker.globalEvents.d.ts +19 -0
- package/components/popup/popup/listItem.vue.d.ts +22 -0
- package/components/popup/popup/opener.vue.d.ts +17 -0
- package/components/popup/popup/popup.vue.d.ts +38 -0
- package/components/popup/popup/types.d.ts +110 -0
- package/components/popup/popup/widgetInput.vue.d.ts +17 -0
- package/components/popup/popup.d.ts +15 -0
- package/components/popup/prompt/prompt.vue.d.ts +26 -0
- package/components/popup/prompt/types.d.ts +21 -0
- package/components/project/project.d.ts +15 -0
- package/components/project/selectorCompetitors/composables.d.ts +3 -0
- package/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +14 -0
- package/components/project/selectorCompetitors/stories/items.d.ts +3 -0
- package/components/project/selectorCompetitors/types.d.ts +30 -0
- package/components/project/selectorRegion/composables/compare.d.ts +12 -0
- package/components/project/selectorRegion/composables/selectRegion.d.ts +13 -0
- package/components/project/selectorRegion/composables/selectSearcher.d.ts +13 -0
- package/components/project/selectorRegion/composables/selectorRegion.d.ts +25 -0
- package/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue.d.ts +6 -0
- package/components/project/selectorRegion/dialog_selectorRegions/types.d.ts +26 -0
- package/components/project/selectorRegion/selectorRegion.vue.d.ts +23 -0
- package/components/project/selectorRegion/stories/searchers.d.ts +3 -0
- package/components/project/selectorRegion/types.d.ts +172 -0
- package/components/project/selectorRegion/utils/consts.d.ts +31 -0
- package/components/project/selectorRegion/utils/utils.d.ts +34 -0
- package/components/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +20 -0
- package/components/project/tagSelector/popupListItem/types.d.ts +33 -0
- package/components/project/tagSelector/popupOpener/popupOpener.vue.d.ts +27 -0
- package/components/project/tagSelector/popupOpener/types.d.ts +64 -0
- package/components/project/tagSelector/tagIcon/tagIcon.vue.d.ts +4 -0
- package/components/project/tagSelector/tagIcon/types.d.ts +21 -0
- package/components/project/tagSelector/tagSelector.vue.d.ts +37 -0
- package/components/project/tagSelector/tagsDefaults.d.ts +3 -0
- package/components/project/tagSelector/types.d.ts +140 -0
- package/components/project/tagSelector/utils/el.d.ts +19 -0
- package/components/project/tagSelector/utils/utils.d.ts +14 -0
- package/components/tabs/tabs/content.vue.d.ts +19 -0
- package/components/tabs/tabs/tab.vue.d.ts +19 -0
- package/components/tabs/tabs/tabs.vue.d.ts +21 -0
- package/components/tabs/tabs/types.d.ts +19 -0
- package/components/tabs/tabs.d.ts +7 -0
- package/components/tabsView/tabsView/menu.vue.d.ts +32 -0
- package/components/tabsView/tabsView/menuDelimeter.vue.d.ts +3 -0
- package/components/tabsView/tabsView/menuItem.vue.d.ts +23 -0
- package/components/tabsView/tabsView/menuTitle.vue.d.ts +20 -0
- package/components/tabsView/tabsView/store.d.ts +12 -0
- package/components/tabsView/tabsView/tabsView.vue.d.ts +34 -0
- package/components/tabsView/tabsView/types.d.ts +98 -0
- package/components/tabsView/tabsView/utils.d.ts +11 -0
- package/components/tabsView/tabsView.d.ts +7 -0
- package/core/app.amd.js +2 -0
- package/core/app.amd.js.map +1 -0
- package/core/app.d.ts +8 -0
- package/core/app.js +214 -0
- package/core/app.js.map +1 -0
- package/core/core/core.d.ts +113 -0
- package/core/core/events/resize.d.ts +16 -0
- package/core/core/events.d.ts +15 -0
- package/core/core/options.d.ts +47 -0
- package/core/core/preloaders.d.ts +19 -0
- package/core/core/state.d.ts +49 -0
- package/core/directives/data.d.ts +10 -0
- package/core/directives/focus.d.ts +10 -0
- package/core/directives/preloader.d.ts +8 -0
- package/core/directives/scrollIntoView.d.ts +3 -0
- package/core/directives/scrollShadow.d.ts +15 -0
- package/core/directives/sticky.d.ts +10 -0
- package/core/directives/swimUp.d.ts +15 -0
- package/core/directives/tooltip.d.ts +10 -0
- package/core/plugins/core.d.ts +60 -0
- package/core/plugins/i18n.d.ts +97 -0
- package/core/plugins/piniaTPA.d.ts +17 -0
- package/core/utils/check.d.ts +26 -0
- package/core/utils/clipboard.d.ts +12 -0
- package/core/utils/date.d.ts +70 -0
- package/core/utils/device.d.ts +50 -0
- package/core/utils/dom.d.ts +104 -0
- package/core/utils/image.d.ts +16 -0
- package/core/utils/keyboard.d.ts +8 -0
- package/core/utils/lodash.d.ts +6 -0
- package/core/utils/number.d.ts +17 -0
- package/core/utils/price.d.ts +10 -0
- package/core/utils/route.d.ts +33 -0
- package/core/utils/scroll.d.ts +32 -0
- package/core/utils/searchers.d.ts +38 -0
- package/core/utils/store/localStorage.d.ts +6 -0
- package/core/utils/store/plugin.d.ts +24 -0
- package/core/utils/store/store.d.ts +34 -0
- package/core/utils/store.d.ts +6 -0
- package/core/utils/string.d.ts +100 -0
- package/core/utils/system.d.ts +25 -0
- package/core/utils/url.d.ts +36 -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 +687 -0
- package/formsExt/formsExt.js.map +1 -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 +1 -62
- 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 +260 -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/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 +306 -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/.env_example +0 -1
- package/.gitlab-ci/.gitlab-ci.yml +0 -27
- package/.gitlab-ci/README.md +0 -59
- package/.gitlab-ci/common/install.yml +0 -21
- package/.gitlab-ci/common/lint.yml +0 -11
- package/.gitlab-ci/common/redmine.yml +0 -12
- package/.gitlab-ci/common/version.yml +0 -34
- package/.gitlab-ci/storybook/build.yml +0 -18
- package/.gitlab-ci/storybook/deploy.yml +0 -50
- package/.gitlab-ci/ui/build.yml +0 -12
- package/.gitlab-ci/ui/deploy-dist.yml +0 -89
- package/.gitlab-ci/ui/deploy.yml +0 -19
- 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/icon.svg +0 -5
- package/.idea/inspectionProfiles/Disabled.xml +0 -824
- package/.idea/inspectionProfiles/Project_Default.xml +0 -33
- package/.idea/modules.xml +0 -8
- package/.idea/php.xml +0 -19
- package/.idea/ui.iml +0 -8
- package/.idea/vcs.xml +0 -6
- package/.storybook/TopTheme.ts +0 -115
- package/.storybook/TopThemeManager.ts +0 -53
- package/.storybook/argsArrayDecorator.ts +0 -120
- package/.storybook/main.ts +0 -78
- package/.storybook/manager.ts +0 -25
- package/.storybook/preview-head.html +0 -21
- package/.storybook/preview.ts +0 -50
- package/.storybook/vue/coreDecorator.ts +0 -86
- 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 -428
- package/NPM.md +0 -25
- package/PUBLISH.md +0 -88
- package/STORYBOOK.md +0 -41
- package/USE_IN_PROJECT.md +0 -32
- package/public/README.md +0 -82
- package/rollup.config.ts +0 -38
- package/scripts/afterBuild.sh +0 -13
- package/scripts/cssModules.ts +0 -39
- package/scripts/genDocs.sh +0 -20
- package/scripts/plugin/amdFix.ts +0 -83
- package/scripts/plugin/autoloadCSS.ts +0 -155
- package/src/CHANGELOG.md.mdx +0 -4
- package/src/components/charts/charts.ts +0 -8
- package/src/components/charts/miniChart/miniChart.stories.ts +0 -66
- 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/types.ts +0 -110
- package/src/components/charts/miniChart/utils/consts.ts +0 -9
- package/src/components/charts/miniCharts/miniCharts.stories.ts +0 -75
- package/src/components/charts/miniCharts/miniCharts.ts +0 -24
- package/src/components/charts/miniCharts/miniCharts.vue +0 -124
- 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 -74
- package/src/components/core/notice/notice.stories.ts +0 -104
- package/src/components/core/notice/notice.vue +0 -69
- package/src/components/core/notice/stories/README.md +0 -34
- 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 -178
- 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 -82
- package/src/components/dialog/dialog/dialog.vue +0 -74
- package/src/components/dialog/dialog/dialogs/dialogs.vue +0 -61
- 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 -26
- 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 -26
- 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 -77
- 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 -56
- 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 -56
- 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 -319
- 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 -42
- package/src/components/dialog/lib/utils.globalEvents.ts +0 -214
- package/src/components/dialog/lib/utils.ts +0 -656
- package/src/components/dialog/lib/worker.ts +0 -362
- package/src/components/extra/extra.ts +0 -5
- package/src/components/extra/rive/rive.vue +0 -56
- package/src/components/extra/rive/rives.stories.ts +0 -65
- package/src/components/extra/rive/stories/README.md +0 -40
- package/src/components/extra/rive/stories/nope.riv +0 -0
- package/src/components/extra/rive/stories/sadness.riv +0 -0
- package/src/components/extra/rive/types.ts +0 -8
- package/src/components/forms/README.mdx +0 -10
- package/src/components/forms/avatar/avatar.stories.ts +0 -37
- package/src/components/forms/avatar/avatar.vue +0 -77
- package/src/components/forms/avatar/stories/overview.vue +0 -30
- package/src/components/forms/avatar/types.ts +0 -38
- package/src/components/forms/button/button.stories.ts +0 -117
- 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 -36
- package/src/components/forms/button/style/button.css +0 -146
- 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 -59
- package/src/components/forms/caption/caption.stories.ts +0 -108
- package/src/components/forms/caption/caption.vue +0 -29
- package/src/components/forms/caption/types.ts +0 -10
- package/src/components/forms/checkbox/checkbox.stories.ts +0 -32
- package/src/components/forms/checkbox/checkbox.vue +0 -115
- package/src/components/forms/checkbox/stories/overview.vue +0 -171
- package/src/components/forms/checkbox/types.ts +0 -21
- package/src/components/forms/controlLabel/controlLabel.stories.ts +0 -31
- package/src/components/forms/controlLabel/controlLabel.vue +0 -54
- package/src/components/forms/controlLabel/types.ts +0 -4
- package/src/components/forms/forms.ts +0 -44
- package/src/components/forms/hint/hint.stories.ts +0 -40
- package/src/components/forms/hint/hint.vue +0 -32
- package/src/components/forms/hint/types.ts +0 -8
- package/src/components/forms/input/input.stories.ts +0 -31
- package/src/components/forms/input/input.vue +0 -178
- package/src/components/forms/input/stories/overview.vue +0 -63
- package/src/components/forms/input/types.ts +0 -31
- 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 -40
- package/src/components/forms/inputDate/inputDate.vue +0 -133
- package/src/components/forms/inputDate/stories/overview.vue +0 -35
- package/src/components/forms/inputDate/types.ts +0 -1
- package/src/components/forms/inputRange/inputRange.stories.ts +0 -52
- package/src/components/forms/inputRange/inputRange.vue +0 -39
- package/src/components/forms/inputRange/stories/overview.vue +0 -129
- package/src/components/forms/inputRange/types.ts +0 -3
- package/src/components/forms/loadbar/loadbar.stories.ts +0 -22
- package/src/components/forms/loadbar/loadbar.vue +0 -37
- package/src/components/forms/loadbar/stories/README.md +0 -6
- package/src/components/forms/preloader/preloader.stories.ts +0 -46
- package/src/components/forms/preloader/preloader.vue +0 -103
- package/src/components/forms/preloader/stories/README.md +0 -26
- package/src/components/forms/preloader/types.ts +0 -3
- package/src/components/forms/radio/radio.stories.ts +0 -33
- package/src/components/forms/radio/radio.vue +0 -97
- package/src/components/forms/radio/stories/overview.vue +0 -79
- package/src/components/forms/radio/types.ts +0 -15
- package/src/components/forms/select/select.stories.ts +0 -68
- package/src/components/forms/select/select.vue +0 -299
- package/src/components/forms/select/stories/exampleOptions.ts +0 -61
- package/src/components/forms/select/stories/overview.vue +0 -72
- package/src/components/forms/select/types.ts +0 -68
- package/src/components/forms/switcher/stories/overview.vue +0 -139
- package/src/components/forms/switcher/switcher.stories.ts +0 -32
- package/src/components/forms/switcher/switcher.vue +0 -118
- package/src/components/forms/switcher/types.ts +0 -22
- package/src/components/forms/textarea/stories/overview.vue +0 -89
- package/src/components/forms/textarea/textarea.stories.ts +0 -33
- package/src/components/forms/textarea/textarea.vue +0 -143
- package/src/components/forms/textarea/types.ts +0 -52
- package/src/components/formsExt/README.mdx +0 -5
- package/src/components/formsExt/checkboxGroup/checkboxGroup.stories.ts +0 -36
- package/src/components/formsExt/checkboxGroup/checkboxGroup.vue +0 -159
- package/src/components/formsExt/checkboxGroup/stories/example.ts +0 -42
- package/src/components/formsExt/checkboxGroup/stories/overview.vue +0 -36
- package/src/components/formsExt/checkboxGroup/types.ts +0 -23
- package/src/components/formsExt/editArea/editArea.stories.ts +0 -40
- package/src/components/formsExt/editArea/editArea.vue +0 -194
- package/src/components/formsExt/editArea/stories/README.md +0 -21
- package/src/components/formsExt/editArea/stories/overview.vue +0 -67
- package/src/components/formsExt/editArea/types.ts +0 -41
- package/src/components/formsExt/editInput/editInput.stories.ts +0 -35
- package/src/components/formsExt/editInput/editInput.vue +0 -54
- package/src/components/formsExt/editInput/stories/overview.vue +0 -54
- package/src/components/formsExt/editInput/types.ts +0 -20
- package/src/components/formsExt/formsExt.ts +0 -19
- package/src/components/formsExt/info/info.stories.ts +0 -34
- 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 -58
- package/src/components/formsExt/menu/menu.vue +0 -324
- package/src/components/formsExt/menu/stories/items.ts +0 -18
- package/src/components/formsExt/menu/stories/overview.vue +0 -52
- package/src/components/formsExt/menu/types.ts +0 -45
- package/src/components/formsExt/policy/policy.stories.ts +0 -66
- package/src/components/formsExt/policy/policy.vue +0 -75
- package/src/components/formsExt/policy/types.ts +0 -11
- package/src/components/formsExt/radioGroup/radioGroup.stories.ts +0 -35
- package/src/components/formsExt/radioGroup/radioGroup.vue +0 -142
- package/src/components/formsExt/radioGroup/stories/example.ts +0 -43
- package/src/components/formsExt/radioGroup/stories/overview.vue +0 -35
- package/src/components/formsExt/radioGroup/types.ts +0 -27
- package/src/components/formsExt/selector2/composables/useAPI.ts +0 -151
- package/src/components/formsExt/selector2/composables/useMenu.ts +0 -165
- package/src/components/formsExt/selector2/itemMulti.vue +0 -57
- package/src/components/formsExt/selector2/selector2.stories.ts +0 -123
- package/src/components/formsExt/selector2/selector2.vue +0 -448
- package/src/components/formsExt/selector2/stories/README.md +0 -146
- package/src/components/formsExt/selector2/stories/dummyAPIRequest.ts +0 -57
- package/src/components/formsExt/selector2/stories/overview.vue +0 -95
- package/src/components/formsExt/selector2/types.ts +0 -184
- package/src/components/formsExt/selector2/utils.ts +0 -22
- package/src/components/helpersStories.ts +0 -331
- package/src/components/layout/islandRows/islandRows.stories.ts +0 -138
- 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 -47
- 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 -70
- package/src/components/popup/alert/alert.vue +0 -49
- package/src/components/popup/alert/stories/overview.vue +0 -40
- package/src/components/popup/alert/types.ts +0 -11
- package/src/components/popup/confirm/confirm.stories.ts +0 -74
- package/src/components/popup/confirm/confirm.vue +0 -78
- package/src/components/popup/confirm/stories/overview.vue +0 -62
- package/src/components/popup/confirm/types.ts +0 -26
- package/src/components/popup/lib/popup.globalEvents.ts +0 -271
- package/src/components/popup/lib/popup.ts +0 -858
- package/src/components/popup/lib/worker.globalEvents.ts +0 -101
- package/src/components/popup/lib/worker.ts +0 -305
- package/src/components/popup/popup/listItem.vue +0 -35
- package/src/components/popup/popup/opener.vue +0 -82
- package/src/components/popup/popup/popup.stories.ts +0 -73
- package/src/components/popup/popup/popup.vue +0 -176
- package/src/components/popup/popup/stories/README.md +0 -145
- package/src/components/popup/popup/stories/listItems.vue +0 -69
- package/src/components/popup/popup/stories/listSubItems.vue +0 -47
- package/src/components/popup/popup/stories/overview.vue +0 -224
- package/src/components/popup/popup/style/popup.css +0 -355
- package/src/components/popup/popup/style/popup.m.css +0 -70
- package/src/components/popup/popup/style/popup.pc.css +0 -26
- package/src/components/popup/popup/types.ts +0 -131
- 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 -76
- package/src/components/popup/prompt/prompt.vue +0 -87
- package/src/components/popup/prompt/stories/overview.vue +0 -50
- package/src/components/popup/prompt/types.ts +0 -26
- package/src/components/project/project.ts +0 -23
- package/src/components/project/selectorCompetitors/composables.ts +0 -20
- package/src/components/project/selectorCompetitors/selectorCompetitors.stories.ts +0 -32
- 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.ts +0 -35
- package/src/components/project/selectorRegion/composables/compare.ts +0 -87
- package/src/components/project/selectorRegion/composables/selectRegion.ts +0 -146
- 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 -252
- 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 -84
- package/src/components/project/selectorRegion/selectorRegion.vue +0 -365
- 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/types.ts +0 -206
- package/src/components/project/selectorRegion/utils/consts.ts +0 -88
- package/src/components/project/selectorRegion/utils/utils.ts +0 -178
- 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 -140
- package/src/components/project/tagSelector/popupOpener/types.ts +0 -74
- 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 -96
- package/src/components/project/tagSelector/tagIcon/types.ts +0 -25
- package/src/components/project/tagSelector/tagSelector.stories.ts +0 -50
- package/src/components/project/tagSelector/tagSelector.vue +0 -360
- package/src/components/project/tagSelector/tagsDefaults.ts +0 -54
- package/src/components/project/tagSelector/types.ts +0 -162
- 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 -170
- package/src/components/tabs/tabs/tabs.vue +0 -64
- package/src/components/tabs/tabs/types.ts +0 -22
- 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 -169
- package/src/components/tabsView/tabsView/tabsView.vue +0 -120
- package/src/components/tabsView/tabsView/types.ts +0 -118
- 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 -46
- 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 -42
- package/src/components/tabsView/tabsView.ts +0 -9
- package/src/components/types.ts +0 -6
- 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 -52
- 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/preloader.ts +0 -23
- 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 -189
- package/src/core/plugins/piniaTPA.ts +0 -432
- 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 -13
- package/src/core/utils/References/check/functions/getDomainRegexp.mdx +0 -13
- package/src/core/utils/References/check/functions/isDomain.mdx +0 -19
- package/src/core/utils/References/check/functions/isEmail.mdx +0 -20
- package/src/core/utils/References/check/functions/isIp.mdx +0 -19
- package/src/core/utils/References/check/functions/validUrl.mdx +0 -20
- package/src/core/utils/References/clipboard/Docs.mdx +0 -8
- package/src/core/utils/References/clipboard/functions/guestLinkToClipboard.mdx +0 -19
- package/src/core/utils/References/clipboard/functions/setClipboard.mdx +0 -20
- package/src/core/utils/References/date/Docs.mdx +0 -15
- package/src/core/utils/References/date/functions/dateFormat.mdx +0 -26
- package/src/core/utils/References/date/functions/dateToString.mdx +0 -24
- package/src/core/utils/References/date/functions/dateUnformat.mdx +0 -20
- package/src/core/utils/References/date/functions/genDate.mdx +0 -24
- package/src/core/utils/References/date/functions/genDateMoscow.mdx +0 -20
- package/src/core/utils/References/date/functions/getDayOfWeek.mdx +0 -24
- package/src/core/utils/References/date/functions/stringToDate.mdx +0 -19
- package/src/core/utils/References/device/Docs.mdx +0 -19
- package/src/core/utils/References/device/functions/get$scroll.mdx +0 -13
- package/src/core/utils/References/device/functions/getCommandKeyLabel.mdx +0 -13
- package/src/core/utils/References/device/functions/getElsScroll.mdx +0 -13
- package/src/core/utils/References/device/functions/getOS.mdx +0 -15
- package/src/core/utils/References/device/functions/getOSAsync.mdx +0 -13
- package/src/core/utils/References/device/functions/getScrollTop.mdx +0 -13
- package/src/core/utils/References/device/functions/isApp.mdx +0 -13
- package/src/core/utils/References/device/functions/isMacOS.mdx +0 -13
- package/src/core/utils/References/device/functions/isMobile.mdx +0 -13
- package/src/core/utils/References/device/functions/isRetina.mdx +0 -13
- package/src/core/utils/References/device/functions/isSafari.mdx +0 -13
- package/src/core/utils/References/dom/Docs.mdx +0 -25
- package/src/core/utils/References/dom/functions/css.mdx +0 -22
- package/src/core/utils/References/dom/functions/genEl.mdx +0 -26
- package/src/core/utils/References/dom/functions/isVisible.mdx +0 -21
- package/src/core/utils/References/dom/functions/offset.mdx +0 -33
- package/src/core/utils/References/dom/functions/querySelectorAllArray.mdx +0 -20
- package/src/core/utils/References/dom/functions/querySelectorAllVisible.mdx +0 -20
- package/src/core/utils/References/dom/functions/querySelectorVisible.mdx +0 -23
- package/src/core/utils/References/dom/functions/querySelectorVisibleLast.mdx +0 -23
- package/src/core/utils/References/dom/functions/storage.mdx +0 -26
- package/src/core/utils/References/dom/functions/storageClear.mdx +0 -19
- package/src/core/utils/References/dom/functions/wrap.mdx +0 -20
- package/src/core/utils/References/dom/variables/default.mdx +0 -245
- package/src/core/utils/References/image/Docs.mdx +0 -10
- package/src/core/utils/References/image/functions/downloadImageFromString.mdx +0 -20
- package/src/core/utils/References/image/functions/genFaviconImgHtml.mdx +0 -20
- package/src/core/utils/References/keyboard/Docs.mdx +0 -9
- package/src/core/utils/References/keyboard/functions/invertKeyboardLayout.mdx +0 -19
- package/src/core/utils/References/lodash/Docs.mdx +0 -18
- package/src/core/utils/References/lodash/functions/cloneDeep.mdx +0 -27
- package/src/core/utils/References/lodash/functions/debounce.mdx +0 -72
- package/src/core/utils/References/lodash/functions/merge.mdx +0 -190
- package/src/core/utils/References/lodash/functions/throttle.mdx +0 -69
- package/src/core/utils/References/lodash/variables/memoize.mdx +0 -42
- package/src/core/utils/References/number/Docs.mdx +0 -10
- package/src/core/utils/References/number/functions/percentOfNumber.mdx +0 -24
- package/src/core/utils/References/number/functions/randomBySeed.mdx +0 -21
- package/src/core/utils/References/price/Docs.mdx +0 -9
- package/src/core/utils/References/price/functions/genPrice.mdx +0 -26
- package/src/core/utils/References/route/Docs.mdx +0 -14
- package/src/core/utils/References/route/functions/delHash.mdx +0 -24
- package/src/core/utils/References/route/functions/genHash.mdx +0 -24
- package/src/core/utils/References/route/functions/getHash.mdx +0 -20
- package/src/core/utils/References/route/functions/historySetState.mdx +0 -29
- package/src/core/utils/References/route/functions/setHash.mdx +0 -24
- package/src/core/utils/References/route/functions/setHashs.mdx +0 -20
- package/src/core/utils/References/scroll/Docs.mdx +0 -13
- package/src/core/utils/References/scroll/functions/amountScrolled.mdx +0 -15
- package/src/core/utils/References/scroll/functions/connectScrollShadow.mdx +0 -26
- package/src/core/utils/References/scroll/functions/genHasScroll.mdx +0 -23
- package/src/core/utils/References/scroll/functions/getScrollPercent.mdx +0 -19
- package/src/core/utils/References/scroll/functions/unconnectScrollShadow.mdx +0 -17
- package/src/core/utils/References/searchers/Docs.mdx +0 -17
- package/src/core/utils/References/searchers/functions/genVolumeLabel.mdx +0 -24
- package/src/core/utils/References/searchers/functions/getDeviceGIcon.mdx +0 -19
- package/src/core/utils/References/searchers/functions/getLangLabel.mdx +0 -20
- package/src/core/utils/References/searchers/functions/getSearcherGIcon.mdx +0 -19
- package/src/core/utils/References/searchers/functions/prepareVolumeType.mdx +0 -20
- package/src/core/utils/References/searchers/variables/searchersNames.mdx +0 -83
- package/src/core/utils/References/store/Docs.mdx +0 -22
- package/src/core/utils/References/store/functions/defineStore.mdx +0 -34
- package/src/core/utils/References/store/functions/useStore.mdx +0 -27
- package/src/core/utils/References/store/interfaces/Store.mdx +0 -29
- package/src/core/utils/References/store/variables/plugin.mdx +0 -64
- package/src/core/utils/References/string/Docs.mdx +0 -24
- package/src/core/utils/References/string/functions/addCommasWhite.mdx +0 -19
- package/src/core/utils/References/string/functions/addLinkTags.mdx +0 -21
- package/src/core/utils/References/string/functions/camelToSnakeCase.mdx +0 -19
- package/src/core/utils/References/string/functions/ellipsis.mdx +0 -24
- package/src/core/utils/References/string/functions/genFlagLinkByCountryCode.mdx +0 -23
- package/src/core/utils/References/string/functions/genIntHash.mdx +0 -19
- package/src/core/utils/References/string/functions/getRandomHash.mdx +0 -19
- package/src/core/utils/References/string/functions/highlightHtml.mdx +0 -23
- package/src/core/utils/References/string/functions/htmlspecialchars.mdx +0 -19
- package/src/core/utils/References/string/functions/isUrl.mdx +0 -19
- package/src/core/utils/References/string/functions/nl2br.mdx +0 -19
- package/src/core/utils/References/string/functions/numberEnding.mdx +0 -26
- package/src/core/utils/References/string/functions/numberWithWord.mdx +0 -26
- package/src/core/utils/References/string/functions/rusToLatin.mdx +0 -19
- package/src/core/utils/References/string/functions/toCapitalize.mdx +0 -19
- package/src/core/utils/References/string/functions/toRoditPadej.mdx +0 -19
- package/src/core/utils/References/system/Docs.mdx +0 -11
- package/src/core/utils/References/system/functions/sleep.mdx +0 -19
- package/src/core/utils/References/system/functions/sleepWhile.mdx +0 -27
- package/src/core/utils/References/system/functions/waitWhile.mdx +0 -27
- package/src/core/utils/References/url/Docs.mdx +0 -15
- package/src/core/utils/References/url/functions/decode.mdx +0 -19
- package/src/core/utils/References/url/functions/encode.mdx +0 -19
- package/src/core/utils/References/url/functions/fromPuny.mdx +0 -21
- package/src/core/utils/References/url/functions/getHost.mdx +0 -19
- package/src/core/utils/References/url/functions/hostToLowerCase.mdx +0 -19
- package/src/core/utils/References/url/functions/normalize.mdx +0 -19
- package/src/core/utils/References/url/functions/toPuny.mdx +0 -21
- package/src/core/utils/check.ts +0 -88
- package/src/core/utils/clipboard.ts +0 -51
- package/src/core/utils/date.ts +0 -334
- package/src/core/utils/device.ts +0 -139
- package/src/core/utils/dom.ts +0 -195
- 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 -130
- 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 -349
- 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/bage.css +0 -16
- package/src/resources/styles/core/components/components.css +0 -94
- package/src/resources/styles/core/components/formsCaption.css +0 -43
- package/src/resources/styles/core/components/jquery.css +0 -19
- package/src/resources/styles/core/core.ts +0 -14
- 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 -27
- package/src/resources/styles/core/forms/forms.css +0 -178
- 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 -33
- 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 -23
- package/src/resources/styles/core/modifiers/scrollBar.css +0 -52
- package/src/resources/styles/core/modifiers/scrollShadow.css +0 -50
- 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 -405
- 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 -405
- 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 -405
- 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/223/320/260/320/271/320/264/320/273/320/260/320/271/320/275.mdx +0 -120
- 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 -14
- 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)//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/230/321/201/320/277/320/276/320/273/321/214/320/267/320/276/320/262/320/260/320/275/320/270/320/265 /320/262 /320/277/321/200/320/276/320/265/320/272/321/202/320/260/321/205.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/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 -33
- 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 -66
- 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 -150
- /package/{src/components/core/notice/types.ts → components/core/notice/types.d.ts} +0 -0
- /package/{src/components/forms/helpers.ts → components/forms/helpers.d.ts} +0 -0
- /package/{src/components/popup/worker.ts → components/popup/worker.d.ts} +0 -0
- /package/{public/icomoon → icomoon}/Read Me.txt +0 -0
- /package/{public/icomoon → icomoon}/demo-files/demo.css +0 -0
- /package/{public/icomoon → icomoon}/demo-files/demo.js +0 -0
- /package/{public/icomoon → icomoon}/demo.css +0 -0
- /package/{public/icomoon → icomoon}/demo.html +0 -0
- /package/{public/icomoon → icomoon}/demo.js +0 -0
- /package/{public/icomoon → icomoon}/fonts/Topvisor-2.eot +0 -0
- /package/{public/icomoon → icomoon}/fonts/Topvisor-2.svg +0 -0
- /package/{public/icomoon → icomoon}/fonts/Topvisor-2.ttf +0 -0
- /package/{public/icomoon → icomoon}/fonts/Topvisor-2.woff +0 -0
- /package/{public/icomoon → icomoon}/selection.json +0 -0
- /package/{public/icomoon → icomoon}/style.css +0 -0
- /package/{public/jquery-ui.min.css → jquery-ui.min.css} +0 -0
- /package/{public/require → require}/css.amd.js +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Props } from './types';
|
|
2
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
type __VLS_Props = Props;
|
|
4
|
+
type __VLS_PublicProps = {
|
|
5
|
+
modelValue?: string;
|
|
6
|
+
} & __VLS_Props;
|
|
7
|
+
declare function __VLS_template(): {
|
|
8
|
+
attrs: Partial<{}>;
|
|
9
|
+
slots: {
|
|
10
|
+
menu?(_: {}): any;
|
|
11
|
+
};
|
|
12
|
+
refs: {
|
|
13
|
+
componentRef: unknown;
|
|
14
|
+
};
|
|
15
|
+
rootEl: HTMLDivElement;
|
|
16
|
+
};
|
|
17
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
18
|
+
declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
19
|
+
"update:modelValue": (value: string) => any;
|
|
20
|
+
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
21
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
22
|
+
}>, {
|
|
23
|
+
showMenuInPopup: boolean;
|
|
24
|
+
isShortable: boolean;
|
|
25
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
26
|
+
componentRef: unknown;
|
|
27
|
+
}, HTMLDivElement>;
|
|
28
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
29
|
+
export default _default;
|
|
30
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
31
|
+
new (): {
|
|
32
|
+
$slots: S;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
export interface Store {
|
|
3
|
+
/**
|
|
4
|
+
* Если true - меню будет скрыто в popup под кнопку, которая его открывает, на кнопке будет текст активного элемента меню
|
|
5
|
+
*/
|
|
6
|
+
showMenuInPopup: Props['showMenuInPopup'];
|
|
7
|
+
/**
|
|
8
|
+
* Если true - меню будет отображено в свернутом режиме без текста у кнопок
|
|
9
|
+
*/
|
|
10
|
+
isShort: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Имя активной вкладки
|
|
13
|
+
*/
|
|
14
|
+
activeItemName: Props['modelValue'];
|
|
15
|
+
/**
|
|
16
|
+
* Vue компонент активной вкладки
|
|
17
|
+
*/
|
|
18
|
+
component: Required<PropsMenuItem['component']>;
|
|
19
|
+
/**
|
|
20
|
+
* Если false - контент вкладки будет без отступов и скролла (по умолчанию true).
|
|
21
|
+
* Задается через PropsMenuItems.scrollable активного пункта меню.
|
|
22
|
+
*/
|
|
23
|
+
scrollable?: PropsMenuItem['scrollable'];
|
|
24
|
+
}
|
|
25
|
+
export interface Props {
|
|
26
|
+
/**
|
|
27
|
+
* Имя активной вкладки
|
|
28
|
+
*/
|
|
29
|
+
modelValue: string;
|
|
30
|
+
/**
|
|
31
|
+
* Указывает на то, что компоеннт Используется в основной области документа
|
|
32
|
+
*
|
|
33
|
+
* props - константа, после инициализации менять нельзя
|
|
34
|
+
*
|
|
35
|
+
* Если установлен в true - отображает меню в режиме sticky, для настройки можно использовать css переменную --top-tabsView-top
|
|
36
|
+
*
|
|
37
|
+
* Если установлен в true - добавляет документу глобальный модификатор .top-hasTabsViewPageMod через htmlClassModificators
|
|
38
|
+
*/
|
|
39
|
+
pageMod?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Если true - меню будет скрыто в popup под кнопку, которая его открывает
|
|
42
|
+
*
|
|
43
|
+
* Если не указано будет использоваться Core.state.isMobile
|
|
44
|
+
*/
|
|
45
|
+
showMenuInPopup?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Если true - меню в режиме без popup можно сворачивать
|
|
48
|
+
*/
|
|
49
|
+
isShortable?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* @see defineStore()
|
|
52
|
+
*/
|
|
53
|
+
idState?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface Emits {
|
|
56
|
+
}
|
|
57
|
+
export interface PropsMenu {
|
|
58
|
+
/**
|
|
59
|
+
* Если true - будет выведена кнопка сжатия меню
|
|
60
|
+
*/
|
|
61
|
+
isShortable: Props['isShortable'];
|
|
62
|
+
/**
|
|
63
|
+
* Флаг загрузки компонента вкладки.
|
|
64
|
+
*/
|
|
65
|
+
isLoading: boolean;
|
|
66
|
+
}
|
|
67
|
+
export interface PropsMenuItem {
|
|
68
|
+
/**
|
|
69
|
+
* Уникальное имя вкладки, указывать, только если кнопка должна менять выбранную вкладку
|
|
70
|
+
*/
|
|
71
|
+
name?: Props['modelValue'];
|
|
72
|
+
/**
|
|
73
|
+
* Если указано, кнопка будет вставлена как ссылка
|
|
74
|
+
*/
|
|
75
|
+
href?: string;
|
|
76
|
+
icon?: string;
|
|
77
|
+
disabled?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Vue компонент вкладки
|
|
80
|
+
*/
|
|
81
|
+
component?: Component;
|
|
82
|
+
/**
|
|
83
|
+
* Состояние скролла для вкладки
|
|
84
|
+
*/
|
|
85
|
+
scrollable?: boolean;
|
|
86
|
+
}
|
|
87
|
+
export interface PropsMenuTitle {
|
|
88
|
+
isSubtitle?: boolean;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Для activeMenuItem
|
|
92
|
+
*/
|
|
93
|
+
export interface MenuItem {
|
|
94
|
+
title?: string;
|
|
95
|
+
icon?: PropsMenuItem['icon'];
|
|
96
|
+
component: Required<PropsMenuItem['component']>;
|
|
97
|
+
scrollable?: PropsMenuItem['scrollable'];
|
|
98
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Проверка нахождения компонента в состояние загрузки
|
|
3
|
+
* @param component
|
|
4
|
+
*/
|
|
5
|
+
export declare const checkComponentIsLoading: (component: any) => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Презагрузить компонент
|
|
8
|
+
*
|
|
9
|
+
* Некоторое время ожидает загрузку компонента, прежде чем завершит работу
|
|
10
|
+
*/
|
|
11
|
+
export declare const preResolveComponent: (component: any, condition: Function) => Promise<void>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ComponentCustomProps } from 'vue';
|
|
2
|
+
import { default as TabsView } from './tabsView/tabsView.vue';
|
|
3
|
+
import { default as TabsViewMenuItem } from './tabsView/menuItem.vue';
|
|
4
|
+
import { default as TabsViewMenuTitle } from './tabsView/menuTitle.vue';
|
|
5
|
+
export declare const TopTabsView: typeof TabsView & ComponentCustomProps;
|
|
6
|
+
export declare const TopTabsViewMenuItem: typeof TabsViewMenuItem & ComponentCustomProps;
|
|
7
|
+
export declare const TopTabsViewMenuTitle: typeof TabsViewMenuTitle & ComponentCustomProps;
|
package/core/app.amd.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["require","exports","../.chunks/forms-L6BGV_om.amd","../.chunks/core-SEtL6T0A.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-Bg7IV0KZ.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-C-wpHg-4.amd"],function(y,n,c,l,d,m,S,p,g,k){"use strict";if(typeof d>"u")var d=window.Vue;class E{#s;#t;#e;#i;#c;#a=[];#o=[];#n=[];#r=[];constructor(s){var t;this.#t=s.store,this.#s=this.#t.$id,this.#e=s.options.Page,this.#i=s.options.user,this.#c=s.options.Api,this.#a=s.options.tpaNamesUrlHash||[],this.#o=s.options.tpaNamesStorage||[],this.#n=s.options.tpaNamesStorageLocal||[],this.#r=s.options.tpaNamesGuestLink||[],s.store.genGuestLink=(i,a)=>this.genGuestLink(i,a),(t=this.#i.guest_data)!=null&&t.data||(this.#u(),this.#u(!0),this.#l()),this.#S(),this.#k();const e=c.debounce(()=>{this.#m(),this.#p(),this.#p(!0)});s.store.$subscribe(e)}async genGuestLink(s,e){const t=this.#g();e=Object.assign(e,Object.fromEntries(t));const i=await this.#c.gen(s,"fetchColumn").call({},e);i!=null&&i.errors||await m.guestLinkToClipboard(i.result)}#g(){const s=new Map;return this.#r.forEach(e=>{const t=S.camelToSnakeCase(e);s.set(t,this.#t[e])}),s}#h(s){s.forEach((e,t)=>{const i=this.#t[t];if(e!=null&&i!==void 0&&e!=null&&e.constructor&&e.constructor===i.constructor){if(t.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[t]=e}})}#f(s){const e=new Map;return s.forEach((t,i)=>{t!==null&&(t=JSON.stringify(t),e.set(i,t))}),e}#d(s){const e=new Map;return s.forEach((t,i)=>{if(!(t==null||t==="false")){try{if(typeof t=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(t)&&(t=JSON.parse(t)),t==null||t==="false")return}catch{}e.set(i,t)}}),e}#l(){let s;try{s=JSON.parse(p.getHash(this.#s))}catch{}if(!s)return;const e=new Map;this.#a.forEach(t=>{const i=s[t];i&&e.set(t,i)}),this.#h(e)}#m(){const s=new Map;this.#a.forEach(i=>{const a=this.#t[i];s.set(i,a)});const e=Object.fromEntries(s),t=JSON.stringify(e);p.setHash(this.#s,t)}#u(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=localStorage.getItem(i+":"+o);e.set(o,r)});const a=this.#d(e);this.#h(a)}#p(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=this.#t[o];e.set(o,r)});const a=this.#f(e);t.forEach(o=>{const r=a.get(o);localStorage.setItem(i+":"+o,r)})}#S(){var a,o,r;const s=(o=(a=this.#i)==null?void 0:a.guest_data)==null?void 0:o.data;if(!s)return;this.#i.id===-1&&(this.#i.positionsReverseDates=s.positionsReverseDates);const e=new Map;this.#r.forEach(h=>{const u=s[h];e.set(h,u)});const t=this.#d(e);this.#h(t);const i=$(".mod_guest_title");if(((r=this.#t.competitorsIds)==null?void 0:r.length)===1&&this.#e.page.data.competitors){let h=this.#e.page.data.competitors.filter(u=>u.id===s.competitorsIds[0]);h.length&&($("a",i).attr("href","http://"+h[0].url),$("a",i).text(h[0].name))}}#k(){this.#t.regionsIndexes&&d.watch(this.#t.regionsIndexes,s=>{if(!s.length)return;s.forEach((i,a)=>s[a]=i);const e=TplProjectSelectorRegion.genSearchersMap(),t=[];e.forEach(i=>{i.regions.forEach(a=>{a.index!==-1&&t.push(a.index)})}),this.#t.regionsIndexes=s.filter(i=>t.includes(i))},{immediate:!0}),this.#t.competitorsIds&&d.watch(this.#t.competitorsIds,s=>{if(!s.length)return;s.forEach((t,i)=>s[i]=t);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(t=>{t.on>=0&&e.push(t.id)}),this.#t.competitorsIds=s.filter(t=>e.includes(t))},{immediate:!0})}}const w=f=>{var e,t,i,a;const s=f;!((e=s.options.tpaNamesUrlHash)!=null&&e.length)&&!((t=s.options.tpaNamesStorage)!=null&&t.length)&&!((i=s.options.tpaNamesStorageLocal)!=null&&i.length)&&!((a=s.options.tpaNamesGuestLink)!=null&&a.length)||new E(s)};n.Core=c.Core,n.i18nPlugin=c.i18n,n.useI18n=c.useI18n,n.useI18nLang=c.useI18nLang,n.corePlugin=l.core,n.useAsyncTopDialog=g.useAsyncTopDialog,n.useTopDialog=g.useTopDialog,n.TopDialogWorker=k.TopDialogWorker,n.piniaTPAPlugin=w,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
|
|
2
|
+
//# sourceMappingURL=app.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.amd.js","sources":["../../src/core/plugins/piniaTPA.ts"],"sourcesContent":["import type { PiniaPluginContext, Store } from 'pinia';\nimport { watch } from 'vue';\nimport Core from '@/core/core/core';\nimport { useI18n } from '@/core/plugins/i18n';\nimport { debounce } from '@/core/utils/lodash';\nimport { guestLinkToClipboard } from '@/core/utils/clipboard';\nimport { camelToSnakeCase } from '@/core/utils/string.js';\nimport type { paths as OpenAPIPaths } from 'topvisor-openapi/src/ts/Topvisor';\nimport { getHash, setHash } from '@/core/utils/route';\n\ntype OpenAPIPath = keyof OpenAPIPaths;\n\nclass PiniaTPA {\n\n\treadonly #storeId: string;\n\treadonly #store: Store<string, any>;\n\n\t/**\n\t * @deprecated\n\t */\n\treadonly #Page: any;\n\n\treadonly #user: any;\n\treadonly #Api: any;\n\n\treadonly #namesUrlHash: string[] = [];\n\treadonly #namesStorage: string[] = [];\n\treadonly #namesStorageLocal: string[] = [];\n\treadonly #namesGuestLink: string[] = [];\n\n\tconstructor(context: Context) {\n\t\tthis.#store = context.store;\n\t\tthis.#storeId = this.#store.$id;\n\n\t\tthis.#Page = context.options.Page;\n\n\t\tthis.#user = context.options.user;\n\t\tthis.#Api = context.options.Api;\n\n\t\tthis.#namesUrlHash = context.options.tpaNamesUrlHash || [];\n\t\tthis.#namesStorage = context.options.tpaNamesStorage || [];\n\t\tthis.#namesStorageLocal = context.options.tpaNamesStorageLocal || [];\n\t\tthis.#namesGuestLink = context.options.tpaNamesGuestLink || [];\n\n\t\tcontext.store.genGuestLink = <Path extends OpenAPIPath>(url: Path, data: any) => this.genGuestLink(url, data);\n\n\t\tif (!this.#user.guest_data?.data) {\n\t\t\tthis.#loadFromStorage();\n\t\t\tthis.#loadFromStorage(true);\n\n\t\t\t// настройки URL hash имеют приоритет\n\t\t\tthis.#loadFromHash();\n\t\t}\n\n\t\t// настройки гостевой ссылки имеют приоритет\n\t\tthis.#loadFromGuestLink();\n\n\t\tthis.#prepareParams();\n\n\t\tconst save = debounce(() => {\n\t\t\tthis.#saveInHash();\n\t\t\tthis.#saveInStorage();\n\t\t\tthis.#saveInStorage(true);\n\t\t});\n\n\t\tcontext.store.$subscribe(save);\n\t}\n\n\t/**\n\t * Сгенерировать гостевую ссылку\n\t *\n\t * Метод, путь к которому указан в url, должен возвращать сгенерированную ссылку\n\t */\n\tasync genGuestLink<Path extends OpenAPIPath>(url: Path, data: any) {\n\t\tconst dataGuestLink = this.#genOptionsForGuestLink();\n\t\tdata = Object.assign(data, Object.fromEntries(dataGuestLink));\n\n\t\tconst res = await this.#Api.gen(url, 'fetchColumn').call({} as any, data);\n\n\t\t// @ts-ignore - метод, который скачивает файл не возвращает json\n\t\tif (res?.errors) return;\n\n\t\t// @ts-ignore - метод, который скачивает файл не возвращает json\n\t\tawait guestLinkToClipboard(res.result);\n\t}\n\n\t/**\n\t * Сгенерировать опции для гостевой ссылки\n\t */\n\t#genOptionsForGuestLink() {\n\t\tconst data = new Map();\n\n\t\tthis.#namesGuestLink.forEach(name => {\n\t\t\t// формат параметров API: snake_case\n\t\t\tconst nameSnakeCase = camelToSnakeCase(name);\n\t\t\tdata.set(nameSnakeCase, this.#store[name]);\n\t\t});\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Установить опции из объекта без фиксации состояния\n\t */\n\t#setOptions(data: Map<string, any>) {\n\t\tdata.forEach((value, name) => {\n\t\t\tconst currentValue = this.#store[name];\n\n\t\t\tif (value === null || value === undefined) return;\n\t\t\tif (currentValue === undefined) return;\n\t\t\tif (!value?.constructor) return;\n\t\t\tif (value.constructor !== currentValue.constructor) return;\n\n\t\t\t// дополнительная проверка на формат даты\n\t\t\tif (name.indexOf('date') === 0) {\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\t// value.forEach((valueI) => {\n\t\t\t\t\t// \tif (!/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(valueI)) return;\n\t\t\t\t\t// });\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof (value) === 'string') {\n\t\t\t\t\t\tif (!/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(value)) return;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.#store[name] = value;\n\t\t});\n\t}\n\n\t/**\n\t * Сгенерировать Map объект с опциями со значениями в виде json строк\n\t */\n\t#genDataFormat(data: Map<string, any>) {\n\t\tconst dataFormatted = new Map();\n\n\t\tdata.forEach((value, name) => {\n\t\t\tif (value === null) return;\n\n\t\t\tvalue = JSON.stringify(value);\n\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\treturn dataFormatted;\n\t}\n\n\t/**\n\t * Сгенерировать Map объект с опциями со значениями в оригинальном виде\n\t */\n\t#genDataUnFormat(dataFormatted: Map<string, string>) {\n\t\tconst data: Map<string, any> = new Map();\n\n\t\tdataFormatted.forEach((value, name) => {\n\t\t\tif (value === null || value === undefined || value === 'false') return;\n\n\t\t\ttry {\n\t\t\t\tif (typeof (value) === 'string' && !/^\\d\\d\\d\\d-\\d\\d-\\d\\d$/.test(value)) value = JSON.parse(value);\n\n\t\t\t\tif (value === null || value === undefined || value === 'false') return;\n\t\t\t} catch (e) {\n\t\t\t\t// не json строка\n\t\t\t}\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Установить опции из хеша адреса страницы\n\t */\n\t#loadFromHash() {\n\t\tlet dataHash: any;\n\t\ttry {\n\t\t\tdataHash = JSON.parse(getHash(this.#storeId));\n\t\t} catch (e) {\n\n\t\t}\n\t\tif (!dataHash) return;\n\n\t\tconst data: Map<string, any> = new Map();\n\n\t\tthis.#namesUrlHash.forEach((name) => {\n\t\t\tconst value = dataHash[name];\n\t\t\tif (!value) return;\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tthis.#setOptions(data);\n\t}\n\n\t/**\n\t * Сохранить опции в хеш адреса страницы\n\t */\n\t#saveInHash() {\n\t\tconst data = new Map();\n\n\t\tthis.#namesUrlHash.forEach((name) => {\n\t\t\tconst value = this.#store[name];\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tconst dataObject = Object.fromEntries(data);\n\t\tconst dataJSON = JSON.stringify(dataObject);\n\n\t\tsetHash(this.#storeId, dataJSON);\n\t};\n\n\t/**\n\t * Установить опции из localStorage\n\t * @param isLocal - сохранить с учетом адреса страницы\n\t */\n\t#loadFromStorage(isLocal = false) {\n\t\tconst dataFormatted = new Map();\n\n\t\tlet names = this.#namesStorage;\n\t\tlet storageNamespace = 'state:' + this.#storeId;\n\n\t\tif (isLocal) {\n\t\t\tnames = this.#namesStorageLocal;\n\t\t\tstorageNamespace = 'state:' + this.#storeId + ':' + location.pathname;\n\t\t}\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = localStorage.getItem(storageNamespace + ':' + name);\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\n\n\t\tthis.#setOptions(data);\n\t}\n\n\t/**\n\t * Сохранить опции в localStorage\n\t * @param isLocal - сохранить с учетом адреса страницы\n\t */\n\t#saveInStorage(isLocal = false) {\n\t\tconst data = new Map();\n\n\t\tlet names = this.#namesStorage;\n\t\tlet storageNamespace = 'state:' + this.#storeId;\n\n\t\tif (isLocal) {\n\t\t\tnames = this.#namesStorageLocal;\n\t\t\tstorageNamespace = 'state:' + this.#storeId + ':' + location.pathname;\n\t\t}\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = this.#store[name];\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tconst dataFormatted = this.#genDataFormat(data);\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = dataFormatted.get(name);\n\n\t\t\tlocalStorage.setItem(storageNamespace + ':' + name, value);\n\t\t});\n\t}\n\n\t/**\n\t * Установить опции из гостевой ссылки\n\t */\n\t#loadFromGuestLink() {\n\t\tconst guestData = this.#user?.guest_data?.data;\n\t\tif (!guestData) return;\n\n\t\t// общие правила для гостевых сессий\n\t\tif (this.#user.id === -1) this.#user.positionsReverseDates = guestData.positionsReverseDates;\n\n\t\tconst dataFormatted = new Map();\n\n\t\tthis.#namesGuestLink.forEach((name) => {\n\t\t\tconst value = guestData[name];\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\n\n\t\tthis.#setOptions(data);\n\n\t\tconst $guestTitle = $('.mod_guest_title');\n\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.competitorsIds?.length === 1 && this.#Page.page.data.competitors) {\n\t\t\tlet competitors = this.#Page.page.data.competitors.filter((competitor: any) => competitor.id === guestData.competitorsIds[0]);\n\t\t\tif (competitors.length) {\n\t\t\t\t$('a', $guestTitle).attr('href', 'http://' + competitors[0].url);\n\t\t\t\t$('a', $guestTitle).text(competitors[0].name);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Подготовить входные параметры перед инициализацией основного функционала\n\t *\n\t * Входные параметры устанавливаются при открытии страницы\n\t *\n\t * Входные параметры могут меняться пользоваталем и устаревать\n\t */\n\t#prepareParams() {\n\t\t// контролль за вводом регионов\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.regionsIndexes) {\n\t\t\twatch(this.#store.regionsIndexes, (regionsIndexes) => {\n\t\t\t\tif (!regionsIndexes.length) return;\n\n\t\t\t\t// приведение типа\n\t\t\t\tregionsIndexes.forEach((regionIndex: number, index: number) => regionsIndexes[index] = regionIndex);\n\n\t\t\t\t// оставить только включенные регионы\n\t\t\t\t// @ts-ignore\n\t\t\t\tconst mapSearchers = TplProjectSelectorRegion.genSearchersMap();\n\n\t\t\t\tconst availableRegionsIndexes: number[] = [];\n\t\t\t\tmapSearchers.forEach((searcher: any) => {\n\t\t\t\t\tsearcher.regions.forEach((region: any) => {\n\t\t\t\t\t\tif (region.index === -1) return;\n\n\t\t\t\t\t\tavailableRegionsIndexes.push(region.index);\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tthis.#store.regionsIndexes = regionsIndexes.filter((regionIndex: number) => availableRegionsIndexes.includes(regionIndex));\n\t\t\t}, { immediate: true });\n\t\t}\n\n\t\t// контролль за вводом конкурентов\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.competitorsIds) {\n\t\t\twatch(this.#store.competitorsIds, (competitorsIds) => {\n\t\t\t\tif (!competitorsIds.length) return;\n\n\t\t\t\t// приведение типа\n\t\t\t\tcompetitorsIds.forEach((competitorId: number, index: number) => competitorsIds[index] = competitorId);\n\n\t\t\t\t// оставить только включенных конкурентов\n\t\t\t\tconst availableCompetitorsIds = [this.#Page.page.data.project.id];\n\t\t\t\tthis.#Page.page.data.project.competitors.forEach((competitor: any) => {\n\t\t\t\t\tif (competitor.on >= 0) availableCompetitorsIds.push(competitor.id);\n\t\t\t\t});\n\n\t\t\t\tthis.#store.competitorsIds = competitorsIds.filter((competitorId: number) => availableCompetitorsIds.includes(competitorId));\n\t\t\t}, { immediate: true });\n\t\t}\n\t}\n\n}\n\ntype Options = {\n\t/**\n\t * TODO: Убрать из плагина\n\t */\n\tPage: any,\n\n\t/**\n\t * Объект с настройками пользователя\n\t */\n\tuser: any,\n\n\t/**\n\t * Объект для работы с API\n\t *\n\t * См. на сайте: @/component/api/core/api.ts\n\t */\n\tApi: any;\n\n\t/**\n\t * Имена свойств для сохранения в URL\n\t */\n\ttpaNamesUrlHash?: string[],\n\n\t/**\n\t * Имена свойств для сохранения в localStorage\n\t */\n\ttpaNamesStorage?: string[],\n\n\t/**\n\t * Имена свойств для сохранения в localStorage с учетом пути URL\n\t *\n\t * Каждый URL будет работать со своим состоянием\n\t */\n\ttpaNamesStorageLocal?: string[],\n\n\t/**\n\t * Имена свойств для работы с гостевой ссылкой\n\t *\n\t * Для генерации гостевой ссылки используйте store.genGuestLink(data, url)\n\t */\n\ttpaNamesGuestLink?: string[],\n};\n\ntype Context = PiniaPluginContext & {\n\toptions: Options\n};\n\n/**\n * Плагин tpa (Third-party access) для pinia\n *\n * Добавляет возможность сохранять и загружать данные в/из:\n * \t- URL hash в адресе страницы\n * \t- localStorage\n * \t- гостевая ссылка\n *\n * Для подключения плагина нужно указань одну или несколько опций при определении defineStore():\n * - tpaNamesUrlHash\n * - tpaNamesStorage\n * - tpaNamesStorageLocal\n * - tpaNamesGuestLink\n */\nexport default (contextPinia: PiniaPluginContext) => {\n\tconst context = contextPinia as Context;\n\n\t// плагин подключать не нужно\n\tif (\n\t\t!context.options.tpaNamesUrlHash?.length &&\n\t\t!context.options.tpaNamesStorage?.length &&\n\t\t!context.options.tpaNamesStorageLocal?.length &&\n\t\t!context.options.tpaNamesGuestLink?.length\n\t) {\n\t\treturn;\n\t}\n\n\tnew PiniaTPA(context);\n}\n"],"names":["PiniaTPA","#storeId","#store","#Page","#user","#Api","context","url","data","#loadFromStorage","save","forms","#saveInStorage","dataGuestLink","#genOptionsForGuestLink","res","utils_clipboard","nameSnakeCase","utils_string","name","currentValue","value","dataFormatted","#loadFromHash","dataHash","utils_route","#setOptions","#saveInHash","dataJSON","isLocal","names","#namesStorage","storageNamespace","#namesStorageLocal","#loadFromGuestLink","guestData","$guestTitle","competitors","competitor","#prepareParams","regionsIndexes","regionIndex","index","mapSearchers","searcher","region","availableRegionsIndexes","competitorsIds","competitorId","availableCompetitorsIds","piniaTPA","contextPinia","_a","_b","_c","_d"],"mappings":"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"}
|
package/core/app.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as Core } from './core/core';
|
|
2
|
+
import { default as corePlugin } from './plugins/core';
|
|
3
|
+
import { Lang, default as i18nPlugin, useI18n, useI18nLang } from './plugins/i18n';
|
|
4
|
+
import { default as piniaTPAPlugin } from './plugins/piniaTPA';
|
|
5
|
+
export { Core, useI18n, useI18nLang, corePlugin, i18nPlugin, piniaTPAPlugin, };
|
|
6
|
+
export { useAsyncTopDialog, useTopDialog } from '../components/dialog/dialog/composables/utils';
|
|
7
|
+
export { TopDialogWorker } from '../components/dialog/lib/worker';
|
|
8
|
+
export type { Lang, };
|
package/core/app.js
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { d } from "../.chunks/forms-DC7ffuv2.es.js";
|
|
2
|
+
import { C as P, i as T, u as b, a as y } from "../.chunks/forms-DC7ffuv2.es.js";
|
|
3
|
+
import { c as G } from "../.chunks/core-BCV4xehV.es.js";
|
|
4
|
+
import { watch as p } from "vue";
|
|
5
|
+
import { guestLinkToClipboard as f } from "../utils/clipboard.js";
|
|
6
|
+
import { camelToSnakeCase as g } from "../utils/string.js";
|
|
7
|
+
import { getHash as m, setHash as l } from "../utils/route.js";
|
|
8
|
+
import { u as A, a as D } from "../.chunks/utils-BkchlCXw.es.js";
|
|
9
|
+
import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-Deg17t8D.es.js";
|
|
10
|
+
class u {
|
|
11
|
+
#s;
|
|
12
|
+
#t;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated
|
|
15
|
+
*/
|
|
16
|
+
#e;
|
|
17
|
+
#a;
|
|
18
|
+
#c;
|
|
19
|
+
#i = [];
|
|
20
|
+
#o = [];
|
|
21
|
+
#r = [];
|
|
22
|
+
#n = [];
|
|
23
|
+
constructor(s) {
|
|
24
|
+
var t;
|
|
25
|
+
this.#t = s.store, this.#s = this.#t.$id, this.#e = s.options.Page, this.#a = s.options.user, this.#c = s.options.Api, this.#i = s.options.tpaNamesUrlHash || [], this.#o = s.options.tpaNamesStorage || [], this.#r = s.options.tpaNamesStorageLocal || [], this.#n = s.options.tpaNamesGuestLink || [], s.store.genGuestLink = (a, i) => this.genGuestLink(a, i), (t = this.#a.guest_data) != null && t.data || (this.#d(), this.#d(!0), this.#l()), this.#S(), this.#E();
|
|
26
|
+
const e = d(() => {
|
|
27
|
+
this.#u(), this.#f(), this.#f(!0);
|
|
28
|
+
});
|
|
29
|
+
s.store.$subscribe(e);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Сгенерировать гостевую ссылку
|
|
33
|
+
*
|
|
34
|
+
* Метод, путь к которому указан в url, должен возвращать сгенерированную ссылку
|
|
35
|
+
*/
|
|
36
|
+
async genGuestLink(s, e) {
|
|
37
|
+
const t = this.#g();
|
|
38
|
+
e = Object.assign(e, Object.fromEntries(t));
|
|
39
|
+
const a = await this.#c.gen(s, "fetchColumn").call({}, e);
|
|
40
|
+
a != null && a.errors || await f(a.result);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Сгенерировать опции для гостевой ссылки
|
|
44
|
+
*/
|
|
45
|
+
#g() {
|
|
46
|
+
const s = /* @__PURE__ */ new Map();
|
|
47
|
+
return this.#n.forEach((e) => {
|
|
48
|
+
const t = g(e);
|
|
49
|
+
s.set(t, this.#t[e]);
|
|
50
|
+
}), s;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Установить опции из объекта без фиксации состояния
|
|
54
|
+
*/
|
|
55
|
+
#h(s) {
|
|
56
|
+
s.forEach((e, t) => {
|
|
57
|
+
const a = this.#t[t];
|
|
58
|
+
if (e != null && a !== void 0 && e != null && e.constructor && e.constructor === a.constructor) {
|
|
59
|
+
if (t.indexOf("date") === 0 && !Array.isArray(e)) {
|
|
60
|
+
if (typeof e == "string" && !/\d\d\d\d-\d\d-\d\d/.test(e))
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this.#t[t] = e;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Сгенерировать Map объект с опциями со значениями в виде json строк
|
|
69
|
+
*/
|
|
70
|
+
#m(s) {
|
|
71
|
+
const e = /* @__PURE__ */ new Map();
|
|
72
|
+
return s.forEach((t, a) => {
|
|
73
|
+
t !== null && (t = JSON.stringify(t), e.set(a, t));
|
|
74
|
+
}), e;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Сгенерировать Map объект с опциями со значениями в оригинальном виде
|
|
78
|
+
*/
|
|
79
|
+
#p(s) {
|
|
80
|
+
const e = /* @__PURE__ */ new Map();
|
|
81
|
+
return s.forEach((t, a) => {
|
|
82
|
+
if (!(t == null || t === "false")) {
|
|
83
|
+
try {
|
|
84
|
+
if (typeof t == "string" && !/^\d\d\d\d-\d\d-\d\d$/.test(t) && (t = JSON.parse(t)), t == null || t === "false") return;
|
|
85
|
+
} catch {
|
|
86
|
+
}
|
|
87
|
+
e.set(a, t);
|
|
88
|
+
}
|
|
89
|
+
}), e;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Установить опции из хеша адреса страницы
|
|
93
|
+
*/
|
|
94
|
+
#l() {
|
|
95
|
+
let s;
|
|
96
|
+
try {
|
|
97
|
+
s = JSON.parse(m(this.#s));
|
|
98
|
+
} catch {
|
|
99
|
+
}
|
|
100
|
+
if (!s) return;
|
|
101
|
+
const e = /* @__PURE__ */ new Map();
|
|
102
|
+
this.#i.forEach((t) => {
|
|
103
|
+
const a = s[t];
|
|
104
|
+
a && e.set(t, a);
|
|
105
|
+
}), this.#h(e);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Сохранить опции в хеш адреса страницы
|
|
109
|
+
*/
|
|
110
|
+
#u() {
|
|
111
|
+
const s = /* @__PURE__ */ new Map();
|
|
112
|
+
this.#i.forEach((a) => {
|
|
113
|
+
const i = this.#t[a];
|
|
114
|
+
s.set(a, i);
|
|
115
|
+
});
|
|
116
|
+
const e = Object.fromEntries(s), t = JSON.stringify(e);
|
|
117
|
+
l(this.#s, t);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Установить опции из localStorage
|
|
121
|
+
* @param isLocal - сохранить с учетом адреса страницы
|
|
122
|
+
*/
|
|
123
|
+
#d(s = !1) {
|
|
124
|
+
const e = /* @__PURE__ */ new Map();
|
|
125
|
+
let t = this.#o, a = "state:" + this.#s;
|
|
126
|
+
s && (t = this.#r, a = "state:" + this.#s + ":" + location.pathname), t.forEach((o) => {
|
|
127
|
+
const r = localStorage.getItem(a + ":" + o);
|
|
128
|
+
e.set(o, r);
|
|
129
|
+
});
|
|
130
|
+
const i = this.#p(e);
|
|
131
|
+
this.#h(i);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Сохранить опции в localStorage
|
|
135
|
+
* @param isLocal - сохранить с учетом адреса страницы
|
|
136
|
+
*/
|
|
137
|
+
#f(s = !1) {
|
|
138
|
+
const e = /* @__PURE__ */ new Map();
|
|
139
|
+
let t = this.#o, a = "state:" + this.#s;
|
|
140
|
+
s && (t = this.#r, a = "state:" + this.#s + ":" + location.pathname), t.forEach((o) => {
|
|
141
|
+
const r = this.#t[o];
|
|
142
|
+
e.set(o, r);
|
|
143
|
+
});
|
|
144
|
+
const i = this.#m(e);
|
|
145
|
+
t.forEach((o) => {
|
|
146
|
+
const r = i.get(o);
|
|
147
|
+
localStorage.setItem(a + ":" + o, r);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Установить опции из гостевой ссылки
|
|
152
|
+
*/
|
|
153
|
+
#S() {
|
|
154
|
+
var i, o, r;
|
|
155
|
+
const s = (o = (i = this.#a) == null ? void 0 : i.guest_data) == null ? void 0 : o.data;
|
|
156
|
+
if (!s) return;
|
|
157
|
+
this.#a.id === -1 && (this.#a.positionsReverseDates = s.positionsReverseDates);
|
|
158
|
+
const e = /* @__PURE__ */ new Map();
|
|
159
|
+
this.#n.forEach((n) => {
|
|
160
|
+
const h = s[n];
|
|
161
|
+
e.set(n, h);
|
|
162
|
+
});
|
|
163
|
+
const t = this.#p(e);
|
|
164
|
+
this.#h(t);
|
|
165
|
+
const a = $(".mod_guest_title");
|
|
166
|
+
if (((r = this.#t.competitorsIds) == null ? void 0 : r.length) === 1 && this.#e.page.data.competitors) {
|
|
167
|
+
let n = this.#e.page.data.competitors.filter((h) => h.id === s.competitorsIds[0]);
|
|
168
|
+
n.length && ($("a", a).attr("href", "http://" + n[0].url), $("a", a).text(n[0].name));
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Подготовить входные параметры перед инициализацией основного функционала
|
|
173
|
+
*
|
|
174
|
+
* Входные параметры устанавливаются при открытии страницы
|
|
175
|
+
*
|
|
176
|
+
* Входные параметры могут меняться пользоваталем и устаревать
|
|
177
|
+
*/
|
|
178
|
+
#E() {
|
|
179
|
+
this.#t.regionsIndexes && p(this.#t.regionsIndexes, (s) => {
|
|
180
|
+
if (!s.length) return;
|
|
181
|
+
s.forEach((a, i) => s[i] = a);
|
|
182
|
+
const e = TplProjectSelectorRegion.genSearchersMap(), t = [];
|
|
183
|
+
e.forEach((a) => {
|
|
184
|
+
a.regions.forEach((i) => {
|
|
185
|
+
i.index !== -1 && t.push(i.index);
|
|
186
|
+
});
|
|
187
|
+
}), this.#t.regionsIndexes = s.filter((a) => t.includes(a));
|
|
188
|
+
}, { immediate: !0 }), this.#t.competitorsIds && p(this.#t.competitorsIds, (s) => {
|
|
189
|
+
if (!s.length) return;
|
|
190
|
+
s.forEach((t, a) => s[a] = t);
|
|
191
|
+
const e = [this.#e.page.data.project.id];
|
|
192
|
+
this.#e.page.data.project.competitors.forEach((t) => {
|
|
193
|
+
t.on >= 0 && e.push(t.id);
|
|
194
|
+
}), this.#t.competitorsIds = s.filter((t) => e.includes(t));
|
|
195
|
+
}, { immediate: !0 });
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
const w = (c) => {
|
|
199
|
+
var e, t, a, i;
|
|
200
|
+
const s = c;
|
|
201
|
+
!((e = s.options.tpaNamesUrlHash) != null && e.length) && !((t = s.options.tpaNamesStorage) != null && t.length) && !((a = s.options.tpaNamesStorageLocal) != null && a.length) && !((i = s.options.tpaNamesGuestLink) != null && i.length) || new u(s);
|
|
202
|
+
};
|
|
203
|
+
export {
|
|
204
|
+
P as Core,
|
|
205
|
+
j as TopDialogWorker,
|
|
206
|
+
G as corePlugin,
|
|
207
|
+
T as i18nPlugin,
|
|
208
|
+
w as piniaTPAPlugin,
|
|
209
|
+
A as useAsyncTopDialog,
|
|
210
|
+
b as useI18n,
|
|
211
|
+
y as useI18nLang,
|
|
212
|
+
D as useTopDialog
|
|
213
|
+
};
|
|
214
|
+
//# sourceMappingURL=app.js.map
|
package/core/app.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sources":["../../src/core/plugins/piniaTPA.ts"],"sourcesContent":["import type { PiniaPluginContext, Store } from 'pinia';\nimport { watch } from 'vue';\nimport Core from '@/core/core/core';\nimport { useI18n } from '@/core/plugins/i18n';\nimport { debounce } from '@/core/utils/lodash';\nimport { guestLinkToClipboard } from '@/core/utils/clipboard';\nimport { camelToSnakeCase } from '@/core/utils/string.js';\nimport type { paths as OpenAPIPaths } from 'topvisor-openapi/src/ts/Topvisor';\nimport { getHash, setHash } from '@/core/utils/route';\n\ntype OpenAPIPath = keyof OpenAPIPaths;\n\nclass PiniaTPA {\n\n\treadonly #storeId: string;\n\treadonly #store: Store<string, any>;\n\n\t/**\n\t * @deprecated\n\t */\n\treadonly #Page: any;\n\n\treadonly #user: any;\n\treadonly #Api: any;\n\n\treadonly #namesUrlHash: string[] = [];\n\treadonly #namesStorage: string[] = [];\n\treadonly #namesStorageLocal: string[] = [];\n\treadonly #namesGuestLink: string[] = [];\n\n\tconstructor(context: Context) {\n\t\tthis.#store = context.store;\n\t\tthis.#storeId = this.#store.$id;\n\n\t\tthis.#Page = context.options.Page;\n\n\t\tthis.#user = context.options.user;\n\t\tthis.#Api = context.options.Api;\n\n\t\tthis.#namesUrlHash = context.options.tpaNamesUrlHash || [];\n\t\tthis.#namesStorage = context.options.tpaNamesStorage || [];\n\t\tthis.#namesStorageLocal = context.options.tpaNamesStorageLocal || [];\n\t\tthis.#namesGuestLink = context.options.tpaNamesGuestLink || [];\n\n\t\tcontext.store.genGuestLink = <Path extends OpenAPIPath>(url: Path, data: any) => this.genGuestLink(url, data);\n\n\t\tif (!this.#user.guest_data?.data) {\n\t\t\tthis.#loadFromStorage();\n\t\t\tthis.#loadFromStorage(true);\n\n\t\t\t// настройки URL hash имеют приоритет\n\t\t\tthis.#loadFromHash();\n\t\t}\n\n\t\t// настройки гостевой ссылки имеют приоритет\n\t\tthis.#loadFromGuestLink();\n\n\t\tthis.#prepareParams();\n\n\t\tconst save = debounce(() => {\n\t\t\tthis.#saveInHash();\n\t\t\tthis.#saveInStorage();\n\t\t\tthis.#saveInStorage(true);\n\t\t});\n\n\t\tcontext.store.$subscribe(save);\n\t}\n\n\t/**\n\t * Сгенерировать гостевую ссылку\n\t *\n\t * Метод, путь к которому указан в url, должен возвращать сгенерированную ссылку\n\t */\n\tasync genGuestLink<Path extends OpenAPIPath>(url: Path, data: any) {\n\t\tconst dataGuestLink = this.#genOptionsForGuestLink();\n\t\tdata = Object.assign(data, Object.fromEntries(dataGuestLink));\n\n\t\tconst res = await this.#Api.gen(url, 'fetchColumn').call({} as any, data);\n\n\t\t// @ts-ignore - метод, который скачивает файл не возвращает json\n\t\tif (res?.errors) return;\n\n\t\t// @ts-ignore - метод, который скачивает файл не возвращает json\n\t\tawait guestLinkToClipboard(res.result);\n\t}\n\n\t/**\n\t * Сгенерировать опции для гостевой ссылки\n\t */\n\t#genOptionsForGuestLink() {\n\t\tconst data = new Map();\n\n\t\tthis.#namesGuestLink.forEach(name => {\n\t\t\t// формат параметров API: snake_case\n\t\t\tconst nameSnakeCase = camelToSnakeCase(name);\n\t\t\tdata.set(nameSnakeCase, this.#store[name]);\n\t\t});\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Установить опции из объекта без фиксации состояния\n\t */\n\t#setOptions(data: Map<string, any>) {\n\t\tdata.forEach((value, name) => {\n\t\t\tconst currentValue = this.#store[name];\n\n\t\t\tif (value === null || value === undefined) return;\n\t\t\tif (currentValue === undefined) return;\n\t\t\tif (!value?.constructor) return;\n\t\t\tif (value.constructor !== currentValue.constructor) return;\n\n\t\t\t// дополнительная проверка на формат даты\n\t\t\tif (name.indexOf('date') === 0) {\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\t// value.forEach((valueI) => {\n\t\t\t\t\t// \tif (!/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(valueI)) return;\n\t\t\t\t\t// });\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof (value) === 'string') {\n\t\t\t\t\t\tif (!/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(value)) return;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.#store[name] = value;\n\t\t});\n\t}\n\n\t/**\n\t * Сгенерировать Map объект с опциями со значениями в виде json строк\n\t */\n\t#genDataFormat(data: Map<string, any>) {\n\t\tconst dataFormatted = new Map();\n\n\t\tdata.forEach((value, name) => {\n\t\t\tif (value === null) return;\n\n\t\t\tvalue = JSON.stringify(value);\n\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\treturn dataFormatted;\n\t}\n\n\t/**\n\t * Сгенерировать Map объект с опциями со значениями в оригинальном виде\n\t */\n\t#genDataUnFormat(dataFormatted: Map<string, string>) {\n\t\tconst data: Map<string, any> = new Map();\n\n\t\tdataFormatted.forEach((value, name) => {\n\t\t\tif (value === null || value === undefined || value === 'false') return;\n\n\t\t\ttry {\n\t\t\t\tif (typeof (value) === 'string' && !/^\\d\\d\\d\\d-\\d\\d-\\d\\d$/.test(value)) value = JSON.parse(value);\n\n\t\t\t\tif (value === null || value === undefined || value === 'false') return;\n\t\t\t} catch (e) {\n\t\t\t\t// не json строка\n\t\t\t}\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Установить опции из хеша адреса страницы\n\t */\n\t#loadFromHash() {\n\t\tlet dataHash: any;\n\t\ttry {\n\t\t\tdataHash = JSON.parse(getHash(this.#storeId));\n\t\t} catch (e) {\n\n\t\t}\n\t\tif (!dataHash) return;\n\n\t\tconst data: Map<string, any> = new Map();\n\n\t\tthis.#namesUrlHash.forEach((name) => {\n\t\t\tconst value = dataHash[name];\n\t\t\tif (!value) return;\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tthis.#setOptions(data);\n\t}\n\n\t/**\n\t * Сохранить опции в хеш адреса страницы\n\t */\n\t#saveInHash() {\n\t\tconst data = new Map();\n\n\t\tthis.#namesUrlHash.forEach((name) => {\n\t\t\tconst value = this.#store[name];\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tconst dataObject = Object.fromEntries(data);\n\t\tconst dataJSON = JSON.stringify(dataObject);\n\n\t\tsetHash(this.#storeId, dataJSON);\n\t};\n\n\t/**\n\t * Установить опции из localStorage\n\t * @param isLocal - сохранить с учетом адреса страницы\n\t */\n\t#loadFromStorage(isLocal = false) {\n\t\tconst dataFormatted = new Map();\n\n\t\tlet names = this.#namesStorage;\n\t\tlet storageNamespace = 'state:' + this.#storeId;\n\n\t\tif (isLocal) {\n\t\t\tnames = this.#namesStorageLocal;\n\t\t\tstorageNamespace = 'state:' + this.#storeId + ':' + location.pathname;\n\t\t}\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = localStorage.getItem(storageNamespace + ':' + name);\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\n\n\t\tthis.#setOptions(data);\n\t}\n\n\t/**\n\t * Сохранить опции в localStorage\n\t * @param isLocal - сохранить с учетом адреса страницы\n\t */\n\t#saveInStorage(isLocal = false) {\n\t\tconst data = new Map();\n\n\t\tlet names = this.#namesStorage;\n\t\tlet storageNamespace = 'state:' + this.#storeId;\n\n\t\tif (isLocal) {\n\t\t\tnames = this.#namesStorageLocal;\n\t\t\tstorageNamespace = 'state:' + this.#storeId + ':' + location.pathname;\n\t\t}\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = this.#store[name];\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tconst dataFormatted = this.#genDataFormat(data);\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = dataFormatted.get(name);\n\n\t\t\tlocalStorage.setItem(storageNamespace + ':' + name, value);\n\t\t});\n\t}\n\n\t/**\n\t * Установить опции из гостевой ссылки\n\t */\n\t#loadFromGuestLink() {\n\t\tconst guestData = this.#user?.guest_data?.data;\n\t\tif (!guestData) return;\n\n\t\t// общие правила для гостевых сессий\n\t\tif (this.#user.id === -1) this.#user.positionsReverseDates = guestData.positionsReverseDates;\n\n\t\tconst dataFormatted = new Map();\n\n\t\tthis.#namesGuestLink.forEach((name) => {\n\t\t\tconst value = guestData[name];\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\n\n\t\tthis.#setOptions(data);\n\n\t\tconst $guestTitle = $('.mod_guest_title');\n\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.competitorsIds?.length === 1 && this.#Page.page.data.competitors) {\n\t\t\tlet competitors = this.#Page.page.data.competitors.filter((competitor: any) => competitor.id === guestData.competitorsIds[0]);\n\t\t\tif (competitors.length) {\n\t\t\t\t$('a', $guestTitle).attr('href', 'http://' + competitors[0].url);\n\t\t\t\t$('a', $guestTitle).text(competitors[0].name);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Подготовить входные параметры перед инициализацией основного функционала\n\t *\n\t * Входные параметры устанавливаются при открытии страницы\n\t *\n\t * Входные параметры могут меняться пользоваталем и устаревать\n\t */\n\t#prepareParams() {\n\t\t// контролль за вводом регионов\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.regionsIndexes) {\n\t\t\twatch(this.#store.regionsIndexes, (regionsIndexes) => {\n\t\t\t\tif (!regionsIndexes.length) return;\n\n\t\t\t\t// приведение типа\n\t\t\t\tregionsIndexes.forEach((regionIndex: number, index: number) => regionsIndexes[index] = regionIndex);\n\n\t\t\t\t// оставить только включенные регионы\n\t\t\t\t// @ts-ignore\n\t\t\t\tconst mapSearchers = TplProjectSelectorRegion.genSearchersMap();\n\n\t\t\t\tconst availableRegionsIndexes: number[] = [];\n\t\t\t\tmapSearchers.forEach((searcher: any) => {\n\t\t\t\t\tsearcher.regions.forEach((region: any) => {\n\t\t\t\t\t\tif (region.index === -1) return;\n\n\t\t\t\t\t\tavailableRegionsIndexes.push(region.index);\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tthis.#store.regionsIndexes = regionsIndexes.filter((regionIndex: number) => availableRegionsIndexes.includes(regionIndex));\n\t\t\t}, { immediate: true });\n\t\t}\n\n\t\t// контролль за вводом конкурентов\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.competitorsIds) {\n\t\t\twatch(this.#store.competitorsIds, (competitorsIds) => {\n\t\t\t\tif (!competitorsIds.length) return;\n\n\t\t\t\t// приведение типа\n\t\t\t\tcompetitorsIds.forEach((competitorId: number, index: number) => competitorsIds[index] = competitorId);\n\n\t\t\t\t// оставить только включенных конкурентов\n\t\t\t\tconst availableCompetitorsIds = [this.#Page.page.data.project.id];\n\t\t\t\tthis.#Page.page.data.project.competitors.forEach((competitor: any) => {\n\t\t\t\t\tif (competitor.on >= 0) availableCompetitorsIds.push(competitor.id);\n\t\t\t\t});\n\n\t\t\t\tthis.#store.competitorsIds = competitorsIds.filter((competitorId: number) => availableCompetitorsIds.includes(competitorId));\n\t\t\t}, { immediate: true });\n\t\t}\n\t}\n\n}\n\ntype Options = {\n\t/**\n\t * TODO: Убрать из плагина\n\t */\n\tPage: any,\n\n\t/**\n\t * Объект с настройками пользователя\n\t */\n\tuser: any,\n\n\t/**\n\t * Объект для работы с API\n\t *\n\t * См. на сайте: @/component/api/core/api.ts\n\t */\n\tApi: any;\n\n\t/**\n\t * Имена свойств для сохранения в URL\n\t */\n\ttpaNamesUrlHash?: string[],\n\n\t/**\n\t * Имена свойств для сохранения в localStorage\n\t */\n\ttpaNamesStorage?: string[],\n\n\t/**\n\t * Имена свойств для сохранения в localStorage с учетом пути URL\n\t *\n\t * Каждый URL будет работать со своим состоянием\n\t */\n\ttpaNamesStorageLocal?: string[],\n\n\t/**\n\t * Имена свойств для работы с гостевой ссылкой\n\t *\n\t * Для генерации гостевой ссылки используйте store.genGuestLink(data, url)\n\t */\n\ttpaNamesGuestLink?: string[],\n};\n\ntype Context = PiniaPluginContext & {\n\toptions: Options\n};\n\n/**\n * Плагин tpa (Third-party access) для pinia\n *\n * Добавляет возможность сохранять и загружать данные в/из:\n * \t- URL hash в адресе страницы\n * \t- localStorage\n * \t- гостевая ссылка\n *\n * Для подключения плагина нужно указань одну или несколько опций при определении defineStore():\n * - tpaNamesUrlHash\n * - tpaNamesStorage\n * - tpaNamesStorageLocal\n * - tpaNamesGuestLink\n */\nexport default (contextPinia: PiniaPluginContext) => {\n\tconst context = contextPinia as Context;\n\n\t// плагин подключать не нужно\n\tif (\n\t\t!context.options.tpaNamesUrlHash?.length &&\n\t\t!context.options.tpaNamesStorage?.length &&\n\t\t!context.options.tpaNamesStorageLocal?.length &&\n\t\t!context.options.tpaNamesGuestLink?.length\n\t) {\n\t\treturn;\n\t}\n\n\tnew PiniaTPA(context);\n}\n"],"names":["PiniaTPA","#storeId","#store","#Page","#user","#Api","#namesUrlHash","#namesStorage","#namesStorageLocal","#namesGuestLink","context","url","data","_a","#loadFromStorage","#loadFromHash","#loadFromGuestLink","#prepareParams","save","debounce","#saveInHash","#saveInStorage","dataGuestLink","#genOptionsForGuestLink","res","guestLinkToClipboard","name","nameSnakeCase","camelToSnakeCase","#setOptions","value","currentValue","#genDataFormat","dataFormatted","#genDataUnFormat","dataHash","getHash","dataObject","dataJSON","setHash","isLocal","names","storageNamespace","guestData","_b","$guestTitle","_c","competitors","competitor","watch","regionsIndexes","regionIndex","index","mapSearchers","availableRegionsIndexes","searcher","region","competitorsIds","competitorId","availableCompetitorsIds","piniaTPA","contextPinia","_d"],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { default as preloaders } from './preloaders';
|
|
2
|
+
import { Options as TopNoticeOptions } from '../../components/core/notice/utils';
|
|
3
|
+
import { Style as TopNoticeStyle } from '../../components/core/notice/item/types';
|
|
4
|
+
/**
|
|
5
|
+
* Статический класс с текущим состоянимем UI
|
|
6
|
+
*
|
|
7
|
+
* @docs https://ui.topvisor.com/?path=/docs/core-core--docs
|
|
8
|
+
*/
|
|
9
|
+
export default class Core {
|
|
10
|
+
static state: {
|
|
11
|
+
documentClassModificators: Map<string | number, string> & Omit<Map<string | number, string>, keyof Map<any, any>>;
|
|
12
|
+
dateFormat: string;
|
|
13
|
+
currency: "USD" | "RUB" | "EUR";
|
|
14
|
+
timezoneOffset: number;
|
|
15
|
+
isMobile: boolean;
|
|
16
|
+
isMobileUA: boolean;
|
|
17
|
+
isRetina: boolean;
|
|
18
|
+
isApp: boolean;
|
|
19
|
+
isLandscape: boolean;
|
|
20
|
+
isPortrait: boolean;
|
|
21
|
+
size: number;
|
|
22
|
+
isHidden: boolean;
|
|
23
|
+
};
|
|
24
|
+
static preloaders: typeof preloaders;
|
|
25
|
+
static widthForMobile: number;
|
|
26
|
+
static themeName: string;
|
|
27
|
+
static matchMediaIsMobile?: MediaQueryList;
|
|
28
|
+
static $?: JQueryStatic | undefined;
|
|
29
|
+
static Events: {
|
|
30
|
+
addOnReize: (listener: (this: HTMLElement, e: UIEvent & {
|
|
31
|
+
topEvent: {
|
|
32
|
+
widthDiff: number;
|
|
33
|
+
hightDiff: number;
|
|
34
|
+
};
|
|
35
|
+
}) => void) => void;
|
|
36
|
+
removeOnResize: (listener: (this: HTMLElement, e: UIEvent & {
|
|
37
|
+
topEvent: {
|
|
38
|
+
widthDiff: number;
|
|
39
|
+
hightDiff: number;
|
|
40
|
+
};
|
|
41
|
+
}) => void) => void;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Различные флаги, необходимые для работы UI
|
|
45
|
+
*/
|
|
46
|
+
static flags: {
|
|
47
|
+
needLoadNotice: boolean;
|
|
48
|
+
};
|
|
49
|
+
static _setState(): void;
|
|
50
|
+
private static useDocumentClassModificators;
|
|
51
|
+
private static useIsHidden;
|
|
52
|
+
private static setStateByWindowSize;
|
|
53
|
+
private static onResize;
|
|
54
|
+
/**
|
|
55
|
+
* Сохранить информацию об устройстве в cookie
|
|
56
|
+
*/
|
|
57
|
+
private static saveToCookie;
|
|
58
|
+
/**
|
|
59
|
+
* Добавить установку класса при нажатии ctrl (cmd) / alt
|
|
60
|
+
*/
|
|
61
|
+
private static useCtrlClasses;
|
|
62
|
+
/**
|
|
63
|
+
* Вывести на экране сообщение в стилизации под push уведомление
|
|
64
|
+
*
|
|
65
|
+
* Для удобства работы со словарем, принимает один парамтер `text` и первую строку из него использует как `title`.
|
|
66
|
+
* Данное поведение можно изменить, передав в параметрах `options.title`
|
|
67
|
+
*
|
|
68
|
+
* Для вывода используется компонент TopNotice, требует его подклчючения
|
|
69
|
+
*
|
|
70
|
+
* @docs https://ui.topvisor.com/?path=/docs/components-core-notice--docs
|
|
71
|
+
*/
|
|
72
|
+
static notice: (text: string, style: TopNoticeStyle, options?: TopNoticeOptions) => Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Вставить css стили на страницу по ссылке с автоматическим добавлением правил media
|
|
75
|
+
*
|
|
76
|
+
* Правила media:
|
|
77
|
+
* - Файлы *.m.css будут грузиться, только на экранах с шириной менее, чем Core.widthForMobile
|
|
78
|
+
* - Файлы *.pc.css будут грузиться, только на экранах с шириной более, чем Core.widthForMobile
|
|
79
|
+
*
|
|
80
|
+
* Настройкой Core.widthForMobile можно управлять через plugin: @topvisor/ui/plugin/core
|
|
81
|
+
*
|
|
82
|
+
* @param fileNames - список ссылок на css файлы
|
|
83
|
+
* @param useSync - использовать синхронную загрузку css, только для css с того же домена. В синхронном режиме стили предзагружаются независимо от
|
|
84
|
+
* media
|
|
85
|
+
*/
|
|
86
|
+
static insertCSSLinkToPage: (fileNames: Array<string>, useSync?: boolean) => Promise<unknown[]>;
|
|
87
|
+
private static _insertToPage;
|
|
88
|
+
/**
|
|
89
|
+
* Вставить css стили на страницу с автоматическим добавлением правил media
|
|
90
|
+
*
|
|
91
|
+
* Загрузка с Vite:
|
|
92
|
+
*
|
|
93
|
+
* ```js
|
|
94
|
+
* import style from '/style.css?inline';
|
|
95
|
+
*
|
|
96
|
+
* insertToPageAsInine(style);
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* Загрузка с fetch:
|
|
100
|
+
*
|
|
101
|
+
* ```js
|
|
102
|
+
* const style = await fetch('./style.css');
|
|
103
|
+
*
|
|
104
|
+
* insertToPageAsInine(style);
|
|
105
|
+
* ```
|
|
106
|
+
*
|
|
107
|
+
* @param style - css стили в строке
|
|
108
|
+
* @param type - если указать 'm' или 'pc', то стили будут применяться по условию в зависимости от настройки this.widthForMobile
|
|
109
|
+
*
|
|
110
|
+
* @see insertToPage
|
|
111
|
+
*/
|
|
112
|
+
static insertStyleToPage: (style: string, type?: "" | "m" | "pc") => void;
|
|
113
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
type TopUIEvent = UIEvent & {
|
|
2
|
+
topEvent: {
|
|
3
|
+
widthDiff: number;
|
|
4
|
+
hightDiff: number;
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Добавить обработчик на событие изменения размеров экрана
|
|
9
|
+
* вызов таких обработчиков будет опмизирован и объединен в одно событие
|
|
10
|
+
*/
|
|
11
|
+
export declare const addOnReize: (listener: (this: HTMLElement, e: TopUIEvent) => void) => void;
|
|
12
|
+
/**
|
|
13
|
+
* Удаление обработчика на событие изменений размеров экрана
|
|
14
|
+
*/
|
|
15
|
+
export declare const removeOnResize: (listener: (this: HTMLElement, e: TopUIEvent) => void) => void;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
addOnReize: (listener: (this: HTMLElement, e: UIEvent & {
|
|
3
|
+
topEvent: {
|
|
4
|
+
widthDiff: number;
|
|
5
|
+
hightDiff: number;
|
|
6
|
+
};
|
|
7
|
+
}) => void) => void;
|
|
8
|
+
removeOnResize: (listener: (this: HTMLElement, e: UIEvent & {
|
|
9
|
+
topEvent: {
|
|
10
|
+
widthDiff: number;
|
|
11
|
+
hightDiff: number;
|
|
12
|
+
};
|
|
13
|
+
}) => void) => void;
|
|
14
|
+
};
|
|
15
|
+
export default _default;
|