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

pull/48/MERGE
Vben 2024-11-09 14:07:41 +08:00 committed by GitHub
parent 9cf0573921
commit 2c6edafeb2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 66 additions and 30 deletions

View File

@ -320,7 +320,7 @@ useVbenForm 返回的第二个参数,是一个对象,包含了一些表单
```ts
export interface ActionButtonOptions {
/** 样式 */
class?: any;
class?: ClassType;
/** 是否禁用 */
disabled?: boolean;
/** 是否加载中 */

View File

@ -67,7 +67,7 @@ import { SvgTestIcon } from '@vben/icons';
</template>
```
## Tailwind CSS 图标 <Badge text="不推荐" type="danger"/>
## Tailwind CSS 图标
### 使用

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',

View File

@ -87,7 +87,7 @@ function changeLoading() {
<Button class="mr-2" type="primary" @click="changeLoading">
显示loading
</Button>
<Button class="mr-2" type="primary" @click="changeStripe">
<Button type="primary" @click="changeStripe">
{{ showStripe ? '隐藏' : '显示' }}斑马纹
</Button>
</template>

View File

@ -1292,6 +1292,9 @@ importers:
'@vben-core/shared':
specifier: workspace:*
version: link:../../base/shared
'@vben-core/typings':
specifier: workspace:*
version: link:../../base/typings
'@vee-validate/zod':
specifier: 'catalog:'
version: 4.14.7(vue@3.5.12(typescript@5.6.3))
@ -1370,6 +1373,9 @@ importers:
'@vben-core/shared':
specifier: workspace:*
version: link:../../base/shared
'@vben-core/typings':
specifier: workspace:*
version: link:../../base/typings
'@vueuse/core':
specifier: 'catalog:'
version: 11.2.0(vue@3.5.12(typescript@5.6.3))