From 399334ac5786188adba79b2bcd5744f17b6a6b83 Mon Sep 17 00:00:00 2001 From: vben Date: Sun, 19 May 2024 21:20:42 +0800 Subject: [PATCH] chore: init project --- .browserslistrc | 4 + .changeset/README.md | 5 + .changeset/config.json | 15 + .commitlintrc.mjs | 1 + .editorconfig | 21 + .gitattributes | 11 + .gitconfig | 2 + .github/ISSUE_TEMPLATE/1-bug.md | 39 + .github/ISSUE_TEMPLATE/2-feature.md | 32 + .github/ISSUE_TEMPLATE/3-bug-cn.md | 28 + .github/ISSUE_TEMPLATE/config.yml | 8 + .github/commit-convention.md | 89 + .github/contributing.md | 5 + .github/pull_request_template.md | 34 + .github/workflows/deploy.yml | 118 + .github/workflows/issue-close-require.yml | 17 + .github/workflows/issue-labeled.yml | 29 + .github/workflows/release.yml | 24 + .gitignore | 38 + .gitpod.yml | 6 + .husky/commit-msg | 6 + .husky/pre-commit | 7 + .lintstagedrc.mjs | 1 + .ls-lint.yml | 27 + .node-version | 1 + .npmrc | 12 + .prettierignore | 13 + .prettierrc.mjs | 1 + .stylelintignore | 3 + .tazerc.json | 3 + .vscode/extensions.json | 34 + .vscode/global.code-snippets | 37 + .vscode/settings.json | 186 + LICENSE | 9 + README.md | 165 + README.zh-CN.md | 171 + apps/antd-view/.env | 2 + apps/antd-view/.env.analyze | 6 + apps/antd-view/.env.development | 3 + apps/antd-view/.env.production | 5 + apps/antd-view/index.html | 22 + apps/antd-view/mock/_util.ts | 33 + apps/antd-view/mock/user.ts | 101 + apps/antd-view/package.json | 47 + apps/antd-view/postcss.config.mjs | 1 + apps/antd-view/public/favicon.ico | Bin 0 -> 894 bytes apps/antd-view/src/app.vue | 40 + apps/antd-view/src/layout.vue | 127 + apps/antd-view/src/main.ts | 43 + apps/antd-view/src/mock-prod-server.ts | 10 + apps/antd-view/src/preference.ts | 7 + apps/antd-view/src/router/guard/access.ts | 183 + apps/antd-view/src/router/guard/index.ts | 43 + apps/antd-view/src/router/index.ts | 59 + apps/antd-view/src/router/routes/builtin.ts | 78 + apps/antd-view/src/router/routes/index.ts | 66 + apps/antd-view/src/router/routes/layout.ts | 8 + .../src/router/routes/modules/nested.ts | 71 + .../src/router/routes/modules/outside.ts | 37 + apps/antd-view/src/services/index.ts | 1 + .../src/services/modules/user/index.ts | 23 + .../src/services/modules/user/typing.ts | 18 + apps/antd-view/src/services/request.ts | 152 + apps/antd-view/src/views/about/index.vue | 16 + .../src/views/authentication/code-login.vue | 24 + .../views/authentication/forget-password.vue | 17 + .../src/views/authentication/login.vue | 69 + .../src/views/authentication/qrcode-login.vue | 9 + .../src/views/authentication/register.vue | 19 + apps/antd-view/src/views/dashboard/index.vue | 7 + apps/antd-view/src/views/nested/menu-1.vue | 16 + apps/antd-view/src/views/nested/menu-2.vue | 16 + apps/antd-view/src/views/nested/menu-3-1.vue | 15 + .../antd-view/src/views/nested/menu-3-2-1.vue | 15 + apps/antd-view/tailwind.config.mjs | 1 + apps/antd-view/tsconfig.json | 12 + apps/antd-view/tsconfig.node.json | 9 + apps/antd-view/vite.config.mts | 35 + eslint.config.mjs | 5 + .../commitlint-config/build.config.ts | 7 + .../commitlint-config/package.json | 42 + .../commitlint-config/src/index.ts | 145 + .../commitlint-config/tsconfig.json | 5 + .../eslint-config/build.config.ts | 7 + .../lint-configs/eslint-config/package.json | 61 + .../eslint-config/src/configs/command.ts | 10 + .../eslint-config/src/configs/comments.ts | 22 + .../eslint-config/src/configs/ignores.ts | 46 + .../eslint-config/src/configs/import.ts | 27 + .../eslint-config/src/configs/index.ts | 15 + .../eslint-config/src/configs/javascript.ts | 243 + .../eslint-config/src/configs/jsdoc.ts | 33 + .../eslint-config/src/configs/jsonc.ts | 257 + .../eslint-config/src/configs/node.ts | 54 + .../src/configs/perfectionist.ts | 81 + .../eslint-config/src/configs/prettier.ts | 17 + .../eslint-config/src/configs/regexp.ts | 18 + .../eslint-config/src/configs/test.ts | 44 + .../eslint-config/src/configs/typescript.ts | 81 + .../eslint-config/src/configs/unicorn.ts | 40 + .../eslint-config/src/configs/vue.ts | 136 + .../eslint-config/src/custom-config.ts | 12 + .../lint-configs/eslint-config/src/index.ts | 56 + .../lint-configs/eslint-config/tsconfig.json | 5 + .../lint-staged-config/build.config.ts | 7 + .../lint-staged-config/package.json | 38 + .../lint-staged-config/src/index.ts | 16 + .../lint-staged-config/tsconfig.json | 5 + .../prettier-config/build.config.ts | 7 + .../lint-configs/prettier-config/package.json | 39 + .../lint-configs/prettier-config/src/index.ts | 24 + .../prettier-config/tsconfig.json | 5 + .../stylelint-config/build.config.ts | 7 + .../stylelint-config/package.json | 53 + .../stylelint-config/src/index.ts | 140 + .../stylelint-config/tsconfig.json | 5 + internal/node-utils/build.config.ts | 7 + internal/node-utils/package.json | 45 + internal/node-utils/src/constants.ts | 6 + internal/node-utils/src/find.ts | 48 + internal/node-utils/src/git.ts | 26 + internal/node-utils/src/hash.test.ts | 52 + internal/node-utils/src/hash.ts | 18 + internal/node-utils/src/index.ts | 17 + internal/node-utils/src/monorepo.ts | 49 + internal/node-utils/src/prettier.ts | 20 + internal/node-utils/tsconfig.json | 5 + internal/tailwind-config/build.config.ts | 11 + internal/tailwind-config/package.json | 64 + internal/tailwind-config/src/index.ts | 136 + .../tailwind-config/src/postcss.config.ts | 14 + internal/tailwind-config/tsconfig.json | 5 + internal/tsconfig/base.json | 37 + internal/tsconfig/library.json | 13 + internal/tsconfig/node.json | 12 + internal/tsconfig/package.json | 27 + internal/tsconfig/web-app.json | 8 + internal/tsconfig/web.json | 14 + internal/vite-config/build.config.ts | 7 + internal/vite-config/package.json | 59 + .../vite-config/src/config/application.ts | 104 + internal/vite-config/src/config/common.ts | 13 + internal/vite-config/src/config/index.ts | 31 + internal/vite-config/src/config/library.ts | 51 + internal/vite-config/src/index.ts | 2 + .../src/plugins/extra-app-config.ts | 97 + internal/vite-config/src/plugins/importmap.ts | 243 + internal/vite-config/src/plugins/index.ts | 211 + .../src/plugins/inject-app-loading/README.md | 3 + .../src/plugins/inject-app-loading/index.ts | 46 + .../inject-app-loading/loading-antd.html | 102 + .../plugins/inject-app-loading/loading.html | 102 + internal/vite-config/src/typing.ts | 109 + internal/vite-config/src/utils/env.ts | 49 + internal/vite-config/tsconfig.json | 5 + package.json | 94 + packages/@vben-core/shared/README.md | 6 + .../@vben-core/shared/design-tokens/README.md | 3 + .../shared/design-tokens/package.json | 45 + .../shared/design-tokens/src/dark/index.scss | 95 + .../design-tokens/src/default/index.scss | 103 + .../shared/design-tokens/src/index.ts | 4 + .../shared/design-tokens/tsconfig.json | 5 + .../shared/design-tokens/vite.config.mts | 3 + .../@vben-core/shared/design/build.config.ts | 22 + .../@vben-core/shared/design/package.json | 43 + .../@vben-core/shared/design/src/index.scss | 1 + .../shared/design/src/scss/common/base.scss | 96 + .../design/src/scss/common/constants.scss | 5 + .../shared/design/src/scss/common/entry.scss | 51 + .../shared/design/src/scss/global.scss | 34 + .../shared/design/src/scss/index.scss | 8 + .../shared/design/src/scss/nprogress.scss | 78 + .../design/src/scss/transition/animation.scss | 81 + .../design/src/scss/transition/collapse.scss | 14 + .../design/src/scss/transition/fade.scss | 97 + .../design/src/scss/transition/index.scss | 4 + .../design/src/scss/transition/mixin.scss | 10 + .../design/src/scss/transition/slide.scss | 41 + .../@vben-core/shared/design/src/tailwind.css | 34 + .../@vben-core/shared/design/tsconfig.json | 5 + .../@vben-core/shared/iconify/package.json | 32 + .../@vben-core/shared/iconify/src/factory.ts | 12 + .../@vben-core/shared/iconify/src/index.ts | 5 + .../@vben-core/shared/iconify/src/material.ts | 75 + packages/@vben-core/shared/iconify/src/mdi.ts | 49 + .../@vben-core/shared/iconify/tsconfig.json | 5 + .../@vben-core/shared/toolkit/build.config.ts | 7 + .../@vben-core/shared/toolkit/package.json | 53 + .../shared/toolkit/src/color.test.ts | 41 + .../@vben-core/shared/toolkit/src/color.ts | 44 + .../shared/toolkit/src/date.test.ts | 35 + .../@vben-core/shared/toolkit/src/date.ts | 25 + .../shared/toolkit/src/diff.test.ts | 60 + .../@vben-core/shared/toolkit/src/diff.ts | 58 + .../shared/toolkit/src/hash.test.ts | 22 + .../@vben-core/shared/toolkit/src/hash.ts | 31 + .../@vben-core/shared/toolkit/src/index.ts | 10 + .../shared/toolkit/src/inference.test.ts | 114 + .../shared/toolkit/src/inference.ts | 110 + .../@vben-core/shared/toolkit/src/merge.ts | 1 + .../shared/toolkit/src/namespace.ts | 105 + .../shared/toolkit/src/nprogress.ts | 43 + .../shared/toolkit/src/tree.test.ts | 196 + .../@vben-core/shared/toolkit/src/tree.ts | 97 + .../shared/toolkit/src/window.test.ts | 33 + .../@vben-core/shared/toolkit/src/window.ts | 26 + .../@vben-core/shared/toolkit/tsconfig.json | 5 + .../@vben-core/shared/typings/build.config.ts | 7 + .../@vben-core/shared/typings/global.d.ts | 88 + .../@vben-core/shared/typings/package.json | 50 + .../@vben-core/shared/typings/src/access.ts | 44 + .../@vben-core/shared/typings/src/index.ts | 6 + .../shared/typings/src/menu-record.ts | 71 + .../shared/typings/src/preference.ts | 130 + .../@vben-core/shared/typings/src/tabs.ts | 3 + .../@vben-core/shared/typings/src/tools.ts | 89 + packages/@vben-core/shared/typings/src/ui.ts | 6 + .../@vben-core/shared/typings/tsconfig.json | 5 + packages/@vben-core/uikit/README.md | 3 + .../@vben-core/uikit/layout-ui/package.json | 54 + .../uikit/layout-ui/postcss.config.mjs | 1 + .../uikit/layout-ui/src/components/index.ts | 5 + .../src/components/layout-content.vue | 86 + .../src/components/layout-footer.vue | 74 + .../src/components/layout-header.vue | 156 + .../layout-ui/src/components/layout-side.vue | 388 + .../layout-ui/src/components/layout-tabs.vue | 70 + .../layout-ui/src/components/widgets/index.ts | 2 + .../widgets/side-collapse-button.vue | 63 + .../components/widgets/side-pin-button.vue | 64 + .../@vben-core/uikit/layout-ui/src/index.ts | 2 + .../uikit/layout-ui/src/vben-layout.ts | 171 + .../uikit/layout-ui/src/vben-layout.vue | 603 + .../uikit/layout-ui/tailwind.config.mjs | 1 + .../@vben-core/uikit/layout-ui/tsconfig.json | 5 + .../uikit/layout-ui/vite.config.mts | 3 + packages/@vben-core/uikit/menu-ui/README.md | 1 + .../@vben-core/uikit/menu-ui/package.json | 54 + .../uikit/menu-ui/postcss.config.mjs | 1 + .../src/components/collapse-transition.vue | 96 + .../uikit/menu-ui/src/components/index.ts | 3 + .../menu-ui/src/components/menu-item.vue | 114 + .../uikit/menu-ui/src/components/menu.vue | 346 + .../src/components/normal-menu/index.ts | 2 + .../src/components/normal-menu/normal-menu.ts | 27 + .../components/normal-menu/normal-menu.vue | 167 + .../src/components/sub-menu-content.vue | 107 + .../uikit/menu-ui/src/components/sub-menu.vue | 271 + .../uikit/menu-ui/src/hooks/index.ts | 2 + .../menu-ui/src/hooks/use-menu-context.ts | 55 + .../uikit/menu-ui/src/hooks/use-menu.ts | 47 + .../@vben-core/uikit/menu-ui/src/index.ts | 5 + .../uikit/menu-ui/src/interface/index.ts | 135 + .../@vben-core/uikit/menu-ui/src/menu.vue | 37 + .../uikit/menu-ui/src/styles/index.scss | 508 + .../@vben-core/uikit/menu-ui/src/sub-menu.vue | 66 + .../uikit/menu-ui/src/utils/index.ts | 52 + .../uikit/menu-ui/tailwind.config.mjs | 1 + .../@vben-core/uikit/menu-ui/tsconfig.json | 5 + .../@vben-core/uikit/menu-ui/vite.config.mts | 3 + .../uikit/shadcn-ui/components.json | 16 + .../@vben-core/uikit/shadcn-ui/package.json | 58 + .../uikit/shadcn-ui/postcss.config.mjs | 1 + .../components/alert-dialog/alert-dialog.vue | 62 + .../src/components/alert-dialog/index.ts | 1 + .../src/components/avatar/avatar.vue | 49 + .../shadcn-ui/src/components/avatar/index.ts | 1 + .../src/components/back-top/back-top.vue | 42 + .../src/components/back-top/backtop.ts | 37 + .../src/components/back-top/index.ts | 1 + .../src/components/back-top/use-backtop.ts | 44 + .../breadcrumb/breadcrumb-background.vue | 111 + .../src/components/breadcrumb/breadcrumb.vue | 103 + .../src/components/breadcrumb/index.ts | 4 + .../src/components/breadcrumb/interface.ts | 9 + .../src/components/button/button.vue | 46 + .../src/components/button/icon-button.vue | 60 + .../shadcn-ui/src/components/button/index.ts | 2 + .../src/components/checkbox/checkbox.vue | 23 + .../src/components/checkbox/index.ts | 1 + .../components/context-menu/context-menu.vue | 95 + .../src/components/context-menu/index.ts | 3 + .../src/components/context-menu/interface.ts | 38 + .../dropdown-menu/dropdown-menu.vue | 49 + .../dropdown-menu/dropdown-radio-menu.vue | 50 + .../src/components/dropdown-menu/index.ts | 4 + .../src/components/dropdown-menu/interface.ts | 32 + .../components/full-screen/full-screen.vue | 28 + .../src/components/full-screen/index.ts | 1 + .../src/components/hover-card/hover-card.vue | 51 + .../src/components/hover-card/index.ts | 2 + .../shadcn-ui/src/components/icon/icon.vue | 27 + .../shadcn-ui/src/components/icon/index.ts | 1 + .../uikit/shadcn-ui/src/components/index.ts | 41 + .../src/components/input-password/index.ts | 1 + .../input-password/input-password.vue | 54 + .../input-password/password-strength.vue | 66 + .../shadcn-ui/src/components/input/index.ts | 2 + .../shadcn-ui/src/components/input/input.vue | 53 + .../src/components/input/interface.ts | 27 + .../shadcn-ui/src/components/logo/index.ts | 1 + .../shadcn-ui/src/components/logo/logo.vue | 75 + .../src/components/menu-badge/index.ts | 1 + .../components/menu-badge/menu-badge-dot.vue | 28 + .../src/components/menu-badge/menu-badge.vue | 57 + .../src/components/pin-input/index.ts | 3 + .../src/components/pin-input/input.vue | 89 + .../src/components/pin-input/interface.ts | 40 + .../shadcn-ui/src/components/popover/index.ts | 1 + .../src/components/popover/popover.vue | 57 + .../src/components/segmented/index.ts | 3 + .../src/components/segmented/interface.ts | 6 + .../src/components/segmented/segmented.vue | 56 + .../components/segmented/tabs-indicator.vue | 39 + .../shadcn-ui/src/components/sheet/index.ts | 1 + .../shadcn-ui/src/components/sheet/sheet.vue | 111 + .../shadcn-ui/src/components/tooltip/index.ts | 1 + .../src/components/tooltip/tooltip.vue | 35 + .../ui/alert-dialog/AlertDialog.vue | 19 + .../ui/alert-dialog/AlertDialogAction.vue | 25 + .../ui/alert-dialog/AlertDialogCancel.vue | 27 + .../ui/alert-dialog/AlertDialogContent.vue | 44 + .../alert-dialog/AlertDialogDescription.vue | 27 + .../ui/alert-dialog/AlertDialogFooter.vue | 22 + .../ui/alert-dialog/AlertDialogHeader.vue | 17 + .../ui/alert-dialog/AlertDialogTitle.vue | 24 + .../ui/alert-dialog/AlertDialogTrigger.vue | 11 + .../src/components/ui/alert-dialog/index.ts | 9 + .../src/components/ui/avatar/Avatar.vue | 26 + .../components/ui/avatar/AvatarFallback.vue | 11 + .../src/components/ui/avatar/AvatarImage.vue | 9 + .../src/components/ui/avatar/avatar.ts | 20 + .../src/components/ui/avatar/index.ts | 4 + .../src/components/ui/badge/Badge.vue | 18 + .../src/components/ui/badge/badge.ts | 23 + .../src/components/ui/badge/index.ts | 3 + .../components/ui/breadcrumb/Breadcrumb.vue | 13 + .../ui/breadcrumb/BreadcrumbEllipsis.vue | 23 + .../ui/breadcrumb/BreadcrumbItem.vue | 19 + .../ui/breadcrumb/BreadcrumbLink.vue | 23 + .../ui/breadcrumb/BreadcrumbList.vue | 22 + .../ui/breadcrumb/BreadcrumbPage.vue | 20 + .../ui/breadcrumb/BreadcrumbSeparator.vue | 22 + .../src/components/ui/breadcrumb/index.ts | 7 + .../src/components/ui/button/Button.vue | 29 + .../src/components/ui/button/button.ts | 36 + .../src/components/ui/button/index.ts | 3 + .../src/components/ui/checkbox/Checkbox.vue | 45 + .../src/components/ui/checkbox/index.ts | 1 + .../ui/context-menu/ContextMenu.vue | 16 + .../context-menu/ContextMenuCheckboxItem.vue | 44 + .../ui/context-menu/ContextMenuContent.vue | 40 + .../ui/context-menu/ContextMenuGroup.vue | 11 + .../ui/context-menu/ContextMenuItem.vue | 38 + .../ui/context-menu/ContextMenuLabel.vue | 30 + .../ui/context-menu/ContextMenuPortal.vue | 11 + .../ui/context-menu/ContextMenuRadioGroup.vue | 19 + .../ui/context-menu/ContextMenuRadioItem.vue | 44 + .../ui/context-menu/ContextMenuSeparator.vue | 25 + .../ui/context-menu/ContextMenuShortcut.vue | 19 + .../ui/context-menu/ContextMenuSub.vue | 19 + .../ui/context-menu/ContextMenuSubContent.vue | 37 + .../ui/context-menu/ContextMenuSubTrigger.vue | 41 + .../ui/context-menu/ContextMenuTrigger.vue | 17 + .../src/components/ui/context-menu/index.ts | 14 + .../src/components/ui/dialog/Dialog.vue | 19 + .../src/components/ui/dialog/DialogClose.vue | 11 + .../components/ui/dialog/DialogContent.vue | 54 + .../ui/dialog/DialogDescription.vue | 30 + .../src/components/ui/dialog/DialogFooter.vue | 20 + .../src/components/ui/dialog/DialogHeader.vue | 17 + .../ui/dialog/DialogScrollContent.vue | 65 + .../src/components/ui/dialog/DialogTitle.vue | 28 + .../components/ui/dialog/DialogTrigger.vue | 11 + .../src/components/ui/dialog/index.ts | 9 + .../ui/dropdown-menu/DropdownMenu.vue | 19 + .../DropdownMenuCheckboxItem.vue | 44 + .../ui/dropdown-menu/DropdownMenuContent.vue | 43 + .../ui/dropdown-menu/DropdownMenuGroup.vue | 11 + .../ui/dropdown-menu/DropdownMenuItem.vue | 36 + .../ui/dropdown-menu/DropdownMenuLabel.vue | 32 + .../dropdown-menu/DropdownMenuRadioGroup.vue | 19 + .../dropdown-menu/DropdownMenuRadioItem.vue | 45 + .../dropdown-menu/DropdownMenuSeparator.vue | 27 + .../ui/dropdown-menu/DropdownMenuShortcut.vue | 15 + .../ui/dropdown-menu/DropdownMenuSub.vue | 19 + .../dropdown-menu/DropdownMenuSubContent.vue | 37 + .../dropdown-menu/DropdownMenuSubTrigger.vue | 37 + .../ui/dropdown-menu/DropdownMenuTrigger.vue | 17 + .../src/components/ui/dropdown-menu/index.ts | 16 + .../components/ui/hover-card/HoverCard.vue | 19 + .../ui/hover-card/HoverCardContent.vue | 41 + .../ui/hover-card/HoverCardTrigger.vue | 11 + .../src/components/ui/hover-card/index.ts | 3 + .../src/components/ui/pin-input/PinInput.vue | 31 + .../components/ui/pin-input/PinInputGroup.vue | 23 + .../components/ui/pin-input/PinInputInput.vue | 32 + .../ui/pin-input/PinInputSeparator.vue | 15 + .../src/components/ui/pin-input/index.ts | 4 + .../src/components/ui/popover/Popover.vue | 16 + .../components/ui/popover/PopoverContent.vue | 48 + .../components/ui/popover/PopoverTrigger.vue | 11 + .../src/components/ui/popover/index.ts | 4 + .../components/ui/scroll-area/ScrollArea.vue | 47 + .../components/ui/scroll-area/ScrollBar.vue | 40 + .../src/components/ui/scroll-area/index.ts | 2 + .../src/components/ui/select/Select.vue | 16 + .../components/ui/select/SelectContent.vue | 64 + .../src/components/ui/select/SelectGroup.vue | 21 + .../src/components/ui/select/SelectItem.vue | 46 + .../components/ui/select/SelectItemText.vue | 11 + .../src/components/ui/select/SelectLabel.vue | 16 + .../ui/select/SelectScrollDownButton.vue | 35 + .../ui/select/SelectScrollUpButton.vue | 35 + .../components/ui/select/SelectSeparator.vue | 22 + .../components/ui/select/SelectTrigger.vue | 40 + .../src/components/ui/select/SelectValue.vue | 11 + .../src/components/ui/select/index.ts | 11 + .../src/components/ui/sheet/Sheet.vue | 19 + .../src/components/ui/sheet/SheetClose.vue | 11 + .../src/components/ui/sheet/SheetContent.vue | 55 + .../components/ui/sheet/SheetDescription.vue | 24 + .../src/components/ui/sheet/SheetFooter.vue | 20 + .../src/components/ui/sheet/SheetHeader.vue | 13 + .../src/components/ui/sheet/SheetTitle.vue | 24 + .../src/components/ui/sheet/SheetTrigger.vue | 11 + .../src/components/ui/sheet/index.ts | 10 + .../src/components/ui/sheet/sheet.ts | 22 + .../src/components/ui/sonner/Sonner.vue | 41 + .../src/components/ui/sonner/index.ts | 2 + .../src/components/ui/switch/Switch.vue | 45 + .../src/components/ui/switch/index.ts | 1 + .../shadcn-ui/src/components/ui/tabs/Tabs.vue | 16 + .../src/components/ui/tabs/TabsContent.vue | 29 + .../src/components/ui/tabs/TabsList.vue | 29 + .../src/components/ui/tabs/TabsTrigger.vue | 31 + .../shadcn-ui/src/components/ui/tabs/index.ts | 5 + .../ui/toggle-group/ToggleGroup.vue | 45 + .../ui/toggle-group/ToggleGroupItem.vue | 48 + .../src/components/ui/toggle-group/index.ts | 2 + .../src/components/ui/toggle/Toggle.vue | 46 + .../src/components/ui/toggle/index.ts | 2 + .../src/components/ui/toggle/toggle.ts | 25 + .../src/components/ui/tooltip/Tooltip.vue | 19 + .../components/ui/tooltip/TooltipContent.vue | 49 + .../components/ui/tooltip/TooltipProvider.vue | 11 + .../components/ui/tooltip/TooltipTrigger.vue | 11 + .../src/components/ui/tooltip/index.ts | 4 + .../@vben-core/uikit/shadcn-ui/src/index.ts | 9 + .../uikit/shadcn-ui/src/lib/utils.ts | 6 + .../uikit/shadcn-ui/src/styles/index.css | 97 + .../uikit/shadcn-ui/tailwind.config.mjs | 1 + .../@vben-core/uikit/shadcn-ui/tsconfig.json | 11 + .../uikit/shadcn-ui/vite.config.mts | 3 + .../@vben-core/uikit/tabs-ui/package.json | 53 + .../uikit/tabs-ui/postcss.config.mjs | 1 + .../uikit/tabs-ui/src/components/index.ts | 3 + .../tabs-ui/src/components/tab-background.vue | 22 + .../uikit/tabs-ui/src/components/tab.vue | 68 + .../tabs-ui/src/components/tabs-more.vue | 18 + .../tabs-ui/src/components/tabs-screen.vue | 19 + .../uikit/tabs-ui/src/components/tabs.vue | 119 + .../@vben-core/uikit/tabs-ui/src/index.ts | 2 + .../uikit/tabs-ui/src/styles/tabs.scss | 229 + .../uikit/tabs-ui/tailwind.config.mjs | 1 + .../@vben-core/uikit/tabs-ui/tsconfig.json | 5 + .../@vben-core/uikit/tabs-ui/vite.config.mts | 3 + packages/business/README.md | 3 + packages/business/common-ui/package.json | 62 + .../business/common-ui/postcss.config.mjs | 1 + .../src/authentication/auth-title.vue | 13 + .../src/authentication/code-login.vue | 156 + .../src/authentication/color-toggle.vue | 50 + .../src/authentication/forget-password.vue | 85 + .../common-ui/src/authentication/index.ts | 8 + .../src/authentication/layout-toggle.vue | 56 + .../common-ui/src/authentication/login.vue | 175 + .../src/authentication/qrcode-login.vue | 55 + .../common-ui/src/authentication/register.vue | 163 + .../src/authentication/third-party-login.vue | 37 + .../common-ui/src/authentication/typings.ts | 29 + .../common-ui/src/fallback/fallback-icon.vue | 190 + .../common-ui/src/fallback/fallback.vue | 79 + .../business/common-ui/src/fallback/index.ts | 1 + .../src/global-provider/global-provider.vue | 9 + .../common-ui/src/global-provider/index.ts | 1 + .../src/global-search/global-search.vue | 115 + .../common-ui/src/global-search/index.ts | 1 + .../src/global-search/search-panel.vue | 278 + packages/business/common-ui/src/index.ts | 10 + .../common-ui/src/language-toggle/index.ts | 1 + .../src/language-toggle/language-toggle.vue | 42 + .../common-ui/src/notification/index.ts | 3 + .../common-ui/src/notification/interface.ts | 9 + .../src/notification/notification.vue | 181 + .../common-ui/src/preference/blocks/block.vue | 22 + .../preference/blocks/general/animation.vue | 47 + .../src/preference/blocks/general/general.vue | 27 + .../preference/blocks/general/navigation.vue | 26 + .../common-ui/src/preference/blocks/index.ts | 15 + .../preference/blocks/layout/breadcrumb.vue | 47 + .../src/preference/blocks/layout/content.vue | 50 + .../src/preference/blocks/layout/footer.vue | 21 + .../src/preference/blocks/layout/header.vue | 49 + .../blocks/layout/interface-control.vue | 21 + .../src/preference/blocks/layout/layout.vue | 95 + .../src/preference/blocks/layout/sidebar.vue | 27 + .../src/preference/blocks/layout/tabs.vue | 26 + .../src/preference/blocks/select-item.vue | 67 + .../src/preference/blocks/switch-item.vue | 44 + .../preference/blocks/theme/color-mode.vue | 26 + .../src/preference/blocks/theme/color.vue | 91 + .../src/preference/blocks/theme/theme.vue | 82 + .../src/preference/blocks/toggle-item.vue | 44 + .../src/preference/icons/content-compact.vue | 119 + .../src/preference/icons/full-content.vue | 50 + .../src/preference/icons/header-nav.vue | 119 + .../common-ui/src/preference/icons/index.ts | 10 + .../src/preference/icons/mixed-nav.vue | 161 + .../src/preference/icons/setting.vue | 13 + .../src/preference/icons/side-mixed-nav.vue | 173 + .../src/preference/icons/side-nav.vue | 153 + .../common-ui/src/preference/index.ts | 1 + .../src/preference/preference-widget.vue | 92 + .../common-ui/src/preference/preference.vue | 247 + .../common-ui/src/preference/trigger.vue | 20 + .../business/common-ui/src/spinner/index.ts | 1 + .../common-ui/src/spinner/spinner.vue | 97 + .../common-ui/src/theme-toggle/index.ts | 1 + .../src/theme-toggle/theme-button.vue | 196 + .../src/theme-toggle/theme-toggle.vue | 77 + .../common-ui/src/user-dropdown/index.ts | 1 + .../src/user-dropdown/user-dropdown.vue | 139 + .../business/common-ui/tailwind.config.mjs | 1 + packages/business/common-ui/tsconfig.json | 5 + packages/business/common-ui/vite.config.mts | 3 + packages/business/layouts/package.json | 62 + packages/business/layouts/postcss.config.mjs | 1 + .../src/authentication/authentication.vue | 84 + .../layouts/src/authentication/from-view.vue | 36 + .../src/authentication/icons/slogan.vue | 4568 +++++ .../layouts/src/authentication/index.ts | 1 + .../layouts/src/authentication/toolbar.vue | 24 + .../layouts/src/basic/content/content.vue | 60 + .../layouts/src/basic/content/index.ts | 1 + .../layouts/src/basic/footer/footer.vue | 11 + .../layouts/src/basic/footer/index.ts | 1 + .../layouts/src/basic/header/header.vue | 40 + .../layouts/src/basic/header/index.ts | 1 + packages/business/layouts/src/basic/index.ts | 1 + .../business/layouts/src/basic/layout.vue | 233 + .../layouts/src/basic/menu/extra-menu.vue | 33 + .../business/layouts/src/basic/menu/helper.ts | 37 + .../business/layouts/src/basic/menu/index.ts | 5 + .../business/layouts/src/basic/menu/menu.vue | 34 + .../layouts/src/basic/menu/mixed-menu.vue | 53 + .../layouts/src/basic/menu/use-extra-menu.ts | 90 + .../layouts/src/basic/menu/use-mixed-menu.ts | 118 + .../business/layouts/src/basic/tabs/index.ts | 3 + .../layouts/src/basic/tabs/tabs-toolbar.vue | 35 + .../business/layouts/src/basic/tabs/tabs.vue | 32 + .../layouts/src/basic/tabs/use-tabs.ts | 184 + .../layouts/src/basic/widgets/breadcrumb.vue | 88 + .../layouts/src/basic/widgets/index.ts | 1 + .../layouts/src/iframe/iframe-router-view.vue | 84 + .../layouts/src/iframe/iframe-view.vue | 6 + packages/business/layouts/src/iframe/index.ts | 2 + packages/business/layouts/src/index.ts | 3 + packages/business/layouts/tailwind.config.mjs | 1 + packages/business/layouts/tsconfig.json | 5 + packages/business/layouts/vite.config.mts | 3 + packages/hooks/build.config.ts | 7 + packages/hooks/package.json | 49 + packages/hooks/src/index.ts | 3 + packages/hooks/src/use-request.ts | 1 + packages/hooks/tsconfig.json | 5 + packages/icons/package.json | 32 + packages/icons/src/iconify/index.ts | 1 + packages/icons/src/index.ts | 2 + packages/icons/src/svg/icons/avatar.svg | 1 + packages/icons/src/svg/index.ts | 13 + packages/icons/src/svg/load.ts | 53 + packages/icons/tsconfig.json | 5 + packages/locales/build.config.ts | 15 + packages/locales/package.json | 54 + packages/locales/src/i18n.ts | 63 + packages/locales/src/index.ts | 17 + packages/locales/src/langs/en-US.yaml | 151 + packages/locales/src/langs/zh-CN.yaml | 150 + packages/locales/src/third-party/.gitkeep | 0 packages/locales/src/typing.ts | 13 + packages/locales/tsconfig.json | 5 + packages/preference/build.config.ts | 7 + packages/preference/package.json | 42 + packages/preference/src/cache.ts | 60 + packages/preference/src/config.ts | 69 + packages/preference/src/index.ts | 19 + packages/preference/src/preference.ts | 198 + packages/preference/src/setup.ts | 28 + packages/preference/src/use-preference.ts | 119 + packages/preference/tsconfig.json | 5 + packages/stores/build.config.ts | 7 + packages/stores/package.json | 53 + packages/stores/shim-pinia.d.ts | 9 + packages/stores/src/index.ts | 3 + packages/stores/src/modules/access.test.ts | 24 + packages/stores/src/modules/access.ts | 95 + packages/stores/src/modules/index.ts | 2 + packages/stores/src/modules/tabs.ts | 399 + packages/stores/src/setup.ts | 32 + packages/stores/tsconfig.json | 5 + pnpm-lock.yaml | 14158 ++++++++++++++++ pnpm-workspace.yaml | 9 + scripts/vsh/README.md | 3 + scripts/vsh/bin/vsh.mjs | 3 + scripts/vsh/build.config.ts | 7 + scripts/vsh/package.json | 35 + scripts/vsh/src/check-circular/index.ts | 70 + scripts/vsh/src/check-dep/index.ts | 70 + scripts/vsh/src/clean/index.ts | 89 + scripts/vsh/src/code-workspace/index.ts | 77 + scripts/vsh/src/index.ts | 44 + scripts/vsh/src/lint/index.ts | 39 + scripts/vsh/src/publint/index.ts | 182 + scripts/vsh/tsconfig.json | 5 + stylelint.config.mjs | 4 + turbo.json | 28 + vben-admin.code-workspace | 112 + vitest.config.ts | 7 + 630 files changed, 45623 insertions(+) create mode 100644 .browserslistrc create mode 100644 .changeset/README.md create mode 100644 .changeset/config.json create mode 100644 .commitlintrc.mjs create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitconfig create mode 100644 .github/ISSUE_TEMPLATE/1-bug.md create mode 100644 .github/ISSUE_TEMPLATE/2-feature.md create mode 100644 .github/ISSUE_TEMPLATE/3-bug-cn.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/commit-convention.md create mode 100644 .github/contributing.md create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/deploy.yml create mode 100644 .github/workflows/issue-close-require.yml create mode 100644 .github/workflows/issue-labeled.yml create mode 100644 .github/workflows/release.yml create mode 100644 .gitignore create mode 100644 .gitpod.yml create mode 100755 .husky/commit-msg create mode 100755 .husky/pre-commit create mode 100644 .lintstagedrc.mjs create mode 100644 .ls-lint.yml create mode 100644 .node-version create mode 100644 .npmrc create mode 100644 .prettierignore create mode 100644 .prettierrc.mjs create mode 100644 .stylelintignore create mode 100644 .tazerc.json create mode 100644 .vscode/extensions.json create mode 100644 .vscode/global.code-snippets create mode 100644 .vscode/settings.json create mode 100644 LICENSE create mode 100644 README.md create mode 100644 README.zh-CN.md create mode 100644 apps/antd-view/.env create mode 100644 apps/antd-view/.env.analyze create mode 100644 apps/antd-view/.env.development create mode 100644 apps/antd-view/.env.production create mode 100644 apps/antd-view/index.html create mode 100644 apps/antd-view/mock/_util.ts create mode 100644 apps/antd-view/mock/user.ts create mode 100644 apps/antd-view/package.json create mode 100644 apps/antd-view/postcss.config.mjs create mode 100644 apps/antd-view/public/favicon.ico create mode 100644 apps/antd-view/src/app.vue create mode 100644 apps/antd-view/src/layout.vue create mode 100644 apps/antd-view/src/main.ts create mode 100644 apps/antd-view/src/mock-prod-server.ts create mode 100644 apps/antd-view/src/preference.ts create mode 100644 apps/antd-view/src/router/guard/access.ts create mode 100644 apps/antd-view/src/router/guard/index.ts create mode 100644 apps/antd-view/src/router/index.ts create mode 100644 apps/antd-view/src/router/routes/builtin.ts create mode 100644 apps/antd-view/src/router/routes/index.ts create mode 100644 apps/antd-view/src/router/routes/layout.ts create mode 100644 apps/antd-view/src/router/routes/modules/nested.ts create mode 100644 apps/antd-view/src/router/routes/modules/outside.ts create mode 100644 apps/antd-view/src/services/index.ts create mode 100644 apps/antd-view/src/services/modules/user/index.ts create mode 100644 apps/antd-view/src/services/modules/user/typing.ts create mode 100644 apps/antd-view/src/services/request.ts create mode 100644 apps/antd-view/src/views/about/index.vue create mode 100644 apps/antd-view/src/views/authentication/code-login.vue create mode 100644 apps/antd-view/src/views/authentication/forget-password.vue create mode 100644 apps/antd-view/src/views/authentication/login.vue create mode 100644 apps/antd-view/src/views/authentication/qrcode-login.vue create mode 100644 apps/antd-view/src/views/authentication/register.vue create mode 100644 apps/antd-view/src/views/dashboard/index.vue create mode 100644 apps/antd-view/src/views/nested/menu-1.vue create mode 100644 apps/antd-view/src/views/nested/menu-2.vue create mode 100644 apps/antd-view/src/views/nested/menu-3-1.vue create mode 100644 apps/antd-view/src/views/nested/menu-3-2-1.vue create mode 100644 apps/antd-view/tailwind.config.mjs create mode 100644 apps/antd-view/tsconfig.json create mode 100644 apps/antd-view/tsconfig.node.json create mode 100644 apps/antd-view/vite.config.mts create mode 100644 eslint.config.mjs create mode 100644 internal/lint-configs/commitlint-config/build.config.ts create mode 100644 internal/lint-configs/commitlint-config/package.json create mode 100644 internal/lint-configs/commitlint-config/src/index.ts create mode 100644 internal/lint-configs/commitlint-config/tsconfig.json create mode 100644 internal/lint-configs/eslint-config/build.config.ts create mode 100644 internal/lint-configs/eslint-config/package.json create mode 100644 internal/lint-configs/eslint-config/src/configs/command.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/comments.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/ignores.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/import.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/index.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/javascript.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/jsdoc.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/jsonc.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/node.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/perfectionist.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/prettier.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/regexp.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/test.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/typescript.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/unicorn.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/vue.ts create mode 100644 internal/lint-configs/eslint-config/src/custom-config.ts create mode 100644 internal/lint-configs/eslint-config/src/index.ts create mode 100644 internal/lint-configs/eslint-config/tsconfig.json create mode 100644 internal/lint-configs/lint-staged-config/build.config.ts create mode 100644 internal/lint-configs/lint-staged-config/package.json create mode 100644 internal/lint-configs/lint-staged-config/src/index.ts create mode 100644 internal/lint-configs/lint-staged-config/tsconfig.json create mode 100644 internal/lint-configs/prettier-config/build.config.ts create mode 100644 internal/lint-configs/prettier-config/package.json create mode 100644 internal/lint-configs/prettier-config/src/index.ts create mode 100644 internal/lint-configs/prettier-config/tsconfig.json create mode 100644 internal/lint-configs/stylelint-config/build.config.ts create mode 100644 internal/lint-configs/stylelint-config/package.json create mode 100644 internal/lint-configs/stylelint-config/src/index.ts create mode 100644 internal/lint-configs/stylelint-config/tsconfig.json create mode 100644 internal/node-utils/build.config.ts create mode 100644 internal/node-utils/package.json create mode 100644 internal/node-utils/src/constants.ts create mode 100644 internal/node-utils/src/find.ts create mode 100644 internal/node-utils/src/git.ts create mode 100644 internal/node-utils/src/hash.test.ts create mode 100644 internal/node-utils/src/hash.ts create mode 100644 internal/node-utils/src/index.ts create mode 100644 internal/node-utils/src/monorepo.ts create mode 100644 internal/node-utils/src/prettier.ts create mode 100644 internal/node-utils/tsconfig.json create mode 100644 internal/tailwind-config/build.config.ts create mode 100644 internal/tailwind-config/package.json create mode 100644 internal/tailwind-config/src/index.ts create mode 100644 internal/tailwind-config/src/postcss.config.ts create mode 100644 internal/tailwind-config/tsconfig.json create mode 100644 internal/tsconfig/base.json create mode 100644 internal/tsconfig/library.json create mode 100644 internal/tsconfig/node.json create mode 100644 internal/tsconfig/package.json create mode 100644 internal/tsconfig/web-app.json create mode 100644 internal/tsconfig/web.json create mode 100644 internal/vite-config/build.config.ts create mode 100644 internal/vite-config/package.json create mode 100644 internal/vite-config/src/config/application.ts create mode 100644 internal/vite-config/src/config/common.ts create mode 100644 internal/vite-config/src/config/index.ts create mode 100644 internal/vite-config/src/config/library.ts create mode 100644 internal/vite-config/src/index.ts create mode 100644 internal/vite-config/src/plugins/extra-app-config.ts create mode 100644 internal/vite-config/src/plugins/importmap.ts create mode 100644 internal/vite-config/src/plugins/index.ts create mode 100644 internal/vite-config/src/plugins/inject-app-loading/README.md create mode 100644 internal/vite-config/src/plugins/inject-app-loading/index.ts create mode 100644 internal/vite-config/src/plugins/inject-app-loading/loading-antd.html create mode 100644 internal/vite-config/src/plugins/inject-app-loading/loading.html create mode 100644 internal/vite-config/src/typing.ts create mode 100644 internal/vite-config/src/utils/env.ts create mode 100644 internal/vite-config/tsconfig.json create mode 100644 package.json create mode 100644 packages/@vben-core/shared/README.md create mode 100644 packages/@vben-core/shared/design-tokens/README.md create mode 100644 packages/@vben-core/shared/design-tokens/package.json create mode 100644 packages/@vben-core/shared/design-tokens/src/dark/index.scss create mode 100644 packages/@vben-core/shared/design-tokens/src/default/index.scss create mode 100644 packages/@vben-core/shared/design-tokens/src/index.ts create mode 100644 packages/@vben-core/shared/design-tokens/tsconfig.json create mode 100644 packages/@vben-core/shared/design-tokens/vite.config.mts create mode 100644 packages/@vben-core/shared/design/build.config.ts create mode 100644 packages/@vben-core/shared/design/package.json create mode 100644 packages/@vben-core/shared/design/src/index.scss create mode 100644 packages/@vben-core/shared/design/src/scss/common/base.scss create mode 100644 packages/@vben-core/shared/design/src/scss/common/constants.scss create mode 100644 packages/@vben-core/shared/design/src/scss/common/entry.scss create mode 100644 packages/@vben-core/shared/design/src/scss/global.scss create mode 100644 packages/@vben-core/shared/design/src/scss/index.scss create mode 100644 packages/@vben-core/shared/design/src/scss/nprogress.scss create mode 100644 packages/@vben-core/shared/design/src/scss/transition/animation.scss create mode 100644 packages/@vben-core/shared/design/src/scss/transition/collapse.scss create mode 100644 packages/@vben-core/shared/design/src/scss/transition/fade.scss create mode 100644 packages/@vben-core/shared/design/src/scss/transition/index.scss create mode 100644 packages/@vben-core/shared/design/src/scss/transition/mixin.scss create mode 100644 packages/@vben-core/shared/design/src/scss/transition/slide.scss create mode 100644 packages/@vben-core/shared/design/src/tailwind.css create mode 100644 packages/@vben-core/shared/design/tsconfig.json create mode 100644 packages/@vben-core/shared/iconify/package.json create mode 100644 packages/@vben-core/shared/iconify/src/factory.ts create mode 100644 packages/@vben-core/shared/iconify/src/index.ts create mode 100644 packages/@vben-core/shared/iconify/src/material.ts create mode 100644 packages/@vben-core/shared/iconify/src/mdi.ts create mode 100644 packages/@vben-core/shared/iconify/tsconfig.json create mode 100644 packages/@vben-core/shared/toolkit/build.config.ts create mode 100644 packages/@vben-core/shared/toolkit/package.json create mode 100644 packages/@vben-core/shared/toolkit/src/color.test.ts create mode 100644 packages/@vben-core/shared/toolkit/src/color.ts create mode 100644 packages/@vben-core/shared/toolkit/src/date.test.ts create mode 100644 packages/@vben-core/shared/toolkit/src/date.ts create mode 100644 packages/@vben-core/shared/toolkit/src/diff.test.ts create mode 100644 packages/@vben-core/shared/toolkit/src/diff.ts create mode 100644 packages/@vben-core/shared/toolkit/src/hash.test.ts create mode 100644 packages/@vben-core/shared/toolkit/src/hash.ts create mode 100644 packages/@vben-core/shared/toolkit/src/index.ts create mode 100644 packages/@vben-core/shared/toolkit/src/inference.test.ts create mode 100644 packages/@vben-core/shared/toolkit/src/inference.ts create mode 100644 packages/@vben-core/shared/toolkit/src/merge.ts create mode 100644 packages/@vben-core/shared/toolkit/src/namespace.ts create mode 100644 packages/@vben-core/shared/toolkit/src/nprogress.ts create mode 100644 packages/@vben-core/shared/toolkit/src/tree.test.ts create mode 100644 packages/@vben-core/shared/toolkit/src/tree.ts create mode 100644 packages/@vben-core/shared/toolkit/src/window.test.ts create mode 100644 packages/@vben-core/shared/toolkit/src/window.ts create mode 100644 packages/@vben-core/shared/toolkit/tsconfig.json create mode 100644 packages/@vben-core/shared/typings/build.config.ts create mode 100644 packages/@vben-core/shared/typings/global.d.ts create mode 100644 packages/@vben-core/shared/typings/package.json create mode 100644 packages/@vben-core/shared/typings/src/access.ts create mode 100644 packages/@vben-core/shared/typings/src/index.ts create mode 100644 packages/@vben-core/shared/typings/src/menu-record.ts create mode 100644 packages/@vben-core/shared/typings/src/preference.ts create mode 100644 packages/@vben-core/shared/typings/src/tabs.ts create mode 100644 packages/@vben-core/shared/typings/src/tools.ts create mode 100644 packages/@vben-core/shared/typings/src/ui.ts create mode 100644 packages/@vben-core/shared/typings/tsconfig.json create mode 100644 packages/@vben-core/uikit/README.md create mode 100644 packages/@vben-core/uikit/layout-ui/package.json create mode 100644 packages/@vben-core/uikit/layout-ui/postcss.config.mjs create mode 100644 packages/@vben-core/uikit/layout-ui/src/components/index.ts create mode 100644 packages/@vben-core/uikit/layout-ui/src/components/layout-content.vue create mode 100644 packages/@vben-core/uikit/layout-ui/src/components/layout-footer.vue create mode 100644 packages/@vben-core/uikit/layout-ui/src/components/layout-header.vue create mode 100644 packages/@vben-core/uikit/layout-ui/src/components/layout-side.vue create mode 100644 packages/@vben-core/uikit/layout-ui/src/components/layout-tabs.vue create mode 100644 packages/@vben-core/uikit/layout-ui/src/components/widgets/index.ts create mode 100644 packages/@vben-core/uikit/layout-ui/src/components/widgets/side-collapse-button.vue create mode 100644 packages/@vben-core/uikit/layout-ui/src/components/widgets/side-pin-button.vue create mode 100644 packages/@vben-core/uikit/layout-ui/src/index.ts create mode 100644 packages/@vben-core/uikit/layout-ui/src/vben-layout.ts create mode 100644 packages/@vben-core/uikit/layout-ui/src/vben-layout.vue create mode 100644 packages/@vben-core/uikit/layout-ui/tailwind.config.mjs create mode 100644 packages/@vben-core/uikit/layout-ui/tsconfig.json create mode 100644 packages/@vben-core/uikit/layout-ui/vite.config.mts create mode 100644 packages/@vben-core/uikit/menu-ui/README.md create mode 100644 packages/@vben-core/uikit/menu-ui/package.json create mode 100644 packages/@vben-core/uikit/menu-ui/postcss.config.mjs create mode 100644 packages/@vben-core/uikit/menu-ui/src/components/collapse-transition.vue create mode 100644 packages/@vben-core/uikit/menu-ui/src/components/index.ts create mode 100644 packages/@vben-core/uikit/menu-ui/src/components/menu-item.vue create mode 100644 packages/@vben-core/uikit/menu-ui/src/components/menu.vue create mode 100644 packages/@vben-core/uikit/menu-ui/src/components/normal-menu/index.ts create mode 100644 packages/@vben-core/uikit/menu-ui/src/components/normal-menu/normal-menu.ts create mode 100644 packages/@vben-core/uikit/menu-ui/src/components/normal-menu/normal-menu.vue create mode 100644 packages/@vben-core/uikit/menu-ui/src/components/sub-menu-content.vue create mode 100644 packages/@vben-core/uikit/menu-ui/src/components/sub-menu.vue create mode 100644 packages/@vben-core/uikit/menu-ui/src/hooks/index.ts create mode 100644 packages/@vben-core/uikit/menu-ui/src/hooks/use-menu-context.ts create mode 100644 packages/@vben-core/uikit/menu-ui/src/hooks/use-menu.ts create mode 100644 packages/@vben-core/uikit/menu-ui/src/index.ts create mode 100644 packages/@vben-core/uikit/menu-ui/src/interface/index.ts create mode 100644 packages/@vben-core/uikit/menu-ui/src/menu.vue create mode 100644 packages/@vben-core/uikit/menu-ui/src/styles/index.scss create mode 100644 packages/@vben-core/uikit/menu-ui/src/sub-menu.vue create mode 100644 packages/@vben-core/uikit/menu-ui/src/utils/index.ts create mode 100644 packages/@vben-core/uikit/menu-ui/tailwind.config.mjs create mode 100644 packages/@vben-core/uikit/menu-ui/tsconfig.json create mode 100644 packages/@vben-core/uikit/menu-ui/vite.config.mts create mode 100644 packages/@vben-core/uikit/shadcn-ui/components.json create mode 100644 packages/@vben-core/uikit/shadcn-ui/package.json create mode 100644 packages/@vben-core/uikit/shadcn-ui/postcss.config.mjs create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/alert-dialog/alert-dialog.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/alert-dialog/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/avatar/avatar.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/avatar/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/back-top/back-top.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/back-top/backtop.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/back-top/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/back-top/use-backtop.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/breadcrumb/breadcrumb-background.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/breadcrumb/breadcrumb.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/breadcrumb/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/breadcrumb/interface.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/button/button.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/button/icon-button.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/button/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/checkbox/checkbox.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/checkbox/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/context-menu/context-menu.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/context-menu/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/context-menu/interface.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/dropdown-menu/dropdown-menu.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/dropdown-menu/dropdown-radio-menu.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/dropdown-menu/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/dropdown-menu/interface.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/full-screen/full-screen.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/full-screen/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/hover-card/hover-card.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/hover-card/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/icon/icon.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/icon/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/input-password/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/input-password/input-password.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/input-password/password-strength.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/input/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/input/input.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/input/interface.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/logo/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/logo/logo.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/menu-badge/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/menu-badge/menu-badge-dot.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/menu-badge/menu-badge.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/pin-input/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/pin-input/input.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/pin-input/interface.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/popover/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/popover/popover.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/segmented/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/segmented/interface.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/segmented/segmented.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/segmented/tabs-indicator.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/sheet/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/sheet/sheet.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/tooltip/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/tooltip/tooltip.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/alert-dialog/AlertDialog.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/alert-dialog/AlertDialogAction.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/alert-dialog/AlertDialogCancel.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/alert-dialog/AlertDialogContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/alert-dialog/AlertDialogDescription.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/alert-dialog/AlertDialogFooter.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/alert-dialog/AlertDialogHeader.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/alert-dialog/AlertDialogTitle.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/alert-dialog/AlertDialogTrigger.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/alert-dialog/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/avatar/Avatar.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/avatar/AvatarFallback.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/avatar/AvatarImage.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/avatar/avatar.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/avatar/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/badge/Badge.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/badge/badge.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/badge/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/breadcrumb/Breadcrumb.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/breadcrumb/BreadcrumbItem.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/breadcrumb/BreadcrumbLink.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/breadcrumb/BreadcrumbList.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/breadcrumb/BreadcrumbPage.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/breadcrumb/BreadcrumbSeparator.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/breadcrumb/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/button/Button.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/button/button.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/button/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/checkbox/Checkbox.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/checkbox/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenu.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuCheckboxItem.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuGroup.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuItem.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuLabel.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuPortal.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuRadioGroup.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuRadioItem.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuSeparator.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuShortcut.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuSub.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuSubContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuSubTrigger.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/ContextMenuTrigger.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/context-menu/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dialog/Dialog.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dialog/DialogClose.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dialog/DialogContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dialog/DialogDescription.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dialog/DialogFooter.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dialog/DialogHeader.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dialog/DialogScrollContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dialog/DialogTitle.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dialog/DialogTrigger.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dialog/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenu.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuGroup.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuItem.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuLabel.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuSub.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/dropdown-menu/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/hover-card/HoverCard.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/hover-card/HoverCardContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/hover-card/HoverCardTrigger.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/hover-card/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/pin-input/PinInput.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/pin-input/PinInputGroup.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/pin-input/PinInputInput.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/pin-input/PinInputSeparator.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/pin-input/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/popover/Popover.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/popover/PopoverContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/popover/PopoverTrigger.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/popover/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/scroll-area/ScrollArea.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/scroll-area/ScrollBar.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/scroll-area/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/select/Select.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/select/SelectContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/select/SelectGroup.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/select/SelectItem.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/select/SelectItemText.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/select/SelectLabel.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/select/SelectScrollDownButton.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/select/SelectScrollUpButton.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/select/SelectSeparator.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/select/SelectTrigger.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/select/SelectValue.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/select/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/sheet/Sheet.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/sheet/SheetClose.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/sheet/SheetContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/sheet/SheetDescription.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/sheet/SheetFooter.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/sheet/SheetHeader.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/sheet/SheetTitle.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/sheet/SheetTrigger.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/sheet/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/sheet/sheet.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/sonner/Sonner.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/sonner/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/switch/Switch.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/switch/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/tabs/Tabs.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/tabs/TabsContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/tabs/TabsList.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/tabs/TabsTrigger.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/tabs/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/toggle-group/ToggleGroup.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/toggle-group/ToggleGroupItem.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/toggle-group/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/toggle/Toggle.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/toggle/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/toggle/toggle.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/tooltip/Tooltip.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/tooltip/TooltipContent.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/tooltip/TooltipProvider.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/tooltip/TooltipTrigger.vue create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/components/ui/tooltip/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/index.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/lib/utils.ts create mode 100644 packages/@vben-core/uikit/shadcn-ui/src/styles/index.css create mode 100644 packages/@vben-core/uikit/shadcn-ui/tailwind.config.mjs create mode 100644 packages/@vben-core/uikit/shadcn-ui/tsconfig.json create mode 100644 packages/@vben-core/uikit/shadcn-ui/vite.config.mts create mode 100644 packages/@vben-core/uikit/tabs-ui/package.json create mode 100644 packages/@vben-core/uikit/tabs-ui/postcss.config.mjs create mode 100644 packages/@vben-core/uikit/tabs-ui/src/components/index.ts create mode 100644 packages/@vben-core/uikit/tabs-ui/src/components/tab-background.vue create mode 100644 packages/@vben-core/uikit/tabs-ui/src/components/tab.vue create mode 100644 packages/@vben-core/uikit/tabs-ui/src/components/tabs-more.vue create mode 100644 packages/@vben-core/uikit/tabs-ui/src/components/tabs-screen.vue create mode 100644 packages/@vben-core/uikit/tabs-ui/src/components/tabs.vue create mode 100644 packages/@vben-core/uikit/tabs-ui/src/index.ts create mode 100644 packages/@vben-core/uikit/tabs-ui/src/styles/tabs.scss create mode 100644 packages/@vben-core/uikit/tabs-ui/tailwind.config.mjs create mode 100644 packages/@vben-core/uikit/tabs-ui/tsconfig.json create mode 100644 packages/@vben-core/uikit/tabs-ui/vite.config.mts create mode 100644 packages/business/README.md create mode 100644 packages/business/common-ui/package.json create mode 100644 packages/business/common-ui/postcss.config.mjs create mode 100644 packages/business/common-ui/src/authentication/auth-title.vue create mode 100644 packages/business/common-ui/src/authentication/code-login.vue create mode 100644 packages/business/common-ui/src/authentication/color-toggle.vue create mode 100644 packages/business/common-ui/src/authentication/forget-password.vue create mode 100644 packages/business/common-ui/src/authentication/index.ts create mode 100644 packages/business/common-ui/src/authentication/layout-toggle.vue create mode 100644 packages/business/common-ui/src/authentication/login.vue create mode 100644 packages/business/common-ui/src/authentication/qrcode-login.vue create mode 100644 packages/business/common-ui/src/authentication/register.vue create mode 100644 packages/business/common-ui/src/authentication/third-party-login.vue create mode 100644 packages/business/common-ui/src/authentication/typings.ts create mode 100644 packages/business/common-ui/src/fallback/fallback-icon.vue create mode 100644 packages/business/common-ui/src/fallback/fallback.vue create mode 100644 packages/business/common-ui/src/fallback/index.ts create mode 100644 packages/business/common-ui/src/global-provider/global-provider.vue create mode 100644 packages/business/common-ui/src/global-provider/index.ts create mode 100644 packages/business/common-ui/src/global-search/global-search.vue create mode 100644 packages/business/common-ui/src/global-search/index.ts create mode 100644 packages/business/common-ui/src/global-search/search-panel.vue create mode 100644 packages/business/common-ui/src/index.ts create mode 100644 packages/business/common-ui/src/language-toggle/index.ts create mode 100644 packages/business/common-ui/src/language-toggle/language-toggle.vue create mode 100644 packages/business/common-ui/src/notification/index.ts create mode 100644 packages/business/common-ui/src/notification/interface.ts create mode 100644 packages/business/common-ui/src/notification/notification.vue create mode 100644 packages/business/common-ui/src/preference/blocks/block.vue create mode 100644 packages/business/common-ui/src/preference/blocks/general/animation.vue create mode 100644 packages/business/common-ui/src/preference/blocks/general/general.vue create mode 100644 packages/business/common-ui/src/preference/blocks/general/navigation.vue create mode 100644 packages/business/common-ui/src/preference/blocks/index.ts create mode 100644 packages/business/common-ui/src/preference/blocks/layout/breadcrumb.vue create mode 100644 packages/business/common-ui/src/preference/blocks/layout/content.vue create mode 100644 packages/business/common-ui/src/preference/blocks/layout/footer.vue create mode 100644 packages/business/common-ui/src/preference/blocks/layout/header.vue create mode 100644 packages/business/common-ui/src/preference/blocks/layout/interface-control.vue create mode 100644 packages/business/common-ui/src/preference/blocks/layout/layout.vue create mode 100644 packages/business/common-ui/src/preference/blocks/layout/sidebar.vue create mode 100644 packages/business/common-ui/src/preference/blocks/layout/tabs.vue create mode 100644 packages/business/common-ui/src/preference/blocks/select-item.vue create mode 100644 packages/business/common-ui/src/preference/blocks/switch-item.vue create mode 100644 packages/business/common-ui/src/preference/blocks/theme/color-mode.vue create mode 100644 packages/business/common-ui/src/preference/blocks/theme/color.vue create mode 100644 packages/business/common-ui/src/preference/blocks/theme/theme.vue create mode 100644 packages/business/common-ui/src/preference/blocks/toggle-item.vue create mode 100644 packages/business/common-ui/src/preference/icons/content-compact.vue create mode 100644 packages/business/common-ui/src/preference/icons/full-content.vue create mode 100644 packages/business/common-ui/src/preference/icons/header-nav.vue create mode 100644 packages/business/common-ui/src/preference/icons/index.ts create mode 100644 packages/business/common-ui/src/preference/icons/mixed-nav.vue create mode 100644 packages/business/common-ui/src/preference/icons/setting.vue create mode 100644 packages/business/common-ui/src/preference/icons/side-mixed-nav.vue create mode 100644 packages/business/common-ui/src/preference/icons/side-nav.vue create mode 100644 packages/business/common-ui/src/preference/index.ts create mode 100644 packages/business/common-ui/src/preference/preference-widget.vue create mode 100644 packages/business/common-ui/src/preference/preference.vue create mode 100644 packages/business/common-ui/src/preference/trigger.vue create mode 100644 packages/business/common-ui/src/spinner/index.ts create mode 100644 packages/business/common-ui/src/spinner/spinner.vue create mode 100644 packages/business/common-ui/src/theme-toggle/index.ts create mode 100644 packages/business/common-ui/src/theme-toggle/theme-button.vue create mode 100644 packages/business/common-ui/src/theme-toggle/theme-toggle.vue create mode 100644 packages/business/common-ui/src/user-dropdown/index.ts create mode 100644 packages/business/common-ui/src/user-dropdown/user-dropdown.vue create mode 100644 packages/business/common-ui/tailwind.config.mjs create mode 100644 packages/business/common-ui/tsconfig.json create mode 100644 packages/business/common-ui/vite.config.mts create mode 100644 packages/business/layouts/package.json create mode 100644 packages/business/layouts/postcss.config.mjs create mode 100644 packages/business/layouts/src/authentication/authentication.vue create mode 100644 packages/business/layouts/src/authentication/from-view.vue create mode 100644 packages/business/layouts/src/authentication/icons/slogan.vue create mode 100644 packages/business/layouts/src/authentication/index.ts create mode 100644 packages/business/layouts/src/authentication/toolbar.vue create mode 100644 packages/business/layouts/src/basic/content/content.vue create mode 100644 packages/business/layouts/src/basic/content/index.ts create mode 100644 packages/business/layouts/src/basic/footer/footer.vue create mode 100644 packages/business/layouts/src/basic/footer/index.ts create mode 100644 packages/business/layouts/src/basic/header/header.vue create mode 100644 packages/business/layouts/src/basic/header/index.ts create mode 100644 packages/business/layouts/src/basic/index.ts create mode 100644 packages/business/layouts/src/basic/layout.vue create mode 100644 packages/business/layouts/src/basic/menu/extra-menu.vue create mode 100644 packages/business/layouts/src/basic/menu/helper.ts create mode 100644 packages/business/layouts/src/basic/menu/index.ts create mode 100644 packages/business/layouts/src/basic/menu/menu.vue create mode 100644 packages/business/layouts/src/basic/menu/mixed-menu.vue create mode 100644 packages/business/layouts/src/basic/menu/use-extra-menu.ts create mode 100644 packages/business/layouts/src/basic/menu/use-mixed-menu.ts create mode 100644 packages/business/layouts/src/basic/tabs/index.ts create mode 100644 packages/business/layouts/src/basic/tabs/tabs-toolbar.vue create mode 100644 packages/business/layouts/src/basic/tabs/tabs.vue create mode 100644 packages/business/layouts/src/basic/tabs/use-tabs.ts create mode 100644 packages/business/layouts/src/basic/widgets/breadcrumb.vue create mode 100644 packages/business/layouts/src/basic/widgets/index.ts create mode 100644 packages/business/layouts/src/iframe/iframe-router-view.vue create mode 100644 packages/business/layouts/src/iframe/iframe-view.vue create mode 100644 packages/business/layouts/src/iframe/index.ts create mode 100644 packages/business/layouts/src/index.ts create mode 100644 packages/business/layouts/tailwind.config.mjs create mode 100644 packages/business/layouts/tsconfig.json create mode 100644 packages/business/layouts/vite.config.mts create mode 100644 packages/hooks/build.config.ts create mode 100644 packages/hooks/package.json create mode 100644 packages/hooks/src/index.ts create mode 100644 packages/hooks/src/use-request.ts create mode 100644 packages/hooks/tsconfig.json create mode 100644 packages/icons/package.json create mode 100644 packages/icons/src/iconify/index.ts create mode 100644 packages/icons/src/index.ts create mode 100644 packages/icons/src/svg/icons/avatar.svg create mode 100644 packages/icons/src/svg/index.ts create mode 100644 packages/icons/src/svg/load.ts create mode 100644 packages/icons/tsconfig.json create mode 100644 packages/locales/build.config.ts create mode 100644 packages/locales/package.json create mode 100644 packages/locales/src/i18n.ts create mode 100644 packages/locales/src/index.ts create mode 100644 packages/locales/src/langs/en-US.yaml create mode 100644 packages/locales/src/langs/zh-CN.yaml create mode 100644 packages/locales/src/third-party/.gitkeep create mode 100644 packages/locales/src/typing.ts create mode 100644 packages/locales/tsconfig.json create mode 100644 packages/preference/build.config.ts create mode 100644 packages/preference/package.json create mode 100644 packages/preference/src/cache.ts create mode 100644 packages/preference/src/config.ts create mode 100644 packages/preference/src/index.ts create mode 100644 packages/preference/src/preference.ts create mode 100644 packages/preference/src/setup.ts create mode 100644 packages/preference/src/use-preference.ts create mode 100644 packages/preference/tsconfig.json create mode 100644 packages/stores/build.config.ts create mode 100644 packages/stores/package.json create mode 100644 packages/stores/shim-pinia.d.ts create mode 100644 packages/stores/src/index.ts create mode 100644 packages/stores/src/modules/access.test.ts create mode 100644 packages/stores/src/modules/access.ts create mode 100644 packages/stores/src/modules/index.ts create mode 100644 packages/stores/src/modules/tabs.ts create mode 100644 packages/stores/src/setup.ts create mode 100644 packages/stores/tsconfig.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 scripts/vsh/README.md create mode 100755 scripts/vsh/bin/vsh.mjs create mode 100644 scripts/vsh/build.config.ts create mode 100644 scripts/vsh/package.json create mode 100644 scripts/vsh/src/check-circular/index.ts create mode 100644 scripts/vsh/src/check-dep/index.ts create mode 100644 scripts/vsh/src/clean/index.ts create mode 100644 scripts/vsh/src/code-workspace/index.ts create mode 100644 scripts/vsh/src/index.ts create mode 100644 scripts/vsh/src/lint/index.ts create mode 100644 scripts/vsh/src/publint/index.ts create mode 100644 scripts/vsh/tsconfig.json create mode 100644 stylelint.config.mjs create mode 100644 turbo.json create mode 100644 vben-admin.code-workspace create mode 100644 vitest.config.ts diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 000000000..dc3bc09a2 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,4 @@ +> 1% +last 2 versions +not dead +not ie 11 diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 000000000..5654e898b --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,5 @@ +# Changesets + +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works with multi-package repos, or single-package repos to help you version and publish your code. You can find the full documentation for it [in our repository](https://github.com/changesets/changesets) + +We have a quick list of common questions to get you started engaging with this project in [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 000000000..faeefa98e --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "fixed": [["@vben-core/*", "@vben/*"]], + "snapshot": { + "prereleaseTemplate": "{tag}-{datetime}" + }, + "privatePackages": { "version": true, "tag": true }, + "linked": [], + "access": "restricted", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "ignore": [] +} diff --git a/.commitlintrc.mjs b/.commitlintrc.mjs new file mode 100644 index 000000000..02e33fa62 --- /dev/null +++ b/.commitlintrc.mjs @@ -0,0 +1 @@ +export { default } from '@vben/commitlint-config'; diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..0fdeb7533 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,21 @@ +root = true + +[*] +charset=utf-8 +end_of_line=lf +insert_final_newline=true +indent_style=space +indent_size=2 +max_line_length = 100 +trim_trailing_whitespace = true +quote_type = single + +[*.{yml,yaml,json}] +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..d4e5bd3ed --- /dev/null +++ b/.gitattributes @@ -0,0 +1,11 @@ +# https://docs.github.com/cn/get-started/getting-started-with-git/configuring-git-to-handle-line-endings + +# Automatically normalize line endings (to LF) for all text-based files. +* text=auto eol=lf + +# Declare files that will always have CRLF line endings on checkout. +*.{cmd,[cC][mM][dD]} text eol=crlf +*.{bat,[bB][aA][tT]} text eol=crlf + +# Denote all files that are truly binary and should not be modified. +*.{ico,png,jpg,jpeg,gif,webp,svg,woff,woff2} binary \ No newline at end of file diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 000000000..4b28a69cd --- /dev/null +++ b/.gitconfig @@ -0,0 +1,2 @@ +[core] + ignorecase = false diff --git a/.github/ISSUE_TEMPLATE/1-bug.md b/.github/ISSUE_TEMPLATE/1-bug.md new file mode 100644 index 000000000..0f5e1e0ae --- /dev/null +++ b/.github/ISSUE_TEMPLATE/1-bug.md @@ -0,0 +1,39 @@ +--- +name: 🐛 Bug report +about: Create a report to help us improve +title: '' +labels: 'bug: pending triage' +assignees: '' +--- + + + +**⚠️ IMPORTANT ⚠️ Please check the following list before proceeding. If you ignore this issue template, your issue will be directly closed.** + +- [ ] Read [the docs](https://anncwb.github.io/vue-vben-admin-doc/). +- [ ] Make sure the code is up to date. (Some bugs have been fixed in the latest code) +- [ ] This is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/anncwb/vue-vben-admin/discussions) or join our [Discord](https://discord.gg/8GuAdwDhj6) Chat Server. + +### Describe the bug + +A clear and concise description of what the bug is.. + +### Reproduction + +Please describe the steps of the problem in detail to ensure that we can restore the correct problem + +## System Info + +- Operating System: +- Node version: +- Package manager (npm/yarn/pnpm) and version: diff --git a/.github/ISSUE_TEMPLATE/2-feature.md b/.github/ISSUE_TEMPLATE/2-feature.md new file mode 100644 index 000000000..cbe416456 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/2-feature.md @@ -0,0 +1,32 @@ +--- +name: 🚀 Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' +--- + + + +### Subject of the feature + +Describe your issue here. + +### Problem + +If the feature requests relates to a problem, please describe the problem you are trying to solve here. + +### Expected behaviour + +What should happen? Please describe the desired behaviour. + +### Alternatives + +What are the alternative solutions? Please describe what else you have considered? diff --git a/.github/ISSUE_TEMPLATE/3-bug-cn.md b/.github/ISSUE_TEMPLATE/3-bug-cn.md new file mode 100644 index 000000000..fade42ad2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/3-bug-cn.md @@ -0,0 +1,28 @@ +--- +name: 🐛 Bug 报告 +about: 向我们报告一个Bug以帮助我们改进 +title: '' +labels: 'bug: pending triage' +assignees: '' +--- + +**⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭** + +- [ ] 已阅读 [文档](https://anncwb.github.io/vue-vben-admin-doc/). +- [ ] 确保您的代码已是最新或者所报告的 Bug 在最新版本中可以重现. (部分 Bug 可能已经在最近的代码中修复) +- [ ] 已在 Issues 中搜索了相关的关键词 +- [ ] 不是 ant design vue 组件库的 Bug + +### 描述 Bug + +请清晰地描述此 Bug 的具体表现。 + +### 复现 Bug + +请描述在演示页面中复现 Bug 的详细步骤,以确保我们可以理解并定位问题。部分 Bug 如果未在 Demo 中涉及,请务必提供关键代码 + +## 系统信息 + +- 操作系统: +- Node 版本: +- 包管理器 (npm/yarn/pnpm) 及其版本: diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..b83ccbf24 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: Discord Chat + url: https://discord.gg/8GuAdwDhj6 + about: Ask questions and discuss with other Vben users in real time. + - name: Questions & Discussions + url: https://github.com/anncwb/vue-vben-admin/discussions + about: Use GitHub discussions for message-board style questions and discussions. diff --git a/.github/commit-convention.md b/.github/commit-convention.md new file mode 100644 index 000000000..a1a969e99 --- /dev/null +++ b/.github/commit-convention.md @@ -0,0 +1,89 @@ +## Git Commit Message Convention + +> This is adapted from [Angular's commit convention](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular). + +#### TL;DR: + +Messages must be matched by the following regex: + +```js +/^(revert: )?(feat|fix|docs|style|refactor|perf|test|workflow|build|ci|chore|types|wip): .{1,50}/; +``` + +#### Examples + +Appears under "Features" header, `dev` subheader: + +``` +feat(dev): add 'comments' option +``` + +Appears under "Bug Fixes" header, `dev` subheader, with a link to issue #28: + +``` +fix(dev): fix dev error + +close #28 +``` + +Appears under "Performance Improvements" header, and under "Breaking Changes" with the breaking change explanation: + +``` +perf(build): remove 'foo' option + +BREAKING CHANGE: The 'foo' option has been removed. +``` + +The following commit and commit `667ecc1` do not appear in the changelog if they are under the same release. If not, the revert commit appears under the "Reverts" header. + +``` +revert: feat(compiler): add 'comments' option + +This reverts commit 667ecc1654a317a13331b17617d973392f415f02. +``` + +### Full Message Format + +A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**: + +``` +(): + + + +