diff --git a/apps/web-ele/package.json b/apps/web-ele/package.json index a02376ee..58769400 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 5bd3b1a7..57857c89 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 2d56a8ba..5ea22fd1 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 01b43088..d7e4c518 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 64815741..02491dd0 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 9412656a..b2a60da8 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 26da63b4..0b64d1d5 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 d935b671..8ebfeebf 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 60955a1d..6c589a1f 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 8544ec69..81a98c88 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 7b46ddd7..1d9888ca 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 754b7450..144814a0 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 20eeea45..c52c040c 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 504e53ed..c7153939 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 f783c8b5..ae49c786 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 736feefa..49f972fe 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 87f03de6..81df9682 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 24b522e2..26232bf5 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 48073b64..dcce14ac 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 fc1e2de5..ecd2bc74 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 944fd49e..a3f42ded 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 7aa4a35b..25bf6715 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 354fcb44..7b758dc4 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 fe9b1d85..dee990b3 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; -