chore: update vite 8

This commit is contained in:
xingyu4j
2026-03-13 15:51:28 +08:00
parent 0e4bf80bf4
commit 443e4b04cd
12 changed files with 867 additions and 257 deletions

View File

@@ -30,6 +30,12 @@ interface BasicUserInfo {
username: string;
}
type ClassType = Array<object | string> | object | string;
type ClassType =
| Array<ClassType>
| boolean
| null
| object
| string
| undefined;
export type { BasicOption, BasicUserInfo, ClassType, SelectOption, TabOption };

View File

@@ -57,12 +57,10 @@ function menuIcon(menu: MenuRecordRaw) {
</template>
</ul>
</template>
<style lang="scss" scoped>
$namespace: vben;
<style scoped>
@reference "@vben-core/design/theme";
.#{$namespace}-normal-menu {
.vben-normal-menu {
--menu-item-margin-y: 4px;
--menu-item-margin-x: 0px;
--menu-item-padding-y: 9px;
@@ -70,96 +68,93 @@ $namespace: vben;
--menu-item-radius: 0px;
height: calc(100% - 4px);
}
&.is-rounded {
--menu-item-radius: 6px;
--menu-item-margin-x: 8px;
}
.vben-normal-menu.is-rounded {
--menu-item-radius: 6px;
--menu-item-margin-x: 8px;
}
&.is-dark {
.#{$namespace}-normal-menu__item {
@apply text-foreground/80;
// color: hsl(var(--foreground) / 80%);
.vben-normal-menu.is-dark .vben-normal-menu__item {
@apply text-foreground/80;
}
&:not(.is-active):hover {
@apply text-foreground;
}
.vben-normal-menu.is-dark .vben-normal-menu__item:not(.is-active):hover {
@apply text-foreground;
}
&.is-active {
.#{$namespace}-normal-menu__name,
.#{$namespace}-normal-menu__icon {
@apply text-foreground;
}
}
}
}
.vben-normal-menu.is-dark
.vben-normal-menu__item.is-active
.vben-normal-menu__name,
.vben-normal-menu.is-dark
.vben-normal-menu__item.is-active
.vben-normal-menu__icon {
@apply text-foreground;
}
&.is-collapse {
.#{$namespace}-normal-menu__name {
width: 0;
height: 0;
margin-top: 0;
overflow: hidden;
opacity: 0;
}
.vben-normal-menu.is-collapse .vben-normal-menu__name {
width: 0;
height: 0;
margin-top: 0;
overflow: hidden;
opacity: 0;
}
.#{$namespace}-normal-menu__icon {
font-size: calc(var(--font-size-base, 16px) * 1.25);
}
}
.vben-normal-menu.is-collapse .vben-normal-menu__icon {
font-size: calc(var(--font-size-base, 16px) * 1.25);
}
&__item {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
// max-width: 64px;
// max-height: 64px;
padding: var(--menu-item-padding-y) var(--menu-item-padding-x);
margin: var(--menu-item-margin-y) var(--menu-item-margin-x);
color: hsl(var(--foreground) / 90%);
cursor: pointer;
border-radius: var(--menu-item-radius);
transition:
background 0.15s ease,
padding 0.15s ease,
border-color 0.15s ease;
.vben-normal-menu__item {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
&.is-active {
@apply bg-primary text-primary dark:bg-accent;
/* max-width: 64px; */
.#{$namespace}-normal-menu__name,
.#{$namespace}-normal-menu__icon {
@apply text-primary-foreground font-semibold;
}
}
/* max-height: 64px; */
padding: var(--menu-item-padding-y) var(--menu-item-padding-x);
margin: var(--menu-item-margin-y) var(--menu-item-margin-x);
color: hsl(var(--foreground) / 90%);
cursor: pointer;
border-radius: var(--menu-item-radius);
transition:
background 0.15s ease,
padding 0.15s ease,
border-color 0.15s ease;
}
&:not(.is-active):hover {
@apply bg-heavy text-primary dark:bg-accent dark:text-foreground;
}
.vben-normal-menu__item.is-active {
@apply bg-primary text-primary dark:bg-accent;
}
&:hover {
.#{$namespace}-normal-menu__icon {
transform: scale(1.2);
}
}
}
.vben-normal-menu__item.is-active .vben-normal-menu__name,
.vben-normal-menu__item.is-active .vben-normal-menu__icon {
@apply text-primary-foreground font-semibold;
}
&__icon {
max-height: 20px;
font-size: calc(var(--font-size-base, 16px) * 1.25);
transition: all 0.25s ease;
}
.vben-normal-menu__item:not(.is-active):hover {
@apply bg-heavy text-primary dark:bg-accent dark:text-foreground;
}
&__name {
width: 100%;
margin-top: 8px;
margin-bottom: 0;
font-size: calc(var(--font-size-base, 16px) * 0.75);
font-weight: 400;
text-align: center;
transition: all 0.25s ease;
}
.vben-normal-menu__item:hover .vben-normal-menu__icon {
transform: scale(1.2);
}
.vben-normal-menu__icon {
max-height: 20px;
font-size: calc(var(--font-size-base, 16px) * 1.25);
transition: all 0.25s ease;
}
.vben-normal-menu__name {
width: 100%;
margin-top: 8px;
margin-bottom: 0;
font-size: calc(var(--font-size-base, 16px) * 0.75);
font-weight: 400;
text-align: center;
transition: all 0.25s ease;
}
</style>

View File

@@ -1,6 +1,6 @@
import type { Component, Ref } from 'vue';
import type { MaybePromise } from '@vben-core/typings';
import type { ClassType, MaybePromise } from '@vben-core/typings';
import type { ModalApi } from './modal-api';
@@ -30,7 +30,7 @@ export interface ModalProps {
*/
centered?: boolean;
class?: string;
class?: ClassType;
/**
* 是否显示右上角的关闭按钮
@@ -60,7 +60,7 @@ export interface ModalProps {
* 确定按钮文字
*/
confirmText?: string;
contentClass?: string;
contentClass?: ClassType;
/**
* 弹窗描述
*/
@@ -79,7 +79,7 @@ export interface ModalProps {
* @default true
*/
footer?: boolean;
footerClass?: string;
footerClass?: ClassType;
/**
* 是否全屏
* @default false
@@ -95,7 +95,7 @@ export interface ModalProps {
* @default true
*/
header?: boolean;
headerClass?: string;
headerClass?: ClassType;
/**
* 弹窗是否显示
* @default false

View File

@@ -175,39 +175,38 @@ function onMouseDown(e: MouseEvent, tab: TabConfig) {
<style scoped>
@reference "@vben-core/design/theme";
.tabs-chrome {
&__item:not(.dragging) {
@apply cursor-pointer;
.tabs-chrome__item:not(.dragging) {
@apply cursor-pointer;
}
&:hover:not(.is-active) {
& + .tabs-chrome__item {
.tabs-chrome__divider {
@apply opacity-0;
}
}
.tabs-chrome__item:not(.dragging):hover:not(.is-active)
+ .tabs-chrome__item
.tabs-chrome__divider {
@apply opacity-0;
}
.tabs-chrome__divider {
@apply opacity-0;
}
.tabs-chrome__item:not(.dragging):hover:not(.is-active)
.tabs-chrome__divider {
@apply opacity-0;
}
.tabs-chrome__background {
@apply pb-[2px];
.tabs-chrome__item:not(.dragging):hover:not(.is-active)
.tabs-chrome__background {
@apply pb-[2px];
}
&-content {
@apply bg-accent mx-[2px] rounded-md;
}
}
}
.tabs-chrome__item:not(.dragging):hover:not(.is-active)
.tabs-chrome__background-content {
@apply bg-accent mx-[2px] rounded-md;
}
&.is-active {
@apply z-[2];
.tabs-chrome__item:not(.dragging).is-active {
@apply z-[2];
}
& + .tabs-chrome__item {
.tabs-chrome__divider {
@apply !opacity-0;
}
}
}
}
.tabs-chrome__item:not(.dragging).is-active
+ .tabs-chrome__item
.tabs-chrome__divider {
@apply !opacity-0;
}
</style>