@topvisor/ui 1.0.19 → 1.0.20-selector2-3
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/.idea/.gitignore +11 -0
- package/.idea/codeStyles/Project.xml +205 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/externalDependencies.xml +6 -0
- package/.idea/inspectionProfiles/Disabled.xml +824 -0
- package/.idea/inspectionProfiles/Project_Default.xml +33 -0
- package/.idea/php.xml +19 -0
- package/.idea/vcs.xml +6 -0
- package/.storybook/TopTheme.ts +115 -0
- package/.storybook/TopThemeManager.ts +53 -0
- package/.storybook/main.ts +51 -0
- package/.storybook/manager.ts +25 -0
- package/.storybook/preview-head.html +21 -0
- package/.storybook/preview.ts +47 -0
- package/.storybook/vue/coreDecorator.ts +76 -0
- package/.storybook/vue/vModelDecorator.ts +46 -0
- package/.versionrc.json +16 -0
- package/.vscode/extensions.json +11 -0
- package/.vscode/keybindings.example.json +121 -0
- package/.vscode/settings.json +45 -0
- package/CHANGELOG.md +175 -0
- package/NPM.md +25 -0
- package/PUBLISH.md +63 -0
- package/README.md +41 -82
- package/STORYBOOK.md +43 -0
- package/USE_IN_PROJECT.md +32 -0
- package/build/afterBuild.sh +11 -0
- package/build/cssModules.ts +39 -0
- package/build/genDocs.sh +19 -0
- package/build/plugin/amdFix.ts +83 -0
- package/build/plugin/autoloadCSS.ts +155 -0
- package/build/rollup.config.ts +37 -0
- package/package.json +87 -34
- package/public/README.md +82 -0
- package/public/icomoon/Read Me.txt +7 -0
- package/public/icomoon/Topvisor icons.json +6260 -0
- package/public/icomoon/demo-files/demo.css +158 -0
- package/public/icomoon/demo-files/demo.js +30 -0
- package/public/icomoon/demo.html +3558 -0
- package/public/icomoon/fonts/Topvisor-2.eot +0 -0
- package/public/icomoon/fonts/Topvisor-2.svg +277 -0
- package/public/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/public/icomoon/fonts/Topvisor-2.woff +0 -0
- package/public/icomoon/selection.json +1 -0
- package/public/icomoon/style.css +780 -0
- package/public/jquery-ui.min.css +6 -0
- package/public/require/css.amd.js +12 -0
- package/src/components/charts/charts.ts +8 -0
- package/src/components/charts/miniChart/miniChart.stories.ts +67 -0
- package/src/components/charts/miniChart/miniChart.ts +110 -0
- package/src/components/charts/miniChart/miniChart.vue +158 -0
- package/src/components/charts/miniChart/stories/README.md +9 -0
- package/src/components/charts/miniChart/stories/dummy.ts +25 -0
- package/src/components/charts/miniChart/styles/miniChart.css +87 -0
- package/src/components/charts/miniChart/utils/consts.ts +9 -0
- package/src/components/charts/miniCharts/miniCharts.stories.ts +76 -0
- package/src/components/charts/miniCharts/miniCharts.ts +24 -0
- package/src/components/charts/miniCharts/miniCharts.vue +128 -0
- package/src/components/charts/miniCharts/stories/README.md +18 -0
- package/src/components/charts/miniCharts/stories/dummy.ts +70 -0
- package/src/components/charts/miniCharts/stories/overview.vue +139 -0
- package/src/components/charts/miniCharts/styles/miniCharts.css +32 -0
- package/src/components/component.ts +130 -0
- package/src/components/core/core.mdx +7 -0
- package/src/components/core/notice/item/item.vue +145 -0
- package/src/components/core/notice/item/style.css +70 -0
- package/src/components/core/notice/item/types.ts +71 -0
- package/src/components/core/notice/notice.stories.ts +105 -0
- package/src/components/core/notice/notice.vue +69 -0
- package/src/components/core/notice/stories/README.md +34 -0
- package/src/components/core/notice/types.ts +1 -0
- package/src/components/core/notice/utils.ts +115 -0
- package/src/components/dialog/dialog/Dialog (code).mdx +61 -0
- package/src/components/dialog/dialog/composables/asyncDialogHandle.ts +99 -0
- package/src/components/dialog/dialog/composables/dialogHandle.ts +176 -0
- package/src/components/dialog/dialog/composables/types.ts +12 -0
- package/src/components/dialog/dialog/composables/utils.ts +39 -0
- package/src/components/dialog/dialog/dialog.stories.ts +83 -0
- package/src/components/dialog/dialog/dialog.vue +74 -0
- package/src/components/dialog/dialog/dialogs/dialogs.vue +58 -0
- package/src/components/dialog/dialog/page/page.vue +86 -0
- package/src/components/dialog/dialog/page/types.ts +84 -0
- package/src/components/dialog/dialog/page.stories.ts +27 -0
- package/src/components/dialog/dialog/pageComponent/pageComponent.vue +57 -0
- package/src/components/dialog/dialog/pageComponent/types.ts +21 -0
- package/src/components/dialog/dialog/pageComponent.stories.ts +27 -0
- package/src/components/dialog/dialog/stories/README.md +117 -0
- package/src/components/dialog/dialog/stories/autoload.ts +12 -0
- package/src/components/dialog/dialog/stories/dialog_example/dialog_example.vue +73 -0
- package/src/components/dialog/dialog/stories/dialog_example/pages/async.vue +57 -0
- package/src/components/dialog/dialog/stories/dialog_example/pages/default.vue +64 -0
- package/src/components/dialog/dialog/stories/dialog_example/pages/headerButtons.vue +56 -0
- package/src/components/dialog/dialog/stories/dialog_example/pages/utils.ts +26 -0
- package/src/components/dialog/dialog/stories/dialog_example/pages/withoutCache.vue +64 -0
- package/src/components/dialog/dialog/stories/page/README.md +24 -0
- package/src/components/dialog/dialog/stories/pageComponent/README.md +12 -0
- package/src/components/dialog/dialog/style/dialog.css +316 -0
- package/src/components/dialog/dialog/style/dialog.m.css +40 -0
- package/src/components/dialog/dialog/style/dialog.pc.css +73 -0
- package/src/components/dialog/dialog/style/modern/dialog.css +12 -0
- package/src/components/dialog/dialog/style/modern/dialog.pc.css +3 -0
- package/src/components/dialog/dialog/types.ts +69 -0
- package/src/components/dialog/dialog.ts +7 -0
- package/src/components/dialog/lib/types.ts +26 -0
- package/src/components/dialog/lib/utils.globalEvents.ts +175 -0
- package/src/components/dialog/lib/utils.ts +525 -0
- package/src/components/dialog/lib/worker.ts +273 -0
- package/src/components/forms/README.mdx +10 -0
- package/src/components/forms/avatar/avatar.stories.ts +38 -0
- package/src/components/forms/avatar/avatar.ts +40 -0
- package/src/components/forms/avatar/avatar.vue +77 -0
- package/src/components/forms/avatar/stories/overview.vue +28 -0
- package/src/components/forms/button/button.stories.ts +118 -0
- package/src/components/forms/button/button.vue +111 -0
- package/src/components/forms/button/stories/README.md +9 -0
- package/src/components/forms/button/stories/overview.vue +33 -0
- package/src/components/forms/button/style/button.css +139 -0
- package/src/components/forms/button/style/style-outline.css +129 -0
- package/src/components/forms/button/style/style-soft.css +89 -0
- package/src/components/forms/button/style/style-transparent.css +39 -0
- package/src/components/forms/button/types.ts +66 -0
- package/src/components/forms/checkbox/checkbox.stories.ts +33 -0
- package/src/components/forms/checkbox/checkbox.ts +21 -0
- package/src/components/forms/checkbox/checkbox.vue +114 -0
- package/src/components/forms/checkbox/stories/overview.vue +171 -0
- package/src/components/forms/controlLabel/controlLabel.stories.ts +32 -0
- package/src/components/forms/controlLabel/controlLabel.ts +4 -0
- package/src/components/forms/controlLabel/controlLabel.vue +54 -0
- package/src/components/forms/forms.ts +40 -0
- package/src/components/forms/helpers.ts +11 -0
- package/src/components/forms/hint/hint.stories.ts +41 -0
- package/src/components/forms/hint/hint.ts +8 -0
- package/src/components/forms/hint/hint.vue +32 -0
- package/src/components/forms/input/input.stories.ts +31 -0
- package/src/components/forms/input/input.ts +37 -0
- package/src/components/forms/input/input.vue +187 -0
- package/src/components/forms/input/stories/overview.vue +61 -0
- package/src/components/forms/inputDate/datepicker.css +246 -0
- package/src/components/forms/inputDate/datepicker.ts +101 -0
- package/src/components/forms/inputDate/inputDate.stories.ts +41 -0
- package/src/components/forms/inputDate/inputDate.ts +5 -0
- package/src/components/forms/inputDate/inputDate.vue +133 -0
- package/src/components/forms/inputDate/stories/overview.vue +35 -0
- package/src/components/forms/inputRange/inputRange.stories.ts +53 -0
- package/src/components/forms/inputRange/inputRange.ts +3 -0
- package/src/components/forms/inputRange/inputRange.vue +39 -0
- package/src/components/forms/inputRange/stories/overview.vue +129 -0
- package/src/components/forms/loadbar/loadbar.stories.ts +17 -0
- package/src/components/forms/loadbar/loadbar.vue +37 -0
- package/src/components/forms/radio/radio.stories.ts +34 -0
- package/src/components/forms/radio/radio.ts +15 -0
- package/src/components/forms/radio/radio.vue +97 -0
- package/src/components/forms/radio/stories/overview.vue +79 -0
- package/src/components/forms/select/select.stories.ts +68 -0
- package/src/components/forms/select/select.ts +60 -0
- package/src/components/forms/select/select.vue +298 -0
- package/src/components/forms/select/stories/exampleOptions.ts +61 -0
- package/src/components/forms/select/stories/overview.vue +72 -0
- package/src/components/forms/switcher/stories/overview.vue +139 -0
- package/src/components/forms/switcher/switcher.stories.ts +33 -0
- package/src/components/forms/switcher/switcher.ts +22 -0
- package/src/components/forms/switcher/switcher.vue +118 -0
- package/src/components/forms/textarea/stories/overview.vue +62 -0
- package/src/components/forms/textarea/textarea.stories.ts +33 -0
- package/src/components/forms/textarea/textarea.ts +38 -0
- package/src/components/forms/textarea/textarea.vue +121 -0
- package/src/components/formsExt/README.mdx +5 -0
- package/src/components/formsExt/editArea/editArea.stories.ts +41 -0
- package/src/components/formsExt/editArea/editArea.ts +41 -0
- package/src/components/formsExt/editArea/editArea.vue +195 -0
- package/src/components/formsExt/editArea/stories/README.md +21 -0
- package/src/components/formsExt/editArea/stories/overview.vue +67 -0
- package/src/components/formsExt/editInput/editInput.stories.ts +36 -0
- package/src/components/formsExt/editInput/editInput.ts +20 -0
- package/src/components/formsExt/editInput/editInput.vue +54 -0
- package/src/components/formsExt/editInput/stories/overview.vue +54 -0
- package/src/components/formsExt/formsExt.ts +15 -0
- package/src/components/formsExt/info/info.stories.ts +35 -0
- package/src/components/formsExt/info/info.vue +84 -0
- package/src/components/formsExt/info/stories/overview.vue +29 -0
- package/src/components/formsExt/info/types.ts +25 -0
- package/src/components/formsExt/menu/menu.stories.ts +59 -0
- package/src/components/formsExt/menu/menu.ts +45 -0
- package/src/components/formsExt/menu/menu.vue +321 -0
- package/src/components/formsExt/menu/stories/items.ts +18 -0
- package/src/components/formsExt/menu/stories/overview.vue +52 -0
- package/src/components/formsExt/radioGroup/radioGroup.stories.ts +51 -0
- package/src/components/formsExt/radioGroup/radioGroup.ts +28 -0
- package/src/components/formsExt/radioGroup/radioGroup.vue +146 -0
- package/src/components/formsExt/radioGroup/stories/overview.vue +78 -0
- package/src/components/formsExt/radioGroup/styles/top-scrollBar.css +52 -0
- package/src/components/formsExt/selector2/api.ts +148 -0
- package/src/components/formsExt/selector2/itemMulti.vue +57 -0
- package/src/components/formsExt/selector2/selector2.stories.ts +48 -0
- package/src/components/formsExt/selector2/selector2.ts +145 -0
- package/src/components/formsExt/selector2/selector2.vue +389 -0
- package/src/components/formsExt/selector2/stories/dummyAPIRequest.ts +58 -0
- package/src/components/formsExt/selector2/stories/overview.vue +93 -0
- package/src/components/helper.js +10 -0
- package/src/components/helpersStories.ts +205 -0
- package/src/components/layout/islandRows/islandRows.stories.ts +139 -0
- package/src/components/layout/islandRows/islandRows.vue +53 -0
- package/src/components/layout/islandRows/islandRowsRow/islandRowsRow.vue +36 -0
- package/src/components/layout/islandRows/islandRowsRow/types.ts +1 -0
- package/src/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue +16 -0
- package/src/components/layout/islandRows/stories/README.md +8 -0
- package/src/components/layout/islandRows/types.ts +11 -0
- package/src/components/layout/layout.ts +11 -0
- package/src/components/layout/rows/rows.stories.ts +48 -0
- package/src/components/layout/rows/rows.vue +46 -0
- package/src/components/layout/rows/stories/README.md +10 -0
- package/src/components/layout/rows/types.ts +6 -0
- package/src/components/popup/alert/alert.stories.ts +71 -0
- package/src/components/popup/alert/alert.ts +11 -0
- package/src/components/popup/alert/alert.vue +46 -0
- package/src/components/popup/alert/stories/overview.vue +40 -0
- package/src/components/popup/confirm/confirm.stories.ts +75 -0
- package/src/components/popup/confirm/confirm.ts +26 -0
- package/src/components/popup/confirm/confirm.vue +75 -0
- package/src/components/popup/confirm/stories/overview.vue +62 -0
- package/src/components/popup/lib/popup.globalEvents.ts +239 -0
- package/src/components/popup/lib/popup.ts +790 -0
- package/src/components/popup/lib/worker.globalEvents.ts +97 -0
- package/src/components/popup/lib/worker.ts +286 -0
- package/src/components/popup/popup/listItem.vue +35 -0
- package/src/components/popup/popup/opener.vue +81 -0
- package/src/components/popup/popup/popup.stories.ts +74 -0
- package/src/components/popup/popup/popup.ts +120 -0
- package/src/components/popup/popup/popup.vue +168 -0
- package/src/components/popup/popup/stories/README.md +55 -0
- package/src/components/popup/popup/stories/listItems.vue +44 -0
- package/src/components/popup/popup/stories/listSubItems.vue +47 -0
- package/src/components/popup/popup/stories/overview.vue +210 -0
- package/src/components/popup/popup/style/popup.css +345 -0
- package/src/components/popup/popup/style/popup.m.css +72 -0
- package/src/components/popup/popup/style/popup.pc.css +26 -0
- package/src/components/popup/popup/widgetInput.vue +43 -0
- package/src/components/popup/popup.ts +17 -0
- package/src/components/popup/prompt/prompt.stories.ts +78 -0
- package/src/components/popup/prompt/prompt.ts +26 -0
- package/src/components/popup/prompt/prompt.vue +84 -0
- package/src/components/popup/prompt/stories/overview.vue +50 -0
- package/src/components/popup/worker.ts +1 -0
- package/src/components/project/project.ts +23 -0
- package/src/components/project/selectorCompetitors/composables.ts +21 -0
- package/src/components/project/selectorCompetitors/selectorCompetitors.stories.ts +33 -0
- package/src/components/project/selectorCompetitors/selectorCompetitors.ts +27 -0
- package/src/components/project/selectorCompetitors/selectorCompetitors.vue +75 -0
- package/src/components/project/selectorCompetitors/stories/README.md +20 -0
- package/src/components/project/selectorCompetitors/stories/items.ts +30 -0
- package/src/components/project/selectorCompetitors/types/competitor.ts +7 -0
- package/src/components/project/selectorRegion/composables/compare.ts +87 -0
- package/src/components/project/selectorRegion/composables/selectRegion.ts +147 -0
- package/src/components/project/selectorRegion/composables/selectSearcher.ts +64 -0
- package/src/components/project/selectorRegion/composables/selectorRegion.ts +165 -0
- package/src/components/project/selectorRegion/selectorRegion.stories.ts +69 -0
- package/src/components/project/selectorRegion/selectorRegion.ts +217 -0
- package/src/components/project/selectorRegion/selectorRegion.vue +330 -0
- package/src/components/project/selectorRegion/stories/README.md +36 -0
- package/src/components/project/selectorRegion/stories/searchers.ts +59 -0
- package/src/components/project/selectorRegion/styles/searcherColors.css +41 -0
- package/src/components/project/selectorRegion/utils/consts.ts +73 -0
- package/src/components/project/selectorRegion/utils/utils.ts +157 -0
- package/src/components/project/tagSelector/popupListItem/tagPopupListItem.vue +209 -0
- package/src/components/project/tagSelector/popupListItem/types.ts +40 -0
- package/src/components/project/tagSelector/popupOpener/popupOpener.vue +145 -0
- package/src/components/project/tagSelector/popupOpener/types.ts +71 -0
- package/src/components/project/tagSelector/stories/README.md +62 -0
- package/src/components/project/tagSelector/stories/overview.vue +152 -0
- package/src/components/project/tagSelector/tagIcon/tagIcon.vue +97 -0
- package/src/components/project/tagSelector/tagIcon/types.ts +25 -0
- package/src/components/project/tagSelector/tagSelector.stories.ts +51 -0
- package/src/components/project/tagSelector/tagSelector.vue +359 -0
- package/src/components/project/tagSelector/tagsDefaults.ts +54 -0
- package/src/components/project/tagSelector/types.ts +159 -0
- package/src/components/project/tagSelector/utils/el.ts +151 -0
- package/src/components/project/tagSelector/utils/utils.ts +30 -0
- package/src/components/tabs/tabs/content.vue +24 -0
- package/src/components/tabs/tabs/stories/README.md +12 -0
- package/src/components/tabs/tabs/tab.vue +49 -0
- package/src/components/tabs/tabs/tabs.stories.ts +171 -0
- package/src/components/tabs/tabs/tabs.ts +22 -0
- package/src/components/tabs/tabs/tabs.vue +64 -0
- package/src/components/tabs/tabs.ts +9 -0
- package/src/components/tabsView/tabsView/menu.vue +291 -0
- package/src/components/tabsView/tabsView/menuDelimeter.vue +26 -0
- package/src/components/tabsView/tabsView/menuItem.vue +125 -0
- package/src/components/tabsView/tabsView/menuTitle.vue +46 -0
- package/src/components/tabsView/tabsView/store.ts +60 -0
- package/src/components/tabsView/tabsView/stories/README.md +22 -0
- package/src/components/tabsView/tabsView/tabsView.stories.ts +170 -0
- package/src/components/tabsView/tabsView/tabsView.ts +118 -0
- package/src/components/tabsView/tabsView/tabsView.vue +120 -0
- package/src/components/tabsView/tabsView/utils.ts +27 -0
- package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuItem.stories.ts +47 -0
- package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuTitle.stories.ts +43 -0
- package/src/components/tabsView/tabsView.ts +9 -0
- package/src/components/types.ts +3 -0
- package/src/core/app.ts +22 -0
- package/src/core/core/core.mdx +36 -0
- package/src/core/core/core.ts +287 -0
- package/src/core/core/events/resize.ts +47 -0
- package/src/core/core/events.ts +6 -0
- package/src/core/core/jQuery.mdx +41 -0
- package/src/core/core/options.ts +51 -0
- package/src/core/core/preloaders.ts +31 -0
- package/src/core/core/state.ts +61 -0
- package/src/core/directives/data.mdx +24 -0
- package/src/core/directives/data.ts +25 -0
- package/src/core/directives/focus.mdx +28 -0
- package/src/core/directives/focus.ts +73 -0
- package/src/core/directives/scrollIntoView.mdx +41 -0
- package/src/core/directives/scrollIntoView.ts +123 -0
- package/src/core/directives/scrollShadow.mdx +23 -0
- package/src/core/directives/scrollShadow.ts +27 -0
- package/src/core/directives/sticky.mdx +29 -0
- package/src/core/directives/sticky.ts +32 -0
- package/src/core/directives/swimUp.mdx +27 -0
- package/src/core/directives/swimUp.ts +95 -0
- package/src/core/directives/tooltip.mdx +13 -0
- package/src/core/directives/tooltip.ts +57 -0
- package/src/core/icons/gallery.vue +70 -0
- package/src/core/icons/icons.mdx +24 -0
- package/src/core/icons/icons.stories.ts +14 -0
- package/src/core/plugins/core.ts +131 -0
- package/src/core/plugins/i18n.ts +184 -0
- package/src/core/plugins/piniaTPA.ts +431 -0
- package/src/core/plugins/plugins.mdx +82 -0
- package/src/core/styles/CSS Variables.stories.ts +17 -0
- package/src/core/styles/styles.mdx +26 -0
- package/src/core/theme/Variables.stories.ts +16 -0
- package/src/core/theme/theme.mdx +117 -0
- package/src/core/utils/References/Docs.mdx +23 -0
- package/src/core/utils/References/check/Docs.mdx +15 -0
- package/src/core/utils/References/check/functions/getDomainRegexp.mdx +15 -0
- package/src/core/utils/References/check/functions/isDomain.mdx +21 -0
- package/src/core/utils/References/check/functions/isEmail.mdx +22 -0
- package/src/core/utils/References/check/functions/isIp.mdx +21 -0
- package/src/core/utils/References/check/functions/validUrl.mdx +22 -0
- package/src/core/utils/References/clipboard/Docs.mdx +11 -0
- package/src/core/utils/References/clipboard/functions/setClipboard.mdx +23 -0
- package/src/core/utils/References/date/Docs.mdx +17 -0
- package/src/core/utils/References/date/functions/dateFormat.mdx +28 -0
- package/src/core/utils/References/date/functions/dateToString.mdx +26 -0
- package/src/core/utils/References/date/functions/dateUnformat.mdx +22 -0
- package/src/core/utils/References/date/functions/genDate.mdx +26 -0
- package/src/core/utils/References/date/functions/genDateMoscow.mdx +22 -0
- package/src/core/utils/References/date/functions/getDayOfWeek.mdx +26 -0
- package/src/core/utils/References/date/functions/stringToDate.mdx +21 -0
- package/src/core/utils/References/device/Docs.mdx +21 -0
- package/src/core/utils/References/device/functions/get$scroll.mdx +15 -0
- package/src/core/utils/References/device/functions/getCommandKeyLabel.mdx +15 -0
- package/src/core/utils/References/device/functions/getElsScroll.mdx +15 -0
- package/src/core/utils/References/device/functions/getOS.mdx +17 -0
- package/src/core/utils/References/device/functions/getOSAsync.mdx +15 -0
- package/src/core/utils/References/device/functions/getScrollTop.mdx +15 -0
- package/src/core/utils/References/device/functions/isApp.mdx +15 -0
- package/src/core/utils/References/device/functions/isMacOS.mdx +15 -0
- package/src/core/utils/References/device/functions/isMobile.mdx +15 -0
- package/src/core/utils/References/device/functions/isRetina.mdx +15 -0
- package/src/core/utils/References/device/functions/isSafari.mdx +15 -0
- package/src/core/utils/References/dom/Docs.mdx +27 -0
- package/src/core/utils/References/dom/functions/css.mdx +24 -0
- package/src/core/utils/References/dom/functions/genEl.mdx +28 -0
- package/src/core/utils/References/dom/functions/isVisible.mdx +23 -0
- package/src/core/utils/References/dom/functions/offset.mdx +35 -0
- package/src/core/utils/References/dom/functions/querySelectorAllArray.mdx +22 -0
- package/src/core/utils/References/dom/functions/querySelectorAllVisible.mdx +22 -0
- package/src/core/utils/References/dom/functions/querySelectorVisible.mdx +22 -0
- package/src/core/utils/References/dom/functions/querySelectorVisibleLast.mdx +22 -0
- package/src/core/utils/References/dom/functions/storage.mdx +28 -0
- package/src/core/utils/References/dom/functions/storageClear.mdx +21 -0
- package/src/core/utils/References/dom/functions/wrap.mdx +22 -0
- package/src/core/utils/References/dom/variables/default.mdx +241 -0
- package/src/core/utils/References/image/Docs.mdx +12 -0
- package/src/core/utils/References/image/functions/downloadImageFromString.mdx +22 -0
- package/src/core/utils/References/image/functions/genFaviconImgHtml.mdx +22 -0
- package/src/core/utils/References/keyboard/Docs.mdx +11 -0
- package/src/core/utils/References/keyboard/functions/invertKeyboardLayout.mdx +21 -0
- package/src/core/utils/References/lodash/Docs.mdx +20 -0
- package/src/core/utils/References/lodash/functions/cloneDeep.mdx +29 -0
- package/src/core/utils/References/lodash/functions/debounce.mdx +76 -0
- package/src/core/utils/References/lodash/functions/memoize.mdx +26 -0
- package/src/core/utils/References/lodash/functions/merge.mdx +200 -0
- package/src/core/utils/References/lodash/functions/throttle.mdx +73 -0
- package/src/core/utils/References/number/Docs.mdx +11 -0
- package/src/core/utils/References/number/functions/percentOfNumber.mdx +26 -0
- package/src/core/utils/References/price/Docs.mdx +11 -0
- package/src/core/utils/References/price/functions/genPrice.mdx +28 -0
- package/src/core/utils/References/route/Docs.mdx +16 -0
- package/src/core/utils/References/route/functions/delHash.mdx +26 -0
- package/src/core/utils/References/route/functions/genHash.mdx +26 -0
- package/src/core/utils/References/route/functions/getHash.mdx +22 -0
- package/src/core/utils/References/route/functions/historySetState.mdx +31 -0
- package/src/core/utils/References/route/functions/setHash.mdx +26 -0
- package/src/core/utils/References/route/functions/setHashs.mdx +22 -0
- package/src/core/utils/References/scroll/Docs.mdx +14 -0
- package/src/core/utils/References/scroll/functions/amountScrolled.mdx +17 -0
- package/src/core/utils/References/scroll/functions/connectScrollShadow.mdx +28 -0
- package/src/core/utils/References/scroll/functions/genHasScroll.mdx +25 -0
- package/src/core/utils/References/scroll/functions/getScrollPercent.mdx +21 -0
- package/src/core/utils/References/searchers/Docs.mdx +19 -0
- package/src/core/utils/References/searchers/functions/genVolumeLabel.mdx +26 -0
- package/src/core/utils/References/searchers/functions/getDeviceGIcon.mdx +21 -0
- package/src/core/utils/References/searchers/functions/getLangLabel.mdx +22 -0
- package/src/core/utils/References/searchers/functions/getSearcherGIcon.mdx +21 -0
- package/src/core/utils/References/searchers/functions/prepareVolumeType.mdx +22 -0
- package/src/core/utils/References/searchers/variables/searchersNames.mdx +97 -0
- package/src/core/utils/References/store/Docs.mdx +18 -0
- package/src/core/utils/References/store/functions/defineStore.mdx +36 -0
- package/src/core/utils/References/store/functions/useStore.mdx +29 -0
- package/src/core/utils/References/store/variables/plugin.mdx +66 -0
- package/src/core/utils/References/string/Docs.mdx +26 -0
- package/src/core/utils/References/string/functions/addCommasWhite.mdx +21 -0
- package/src/core/utils/References/string/functions/addLinkTags.mdx +23 -0
- package/src/core/utils/References/string/functions/camelToSnakeCase.mdx +21 -0
- package/src/core/utils/References/string/functions/ellipsis.mdx +26 -0
- package/src/core/utils/References/string/functions/genFlagLinkByCountryCode.mdx +21 -0
- package/src/core/utils/References/string/functions/genIntHash.mdx +21 -0
- package/src/core/utils/References/string/functions/getRandomHash.mdx +21 -0
- package/src/core/utils/References/string/functions/highlightHtml.mdx +25 -0
- package/src/core/utils/References/string/functions/htmlspecialchars.mdx +21 -0
- package/src/core/utils/References/string/functions/isUrl.mdx +21 -0
- package/src/core/utils/References/string/functions/nl2br.mdx +21 -0
- package/src/core/utils/References/string/functions/numberEnding.mdx +28 -0
- package/src/core/utils/References/string/functions/numberWithWord.mdx +28 -0
- package/src/core/utils/References/string/functions/rusToLatin.mdx +21 -0
- package/src/core/utils/References/string/functions/toCapitalize.mdx +21 -0
- package/src/core/utils/References/string/functions/toRoditPadej.mdx +21 -0
- package/src/core/utils/References/system/Docs.mdx +13 -0
- package/src/core/utils/References/system/functions/sleep.mdx +21 -0
- package/src/core/utils/References/system/functions/sleepWhile.mdx +26 -0
- package/src/core/utils/References/system/functions/waitWhile.mdx +26 -0
- package/src/core/utils/References/url/Docs.mdx +17 -0
- package/src/core/utils/References/url/functions/decode.mdx +21 -0
- package/src/core/utils/References/url/functions/encode.mdx +21 -0
- package/src/core/utils/References/url/functions/fromPuny.mdx +23 -0
- package/src/core/utils/References/url/functions/getHost.mdx +21 -0
- package/src/core/utils/References/url/functions/hostToLowerCase.mdx +21 -0
- package/src/core/utils/References/url/functions/normalize.mdx +21 -0
- package/src/core/utils/References/url/functions/toPuny.mdx +23 -0
- package/src/core/utils/check.ts +88 -0
- package/src/core/utils/clipboard.ts +51 -0
- package/src/core/utils/date.ts +291 -0
- package/src/core/utils/device.ts +139 -0
- package/src/core/utils/dom.ts +182 -0
- package/src/core/utils/image.ts +46 -0
- package/src/core/utils/keyboard.ts +29 -0
- package/src/core/utils/lodash.ts +18 -0
- package/src/core/utils/number.ts +37 -0
- package/src/core/utils/price.ts +24 -0
- package/src/core/utils/route.ts +115 -0
- package/src/core/utils/scroll.ts +120 -0
- package/src/core/utils/searchers.ts +189 -0
- package/src/core/utils/store/localStorage.ts +56 -0
- package/src/core/utils/store/plugin.ts +50 -0
- package/src/core/utils/store/store.ts +77 -0
- package/src/core/utils/store.ts +7 -0
- package/src/core/utils/string.ts +315 -0
- package/src/core/utils/system.ts +72 -0
- package/src/core/utils/url.ts +138 -0
- package/src/core/utils/utils.mdx +6 -0
- package/src/d.ts +12 -0
- package/src/icomoon.d.ts +98 -0
- package/src/resources/styles/core/components.css +102 -0
- package/src/resources/styles/core/core.ts +11 -0
- package/src/resources/styles/core/forms/clear.css +20 -0
- package/src/resources/styles/core/forms/controls.css +20 -0
- package/src/resources/styles/core/forms/focusable.css +26 -0
- package/src/resources/styles/core/forms/forms.css +117 -0
- package/src/resources/styles/core/icon.css +58 -0
- package/src/resources/styles/core/jquery.css +1 -0
- package/src/resources/styles/core/layout.css +59 -0
- package/src/resources/styles/core/modifiers/as.css +9 -0
- package/src/resources/styles/core/modifiers/ellipsis.css +26 -0
- package/src/resources/styles/core/modifiers/modifiers.css +120 -0
- package/src/resources/styles/core/modifiers/only.css +19 -0
- package/src/resources/styles/core/modifiers/scrollShadow.css +50 -0
- package/src/resources/styles/core/select.css +15 -0
- package/src/resources/styles/storybook.css +11 -0
- package/src/resources/styles/themes/dark/dark-layout.css +47 -0
- package/src/resources/styles/themes/dark/dark-positions.css +66 -0
- package/src/resources/styles/themes/dark/dark.css +400 -0
- package/src/resources/styles/themes/dark-positions.ts +1 -0
- package/src/resources/styles/themes/dark-th/dark-th-layout.css +47 -0
- package/src/resources/styles/themes/dark-th/dark-th-positions.css +67 -0
- package/src/resources/styles/themes/dark-th/dark-th.css +400 -0
- package/src/resources/styles/themes/dark-th-positions.ts +1 -0
- package/src/resources/styles/themes/dark-th.ts +3 -0
- package/src/resources/styles/themes/dark.ts +3 -0
- package/src/resources/styles/themes/light/light-layout.css +47 -0
- package/src/resources/styles/themes/light/light-positions.css +66 -0
- package/src/resources/styles/themes/light/light.css +400 -0
- package/src/resources/styles/themes/light-positions.ts +1 -0
- package/src/resources/styles/themes/light.ts +3 -0
- package/src/storybook/components/color.vue +47 -0
- package/src/storybook/components/cssVariables.vue +195 -0
- package/src/storybook/components/icomoon.ts +40 -0
- package/src/storybook/jquery.ts +4 -0
- 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" +181 -0
- 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" +12 -0
- 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" +4 -0
- 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" +43 -0
- 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" +155 -0
- 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" +35 -0
- 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" +15 -0
- 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" +56 -0
- 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" +53 -0
- 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" +55 -0
- 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" +4 -0
- 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" +4 -0
- 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" +4 -0
- 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" +3 -0
- 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" +4 -0
- 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" +15 -0
- 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" +45 -0
- 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" +31 -0
- 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" +29 -0
- 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" +41 -0
- 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" +58 -0
- 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" +11 -0
- 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" +5 -0
- package/tsconfig.json +91 -0
- package/typedoc.json +20 -0
- package/vite.config.ts +148 -0
- package/web-types.json +130 -130
- package/.chunks/datepicker-B8O5mg_G.es.js +0 -44
- package/.chunks/datepicker-B8O5mg_G.es.js.map +0 -1
- package/.chunks/datepicker-CFiizYlZ.amd.js +0 -2
- package/.chunks/datepicker-CFiizYlZ.amd.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B55gllXV.amd.js +0 -2
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B55gllXV.amd.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BkBYW0yR.es.js +0 -266
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BkBYW0yR.es.js.map +0 -1
- package/.chunks/forms-BWc2kMFD.amd.js +0 -3
- package/.chunks/forms-BWc2kMFD.amd.js.map +0 -1
- package/.chunks/forms-DW_XLzg8.es.js +0 -2018
- package/.chunks/forms-DW_XLzg8.es.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-naMiJruI.amd.js +0 -2
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-naMiJruI.amd.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-saYIC17M.es.js +0 -181
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-saYIC17M.es.js.map +0 -1
- package/.chunks/menu.vue_vue_type_style_index_0_lang-06YUloqb.amd.js +0 -2
- package/.chunks/menu.vue_vue_type_style_index_0_lang-06YUloqb.amd.js.map +0 -1
- package/.chunks/menu.vue_vue_type_style_index_0_lang-CcspstQc.es.js +0 -109
- package/.chunks/menu.vue_vue_type_style_index_0_lang-CcspstQc.es.js.map +0 -1
- package/.chunks/notice-BQyuy4nF.es.js +0 -175
- package/.chunks/notice-BQyuy4nF.es.js.map +0 -1
- package/.chunks/notice-zADfJ5TR.amd.js +0 -4
- package/.chunks/notice-zADfJ5TR.amd.js.map +0 -1
- package/.chunks/popup-CPS-7fSX.amd.js +0 -2
- package/.chunks/popup-CPS-7fSX.amd.js.map +0 -1
- package/.chunks/popup-DsVptZvL.es.js +0 -415
- package/.chunks/popup-DsVptZvL.es.js.map +0 -1
- package/.chunks/punycode.es6-C2yitnNb.amd.js +0 -2
- package/.chunks/punycode.es6-C2yitnNb.amd.js.map +0 -1
- package/.chunks/punycode.es6-CNI-zL6U.es.js +0 -134
- package/.chunks/punycode.es6-CNI-zL6U.es.js.map +0 -1
- package/.chunks/store-CX_6ZXhO.es.js +0 -29
- package/.chunks/store-CX_6ZXhO.es.js.map +0 -1
- package/.chunks/store-esTid5oI.amd.js +0 -2
- package/.chunks/store-esTid5oI.amd.js.map +0 -1
- package/.chunks/utils-B75aamxF.amd.js +0 -2
- package/.chunks/utils-B75aamxF.amd.js.map +0 -1
- package/.chunks/utils-DIP-BdDy.es.js +0 -225
- package/.chunks/utils-DIP-BdDy.es.js.map +0 -1
- package/.chunks/utils-DfYj3r9i.amd.js +0 -2
- package/.chunks/utils-DfYj3r9i.amd.js.map +0 -1
- package/.chunks/utils-h5v4GPgp.es.js +0 -79
- package/.chunks/utils-h5v4GPgp.es.js.map +0 -1
- package/assets/charts.css +0 -1
- package/assets/core.css +0 -1
- package/assets/forms.css +0 -1
- package/assets/formsExt.css +0 -1
- package/assets/layout.css +0 -1
- package/assets/listItem.css +0 -1
- package/assets/menu.css +0 -1
- package/assets/notice.css +0 -1
- package/assets/popup.css +0 -1
- package/assets/project.css +0 -1
- package/assets/tabs.css +0 -1
- package/assets/tabsView.css +0 -1
- package/assets/themes/dark-th.css +0 -1
- package/assets/themes/dark.css +0 -1
- package/assets/themes/light.css +0 -1
- package/charts/charts.amd.js +0 -2
- package/charts/charts.amd.js.map +0 -1
- package/charts/charts.d.ts +0 -2
- package/charts/charts.js +0 -178
- package/charts/charts.js.map +0 -1
- package/components/charts/charts.d.ts +0 -5
- package/components/charts/miniChart/miniChart.d.ts +0 -92
- package/components/charts/miniChart/miniChart.vue.d.ts +0 -15
- package/components/charts/miniChart/stories/dummy.d.ts +0 -13
- package/components/charts/miniChart/utils/consts.d.ts +0 -8
- package/components/charts/miniCharts/miniCharts.d.ts +0 -20
- package/components/charts/miniCharts/miniCharts.vue.d.ts +0 -32
- package/components/charts/miniCharts/stories/dummy.d.ts +0 -6
- package/components/core/notice/item/item.vue.d.ts +0 -10
- package/components/core/notice/item/types.d.ts +0 -61
- package/components/core/notice/notice.vue.d.ts +0 -5
- package/components/core/notice/types.d.ts +0 -1
- package/components/core/notice/utils.d.ts +0 -27
- package/components/dialog/dialog/composables/asyncDialogHandle.d.ts +0 -51
- package/components/dialog/dialog/composables/dialogHandle.d.ts +0 -108
- package/components/dialog/dialog/composables/types.d.ts +0 -11
- package/components/dialog/dialog/composables/utils.d.ts +0 -21
- package/components/dialog/dialog/dialog.vue.d.ts +0 -28
- package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +0 -10
- package/components/dialog/dialog/page/page.vue.d.ts +0 -19
- package/components/dialog/dialog/page/types.d.ts +0 -72
- package/components/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -6
- package/components/dialog/dialog/pageComponent/types.d.ts +0 -18
- package/components/dialog/dialog/stories/autoload.d.ts +0 -2
- package/components/dialog/dialog/stories/dialog_example/pages/utils.d.ts +0 -7
- package/components/dialog/dialog/types.d.ts +0 -58
- package/components/dialog/dialog.d.ts +0 -6
- package/components/dialog/lib/types.d.ts +0 -21
- package/components/dialog/lib/utils.d.ts +0 -14
- package/components/dialog/lib/utils.globalEvents.d.ts +0 -8
- package/components/dialog/lib/worker.d.ts +0 -60
- package/components/forms/avatar/avatar.d.ts +0 -38
- package/components/forms/avatar/avatar.vue.d.ts +0 -10
- package/components/forms/button/button.vue.d.ts +0 -25
- package/components/forms/button/types.d.ts +0 -53
- package/components/forms/checkbox/checkbox.d.ts +0 -19
- package/components/forms/checkbox/checkbox.vue.d.ts +0 -27
- package/components/forms/controlLabel/controlLabel.d.ts +0 -4
- package/components/forms/controlLabel/controlLabel.vue.d.ts +0 -19
- package/components/forms/forms.d.ts +0 -27
- package/components/forms/helpers.d.ts +0 -10
- package/components/forms/hint/hint.d.ts +0 -8
- package/components/forms/hint/hint.vue.d.ts +0 -4
- package/components/forms/input/input.d.ts +0 -26
- package/components/forms/input/input.vue.d.ts +0 -27
- package/components/forms/inputDate/datepicker.d.ts +0 -5
- package/components/forms/inputDate/inputDate.d.ts +0 -3
- package/components/forms/inputDate/inputDate.vue.d.ts +0 -12
- package/components/forms/inputRange/inputRange.d.ts +0 -2
- package/components/forms/inputRange/inputRange.vue.d.ts +0 -19
- package/components/forms/loadbar/loadbar.vue.d.ts +0 -3
- package/components/forms/radio/radio.d.ts +0 -14
- package/components/forms/radio/radio.vue.d.ts +0 -23
- package/components/forms/select/select.d.ts +0 -51
- package/components/forms/select/select.vue.d.ts +0 -17
- package/components/forms/select/stories/exampleOptions.d.ts +0 -5
- package/components/forms/switcher/switcher.d.ts +0 -21
- package/components/forms/switcher/switcher.vue.d.ts +0 -23
- package/components/forms/textarea/textarea.d.ts +0 -33
- package/components/forms/textarea/textarea.vue.d.ts +0 -11
- package/components/formsExt/editArea/editArea.d.ts +0 -33
- package/components/formsExt/editArea/editArea.vue.d.ts +0 -18
- package/components/formsExt/editInput/editInput.d.ts +0 -16
- package/components/formsExt/editInput/editInput.vue.d.ts +0 -8
- package/components/formsExt/formsExt.d.ts +0 -13
- package/components/formsExt/info/info.vue.d.ts +0 -20
- package/components/formsExt/info/types.d.ts +0 -21
- package/components/formsExt/menu/menu.d.ts +0 -37
- package/components/formsExt/menu/menu.vue.d.ts +0 -16
- package/components/formsExt/menu/stories/items.d.ts +0 -3
- package/components/formsExt/radioGroup/radioGroup.d.ts +0 -21
- package/components/formsExt/radioGroup/radioGroup.vue.d.ts +0 -19
- package/components/formsExt/selector2/api.d.ts +0 -8
- package/components/formsExt/selector2/itemMulti.vue.d.ts +0 -8
- package/components/formsExt/selector2/selector2.d.ts +0 -130
- package/components/formsExt/selector2/selector2.vue.d.ts +0 -210
- package/components/formsExt/selector2/stories/dummyAPIRequest.d.ts +0 -10
- package/components/layout/islandRows/islandRows.vue.d.ts +0 -17
- package/components/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -18
- package/components/layout/islandRows/islandRowsRow/types.d.ts +0 -2
- package/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -18
- package/components/layout/islandRows/types.d.ts +0 -10
- package/components/layout/layout.d.ts +0 -9
- package/components/layout/rows/rows.vue.d.ts +0 -21
- package/components/layout/rows/types.d.ts +0 -6
- package/components/popup/alert/alert.d.ts +0 -8
- package/components/popup/alert/alert.vue.d.ts +0 -31
- package/components/popup/confirm/confirm.d.ts +0 -21
- package/components/popup/confirm/confirm.vue.d.ts +0 -33
- package/components/popup/lib/popup.d.ts +0 -83
- package/components/popup/lib/popup.globalEvents.d.ts +0 -26
- package/components/popup/lib/worker.d.ts +0 -75
- package/components/popup/lib/worker.globalEvents.d.ts +0 -19
- package/components/popup/popup/listItem.vue.d.ts +0 -22
- package/components/popup/popup/opener.vue.d.ts +0 -23
- package/components/popup/popup/popup.d.ts +0 -101
- package/components/popup/popup/popup.vue.d.ts +0 -40
- package/components/popup/popup/widgetInput.vue.d.ts +0 -17
- package/components/popup/popup.d.ts +0 -15
- package/components/popup/prompt/prompt.d.ts +0 -21
- package/components/popup/prompt/prompt.vue.d.ts +0 -33
- package/components/popup/worker.d.ts +0 -1
- package/components/project/project.d.ts +0 -15
- package/components/project/selectorCompetitors/composables.d.ts +0 -4
- package/components/project/selectorCompetitors/selectorCompetitors.d.ts +0 -23
- package/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +0 -14
- package/components/project/selectorCompetitors/stories/items.d.ts +0 -3
- package/components/project/selectorCompetitors/types/competitor.d.ts +0 -7
- package/components/project/selectorRegion/composables/compare.d.ts +0 -12
- package/components/project/selectorRegion/composables/selectRegion.d.ts +0 -14
- package/components/project/selectorRegion/composables/selectSearcher.d.ts +0 -13
- package/components/project/selectorRegion/composables/selectorRegion.d.ts +0 -25
- package/components/project/selectorRegion/selectorRegion.d.ts +0 -182
- package/components/project/selectorRegion/selectorRegion.vue.d.ts +0 -25
- package/components/project/selectorRegion/stories/searchers.d.ts +0 -3
- package/components/project/selectorRegion/utils/consts.d.ts +0 -18
- package/components/project/selectorRegion/utils/utils.d.ts +0 -23
- package/components/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -20
- package/components/project/tagSelector/popupListItem/types.d.ts +0 -33
- package/components/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -27
- package/components/project/tagSelector/popupOpener/types.d.ts +0 -62
- package/components/project/tagSelector/tagIcon/tagIcon.vue.d.ts +0 -4
- package/components/project/tagSelector/tagIcon/types.d.ts +0 -21
- package/components/project/tagSelector/tagSelector.vue.d.ts +0 -37
- package/components/project/tagSelector/tagsDefaults.d.ts +0 -3
- package/components/project/tagSelector/types.d.ts +0 -138
- package/components/project/tagSelector/utils/el.d.ts +0 -19
- package/components/project/tagSelector/utils/utils.d.ts +0 -14
- package/components/tabs/tabs/content.vue.d.ts +0 -19
- package/components/tabs/tabs/tab.vue.d.ts +0 -19
- package/components/tabs/tabs/tabs.d.ts +0 -19
- package/components/tabs/tabs/tabs.vue.d.ts +0 -21
- package/components/tabs/tabs.d.ts +0 -7
- package/components/tabsView/tabsView/menu.vue.d.ts +0 -32
- package/components/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -3
- package/components/tabsView/tabsView/menuItem.vue.d.ts +0 -23
- package/components/tabsView/tabsView/menuTitle.vue.d.ts +0 -20
- package/components/tabsView/tabsView/store.d.ts +0 -192
- package/components/tabsView/tabsView/tabsView.d.ts +0 -98
- package/components/tabsView/tabsView/tabsView.vue.d.ts +0 -34
- package/components/tabsView/tabsView/utils.d.ts +0 -11
- package/components/tabsView/tabsView.d.ts +0 -7
- package/core/app.amd.js +0 -2
- package/core/app.amd.js.map +0 -1
- package/core/app.d.ts +0 -8
- package/core/app.js +0 -402
- package/core/app.js.map +0 -1
- package/core/core/core.d.ts +0 -113
- package/core/core/events/resize.d.ts +0 -16
- package/core/core/events.d.ts +0 -15
- package/core/core/options.d.ts +0 -46
- package/core/core/preloaders.d.ts +0 -19
- package/core/core/state.d.ts +0 -49
- package/core/directives/data.d.ts +0 -10
- package/core/directives/focus.d.ts +0 -10
- package/core/directives/scrollIntoView.d.ts +0 -3
- package/core/directives/scrollShadow.d.ts +0 -15
- package/core/directives/sticky.d.ts +0 -10
- package/core/directives/swimUp.d.ts +0 -15
- package/core/directives/tooltip.d.ts +0 -10
- package/core/plugins/core.d.ts +0 -60
- package/core/plugins/i18n.d.ts +0 -107
- package/core/plugins/piniaTPA.d.ts +0 -17
- package/core/utils/check.d.ts +0 -26
- package/core/utils/clipboard.d.ts +0 -12
- package/core/utils/date.d.ts +0 -52
- package/core/utils/device.d.ts +0 -50
- package/core/utils/dom.d.ts +0 -94
- package/core/utils/image.d.ts +0 -16
- package/core/utils/keyboard.d.ts +0 -8
- package/core/utils/lodash.d.ts +0 -6
- package/core/utils/number.d.ts +0 -17
- package/core/utils/price.d.ts +0 -10
- package/core/utils/route.d.ts +0 -33
- package/core/utils/scroll.d.ts +0 -32
- package/core/utils/searchers.d.ts +0 -38
- package/core/utils/store/localStorage.d.ts +0 -6
- package/core/utils/store/plugin.d.ts +0 -24
- package/core/utils/store/store.d.ts +0 -34
- package/core/utils/store.d.ts +0 -6
- package/core/utils/string.d.ts +0 -86
- package/core/utils/system.d.ts +0 -25
- package/core/utils/url.d.ts +0 -36
- package/dialog/dialog.amd.js +0 -2
- package/dialog/dialog.amd.js.map +0 -1
- package/dialog/dialog.d.ts +0 -2
- package/dialog/dialog.js +0 -194
- package/dialog/dialog.js.map +0 -1
- package/forms/forms.amd.js +0 -2
- package/forms/forms.amd.js.map +0 -1
- package/forms/forms.d.ts +0 -2
- package/forms/forms.js +0 -17
- package/forms/forms.js.map +0 -1
- package/forms/helpers.amd.js +0 -2
- package/forms/helpers.amd.js.map +0 -1
- package/forms/helpers.d.ts +0 -2
- package/forms/helpers.js +0 -10
- package/forms/helpers.js.map +0 -1
- package/formsExt/formsExt.amd.js +0 -2
- package/formsExt/formsExt.amd.js.map +0 -1
- package/formsExt/formsExt.d.ts +0 -2
- package/formsExt/formsExt.js +0 -483
- package/formsExt/formsExt.js.map +0 -1
- package/icomoon/Read Me.txt +0 -7
- package/icomoon/Topvisor icons.json +0 -6145
- package/icomoon/demo-files/demo.css +0 -158
- package/icomoon/demo-files/demo.js +0 -30
- package/icomoon/demo.html +0 -3488
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +0 -272
- package/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/icomoon/fonts/Topvisor-2.woff +0 -0
- package/icomoon/selection.json +0 -1
- package/icomoon/style.css +0 -765
- package/jquery-ui.min.css +0 -6
- package/layout/layout.amd.js +0 -2
- package/layout/layout.amd.js.map +0 -1
- package/layout/layout.d.ts +0 -2
- package/layout/layout.js +0 -62
- package/layout/layout.js.map +0 -1
- package/popup/popup.amd.js +0 -2
- package/popup/popup.amd.js.map +0 -1
- package/popup/popup.d.ts +0 -2
- package/popup/popup.js +0 -243
- package/popup/popup.js.map +0 -1
- package/popup/worker.amd.js +0 -2
- package/popup/worker.amd.js.map +0 -1
- package/popup/worker.d.ts +0 -2
- package/popup/worker.js +0 -129
- package/popup/worker.js.map +0 -1
- package/project/project.amd.js +0 -2
- package/project/project.amd.js.map +0 -1
- package/project/project.d.ts +0 -2
- package/project/project.js +0 -975
- package/project/project.js.map +0 -1
- package/require/css.amd.js +0 -12
- package/tabs/tabs.amd.js +0 -2
- package/tabs/tabs.amd.js.map +0 -1
- package/tabs/tabs.d.ts +0 -2
- package/tabs/tabs.js +0 -81
- package/tabs/tabs.js.map +0 -1
- package/tabsView/tabsView.amd.js +0 -2
- package/tabsView/tabsView.amd.js.map +0 -1
- package/tabsView/tabsView.d.ts +0 -2
- package/tabsView/tabsView.js +0 -306
- package/tabsView/tabsView.js.map +0 -1
- package/utils/check.amd.js +0 -2
- package/utils/check.amd.js.map +0 -1
- package/utils/check.d.ts +0 -2
- package/utils/check.js +0 -26
- package/utils/check.js.map +0 -1
- package/utils/clipboard.amd.js +0 -6
- package/utils/clipboard.amd.js.map +0 -1
- package/utils/clipboard.d.ts +0 -2
- package/utils/clipboard.js +0 -33
- package/utils/clipboard.js.map +0 -1
- package/utils/date.amd.js +0 -2
- package/utils/date.amd.js.map +0 -1
- package/utils/date.d.ts +0 -2
- package/utils/date.js +0 -11
- package/utils/date.js.map +0 -1
- package/utils/device.amd.js +0 -2
- package/utils/device.amd.js.map +0 -1
- package/utils/device.d.ts +0 -2
- package/utils/device.js +0 -15
- package/utils/device.js.map +0 -1
- package/utils/dom.amd.js +0 -2
- package/utils/dom.amd.js.map +0 -1
- package/utils/dom.d.ts +0 -6
- package/utils/dom.js +0 -75
- package/utils/dom.js.map +0 -1
- package/utils/image.amd.js +0 -12
- package/utils/image.amd.js.map +0 -1
- package/utils/image.d.ts +0 -2
- package/utils/image.js +0 -23
- package/utils/image.js.map +0 -1
- package/utils/keyboard.amd.js +0 -2
- package/utils/keyboard.amd.js.map +0 -1
- package/utils/keyboard.d.ts +0 -2
- package/utils/keyboard.js +0 -12
- package/utils/keyboard.js.map +0 -1
- package/utils/lodash.amd.js +0 -2
- package/utils/lodash.amd.js.map +0 -1
- package/utils/lodash.d.ts +0 -2
- package/utils/lodash.js +0 -9
- package/utils/lodash.js.map +0 -1
- package/utils/number.amd.js +0 -2
- package/utils/number.amd.js.map +0 -1
- package/utils/number.d.ts +0 -2
- package/utils/number.js +0 -13
- package/utils/number.js.map +0 -1
- package/utils/price.amd.js +0 -2
- package/utils/price.amd.js.map +0 -1
- package/utils/price.d.ts +0 -2
- package/utils/price.js +0 -10
- package/utils/price.js.map +0 -1
- package/utils/route.amd.js +0 -2
- package/utils/route.amd.js.map +0 -1
- package/utils/route.d.ts +0 -2
- package/utils/route.js +0 -31
- package/utils/route.js.map +0 -1
- package/utils/scroll.amd.js +0 -2
- package/utils/scroll.amd.js.map +0 -1
- package/utils/scroll.d.ts +0 -2
- package/utils/scroll.js +0 -45
- package/utils/scroll.js.map +0 -1
- package/utils/searchers.amd.js +0 -2
- package/utils/searchers.amd.js.map +0 -1
- package/utils/searchers.d.ts +0 -2
- package/utils/searchers.js +0 -128
- package/utils/searchers.js.map +0 -1
- package/utils/store.amd.js +0 -2
- package/utils/store.amd.js.map +0 -1
- package/utils/store.d.ts +0 -2
- package/utils/store.js +0 -7
- package/utils/store.js.map +0 -1
- package/utils/string.amd.js +0 -2
- package/utils/string.amd.js.map +0 -1
- package/utils/string.d.ts +0 -2
- package/utils/string.js +0 -139
- package/utils/string.js.map +0 -1
- package/utils/system.amd.js +0 -2
- package/utils/system.amd.js.map +0 -1
- package/utils/system.d.ts +0 -2
- package/utils/system.js +0 -29
- package/utils/system.js.map +0 -1
- package/utils/url.amd.js +0 -3
- package/utils/url.amd.js.map +0 -1
- package/utils/url.d.ts +0 -2
- package/utils/url.js +0 -48
- package/utils/url.js.map +0 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { type Component, onUpdated, ref, type Ref } from 'vue';
|
|
3
|
+
import { useTopDialogSelf } from '@/components/dialog/dialog/composables/utils';
|
|
4
|
+
import type { Props } from './types';
|
|
5
|
+
|
|
6
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
7
|
+
keepAlive: true,
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
const dialog = useTopDialogSelf();
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Статус загрузи асинхронного компонента страницы диалогового окна
|
|
14
|
+
*/
|
|
15
|
+
const updateIsLoadingAsyncPage = (component: Component, isLoaded: Ref) => {
|
|
16
|
+
if (isLoaded.value) return;
|
|
17
|
+
|
|
18
|
+
if (component.name !== 'AsyncComponentWrapper') {
|
|
19
|
+
isLoaded.value = true;
|
|
20
|
+
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (!dialog.needShowPage(props.name as string)) return;
|
|
25
|
+
|
|
26
|
+
dialog.isLoadingPage.value = true;
|
|
27
|
+
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
if (component.__asyncResolved) {
|
|
30
|
+
isLoaded.value = true;
|
|
31
|
+
|
|
32
|
+
dialog.isLoadingPage.value = false;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
if (props.component.name === 'AsyncComponentWrapper') {
|
|
37
|
+
const isLoaded = ref(false);
|
|
38
|
+
|
|
39
|
+
onUpdated(() => {
|
|
40
|
+
updateIsLoadingAsyncPage(props.component, isLoaded);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
</script>
|
|
44
|
+
|
|
45
|
+
<template>
|
|
46
|
+
<!-- Teleport внутри при keepAlive размонитроваться не будет, см. TopDialogPage -->
|
|
47
|
+
<KeepAlive :include="keepAlive ? '' : 'none'">
|
|
48
|
+
<Component
|
|
49
|
+
:is="component"
|
|
50
|
+
v-if="dialog.needShowPage(name)"
|
|
51
|
+
:="props"
|
|
52
|
+
:name="name"
|
|
53
|
+
:order="order"
|
|
54
|
+
:prevName="prevName"
|
|
55
|
+
/>
|
|
56
|
+
</KeepAlive>
|
|
57
|
+
</template>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { PropsCommon } from '../page/types';
|
|
2
|
+
import type { Component } from 'vue';
|
|
3
|
+
|
|
4
|
+
export interface Props extends PropsCommon {
|
|
5
|
+
/**
|
|
6
|
+
* Компонент страницы с реализицией TopDialogPage
|
|
7
|
+
*/
|
|
8
|
+
component: Component,
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Кешировать ли эту страницу
|
|
12
|
+
*
|
|
13
|
+
* По умолчанию: true
|
|
14
|
+
*/
|
|
15
|
+
keepAlive?: boolean,
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Произвольный набор props, который будет передан в компонент страницы
|
|
19
|
+
*/
|
|
20
|
+
props?: Record<string, any>,
|
|
21
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Meta } from '@storybook/vue3';
|
|
2
|
+
|
|
3
|
+
import { genArgsTypes } from '@/components/helpersStories';
|
|
4
|
+
import Component from './pageComponent/pageComponent.vue';
|
|
5
|
+
import * as ComponentsConst from '@/components/dialog/lib/types';
|
|
6
|
+
import ReadMe from './stories/pageComponent/README.md?raw';
|
|
7
|
+
import { Dialog as Dialog_Base } from './dialog.stories';
|
|
8
|
+
|
|
9
|
+
const argTypes = genArgsTypes(Component, ComponentsConst, [], true);
|
|
10
|
+
|
|
11
|
+
const meta = {
|
|
12
|
+
component: Component,
|
|
13
|
+
tags: ['autodocs'],
|
|
14
|
+
argTypes,
|
|
15
|
+
parameters: {
|
|
16
|
+
docs: {
|
|
17
|
+
description: {
|
|
18
|
+
component: ReadMe,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
} satisfies Meta<typeof Component>;
|
|
23
|
+
|
|
24
|
+
export const Dialog = { ...Dialog_Base } as unknown as Meta<typeof Component>;
|
|
25
|
+
Dialog.args = {};
|
|
26
|
+
|
|
27
|
+
export default meta;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
## Описание функционала
|
|
2
|
+
|
|
3
|
+
`TopDialog` - универсальный компонент для создания диалоговых окон на vue c богатым функционалом.
|
|
4
|
+
|
|
5
|
+
Вот некоторые фичи TopDialog:
|
|
6
|
+
|
|
7
|
+
- открытие диалогового окна из **любого** места в приложении, с возможной передачей настроек через **props**
|
|
8
|
+
- **ленивая** подгрузка кода компонента
|
|
9
|
+
- сохранение состояния открытых диалоговых окон в **hash-навигации** в url страницы,
|
|
10
|
+
автоматическое открытие / закрытие диалоговых окон при переходе в истории браузера с автозагрузкой диалоговых окон
|
|
11
|
+
- вывод **несколько страниц** в одном диалоговом окне
|
|
12
|
+
- анимация при смене страниц
|
|
13
|
+
- кеширование состояния страницы
|
|
14
|
+
- ленивая подгрузка страницы
|
|
15
|
+
- адаптивный дизайн, мобильная версия
|
|
16
|
+
|
|
17
|
+
## Термины
|
|
18
|
+
|
|
19
|
+
- **ручка (worker)**: объект для управления диалоговым окном
|
|
20
|
+
- **диалоговое окно**: компонент, встраиваемый в приложение и доступный через **ручку**, не имеет связи с тем, откуда вызывается (за исключением
|
|
21
|
+
события `onCloseOnce`), включает в себя страницы, отображает нужную страницу
|
|
22
|
+
- **страница**: компонент для вывода страницы в диалоговом окне
|
|
23
|
+
|
|
24
|
+
## Гайдлайн
|
|
25
|
+
|
|
26
|
+
- Имя файла для компонента диалогового принято называть в формате: `dialog_{{ dialogId }}.{{ ext }}`
|
|
27
|
+
- **ручки** принято сохранять в переменной с именем `dialog`
|
|
28
|
+
|
|
29
|
+
## Подключение
|
|
30
|
+
|
|
31
|
+
Общие настройки определяются при подключении [corePlugin](?path=/docs/core-plugins--docs#coreplugin):
|
|
32
|
+
|
|
33
|
+
- `topDialogOptions.load`: автозагрузка диалоговых окон, для открытия нужных диалоговых окон по ссылке
|
|
34
|
+
|
|
35
|
+
Подключите компонент в корне приложения, компонент будет импортирован и подключен автоматически в `corePlugin`: `<top-dialogs></top-dialogs>`.
|
|
36
|
+
|
|
37
|
+
`TopDialog` должен использовать только как корневой элемент компонента.
|
|
38
|
+
|
|
39
|
+
Подключение:
|
|
40
|
+
|
|
41
|
+
- Создайте компонент, который будет реализовывать диалоговое окно и разместите в нем `TopDialog`
|
|
42
|
+
- Укажите в объекте компонента свойсто `id`, для SFC укажите id через `defineOptions({ id })`
|
|
43
|
+
- При необходимости определите в компоненте вашего диалогового окна `props` и укажите `@open` и `@close` для `TopDialog`
|
|
44
|
+
- Вставьте в `TopDialog` компонент `TopDialogPage` с нужными слотами шапки и контента или `TopDialogPageComponent` с ссылкой на компонент страницы
|
|
45
|
+
- Через `useAsyncTopDialog()` / `useTopDialog` определите **ручку** для работы с диалоговым окном
|
|
46
|
+
- Открывайте диалоговое окно и управляйте им через **ручку**
|
|
47
|
+
|
|
48
|
+
Подробнее о [TopDialogPage](?path=/docs/components-dialog-dialog-page--docs)
|
|
49
|
+
|
|
50
|
+
Подробнее о [TopDialogPageComponent](?path=/docs/components-dialog-dialog-pagecomponent--docs)
|
|
51
|
+
|
|
52
|
+
## Пример
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
// создать ручку
|
|
56
|
+
const dialog = useAsyncTopDialog(() => import('./myDialog.vue'));
|
|
57
|
+
|
|
58
|
+
// ...
|
|
59
|
+
|
|
60
|
+
// открыть диалоговое окно с нужными props на нужной старнице, можно указать onCloseOnce, для перехвата закрытия открытого окна
|
|
61
|
+
await dialog.open();
|
|
62
|
+
|
|
63
|
+
// открыть диалоговое окно через hash-навигацию
|
|
64
|
+
await dialog.openAsLink();
|
|
65
|
+
|
|
66
|
+
// закрыть диалоговое окно
|
|
67
|
+
await dialog.close();
|
|
68
|
+
|
|
69
|
+
// усатнвоить props диалогового окна
|
|
70
|
+
await dialog.setProps();
|
|
71
|
+
|
|
72
|
+
// определить, нужно ли отображать указанную страницу
|
|
73
|
+
await dialog.needShowPage(pageName);
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Hash-навигация
|
|
77
|
+
|
|
78
|
+
При **hash-навигации** в url страницы будет подставляться:
|
|
79
|
+
|
|
80
|
+
- `view-dialog_{{ id }}={{ pageName }}`: ссылка на диалоговое окно, может указываться сразу несколько ссылок
|
|
81
|
+
- `vpn={{ number }}`: порядковый номер открытого диалогового окна, viewPageN
|
|
82
|
+
|
|
83
|
+
Для генерации ссылки на открытие диалогового окна используйте `genViewPageHash()`.
|
|
84
|
+
|
|
85
|
+
В шаблонах для автоматического создания ссылки на диалоговое окно добавьте к ссылке атрибут `data-to-view` с указателем на диалоговое окно.
|
|
86
|
+
При выполнении перехода по ссылке, значение `href` будет автоматически меняться на нужное.
|
|
87
|
+
|
|
88
|
+
```html
|
|
89
|
+
<a href="." data-to-view="dialog_example-inline">Ссылка на диалоговое окно</a>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
# Дополнительные компоненты
|
|
93
|
+
|
|
94
|
+
- `TopDialogPage`: компонент страницы диалогового окна
|
|
95
|
+
- `TopDialogPageComponent`: компонент для вывода страницы диалогового окна, определенного в другом файле
|
|
96
|
+
|
|
97
|
+
# Классы
|
|
98
|
+
|
|
99
|
+
При открытии добавляет элементу html класс `.with_dialog`. В основном класс нужен для блокировки основного скролла страницы.
|
|
100
|
+
|
|
101
|
+
## Утилиты
|
|
102
|
+
|
|
103
|
+
- `useAsyncTopDialog()`: - создает асинхронную **ручку** для работы с указанным диалоговым окном, не загружает диалоговое окно, пока это не будет
|
|
104
|
+
необходимо
|
|
105
|
+
- `useTopDialog()`: - создает **ручку** для работы с указанным диалоговым окном
|
|
106
|
+
- `useTopDialogSelf()`: создает **ручку** для работы с **текущим** диалоговым окном, используется внутри компонента вашего диалогового окна или его
|
|
107
|
+
страницы
|
|
108
|
+
- `genViewPageHash()`: сгенерировать **hash** с ссылкой на диалоговое окно и его страницу, может использоваться для смены `location.hash` или для
|
|
109
|
+
генерации ссылок
|
|
110
|
+
|
|
111
|
+
## Зависмости
|
|
112
|
+
|
|
113
|
+
Требует подключение словарей:
|
|
114
|
+
|
|
115
|
+
* i18n/Common
|
|
116
|
+
|
|
117
|
+
Требует подключение **jquery**, **jquery-ui dialog**
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useTopDialog } from '@/components/dialog/dialog/composables/utils';
|
|
2
|
+
import type { TopDialogLoad } from '@/components/dialog/lib/types';
|
|
3
|
+
import { waitWhile } from '@/core/utils/system';
|
|
4
|
+
|
|
5
|
+
export const load: TopDialogLoad = async (dialogId) => {
|
|
6
|
+
const ComponentModule = await import(`./${dialogId}/${dialogId}.vue`);
|
|
7
|
+
|
|
8
|
+
const dialog = useTopDialog(ComponentModule.default);
|
|
9
|
+
|
|
10
|
+
// ожидание инициализации компонента диалогового окна
|
|
11
|
+
await waitWhile(() => !dialog.isMounted.value);
|
|
12
|
+
};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { defineAsyncComponent } from 'vue';
|
|
3
|
+
import { TopDialog, TopDialogPage, TopDialogPageComponent, useTopDialogSelf } from '@/components/dialog/dialog';
|
|
4
|
+
|
|
5
|
+
import PageDefault from './pages/default.vue';
|
|
6
|
+
import PageWithoutCache from './pages/withoutCache.vue';
|
|
7
|
+
import PageHeaderButtons from './pages/headerButtons.vue';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* id компонента диалогового окна
|
|
11
|
+
*
|
|
12
|
+
* Гайдлайн: название файла этого компонента должно соответствовать формату: `dialog_${ id }`
|
|
13
|
+
*/
|
|
14
|
+
const id = 'example';
|
|
15
|
+
|
|
16
|
+
defineOptions({ id });
|
|
17
|
+
|
|
18
|
+
const PageAsync = defineAsyncComponent(() => import('./pages/async.vue'));
|
|
19
|
+
|
|
20
|
+
withDefaults(defineProps<{
|
|
21
|
+
a?: number
|
|
22
|
+
}>(), {
|
|
23
|
+
a: 0,
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const dialog = useTopDialogSelf();
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<template>
|
|
30
|
+
<TopDialog
|
|
31
|
+
id="example"
|
|
32
|
+
pageActive="inline"
|
|
33
|
+
height="400px"
|
|
34
|
+
@open="console.log('Открыто окно Example, страница: ' + $event)"
|
|
35
|
+
@close="console.log('Закрыто окно Example, страница: ' + $event)"
|
|
36
|
+
>
|
|
37
|
+
<KeepAlive>
|
|
38
|
+
<TopDialogPage :order="0" name="inline" v-if="dialog.needShowPage('inline')">
|
|
39
|
+
<template #header>
|
|
40
|
+
Простая страница: inline
|
|
41
|
+
</template>
|
|
42
|
+
|
|
43
|
+
<template #body>
|
|
44
|
+
props диалогового окна: {{ $props }}<br><br>
|
|
45
|
+
|
|
46
|
+
Код данной страницы диалогового окна реализуется в самом компоненте диалогового окна, в остальных примерах страницы будут
|
|
47
|
+
подключаться отдельными компонентами<br><br>
|
|
48
|
+
|
|
49
|
+
Такой способ реализации предпочтителен для дилоговых окон с одной страницей.
|
|
50
|
+
|
|
51
|
+
<br><br>
|
|
52
|
+
|
|
53
|
+
<TopTextarea
|
|
54
|
+
model-value=""
|
|
55
|
+
:expandable="false"
|
|
56
|
+
:rows="15"
|
|
57
|
+
></TopTextarea>
|
|
58
|
+
</template>
|
|
59
|
+
|
|
60
|
+
<template #footer>
|
|
61
|
+
<TopButton color="theme" styling="outline" @click="dialog.close()" style="margin-right: auto">Закрыть</TopButton>
|
|
62
|
+
|
|
63
|
+
<TopButton @click="dialog.open('default')">Далее</TopButton>
|
|
64
|
+
</template>
|
|
65
|
+
</TopDialogPage>
|
|
66
|
+
</KeepAlive>
|
|
67
|
+
|
|
68
|
+
<TopDialogPageComponent name="default" :order="1" prevName="inline" :component="PageDefault" :a/>
|
|
69
|
+
<TopDialogPageComponent name="async" :order="2" prevName="default" :component="PageAsync" :a/>
|
|
70
|
+
<TopDialogPageComponent name="withoutCache" :order="3" prevName="async" :component="PageWithoutCache" :keepAlive="false" :a/>
|
|
71
|
+
<TopDialogPageComponent name="headerButtons" :order="4" prevName="withoutCache" :component="PageHeaderButtons"/>
|
|
72
|
+
</TopDialog>
|
|
73
|
+
</template>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed, ref } from 'vue';
|
|
3
|
+
import { TopButton } from '@/components/forms/forms';
|
|
4
|
+
import { TopDialogPage, useTopDialogSelf } from '@/components/dialog/dialog';
|
|
5
|
+
import type { TopDialogPagePropsCommon } from '@/components/dialog/dialog';
|
|
6
|
+
import { useLog } from './utils';
|
|
7
|
+
|
|
8
|
+
const props = defineProps<TopDialogPagePropsCommon & {
|
|
9
|
+
a: number
|
|
10
|
+
}>();
|
|
11
|
+
|
|
12
|
+
const dialog = useTopDialogSelf();
|
|
13
|
+
|
|
14
|
+
const b = ref(0);
|
|
15
|
+
|
|
16
|
+
const sum = computed(() => {
|
|
17
|
+
let res = 0;
|
|
18
|
+
if (props.a) res += props.a;
|
|
19
|
+
|
|
20
|
+
res += b.value;
|
|
21
|
+
|
|
22
|
+
return res;
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const reset = () => {
|
|
26
|
+
b.value = 0;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
useLog(props);
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<template>
|
|
33
|
+
<TopDialogPage :name="name" :order="order" :prevName="prevName">
|
|
34
|
+
<template #headerButtons></template>
|
|
35
|
+
|
|
36
|
+
<template #header>
|
|
37
|
+
Простая страница: {{ name }} {{ prevName }}
|
|
38
|
+
</template>
|
|
39
|
+
|
|
40
|
+
<template #body>
|
|
41
|
+
props: {{ $props }}<br>
|
|
42
|
+
ref b: {{ b }}<br>
|
|
43
|
+
sum: {{ sum }}<br><br>
|
|
44
|
+
|
|
45
|
+
Эта страница грузится ассинхронно<br><br>
|
|
46
|
+
Такой способ подключения предпочтителен для дилоговых окон с несколькими страницами, если их загрузку можно отложить.
|
|
47
|
+
</template>
|
|
48
|
+
|
|
49
|
+
<template #footer>
|
|
50
|
+
<TopButton color="theme" styling="outline" @click="dialog.open('default')" style="margin-right: auto">Назад</TopButton>
|
|
51
|
+
|
|
52
|
+
<TopButton color="theme" styling="soft" @click="b++">Прибавить 1</TopButton>
|
|
53
|
+
<TopButton color="theme" styling="soft" @click="reset()">Сбросить</TopButton>
|
|
54
|
+
<TopButton @click="dialog.open('withoutCache')">Далее</TopButton>
|
|
55
|
+
</template>
|
|
56
|
+
</TopDialogPage>
|
|
57
|
+
</template>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed, ref } from 'vue';
|
|
3
|
+
import { TopButton } from '@/components/forms/forms';
|
|
4
|
+
import { TopDialogPage, useTopDialogSelf } from '@/components/dialog/dialog';
|
|
5
|
+
import type { TopDialogPagePropsCommon } from '@/components/dialog/dialog';
|
|
6
|
+
import { useLog } from './utils';
|
|
7
|
+
|
|
8
|
+
const props = defineProps<TopDialogPagePropsCommon & {
|
|
9
|
+
a: number
|
|
10
|
+
}>();
|
|
11
|
+
|
|
12
|
+
const dialog = useTopDialogSelf();
|
|
13
|
+
|
|
14
|
+
const b = ref(0);
|
|
15
|
+
|
|
16
|
+
const sum = computed(() => {
|
|
17
|
+
let res = 0;
|
|
18
|
+
if (props.a) res += props.a;
|
|
19
|
+
|
|
20
|
+
res += b.value;
|
|
21
|
+
|
|
22
|
+
return res;
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const reset = () => {
|
|
26
|
+
b.value = 0;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
useLog(props);
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<template>
|
|
33
|
+
<TopDialogPage :name="name" :order="order" :prevName="prevName">
|
|
34
|
+
<template #headerButtons></template>
|
|
35
|
+
|
|
36
|
+
<template #header>
|
|
37
|
+
Простая страница: {{ name }}
|
|
38
|
+
</template>
|
|
39
|
+
|
|
40
|
+
<template #body>
|
|
41
|
+
props: {{ $props }}<br>
|
|
42
|
+
ref b: {{ b }}<br>
|
|
43
|
+
sum: {{ sum }}<br><br>
|
|
44
|
+
|
|
45
|
+
Стандартная функциональность: Состояние этой страницы сохраянется при закрытии и смены страниц
|
|
46
|
+
|
|
47
|
+
<br><br>
|
|
48
|
+
|
|
49
|
+
<TopTextarea
|
|
50
|
+
model-value=""
|
|
51
|
+
:expandable="false"
|
|
52
|
+
:rows="15"
|
|
53
|
+
></TopTextarea>
|
|
54
|
+
</template>
|
|
55
|
+
|
|
56
|
+
<template #footer>
|
|
57
|
+
<TopButton color="theme" styling="outline" @click="dialog.open('inline')" style="margin-right: auto">Назад</TopButton>
|
|
58
|
+
|
|
59
|
+
<TopButton color="theme" styling="soft" @click="b++">Прибавить 1</TopButton>
|
|
60
|
+
<TopButton color="theme" styling="soft" @click="reset()">Сбросить</TopButton>
|
|
61
|
+
<TopButton @click="dialog.open('async')">Далее</TopButton>
|
|
62
|
+
</template>
|
|
63
|
+
</TopDialogPage>
|
|
64
|
+
</template>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { TopButton } from '@/components/forms/forms';
|
|
3
|
+
import { TopDialogPage, useTopDialogSelf } from '@/components/dialog/dialog';
|
|
4
|
+
import type { TopDialogPagePropsCommon } from '@/components/dialog/dialog';
|
|
5
|
+
import { useLog } from './utils';
|
|
6
|
+
|
|
7
|
+
const props = defineProps<TopDialogPagePropsCommon>();
|
|
8
|
+
|
|
9
|
+
const dialog = useTopDialogSelf();
|
|
10
|
+
|
|
11
|
+
const print = () => {
|
|
12
|
+
window.print();
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
useLog(props);
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<template>
|
|
19
|
+
<TopDialogPage :name="name" :order="order" :prevName="prevName">
|
|
20
|
+
<template #headerButtons>
|
|
21
|
+
<TopButton icon="" color="theme" @click="print()"></TopButton>
|
|
22
|
+
</template>
|
|
23
|
+
|
|
24
|
+
<template #header>
|
|
25
|
+
С кнопками: {{ name }}
|
|
26
|
+
</template>
|
|
27
|
+
|
|
28
|
+
<template #body>
|
|
29
|
+
<h4>Обратите внимание</h4>
|
|
30
|
+
|
|
31
|
+
Чтобы смена страниц в окне выглядела органично, дилоговому окну надо задать высоту, равную максимальной высоте всех ее страниц<br><br>
|
|
32
|
+
|
|
33
|
+
<h4>Ссылки на окна и хеш навигация</h4>
|
|
34
|
+
|
|
35
|
+
Иногда бывает необходимо дать ссылку на диалоговое окно, например на авториазцию. Если в адресе страницы есть ссылка на диалоговое
|
|
36
|
+
окно, но его компонент не загружен и не инициирвоан, это произойдет автоматическое и окно будет октрыто на нужное странице.<br><br>
|
|
37
|
+
|
|
38
|
+
Загрузка компонентов происходит по пути: @/dialogs/{{ dialogName }}/{{ dialogName }}.ts, таким образом генерировать ссылки
|
|
39
|
+
на окно, можно только для компонентов из папки @/dialogs.<br><br>
|
|
40
|
+
|
|
41
|
+
<div style="display: flex; gap: var(--top-gap-1);">
|
|
42
|
+
<TopButton href="." data-to-view="dialog_example-inline" styling="soft" target="_self">inline</TopButton>
|
|
43
|
+
<TopButton href="." data-to-view="dialog_example-default" styling="soft" target="_self">default</TopButton>
|
|
44
|
+
<TopButton href="." data-to-view="dialog_example-async" styling="soft" target="_self">async</TopButton>
|
|
45
|
+
<TopButton href="." data-to-view="dialog_example-withoutCache" styling="soft" target="_self">withoutCache</TopButton>
|
|
46
|
+
<TopButton href="." data-to-view="dialog_example-headerButtons" styling="soft" target="_self">headerButtons</TopButton>
|
|
47
|
+
</div>
|
|
48
|
+
</template>
|
|
49
|
+
|
|
50
|
+
<template #footer>
|
|
51
|
+
<TopButton color="theme" styling="outline" @click="dialog.open('withoutCache')" style="margin-right: auto">Назад</TopButton>
|
|
52
|
+
|
|
53
|
+
<TopButton @click="dialog.close()">Закрыть</TopButton>
|
|
54
|
+
</template>
|
|
55
|
+
</TopDialogPage>
|
|
56
|
+
</template>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { onMounted, onUnmounted, onActivated, onDeactivated } from 'vue';
|
|
2
|
+
import type { DefineProps } from 'vue';
|
|
3
|
+
import type { TopDialogPagePropsCommon } from '@/components/dialog/dialog';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Логирования в console.log() событий страницы диалогового окна
|
|
7
|
+
* @param props
|
|
8
|
+
*/
|
|
9
|
+
export const useLog = (props: DefineProps<TopDialogPagePropsCommon, never>) => {
|
|
10
|
+
onMounted(() => {
|
|
11
|
+
console.log('Страница ' + props.name + ' открыта (создана)');
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
onUnmounted(() => {
|
|
15
|
+
// это не произойдет, если страница в KeepAlive
|
|
16
|
+
console.log('Страница ' + props.name + ' закрыта (память очищена)');
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
onActivated(() => {
|
|
20
|
+
console.log('Страница ' + props.name + ' открыта (отображена)');
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
onDeactivated(() => {
|
|
24
|
+
console.log('Страница ' + props.name + ' закрыта (память не очищена)');
|
|
25
|
+
});
|
|
26
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed, ref } from 'vue';
|
|
3
|
+
import { TopButton } from '@/components/forms/forms';
|
|
4
|
+
import { TopDialogPage, useTopDialogSelf } from '@/components/dialog/dialog';
|
|
5
|
+
import type { TopDialogPagePropsCommon } from '@/components/dialog/dialog';
|
|
6
|
+
import { useLog } from './utils';
|
|
7
|
+
|
|
8
|
+
const props = defineProps<TopDialogPagePropsCommon & {
|
|
9
|
+
a: number
|
|
10
|
+
}>();
|
|
11
|
+
|
|
12
|
+
const dialog = useTopDialogSelf();
|
|
13
|
+
|
|
14
|
+
const b = ref(0);
|
|
15
|
+
|
|
16
|
+
const sum = computed(() => {
|
|
17
|
+
let res = 0;
|
|
18
|
+
if (props.a) res += props.a;
|
|
19
|
+
|
|
20
|
+
res += b.value;
|
|
21
|
+
|
|
22
|
+
return res;
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const reset = () => {
|
|
26
|
+
b.value = 0;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
useLog(props);
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<template>
|
|
33
|
+
<TopDialogPage :name="name" :order="order" :prevName="prevName">
|
|
34
|
+
<template #headerButtons></template>
|
|
35
|
+
|
|
36
|
+
<template #header>
|
|
37
|
+
Страница без кеширования: {{ name }}
|
|
38
|
+
</template>
|
|
39
|
+
|
|
40
|
+
<template #body>
|
|
41
|
+
props: {{ $props }}<br>
|
|
42
|
+
ref b: {{ b }}<br>
|
|
43
|
+
sum: {{ sum }}<br><br>
|
|
44
|
+
|
|
45
|
+
Состояние этой страницы сбрасывается при закрытии и смены страниц, установлена настройка <b>keepAlive = false</b>
|
|
46
|
+
|
|
47
|
+
<br><br>
|
|
48
|
+
|
|
49
|
+
<TopTextarea
|
|
50
|
+
model-value=""
|
|
51
|
+
:expandable="false"
|
|
52
|
+
:rows="15"
|
|
53
|
+
></TopTextarea>
|
|
54
|
+
</template>
|
|
55
|
+
|
|
56
|
+
<template #footer>
|
|
57
|
+
<TopButton color="theme" styling="outline" @click="dialog.open('async')" style="margin-right: auto">Назад</TopButton>
|
|
58
|
+
|
|
59
|
+
<TopButton color="theme" styling="soft" @click="b++">Прибавить 1</TopButton>
|
|
60
|
+
<TopButton color="theme" styling="soft" @click="reset()">Сбросить</TopButton>
|
|
61
|
+
<TopButton @click="dialog.open('headerButtons')">Далее</TopButton>
|
|
62
|
+
</template>
|
|
63
|
+
</TopDialogPage>
|
|
64
|
+
</template>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
## Описание компонента
|
|
2
|
+
|
|
3
|
+
Каждое диалоговое окно обязано иметь хотя бы одну страницу. Этот компонент используется для определения страницы диалоговоого окна.
|
|
4
|
+
|
|
5
|
+
Страница **не является** самостоятельным компонентом, ее набор **props** напрямую связан с диалоговым окном и не может управляться извне.
|
|
6
|
+
Старайтесь не использовать **store** в компонентах страницы.
|
|
7
|
+
|
|
8
|
+
Страница может быть определена двумя способами:
|
|
9
|
+
|
|
10
|
+
- **inline**: шаблон страницы пишется прямо в шаблоне диалогового окна, рекомендуется использовать:
|
|
11
|
+
- для диалоговых окон с одной страницей
|
|
12
|
+
- для диалоговых окон с несколькими страницами, но с очень простой версткой, когда вынесение страницы в отдельные файлы делать не хочется
|
|
13
|
+
- для диалоговых окон с несколькими страницами, с общим **state**, разделять который на несколько файлов не удобно
|
|
14
|
+
- **component**: страница определяется как отельный компонент и подключается
|
|
15
|
+
через [TopDialogPageComponent](?path=/docs/components-dialog-dialog-pagecomponent--docs), рекомендуется использовать:
|
|
16
|
+
- для диалоговых окон с несколькими страницами
|
|
17
|
+
- для страниц, которые планируется переиспользовать в разных диалоговых окнах
|
|
18
|
+
|
|
19
|
+
## Подклчючение
|
|
20
|
+
|
|
21
|
+
`TopDialogPage` должен использоваться либо только внутри слота `TopDialog` (inline) либо только как корневой элемент компонента (component).
|
|
22
|
+
|
|
23
|
+
При определении страницы в режиме **component** этот компонент должен реализовывать набор `props`, определенный в типе `TopDialogPagePropsCommon`.
|
|
24
|
+
При указании `props` в объектном стиле используйте зарнее подготовленный набор `propsPageCommon`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
## Описание компонента
|
|
2
|
+
|
|
3
|
+
Этот компонент используется для определения компонента страницы диалоговоого окна, который можно подключать в других диалоговых окнах.
|
|
4
|
+
|
|
5
|
+
## Подклчючение
|
|
6
|
+
|
|
7
|
+
`TopDialogPageComponent` должен использовать только внутри слота `TopDialog`.
|
|
8
|
+
|
|
9
|
+
- Создайте компонент, который будет реализовывать страницу и разместите в нем `TopDialogPage`.
|
|
10
|
+
- Подключите его через `TopDialogPageComponent` в нужное диалоговое окно
|
|
11
|
+
|
|
12
|
+
Подробнее о [TopDialogPage](?path=/docs/components-dialog-dialog-page--docs)
|