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;
-
+
diff --git a/packages/@core/ui-kit/menu-ui/package.json b/packages/@core/ui-kit/menu-ui/package.json
index 4c833cb8..768c6e70 100644
--- a/packages/@core/ui-kit/menu-ui/package.json
+++ b/packages/@core/ui-kit/menu-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@vben-core/menu-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/shadcn-ui/package.json b/packages/@core/ui-kit/shadcn-ui/package.json
index cccaa690..439725a2 100644
--- a/packages/@core/ui-kit/shadcn-ui/package.json
+++ b/packages/@core/ui-kit/shadcn-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@vben-core/shadcn-ui",
- "version": "5.5.1",
+ "version": "5.5.2",
"#main": "./dist/index.mjs",
"#module": "./dist/index.mjs",
"homepage": "https://github.com/vbenjs/vue-vben-admin",
diff --git a/packages/@core/ui-kit/tabs-ui/package.json b/packages/@core/ui-kit/tabs-ui/package.json
index 7e98a842..37970151 100644
--- a/packages/@core/ui-kit/tabs-ui/package.json
+++ b/packages/@core/ui-kit/tabs-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@vben-core/tabs-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/constants/package.json b/packages/constants/package.json
index aeb73387..c9372a50 100644
--- a/packages/constants/package.json
+++ b/packages/constants/package.json
@@ -1,6 +1,6 @@
{
"name": "@vben/constants",
- "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/effects/access/package.json b/packages/effects/access/package.json
index ca991275..4fa518b1 100644
--- a/packages/effects/access/package.json
+++ b/packages/effects/access/package.json
@@ -1,6 +1,6 @@
{
"name": "@vben/access",
- "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/effects/common-ui/package.json b/packages/effects/common-ui/package.json
index 0fc53bec..dbaf628e 100644
--- a/packages/effects/common-ui/package.json
+++ b/packages/effects/common-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@vben/common-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/effects/hooks/package.json b/packages/effects/hooks/package.json
index a531cf9c..2eb5708d 100644
--- a/packages/effects/hooks/package.json
+++ b/packages/effects/hooks/package.json
@@ -1,6 +1,6 @@
{
"name": "@vben/hooks",
- "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/effects/layouts/package.json b/packages/effects/layouts/package.json
index f1eba82e..ec230905 100644
--- a/packages/effects/layouts/package.json
+++ b/packages/effects/layouts/package.json
@@ -1,6 +1,6 @@
{
"name": "@vben/layouts",
- "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/effects/layouts/src/basic/layout.vue b/packages/effects/layouts/src/basic/layout.vue
index abfb9add..73f692f6 100644
--- a/packages/effects/layouts/src/basic/layout.vue
+++ b/packages/effects/layouts/src/basic/layout.vue
@@ -1,7 +1,7 @@