diff --git a/apps/web-ele/package.json b/apps/web-ele/package.json index a02376ee8..587694005 100644 --- a/apps/web-ele/package.json +++ b/apps/web-ele/package.json @@ -1,6 +1,6 @@ { "name": "@vben/web-ele", - "version": "5.5.1", + "version": "5.5.2", "homepage": "https://vben.pro", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/apps/web-naive/package.json b/apps/web-naive/package.json index 5bd3b1a74..57857c892 100644 --- a/apps/web-naive/package.json +++ b/apps/web-naive/package.json @@ -1,6 +1,6 @@ { "name": "@vben/web-naive", - "version": "5.5.1", + "version": "5.5.2", "homepage": "https://vben.pro", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/docs/package.json b/docs/package.json index 2d56a8ba5..5ea22fd1c 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "@vben/docs", - "version": "5.5.1", + "version": "5.5.2", "private": true, "scripts": { "build": "vitepress build", diff --git a/internal/lint-configs/commitlint-config/package.json b/internal/lint-configs/commitlint-config/package.json index 01b43088c..d7e4c5180 100644 --- a/internal/lint-configs/commitlint-config/package.json +++ b/internal/lint-configs/commitlint-config/package.json @@ -1,6 +1,6 @@ { "name": "@vben/commitlint-config", - "version": "5.5.1", + "version": "5.5.2", "private": true, "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", diff --git a/internal/lint-configs/stylelint-config/package.json b/internal/lint-configs/stylelint-config/package.json index 64815741f..02491dd0f 100644 --- a/internal/lint-configs/stylelint-config/package.json +++ b/internal/lint-configs/stylelint-config/package.json @@ -1,6 +1,6 @@ { "name": "@vben/stylelint-config", - "version": "5.5.1", + "version": "5.5.2", "private": true, "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", diff --git a/internal/node-utils/package.json b/internal/node-utils/package.json index 9412656a9..b2a60da8c 100644 --- a/internal/node-utils/package.json +++ b/internal/node-utils/package.json @@ -1,6 +1,6 @@ { "name": "@vben/node-utils", - "version": "5.5.1", + "version": "5.5.2", "private": true, "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", diff --git a/internal/tailwind-config/package.json b/internal/tailwind-config/package.json index 26da63b48..0b64d1d53 100644 --- a/internal/tailwind-config/package.json +++ b/internal/tailwind-config/package.json @@ -1,6 +1,6 @@ { "name": "@vben/tailwind-config", - "version": "5.5.1", + "version": "5.5.2", "private": true, "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", diff --git a/internal/tsconfig/package.json b/internal/tsconfig/package.json index d935b671c..8ebfeebfd 100644 --- a/internal/tsconfig/package.json +++ b/internal/tsconfig/package.json @@ -1,6 +1,6 @@ { "name": "@vben/tsconfig", - "version": "5.5.1", + "version": "5.5.2", "private": true, "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", diff --git a/internal/vite-config/package.json b/internal/vite-config/package.json index 60955a1d4..6c589a1f1 100644 --- a/internal/vite-config/package.json +++ b/internal/vite-config/package.json @@ -1,6 +1,6 @@ { "name": "@vben/vite-config", - "version": "5.5.1", + "version": "5.5.2", "private": true, "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", diff --git a/package.json b/package.json index 8544ec69f..81a98c884 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vben-admin-monorepo", - "version": "5.5.1", + "version": "5.5.2", "private": true, "keywords": [ "monorepo", diff --git a/packages/@core/base/design/package.json b/packages/@core/base/design/package.json index 7b46ddd74..1d9888ca7 100644 --- a/packages/@core/base/design/package.json +++ b/packages/@core/base/design/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/design", - "version": "5.5.1", + "version": "5.5.2", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/base/icons/package.json b/packages/@core/base/icons/package.json index 754b74509..144814a04 100644 --- a/packages/@core/base/icons/package.json +++ b/packages/@core/base/icons/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/icons", - "version": "5.5.1", + "version": "5.5.2", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/base/shared/package.json b/packages/@core/base/shared/package.json index 20eeea450..c52c040cc 100644 --- a/packages/@core/base/shared/package.json +++ b/packages/@core/base/shared/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/shared", - "version": "5.5.1", + "version": "5.5.2", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/base/typings/package.json b/packages/@core/base/typings/package.json index 504e53ed8..c71539395 100644 --- a/packages/@core/base/typings/package.json +++ b/packages/@core/base/typings/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/typings", - "version": "5.5.1", + "version": "5.5.2", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/base/typings/src/app.d.ts b/packages/@core/base/typings/src/app.d.ts index f783c8b56..ae49c786e 100644 --- a/packages/@core/base/typings/src/app.d.ts +++ b/packages/@core/base/typings/src/app.d.ts @@ -1,5 +1,6 @@ type LayoutType = | 'full-content' + | 'header-mixed-nav' | 'header-nav' | 'mixed-nav' | 'sidebar-mixed-nav' diff --git a/packages/@core/composables/package.json b/packages/@core/composables/package.json index 736feefa2..49f972fe0 100644 --- a/packages/@core/composables/package.json +++ b/packages/@core/composables/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/composables", - "version": "5.5.1", + "version": "5.5.2", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/preferences/__tests__/__snapshots__/config.test.ts.snap b/packages/@core/preferences/__tests__/__snapshots__/config.test.ts.snap index 87f03de69..81df96821 100644 --- a/packages/@core/preferences/__tests__/__snapshots__/config.test.ts.snap +++ b/packages/@core/preferences/__tests__/__snapshots__/config.test.ts.snap @@ -71,7 +71,7 @@ exports[`defaultPreferences immutability test > should not modify the config obj "collapsedShowTitle": false, "enable": true, "expandOnHover": true, - "extraCollapse": true, + "extraCollapse": false, "hidden": false, "width": 224, }, diff --git a/packages/@core/preferences/package.json b/packages/@core/preferences/package.json index 24b522e21..26232bf56 100644 --- a/packages/@core/preferences/package.json +++ b/packages/@core/preferences/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/preferences", - "version": "5.5.1", + "version": "5.5.2", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/preferences/src/config.ts b/packages/@core/preferences/src/config.ts index 48073b64f..dcce14acb 100644 --- a/packages/@core/preferences/src/config.ts +++ b/packages/@core/preferences/src/config.ts @@ -71,7 +71,7 @@ const defaultPreferences: Preferences = { collapsedShowTitle: false, enable: true, expandOnHover: true, - extraCollapse: true, + extraCollapse: false, hidden: false, width: 224, }, diff --git a/packages/@core/preferences/src/use-preferences.ts b/packages/@core/preferences/src/use-preferences.ts index fc1e2de5f..ecd2bc74d 100644 --- a/packages/@core/preferences/src/use-preferences.ts +++ b/packages/@core/preferences/src/use-preferences.ts @@ -82,6 +82,10 @@ function usePreferences() { () => appPreferences.value.layout === 'header-nav', ); + const isHeaderMixedNav = computed( + () => appPreferences.value.layout === 'header-mixed-nav', + ); + /** * @zh_CN 是否为混合导航模式 */ @@ -93,7 +97,12 @@ function usePreferences() { * @zh_CN 是否包含侧边导航模式 */ const isSideMode = computed(() => { - return isMixedNav.value || isSideMixedNav.value || isSideNav.value; + return ( + isMixedNav.value || + isSideMixedNav.value || + isSideNav.value || + isHeaderMixedNav.value + ); }); const sidebarCollapsed = computed(() => { @@ -214,6 +223,7 @@ function usePreferences() { globalSearchShortcutKey, isDark, isFullContent, + isHeaderMixedNav, isHeaderNav, isMixedNav, isMobile, diff --git a/packages/@core/ui-kit/form-ui/package.json b/packages/@core/ui-kit/form-ui/package.json index 944fd49ef..a3f42ded6 100644 --- a/packages/@core/ui-kit/form-ui/package.json +++ b/packages/@core/ui-kit/form-ui/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/form-ui", - "version": "5.5.1", + "version": "5.5.2", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/ui-kit/layout-ui/package.json b/packages/@core/ui-kit/layout-ui/package.json index 7aa4a35b8..25bf67155 100644 --- a/packages/@core/ui-kit/layout-ui/package.json +++ b/packages/@core/ui-kit/layout-ui/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/layout-ui", - "version": "5.5.1", + "version": "5.5.2", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/ui-kit/layout-ui/src/hooks/use-layout.ts b/packages/@core/ui-kit/layout-ui/src/hooks/use-layout.ts index 354fcb442..7b758dc46 100644 --- a/packages/@core/ui-kit/layout-ui/src/hooks/use-layout.ts +++ b/packages/@core/ui-kit/layout-ui/src/hooks/use-layout.ts @@ -31,9 +31,17 @@ export function useLayout(props: VbenLayoutProps) { */ const isMixedNav = computed(() => currentLayout.value === 'mixed-nav'); + /** + * 是否为头部混合模式 + */ + const isHeaderMixedNav = computed( + () => currentLayout.value === 'header-mixed-nav', + ); + return { currentLayout, isFullContent, + isHeaderMixedNav, isHeaderNav, isMixedNav, isSidebarMixedNav, diff --git a/packages/@core/ui-kit/layout-ui/src/vben-layout.vue b/packages/@core/ui-kit/layout-ui/src/vben-layout.vue index fe9b1d852..dee990b3c 100644 --- a/packages/@core/ui-kit/layout-ui/src/vben-layout.vue +++ b/packages/@core/ui-kit/layout-ui/src/vben-layout.vue @@ -87,6 +87,7 @@ const { y: mouseY } = useMouse({ target: contentRef, type: 'client' }); const { currentLayout, isFullContent, + isHeaderMixedNav, isHeaderNav, isMixedNav, isSidebarMixedNav, @@ -112,7 +113,9 @@ const getSideCollapseWidth = computed(() => { const { sidebarCollapseShowTitle, sidebarMixedWidth, sideCollapseWidth } = props; - return sidebarCollapseShowTitle || isSidebarMixedNav.value + return sidebarCollapseShowTitle || + isSidebarMixedNav.value || + isHeaderMixedNav.value ? sidebarMixedWidth : sideCollapseWidth; }); @@ -145,12 +148,15 @@ const getSidebarWidth = computed(() => { if ( !sidebarEnableState.value || - (sidebarHidden && !isSidebarMixedNav.value && !isMixedNav.value) + (sidebarHidden && + !isSidebarMixedNav.value && + !isMixedNav.value && + !isHeaderMixedNav.value) ) { return width; } - if (isSidebarMixedNav.value && !isMobile) { + if ((isHeaderMixedNav.value || isSidebarMixedNav.value) && !isMobile) { width = sidebarMixedWidth; } else if (sidebarCollapse.value) { width = isMobile ? 0 : getSideCollapseWidth.value; @@ -176,7 +182,8 @@ const isSideMode = computed( () => currentLayout.value === 'mixed-nav' || currentLayout.value === 'sidebar-mixed-nav' || - currentLayout.value === 'sidebar-nav', + currentLayout.value === 'sidebar-nav' || + currentLayout.value === 'header-mixed-nav', ); /** @@ -213,7 +220,7 @@ const mainStyle = computed(() => { ) { // fixed模式下生效 const isSideNavEffective = - isSidebarMixedNav.value && + (isSidebarMixedNav.value || isHeaderMixedNav.value) && sidebarExpandOnHover.value && sidebarExtraVisible.value; @@ -476,7 +483,7 @@ const idMainContent = ELEMENT_ID_MAIN_CONTENT; :extra-width="sidebarExtraWidth" :fixed-extra="sidebarExpandOnHover" :header-height="isMixedNav ? 0 : headerHeight" - :is-sidebar-mixed="isSidebarMixedNav" + :is-sidebar-mixed="isSidebarMixedNav || isHeaderMixedNav" :margin-top="sidebarMarginTop" :mixed-width="sidebarMixedWidth" :show="showSidebar" @@ -489,7 +496,7 @@ const idMainContent = ELEMENT_ID_MAIN_CONTENT; -