@topvisor/ui 1.2.0 → 1.3.1-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.chunks/core-DkD6AE7J.amd.js +2 -0
- package/.chunks/core-DkD6AE7J.amd.js.map +1 -0
- package/.chunks/core-ZuvfeeJ3.es.js +197 -0
- package/.chunks/core-ZuvfeeJ3.es.js.map +1 -0
- package/.chunks/datepicker-CxWa68gc.es.js +44 -0
- package/.chunks/datepicker-CxWa68gc.es.js.map +1 -0
- package/.chunks/datepicker-DeYFg9AM.amd.js +2 -0
- package/.chunks/datepicker-DeYFg9AM.amd.js.map +1 -0
- package/.chunks/dialog_selectorRegions-D1ord0Ik.es.js +188 -0
- package/.chunks/dialog_selectorRegions-D1ord0Ik.es.js.map +1 -0
- package/.chunks/dialog_selectorRegions-vQD6LBdY.amd.js +2 -0
- package/.chunks/dialog_selectorRegions-vQD6LBdY.amd.js.map +1 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BMDSZwZJ.es.js +322 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BMDSZwZJ.es.js.map +1 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-DDR6uqak.amd.js +2 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-DDR6uqak.amd.js.map +1 -0
- package/.chunks/field-Cvv0SRcJ.amd.js +2 -0
- package/.chunks/field-Cvv0SRcJ.amd.js.map +1 -0
- package/.chunks/field-CyyFzM-Y.es.js +16 -0
- package/.chunks/field-CyyFzM-Y.es.js.map +1 -0
- package/.chunks/forms-CRHjU2Mj.es.js +2045 -0
- package/.chunks/forms-CRHjU2Mj.es.js.map +1 -0
- package/.chunks/forms-D4uFd45i.amd.js +3 -0
- package/.chunks/forms-D4uFd45i.amd.js.map +1 -0
- package/.chunks/index-BEI7XZmU.amd.js +2 -0
- package/.chunks/index-BEI7XZmU.amd.js.map +1 -0
- package/.chunks/index-igPkes8X.es.js +48 -0
- package/.chunks/index-igPkes8X.es.js.map +1 -0
- package/.chunks/lazy-40pjr8cZ.es.js +71 -0
- package/.chunks/lazy-40pjr8cZ.es.js.map +1 -0
- package/.chunks/lazy-DSFLxvj4.amd.js +2 -0
- package/.chunks/lazy-DSFLxvj4.amd.js.map +1 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-B2Q4gqK6.amd.js +2 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-B2Q4gqK6.amd.js.map +1 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DFWY29DS.es.js +184 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DFWY29DS.es.js.map +1 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-Bm9sY3Ux.es.js +110 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-Bm9sY3Ux.es.js.map +1 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-bMtkdrEt.amd.js +2 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-bMtkdrEt.amd.js.map +1 -0
- package/.chunks/notice-7-xEtFXT.amd.js +4 -0
- package/.chunks/notice-7-xEtFXT.amd.js.map +1 -0
- package/.chunks/notice-pFWJHCd7.es.js +180 -0
- package/.chunks/notice-pFWJHCd7.es.js.map +1 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-DzuM-_u7.amd.js +2 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-DzuM-_u7.amd.js.map +1 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-o3lCjjxW.es.js +143 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-o3lCjjxW.es.js.map +1 -0
- package/.chunks/popup-C05LLKni.amd.js +2 -0
- package/.chunks/popup-C05LLKni.amd.js.map +1 -0
- package/.chunks/popup-Dr3j_FOV.es.js +459 -0
- package/.chunks/popup-Dr3j_FOV.es.js.map +1 -0
- package/.chunks/punycode.es6-CNOnFR2-.amd.js +2 -0
- package/.chunks/punycode.es6-CNOnFR2-.amd.js.map +1 -0
- package/.chunks/punycode.es6-CgGegfA_.es.js +134 -0
- package/.chunks/punycode.es6-CgGegfA_.es.js.map +1 -0
- package/.chunks/store-CX_6ZXhO.es.js +29 -0
- package/.chunks/store-CX_6ZXhO.es.js.map +1 -0
- package/.chunks/store-YRW59xEF.amd.js +2 -0
- package/.chunks/store-YRW59xEF.amd.js.map +1 -0
- package/.chunks/utils-BgEQlXpF.amd.js +2 -0
- package/.chunks/utils-BgEQlXpF.amd.js.map +1 -0
- package/.chunks/utils-Bsv1-1_h.es.js +79 -0
- package/.chunks/utils-Bsv1-1_h.es.js.map +1 -0
- package/.chunks/utils-DQvj_C9w.amd.js +2 -0
- package/.chunks/utils-DQvj_C9w.amd.js.map +1 -0
- package/.chunks/utils-sKjgHYod.es.js +302 -0
- package/.chunks/utils-sKjgHYod.es.js.map +1 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-5LVABONB.es.js +39 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-5LVABONB.es.js.map +1 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-B7zzY9Mx.amd.js +2 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-B7zzY9Mx.amd.js.map +1 -0
- package/.chunks/widgetInput.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js +2 -0
- package/.chunks/widgetInput.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js.map +1 -0
- package/README.md +82 -33
- package/api/additional.amd.js +2 -0
- package/api/additional.amd.js.map +1 -0
- package/api/additional.d.ts +2 -0
- package/api/additional.js +66 -0
- package/api/additional.js.map +1 -0
- package/api/index.amd.js +2 -0
- package/api/index.amd.js.map +1 -0
- package/api/index.d.ts +2 -0
- package/api/index.js +280 -0
- package/api/index.js.map +1 -0
- package/assets/charts.css +1 -0
- package/assets/core.css +1 -0
- package/assets/dialog_selectorRegions.css +1 -0
- package/assets/extra.css +1 -0
- package/assets/forms.css +1 -0
- package/assets/formsExt.css +1 -0
- package/assets/layout.css +1 -0
- package/assets/listItem.css +1 -0
- package/assets/menu.css +1 -0
- package/assets/notice.css +1 -0
- package/assets/project.css +1 -0
- package/assets/tabs.css +1 -0
- package/assets/tabsView.css +1 -0
- package/assets/themes/dark-th.css +1 -0
- package/assets/themes/dark.css +1 -0
- package/assets/themes/light.css +1 -0
- package/assets/widgetInput.css +1 -0
- package/charts/charts.amd.js +2 -0
- package/charts/charts.amd.js.map +1 -0
- package/charts/charts.d.ts +2 -0
- package/charts/charts.js +178 -0
- package/charts/charts.js.map +1 -0
- package/core/app.amd.js +2 -0
- package/core/app.amd.js.map +1 -0
- package/core/app.d.ts +2 -0
- package/core/app.js +216 -0
- package/core/app.js.map +1 -0
- package/dialog/dialog.amd.js +2 -0
- package/dialog/dialog.amd.js.map +1 -0
- package/dialog/dialog.d.ts +2 -0
- package/dialog/dialog.js +60 -0
- package/dialog/dialog.js.map +1 -0
- package/extra/extra.amd.js +2 -0
- package/extra/extra.amd.js.map +1 -0
- package/extra/extra.d.ts +2 -0
- package/extra/extra.js +72 -0
- package/extra/extra.js.map +1 -0
- package/forms/forms.amd.js +2 -0
- package/forms/forms.amd.js.map +1 -0
- package/forms/forms.d.ts +2 -0
- package/forms/forms.js +19 -0
- package/forms/forms.js.map +1 -0
- package/forms/helpers.amd.js +2 -0
- package/forms/helpers.amd.js.map +1 -0
- package/forms/helpers.d.ts +1 -0
- package/forms/helpers.js +2 -0
- package/forms/helpers.js.map +1 -0
- package/formsExt/formsExt.amd.js +2 -0
- package/formsExt/formsExt.amd.js.map +1 -0
- package/formsExt/formsExt.d.ts +2 -0
- package/formsExt/formsExt.js +697 -0
- package/formsExt/formsExt.js.map +1 -0
- package/icomoon/Read Me.txt +7 -0
- package/icomoon/demo-files/demo.css +158 -0
- package/icomoon/demo-files/demo.js +30 -0
- package/icomoon/demo.css +158 -0
- package/icomoon/demo.html +3782 -0
- package/icomoon/demo.js +30 -0
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +293 -0
- package/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/icomoon/fonts/Topvisor-2.woff +0 -0
- package/icomoon/selection.json +1 -0
- package/icomoon/style.css +828 -0
- package/jquery-ui.min.css +6 -0
- package/layout/layout.amd.js +2 -0
- package/layout/layout.amd.js.map +1 -0
- package/layout/layout.d.ts +2 -0
- package/layout/layout.js +62 -0
- package/layout/layout.js.map +1 -0
- package/package.json +36 -88
- package/popup/popup.amd.js +2 -0
- package/popup/popup.amd.js.map +1 -0
- package/popup/popup.d.ts +2 -0
- package/popup/popup.js +228 -0
- package/popup/popup.js.map +1 -0
- package/popup/worker.amd.js +2 -0
- package/popup/worker.amd.js.map +1 -0
- package/popup/worker.d.ts +2 -0
- package/popup/worker.js +138 -0
- package/popup/worker.js.map +1 -0
- package/project/project.amd.js +2 -0
- package/project/project.amd.js.map +1 -0
- package/project/project.d.ts +2 -0
- package/project/project.js +986 -0
- package/project/project.js.map +1 -0
- package/require/css.amd.js +12 -0
- package/src/api/api/additional.d.ts +1 -0
- package/src/api/api/client/client.d.ts +55 -0
- package/src/api/api/client/request-options.d.ts +1 -0
- package/src/api/api/client/request.d.ts +2 -0
- package/src/api/api/index.d.ts +12 -0
- package/src/api/api/mocker/index.d.ts +9 -0
- package/src/api/api/tests/types.test-d.d.ts +1 -0
- package/src/api/api/types/api.d.ts +144 -0
- package/src/api/api/types/client/client.d.ts +8 -0
- package/src/api/api/types/client/middleware.d.ts +65 -0
- package/src/api/api/types/client/options.d.ts +60 -0
- package/src/api/api/types/client/request-context.d.ts +35 -0
- package/src/api/api/types/client/request-options.d.ts +73 -0
- package/src/api/api/types/client/request.d.ts +91 -0
- package/src/api/api/types/ext.d.ts +51 -0
- package/src/api/api/types/field.d.ts +33 -0
- package/src/api/api/types/index.d.ts +13 -0
- package/src/api/api/types/mocker.d.ts +106 -0
- package/src/api/api/types/schema.d.ts +50 -0
- package/src/api/api/types/tv.d.ts +59 -0
- package/src/api/api/types/utils.d.ts +51 -0
- package/src/api/api/utils/common.d.ts +16 -0
- package/src/api/api/utils/field.d.ts +8 -0
- package/src/api/api/utils/filters.d.ts +48 -0
- package/src/api/api/utils/lazy.d.ts +26 -0
- package/src/components/charts/charts.d.ts +2 -0
- package/src/components/charts/miniChart/miniChart.vue.d.ts +15 -0
- package/src/components/charts/miniChart/types.d.ts +92 -0
- package/src/components/charts/miniChart/utils/consts.d.ts +8 -0
- package/src/components/charts/miniCharts/miniCharts.d.ts +20 -0
- package/src/components/charts/miniCharts/miniCharts.vue.d.ts +32 -0
- package/src/components/core/notice/item/item.vue.d.ts +10 -0
- package/src/components/core/notice/item/types.d.ts +63 -0
- package/src/components/core/notice/notice.vue.d.ts +5 -0
- package/src/components/core/notice/types.d.ts +1 -0
- package/src/components/core/notice/utils.d.ts +27 -0
- package/src/components/dialog/dialog/composables/asyncDialogHandle.d.ts +51 -0
- package/src/components/dialog/dialog/composables/dialogHandle.d.ts +108 -0
- package/src/components/dialog/dialog/composables/types.d.ts +11 -0
- package/src/components/dialog/dialog/composables/utils.d.ts +21 -0
- package/src/components/dialog/dialog/dialog.vue.d.ts +28 -0
- package/src/components/dialog/dialog/dialogs/dialogs.vue.d.ts +13 -0
- package/src/components/dialog/dialog/page/page.vue.d.ts +19 -0
- package/src/components/dialog/dialog/page/types.d.ts +72 -0
- package/src/components/dialog/dialog/pageComponent/pageComponent.vue.d.ts +6 -0
- package/src/components/dialog/dialog/pageComponent/types.d.ts +18 -0
- package/src/components/dialog/dialog/stories/dialog_example/pages/utils.d.ts +7 -0
- package/src/components/dialog/dialog/types.d.ts +58 -0
- package/src/components/dialog/dialog.d.ts +6 -0
- package/src/components/dialog/lib/types.d.ts +44 -0
- package/src/components/dialog/lib/utils.d.ts +14 -0
- package/src/components/dialog/lib/utils.globalEvents.d.ts +8 -0
- package/src/components/dialog/lib/worker.d.ts +76 -0
- package/src/components/extra/extra.d.ts +1 -0
- package/src/components/extra/rive/rive.vue.d.ts +11 -0
- package/src/components/extra/rive/types.d.ts +7 -0
- package/src/components/forms/avatar/avatar.vue.d.ts +10 -0
- package/src/components/forms/avatar/types.d.ts +32 -0
- package/src/components/forms/button/button.vue.d.ts +21 -0
- package/src/components/forms/button/types.d.ts +49 -0
- package/src/components/forms/caption/caption.vue.d.ts +17 -0
- package/src/components/forms/caption/types.d.ts +9 -0
- package/src/components/forms/checkbox/checkbox.vue.d.ts +27 -0
- package/src/components/forms/checkbox/types.d.ts +21 -0
- package/src/components/forms/controlLabel/controlLabel.vue.d.ts +19 -0
- package/src/components/forms/controlLabel/types.d.ts +4 -0
- package/src/components/forms/forms.d.ts +15 -0
- package/src/components/forms/helpers.d.ts +1 -0
- package/src/components/forms/hint/hint.vue.d.ts +4 -0
- package/src/components/forms/hint/types.d.ts +8 -0
- package/src/components/forms/input/input.vue.d.ts +27 -0
- package/src/components/forms/input/types.d.ts +23 -0
- package/src/components/forms/inputDate/datepicker.d.ts +5 -0
- package/src/components/forms/inputDate/inputDate.vue.d.ts +12 -0
- package/src/components/forms/inputDate/types.d.ts +1 -0
- package/src/components/forms/inputRange/inputRange.vue.d.ts +19 -0
- package/src/components/forms/inputRange/types.d.ts +2 -0
- package/src/components/forms/loadbar/loadbar.vue.d.ts +3 -0
- package/src/components/forms/preloader/preloader.vue.d.ts +4 -0
- package/src/components/forms/preloader/types.d.ts +3 -0
- package/src/components/forms/radio/radio.vue.d.ts +23 -0
- package/src/components/forms/radio/types.d.ts +14 -0
- package/src/components/forms/select/select.vue.d.ts +17 -0
- package/src/components/forms/select/types.d.ts +58 -0
- package/src/components/forms/switcher/switcher.vue.d.ts +23 -0
- package/src/components/forms/switcher/types.d.ts +21 -0
- package/src/components/forms/textarea/textarea.vue.d.ts +12 -0
- package/src/components/forms/textarea/types.d.ts +44 -0
- package/src/components/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +16 -0
- package/src/components/formsExt/checkboxGroup/types.d.ts +19 -0
- package/src/components/formsExt/editArea/editArea.vue.d.ts +18 -0
- package/src/components/formsExt/editArea/types.d.ts +33 -0
- package/src/components/formsExt/editInput/editInput.vue.d.ts +8 -0
- package/src/components/formsExt/editInput/types.d.ts +16 -0
- package/src/components/formsExt/formsExt.d.ts +8 -0
- package/src/components/formsExt/info/info.vue.d.ts +20 -0
- package/src/components/formsExt/info/types.d.ts +21 -0
- package/src/components/formsExt/menu/menu.vue.d.ts +16 -0
- package/src/components/formsExt/menu/types.d.ts +37 -0
- package/src/components/formsExt/policy/policy.vue.d.ts +8 -0
- package/src/components/formsExt/policy/types.d.ts +20 -0
- package/src/components/formsExt/radioGroup/radioGroup.vue.d.ts +16 -0
- package/src/components/formsExt/radioGroup/types.d.ts +21 -0
- package/src/components/formsExt/selector2/composables/useAPI.d.ts +18 -0
- package/src/components/formsExt/selector2/composables/useMenu.d.ts +16 -0
- package/src/components/formsExt/selector2/itemMulti.vue.d.ts +8 -0
- package/src/components/formsExt/selector2/selector2.vue.d.ts +43 -0
- package/src/components/formsExt/selector2/types.d.ts +162 -0
- package/src/components/formsExt/selector2/utils.d.ts +6 -0
- package/src/components/layout/islandRows/islandRows.vue.d.ts +17 -0
- package/src/components/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +18 -0
- package/src/components/layout/islandRows/islandRowsRow/types.d.ts +2 -0
- package/src/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +18 -0
- package/src/components/layout/islandRows/types.d.ts +10 -0
- package/src/components/layout/layout.d.ts +4 -0
- package/src/components/layout/rows/rows.vue.d.ts +21 -0
- package/src/components/layout/rows/types.d.ts +6 -0
- package/src/components/popup/alert/alert.vue.d.ts +25 -0
- package/src/components/popup/alert/types.d.ts +8 -0
- package/src/components/popup/confirm/confirm.vue.d.ts +26 -0
- package/src/components/popup/confirm/types.d.ts +21 -0
- package/src/components/popup/lib/popup.d.ts +87 -0
- package/src/components/popup/lib/popup.globalEvents.d.ts +32 -0
- package/src/components/popup/lib/worker.d.ts +77 -0
- package/src/components/popup/lib/worker.globalEvents.d.ts +19 -0
- package/src/components/popup/popup/listItem.vue.d.ts +22 -0
- package/src/components/popup/popup/opener.vue.d.ts +17 -0
- package/src/components/popup/popup/popup.vue.d.ts +38 -0
- package/src/components/popup/popup/types.d.ts +110 -0
- package/src/components/popup/popup/widgetInput.vue.d.ts +17 -0
- package/src/components/popup/popup.d.ts +7 -0
- package/src/components/popup/prompt/prompt.vue.d.ts +26 -0
- package/src/components/popup/prompt/types.d.ts +21 -0
- package/src/components/popup/worker.d.ts +1 -0
- package/src/components/project/project.d.ts +9 -0
- package/src/components/project/selectorCompetitors/composables.d.ts +3 -0
- package/src/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +14 -0
- package/src/components/project/selectorCompetitors/types.d.ts +30 -0
- package/src/components/project/selectorRegion/composables/compare.d.ts +12 -0
- package/src/components/project/selectorRegion/composables/selectRegion.d.ts +13 -0
- package/src/components/project/selectorRegion/composables/selectSearcher.d.ts +13 -0
- package/src/components/project/selectorRegion/composables/selectorRegion.d.ts +25 -0
- package/src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue.d.ts +6 -0
- package/src/components/project/selectorRegion/dialog_selectorRegions/types.d.ts +26 -0
- package/src/components/project/selectorRegion/selectorRegion.vue.d.ts +23 -0
- package/src/components/project/selectorRegion/types.d.ts +172 -0
- package/src/components/project/selectorRegion/utils/consts.d.ts +31 -0
- package/src/components/project/selectorRegion/utils/utils.d.ts +34 -0
- package/src/components/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +20 -0
- package/src/components/project/tagSelector/popupListItem/types.d.ts +33 -0
- package/src/components/project/tagSelector/popupOpener/popupOpener.vue.d.ts +27 -0
- package/src/components/project/tagSelector/popupOpener/types.d.ts +64 -0
- package/src/components/project/tagSelector/tagIcon/tagIcon.vue.d.ts +4 -0
- package/src/components/project/tagSelector/tagIcon/types.d.ts +21 -0
- package/src/components/project/tagSelector/tagSelector.vue.d.ts +37 -0
- package/src/components/project/tagSelector/tagsDefaults.d.ts +3 -0
- package/src/components/project/tagSelector/types.d.ts +140 -0
- package/src/components/project/tagSelector/utils/el.d.ts +19 -0
- package/src/components/project/tagSelector/utils/utils.d.ts +14 -0
- package/src/components/tabs/tabs/content.vue.d.ts +19 -0
- package/src/components/tabs/tabs/tab.vue.d.ts +19 -0
- package/src/components/tabs/tabs/tabs.vue.d.ts +21 -0
- package/src/components/tabs/tabs/types.d.ts +19 -0
- package/src/components/tabs/tabs.d.ts +3 -0
- package/src/components/tabsView/tabsView/menu.vue.d.ts +32 -0
- package/src/components/tabsView/tabsView/menuDelimeter.vue.d.ts +3 -0
- package/src/components/tabsView/tabsView/menuItem.vue.d.ts +23 -0
- package/src/components/tabsView/tabsView/menuTitle.vue.d.ts +20 -0
- package/src/components/tabsView/tabsView/store.d.ts +12 -0
- package/src/components/tabsView/tabsView/tabsView.vue.d.ts +34 -0
- package/src/components/tabsView/tabsView/types.d.ts +98 -0
- package/src/components/tabsView/tabsView/utils.d.ts +11 -0
- package/src/components/tabsView/tabsView.d.ts +3 -0
- package/src/core/app.d.ts +8 -0
- package/src/core/core/core.d.ts +113 -0
- package/src/core/core/events/resize.d.ts +16 -0
- package/src/core/core/events.d.ts +15 -0
- package/src/core/core/options.d.ts +47 -0
- package/src/core/core/preloaders.d.ts +19 -0
- package/src/core/core/state.d.ts +49 -0
- package/src/core/directives/data.d.ts +10 -0
- package/src/core/directives/focus.d.ts +10 -0
- package/src/core/directives/preloader.d.ts +8 -0
- package/src/core/directives/scrollIntoView.d.ts +3 -0
- package/src/core/directives/scrollShadow.d.ts +15 -0
- package/src/core/directives/sticky.d.ts +10 -0
- package/src/core/directives/swimUp.d.ts +15 -0
- package/src/core/directives/tooltip.d.ts +10 -0
- package/src/core/plugins/core.d.ts +60 -0
- package/src/core/plugins/i18n.d.ts +97 -0
- package/src/core/plugins/piniaTPA.d.ts +17 -0
- package/src/core/utils/check.d.ts +26 -0
- package/src/core/utils/clipboard.d.ts +12 -0
- package/src/core/utils/date.d.ts +70 -0
- package/src/core/utils/device.d.ts +50 -0
- package/src/core/utils/dom.d.ts +104 -0
- package/src/core/utils/image.d.ts +16 -0
- package/src/core/utils/keyboard.d.ts +8 -0
- package/src/core/utils/lodash.d.ts +6 -0
- package/src/core/utils/number.d.ts +17 -0
- package/src/core/utils/price.d.ts +10 -0
- package/src/core/utils/route.d.ts +33 -0
- package/src/core/utils/scroll.d.ts +32 -0
- package/src/core/utils/searchers.d.ts +38 -0
- package/src/core/utils/store/localStorage.d.ts +6 -0
- package/src/core/utils/store/plugin.d.ts +24 -0
- package/src/core/utils/store/store.d.ts +34 -0
- package/src/core/utils/store.d.ts +6 -0
- package/src/core/utils/string.d.ts +100 -0
- package/src/core/utils/system.d.ts +25 -0
- package/src/core/utils/url.d.ts +36 -0
- package/tabs/tabs.amd.js +2 -0
- package/tabs/tabs.amd.js.map +1 -0
- package/tabs/tabs.d.ts +2 -0
- package/tabs/tabs.js +81 -0
- package/tabs/tabs.js.map +1 -0
- package/tabsView/tabsView.amd.js +2 -0
- package/tabsView/tabsView.amd.js.map +1 -0
- package/tabsView/tabsView.d.ts +2 -0
- package/tabsView/tabsView.js +307 -0
- package/tabsView/tabsView.js.map +1 -0
- package/utils/check.amd.js +2 -0
- package/utils/check.amd.js.map +1 -0
- package/utils/check.d.ts +2 -0
- package/utils/check.js +26 -0
- package/utils/check.js.map +1 -0
- package/utils/clipboard.amd.js +6 -0
- package/utils/clipboard.amd.js.map +1 -0
- package/utils/clipboard.d.ts +2 -0
- package/utils/clipboard.js +35 -0
- package/utils/clipboard.js.map +1 -0
- package/utils/date.amd.js +2 -0
- package/utils/date.amd.js.map +1 -0
- package/utils/date.d.ts +2 -0
- package/utils/date.js +12 -0
- package/utils/date.js.map +1 -0
- package/utils/device.amd.js +2 -0
- package/utils/device.amd.js.map +1 -0
- package/utils/device.d.ts +2 -0
- package/utils/device.js +15 -0
- package/utils/device.js.map +1 -0
- package/utils/dom.amd.js +2 -0
- package/utils/dom.amd.js.map +1 -0
- package/utils/dom.d.ts +6 -0
- package/utils/dom.js +80 -0
- package/utils/dom.js.map +1 -0
- package/utils/image.amd.js +12 -0
- package/utils/image.amd.js.map +1 -0
- package/utils/image.d.ts +2 -0
- package/utils/image.js +23 -0
- package/utils/image.js.map +1 -0
- package/utils/keyboard.amd.js +2 -0
- package/utils/keyboard.amd.js.map +1 -0
- package/utils/keyboard.d.ts +2 -0
- package/utils/keyboard.js +12 -0
- package/utils/keyboard.js.map +1 -0
- package/utils/lodash.amd.js +2 -0
- package/utils/lodash.amd.js.map +1 -0
- package/utils/lodash.d.ts +2 -0
- package/utils/lodash.js +9 -0
- package/utils/lodash.js.map +1 -0
- package/utils/number.amd.js +2 -0
- package/utils/number.amd.js.map +1 -0
- package/utils/number.d.ts +2 -0
- package/utils/number.js +13 -0
- package/utils/number.js.map +1 -0
- package/utils/price.amd.js +2 -0
- package/utils/price.amd.js.map +1 -0
- package/utils/price.d.ts +2 -0
- package/utils/price.js +10 -0
- package/utils/price.js.map +1 -0
- package/utils/route.amd.js +2 -0
- package/utils/route.amd.js.map +1 -0
- package/utils/route.d.ts +2 -0
- package/utils/route.js +38 -0
- package/utils/route.js.map +1 -0
- package/utils/scroll.amd.js +2 -0
- package/utils/scroll.amd.js.map +1 -0
- package/utils/scroll.d.ts +2 -0
- package/utils/scroll.js +45 -0
- package/utils/scroll.js.map +1 -0
- package/utils/searchers.amd.js +2 -0
- package/utils/searchers.amd.js.map +1 -0
- package/utils/searchers.d.ts +2 -0
- package/utils/searchers.js +134 -0
- package/utils/searchers.js.map +1 -0
- package/utils/store.amd.js +2 -0
- package/utils/store.amd.js.map +1 -0
- package/utils/store.d.ts +2 -0
- package/utils/store.js +7 -0
- package/utils/store.js.map +1 -0
- package/utils/string.amd.js +2 -0
- package/utils/string.amd.js.map +1 -0
- package/utils/string.d.ts +2 -0
- package/utils/string.js +152 -0
- package/utils/string.js.map +1 -0
- package/utils/system.amd.js +2 -0
- package/utils/system.amd.js.map +1 -0
- package/utils/system.d.ts +2 -0
- package/utils/system.js +29 -0
- package/utils/system.js.map +1 -0
- package/utils/url.amd.js +3 -0
- package/utils/url.amd.js.map +1 -0
- package/utils/url.d.ts +2 -0
- package/utils/url.js +48 -0
- package/utils/url.js.map +1 -0
- package/web-types.json +130 -130
- package/.gitlab-ci/.gitlab-ci.yml +0 -26
- package/.gitlab-ci/common/install.yml +0 -21
- package/.gitlab-ci/common/lint.yml +0 -14
- package/.gitlab-ci/common/version.yml +0 -23
- package/.gitlab-ci/storybook/build.yml +0 -20
- package/.gitlab-ci/storybook/deploy.yml +0 -49
- package/.gitlab-ci/ui/build.yml +0 -13
- package/.gitlab-ci/ui/deploy.yml +0 -23
- package/.idea/.gitignore +0 -11
- package/.idea/codeStyles/Project.xml +0 -205
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/externalDependencies.xml +0 -6
- package/.idea/inspectionProfiles/Disabled.xml +0 -824
- package/.idea/inspectionProfiles/Project_Default.xml +0 -33
- package/.idea/php.xml +0 -19
- package/.idea/vcs.xml +0 -6
- package/.storybook/TopTheme.ts +0 -115
- package/.storybook/TopThemeManager.ts +0 -53
- package/.storybook/main.ts +0 -51
- package/.storybook/manager.ts +0 -25
- package/.storybook/preview-head.html +0 -21
- package/.storybook/preview.ts +0 -47
- package/.storybook/vue/coreDecorator.ts +0 -77
- package/.storybook/vue/vModelDecorator.ts +0 -46
- package/.versionrc.json +0 -16
- package/.vscode/extensions.json +0 -11
- package/.vscode/keybindings.example.json +0 -121
- package/.vscode/settings.json +0 -45
- package/CHANGELOG.md +0 -223
- package/NPM.md +0 -25
- package/PUBLISH.md +0 -63
- package/STORYBOOK.md +0 -48
- package/USE_IN_PROJECT.md +0 -32
- package/build/afterBuild.sh +0 -11
- package/build/cssModules.ts +0 -39
- package/build/genDocs.sh +0 -19
- package/build/plugin/amdFix.ts +0 -83
- package/build/plugin/autoloadCSS.ts +0 -155
- package/build/rollup.config.ts +0 -37
- package/public/README.md +0 -82
- package/public/icomoon/Read Me.txt +0 -7
- package/public/icomoon/Topvisor icons.json +0 -6260
- package/public/icomoon/demo-files/demo.css +0 -158
- package/public/icomoon/demo-files/demo.js +0 -30
- package/public/icomoon/demo.html +0 -3558
- package/public/icomoon/fonts/Topvisor-2.eot +0 -0
- package/public/icomoon/fonts/Topvisor-2.svg +0 -277
- package/public/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/public/icomoon/fonts/Topvisor-2.woff +0 -0
- package/public/icomoon/selection.json +0 -1
- package/public/icomoon/style.css +0 -780
- package/public/jquery-ui.min.css +0 -6
- package/public/require/css.amd.js +0 -12
- package/src/components/charts/charts.ts +0 -8
- package/src/components/charts/miniChart/miniChart.stories.ts +0 -67
- package/src/components/charts/miniChart/miniChart.ts +0 -110
- package/src/components/charts/miniChart/miniChart.vue +0 -158
- package/src/components/charts/miniChart/stories/README.md +0 -9
- package/src/components/charts/miniChart/stories/dummy.ts +0 -25
- package/src/components/charts/miniChart/styles/miniChart.css +0 -87
- package/src/components/charts/miniChart/utils/consts.ts +0 -9
- package/src/components/charts/miniCharts/miniCharts.stories.ts +0 -76
- package/src/components/charts/miniCharts/miniCharts.ts +0 -24
- package/src/components/charts/miniCharts/miniCharts.vue +0 -128
- package/src/components/charts/miniCharts/stories/README.md +0 -18
- package/src/components/charts/miniCharts/stories/dummy.ts +0 -70
- package/src/components/charts/miniCharts/stories/overview.vue +0 -139
- package/src/components/charts/miniCharts/styles/miniCharts.css +0 -32
- package/src/components/component.ts +0 -130
- package/src/components/core/core.mdx +0 -7
- package/src/components/core/notice/item/item.vue +0 -145
- package/src/components/core/notice/item/style.css +0 -70
- package/src/components/core/notice/item/types.ts +0 -71
- package/src/components/core/notice/notice.stories.ts +0 -105
- package/src/components/core/notice/notice.vue +0 -69
- package/src/components/core/notice/stories/README.md +0 -34
- package/src/components/core/notice/types.ts +0 -1
- package/src/components/core/notice/utils.ts +0 -115
- package/src/components/dialog/dialog/Dialog (code).mdx +0 -61
- package/src/components/dialog/dialog/composables/asyncDialogHandle.ts +0 -99
- package/src/components/dialog/dialog/composables/dialogHandle.ts +0 -176
- package/src/components/dialog/dialog/composables/types.ts +0 -12
- package/src/components/dialog/dialog/composables/utils.ts +0 -39
- package/src/components/dialog/dialog/dialog.stories.ts +0 -83
- package/src/components/dialog/dialog/dialog.vue +0 -74
- package/src/components/dialog/dialog/dialogs/dialogs.vue +0 -58
- package/src/components/dialog/dialog/page/page.vue +0 -86
- package/src/components/dialog/dialog/page/types.ts +0 -84
- package/src/components/dialog/dialog/page.stories.ts +0 -27
- package/src/components/dialog/dialog/pageComponent/pageComponent.vue +0 -57
- package/src/components/dialog/dialog/pageComponent/types.ts +0 -21
- package/src/components/dialog/dialog/pageComponent.stories.ts +0 -27
- package/src/components/dialog/dialog/stories/README.md +0 -117
- package/src/components/dialog/dialog/stories/autoload.ts +0 -12
- package/src/components/dialog/dialog/stories/dialog_example/dialog_example.vue +0 -73
- package/src/components/dialog/dialog/stories/dialog_example/pages/async.vue +0 -57
- package/src/components/dialog/dialog/stories/dialog_example/pages/default.vue +0 -64
- package/src/components/dialog/dialog/stories/dialog_example/pages/headerButtons.vue +0 -56
- package/src/components/dialog/dialog/stories/dialog_example/pages/utils.ts +0 -26
- package/src/components/dialog/dialog/stories/dialog_example/pages/withoutCache.vue +0 -64
- package/src/components/dialog/dialog/stories/page/README.md +0 -24
- package/src/components/dialog/dialog/stories/pageComponent/README.md +0 -12
- package/src/components/dialog/dialog/style/dialog.css +0 -316
- package/src/components/dialog/dialog/style/dialog.m.css +0 -40
- package/src/components/dialog/dialog/style/dialog.pc.css +0 -73
- package/src/components/dialog/dialog/style/modern/dialog.css +0 -12
- package/src/components/dialog/dialog/style/modern/dialog.pc.css +0 -3
- package/src/components/dialog/dialog/types.ts +0 -69
- package/src/components/dialog/dialog.ts +0 -7
- package/src/components/dialog/lib/types.ts +0 -26
- package/src/components/dialog/lib/utils.globalEvents.ts +0 -175
- package/src/components/dialog/lib/utils.ts +0 -525
- package/src/components/dialog/lib/worker.ts +0 -273
- package/src/components/forms/README.mdx +0 -10
- package/src/components/forms/avatar/avatar.stories.ts +0 -38
- package/src/components/forms/avatar/avatar.ts +0 -40
- package/src/components/forms/avatar/avatar.vue +0 -77
- package/src/components/forms/avatar/stories/overview.vue +0 -28
- package/src/components/forms/button/button.stories.ts +0 -118
- package/src/components/forms/button/button.vue +0 -111
- package/src/components/forms/button/stories/README.md +0 -9
- package/src/components/forms/button/stories/overview.vue +0 -33
- package/src/components/forms/button/style/button.css +0 -139
- package/src/components/forms/button/style/style-outline.css +0 -129
- package/src/components/forms/button/style/style-soft.css +0 -89
- package/src/components/forms/button/style/style-transparent.css +0 -39
- package/src/components/forms/button/types.ts +0 -66
- package/src/components/forms/checkbox/checkbox.stories.ts +0 -33
- package/src/components/forms/checkbox/checkbox.ts +0 -21
- package/src/components/forms/checkbox/checkbox.vue +0 -114
- package/src/components/forms/checkbox/stories/overview.vue +0 -171
- package/src/components/forms/controlLabel/controlLabel.stories.ts +0 -32
- package/src/components/forms/controlLabel/controlLabel.ts +0 -4
- package/src/components/forms/controlLabel/controlLabel.vue +0 -54
- package/src/components/forms/forms.ts +0 -40
- package/src/components/forms/helpers.ts +0 -11
- package/src/components/forms/hint/hint.stories.ts +0 -41
- package/src/components/forms/hint/hint.ts +0 -8
- package/src/components/forms/hint/hint.vue +0 -32
- package/src/components/forms/input/input.stories.ts +0 -32
- package/src/components/forms/input/input.ts +0 -47
- package/src/components/forms/input/input.vue +0 -189
- package/src/components/forms/input/stories/overview.vue +0 -61
- package/src/components/forms/inputDate/datepicker.css +0 -246
- package/src/components/forms/inputDate/datepicker.ts +0 -101
- package/src/components/forms/inputDate/inputDate.stories.ts +0 -41
- package/src/components/forms/inputDate/inputDate.ts +0 -5
- package/src/components/forms/inputDate/inputDate.vue +0 -133
- package/src/components/forms/inputDate/stories/overview.vue +0 -35
- package/src/components/forms/inputRange/inputRange.stories.ts +0 -53
- package/src/components/forms/inputRange/inputRange.ts +0 -3
- package/src/components/forms/inputRange/inputRange.vue +0 -39
- package/src/components/forms/inputRange/stories/overview.vue +0 -129
- package/src/components/forms/loadbar/loadbar.stories.ts +0 -17
- package/src/components/forms/loadbar/loadbar.vue +0 -37
- package/src/components/forms/radio/radio.stories.ts +0 -34
- package/src/components/forms/radio/radio.ts +0 -15
- package/src/components/forms/radio/radio.vue +0 -97
- package/src/components/forms/radio/stories/overview.vue +0 -79
- package/src/components/forms/select/select.stories.ts +0 -69
- package/src/components/forms/select/select.ts +0 -69
- package/src/components/forms/select/select.vue +0 -300
- package/src/components/forms/select/stories/exampleOptions.ts +0 -61
- package/src/components/forms/select/stories/overview.vue +0 -72
- package/src/components/forms/switcher/stories/overview.vue +0 -139
- package/src/components/forms/switcher/switcher.stories.ts +0 -33
- package/src/components/forms/switcher/switcher.ts +0 -22
- package/src/components/forms/switcher/switcher.vue +0 -118
- package/src/components/forms/textarea/stories/overview.vue +0 -62
- package/src/components/forms/textarea/textarea.stories.ts +0 -34
- package/src/components/forms/textarea/textarea.ts +0 -47
- package/src/components/forms/textarea/textarea.vue +0 -123
- package/src/components/formsExt/README.mdx +0 -5
- package/src/components/formsExt/editArea/editArea.stories.ts +0 -41
- package/src/components/formsExt/editArea/editArea.ts +0 -41
- package/src/components/formsExt/editArea/editArea.vue +0 -198
- package/src/components/formsExt/editArea/stories/README.md +0 -21
- package/src/components/formsExt/editArea/stories/overview.vue +0 -67
- package/src/components/formsExt/editInput/editInput.stories.ts +0 -36
- package/src/components/formsExt/editInput/editInput.ts +0 -20
- package/src/components/formsExt/editInput/editInput.vue +0 -54
- package/src/components/formsExt/editInput/stories/overview.vue +0 -54
- package/src/components/formsExt/formsExt.ts +0 -15
- package/src/components/formsExt/info/info.stories.ts +0 -35
- package/src/components/formsExt/info/info.vue +0 -84
- package/src/components/formsExt/info/stories/overview.vue +0 -29
- package/src/components/formsExt/info/types.ts +0 -25
- package/src/components/formsExt/menu/menu.stories.ts +0 -59
- package/src/components/formsExt/menu/menu.ts +0 -45
- package/src/components/formsExt/menu/menu.vue +0 -321
- package/src/components/formsExt/menu/stories/items.ts +0 -18
- package/src/components/formsExt/menu/stories/overview.vue +0 -52
- package/src/components/formsExt/navigationMenu/item.vue +0 -186
- package/src/components/formsExt/navigationMenu/navigationMenu.stories.ts +0 -37
- package/src/components/formsExt/navigationMenu/navigationMenu.ts +0 -28
- package/src/components/formsExt/navigationMenu/navigationMenu.vue +0 -40
- package/src/components/formsExt/navigationMenu/stories/items.ts +0 -116
- package/src/components/formsExt/radioGroup/radioGroup.stories.ts +0 -51
- package/src/components/formsExt/radioGroup/radioGroup.ts +0 -28
- package/src/components/formsExt/radioGroup/radioGroup.vue +0 -146
- package/src/components/formsExt/radioGroup/stories/overview.vue +0 -78
- package/src/components/formsExt/radioGroup/styles/top-scrollBar.css +0 -52
- package/src/components/formsExt/selector2/api.ts +0 -148
- package/src/components/formsExt/selector2/itemMulti.vue +0 -57
- package/src/components/formsExt/selector2/selector2.stories.ts +0 -48
- package/src/components/formsExt/selector2/selector2.ts +0 -145
- package/src/components/formsExt/selector2/selector2.vue +0 -389
- package/src/components/formsExt/selector2/stories/dummyAPIRequest.ts +0 -58
- package/src/components/formsExt/selector2/stories/overview.vue +0 -93
- package/src/components/helper.js +0 -10
- package/src/components/helpersStories.ts +0 -205
- package/src/components/layout/islandRows/islandRows.stories.ts +0 -139
- package/src/components/layout/islandRows/islandRows.vue +0 -53
- package/src/components/layout/islandRows/islandRowsRow/islandRowsRow.vue +0 -36
- package/src/components/layout/islandRows/islandRowsRow/types.ts +0 -1
- package/src/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue +0 -16
- package/src/components/layout/islandRows/stories/README.md +0 -8
- package/src/components/layout/islandRows/types.ts +0 -11
- package/src/components/layout/layout.ts +0 -11
- package/src/components/layout/rows/rows.stories.ts +0 -48
- package/src/components/layout/rows/rows.vue +0 -46
- package/src/components/layout/rows/stories/README.md +0 -10
- package/src/components/layout/rows/types.ts +0 -6
- package/src/components/popup/alert/alert.stories.ts +0 -71
- package/src/components/popup/alert/alert.ts +0 -11
- package/src/components/popup/alert/alert.vue +0 -46
- package/src/components/popup/alert/stories/overview.vue +0 -40
- package/src/components/popup/confirm/confirm.stories.ts +0 -75
- package/src/components/popup/confirm/confirm.ts +0 -26
- package/src/components/popup/confirm/confirm.vue +0 -75
- package/src/components/popup/confirm/stories/overview.vue +0 -62
- package/src/components/popup/lib/popup.globalEvents.ts +0 -239
- package/src/components/popup/lib/popup.ts +0 -790
- package/src/components/popup/lib/worker.globalEvents.ts +0 -97
- package/src/components/popup/lib/worker.ts +0 -286
- package/src/components/popup/popup/listItem.vue +0 -35
- package/src/components/popup/popup/opener.vue +0 -81
- package/src/components/popup/popup/popup.stories.ts +0 -74
- package/src/components/popup/popup/popup.ts +0 -120
- package/src/components/popup/popup/popup.vue +0 -168
- package/src/components/popup/popup/stories/README.md +0 -55
- package/src/components/popup/popup/stories/listItems.vue +0 -44
- package/src/components/popup/popup/stories/listSubItems.vue +0 -47
- package/src/components/popup/popup/stories/overview.vue +0 -210
- package/src/components/popup/popup/style/popup.css +0 -345
- package/src/components/popup/popup/style/popup.m.css +0 -72
- package/src/components/popup/popup/style/popup.pc.css +0 -26
- package/src/components/popup/popup/widgetInput.vue +0 -43
- package/src/components/popup/popup.ts +0 -17
- package/src/components/popup/prompt/prompt.stories.ts +0 -78
- package/src/components/popup/prompt/prompt.ts +0 -26
- package/src/components/popup/prompt/prompt.vue +0 -84
- package/src/components/popup/prompt/stories/overview.vue +0 -50
- package/src/components/popup/worker.ts +0 -1
- package/src/components/project/project.ts +0 -23
- package/src/components/project/selectorCompetitors/composables.ts +0 -21
- package/src/components/project/selectorCompetitors/selectorCompetitors.stories.ts +0 -33
- package/src/components/project/selectorCompetitors/selectorCompetitors.ts +0 -27
- package/src/components/project/selectorCompetitors/selectorCompetitors.vue +0 -75
- package/src/components/project/selectorCompetitors/stories/README.md +0 -20
- package/src/components/project/selectorCompetitors/stories/items.ts +0 -30
- package/src/components/project/selectorCompetitors/types/competitor.ts +0 -7
- package/src/components/project/selectorRegion/composables/compare.ts +0 -87
- package/src/components/project/selectorRegion/composables/selectRegion.ts +0 -147
- package/src/components/project/selectorRegion/composables/selectSearcher.ts +0 -64
- package/src/components/project/selectorRegion/composables/selectorRegion.ts +0 -167
- package/src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue +0 -190
- package/src/components/project/selectorRegion/dialog_selectorRegions/style.css +0 -49
- package/src/components/project/selectorRegion/dialog_selectorRegions/types.ts +0 -31
- package/src/components/project/selectorRegion/selectorRegion.stories.ts +0 -85
- package/src/components/project/selectorRegion/selectorRegion.ts +0 -204
- package/src/components/project/selectorRegion/selectorRegion.vue +0 -335
- package/src/components/project/selectorRegion/stories/README.md +0 -36
- package/src/components/project/selectorRegion/stories/searchers.ts +0 -77
- package/src/components/project/selectorRegion/styles/searcherColors.css +0 -41
- package/src/components/project/selectorRegion/utils/consts.ts +0 -73
- package/src/components/project/selectorRegion/utils/utils.ts +0 -167
- package/src/components/project/tagSelector/popupListItem/tagPopupListItem.vue +0 -209
- package/src/components/project/tagSelector/popupListItem/types.ts +0 -40
- package/src/components/project/tagSelector/popupOpener/popupOpener.vue +0 -145
- package/src/components/project/tagSelector/popupOpener/types.ts +0 -71
- package/src/components/project/tagSelector/stories/README.md +0 -62
- package/src/components/project/tagSelector/stories/overview.vue +0 -152
- package/src/components/project/tagSelector/tagIcon/tagIcon.vue +0 -97
- package/src/components/project/tagSelector/tagIcon/types.ts +0 -25
- package/src/components/project/tagSelector/tagSelector.stories.ts +0 -51
- package/src/components/project/tagSelector/tagSelector.vue +0 -359
- package/src/components/project/tagSelector/tagsDefaults.ts +0 -54
- package/src/components/project/tagSelector/types.ts +0 -159
- package/src/components/project/tagSelector/utils/el.ts +0 -151
- package/src/components/project/tagSelector/utils/utils.ts +0 -30
- package/src/components/tabs/tabs/content.vue +0 -24
- package/src/components/tabs/tabs/stories/README.md +0 -12
- package/src/components/tabs/tabs/tab.vue +0 -49
- package/src/components/tabs/tabs/tabs.stories.ts +0 -171
- package/src/components/tabs/tabs/tabs.ts +0 -22
- package/src/components/tabs/tabs/tabs.vue +0 -64
- package/src/components/tabs/tabs.ts +0 -9
- package/src/components/tabsView/tabsView/menu.vue +0 -291
- package/src/components/tabsView/tabsView/menuDelimeter.vue +0 -26
- package/src/components/tabsView/tabsView/menuItem.vue +0 -125
- package/src/components/tabsView/tabsView/menuTitle.vue +0 -46
- package/src/components/tabsView/tabsView/store.ts +0 -60
- package/src/components/tabsView/tabsView/stories/README.md +0 -22
- package/src/components/tabsView/tabsView/tabsView.stories.ts +0 -170
- package/src/components/tabsView/tabsView/tabsView.ts +0 -118
- package/src/components/tabsView/tabsView/tabsView.vue +0 -120
- package/src/components/tabsView/tabsView/utils.ts +0 -27
- package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuItem.stories.ts +0 -47
- package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuTitle.stories.ts +0 -43
- package/src/components/tabsView/tabsView.ts +0 -9
- package/src/components/types.ts +0 -3
- package/src/core/app.ts +0 -22
- package/src/core/core/core.mdx +0 -36
- package/src/core/core/core.ts +0 -287
- package/src/core/core/events/resize.ts +0 -47
- package/src/core/core/events.ts +0 -6
- package/src/core/core/jQuery.mdx +0 -41
- package/src/core/core/options.ts +0 -51
- package/src/core/core/preloaders.ts +0 -31
- package/src/core/core/state.ts +0 -61
- package/src/core/directives/data.mdx +0 -24
- package/src/core/directives/data.ts +0 -25
- package/src/core/directives/focus.mdx +0 -28
- package/src/core/directives/focus.ts +0 -73
- package/src/core/directives/scrollIntoView.mdx +0 -41
- package/src/core/directives/scrollIntoView.ts +0 -123
- package/src/core/directives/scrollShadow.mdx +0 -23
- package/src/core/directives/scrollShadow.ts +0 -27
- package/src/core/directives/sticky.mdx +0 -29
- package/src/core/directives/sticky.ts +0 -32
- package/src/core/directives/swimUp.mdx +0 -27
- package/src/core/directives/swimUp.ts +0 -95
- package/src/core/directives/tooltip.mdx +0 -13
- package/src/core/directives/tooltip.ts +0 -57
- package/src/core/icons/gallery.vue +0 -70
- package/src/core/icons/icons.mdx +0 -24
- package/src/core/icons/icons.stories.ts +0 -14
- package/src/core/plugins/core.ts +0 -131
- package/src/core/plugins/i18n.ts +0 -184
- package/src/core/plugins/piniaTPA.ts +0 -431
- package/src/core/plugins/plugins.mdx +0 -82
- package/src/core/styles/CSS Variables.stories.ts +0 -17
- package/src/core/styles/styles.mdx +0 -26
- package/src/core/theme/Variables.stories.ts +0 -16
- package/src/core/theme/theme.mdx +0 -117
- package/src/core/utils/References/Docs.mdx +0 -23
- package/src/core/utils/References/check/Docs.mdx +0 -15
- package/src/core/utils/References/check/functions/getDomainRegexp.mdx +0 -15
- package/src/core/utils/References/check/functions/isDomain.mdx +0 -21
- package/src/core/utils/References/check/functions/isEmail.mdx +0 -22
- package/src/core/utils/References/check/functions/isIp.mdx +0 -21
- package/src/core/utils/References/check/functions/validUrl.mdx +0 -22
- package/src/core/utils/References/clipboard/Docs.mdx +0 -11
- package/src/core/utils/References/clipboard/functions/setClipboard.mdx +0 -23
- package/src/core/utils/References/date/Docs.mdx +0 -17
- package/src/core/utils/References/date/functions/dateFormat.mdx +0 -28
- package/src/core/utils/References/date/functions/dateToString.mdx +0 -26
- package/src/core/utils/References/date/functions/dateUnformat.mdx +0 -22
- package/src/core/utils/References/date/functions/genDate.mdx +0 -26
- package/src/core/utils/References/date/functions/genDateMoscow.mdx +0 -22
- package/src/core/utils/References/date/functions/getDayOfWeek.mdx +0 -26
- package/src/core/utils/References/date/functions/stringToDate.mdx +0 -21
- package/src/core/utils/References/device/Docs.mdx +0 -21
- package/src/core/utils/References/device/functions/get$scroll.mdx +0 -15
- package/src/core/utils/References/device/functions/getCommandKeyLabel.mdx +0 -15
- package/src/core/utils/References/device/functions/getElsScroll.mdx +0 -15
- package/src/core/utils/References/device/functions/getOS.mdx +0 -17
- package/src/core/utils/References/device/functions/getOSAsync.mdx +0 -15
- package/src/core/utils/References/device/functions/getScrollTop.mdx +0 -15
- package/src/core/utils/References/device/functions/isApp.mdx +0 -15
- package/src/core/utils/References/device/functions/isMacOS.mdx +0 -15
- package/src/core/utils/References/device/functions/isMobile.mdx +0 -15
- package/src/core/utils/References/device/functions/isRetina.mdx +0 -15
- package/src/core/utils/References/device/functions/isSafari.mdx +0 -15
- package/src/core/utils/References/dom/Docs.mdx +0 -27
- package/src/core/utils/References/dom/functions/css.mdx +0 -24
- package/src/core/utils/References/dom/functions/genEl.mdx +0 -28
- package/src/core/utils/References/dom/functions/isVisible.mdx +0 -23
- package/src/core/utils/References/dom/functions/offset.mdx +0 -35
- package/src/core/utils/References/dom/functions/querySelectorAllArray.mdx +0 -22
- package/src/core/utils/References/dom/functions/querySelectorAllVisible.mdx +0 -22
- package/src/core/utils/References/dom/functions/querySelectorVisible.mdx +0 -22
- package/src/core/utils/References/dom/functions/querySelectorVisibleLast.mdx +0 -22
- package/src/core/utils/References/dom/functions/storage.mdx +0 -28
- package/src/core/utils/References/dom/functions/storageClear.mdx +0 -21
- package/src/core/utils/References/dom/functions/wrap.mdx +0 -22
- package/src/core/utils/References/dom/variables/default.mdx +0 -241
- package/src/core/utils/References/image/Docs.mdx +0 -12
- package/src/core/utils/References/image/functions/downloadImageFromString.mdx +0 -22
- package/src/core/utils/References/image/functions/genFaviconImgHtml.mdx +0 -22
- package/src/core/utils/References/keyboard/Docs.mdx +0 -11
- package/src/core/utils/References/keyboard/functions/invertKeyboardLayout.mdx +0 -21
- package/src/core/utils/References/lodash/Docs.mdx +0 -20
- package/src/core/utils/References/lodash/functions/cloneDeep.mdx +0 -29
- package/src/core/utils/References/lodash/functions/debounce.mdx +0 -76
- package/src/core/utils/References/lodash/functions/memoize.mdx +0 -26
- package/src/core/utils/References/lodash/functions/merge.mdx +0 -200
- package/src/core/utils/References/lodash/functions/throttle.mdx +0 -73
- package/src/core/utils/References/number/Docs.mdx +0 -11
- package/src/core/utils/References/number/functions/percentOfNumber.mdx +0 -26
- package/src/core/utils/References/price/Docs.mdx +0 -11
- package/src/core/utils/References/price/functions/genPrice.mdx +0 -28
- package/src/core/utils/References/route/Docs.mdx +0 -16
- package/src/core/utils/References/route/functions/delHash.mdx +0 -26
- package/src/core/utils/References/route/functions/genHash.mdx +0 -26
- package/src/core/utils/References/route/functions/getHash.mdx +0 -22
- package/src/core/utils/References/route/functions/historySetState.mdx +0 -31
- package/src/core/utils/References/route/functions/setHash.mdx +0 -26
- package/src/core/utils/References/route/functions/setHashs.mdx +0 -22
- package/src/core/utils/References/scroll/Docs.mdx +0 -14
- package/src/core/utils/References/scroll/functions/amountScrolled.mdx +0 -17
- package/src/core/utils/References/scroll/functions/connectScrollShadow.mdx +0 -28
- package/src/core/utils/References/scroll/functions/genHasScroll.mdx +0 -25
- package/src/core/utils/References/scroll/functions/getScrollPercent.mdx +0 -21
- package/src/core/utils/References/searchers/Docs.mdx +0 -19
- package/src/core/utils/References/searchers/functions/genVolumeLabel.mdx +0 -26
- package/src/core/utils/References/searchers/functions/getDeviceGIcon.mdx +0 -21
- package/src/core/utils/References/searchers/functions/getLangLabel.mdx +0 -22
- package/src/core/utils/References/searchers/functions/getSearcherGIcon.mdx +0 -21
- package/src/core/utils/References/searchers/functions/prepareVolumeType.mdx +0 -22
- package/src/core/utils/References/searchers/variables/searchersNames.mdx +0 -97
- package/src/core/utils/References/store/Docs.mdx +0 -18
- package/src/core/utils/References/store/functions/defineStore.mdx +0 -36
- package/src/core/utils/References/store/functions/useStore.mdx +0 -29
- package/src/core/utils/References/store/variables/plugin.mdx +0 -66
- package/src/core/utils/References/string/Docs.mdx +0 -26
- package/src/core/utils/References/string/functions/addCommasWhite.mdx +0 -21
- package/src/core/utils/References/string/functions/addLinkTags.mdx +0 -23
- package/src/core/utils/References/string/functions/camelToSnakeCase.mdx +0 -21
- package/src/core/utils/References/string/functions/ellipsis.mdx +0 -26
- package/src/core/utils/References/string/functions/genFlagLinkByCountryCode.mdx +0 -21
- package/src/core/utils/References/string/functions/genIntHash.mdx +0 -21
- package/src/core/utils/References/string/functions/getRandomHash.mdx +0 -21
- package/src/core/utils/References/string/functions/highlightHtml.mdx +0 -25
- package/src/core/utils/References/string/functions/htmlspecialchars.mdx +0 -21
- package/src/core/utils/References/string/functions/isUrl.mdx +0 -21
- package/src/core/utils/References/string/functions/nl2br.mdx +0 -21
- package/src/core/utils/References/string/functions/numberEnding.mdx +0 -28
- package/src/core/utils/References/string/functions/numberWithWord.mdx +0 -28
- package/src/core/utils/References/string/functions/rusToLatin.mdx +0 -21
- package/src/core/utils/References/string/functions/toCapitalize.mdx +0 -21
- package/src/core/utils/References/string/functions/toRoditPadej.mdx +0 -21
- package/src/core/utils/References/system/Docs.mdx +0 -13
- package/src/core/utils/References/system/functions/sleep.mdx +0 -21
- package/src/core/utils/References/system/functions/sleepWhile.mdx +0 -26
- package/src/core/utils/References/system/functions/waitWhile.mdx +0 -26
- package/src/core/utils/References/url/Docs.mdx +0 -17
- package/src/core/utils/References/url/functions/decode.mdx +0 -21
- package/src/core/utils/References/url/functions/encode.mdx +0 -21
- package/src/core/utils/References/url/functions/fromPuny.mdx +0 -23
- package/src/core/utils/References/url/functions/getHost.mdx +0 -21
- package/src/core/utils/References/url/functions/hostToLowerCase.mdx +0 -21
- package/src/core/utils/References/url/functions/normalize.mdx +0 -21
- package/src/core/utils/References/url/functions/toPuny.mdx +0 -23
- package/src/core/utils/check.ts +0 -88
- package/src/core/utils/clipboard.ts +0 -51
- package/src/core/utils/date.ts +0 -291
- package/src/core/utils/device.ts +0 -139
- package/src/core/utils/dom.ts +0 -182
- package/src/core/utils/image.ts +0 -46
- package/src/core/utils/keyboard.ts +0 -29
- package/src/core/utils/lodash.ts +0 -18
- package/src/core/utils/number.ts +0 -37
- package/src/core/utils/price.ts +0 -24
- package/src/core/utils/route.ts +0 -115
- package/src/core/utils/scroll.ts +0 -120
- package/src/core/utils/searchers.ts +0 -191
- package/src/core/utils/store/localStorage.ts +0 -56
- package/src/core/utils/store/plugin.ts +0 -50
- package/src/core/utils/store/store.ts +0 -77
- package/src/core/utils/store.ts +0 -7
- package/src/core/utils/string.ts +0 -317
- package/src/core/utils/system.ts +0 -72
- package/src/core/utils/url.ts +0 -138
- package/src/core/utils/utils.mdx +0 -6
- package/src/d.ts +0 -12
- package/src/icomoon.d.ts +0 -98
- package/src/resources/styles/core/components.css +0 -111
- package/src/resources/styles/core/core.ts +0 -11
- package/src/resources/styles/core/forms/clear.css +0 -20
- package/src/resources/styles/core/forms/controls.css +0 -20
- package/src/resources/styles/core/forms/focusable.css +0 -26
- package/src/resources/styles/core/forms/forms.css +0 -156
- package/src/resources/styles/core/icon.css +0 -58
- package/src/resources/styles/core/jquery.css +0 -1
- package/src/resources/styles/core/layout.css +0 -59
- package/src/resources/styles/core/modifiers/as.css +0 -9
- package/src/resources/styles/core/modifiers/ellipsis.css +0 -26
- package/src/resources/styles/core/modifiers/modifiers.css +0 -120
- package/src/resources/styles/core/modifiers/only.css +0 -19
- package/src/resources/styles/core/modifiers/scrollShadow.css +0 -50
- package/src/resources/styles/core/select.css +0 -15
- package/src/resources/styles/storybook.css +0 -11
- package/src/resources/styles/themes/dark/dark-layout.css +0 -47
- package/src/resources/styles/themes/dark/dark-positions.css +0 -66
- package/src/resources/styles/themes/dark/dark.css +0 -400
- package/src/resources/styles/themes/dark-positions.ts +0 -1
- package/src/resources/styles/themes/dark-th/dark-th-layout.css +0 -47
- package/src/resources/styles/themes/dark-th/dark-th-positions.css +0 -67
- package/src/resources/styles/themes/dark-th/dark-th.css +0 -400
- package/src/resources/styles/themes/dark-th-positions.ts +0 -1
- package/src/resources/styles/themes/dark-th.ts +0 -3
- package/src/resources/styles/themes/dark.ts +0 -3
- package/src/resources/styles/themes/light/light-layout.css +0 -47
- package/src/resources/styles/themes/light/light-positions.css +0 -66
- package/src/resources/styles/themes/light/light.css +0 -400
- package/src/resources/styles/themes/light-positions.ts +0 -1
- package/src/resources/styles/themes/light.ts +0 -3
- package/src/storybook/components/color.vue +0 -47
- package/src/storybook/components/cssVariables.vue +0 -195
- package/src/storybook/components/icomoon.ts +0 -40
- package/src/storybook/jquery.ts +0 -4
- package/src//320/221/321/213/321/201/321/202/321/200/321/213/320/271 /321/201/321/202/320/260/321/200/321/202.mdx" +0 -181
- package/src//320/230/320/275/321/204/320/276/321/200/320/274/320/260/321/206/320/270/321/217 /320/276 /321/201/320/261/320/276/321/200/320/272/320/265.mdx" +0 -12
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CHANGELOG.md.mdx" +0 -4
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS/FAQ.mdx" +0 -43
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/236/320/261/321/211/320/270/320/265 /320/274/320/276/320/264/320/270/321/204/320/270/320/272/320/260/321/202/320/276/321/200/321/213.mdx" +0 -155
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/237/320/265/321/200/320/265/320/274/320/265/320/275/320/275/321/213/320/265.mdx" +0 -35
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/237/321/200/320/265/320/264/320/277/321/200/320/276/321/206/320/265/321/201/321/201/320/276/321/200/321/213.mdx" +0 -15
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/240/320/265/320/272/320/276/320/274/320/265/320/275/320/264/320/260/321/206/320/270/320/270 /320/221/320/255/320/234.mdx" +0 -56
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/241/321/202/320/270/320/273/320/270.mdx" +0 -53
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/247/321/202/320/276 /321/202/320/260/320/272/320/276/320/265 css /320/274/320/276/320/264/321/203/320/273/321/214.mdx" +0 -55
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/PUBLISH.md.mdx" +0 -4
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/README.md.mdx" +0 -4
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/STORYBOOK.md.mdx" +0 -4
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/USE_IN_PROJECT.md.mdx" +0 -3
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/222/320/262/320/265/320/264/320/265/320/275/320/270/320/265 /320/262 NPM.md.mdx" +0 -4
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/224/320/276/320/277/320/276/320/273/320/275/320/270/321/202/320/265/320/273/321/214/320/275/320/260/321/217 /320/273/320/270/321/202/320/265/321/200/320/260/321/202/321/203/321/200/320/260.mdx" +0 -15
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/235/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/260 IDE.mdx" +0 -45
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/236/321/204/320/276/321/200/320/274/320/273/320/265/320/275/320/270/320/265 /320/272/320/276/320/264/320/260.mdx" +0 -31
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260.mdx" +0 -29
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213.mdx" +0 -41
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213//320/241/321/202/320/270/320/273/320/270 /320/272/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213.mdx" +0 -58
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI.mdx" +0 -11
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/243/321/202/320/270/320/273/320/270/321/202/321/213.mdx" +0 -5
- package/storybook-dev.sh +0 -14
- package/tsconfig.json +0 -91
- package/typedoc.json +0 -20
- package/vite.config.ts +0 -148
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BEI7XZmU.amd.js","sources":["../../src/api/api/mocker/index.ts"],"sourcesContent":["import { faker } from '@faker-js/faker';\n\nconst DEFAULT_LIMIT = 20;\n\nexport const genMockResponse = async (\n\toptions: Api.Mocker.Options<any, any>,\n\tfields?: readonly string[],\n\tparams?: Api.Mocker.Params,\n) => {\n\tif (options.delay) {\n\t\tif (options.showLog) {\n\t\t\tconsole.log('genMock pause', options.delay);\n\t\t}\n\n\t\tconst { sleep } = await import('@/core/utils/system');\n\n\t\tawait sleep(options.delay);\n\t}\n\n\tconst res = {\n\t\tresult: genMockResult(options, fields, params),\n\t\terrors: undefined,\n\t\tnextOffset: undefined as number | undefined,\n\t\ttotal: undefined as number | undefined,\n\t};\n\n\tdelete res.errors;\n\tdelete res.nextOffset;\n\tdelete res.total;\n\n\t// реализация `limit` и `offset`\n\tif (Array.isArray(res.result) && options.total && params && params.limit) {\n\t\tif (options.useFilter) {\n\t\t\tres.result = res.result.filter((resultItem) => options.useFilter?.(resultItem, params));\n\t\t}\n\n\t\tconst offset = params.offset ?? 0;\n\n\t\tif (res.result.length > params.limit + offset) {\n\t\t\tres.nextOffset = params.limit + offset;\n\t\t\tres.total = options.total;\n\t\t}\n\n\t\tres.result = res.result.slice(offset, offset + params.limit);\n\t}\n\n\tif (options.showLog) {\n\t\tconsole.log('genMock complete', res);\n\t}\n\n\treturn res;\n};\n\nexport const genMockResult = <Options extends Api.Mocker.Options<any, any>>(\n\toptions: Options,\n\tfields?: readonly string[],\n\tparams?: Api.Mocker.Params,\n): Api.Mocker.ToMockResult<Options['result']> => {\n\tlet seed: number | undefined = options.seed ?? 0;\n\tif (seed === -1) seed = Math.random();\n\n\tif (options.result instanceof Function) {\n\t\tfaker.seed(seed);\n\n\t\treturn genMockValue(options.result);\n\t}\n\n\tif (Array.isArray(options.result)) {\n\t\tconst genItem = options.result[0];\n\n\t\tconst result = [] as Api.Mocker.ToMockResult<Options['result']>;\n\n\t\t// для работы `useFilter()` применять `params.limit` можно только после применения фильтра\n\t\tconst total = options.total ?? params?.limit ?? DEFAULT_LIMIT;\n\n\t\tfor (let i = 0; i < total; i++) {\n\t\t\tresult.push(genMockItem(genItem, i, seed, fields));\n\t\t}\n\n\t\treturn result;\n\t}\n\n\treturn genMockItem(options.result, 0, seed, fields) as Api.Mocker.ToMockResult<Options['result']>;\n};\n\nexport const genMockItem = <T extends Api.Mocker.Item>(\n\tgenItem: T,\n\tn: number,\n\tseed: number,\n\tfields?: readonly string[],\n): Api.Mocker.ToMockItem<T> => {\n\tconst item = {} as Api.Mocker.ToMockItem<T>;\n\n\tfor (const key in genItem) {\n\t\tconst genValue = genItem[key];\n\n\t\tif (fields && !fields.includes(key)) continue;\n\n\t\t// seed для генерации одного объекта всегда одинаковый\n\t\tfaker.seed(seed + n);\n\n\t\titem[key] = genMockValue(genValue, n);\n\t}\n\n\treturn item;\n};\n\nexport const genMockValue = <T extends Api.Mocker.Value>(genValue: T, n: number = 0): Api.Mocker.ToMockValue<T> => {\n\treturn genValue(n);\n};\n"],"names":["genMockResponse","options","fields","params","sleep","res","offset","genMockResult","seed","faker","genMockValue","i","total","result","genMockItem","genItem","key","genValue","item"],"mappings":"yHAIOA,EAAA,MAAAC,EAAAC,EAAAC,IAAA,CAKN,GAAAF,EAAA,MAAA,CACCA,EAAA,sHAMA,MAAAG,EAAAH,EAAA,KAAA,2DAMY,MAAA,QASb,sDAAA,MAAA,QAAAI,EAAA,MAAA,GAAAJ,EAAA,OAAAE,GAAAA,EAAA,MAAA,CACCF,EAAA,mGAIA,MAAAK,EAAAH,EAAA,QAAA,EAEAE,EAAA,OAAA,OAAAF,EAAA,MAAAG,2BAECD,EAAA,MAAAJ,EAAA,OAGDI,EAAA,OAAAA,EAAA,OAAA,MAAAC,EAAAA,EAAAH,EAAA,KAAA,EAGD,OAAAF,EAAA,SACC,QAAA,IAAA,mBAAAI,CAAA,EAGDA,CACD,EAEOE,EAAA,CAAAN,EAAAC,EAAAC,IAAA,CAKN,IAAAK,EAAAP,EAAA,MAAA,EAGA,6BAAAA,EAAA,kBAAA,SACC,OAAAQ,EAAA,MAAA,KAAAD,CAAA,EAEAE,EAAAT,EAAA,MAAA,8FAWA,QAAAU,EAAA,EAAAA,EAAAC,EAAAD,IACCE,EAAA,KAAAC,EAAAC,EAAAJ,EAAAH,EAAAN,CAAA,CAAA,EAGD,OAAAW,EAGD,OAAAC,EAAAb,EAAA,OAAA,EAAAO,EAAAN,CAAA,CACD,EAEOY,EAAA,CAAAC,EAAA,EAAAP,EAAAN,IAAA,YAQN,UAAAc,KAAAD,EAAA,CACC,MAAAE,EAAAF,EAAAC,CAAA,sBAKAP,EAAA,MAAA,KAAAD,EAAA,CAAA,eAKD,OAAAU,CACD,EAEOR,EAAA,CAAAO,EAAA,EAAA,IACNA,EAAA,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { faker as i } from "@faker-js/faker";
|
|
2
|
+
const d = 20, k = async (e, c, l) => {
|
|
3
|
+
if (e.delay) {
|
|
4
|
+
e.showLog && console.log("genMock pause", e.delay);
|
|
5
|
+
const { sleep: r } = await import("../utils/system.js");
|
|
6
|
+
await r(e.delay);
|
|
7
|
+
}
|
|
8
|
+
const t = {
|
|
9
|
+
result: g(e, c, l),
|
|
10
|
+
errors: void 0,
|
|
11
|
+
nextOffset: void 0,
|
|
12
|
+
total: void 0
|
|
13
|
+
};
|
|
14
|
+
if (delete t.errors, delete t.nextOffset, delete t.total, Array.isArray(t.result) && e.total && l && l.limit) {
|
|
15
|
+
e.useFilter && (t.result = t.result.filter((u) => {
|
|
16
|
+
var s;
|
|
17
|
+
return (s = e.useFilter) == null ? void 0 : s.call(e, u, l);
|
|
18
|
+
}));
|
|
19
|
+
const r = l.offset ?? 0;
|
|
20
|
+
t.result.length > l.limit + r && (t.nextOffset = l.limit + r, t.total = e.total), t.result = t.result.slice(r, r + l.limit);
|
|
21
|
+
}
|
|
22
|
+
return e.showLog && console.log("genMock complete", t), t;
|
|
23
|
+
}, g = (e, c, l) => {
|
|
24
|
+
let t = e.seed ?? 0;
|
|
25
|
+
if (t === -1 && (t = Math.random()), e.result instanceof Function)
|
|
26
|
+
return i.seed(t), o(e.result);
|
|
27
|
+
if (Array.isArray(e.result)) {
|
|
28
|
+
const r = e.result[0], u = [], s = e.total ?? (l == null ? void 0 : l.limit) ?? d;
|
|
29
|
+
for (let f = 0; f < s; f++)
|
|
30
|
+
u.push(n(r, f, t, c));
|
|
31
|
+
return u;
|
|
32
|
+
}
|
|
33
|
+
return n(e.result, 0, t, c);
|
|
34
|
+
}, n = (e, c, l, t) => {
|
|
35
|
+
const r = {};
|
|
36
|
+
for (const u in e) {
|
|
37
|
+
const s = e[u];
|
|
38
|
+
t && !t.includes(u) || (i.seed(l + c), r[u] = o(s, c));
|
|
39
|
+
}
|
|
40
|
+
return r;
|
|
41
|
+
}, o = (e, c = 0) => e(c);
|
|
42
|
+
export {
|
|
43
|
+
n as genMockItem,
|
|
44
|
+
k as genMockResponse,
|
|
45
|
+
g as genMockResult,
|
|
46
|
+
o as genMockValue
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=index-igPkes8X.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-igPkes8X.es.js","sources":["../../src/api/api/mocker/index.ts"],"sourcesContent":["import { faker } from '@faker-js/faker';\n\nconst DEFAULT_LIMIT = 20;\n\nexport const genMockResponse = async (\n\toptions: Api.Mocker.Options<any, any>,\n\tfields?: readonly string[],\n\tparams?: Api.Mocker.Params,\n) => {\n\tif (options.delay) {\n\t\tif (options.showLog) {\n\t\t\tconsole.log('genMock pause', options.delay);\n\t\t}\n\n\t\tconst { sleep } = await import('@/core/utils/system');\n\n\t\tawait sleep(options.delay);\n\t}\n\n\tconst res = {\n\t\tresult: genMockResult(options, fields, params),\n\t\terrors: undefined,\n\t\tnextOffset: undefined as number | undefined,\n\t\ttotal: undefined as number | undefined,\n\t};\n\n\tdelete res.errors;\n\tdelete res.nextOffset;\n\tdelete res.total;\n\n\t// реализация `limit` и `offset`\n\tif (Array.isArray(res.result) && options.total && params && params.limit) {\n\t\tif (options.useFilter) {\n\t\t\tres.result = res.result.filter((resultItem) => options.useFilter?.(resultItem, params));\n\t\t}\n\n\t\tconst offset = params.offset ?? 0;\n\n\t\tif (res.result.length > params.limit + offset) {\n\t\t\tres.nextOffset = params.limit + offset;\n\t\t\tres.total = options.total;\n\t\t}\n\n\t\tres.result = res.result.slice(offset, offset + params.limit);\n\t}\n\n\tif (options.showLog) {\n\t\tconsole.log('genMock complete', res);\n\t}\n\n\treturn res;\n};\n\nexport const genMockResult = <Options extends Api.Mocker.Options<any, any>>(\n\toptions: Options,\n\tfields?: readonly string[],\n\tparams?: Api.Mocker.Params,\n): Api.Mocker.ToMockResult<Options['result']> => {\n\tlet seed: number | undefined = options.seed ?? 0;\n\tif (seed === -1) seed = Math.random();\n\n\tif (options.result instanceof Function) {\n\t\tfaker.seed(seed);\n\n\t\treturn genMockValue(options.result);\n\t}\n\n\tif (Array.isArray(options.result)) {\n\t\tconst genItem = options.result[0];\n\n\t\tconst result = [] as Api.Mocker.ToMockResult<Options['result']>;\n\n\t\t// для работы `useFilter()` применять `params.limit` можно только после применения фильтра\n\t\tconst total = options.total ?? params?.limit ?? DEFAULT_LIMIT;\n\n\t\tfor (let i = 0; i < total; i++) {\n\t\t\tresult.push(genMockItem(genItem, i, seed, fields));\n\t\t}\n\n\t\treturn result;\n\t}\n\n\treturn genMockItem(options.result, 0, seed, fields) as Api.Mocker.ToMockResult<Options['result']>;\n};\n\nexport const genMockItem = <T extends Api.Mocker.Item>(\n\tgenItem: T,\n\tn: number,\n\tseed: number,\n\tfields?: readonly string[],\n): Api.Mocker.ToMockItem<T> => {\n\tconst item = {} as Api.Mocker.ToMockItem<T>;\n\n\tfor (const key in genItem) {\n\t\tconst genValue = genItem[key];\n\n\t\tif (fields && !fields.includes(key)) continue;\n\n\t\t// seed для генерации одного объекта всегда одинаковый\n\t\tfaker.seed(seed + n);\n\n\t\titem[key] = genMockValue(genValue, n);\n\t}\n\n\treturn item;\n};\n\nexport const genMockValue = <T extends Api.Mocker.Value>(genValue: T, n: number = 0): Api.Mocker.ToMockValue<T> => {\n\treturn genValue(n);\n};\n"],"names":["DEFAULT_LIMIT","genMockResponse","options","fields","params","sleep","res","genMockResult","resultItem","_a","offset","seed","faker","genMockValue","genItem","result","total","i","genMockItem","n","item","key","genValue"],"mappings":";AAEA,MAAMA,IAAgB,IAETC,IAAkB,OAC9BC,GACAC,GACAC,MACI;AACJ,MAAIF,EAAQ,OAAO;AAClB,IAAIA,EAAQ,WACX,QAAQ,IAAI,iBAAiBA,EAAQ,KAAK;AAG3C,UAAM,EAAE,OAAAG,EAAA,IAAU,MAAM,OAAO,oBAAqB;AAEpD,UAAMA,EAAMH,EAAQ,KAAK;AAAA,EAC1B;AAEA,QAAMI,IAAM;AAAA,IACX,QAAQC,EAAcL,GAASC,GAAQC,CAAM;AAAA,IAC7C,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,OAAO;AAAA,EAAA;AAQR,MALA,OAAOE,EAAI,QACX,OAAOA,EAAI,YACX,OAAOA,EAAI,OAGP,MAAM,QAAQA,EAAI,MAAM,KAAKJ,EAAQ,SAASE,KAAUA,EAAO,OAAO;AACzE,IAAIF,EAAQ,cACXI,EAAI,SAASA,EAAI,OAAO,OAAO,CAACE;;AAAe,cAAAC,IAAAP,EAAQ,cAAR,gBAAAO,EAAA,KAAAP,GAAoBM,GAAYJ;AAAA,KAAO;AAGvF,UAAMM,IAASN,EAAO,UAAU;AAEhC,IAAIE,EAAI,OAAO,SAASF,EAAO,QAAQM,MACtCJ,EAAI,aAAaF,EAAO,QAAQM,GAChCJ,EAAI,QAAQJ,EAAQ,QAGrBI,EAAI,SAASA,EAAI,OAAO,MAAMI,GAAQA,IAASN,EAAO,KAAK;AAAA,EAC5D;AAEA,SAAIF,EAAQ,WACX,QAAQ,IAAI,oBAAoBI,CAAG,GAG7BA;AACR,GAEaC,IAAgB,CAC5BL,GACAC,GACAC,MACgD;AAChD,MAAIO,IAA2BT,EAAQ,QAAQ;AAG/C,MAFIS,MAAS,OAAIA,IAAO,KAAK,OAAA,IAEzBT,EAAQ,kBAAkB;AAC7B,WAAAU,EAAM,KAAKD,CAAI,GAERE,EAAaX,EAAQ,MAAM;AAGnC,MAAI,MAAM,QAAQA,EAAQ,MAAM,GAAG;AAClC,UAAMY,IAAUZ,EAAQ,OAAO,CAAC,GAE1Ba,IAAS,CAAA,GAGTC,IAAQd,EAAQ,UAASE,KAAA,gBAAAA,EAAQ,UAASJ;AAEhD,aAASiB,IAAI,GAAGA,IAAID,GAAOC;AAC1B,MAAAF,EAAO,KAAKG,EAAYJ,GAASG,GAAGN,GAAMR,CAAM,CAAC;AAGlD,WAAOY;AAAA,EACR;AAEA,SAAOG,EAAYhB,EAAQ,QAAQ,GAAGS,GAAMR,CAAM;AACnD,GAEae,IAAc,CAC1BJ,GACAK,GACAR,GACAR,MAC8B;AAC9B,QAAMiB,IAAO,CAAA;AAEb,aAAWC,KAAOP,GAAS;AAC1B,UAAMQ,IAAWR,EAAQO,CAAG;AAE5B,IAAIlB,KAAU,CAACA,EAAO,SAASkB,CAAG,MAGlCT,EAAM,KAAKD,IAAOQ,CAAC,GAEnBC,EAAKC,CAAG,IAAIR,EAAaS,GAAUH,CAAC;AAAA,EACrC;AAEA,SAAOC;AACR,GAEaP,IAAe,CAA6BS,GAAaH,IAAY,MAC1EG,EAASH,CAAC;"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
const l = async (a, t, r) => {
|
|
2
|
+
const n = document.createElement("form");
|
|
3
|
+
n.target = r, n.action = a, n.method = "post", f(n, t), document.body.appendChild(n), n.submit(), n.remove();
|
|
4
|
+
}, f = (a, t) => {
|
|
5
|
+
const r = c(t);
|
|
6
|
+
for (const [n, e] of r.entries()) {
|
|
7
|
+
if (e instanceof File)
|
|
8
|
+
throw new Error("Files can not be manual set in `HTMLFormElement`");
|
|
9
|
+
const o = document.createElement("input");
|
|
10
|
+
o.name = n, o.value = String(e), a.appendChild(o);
|
|
11
|
+
}
|
|
12
|
+
}, c = (a, t = new FormData(), r) => {
|
|
13
|
+
for (const [n, e] of Object.entries(a)) {
|
|
14
|
+
if (e == null) continue;
|
|
15
|
+
const o = r ? `${r}[${n}]` : n;
|
|
16
|
+
switch (!0) {
|
|
17
|
+
case e instanceof File:
|
|
18
|
+
t.append(o, e, e.name);
|
|
19
|
+
break;
|
|
20
|
+
case e instanceof FileList:
|
|
21
|
+
for (let i = 0; i < e.length; i++) {
|
|
22
|
+
const s = e.item(i);
|
|
23
|
+
s && t.append(o + "[]", s, s.name);
|
|
24
|
+
}
|
|
25
|
+
break;
|
|
26
|
+
case e instanceof Blob:
|
|
27
|
+
t.append(o, e);
|
|
28
|
+
break;
|
|
29
|
+
case Array.isArray(e):
|
|
30
|
+
e.forEach((i, s) => {
|
|
31
|
+
c({ [o + "[" + s + "]"]: i }, t);
|
|
32
|
+
});
|
|
33
|
+
break;
|
|
34
|
+
case e instanceof Date:
|
|
35
|
+
t.append(o, e.toISOString());
|
|
36
|
+
break;
|
|
37
|
+
case typeof e == "object":
|
|
38
|
+
c(e, t, o);
|
|
39
|
+
break;
|
|
40
|
+
default:
|
|
41
|
+
t.append(o, String(e));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return t;
|
|
45
|
+
}, p = (a) => {
|
|
46
|
+
const t = new URLSearchParams(), r = (n, e) => {
|
|
47
|
+
if (e != null) {
|
|
48
|
+
if (Array.isArray(e)) {
|
|
49
|
+
for (const [o, i] of Object.entries(e))
|
|
50
|
+
r(`${n}[${o}]`, i);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (typeof e == "object") {
|
|
54
|
+
for (const [o, i] of Object.entries(e))
|
|
55
|
+
r(`${n}[${o}]`, i);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
t.append(n, String(e));
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
for (const [n, e] of Object.entries(a))
|
|
62
|
+
r(n, e);
|
|
63
|
+
return t.toString();
|
|
64
|
+
};
|
|
65
|
+
export {
|
|
66
|
+
f as dataToForm,
|
|
67
|
+
c as formDataSerializer,
|
|
68
|
+
l as postInWindow,
|
|
69
|
+
p as querySerializer
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=lazy-40pjr8cZ.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-40pjr8cZ.es.js","sources":["../../src/api/api/utils/lazy.ts"],"sourcesContent":["/**\n * Общие утилиты, которые должны грузиться в отложенном режиме\n *\n * Все такие утилиты являются асинхронными\n */\n\n/**\n * Выполнить post запрос в окне браузера\n *\n * @see Api.ClientRequest.callInNewWindow\n * @see Api.ClientRequest.callInSelfWindow\n */\nexport const postInWindow = async (url: string, data: Record<string, any>, target: '_blank' | '_self'): Promise<void> => {\n\tconst form = document.createElement('form');\n\tform.target = target;\n\tform.action = url;\n\tform.method = 'post';\n\n\tdataToForm(form, data);\n\n\tdocument.body.appendChild(form);\n\tform.submit();\n\tform.remove();\n};\n\n/**\n * Вставляет данные в HTML форму\n */\nexport const dataToForm = (elForm: HTMLFormElement, data: Record<string, any>): void => {\n\tconst formData = formDataSerializer(data);\n\n\tfor (const [key, value] of formData.entries()) {\n\t\tif (value instanceof File) {\n\t\t\tthrow new Error('Files can not be manual set in `HTMLFormElement`');\n\t\t}\n\n\t\tconst input = document.createElement('input');\n\t\t// input.type = 'hidden';\n\t\tinput.name = key;\n\t\tinput.value = String(value);\n\t\telForm.appendChild(input);\n\t}\n};\n\n/**\n * Сериализация данных в объект FormData\n *\n * Для отправки файлов или генерации форм\n */\nexport const formDataSerializer = (data: Record<string, any>, formData: FormData = new FormData(), parentKey?: string): FormData => {\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tif (value === undefined || value === null) continue;\n\n\t\tconst fieldKey = parentKey ? `${parentKey}[${key}]` : key;\n\n\t\tswitch (true) {\n\t\t\tcase value instanceof File:\n\t\t\t\tformData.append(fieldKey, value, value.name);\n\n\t\t\t\tbreak;\n\t\t\tcase value instanceof FileList:\n\t\t\t\tfor (let i = 0; i < value.length; i++) {\n\t\t\t\t\tconst file = value.item(i);\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tformData.append(fieldKey + '[]', file, file.name);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase value instanceof Blob:\n\t\t\t\tformData.append(fieldKey, value);\n\n\t\t\t\tbreak;\n\t\t\tcase Array.isArray(value):\n\t\t\t\t// пустые массивы не передаются\n\t\t\t\tvalue.forEach((item, key) => {\n\t\t\t\t\tformDataSerializer({ [fieldKey + '[' + key + ']']: item }, formData);\n\t\t\t\t});\n\n\t\t\t\tbreak;\n\t\t\tcase value instanceof Date:\n\t\t\t\t// для совместимости с JSON.stringify();\n\t\t\t\tformData.append(fieldKey, value.toISOString());\n\n\t\t\t\tbreak;\n\t\t\tcase typeof value === 'object':\n\t\t\t\tformDataSerializer(value, formData, fieldKey);\n\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tformData.append(fieldKey, String(value));\n\t\t}\n\t}\n\n\treturn formData;\n};\n\n/**\n * Сериализация данных для вставки в виде параметров в url\n */\nexport const querySerializer = (data: Record<string, unknown>): string => {\n\tconst searchParams = new URLSearchParams();\n\n\tconst appendParam = (path: string, currentValue: unknown): void => {\n\t\tif (currentValue == null) return;\n\n\t\tif (Array.isArray(currentValue)) {\n\t\t\tfor (const [key, value] of Object.entries(currentValue)) {\n\t\t\t\tappendParam(`${path}[${key}]`, value);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (typeof currentValue === 'object') {\n\t\t\tfor (const [key, value] of Object.entries(currentValue as Record<string, unknown>)) {\n\t\t\t\tappendParam(`${path}[${key}]`, value);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tsearchParams.append(path, String(currentValue));\n\t};\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tappendParam(key, value);\n\t}\n\n\treturn searchParams.toString();\n};\n"],"names":["postInWindow","url","data","target","form","dataToForm","elForm","formData","formDataSerializer","key","value","input","parentKey","fieldKey","file","item","querySerializer","searchParams","appendParam","path","currentValue"],"mappings":"AAYO,MAAMA,IAAe,OAAOC,GAAaC,GAA2BC,MAA8C;AACxH,QAAMC,IAAO,SAAS,cAAc,MAAM;AAC1C,EAAAA,EAAK,SAASD,GACdC,EAAK,SAASH,GACdG,EAAK,SAAS,QAEdC,EAAWD,GAAMF,CAAI,GAErB,SAAS,KAAK,YAAYE,CAAI,GAC9BA,EAAK,OAAA,GACLA,EAAK,OAAA;AACN,GAKaC,IAAa,CAACC,GAAyBJ,MAAoC;AACvF,QAAMK,IAAWC,EAAmBN,CAAI;AAExC,aAAW,CAACO,GAAKC,CAAK,KAAKH,EAAS,WAAW;AAC9C,QAAIG,aAAiB;AACpB,YAAM,IAAI,MAAM,kDAAkD;AAGnE,UAAMC,IAAQ,SAAS,cAAc,OAAO;AAE5C,IAAAA,EAAM,OAAOF,GACbE,EAAM,QAAQ,OAAOD,CAAK,GAC1BJ,EAAO,YAAYK,CAAK;AAAA,EACzB;AACD,GAOaH,IAAqB,CAACN,GAA2BK,IAAqB,IAAI,SAAA,GAAYK,MAAiC;AACnI,aAAW,CAACH,GAAKC,CAAK,KAAK,OAAO,QAAQR,CAAI,GAAG;AAChD,QAA2BQ,KAAU,KAAM;AAE3C,UAAMG,IAAWD,IAAY,GAAGA,CAAS,IAAIH,CAAG,MAAMA;AAEtD,YAAQ,IAAA;AAAA,MACP,KAAKC,aAAiB;AACrB,QAAAH,EAAS,OAAOM,GAAUH,GAAOA,EAAM,IAAI;AAE3C;AAAA,MACD,KAAKA,aAAiB;AACrB,iBAAS,IAAI,GAAG,IAAIA,EAAM,QAAQ,KAAK;AACtC,gBAAMI,IAAOJ,EAAM,KAAK,CAAC;AACzB,UAAII,KACHP,EAAS,OAAOM,IAAW,MAAMC,GAAMA,EAAK,IAAI;AAAA,QAElD;AAEA;AAAA,MACD,KAAKJ,aAAiB;AACrB,QAAAH,EAAS,OAAOM,GAAUH,CAAK;AAE/B;AAAA,MACD,KAAK,MAAM,QAAQA,CAAK;AAEvB,QAAAA,EAAM,QAAQ,CAACK,GAAMN,MAAQ;AAC5B,UAAAD,EAAmB,EAAE,CAACK,IAAW,MAAMJ,IAAM,GAAG,GAAGM,EAAA,GAAQR,CAAQ;AAAA,QACpE,CAAC;AAED;AAAA,MACD,KAAKG,aAAiB;AAErB,QAAAH,EAAS,OAAOM,GAAUH,EAAM,YAAA,CAAa;AAE7C;AAAA,MACD,KAAK,OAAOA,KAAU;AACrB,QAAAF,EAAmBE,GAAOH,GAAUM,CAAQ;AAE5C;AAAA,MACD;AACC,QAAAN,EAAS,OAAOM,GAAU,OAAOH,CAAK,CAAC;AAAA,IAAA;AAAA,EAE1C;AAEA,SAAOH;AACR,GAKaS,IAAkB,CAACd,MAA0C;AACzE,QAAMe,IAAe,IAAI,gBAAA,GAEnBC,IAAc,CAACC,GAAcC,MAAgC;AAClE,QAAIA,KAAgB,MAEpB;AAAA,UAAI,MAAM,QAAQA,CAAY,GAAG;AAChC,mBAAW,CAACX,GAAKC,CAAK,KAAK,OAAO,QAAQU,CAAY;AACrD,UAAAF,EAAY,GAAGC,CAAI,IAAIV,CAAG,KAAKC,CAAK;AAErC;AAAA,MACD;AAEA,UAAI,OAAOU,KAAiB,UAAU;AACrC,mBAAW,CAACX,GAAKC,CAAK,KAAK,OAAO,QAAQU,CAAuC;AAChF,UAAAF,EAAY,GAAGC,CAAI,IAAIV,CAAG,KAAKC,CAAK;AAErC;AAAA,MACD;AAEA,MAAAO,EAAa,OAAOE,GAAM,OAAOC,CAAY,CAAC;AAAA;AAAA,EAC/C;AAEA,aAAW,CAACX,GAAKC,CAAK,KAAK,OAAO,QAAQR,CAAI;AAC7C,IAAAgB,EAAYT,GAAKC,CAAK;AAGvB,SAAOO,EAAa,SAAA;AACrB;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["require","exports"],(function(m,s){"use strict";if(typeof l>"u")var l=window.Vue;const u=async(a,t,i)=>{const n=document.createElement("form");n.target=i,n.action=a,n.method="post",d(n,t),document.body.appendChild(n),n.submit(),n.remove()},d=(a,t)=>{const i=f(t);for(const[n,e]of i.entries()){if(e instanceof File)throw new Error("Files can not be manual set in `HTMLFormElement`");const o=document.createElement("input");o.name=n,o.value=String(e),a.appendChild(o)}},f=(a,t=new FormData,i)=>{for(const[n,e]of Object.entries(a)){if(e==null)continue;const o=i?`${i}[${n}]`:n;switch(!0){case e instanceof File:t.append(o,e,e.name);break;case e instanceof FileList:for(let r=0;r<e.length;r++){const c=e.item(r);c&&t.append(o+"[]",c,c.name)}break;case e instanceof Blob:t.append(o,e);break;case Array.isArray(e):e.forEach((r,c)=>{f({[o+"["+c+"]"]:r},t)});break;case e instanceof Date:t.append(o,e.toISOString());break;case typeof e=="object":f(e,t,o);break;default:t.append(o,String(e))}}return t},p=a=>{const t=new URLSearchParams,i=(n,e)=>{if(e!=null){if(Array.isArray(e)){for(const[o,r]of Object.entries(e))i(`${n}[${o}]`,r);return}if(typeof e=="object"){for(const[o,r]of Object.entries(e))i(`${n}[${o}]`,r);return}t.append(n,String(e))}};for(const[n,e]of Object.entries(a))i(n,e);return t.toString()};s.dataToForm=d,s.formDataSerializer=f,s.postInWindow=u,s.querySerializer=p,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
|
|
2
|
+
//# sourceMappingURL=lazy-DSFLxvj4.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-DSFLxvj4.amd.js","sources":["../../src/api/api/utils/lazy.ts"],"sourcesContent":["/**\n * Общие утилиты, которые должны грузиться в отложенном режиме\n *\n * Все такие утилиты являются асинхронными\n */\n\n/**\n * Выполнить post запрос в окне браузера\n *\n * @see Api.ClientRequest.callInNewWindow\n * @see Api.ClientRequest.callInSelfWindow\n */\nexport const postInWindow = async (url: string, data: Record<string, any>, target: '_blank' | '_self'): Promise<void> => {\n\tconst form = document.createElement('form');\n\tform.target = target;\n\tform.action = url;\n\tform.method = 'post';\n\n\tdataToForm(form, data);\n\n\tdocument.body.appendChild(form);\n\tform.submit();\n\tform.remove();\n};\n\n/**\n * Вставляет данные в HTML форму\n */\nexport const dataToForm = (elForm: HTMLFormElement, data: Record<string, any>): void => {\n\tconst formData = formDataSerializer(data);\n\n\tfor (const [key, value] of formData.entries()) {\n\t\tif (value instanceof File) {\n\t\t\tthrow new Error('Files can not be manual set in `HTMLFormElement`');\n\t\t}\n\n\t\tconst input = document.createElement('input');\n\t\t// input.type = 'hidden';\n\t\tinput.name = key;\n\t\tinput.value = String(value);\n\t\telForm.appendChild(input);\n\t}\n};\n\n/**\n * Сериализация данных в объект FormData\n *\n * Для отправки файлов или генерации форм\n */\nexport const formDataSerializer = (data: Record<string, any>, formData: FormData = new FormData(), parentKey?: string): FormData => {\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tif (value === undefined || value === null) continue;\n\n\t\tconst fieldKey = parentKey ? `${parentKey}[${key}]` : key;\n\n\t\tswitch (true) {\n\t\t\tcase value instanceof File:\n\t\t\t\tformData.append(fieldKey, value, value.name);\n\n\t\t\t\tbreak;\n\t\t\tcase value instanceof FileList:\n\t\t\t\tfor (let i = 0; i < value.length; i++) {\n\t\t\t\t\tconst file = value.item(i);\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tformData.append(fieldKey + '[]', file, file.name);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase value instanceof Blob:\n\t\t\t\tformData.append(fieldKey, value);\n\n\t\t\t\tbreak;\n\t\t\tcase Array.isArray(value):\n\t\t\t\t// пустые массивы не передаются\n\t\t\t\tvalue.forEach((item, key) => {\n\t\t\t\t\tformDataSerializer({ [fieldKey + '[' + key + ']']: item }, formData);\n\t\t\t\t});\n\n\t\t\t\tbreak;\n\t\t\tcase value instanceof Date:\n\t\t\t\t// для совместимости с JSON.stringify();\n\t\t\t\tformData.append(fieldKey, value.toISOString());\n\n\t\t\t\tbreak;\n\t\t\tcase typeof value === 'object':\n\t\t\t\tformDataSerializer(value, formData, fieldKey);\n\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tformData.append(fieldKey, String(value));\n\t\t}\n\t}\n\n\treturn formData;\n};\n\n/**\n * Сериализация данных для вставки в виде параметров в url\n */\nexport const querySerializer = (data: Record<string, unknown>): string => {\n\tconst searchParams = new URLSearchParams();\n\n\tconst appendParam = (path: string, currentValue: unknown): void => {\n\t\tif (currentValue == null) return;\n\n\t\tif (Array.isArray(currentValue)) {\n\t\t\tfor (const [key, value] of Object.entries(currentValue)) {\n\t\t\t\tappendParam(`${path}[${key}]`, value);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (typeof currentValue === 'object') {\n\t\t\tfor (const [key, value] of Object.entries(currentValue as Record<string, unknown>)) {\n\t\t\t\tappendParam(`${path}[${key}]`, value);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tsearchParams.append(path, String(currentValue));\n\t};\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tappendParam(key, value);\n\t}\n\n\treturn searchParams.toString();\n};\n"],"names":["postInWindow","url","data","target","form","dataToForm","elForm","formData","formDataSerializer","key","value","input","parentKey","fieldKey","i","file","key2","item","querySerializer","searchParams","appendParam","path","currentValue"],"mappings":"0FAYO,MAAAA,EAAA,MAAAC,EAAAC,EAAAC,IAAA,wCAENC,EAAA,OAAAD,EACAC,EAAA,OAAAH,EACAG,EAAA,OAAA,OAEAC,EAAAD,EAAAF,CAAA,EAEA,SAAA,KAAA,YAAAE,CAAA,uBAGD,EAKOC,EAAA,CAAAC,EAAAJ,IAAA,CACN,MAAAK,EAAAC,EAAAN,CAAA,EAEA,SAAA,CAAAO,EAAAC,CAAA,IAAAH,EAAA,QAAA,EAAA,CACC,GAAAG,aAAA,KACC,MAAA,IAAA,MAAA,kDAAA,0CAKDC,EAAA,KAAAF,EACAE,EAAA,MAAA,OAAAD,CAAA,EACAJ,EAAA,YAAAK,CAAA,EAEF,EAOOH,EAAA,CAAAN,EAAAK,EAAA,IAAA,SAAAK,IAAA,CACN,SAAA,CAAAH,EAAAC,CAAA,IAAA,OAAA,QAAAR,CAAA,EAAA,qBAGC,MAAAW,EAAAD,EAAA,GAAAA,CAAA,IAAAH,CAAA,IAAAA,EAEA,OAAA,GAAA,8EAME,QAAAK,EAAA,EAAAA,EAAAJ,EAAA,OAAAI,IAAA,sBAGEP,EAAA,OAAAM,EAAA,KAAAE,EAAAA,EAAA,IAAA,+BAMFR,EAAA,OAAAM,EAAAH,CAAA,QAEA,KAAA,MAAA,QAAAA,CAAA,oBAICF,EAAA,CAAA,CAAAK,EAAA,IAAAG,EAAA,GAAA,EAAAC,CAAA,EAAAV,CAAA,CAAmE,CAAA,iEAQpE,KAAA,OAAAG,GAAA,SAEAF,EAAAE,EAAAH,EAAAM,CAAA,qCAIuC,EAI1C,OAAAN,CACD,EAKOW,EAAAhB,GAAA,CACN,MAAAiB,EAAA,IAAA,gBAEAC,EAAA,CAAAC,EAAAC,IAAA,CACC,GAAAA,GAAA,KAEA,IAAA,MAAA,QAAAA,CAAA,EAAA,CACC,SAAA,CAAAb,EAAAC,CAAA,IAAA,OAAA,QAAAY,CAAA,EACCF,EAAA,GAAAC,CAAA,IAAAZ,CAAA,IAAAC,CAAA,SAKF,GAAA,OAAAY,GAAA,SAAA,CACC,SAAA,CAAAb,EAAAC,CAAA,IAAA,OAAA,QAAAY,CAAA,EACCF,EAAA,GAAAC,CAAA,IAAAZ,CAAA,IAAAC,CAAA,+BAK4C,EAG/C,SAAA,CAAAD,EAAAC,CAAA,IAAA,OAAA,QAAAR,CAAA,EACCkB,EAAAX,EAAAC,CAAA,EAGD,OAAAS,EAAA,SAAA,CACD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["require","exports","vue","./forms-D4uFd45i.amd","../popup/worker.amd","../require/css.amd!../assets/listItem.css"],(function(L,B,e,C,k){"use strict";if(typeof e>"u")var e=window.Vue;const v=e.defineComponent({__name:"opener",props:{id:{},pos:{default:"3"},notch:{type:Boolean,default:!0},openByHover:{type:Boolean},posBy:{default:"fixed"},data:{}},setup(i){const t=i,p=t.id||Math.random()+"";let s;function m(n){setTimeout(()=>{s=n.nextElementSibling,s&&l(s)})}e.onUpdated(()=>{s&&l(s)});function l(n){n.dataset.topPopup="#"+p,n.dataset.topPopupId=p,n.dataset.topPopupPos=t.pos,n.dataset.topPopupPosBy=t.posBy,n.dataset.topPopupNotch=t.notch?"true":"",n.dataset.topPopupOpenByHover=t.openByHover?"true":"",n.__TopPopupOpenerProps=t}return(n,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("template",{ref:m}),e.renderSlot(n.$slots,"default")],64))}}),h={key:0,class:"top-popup_header"},P={key:0,class:"top-as-a closer"},_={key:1,class:"top-popup_widget"},$={key:2,class:"top-popup_content"},S={key:4,class:"top-popup_footer"},N=["href"],b=e.defineComponent({__name:"popup",props:{id:{default:""},class:{},transitionDuration:{},footerSupportLink:{},pos:{default:"3"},notch:{type:Boolean,default:!0},openByHover:{type:Boolean},posBy:{default:"fixed"},data:{}},emits:["open","close","scrollContentList"],setup(i,{expose:t,emit:p}){const s=i,m=p,l=s.id||"top-popup-id-"+Math.random(),n={id:l,popup:void 0};t(n);const c=e.ref(null),f=e.ref(null),r=e.ref(),u={onOpen:async o=>{o.elPopup&&(c.value=o.elPopup),o.elPopupInner&&(o.elPopupInner.innerText="",f.value=o.elPopupInner),u.opened=!0,u.popup=o,n.popup=o,r.value=o.el.__TopPopupOpenerProps.data,m("open",{elPopup:o.elPopup,elPopupOpener:o.el,data:r.value})},onClose:o=>{f.value=null,u.opened=!1,u.popup=void 0,r.value=void 0,m("close",{elPopup:o.elPopup,elPopupOpener:o.el,data:o.el.__TopPopupOpenerProps.data})},classRef:e.toRef(s,"class"),opened:!1,popup:void 0,transitionDurationRef:e.toRef(s,"transitionDuration")};return e.watch(()=>s.class,(o,a)=>{if(!c.value)return;const d=(o==null?void 0:o.split(" "))??[],g=((a==null?void 0:a.split(" "))??[]).filter(I=>!d.includes(I));c.value.classList.remove(...g),c.value.classList.add(...d)}),k.TopPopupWorker.regVueComponent(l,u),e.onUnmounted(()=>{k.TopPopupWorker.unregVueComponent(l)}),(o,a)=>{const d=e.resolveDirective("top-scroll-shadow");return e.openBlock(),e.createElementBlock(e.Fragment,null,[o.$slots.opener?(e.openBlock(),e.createBlock(v,{key:0,id:e.unref(l),pos:o.pos,posBy:o.posBy,notch:o.notch,openByHover:o.$core.state.isMobile||o.$core.state.isMobileUA?!1:o.openByHover},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"opener")]),_:3},8,["id","pos","posBy","notch","openByHover"])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createBlock(e.Teleport,{key:1,to:f.value},[o.$slots.header||o.$core.state.isMobile?(e.openBlock(),e.createElementBlock("div",h,[o.$core.state.isMobile?(e.openBlock(),e.createElementBlock("span",P,e.toDisplayString(o.$i18n.Common.Close),1)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"header",{data:r.value})])):e.createCommentVNode("",!0),o.$slots.widget?(e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(o.$slots,"widget")])):e.createCommentVNode("",!0),o.$slots.content?e.withDirectives((e.openBlock(),e.createElementBlock("div",$,[e.renderSlot(o.$slots,"content",{data:r.value})])),[[d]]):e.createCommentVNode("",!0),o.$slots.contentList?e.withDirectives((e.openBlock(),e.createElementBlock("ul",{key:3,class:"top-popup_content",onScroll:a[0]||(a[0]=y=>o.$emit("scrollContentList",y))},[e.renderSlot(o.$slots,"contentList",{data:r.value})],32)),[[d]]):e.createCommentVNode("",!0),o.$slots.footer||o.footerSupportLink?(e.openBlock(),e.createElementBlock("div",S,[o.footerSupportLink?(e.openBlock(),e.createElementBlock("a",{key:0,class:"top-popup_footerSupportLink",href:o.footerSupportLink,target:"_blank"},[e.createVNode(C._sfc_main$2,{hint:""})],8,N)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"footer",{data:r.value})])):e.createCommentVNode("",!0)],8,["to"])):e.createCommentVNode("",!0)],64)}}}),E=e.defineComponent({inheritAttrs:!1,__name:"listItem",props:{type:{default:"button"},closeByClick:{type:Boolean,default:!0}},setup(i){const t=i;return(p,s)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass({"top-popup_liNoSelectable":t.type!=="button"})},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.$attrs.href?"a":"div"),e.mergeProps({class:{"top-popup_listItem":!0,"top-popup_listItem-button":t.type==="button",a:t.type==="button","top-popup_listItem-title":t.type==="title","top-popup_listItem-delimiter":t.type==="delimiter","top-popup-noCloser":!p.closeByClick}},p.$attrs),{default:e.withCtx(()=>[e.renderSlot(p.$slots,"default")]),_:3},16,["class"]))],2))}});B._sfc_main=b,B._sfc_main$1=v,B._sfc_main$2=E}));
|
|
2
|
+
//# sourceMappingURL=listItem.vue_vue_type_script_setup_true_lang-B2Q4gqK6.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listItem.vue_vue_type_script_setup_true_lang-B2Q4gqK6.amd.js","sources":["../../src/components/popup/popup/opener.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/listItem.vue"],"sourcesContent":["<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\n\nconst props = withDefaults(defineProps<OpenerProps<T>>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внутрь элемента слота\n *\n * @param el - вспомогательный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n\telOpener.__TopPopupOpenerProps = props;\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\tpointer-events: none;\n\tcursor: auto !important;\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits<T>>();\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst expose = {\n\tid,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n};\n\ndefineExpose(expose);\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\nconst data = ref<T>();\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup<T>) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\tdata.value = popup.el.__TopPopupOpenerProps.data;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: data.value });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup<T>) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\tdata.value = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: popup.el.__TopPopupOpenerProps.data });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id=\"id\"\n\t\t:pos=\"pos\"\n\t\t:posBy=\"posBy\"\n\t\t:notch=\"notch\"\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\" :data=\"data\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\" :data=\"data\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { ListItemProps } from './types';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<ListItemProps>(), {\n\ttype: 'button',\n\tcloseByClick: true,\n});\n</script>\n\n<template>\n\t<li\n\t\t:class=\"{\n\t\t'top-popup_liNoSelectable': props.type !== 'button'\n\t}\"\n\t>\n\t\t<component\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\n\t\t\t:class=\"{\n\t\t\t\t'top-popup_listItem': true,\n\t\t\t\t'top-popup_listItem-button': props.type === 'button', // оформления кнопки\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\n\t\t\t\t'top-popup_listItem-title': props.type === 'title',\n\t\t\t\t'top-popup_listItem-delimiter': props.type === 'delimiter',\n\t\t\t\t'top-popup-noCloser': !closeByClick\n\t\t\t}\"\n\t\t\t:=$attrs\n\t\t>\n\t\t\t<slot></slot>\n\t\t</component>\n\t</li>\n</template>\n"],"names":["id","props","elOpener","render","el","renderOpener","elOpener2","vue","_ctx","elPopupRef","elPopupInnerRef","data","popup","vueConnector","expose","delClasses","oldClass","newClasses","popup_worker","pos","posBy","openByHover","_hoisted_2","footerSupportLink","closeByClick"],"mappings":"wXAUAA,EAAAC,EAAA,IAAA,KAAA,OAAA,EAAA,GAEA,IAAAC,EAOA,SAAAC,EAAAC,EAAA,iBAEEF,EAAAE,EAAA,0BAIA,CAAA,0BAOD,CAAA,EAGD,SAAAC,EAAAC,EAAA,0BAQCA,EAAA,QAAA,WAAAN,8DAGAM,EAAA,QAAA,cAAAL,EAAA,MAAA,OAAA,GACAK,EAAA,QAAA,oBAAAL,EAAA,YAAA,OAAA,GACAK,EAAA,sBAAAL,6GAKsBM,EAAA,WAAAC,EAAA,OAAA,SAAA,sfCpCvBR,EAAAC,EAAA,IAAA,gBAAA,KAAA,OAAA,KAEe,GAAAD,EACd,MAAA,aAMD,MAAAS,EAAAF,EAAA,IAAA,IAAA,EACAG,EAAAH,EAAA,IAAA,IAAA,EAEAI,EAAAJ,EAAA,IAAA,KAkCqB,OA/BrB,MAAAK,GAAA,gCAGCA,EAAA,eACCA,EAAA,aAAA,UAAA,GAEAF,EAAA,MAAAE,EAAA,cAGDC,EAAA,OAAA,GACAA,EAAA,MAAAD,EAEAE,EAAA,MAAAF,uGAImF,EAgBnF,QAZDA,GAAA,CACCF,EAAA,MAAA,KAEAG,EAAA,OAAA,GACAA,EAAA,MAAA,OAEAF,EAAA,MAAA,6FAE6G,EAK7G,SAAAJ,EAAA,MAAAN,EAAA,OAAA,yBAGO,sBAAAM,EAAA,MAAAN,EAAA,oBAAA,sCAKP,GAAA,CAAAQ,EAAA,MAAA,iDAKAM,sCAAA,OAAAC,GAAA,CAAAC,EAAA,SAAAD,CAAA,CAAA,4DAG4C,CAAA,EAG7CE,EAAA,eAAA,gBAAAlB,EAAAa,CAAA,qBAGCK,EAAA,eAAA,kBAAAlB,CAAA,CAA2B,CAAA,yLAOrB,IAAAQ,EAAA,IACCW,MAAAA,EAAAA,MACEC,MAAAA,EAAAA,mFAEiEC,EAAAA,wBAG9Cd,EAAA,WAAAC,EAAA,OAAA,QAAA,CAAA,CAAA,mJAOtB,EAAA,sFAeCA,EAAA,MAAA,MAAA,UAAAD,EAAA,UAAA,EAAAA,EAAA,mBAAA,OAAAe,EAAAf,EAAA,gBAAAC,EAAA,MAAA,OAAA,KAAA,EAAA,CAAA,GAAAD,EAAA,mBAAA,GAAA,EAAA,gDAD0B,CAAA,GAAAA,EAAA,mBAAA,GAAA,EAAA,+DAS1BA,EAAA,WAAAC,EAAA,OAAA,QAAA,CADsB,CAAA,GAAAD,EAAA,mBAAA,GAAA,EAAA,iFAUtBA,EAAA,WAAAC,EAAA,OAAA,UAAA,CAAA,KAAAG,EAAA,KAAA,CAAA,CAD2B,CAAA,GAAA,0MAMU,EAAA,uRAanC,KAAAH,EAAA,kBACCe,OAAAA,QACA,EAAA,yHAMuB,CAAA,GAAAhB,EAAA,mBAAA,GAAA,EAAA,mRCvJ1B,2BAAAN,EAAA,OAAA,2GAiBM,MAAA,uEAX0E,EAAAA,EAAA,OAAA,SAAuD,2BAAAA,EAAA,OAAA,QAA2F,+BAAAA,EAAA,OAAA,YAA4D,qBAAA,CAAAO,EAAA,YAA6CgB,cAQxU,QAAAjB,EAAA,QAAA,IAAA,CAEKA,EAAA,WAAAC,EAAA,OAAA,SAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { Core as T } from "../core/app.js";
|
|
2
|
+
import { defineComponent as C, onUpdated as H, createElementBlock as n, openBlock as s, Fragment as b, createElementVNode as M, renderSlot as l, ref as h, toRef as B, watch as N, onUnmounted as w, resolveDirective as R, createBlock as _, createCommentVNode as r, unref as O, withCtx as L, Teleport as E, withDirectives as k, toDisplayString as U, createVNode as A, normalizeClass as W, resolveDynamicComponent as z, mergeProps as F } from "vue";
|
|
3
|
+
import { f as j } from "./forms-CRHjU2Mj.es.js";
|
|
4
|
+
import { TopPopupWorker as S } from "../popup/worker.js";
|
|
5
|
+
const D = ["../assets/listItem.css"].map((i) => import.meta.resolve(i));
|
|
6
|
+
T.insertCSSLinkToPage(D, !0);
|
|
7
|
+
const q = /* @__PURE__ */ C({
|
|
8
|
+
__name: "opener",
|
|
9
|
+
props: {
|
|
10
|
+
id: {},
|
|
11
|
+
pos: { default: "3" },
|
|
12
|
+
notch: { type: Boolean, default: !0 },
|
|
13
|
+
openByHover: { type: Boolean },
|
|
14
|
+
posBy: { default: "fixed" },
|
|
15
|
+
data: {}
|
|
16
|
+
},
|
|
17
|
+
setup(i) {
|
|
18
|
+
const o = i, a = o.id || Math.random() + "";
|
|
19
|
+
let p;
|
|
20
|
+
function y(t) {
|
|
21
|
+
setTimeout(() => {
|
|
22
|
+
p = t.nextElementSibling, p && u(p);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
H(() => {
|
|
26
|
+
p && u(p);
|
|
27
|
+
});
|
|
28
|
+
function u(t) {
|
|
29
|
+
t.dataset.topPopup = "#" + a, t.dataset.topPopupId = a, t.dataset.topPopupPos = o.pos, t.dataset.topPopupPosBy = o.posBy, t.dataset.topPopupNotch = o.notch ? "true" : "", t.dataset.topPopupOpenByHover = o.openByHover ? "true" : "", t.__TopPopupOpenerProps = o;
|
|
30
|
+
}
|
|
31
|
+
return (t, f) => (s(), n(b, null, [
|
|
32
|
+
M("template", { ref: y }),
|
|
33
|
+
l(t.$slots, "default")
|
|
34
|
+
], 64));
|
|
35
|
+
}
|
|
36
|
+
}), G = {
|
|
37
|
+
key: 0,
|
|
38
|
+
class: "top-popup_header"
|
|
39
|
+
}, J = {
|
|
40
|
+
key: 0,
|
|
41
|
+
class: "top-as-a closer"
|
|
42
|
+
}, K = {
|
|
43
|
+
key: 1,
|
|
44
|
+
class: "top-popup_widget"
|
|
45
|
+
}, Q = {
|
|
46
|
+
key: 2,
|
|
47
|
+
class: "top-popup_content"
|
|
48
|
+
}, X = {
|
|
49
|
+
key: 4,
|
|
50
|
+
class: "top-popup_footer"
|
|
51
|
+
}, Y = ["href"], se = /* @__PURE__ */ C({
|
|
52
|
+
__name: "popup",
|
|
53
|
+
props: {
|
|
54
|
+
id: { default: "" },
|
|
55
|
+
class: {},
|
|
56
|
+
transitionDuration: {},
|
|
57
|
+
footerSupportLink: {},
|
|
58
|
+
pos: { default: "3" },
|
|
59
|
+
notch: { type: Boolean, default: !0 },
|
|
60
|
+
openByHover: { type: Boolean },
|
|
61
|
+
posBy: { default: "fixed" },
|
|
62
|
+
data: {}
|
|
63
|
+
},
|
|
64
|
+
emits: ["open", "close", "scrollContentList"],
|
|
65
|
+
setup(i, { expose: o, emit: a }) {
|
|
66
|
+
const p = i, y = a, u = p.id || "top-popup-id-" + Math.random(), t = {
|
|
67
|
+
id: u,
|
|
68
|
+
popup: void 0
|
|
69
|
+
};
|
|
70
|
+
o(t);
|
|
71
|
+
const f = h(null), P = h(null), d = h(), m = {
|
|
72
|
+
onOpen: async (e) => {
|
|
73
|
+
e.elPopup && (f.value = e.elPopup), e.elPopupInner && (e.elPopupInner.innerText = "", P.value = e.elPopupInner), m.opened = !0, m.popup = e, t.popup = e, d.value = e.el.__TopPopupOpenerProps.data, y("open", { elPopup: e.elPopup, elPopupOpener: e.el, data: d.value });
|
|
74
|
+
},
|
|
75
|
+
onClose: (e) => {
|
|
76
|
+
P.value = null, m.opened = !1, m.popup = void 0, d.value = void 0, y("close", { elPopup: e.elPopup, elPopupOpener: e.el, data: e.el.__TopPopupOpenerProps.data });
|
|
77
|
+
},
|
|
78
|
+
classRef: B(p, "class"),
|
|
79
|
+
opened: !1,
|
|
80
|
+
popup: void 0,
|
|
81
|
+
transitionDurationRef: B(p, "transitionDuration")
|
|
82
|
+
};
|
|
83
|
+
return N(() => p.class, (e, c) => {
|
|
84
|
+
if (!f.value) return;
|
|
85
|
+
const v = (e == null ? void 0 : e.split(" ")) ?? [], g = ((c == null ? void 0 : c.split(" ")) ?? []).filter((I) => !v.includes(I));
|
|
86
|
+
f.value.classList.remove(...g), f.value.classList.add(...v);
|
|
87
|
+
}), S.regVueComponent(u, m), w(() => {
|
|
88
|
+
S.unregVueComponent(u);
|
|
89
|
+
}), (e, c) => {
|
|
90
|
+
const v = R("top-scroll-shadow");
|
|
91
|
+
return s(), n(b, null, [
|
|
92
|
+
e.$slots.opener ? (s(), _(q, {
|
|
93
|
+
key: 0,
|
|
94
|
+
id: O(u),
|
|
95
|
+
pos: e.pos,
|
|
96
|
+
posBy: e.posBy,
|
|
97
|
+
notch: e.notch,
|
|
98
|
+
openByHover: e.$core.state.isMobile || e.$core.state.isMobileUA ? !1 : e.openByHover
|
|
99
|
+
}, {
|
|
100
|
+
default: L(() => [
|
|
101
|
+
l(e.$slots, "opener")
|
|
102
|
+
]),
|
|
103
|
+
_: 3
|
|
104
|
+
}, 8, ["id", "pos", "posBy", "notch", "openByHover"])) : r("", !0),
|
|
105
|
+
P.value ? (s(), _(E, {
|
|
106
|
+
key: 1,
|
|
107
|
+
to: P.value
|
|
108
|
+
}, [
|
|
109
|
+
e.$slots.header || e.$core.state.isMobile ? (s(), n("div", G, [
|
|
110
|
+
e.$core.state.isMobile ? (s(), n("span", J, U(e.$i18n.Common.Close), 1)) : r("", !0),
|
|
111
|
+
l(e.$slots, "header", { data: d.value })
|
|
112
|
+
])) : r("", !0),
|
|
113
|
+
e.$slots.widget ? (s(), n("div", K, [
|
|
114
|
+
l(e.$slots, "widget")
|
|
115
|
+
])) : r("", !0),
|
|
116
|
+
e.$slots.content ? k((s(), n("div", Q, [
|
|
117
|
+
l(e.$slots, "content", { data: d.value })
|
|
118
|
+
])), [
|
|
119
|
+
[v]
|
|
120
|
+
]) : r("", !0),
|
|
121
|
+
e.$slots.contentList ? k((s(), n("ul", {
|
|
122
|
+
key: 3,
|
|
123
|
+
class: "top-popup_content",
|
|
124
|
+
onScroll: c[0] || (c[0] = ($) => e.$emit("scrollContentList", $))
|
|
125
|
+
}, [
|
|
126
|
+
l(e.$slots, "contentList", { data: d.value })
|
|
127
|
+
], 32)), [
|
|
128
|
+
[v]
|
|
129
|
+
]) : r("", !0),
|
|
130
|
+
e.$slots.footer || e.footerSupportLink ? (s(), n("div", X, [
|
|
131
|
+
e.footerSupportLink ? (s(), n("a", {
|
|
132
|
+
key: 0,
|
|
133
|
+
class: "top-popup_footerSupportLink",
|
|
134
|
+
href: e.footerSupportLink,
|
|
135
|
+
target: "_blank"
|
|
136
|
+
}, [
|
|
137
|
+
A(j, { hint: "" })
|
|
138
|
+
], 8, Y)) : r("", !0),
|
|
139
|
+
l(e.$slots, "footer", { data: d.value })
|
|
140
|
+
])) : r("", !0)
|
|
141
|
+
], 8, ["to"])) : r("", !0)
|
|
142
|
+
], 64);
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
}), pe = /* @__PURE__ */ C({
|
|
146
|
+
inheritAttrs: !1,
|
|
147
|
+
__name: "listItem",
|
|
148
|
+
props: {
|
|
149
|
+
type: { default: "button" },
|
|
150
|
+
closeByClick: { type: Boolean, default: !0 }
|
|
151
|
+
},
|
|
152
|
+
setup(i) {
|
|
153
|
+
const o = i;
|
|
154
|
+
return (a, p) => (s(), n("li", {
|
|
155
|
+
class: W({
|
|
156
|
+
"top-popup_liNoSelectable": o.type !== "button"
|
|
157
|
+
})
|
|
158
|
+
}, [
|
|
159
|
+
(s(), _(z(a.$attrs.href ? "a" : "div"), F({
|
|
160
|
+
class: {
|
|
161
|
+
"top-popup_listItem": !0,
|
|
162
|
+
"top-popup_listItem-button": o.type === "button",
|
|
163
|
+
// оформления кнопки
|
|
164
|
+
a: o.type === "button",
|
|
165
|
+
// оформления кнопки, deprecated
|
|
166
|
+
"top-popup_listItem-title": o.type === "title",
|
|
167
|
+
"top-popup_listItem-delimiter": o.type === "delimiter",
|
|
168
|
+
"top-popup-noCloser": !a.closeByClick
|
|
169
|
+
}
|
|
170
|
+
}, a.$attrs), {
|
|
171
|
+
default: L(() => [
|
|
172
|
+
l(a.$slots, "default")
|
|
173
|
+
]),
|
|
174
|
+
_: 3
|
|
175
|
+
}, 16, ["class"]))
|
|
176
|
+
], 2));
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
export {
|
|
180
|
+
se as _,
|
|
181
|
+
q as a,
|
|
182
|
+
pe as b
|
|
183
|
+
};
|
|
184
|
+
//# sourceMappingURL=listItem.vue_vue_type_script_setup_true_lang-DFWY29DS.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listItem.vue_vue_type_script_setup_true_lang-DFWY29DS.es.js","sources":["../../src/components/popup/popup/opener.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/listItem.vue"],"sourcesContent":["<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\n\nconst props = withDefaults(defineProps<OpenerProps<T>>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внутрь элемента слота\n *\n * @param el - вспомогательный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n\telOpener.__TopPopupOpenerProps = props;\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\tpointer-events: none;\n\tcursor: auto !important;\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits<T>>();\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst expose = {\n\tid,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n};\n\ndefineExpose(expose);\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\nconst data = ref<T>();\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup<T>) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\tdata.value = popup.el.__TopPopupOpenerProps.data;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: data.value });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup<T>) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\tdata.value = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: popup.el.__TopPopupOpenerProps.data });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id=\"id\"\n\t\t:pos=\"pos\"\n\t\t:posBy=\"posBy\"\n\t\t:notch=\"notch\"\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\" :data=\"data\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\" :data=\"data\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { ListItemProps } from './types';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<ListItemProps>(), {\n\ttype: 'button',\n\tcloseByClick: true,\n});\n</script>\n\n<template>\n\t<li\n\t\t:class=\"{\n\t\t'top-popup_liNoSelectable': props.type !== 'button'\n\t}\"\n\t>\n\t\t<component\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\n\t\t\t:class=\"{\n\t\t\t\t'top-popup_listItem': true,\n\t\t\t\t'top-popup_listItem-button': props.type === 'button', // оформления кнопки\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\n\t\t\t\t'top-popup_listItem-title': props.type === 'title',\n\t\t\t\t'top-popup_listItem-delimiter': props.type === 'delimiter',\n\t\t\t\t'top-popup-noCloser': !closeByClick\n\t\t\t}\"\n\t\t\t:=$attrs\n\t\t>\n\t\t\t<slot></slot>\n\t\t</component>\n\t</li>\n</template>\n"],"names":["props","__props","id","elOpener","render","el","renderOpener","onUpdated","elOpener2","renderSlot","_ctx","emit","__emit","expose","__expose","elPopupRef","ref","elPopupInnerRef","data","vueConnector","popup","toRef","watch","newValue","oldValue","newClasses","delClasses","oldClass","Worker","onUnmounted","pos","posBy","notch","openByHover","openBlock","createElementBlock","_hoisted_2","toDisplayString","createCommentVNode","_cache","$event","footerSupportLink","_hoisted_6","normalizeClass","closeByClick","withCtx"],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Core as E } from "../core/app.js";
|
|
2
|
+
import { defineComponent as w, mergeModels as N, useModel as T, ref as b, onMounted as P, onUpdated as K, createElementBlock as f, openBlock as c, normalizeClass as q, createCommentVNode as D, Fragment as Y, renderList as $, createBlock as x, mergeProps as h, createSlots as g, withCtx as A, createTextVNode as M, toDisplayString as k, createVNode as z } from "vue";
|
|
3
|
+
import { c as C, b as F, C as O } from "./forms-CRHjU2Mj.es.js";
|
|
4
|
+
const W = ["../assets/menu.css"].map((n) => import.meta.resolve(n));
|
|
5
|
+
E.insertCSSLinkToPage(W, !0);
|
|
6
|
+
const U = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "top-menu_selectAll"
|
|
9
|
+
}, J = /* @__PURE__ */ w({
|
|
10
|
+
__name: "menu",
|
|
11
|
+
props: /* @__PURE__ */ N({
|
|
12
|
+
modelValue: {},
|
|
13
|
+
items: {},
|
|
14
|
+
isMultiple: { type: Boolean },
|
|
15
|
+
canBeEmptyMultiple: { type: Boolean },
|
|
16
|
+
styling: { default: "default" },
|
|
17
|
+
selectAllItem: {}
|
|
18
|
+
}, {
|
|
19
|
+
modelValue: {
|
|
20
|
+
required: !0
|
|
21
|
+
},
|
|
22
|
+
modelModifiers: {}
|
|
23
|
+
}),
|
|
24
|
+
emits: ["update:modelValue"],
|
|
25
|
+
setup(n) {
|
|
26
|
+
var m, p;
|
|
27
|
+
const r = n, t = T(n, "modelValue"), a = b();
|
|
28
|
+
!r.isMultiple && typeof t.value != "string" && typeof t.value != "number" && console.warn('Type check failed for prop "modelValue". Expected String: ' + typeof t.value), r.isMultiple && !Array.isArray(t.value) && console.warn('Type check failed for prop "modelValue". Expected Array: ' + typeof t.value), r.isMultiple && !r.canBeEmptyMultiple && Array.isArray(t.value) && !t.value.length && r.items[0] && (t.value = [((m = r.items[0]) == null ? void 0 : m.href) ?? ((p = r.items[0]) == null ? void 0 : p.value)]);
|
|
29
|
+
const L = (e) => Array.isArray(t.value) ? t.value.includes(e.value) : e.value === t.value, V = (e, o = !1) => {
|
|
30
|
+
if (Array.isArray(t.value)) {
|
|
31
|
+
let l = t.value.slice();
|
|
32
|
+
if (o) {
|
|
33
|
+
l.length || (l = r.items.map((u) => u.value));
|
|
34
|
+
const s = l.indexOf(e.value);
|
|
35
|
+
s === -1 ? l.push(e.value) : l.splice(s, 1);
|
|
36
|
+
} else
|
|
37
|
+
l.length === 1 && l[0] === e.value ? l = [] : l = [e.value];
|
|
38
|
+
!r.canBeEmptyMultiple && !l.length && (l = [e.value]), t.value = l;
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
t.value = e.value;
|
|
42
|
+
}, B = (e) => {
|
|
43
|
+
if (a.value.scrollWidth <= a.value.offsetWidth || e.shiftKey || Math.abs(e.deltaY) < 50) return;
|
|
44
|
+
e.preventDefault();
|
|
45
|
+
const o = e.deltaY > 0 ? 30 : -30;
|
|
46
|
+
a.value.scrollLeft = a.value.scrollLeft + o;
|
|
47
|
+
}, v = (e = !0) => {
|
|
48
|
+
var d, y;
|
|
49
|
+
const o = a.value.querySelector(".top-active");
|
|
50
|
+
if (!o) return;
|
|
51
|
+
const l = 24, s = o.offsetLeft - a.value.offsetLeft - l, u = o.offsetLeft - a.value.offsetLeft + o.clientWidth + l, S = a.value.scrollLeft, I = a.value.clientWidth + a.value.scrollLeft;
|
|
52
|
+
let i;
|
|
53
|
+
s < S && (i = s), u > I && (i = u - a.value.clientWidth), i !== void 0 && (F() ? (y = (d = O).$) == null || y.call(d, a.value).animate({ scrollLeft: i }, e ? 200 : 0) : a.value.scrollTo({ left: i, behavior: e ? "smooth" : "auto" }));
|
|
54
|
+
}, _ = () => {
|
|
55
|
+
if (Array.isArray(t.value)) {
|
|
56
|
+
if (t.value.length === r.items.length) {
|
|
57
|
+
t.value = [r.items[0].href ?? r.items[0].value];
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
t.value = r.items.map((e) => e.href ?? e.value);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
return P(() => v(!1)), K(() => v(!0)), (e, o) => (c(), f("div", {
|
|
64
|
+
ref_key: "el",
|
|
65
|
+
ref: a,
|
|
66
|
+
class: q({
|
|
67
|
+
"top-menu": !0,
|
|
68
|
+
["top-style_" + e.styling]: !0
|
|
69
|
+
// ['top-unwrap-x']: styling === 'default',
|
|
70
|
+
}),
|
|
71
|
+
onWheel: B
|
|
72
|
+
}, [
|
|
73
|
+
(c(!0), f(Y, null, $(e.items, (l) => (c(), x(C, h({ ref_for: !0 }, l, {
|
|
74
|
+
class: "top-menu_item",
|
|
75
|
+
color: "theme",
|
|
76
|
+
onClick: (s) => V(l, s.ctrlKey || s.metaKey),
|
|
77
|
+
isActive: L(l)
|
|
78
|
+
}), g({ _: 2 }, [
|
|
79
|
+
l.content ? {
|
|
80
|
+
name: "default",
|
|
81
|
+
fn: A(() => [
|
|
82
|
+
M(k(l.content), 1)
|
|
83
|
+
]),
|
|
84
|
+
key: "0"
|
|
85
|
+
} : void 0
|
|
86
|
+
]), 1040, ["onClick", "isActive"]))), 256)),
|
|
87
|
+
Array.isArray(t.value) && e.selectAllItem ? (c(), f("div", U, [
|
|
88
|
+
z(C, h(e.selectAllItem, {
|
|
89
|
+
class: "top-menu_item",
|
|
90
|
+
color: "theme",
|
|
91
|
+
styling: "",
|
|
92
|
+
onClick: o[0] || (o[0] = (l) => _()),
|
|
93
|
+
isActive: t.value.length === e.items.length
|
|
94
|
+
}), g({ _: 2 }, [
|
|
95
|
+
e.selectAllItem.content ? {
|
|
96
|
+
name: "default",
|
|
97
|
+
fn: A(() => [
|
|
98
|
+
M(k(e.selectAllItem.content), 1)
|
|
99
|
+
]),
|
|
100
|
+
key: "0"
|
|
101
|
+
} : void 0
|
|
102
|
+
]), 1040, ["isActive"])
|
|
103
|
+
])) : D("", !0)
|
|
104
|
+
], 34));
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
export {
|
|
108
|
+
J as _
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=menu.vue_vue_type_style_index_0_lang-Bm9sY3Ux.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.vue_vue_type_style_index_0_lang-Bm9sY3Ux.es.js","sources":["../../src/components/formsExt/menu/menu.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, onUpdated, ref } from 'vue';\nimport type { Item, Props } from './types';\nimport Core from '@/core/core/core';\nimport { isSafari } from '@/core/utils/device';\nimport TopButton from '@/components/forms/button/button.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tstyling: 'default',\n});\n\nconst model = defineModel({\n\trequired: true,\n});\n\nconst el = ref();\n\n// валидация типа modelValue без возможности выбора нескольких значений (ожидается строка или число)\nif (!props.isMultiple && typeof (model.value) !== 'string' && typeof (model.value) !== 'number') {\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected String: ' + typeof (model.value));\n}\n\n// валидация типа modelValue с возможностью выбора нескольких значений (ожидается массив)\nif (props.isMultiple && !Array.isArray(model.value)) {\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected Array: ' + typeof (model.value));\n}\n\n/**\n * Для множественного выбора без пустого множества\n *\n * Если ничего не выбрано, присваиваем 1-ое значение\n */\nif (props.isMultiple && !props.canBeEmptyMultiple && Array.isArray(model.value) && !model.value.length && props.items[0]) {\n\tmodel.value = [props.items[0]?.href ?? props.items[0]?.value];\n}\n\nconst itemIsActive = (item: Item) => {\n\tif (!Array.isArray(model.value)) {\n\t\treturn item.value === model.value;\n\t}\n\n\treturn model.value.includes(item.value);\n};\n\n/**\n * Выбрать элемент\n * @param item\n * @param toggle - добавить или исключить элемент, для isMultiple\n */\nconst select = (item: Item, toggle = false) => {\n\tif (Array.isArray(model.value)) {\n\t\tlet modelNew = model.value.slice();\n\n\t\tif (toggle) {\n\t\t\tif (!modelNew.length) modelNew = props.items.map(item => item.value);\n\n\t\t\tconst index = modelNew.indexOf(item.value);\n\t\t\tif (index === -1) {\n\t\t\t\tmodelNew.push(item.value);\n\t\t\t} else {\n\t\t\t\tmodelNew.splice(index, 1);\n\t\t\t}\n\t\t} else {\n\t\t\tif (modelNew.length === 1 && modelNew[0] === item.value) {\n\t\t\t\tmodelNew = [];\n\t\t\t} else {\n\t\t\t\tmodelNew = [item.value];\n\t\t\t}\n\t\t}\n\n\t\tif (!props.canBeEmptyMultiple && !modelNew.length) modelNew = [item.value];\n\n\t\tmodel.value = modelNew;\n\n\t\treturn;\n\t}\n\n\tmodel.value = item.value;\n};\n\n// вертикальный скролл в горизонтальный скролл\nconst onWheel = (event: WheelEvent) => {\n\tif (el.value.scrollWidth <= el.value.offsetWidth) return;\n\tif (event.shiftKey) return;\n\tif (Math.abs(event.deltaY) < 50) return; // устройство с высокой точностью, например тачпад\n\n\tevent.preventDefault();\n\n\tconst delta = event.deltaY > 0 ? 30 : -30;\n\tel.value.scrollLeft = el.value.scrollLeft + delta;\n};\n\n/**\n * Замена стандартному scrollIntoView, который меняет скролл документа\n *\n * Выравнивание по ближнему краю элемента\n *\n * Выравнивается таким образом, чтобы был виден соседний элемент\n */\nconst scrollIntoView = (isSmooth = true) => {\n\tconst elBtn = el.value.querySelector('.top-active');\n\tif (!elBtn) return;\n\n\tconst gap = 24;\n\n\t// левая и правая координаты элемента\n\tconst leftMargin = elBtn.offsetLeft - el.value.offsetLeft - gap;\n\tconst rightMargin = elBtn.offsetLeft - el.value.offsetLeft + elBtn.clientWidth + gap;\n\n\t// левая и правая границы видимой части меню\n\tconst leftMarginParent = el.value.scrollLeft;\n\tconst rightMarginParent = el.value.clientWidth + el.value.scrollLeft;\n\n\tlet scrollLeft: number | undefined = undefined;\n\n\t// левую границу элемента к левой границе меню\n\tif (leftMargin < leftMarginParent) scrollLeft = leftMargin;\n\n\t// правую границу элемента к правой границе меню\n\tif (rightMargin > rightMarginParent) scrollLeft = rightMargin - el.value.clientWidth;\n\n\tif (scrollLeft !== undefined) {\n\t\tif (isSafari()) {\n\t\t\tCore.$?.(el.value).animate({ scrollLeft: scrollLeft }, isSmooth ? 200 : 0);\n\t\t} else {\n\t\t\tel.value.scrollTo({ left: scrollLeft, behavior: isSmooth ? 'smooth' : 'auto' });\n\t\t}\n\t}\n};\n\n/**\n * Выбрать все элементы в меню\n */\nconst selectAll = () => {\n\tif (!Array.isArray(model.value)) return;\n\n\tif (model.value.length === props.items.length) {\n\t\tmodel.value = [props.items[0].href ?? props.items[0].value];\n\t\treturn;\n\t}\n\n\tmodel.value = props.items.map(item => item.href ?? item.value);\n};\n\nonMounted(() => scrollIntoView(false));\nonUpdated(() => scrollIntoView(true));\n\n</script>\n\n<template>\n\t<div\n\t\tref=\"el\"\n\t\t:class=\"{\n\t\t\t'top-menu': true,\n\t\t\t['top-style_' + styling]: true,\n\t\t\t// ['top-unwrap-x']: styling === 'default',\n\t\t}\"\n\t\t@wheel=\"onWheel\"\n\t>\n\t\t<TopButton\n\t\t\tv-for=\"item in items\"\n\t\t\t:=\"item\"\n\t\t\tclass=\"top-menu_item\"\n\t\t\tcolor=\"theme\"\n\t\t\t@click=\"select(item, $event.ctrlKey || $event.metaKey)\"\n\t\t\t:isActive=\"itemIsActive(item)\"\n\t\t>\n\t\t\t<template #default v-if=\"item.content\">\n\t\t\t\t{{ item.content }}\n\t\t\t</template>\n\t\t</TopButton>\n\n\t\t<div\n\t\t\tv-if=\"Array.isArray(model) && selectAllItem\"\n\t\t\tclass=\"top-menu_selectAll\"\n\t\t>\n\t\t\t<TopButton\n\t\t\t\t:=\"selectAllItem\"\n\t\t\t\tclass=\"top-menu_item\"\n\t\t\t\tcolor=\"theme\"\n\t\t\t\tstyling=\"\"\n\t\t\t\t@click=\"selectAll()\"\n\t\t\t\t:isActive=\"model.length === items.length\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"selectAllItem.content\">\n\t\t\t\t\t{{ selectAllItem.content }}\n\t\t\t\t</template>\n\t\t\t</TopButton>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-menu {\n\t--scroll-thumb-color: var(--color-line-1);\n\t--scroll-thumb-color-hover: var(--color-line-2);\n\t--scroll-thumb-color-active: var(--color-line-3);\n\n\tmax-width: 100%;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: var(--top-gap-2);\n\toverflow-x: auto;\n\tscrollbar-width: none; /* firefox */\n\n\t/* предотвратить натинвые события браузера (назад / вперед) */\n\toverscroll-behavior-x: contain;\n}\n\n.top-menu::-webkit-scrollbar { display: none; }\n\n.top-menu .top-menu_item {\n\t--top-button-color: var(--color-text-2);\n\n\toutline-offset: -2px !important;\n\tmin-width: 0;\n\tmax-width: 200px;\n\tmargin: 0;\n\tflex-shrink: 0;\n}\n\n.top-menu .top-menu_item[data-top-icon] {\n\t--top-icon-color: var(--color-text-2);\n}\n\n.top-menu_selectAll {\n\tposition: sticky;\n\tright: 0;\n\tbackground: var(--color-layout-front-1);\n\tborder-left: 1px solid var(--color-line-1);\n\tpadding-left: var(--top-padding-1);\n\tbox-shadow: var(--color-layout-front-1) var(--top-padding-2) 0px;\n}\n\n/* style default */\n.top-menu.top-style_default .top-menu_item {\n\t--top-forms-radius: 0;\n\t--top-forms-border-color: transparent;\n\t--top-forms-border-width: 2px;\n\n\tfilter: none;\n\tbox-shadow: none;\n\tborder: none;\n\tborder-bottom: var(--top-forms-border-width) solid var(--top-forms-border-color);\n\tbackground: none;\n}\n\n.top-style_default > .top-menu_item > [data-top-badge] {\n\tmargin-top: 0;\n}\n\n.top-menu.top-style_default .top-menu_item:hover {\n\t--top-icon-color: var(--color-text-1);\n\t--top-button-color: var(--color-text-1);\n\t--top-forms-border-color: var(--color-line-2);\n}\n\n.top-menu.top-style_default .top-menu_item:active,\n.top-menu.top-style_default .top-menu_item.top-active {\n\t--top-icon-color: var(--color-text-primary);\n\t--top-button-color: var(--color-text-1);\n\t--top-forms-border-color: var(--color-line-primary-1);\n}\n\n.top-menu.top-style_default .top-menu_selectAll {\n\tpadding-left: var(--top-padding-2);\n}\n\n/* style bar */\n.top-menu.top-style_bar {\n\tborder-radius: var(--top-radius-3);\n\tborder: 1px solid var(--color-line-2);\n\tpadding: var(--top-padding-1);\n\tgap: 3px;\n}\n.top-menu.top-style_bar .top-menu_item {\n\t--top-button-background-color-hover: var(--color-layer-1);\n\t--top-button-background-color-active: var(--color-layer-2);\n\t--top-button-background-color-selected: var(--color-layer-primary-1);\n\n\tposition: relative;\n}\n\n.top-menu.top-style_bar .top-menu_item:hover {\n\t--top-icon-color: var(--color-text-1);\n\t--top-button-color: var(--color-text-1);\n}\n\n.top-menu.top-style_bar .top-menu_item.top-active {\n\t--top-icon-color: var(--color-text-primary);\n\t--top-button-color: var(--color-text-primary);\n}\n\n/* разделители кнопок в баре */\n.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after {\n\tcontent: \"\";\n\tbackground: var(--color-line-1-opacity);\n\twidth: 1px;\n\theight: 60%;\n\tdisplay: block;\n\tposition: absolute;\n\tleft: -2px;\n}\n.top-menu.top-style_bar .top-menu_item.top-active + .top-menu_item:after,\n.top-menu.top-style_bar .top-menu_item:hover + .top-menu_item:after {\n\tcontent: none !important;\n}\n\n/*\n.top-style_bar > .top-menu_item > [data-top-badge] {\n\tmargin-top: -3px;\n}\n*/\n\n/** TODO: .top-unwrap-x надо вынести глобально в UI или добавить в стили для storybook */\n/*\n.top-menu.top-unwrap-x {\n\tpadding-right: var(--top-unwrap-x);\n\tpadding-left: var(--top-unwrap-x);\n\tmargin-right: calc(0px - var(--top-unwrap-x));\n\tmargin-left: calc(0px - var(--top-unwrap-x));\n}\n*/\n</style>\n"],"names":["props","__props","model","useModel","el","ref","_a","_b","itemIsActive","item","select","toggle","modelNew","item2","index","onWheel","event","delta","scrollIntoView","isSmooth","elBtn","gap","leftMargin","rightMargin","leftMarginParent","rightMarginParent","scrollLeft","isSafari","Core","selectAll","onMounted","onUpdated","normalizeClass","$event","createSlots","withCtx","createTextVNode","toDisplayString","createVNode","_sfc_main$1","mergeProps","_ctx","_cache"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["require","exports","vue","./forms-D4uFd45i.amd","../require/css.amd!../assets/menu.css"],(function(C,h,e,u){"use strict";if(typeof e>"u")var e=window.Vue;const g={key:0,class:"top-menu_selectAll"},A=e.defineComponent({__name:"menu",props:e.mergeModels({modelValue:{},items:{},isMultiple:{type:Boolean},canBeEmptyMultiple:{type:Boolean},styling:{default:"default"},selectAllItem:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(f){var d,m;const o=f,a=e.useModel(f,"modelValue"),r=e.ref();!o.isMultiple&&typeof a.value!="string"&&typeof a.value!="number"&&console.warn('Type check failed for prop "modelValue". Expected String: '+typeof a.value),o.isMultiple&&!Array.isArray(a.value)&&console.warn('Type check failed for prop "modelValue". Expected Array: '+typeof a.value),o.isMultiple&&!o.canBeEmptyMultiple&&Array.isArray(a.value)&&!a.value.length&&o.items[0]&&(a.value=[((d=o.items[0])==null?void 0:d.href)??((m=o.items[0])==null?void 0:m.value)]);const k=l=>Array.isArray(a.value)?a.value.includes(l.value):l.value===a.value,M=(l,s=!1)=>{if(Array.isArray(a.value)){let t=a.value.slice();if(s){t.length||(t=o.items.map(c=>c.value));const n=t.indexOf(l.value);n===-1?t.push(l.value):t.splice(n,1)}else t.length===1&&t[0]===l.value?t=[]:t=[l.value];!o.canBeEmptyMultiple&&!t.length&&(t=[l.value]),a.value=t;return}a.value=l.value},B=l=>{if(r.value.scrollWidth<=r.value.offsetWidth||l.shiftKey||Math.abs(l.deltaY)<50)return;l.preventDefault();const s=l.deltaY>0?30:-30;r.value.scrollLeft=r.value.scrollLeft+s},v=(l=!0)=>{var p,y;const s=r.value.querySelector(".top-active");if(!s)return;const t=24,n=s.offsetLeft-r.value.offsetLeft-t,c=s.offsetLeft-r.value.offsetLeft+s.clientWidth+t,_=r.value.scrollLeft,L=r.value.clientWidth+r.value.scrollLeft;let i;n<_&&(i=n),c>L&&(i=c-r.value.clientWidth),i!==void 0&&(u.isSafari()?(y=(p=u.Core).$)==null||y.call(p,r.value).animate({scrollLeft:i},l?200:0):r.value.scrollTo({left:i,behavior:l?"smooth":"auto"}))},V=()=>{if(Array.isArray(a.value)){if(a.value.length===o.items.length){a.value=[o.items[0].href??o.items[0].value];return}a.value=o.items.map(l=>l.href??l.value)}};return e.onMounted(()=>v(!1)),e.onUpdated(()=>v(!0)),(l,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"el",ref:r,class:e.normalizeClass({"top-menu":!0,["top-style_"+l.styling]:!0}),onWheel:B},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,t=>(e.openBlock(),e.createBlock(u._sfc_main$1,e.mergeProps({ref_for:!0},t,{class:"top-menu_item",color:"theme",onClick:n=>M(t,n.ctrlKey||n.metaKey),isActive:k(t)}),e.createSlots({_:2},[t.content?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.content),1)]),key:"0"}:void 0]),1040,["onClick","isActive"]))),256)),Array.isArray(a.value)&&l.selectAllItem?(e.openBlock(),e.createElementBlock("div",g,[e.createVNode(u._sfc_main$1,e.mergeProps(l.selectAllItem,{class:"top-menu_item",color:"theme",styling:"",onClick:s[0]||(s[0]=t=>V()),isActive:a.value.length===l.items.length}),e.createSlots({_:2},[l.selectAllItem.content?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.selectAllItem.content),1)]),key:"0"}:void 0]),1040,["isActive"])])):e.createCommentVNode("",!0)],34))}});h._sfc_main=A}));
|
|
2
|
+
//# sourceMappingURL=menu.vue_vue_type_style_index_0_lang-bMtkdrEt.amd.js.map
|