+
+
+
+
![]()
+
+
{{ item.label }}
+
{{ item.description }}
-
-
-
-
-
-
-
-
![]()
-
{{ formData.type }}
+
-
-
-
-
-
-
- {
- // 只将字母转为大写,数字和下划线不变
- formData.name = val.replace(/[a-z]/g, c => c.toUpperCase());
- }
- "
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ t('Cancel') }}
- {{ t('Save') }}
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/components/ui/accordion/Accordion.vue b/components/ui/accordion/Accordion.vue
new file mode 100644
index 0000000..2a4a846
--- /dev/null
+++ b/components/ui/accordion/Accordion.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/components/ui/accordion/AccordionContent.vue b/components/ui/accordion/AccordionContent.vue
new file mode 100644
index 0000000..fccb734
--- /dev/null
+++ b/components/ui/accordion/AccordionContent.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
diff --git a/components/ui/accordion/AccordionItem.vue b/components/ui/accordion/AccordionItem.vue
new file mode 100644
index 0000000..0866cf1
--- /dev/null
+++ b/components/ui/accordion/AccordionItem.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
diff --git a/components/ui/accordion/AccordionTrigger.vue b/components/ui/accordion/AccordionTrigger.vue
new file mode 100644
index 0000000..4575875
--- /dev/null
+++ b/components/ui/accordion/AccordionTrigger.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/ui/accordion/index.ts b/components/ui/accordion/index.ts
new file mode 100644
index 0000000..b18018b
--- /dev/null
+++ b/components/ui/accordion/index.ts
@@ -0,0 +1,4 @@
+export { default as Accordion } from "./Accordion.vue"
+export { default as AccordionContent } from "./AccordionContent.vue"
+export { default as AccordionItem } from "./AccordionItem.vue"
+export { default as AccordionTrigger } from "./AccordionTrigger.vue"
diff --git a/components/ui/alert-dialog/AlertDialog.vue b/components/ui/alert-dialog/AlertDialog.vue
new file mode 100644
index 0000000..ff9accb
--- /dev/null
+++ b/components/ui/alert-dialog/AlertDialog.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/components/ui/alert-dialog/AlertDialogAction.vue b/components/ui/alert-dialog/AlertDialogAction.vue
new file mode 100644
index 0000000..09cf6fc
--- /dev/null
+++ b/components/ui/alert-dialog/AlertDialogAction.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/components/ui/alert-dialog/AlertDialogCancel.vue b/components/ui/alert-dialog/AlertDialogCancel.vue
new file mode 100644
index 0000000..e261894
--- /dev/null
+++ b/components/ui/alert-dialog/AlertDialogCancel.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
diff --git a/components/ui/alert-dialog/AlertDialogContent.vue b/components/ui/alert-dialog/AlertDialogContent.vue
new file mode 100644
index 0000000..73e4fcb
--- /dev/null
+++ b/components/ui/alert-dialog/AlertDialogContent.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/components/ui/alert-dialog/AlertDialogDescription.vue b/components/ui/alert-dialog/AlertDialogDescription.vue
new file mode 100644
index 0000000..b6d165e
--- /dev/null
+++ b/components/ui/alert-dialog/AlertDialogDescription.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
diff --git a/components/ui/alert-dialog/AlertDialogFooter.vue b/components/ui/alert-dialog/AlertDialogFooter.vue
new file mode 100644
index 0000000..c764e73
--- /dev/null
+++ b/components/ui/alert-dialog/AlertDialogFooter.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
diff --git a/components/ui/alert-dialog/AlertDialogHeader.vue b/components/ui/alert-dialog/AlertDialogHeader.vue
new file mode 100644
index 0000000..b5e5540
--- /dev/null
+++ b/components/ui/alert-dialog/AlertDialogHeader.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/components/ui/alert-dialog/AlertDialogTitle.vue b/components/ui/alert-dialog/AlertDialogTitle.vue
new file mode 100644
index 0000000..b829392
--- /dev/null
+++ b/components/ui/alert-dialog/AlertDialogTitle.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
diff --git a/components/ui/alert-dialog/AlertDialogTrigger.vue b/components/ui/alert-dialog/AlertDialogTrigger.vue
new file mode 100644
index 0000000..f104dcc
--- /dev/null
+++ b/components/ui/alert-dialog/AlertDialogTrigger.vue
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
diff --git a/components/ui/alert-dialog/index.ts b/components/ui/alert-dialog/index.ts
new file mode 100644
index 0000000..cf1b45d
--- /dev/null
+++ b/components/ui/alert-dialog/index.ts
@@ -0,0 +1,9 @@
+export { default as AlertDialog } from "./AlertDialog.vue"
+export { default as AlertDialogAction } from "./AlertDialogAction.vue"
+export { default as AlertDialogCancel } from "./AlertDialogCancel.vue"
+export { default as AlertDialogContent } from "./AlertDialogContent.vue"
+export { default as AlertDialogDescription } from "./AlertDialogDescription.vue"
+export { default as AlertDialogFooter } from "./AlertDialogFooter.vue"
+export { default as AlertDialogHeader } from "./AlertDialogHeader.vue"
+export { default as AlertDialogTitle } from "./AlertDialogTitle.vue"
+export { default as AlertDialogTrigger } from "./AlertDialogTrigger.vue"
diff --git a/components/ui/alert/Alert.vue b/components/ui/alert/Alert.vue
new file mode 100644
index 0000000..9feea31
--- /dev/null
+++ b/components/ui/alert/Alert.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
diff --git a/components/ui/alert/AlertDescription.vue b/components/ui/alert/AlertDescription.vue
new file mode 100644
index 0000000..afeaa01
--- /dev/null
+++ b/components/ui/alert/AlertDescription.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/components/ui/alert/AlertTitle.vue b/components/ui/alert/AlertTitle.vue
new file mode 100644
index 0000000..1f98d11
--- /dev/null
+++ b/components/ui/alert/AlertTitle.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/components/ui/alert/index.ts b/components/ui/alert/index.ts
new file mode 100644
index 0000000..1106fd0
--- /dev/null
+++ b/components/ui/alert/index.ts
@@ -0,0 +1,24 @@
+import type { VariantProps } from "class-variance-authority"
+import { cva } from "class-variance-authority"
+
+export { default as Alert } from "./Alert.vue"
+export { default as AlertDescription } from "./AlertDescription.vue"
+export { default as AlertTitle } from "./AlertTitle.vue"
+
+export const alertVariants = cva(
+ "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
+ {
+ variants: {
+ variant: {
+ default: "bg-background text-foreground",
+ destructive:
+ "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",
+ },
+ },
+ defaultVariants: {
+ variant: "default",
+ },
+ },
+)
+
+export type AlertVariants = VariantProps
diff --git a/components/ui/aspect-ratio/AspectRatio.vue b/components/ui/aspect-ratio/AspectRatio.vue
new file mode 100644
index 0000000..e8f239a
--- /dev/null
+++ b/components/ui/aspect-ratio/AspectRatio.vue
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
diff --git a/components/ui/aspect-ratio/index.ts b/components/ui/aspect-ratio/index.ts
new file mode 100644
index 0000000..e658f55
--- /dev/null
+++ b/components/ui/aspect-ratio/index.ts
@@ -0,0 +1 @@
+export { default as AspectRatio } from "./AspectRatio.vue"
diff --git a/components/ui/aurora-background/AuroraBackground.vue b/components/ui/aurora-background/AuroraBackground.vue
index c8fbf1f..b14040b 100644
--- a/components/ui/aurora-background/AuroraBackground.vue
+++ b/components/ui/aurora-background/AuroraBackground.vue
@@ -4,7 +4,7 @@
v-bind="props"
:class="
cn(
- 'relative flex flex-col h-[100vh] items-center justify-center bg-zinc-50 dark:bg-zinc-900 text-slate-950 transition-bg',
+ 'relative flex flex-col h-screen items-center justify-center bg-zinc-50 dark:bg-zinc-900 text-slate-950 transition-bg',
props.class
)
"
@@ -17,11 +17,11 @@
'[--white-gradient:repeating-linear-gradient(100deg,var(--white)_0%,var(--white)_7%,var(--transparent)_10%,var(--transparent)_12%,var(--white)_16%)]',
'[--dark-gradient:repeating-linear-gradient(100deg,var(--black)_0%,var(--black)_7%,var(--transparent)_10%,var(--transparent)_12%,var(--black)_16%)]',
'[--aurora:repeating-linear-gradient(100deg,var(--blue-500)_10%,var(--indigo-300)_15%,var(--blue-300)_20%,var(--violet-200)_25%,var(--blue-400)_30%)]',
- '[background-image:var(--white-gradient),var(--aurora)] dark:[background-image:var(--dark-gradient),var(--aurora)] [background-size:300%,_200%] [background-position:50%_50%,50%_50%]',
+ '[background-image:var(--white-gradient),var(--aurora)] dark:[background-image:var(--dark-gradient),var(--aurora)] bg-size-[300%,200%] bg-position-[50%_50%,50%_50%]',
'aurora-background-gradient-after',
'aurora-gradient-animation',
props.radialGradient &&
- `[mask-image:radial-gradient(ellipse_at_100%_0%,black_10%,var(--transparent)_70%)]`
+ `mask-[radial-gradient(ellipse_at_100%_0%,black_10%,var(--transparent)_70%)]`
)
"
>
@@ -51,8 +51,8 @@ const props = withDefaults(defineProps