restrucuture and add readme

This commit is contained in:
khairulhaaziq 2023-07-04 04:40:41 +08:00
parent c297f5a24e
commit 0c7d567f5c
90 changed files with 373 additions and 352 deletions

View File

@ -3,8 +3,29 @@
Vue port of shadcn-ui. Vue port of shadcn-ui.
This project is in active development by [radix vue](github.com/radix-vue/radix-vue) team. We are working on this while porting radix to vue, simultaneously. This project is in active development by [radix vue](github.com/radix-vue/radix-vue) team. We are working on this while porting radix to vue, simultaneously.
## Installation
Coming soon
## Usage
Examples can see at [App.vue](./packages/shadcn-vue/src/App.vue)
## Contributors
We welcome contributors to both [radix vue](github.com/radix-vue/radix-vue) and [shadcn vue](github.com/radix-vue/shadcn-vue). We are actively looking someone that can lead the shadcn vue project based on radix-vue. Please [join our discord](https://discord.gg/dpf7BZY3) and we will get you up and running with the project, lets build them together! We welcome contributors to both [radix vue](github.com/radix-vue/radix-vue) and [shadcn vue](github.com/radix-vue/shadcn-vue). We are actively looking someone that can lead the shadcn vue project based on radix-vue. Please [join our discord](https://discord.gg/dpf7BZY3) and we will get you up and running with the project, lets build them together!
If you want to get notified when we release the initial version, please give it a star! Hopefully we will get them done by this month! If you want to get notified when we release the initial version, please give it a star! Hopefully we will get them done by this month!
Sincerely, radix-vue team. ## Community
- [Join us on discord!](https://discord.gg/dpf7BZY3)
## Authors
- @khairulhaaziq
- @mujahidfa
- @zernonia
## License
- MIT License

View File

@ -5,46 +5,46 @@ import {
AccordionTrigger, AccordionTrigger,
AccordionItem, AccordionItem,
AccordionContent, AccordionContent,
} from "./components/Accordion"; } from "./components/ui/Accordion";
import { Alert, AlertDescription, AlertTitle } from "./components/Alert"; import { Alert, AlertDescription, AlertTitle } from "./components/ui/Alert";
import { Card as InternalCard } from "./components/Internal/Docs/Card"; import { Card as InternalCard } from "./components/Internal/Docs/Card";
import { TransitionExpand } from "@morev/vue-transitions"; import { TransitionExpand } from "@morev/vue-transitions";
import { Icon } from "@iconify/vue"; import { Icon } from "@iconify/vue";
import { Button } from "./components/Button"; import { Button } from "./components/ui/Button";
import { import {
AlertDialog, AlertDialog,
AlertDialogTitle, AlertDialogTitle,
AlertDialogHeader, AlertDialogHeader,
AlertDialogDescription, AlertDialogDescription,
AlertDialogFooter, AlertDialogFooter,
} from "./components/AlertDialog"; } from "./components/ui/AlertDialog";
import { import {
Dialog, Dialog,
DialogTitle, DialogTitle,
DialogHeader, DialogHeader,
DialogDescription, DialogDescription,
DialogFooter, DialogFooter,
} from "./components/Dialog"; } from "./components/ui/Dialog";
import { Avatar, AvatarFallback, AvatarImage } from "./components/Avatar"; import { Avatar, AvatarFallback, AvatarImage } from "./components/ui/Avatar";
import { Badge } from "./components/Badge"; import { Badge } from "./components/ui/Badge";
import { Checkbox } from "./components/Checkbox"; import { Checkbox } from "./components/ui/Checkbox";
import { Label } from "./components/Label"; import { Label } from "./components/ui/Label";
import { Input } from "./components/Input"; import { Input } from "./components/ui/Input";
import { Textarea } from "./components/Textarea"; import { Textarea } from "./components/ui/Textarea";
import { Switch } from "./components/Switch"; import { Switch } from "./components/ui/Switch";
import { Toggle } from "./components/Toggle"; import { Toggle } from "./components/ui/Toggle";
import { Card } from "./components/Demos"; import { Card } from "./components/ui/Demos";
import { AspectRatio, Image } from "./components/AspectRatio"; import { AspectRatio, Image } from "./components/ui/AspectRatio";
import { import {
Collapsible, Collapsible,
CollapsibleTrigger, CollapsibleTrigger,
CollapsibleContent, CollapsibleContent,
} from "./components/Collapsible"; } from "./components/ui/Collapsible";
import { Select, SelectContent, SelectItem, SelectLabel, SelectTrigger } from "./components/Select"; import { Select, SelectContent, SelectItem, SelectLabel, SelectTrigger } from "./components/ui/Select";
import { Popover, PopoverContent, PopoverTrigger } from "./components/Popover"; import { Popover, PopoverContent, PopoverTrigger } from "./components/ui/Popover";
import { Separator } from "./components/Separator"; import { Separator } from "./components/ui/Separator";
import { Tooltip, TooltipTrigger } from "./components/Tooltip"; import { Tooltip, TooltipTrigger } from "./components/ui/Tooltip";
import { RadioGroup, RadioGroupItem } from "./components/RadioGroup"; import { RadioGroup, RadioGroupItem } from "./components/ui/RadioGroup";
const alertDialogIsOpen = ref(false); const alertDialogIsOpen = ref(false);
const dialogIsOpen = ref(false); const dialogIsOpen = ref(false);
@ -184,8 +184,8 @@ const components = [
and remove your data from our servers. and remove your data from our servers.
</AlertDialogDescription> </AlertDialogDescription>
</AlertDialogHeader> </AlertDialogHeader>
<AlertDialogFooter><Button variant="outline" <AlertDialogFooter><Button variant="outline" @click="alertDialogIsOpen = false">Cancel</Button><Button>CTA
@click="alertDialogIsOpen = false">Cancel</Button><Button>CTA Button</Button> Button</Button>
</AlertDialogFooter> </AlertDialogFooter>
</AlertDialog> </AlertDialog>
</InternalCard> </InternalCard>
@ -328,8 +328,8 @@ const components = [
</SelectTrigger> </SelectTrigger>
<SelectContent> <SelectContent>
<SelectLabel>Fruits</SelectLabel> <SelectLabel>Fruits</SelectLabel>
<SelectItem v-for="person in people" :key="person.id" :value="person.id" <SelectItem v-for="person in people" :key="person.id" :value="person.id" :disabled="person.unavailable">{{
:disabled="person.unavailable">{{ person.name }}</SelectItem> person.name }}</SelectItem>
</SelectContent> </SelectContent>
</Select> </Select>
</InternalCard> </InternalCard>

View File

@ -1,7 +1,7 @@
<script setup> <script setup>
import { Icon } from "@iconify/vue"; import { Icon } from "@iconify/vue";
import { Button } from "@/src/components/Button" import { Button } from "@/src/components/ui/Button"
import { import {
Card, Card,
CardContent, CardContent,
@ -9,7 +9,7 @@ import {
CardFooter, CardFooter,
CardHeader, CardHeader,
CardTitle, CardTitle,
} from "@/src/components/Card" } from "@/src/components/ui/Card"
const notifications = [ const notifications = [
{ {