This commit is contained in:
dap
2024-08-12 07:38:55 +08:00
226 changed files with 3687 additions and 1111 deletions

View File

@@ -35,7 +35,9 @@
min-height: 100vh;
/* overflow: overlay; */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a,

View File

@@ -8,7 +8,7 @@
/* 主体区域背景色 */
--background-deep: 210 11.11% 96.47%;
--foreground: 210 6% 21%;
--foreground: 222 84% 5%;
/* Background color for <Card /> */
--card: 0 0% 100%;

View File

@@ -22,3 +22,5 @@ export const VBEN_PREVIEW_URL = 'https://www.vben.pro';
export const VBEN_ELE_PREVIEW_URL = 'https://ele.vben.pro';
export const VBEN_NAIVE_PREVIEW_URL = 'https://naive.vben.pro';
export const VBEN_ANT_PREVIEW_URL = 'https://ant.vben.pro';

View File

@@ -8,7 +8,7 @@ import {
AlertDialogHeader,
AlertDialog as AlertDialogRoot,
AlertDialogTitle,
} from '@vben-core/shadcn-ui/components/ui/alert-dialog';
} from '../ui/alert-dialog';
interface Props {
cancelText?: string;

View File

@@ -5,20 +5,15 @@ import type {
AvatarRootProps,
} from 'radix-vue';
import type { HTMLAttributes } from 'vue';
import { computed } from 'vue';
import {
Avatar,
AvatarFallback,
AvatarImage,
} from '@vben-core/shadcn-ui/components/ui/avatar';
import { Avatar, AvatarFallback, AvatarImage } from '../ui/avatar';
interface Props extends AvatarRootProps, AvatarFallbackProps, AvatarImageProps {
alt?: string;
class?: HTMLAttributes['class'];
class?: any;
dot?: boolean;
dotClass?: HTMLAttributes['class'];
dotClass?: any;
}
defineOptions({

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup>
import type { IBreadcrumb } from './interface';
import type { IBreadcrumb } from './types';
import { VbenIcon } from '../icon';

View File

@@ -1,7 +1,9 @@
<script lang="ts" setup>
import type { IBreadcrumb } from './interface';
import type { IBreadcrumb } from './types';
import { ChevronDown } from '@vben-core/icons';
import { VbenIcon } from '../icon';
import {
Breadcrumb,
BreadcrumbItem,
@@ -9,15 +11,13 @@ import {
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from '@vben-core/shadcn-ui/components/ui/breadcrumb';
} from '../ui/breadcrumb';
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
} from '@vben-core/shadcn-ui/components/ui/dropdown-menu';
import { VbenIcon } from '../icon';
} from '../ui/dropdown-menu';
interface Props {
breadcrumbs: IBreadcrumb[];

View File

@@ -1,4 +1,4 @@
export { default as VbenBreadcrumb } from './breadcrumb.vue';
export { default as VbenBackgroundBreadcrumb } from './breadcrumb-background.vue';
export type * from './interface';
export type * from './types';

View File

@@ -1,18 +1,15 @@
<script setup lang="ts">
import type { HTMLAttributes } from 'vue';
import { computed } from 'vue';
import { LoaderCircle } from '@vben-core/icons';
import {
type ButtonVariants,
buttonVariants,
} from '@vben-core/shadcn-ui/components/ui/button';
import { cn } from '@vben-core/shared';
import { Primitive, type PrimitiveProps } from 'radix-vue';
import { type ButtonVariants, buttonVariants } from '../ui/button';
interface Props extends PrimitiveProps {
class?: HTMLAttributes['class'];
class?: any;
disabled?: boolean;
loading?: boolean;
size?: ButtonVariants['size'];

View File

@@ -1,17 +1,17 @@
<script setup lang="ts">
import type { ButtonVariants } from '@vben-core/shadcn-ui/components/ui/button';
import type { ButtonVariants } from '../ui/button';
import { computed, type HTMLAttributes, useSlots } from 'vue';
import { computed, useSlots } from 'vue';
import { VbenTooltip } from '@vben-core/shadcn-ui/components/tooltip';
import { cn } from '@vben-core/shared';
import { type PrimitiveProps } from 'radix-vue';
import { VbenTooltip } from '../tooltip';
import VbenButton from './button.vue';
interface Props extends PrimitiveProps {
class?: HTMLAttributes['class'];
class?: any;
disabled?: boolean;
onClick?: () => void;
tooltip?: string;

View File

@@ -1,10 +1,10 @@
<script setup lang="ts">
import type { CheckboxRootEmits, CheckboxRootProps } from 'radix-vue';
import { Checkbox } from '@vben-core/shadcn-ui/components/ui/checkbox';
import { useForwardPropsEmits } from 'radix-vue';
import { Checkbox } from '../ui/checkbox';
const props = defineProps<
{
name: string;

View File

@@ -7,9 +7,10 @@ import type {
import type { IContextMenuItem } from './interface';
import type { HTMLAttributes } from 'vue';
import { computed } from 'vue';
import { useForwardPropsEmits } from 'radix-vue';
import {
ContextMenu,
ContextMenuContent,
@@ -17,17 +18,15 @@ import {
ContextMenuSeparator,
ContextMenuShortcut,
ContextMenuTrigger,
} from '@vben-core/shadcn-ui/components/ui/context-menu';
import { useForwardPropsEmits } from 'radix-vue';
} from '../ui/context-menu';
const props = defineProps<
{
class?: HTMLAttributes['class'];
contentClass?: HTMLAttributes['class'];
class?: any;
contentClass?: any;
contentProps?: ContextMenuContentProps;
handlerData?: Record<string, any>;
itemClass?: HTMLAttributes['class'];
itemClass?: any;
menus: (data: any) => IContextMenuItem[];
} & ContextMenuRootProps
>();

View File

@@ -11,7 +11,7 @@ import {
DropdownMenuItem,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from '@vben-core/shadcn-ui/components/ui/dropdown-menu';
} from '../ui/dropdown-menu';
interface Props extends DropdownMenuProps {}

View File

@@ -7,7 +7,7 @@ import {
DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuTrigger,
} from '@vben-core/shadcn-ui/components/ui/dropdown-menu';
} from '../ui/dropdown-menu';
interface Props extends DropdownMenuProps {}

View File

@@ -5,24 +5,23 @@ import type {
HoverCardRootProps,
} from 'radix-vue';
import type { HTMLAttributes } from 'vue';
import { computed } from 'vue';
import { useForwardPropsEmits } from 'radix-vue';
import {
HoverCard,
HoverCardContent,
HoverCardTrigger,
} from '@vben-core/shadcn-ui/components/ui/hover-card';
} from '../ui/hover-card';
import { useForwardPropsEmits } from 'radix-vue';
interface Props extends HoverCardRootProps {
class?: any;
contentClass?: any;
contentProps?: HoverCardContentProps;
}
const props = defineProps<
{
class?: HTMLAttributes['class'];
contentClass?: HTMLAttributes['class'];
contentProps?: HoverCardContentProps;
} & HoverCardRootProps
>();
const props = defineProps<Props>();
const emits = defineEmits<HoverCardRootEmits>();

View File

@@ -2,13 +2,10 @@
import { ref, useSlots } from 'vue';
import { Eye, EyeOff } from '@vben-core/icons';
import {
type InputProps,
VbenInput,
} from '@vben-core/shadcn-ui/components/input';
import { useForwardProps } from 'radix-vue';
import { type InputProps, VbenInput } from '../input';
import PasswordStrength from './password-strength.vue';
interface Props extends InputProps {}

View File

@@ -1,2 +1,2 @@
export { default as VbenInput } from './input.vue';
export type * from './interface';
export type * from './types';

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import type { InputProps } from './interface';
import type { InputProps } from './types';
import { computed } from 'vue';

View File

@@ -1,7 +1,5 @@
import type { HTMLAttributes } from 'vue';
interface InputProps {
class?: HTMLAttributes['class'];
class?: any;
/**
*
*/

View File

@@ -1,12 +1,10 @@
<script setup lang="ts">
import type { HTMLAttributes } from 'vue';
import { cn } from '@vben-core/shared';
import { Primitive, type PrimitiveProps } from 'radix-vue';
interface Props extends PrimitiveProps {
class?: HTMLAttributes['class'];
class?: any;
href: string;
}

View File

@@ -1,3 +1,3 @@
export { default as VbenPinInput } from './input.vue';
export type * from './interface';
export type * from './types';

View File

@@ -1,14 +1,10 @@
<script setup lang="ts">
import type { PinInputProps } from './interface';
import type { PinInputProps } from './types';
import { computed, ref, watch } from 'vue';
import { VbenButton } from '@vben-core/shadcn-ui/components/button';
import {
PinInput,
PinInputGroup,
PinInputInput,
} from '@vben-core/shadcn-ui/components/ui/pin-input';
import { VbenButton } from '../button';
import { PinInput, PinInputGroup, PinInputInput } from '../ui/pin-input';
defineOptions({
inheritAttrs: false,

View File

@@ -1,5 +1,3 @@
import type { HTMLAttributes } from 'vue';
interface PinInputProps {
/**
* loading
@@ -9,7 +7,7 @@ interface PinInputProps {
*
*/
btnText?: string;
class?: HTMLAttributes['class'];
class?: any;
/**
*
*/

View File

@@ -5,27 +5,23 @@ import type {
PopoverRootProps,
} from 'radix-vue';
import type { HTMLAttributes } from 'vue';
import { computed } from 'vue';
import { useForwardPropsEmits } from 'radix-vue';
import {
PopoverContent,
Popover as PopoverRoot,
PopoverTrigger,
} from '@vben-core/shadcn-ui/components/ui/popover';
} from '../ui/popover';
import { useForwardPropsEmits } from 'radix-vue';
interface Props extends PopoverRootProps {
class?: any;
contentClass?: any;
contentProps?: PopoverContentProps;
}
const props = withDefaults(
defineProps<
{
class?: HTMLAttributes['class'];
contentClass?: HTMLAttributes['class'];
contentProps?: PopoverContentProps;
} & PopoverRootProps
>(),
{},
);
const props = withDefaults(defineProps<Props>(), {});
const emits = defineEmits<PopoverRootEmits>();

View File

@@ -1,17 +1,14 @@
<script setup lang="ts">
import type { HTMLAttributes } from 'vue';
import { ref } from 'vue';
import {
ScrollArea,
ScrollBar,
} from '@vben-core/shadcn-ui/components/ui/scroll-area';
import { cn } from '@vben-core/shared';
import { ScrollArea, ScrollBar } from '../ui/scroll-area';
interface Props {
class?: HTMLAttributes['class'];
class?: any;
horizontal?: boolean;
scrollBarClass?: HTMLAttributes['class'];
scrollBarClass?: any;
shadow?: boolean;
shadowBorder?: boolean;
}

View File

@@ -1,3 +1,3 @@
export type * from './interface';
export { default as VbenSegmented } from './segmented.vue';
export type * from './types';

View File

@@ -1,16 +1,11 @@
<script setup lang="ts">
import type { SegmentedItem } from './interface';
import type { SegmentedItem } from './types';
import { computed } from 'vue';
import {
Tabs,
TabsContent,
TabsList,
} from '@vben-core/shadcn-ui/components/ui/tabs';
import { TabsTrigger } from 'radix-vue';
import { Tabs, TabsContent, TabsList } from '../ui/tabs';
import TabsIndicator from './tabs-indicator.vue';
interface Props {

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { computed, type HTMLAttributes } from 'vue';
import { computed } from 'vue';
import { cn } from '@vben-core/shared';
@@ -9,9 +9,7 @@ import {
useForwardProps,
} from 'radix-vue';
const props = defineProps<
{ class?: HTMLAttributes['class'] } & TabsIndicatorProps
>();
const props = defineProps<{ class?: any } & TabsIndicatorProps>();
const delegatedProps = computed(() => {
const { class: _, ...delegated } = props;

View File

@@ -1,11 +1,10 @@
<script setup lang="ts">
import { computed, useSlots } from 'vue';
import {
VbenButton,
VbenIconButton,
} from '@vben-core/shadcn-ui/components/button';
import { VbenScrollbar } from '@vben-core/shadcn-ui/components/scrollbar';
import { X } from 'lucide-vue-next';
import { VbenButton, VbenIconButton } from '../button';
import { VbenScrollbar } from '../scrollbar';
import {
Sheet,
SheetClose,
@@ -15,9 +14,7 @@ import {
SheetHeader,
SheetTitle,
SheetTrigger,
} from '@vben-core/shadcn-ui/components/ui/sheet';
import { X } from 'lucide-vue-next';
} from '../ui/sheet';
interface Props {
cancelText?: string;

View File

@@ -1,18 +1,18 @@
<script setup lang="ts">
import type { TooltipContentProps } from 'radix-vue';
import type { HTMLAttributes } from 'vue';
import type { StyleValue } from 'vue';
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
} from '@vben-core/shadcn-ui/components/ui/tooltip';
} from '../ui/tooltip';
interface Props {
contentClass?: HTMLAttributes['class'];
contentStyle?: HTMLAttributes['style'];
contentClass?: any;
contentStyle?: StyleValue;
delayDuration?: number;
side: TooltipContentProps['side'];
}

View File

@@ -1,11 +1,12 @@
<script setup lang="ts">
import { computed, type HTMLAttributes } from 'vue';
import { buttonVariants } from '@vben-core/shadcn-ui/components/ui/button';
import { cn } from '@vben-core/shared';
import { AlertDialogAction, type AlertDialogActionProps } from 'radix-vue';
import { buttonVariants } from '../button';
const props = defineProps<
{ class?: HTMLAttributes['class'] } & AlertDialogActionProps
>();

View File

@@ -1,11 +1,12 @@
<script setup lang="ts">
import { computed, type HTMLAttributes } from 'vue';
import { buttonVariants } from '@vben-core/shadcn-ui/components/ui/button';
import { cn } from '@vben-core/shared';
import { AlertDialogCancel, type AlertDialogCancelProps } from 'radix-vue';
import { buttonVariants } from '../button';
const props = defineProps<
{ class?: HTMLAttributes['class'] } & AlertDialogCancelProps
>();

View File

@@ -1,7 +1,8 @@
<script setup lang="ts">
import type { toggleVariants } from '@vben-core/shadcn-ui/components/ui/toggle';
import type { VariantProps } from 'class-variance-authority';
import type { toggleVariants } from '../toggle';
import { computed, type HTMLAttributes, provide } from 'vue';
import { cn } from '@vben-core/shared';

View File

@@ -3,7 +3,6 @@ import type { VariantProps } from 'class-variance-authority';
import { computed, type HTMLAttributes, inject } from 'vue';
import { toggleVariants } from '@vben-core/shadcn-ui/components/ui/toggle';
import { cn } from '@vben-core/shared';
import {
@@ -12,6 +11,8 @@ import {
useForwardProps,
} from 'radix-vue';
import { toggleVariants } from '../toggle';
type ToggleGroupVariants = VariantProps<typeof toggleVariants>;
const props = defineProps<