From f540d332fb1dabb12fa3a4087fd5fb7c857ba5d0 Mon Sep 17 00:00:00 2001 From: zernonia Date: Wed, 23 Aug 2023 13:49:04 +0800 Subject: [PATCH] refactor: poc using radix-vue --- .eslintrc.cjs | 13 + package.json | 37 + packages/shadcn-vue/package.json | 25 +- packages/shadcn-vue/src/App.vue | 391 +- .../shadcn-vue/src/components/ui/Accordion.ts | 44 + .../src/components/ui/Accordion/Accordion.vue | 8 - .../ui/Accordion/AccordionContent.vue | 11 - .../components/ui/Accordion/AccordionItem.vue | 11 - .../ui/Accordion/AccordionTrigger.vue | 23 - .../src/components/ui/Accordion/index.ts | 4 - .../src/components/ui/AccordionDemo.vue | 34 + .../src/components/ui/Alert/Alert.vue | 11 - .../components/ui/Alert/AlertDescription.vue | 3 - .../src/components/ui/Alert/AlertTitle.vue | 3 - .../src/components/ui/Alert/index.ts | 3 - .../components/ui/AlertDialog/AlertDialog.vue | 64 - .../ui/AlertDialog/AlertDialogDescription.vue | 3 - .../ui/AlertDialog/AlertDialogFooter.vue | 3 - .../ui/AlertDialog/AlertDialogHeader.vue | 3 - .../ui/AlertDialog/AlertDialogTitle.vue | 5 - .../ui/AlertDialog/AlertDialogTrigger.vue | 12 - .../src/components/ui/AlertDialog/index.ts | 5 - .../components/ui/AspectRatio/AspectRatio.vue | 18 - .../src/components/ui/AspectRatio/Image.vue | 3 - .../src/components/ui/AspectRatio/index.ts | 2 - .../src/components/ui/Avatar/Avatar.vue | 4 - .../components/ui/Avatar/AvatarFallback.vue | 1 - .../src/components/ui/Avatar/AvatarImage.vue | 10 - .../src/components/ui/Avatar/index.ts | 3 - .../src/components/ui/Badge/Badge.vue | 8 - .../src/components/ui/Badge/index.ts | 1 - .../src/components/ui/Button/Button.vue | 14 - .../src/components/ui/Button/index.ts | 1 - .../src/components/ui/Card/Card.vue | 5 - .../src/components/ui/Card/CardContent.vue | 7 - .../components/ui/Card/CardDescription.vue | 7 - .../src/components/ui/Card/CardFooter.vue | 7 - .../src/components/ui/Card/CardHeader.vue | 7 - .../src/components/ui/Card/CardTitle.vue | 7 - .../src/components/ui/Card/index.ts | 6 - .../src/components/ui/Checkbox/Checkbox.vue | 28 - .../src/components/ui/Checkbox/index.ts | 1 - .../components/ui/Collapsible/Collapsible.vue | 9 - .../ui/Collapsible/CollapsibleContent.vue | 11 - .../ui/Collapsible/CollapsibleTrigger.vue | 9 - .../src/components/ui/Collapsible/index.ts | 3 - .../src/components/ui/Combobox/Combobox.vue | 44 - .../components/ui/Combobox/ComboboxInput.vue | 16 - .../components/ui/Combobox/ComboboxOption.vue | 24 - .../ui/Combobox/ComboboxOptions.vue | 12 - .../src/components/ui/Combobox/index.ts | 4 - .../src/components/ui/Demos/Card.vue | 68 - .../src/components/ui/Demos/index.ts | 1 - .../src/components/ui/Dialog/Dialog.vue | 64 - .../ui/Dialog/DialogDescription.vue | 3 - .../src/components/ui/Dialog/DialogFooter.vue | 3 - .../src/components/ui/Dialog/DialogHeader.vue | 3 - .../src/components/ui/Dialog/DialogTitle.vue | 5 - .../components/ui/Dialog/DialogTrigger.vue | 12 - .../src/components/ui/Dialog/index.ts | 5 - .../src/components/ui/Input/Input.vue | 11 - .../src/components/ui/Input/index.ts | 1 - .../src/components/ui/Label/Label.vue | 11 - .../src/components/ui/Label/index.ts | 1 - .../src/components/ui/Popover/Popover.vue | 15 - .../components/ui/Popover/PopoverContent.vue | 13 - .../components/ui/Popover/PopoverTrigger.vue | 10 - .../src/components/ui/Popover/index.ts | 3 - .../components/ui/RadioGroup/RadioGroup.vue | 26 - .../ui/RadioGroup/RadioGroupItem.vue | 13 - .../src/components/ui/RadioGroup/index.ts | 2 - .../src/components/ui/Select/Select.vue | 44 - .../components/ui/Select/SelectContent.vue | 12 - .../src/components/ui/Select/SelectItem.vue | 24 - .../src/components/ui/Select/SelectLabel.vue | 15 - .../components/ui/Select/SelectTrigger.vue | 16 - .../src/components/ui/Select/index.ts | 5 - .../src/components/ui/Separator/Separator.vue | 13 - .../src/components/ui/Separator/index.ts | 1 - .../src/components/ui/Switch/Switch.vue | 28 - .../src/components/ui/Switch/index.ts | 1 - .../src/components/ui/Tabs/Tabs.vue | 9 - .../src/components/ui/Tabs/TabsContent.vue | 7 - .../src/components/ui/Tabs/TabsList.vue | 7 - .../src/components/ui/Tabs/TabsTrigger.vue | 7 - .../src/components/ui/Tabs/index.ts | 4 - .../src/components/ui/Textarea/Textarea.vue | 7 - .../src/components/ui/Textarea/index.ts | 1 - .../src/components/ui/Toggle/Toggle.vue | 29 - .../src/components/ui/Toggle/index.ts | 1 - .../src/components/ui/Tooltip/Tooltip.vue | 21 - .../components/ui/Tooltip/TooltipContent.vue | 12 - .../components/ui/Tooltip/TooltipTrigger.vue | 15 - .../src/components/ui/Tooltip/index.ts | 3 - packages/shadcn-vue/src/components/ui/cva.ts | 82 + .../src/components/uiv2/Accordion.vue | 61 - .../src/components/uiv2/AccordionDemo.vue | 27 - .../shadcn-vue/src/components/uiv2/Switch.vue | 34 - .../src/components/uiv2/SwitchDemo.vue | 15 - .../shadcn-vue/src/components/uiv2/cva.ts | 82 - packages/shadcn-vue/src/utils.ts | 11 + packages/shadcn-vue/src/utils/focus-first.ts | 0 packages/shadcn-vue/tailwind.config.js | 144 +- packages/shadcn-vue/tsconfig.json | 4 +- packages/shadcn-vue/vite.config.ts | 50 +- pnpm-lock.yaml | 3264 +++++++++++++++-- 106 files changed, 3389 insertions(+), 1925 deletions(-) create mode 100644 .eslintrc.cjs create mode 100644 package.json create mode 100644 packages/shadcn-vue/src/components/ui/Accordion.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Accordion/Accordion.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Accordion/AccordionContent.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Accordion/AccordionItem.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Accordion/AccordionTrigger.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Accordion/index.ts create mode 100644 packages/shadcn-vue/src/components/ui/AccordionDemo.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Alert/Alert.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Alert/AlertDescription.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Alert/AlertTitle.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Alert/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/AlertDialog/AlertDialog.vue delete mode 100644 packages/shadcn-vue/src/components/ui/AlertDialog/AlertDialogDescription.vue delete mode 100644 packages/shadcn-vue/src/components/ui/AlertDialog/AlertDialogFooter.vue delete mode 100644 packages/shadcn-vue/src/components/ui/AlertDialog/AlertDialogHeader.vue delete mode 100644 packages/shadcn-vue/src/components/ui/AlertDialog/AlertDialogTitle.vue delete mode 100644 packages/shadcn-vue/src/components/ui/AlertDialog/AlertDialogTrigger.vue delete mode 100644 packages/shadcn-vue/src/components/ui/AlertDialog/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/AspectRatio/AspectRatio.vue delete mode 100644 packages/shadcn-vue/src/components/ui/AspectRatio/Image.vue delete mode 100644 packages/shadcn-vue/src/components/ui/AspectRatio/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Avatar/Avatar.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Avatar/AvatarFallback.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Avatar/AvatarImage.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Avatar/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Badge/Badge.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Badge/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Button/Button.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Button/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Card/Card.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Card/CardContent.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Card/CardDescription.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Card/CardFooter.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Card/CardHeader.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Card/CardTitle.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Card/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Checkbox/Checkbox.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Checkbox/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Collapsible/Collapsible.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Collapsible/CollapsibleContent.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Collapsible/CollapsibleTrigger.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Collapsible/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Combobox/Combobox.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Combobox/ComboboxInput.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Combobox/ComboboxOption.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Combobox/ComboboxOptions.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Combobox/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Demos/Card.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Demos/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Dialog/Dialog.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Dialog/DialogDescription.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Dialog/DialogFooter.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Dialog/DialogHeader.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Dialog/DialogTitle.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Dialog/DialogTrigger.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Dialog/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Input/Input.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Input/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Label/Label.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Label/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Popover/Popover.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Popover/PopoverContent.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Popover/PopoverTrigger.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Popover/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/RadioGroup/RadioGroup.vue delete mode 100644 packages/shadcn-vue/src/components/ui/RadioGroup/RadioGroupItem.vue delete mode 100644 packages/shadcn-vue/src/components/ui/RadioGroup/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Select/Select.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Select/SelectContent.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Select/SelectItem.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Select/SelectLabel.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Select/SelectTrigger.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Select/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Separator/Separator.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Separator/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Switch/Switch.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Switch/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Tabs/Tabs.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Tabs/TabsContent.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Tabs/TabsList.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Tabs/TabsTrigger.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Tabs/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Textarea/Textarea.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Textarea/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Toggle/Toggle.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Toggle/index.ts delete mode 100644 packages/shadcn-vue/src/components/ui/Tooltip/Tooltip.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Tooltip/TooltipContent.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Tooltip/TooltipTrigger.vue delete mode 100644 packages/shadcn-vue/src/components/ui/Tooltip/index.ts create mode 100644 packages/shadcn-vue/src/components/ui/cva.ts delete mode 100644 packages/shadcn-vue/src/components/uiv2/Accordion.vue delete mode 100644 packages/shadcn-vue/src/components/uiv2/AccordionDemo.vue delete mode 100644 packages/shadcn-vue/src/components/uiv2/Switch.vue delete mode 100644 packages/shadcn-vue/src/components/uiv2/SwitchDemo.vue delete mode 100644 packages/shadcn-vue/src/components/uiv2/cva.ts create mode 100644 packages/shadcn-vue/src/utils.ts delete mode 100644 packages/shadcn-vue/src/utils/focus-first.ts diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 00000000..742657e8 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,13 @@ +const process = require('node:process') + +process.env.ESLINT_TSCONFIG = 'tsconfig.json' + +module.exports = { + extends: '@antfu', + + rules: { + 'symbol-description': 'off', + 'no-console': 'warn', + 'no-tabs': 'off', + }, +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..e8b34df8 --- /dev/null +++ b/package.json @@ -0,0 +1,37 @@ +{ + "name": "shadcn-vue", + "private": true, + "packageManager": "pnpm@8.6.3", + "license": "MIT", + "repository": "radix-vue/shadcn-vue", + "workspaces": [ + "packages/*" + ], + "scripts": { + "dev": "pnpm --filter shadcn-vue dev", + "prepare": "pnpm simple-git-hooks", + "lint": "eslint . --ignore-path .gitignore", + "lint:fix": "eslint . --fix --ignore-path .gitignore" + }, + "devDependencies": { + "@antfu/eslint-config": "^0.39.7", + "@commitlint/cli": "^17.7.1", + "@commitlint/config-conventional": "^17.7.0", + "eslint": "^8.43.0", + "lint-staged": "^14.0.0", + "pnpm": "^8.6.12", + "simple-git-hooks": "^2.9.0" + }, + "commitlint": { + "extends": [ + "@commitlint/config-conventional" + ] + }, + "simple-git-hooks": { + "pre-commit": "pnpm lint-staged", + "commit-msg": "pnpm commitlint --edit ${1}" + }, + "lint-staged": { + "*": "eslint --fix" + } +} diff --git a/packages/shadcn-vue/package.json b/packages/shadcn-vue/package.json index 05c826e9..21a82bd4 100644 --- a/packages/shadcn-vue/package.json +++ b/packages/shadcn-vue/package.json @@ -1,32 +1,31 @@ { - "name": "radix-vue", + "name": "shadcn-vue", + "type": "module", "version": "0.0.1", - "files": [ - "dist" - ], - "main": "./dist/radix-vue.umd.js", - "module": "./dist/radix-vue.es.js", "exports": { ".": { - "import": "./dist/radix-vue.es.js", - "require": "./dist/radix-vue.umd.js" + "require": "./dist/radix-vue.umd.js", + "import": "./dist/radix-vue.es.js" }, "./dist/style.css": "./dist/style.css" }, - "type": "module", + "main": "./dist/radix-vue.umd.js", + "module": "./dist/radix-vue.es.js", + "files": [ + "dist" + ], "scripts": { "dev": "vite", "build": "vue-tsc && vite build", "preview": "vite preview" }, "dependencies": { - "@headlessui-float/vue": "^0.11.2", - "@headlessui/vue": "^1.7.14", "@morev/vue-transitions": "^2.3.6", "@vueuse/core": "^10.2.1", "class-variance-authority": "^0.6.1", - "radix-vue": "^0.1.6", - "vue": "^3.2.47" + "clsx": "^2.0.0", + "radix-vue": "file:../../../radix-vue/packages/radix-vue", + "vue": "^3.3.4" }, "devDependencies": { "@iconify/vue": "^4.1.1", diff --git a/packages/shadcn-vue/src/App.vue b/packages/shadcn-vue/src/App.vue index e24a3e73..e2f833c8 100644 --- a/packages/shadcn-vue/src/App.vue +++ b/packages/shadcn-vue/src/App.vue @@ -1,394 +1,9 @@