fix: when opening the tool separately, there is no need to pass the toolbar-tools slot (#4841)

This commit is contained in:
Vben
2024-11-09 14:07:41 +08:00
committed by GitHub
parent 9cf0573921
commit 2c6edafeb2
21 changed files with 66 additions and 30 deletions

View File

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

View File

@@ -40,6 +40,7 @@
"@vben-core/composables": "workspace:*",
"@vben-core/shadcn-ui": "workspace:*",
"@vben-core/shared": "workspace:*",
"@vben-core/typings": "workspace:*",
"@vee-validate/zod": "catalog:",
"@vueuse/core": "catalog:",
"vee-validate": "catalog:",

View File

@@ -1,4 +1,5 @@
import type { VbenButtonProps } from '@vben-core/shadcn-ui';
import type { ClassType } from '@vben-core/typings';
import type { FieldOptions, FormContext, GenericObject } from 'vee-validate';
import type { ZodTypeAny } from 'zod';
@@ -303,7 +304,7 @@ export interface VbenFormProps<
/**
* 表单操作区域class
*/
actionWrapperClass?: any;
actionWrapperClass?: ClassType;
/**
* 表单重置回调
*/

View File

@@ -41,6 +41,7 @@
"@vben-core/icons": "workspace:*",
"@vben-core/shadcn-ui": "workspace:*",
"@vben-core/shared": "workspace:*",
"@vben-core/typings": "workspace:*",
"@vueuse/core": "catalog:",
"vue": "catalog:"
}

View File

@@ -1,3 +1,5 @@
import type { ClassType } from '@vben-core/typings';
import type { DrawerApi } from './drawer-api';
import type { Component, Ref } from 'vue';
@@ -7,7 +9,7 @@ export interface DrawerProps {
* 取消按钮文字
*/
cancelText?: string;
class?: any;
class?: ClassType;
/**
* 是否显示右上角的关闭按钮
* @default true
@@ -45,11 +47,17 @@ export interface DrawerProps {
/**
* 弹窗底部样式
*/
footerClass?: any;
footerClass?: ClassType;
/**
* 是否显示顶栏
* @default true
*/
header?: boolean;
/**
* 弹窗头部样式
*/
headerClass?: any;
headerClass?: ClassType;
/**
* 弹窗是否显示
* @default false

View File

@@ -57,6 +57,7 @@ const {
description,
footer: showFooter,
footerClass,
header: showHeader,
headerClass,
loading: showLoading,
modal,
@@ -131,6 +132,7 @@ function handleFocusOutside(e: Event) {
@pointer-down-outside="pointerDownOutside"
>
<SheetHeader
v-show="showHeader"
:class="
cn(
'!flex flex-row items-center justify-between border-b px-6 py-5',

View File

@@ -1,4 +1,5 @@
<script setup lang="ts">
import type { ClassType } from '@vben-core/typings';
import type {
AvatarFallbackProps,
AvatarImageProps,
@@ -11,9 +12,9 @@ import { Avatar, AvatarFallback, AvatarImage } from '../../ui';
interface Props extends AvatarRootProps, AvatarFallbackProps, AvatarImageProps {
alt?: string;
class?: any;
class?: ClassType;
dot?: boolean;
dotClass?: any;
dotClass?: ClassType;
}
defineOptions({

View File

@@ -1,4 +1,5 @@
<script setup lang="ts">
import type { ClassType } from '@vben-core/typings';
import type {
ContextMenuContentProps,
ContextMenuRootEmits,
@@ -22,11 +23,11 @@ import {
const props = defineProps<
{
class?: any;
contentClass?: any;
class?: ClassType;
contentClass?: ClassType;
contentProps?: ContextMenuContentProps;
handlerData?: Record<string, any>;
itemClass?: any;
itemClass?: ClassType;
menus: (data: any) => IContextMenuItem[];
} & ContextMenuRootProps
>();

View File

@@ -1,4 +1,5 @@
<script setup lang="ts">
import type { ClassType } from '@vben-core/typings';
import type {
HoverCardContentProps,
HoverCardRootEmits,
@@ -12,8 +13,8 @@ import { useForwardPropsEmits } from 'radix-vue';
import { HoverCard, HoverCardContent, HoverCardTrigger } from '../../ui';
interface Props extends HoverCardRootProps {
class?: any;
contentClass?: any;
class?: ClassType;
contentClass?: ClassType;
contentProps?: HoverCardContentProps;
}

View File

@@ -1,4 +1,5 @@
<script setup lang="ts">
import type { ClassType } from '@vben-core/typings';
import type {
PopoverContentProps,
PopoverRootEmits,
@@ -16,8 +17,8 @@ import {
} from '../../ui';
interface Props extends PopoverRootProps {
class?: any;
contentClass?: any;
class?: ClassType;
contentClass?: ClassType;
contentProps?: PopoverContentProps;
}

View File

@@ -1,4 +1,6 @@
<script setup lang="ts">
import type { ClassType } from '@vben-core/typings';
import { computed, ref } from 'vue';
import { cn } from '@vben-core/shared/utils';
@@ -6,9 +8,9 @@ import { cn } from '@vben-core/shared/utils';
import { ScrollArea, ScrollBar } from '../../ui';
interface Props {
class?: any;
class?: ClassType;
horizontal?: boolean;
scrollBarClass?: any;
scrollBarClass?: ClassType;
shadow?: boolean;
shadowBorder?: boolean;
shadowBottom?: boolean;

View File

@@ -1,4 +1,5 @@
<script setup lang="ts">
import type { ClassType } from '@vben-core/typings';
import type { TooltipContentProps } from 'radix-vue';
import type { StyleValue } from 'vue';
@@ -11,7 +12,7 @@ import {
} from '../../ui';
interface Props {
contentClass?: any;
contentClass?: ClassType;
contentStyle?: StyleValue;
delayDuration?: number;
side?: TooltipContentProps['side'];

View File

@@ -1,4 +1,6 @@
<script setup lang="ts">
import type { ClassType } from '@vben-core/typings';
import { computed, ref } from 'vue';
import { cn } from '@vben-core/shared/utils';
@@ -18,8 +20,8 @@ import DialogOverlay from './DialogOverlay.vue';
const props = withDefaults(
defineProps<
{
class?: any;
closeClass?: any;
class?: ClassType;
closeClass?: ClassType;
modal?: boolean;
open?: boolean;
showClose?: boolean;

View File

@@ -1,3 +1,5 @@
import type { ClassType } from '@vben/types';
import type { CSSProperties } from 'vue';
export interface CaptchaData {
@@ -72,7 +74,7 @@ export interface PointSelectionCaptchaProps
}
export interface SliderCaptchaProps {
class?: any;
class?: ClassType;
/**
* @description 滑块的样式
* @default {}

View File

@@ -87,3 +87,11 @@
.vxe-table-custom--checkbox-option:hover {
background: none !important;
}
.vxe-toolbar {
padding-top: 0;
}
.vxe-tools--operate:not(:has(button)) {
margin-left: 0;
}

View File

@@ -1,4 +1,4 @@
import type { DeepPartial } from '@vben/types';
import type { ClassType, DeepPartial } from '@vben/types';
import type { VbenFormProps } from '@vben-core/form-ui';
import type {
VxeGridListeners,
@@ -30,11 +30,11 @@ export interface VxeGridProps {
/**
* 组件class
*/
class?: any;
class?: ClassType;
/**
* vxe-grid class
*/
gridClass?: any;
gridClass?: ClassType;
/**
* vxe-grid 配置
*/

View File

@@ -137,10 +137,6 @@ const options = computed(() => {
mergedOptions.proxyConfig.autoLoad = false;
}
if (!showToolbar.value && mergedOptions.toolbarConfig) {
mergedOptions.toolbarConfig.enabled = false;
}
if (mergedOptions.pagerConfig) {
const mobileLayouts = [
'PrevJump',