create-nala 3.0.0 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/package.json +6 -6
  2. package/template/.agents/skills/nala-project/SKILL.md +493 -0
  3. package/template/AGENTS.md +49 -0
  4. package/{LICENSE → template/LICENSE} +1 -1
  5. package/template/README.md +130 -0
  6. package/template/package.json +1 -1
  7. package/template/src/components/ui/alert/Alert.vue +8 -8
  8. package/template/src/components/ui/alert/AlertDescription.vue +5 -5
  9. package/template/src/components/ui/alert/AlertTitle.vue +5 -5
  10. package/template/src/components/ui/alert-dialog/AlertDialog.vue +6 -6
  11. package/template/src/components/ui/alert-dialog/AlertDialogAction.vue +9 -9
  12. package/template/src/components/ui/alert-dialog/AlertDialogCancel.vue +9 -9
  13. package/template/src/components/ui/alert-dialog/AlertDialogContent.vue +20 -20
  14. package/template/src/components/ui/alert-dialog/AlertDialogDescription.vue +10 -10
  15. package/template/src/components/ui/alert-dialog/AlertDialogFooter.vue +5 -5
  16. package/template/src/components/ui/alert-dialog/AlertDialogHeader.vue +5 -5
  17. package/template/src/components/ui/alert-dialog/AlertDialogTitle.vue +8 -8
  18. package/template/src/components/ui/alert-dialog/AlertDialogTrigger.vue +3 -3
  19. package/template/src/components/ui/alert-dialog/index.ts +8 -8
  20. package/template/src/components/ui/avatar/AvatarFallback.vue +8 -8
  21. package/template/src/components/ui/avatar/AvatarImage.vue +3 -3
  22. package/template/src/components/ui/breadcrumb/Breadcrumb.vue +4 -4
  23. package/template/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue +6 -6
  24. package/template/src/components/ui/breadcrumb/BreadcrumbItem.vue +5 -5
  25. package/template/src/components/ui/breadcrumb/BreadcrumbLink.vue +7 -7
  26. package/template/src/components/ui/breadcrumb/BreadcrumbList.vue +5 -5
  27. package/template/src/components/ui/breadcrumb/BreadcrumbPage.vue +5 -5
  28. package/template/src/components/ui/breadcrumb/BreadcrumbSeparator.vue +6 -6
  29. package/template/src/components/ui/breadcrumb/index.ts +6 -6
  30. package/template/src/components/ui/button/Button.vue +15 -15
  31. package/template/src/components/ui/card/CardAction.vue +5 -5
  32. package/template/src/components/ui/card/CardContent.vue +5 -5
  33. package/template/src/components/ui/card/CardDescription.vue +5 -5
  34. package/template/src/components/ui/card/CardFooter.vue +5 -5
  35. package/template/src/components/ui/card/CardTitle.vue +5 -5
  36. package/template/src/components/ui/card/index.ts +6 -6
  37. package/template/src/components/ui/command/Command.vue +75 -75
  38. package/template/src/components/ui/command/CommandDialog.vue +14 -14
  39. package/template/src/components/ui/command/CommandEmpty.vue +14 -14
  40. package/template/src/components/ui/command/CommandGroup.vue +27 -27
  41. package/template/src/components/ui/command/CommandInput.vue +20 -20
  42. package/template/src/components/ui/command/CommandItem.vue +57 -57
  43. package/template/src/components/ui/command/CommandList.vue +10 -10
  44. package/template/src/components/ui/command/CommandSeparator.vue +8 -8
  45. package/template/src/components/ui/command/CommandShortcut.vue +5 -5
  46. package/template/src/components/ui/command/index.ts +24 -24
  47. package/template/src/components/ui/dialog/Dialog.vue +6 -6
  48. package/template/src/components/ui/dialog/DialogClose.vue +3 -3
  49. package/template/src/components/ui/dialog/DialogContent.vue +24 -24
  50. package/template/src/components/ui/dialog/DialogDescription.vue +10 -10
  51. package/template/src/components/ui/dialog/DialogFooter.vue +10 -10
  52. package/template/src/components/ui/dialog/DialogHeader.vue +5 -5
  53. package/template/src/components/ui/dialog/DialogOverlay.vue +8 -8
  54. package/template/src/components/ui/dialog/DialogScrollContent.vue +22 -22
  55. package/template/src/components/ui/dialog/DialogTitle.vue +10 -10
  56. package/template/src/components/ui/dialog/DialogTrigger.vue +3 -3
  57. package/template/src/components/ui/dialog/index.ts +9 -9
  58. package/template/src/components/ui/dropdown-menu/DropdownMenu.vue +6 -6
  59. package/template/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +16 -16
  60. package/template/src/components/ui/dropdown-menu/DropdownMenuGroup.vue +3 -3
  61. package/template/src/components/ui/dropdown-menu/DropdownMenuItem.vue +16 -16
  62. package/template/src/components/ui/dropdown-menu/DropdownMenuLabel.vue +9 -9
  63. package/template/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +9 -9
  64. package/template/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +17 -17
  65. package/template/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue +12 -12
  66. package/template/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue +5 -5
  67. package/template/src/components/ui/dropdown-menu/DropdownMenuSub.vue +9 -9
  68. package/template/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue +14 -14
  69. package/template/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +13 -13
  70. package/template/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue +5 -5
  71. package/template/src/components/ui/dropdown-menu/index.ts +15 -15
  72. package/template/src/components/ui/form/FormControl.vue +3 -3
  73. package/template/src/components/ui/form/FormDescription.vue +8 -8
  74. package/template/src/components/ui/form/FormItem.vue +11 -11
  75. package/template/src/components/ui/form/FormLabel.vue +8 -8
  76. package/template/src/components/ui/form/FormMessage.vue +10 -10
  77. package/template/src/components/ui/form/index.ts +6 -6
  78. package/template/src/components/ui/form/injectionKeys.ts +3 -3
  79. package/template/src/components/ui/form/useFormField.ts +29 -29
  80. package/template/src/components/ui/input/Input.vue +17 -17
  81. package/template/src/components/ui/label/Label.vue +8 -8
  82. package/template/src/components/ui/pagination/Pagination.vue +12 -12
  83. package/template/src/components/ui/pagination/PaginationContent.vue +8 -8
  84. package/template/src/components/ui/pagination/PaginationEllipsis.vue +9 -9
  85. package/template/src/components/ui/pagination/PaginationFirst.vue +17 -17
  86. package/template/src/components/ui/pagination/PaginationItem.vue +16 -16
  87. package/template/src/components/ui/pagination/PaginationLast.vue +17 -17
  88. package/template/src/components/ui/pagination/PaginationNext.vue +17 -17
  89. package/template/src/components/ui/pagination/PaginationPrevious.vue +17 -17
  90. package/template/src/components/ui/pagination/index.ts +7 -7
  91. package/template/src/components/ui/popover/Popover.vue +6 -6
  92. package/template/src/components/ui/popover/PopoverAnchor.vue +3 -3
  93. package/template/src/components/ui/popover/PopoverContent.vue +25 -25
  94. package/template/src/components/ui/popover/PopoverTrigger.vue +3 -3
  95. package/template/src/components/ui/popover/index.ts +3 -3
  96. package/template/src/components/ui/select/Select.vue +6 -6
  97. package/template/src/components/ui/select/SelectContent.vue +26 -26
  98. package/template/src/components/ui/select/SelectGroup.vue +3 -3
  99. package/template/src/components/ui/select/SelectItem.vue +16 -16
  100. package/template/src/components/ui/select/SelectItemText.vue +3 -3
  101. package/template/src/components/ui/select/SelectLabel.vue +5 -5
  102. package/template/src/components/ui/select/SelectScrollDownButton.vue +11 -11
  103. package/template/src/components/ui/select/SelectScrollUpButton.vue +11 -11
  104. package/template/src/components/ui/select/SelectSeparator.vue +8 -8
  105. package/template/src/components/ui/select/SelectTrigger.vue +13 -13
  106. package/template/src/components/ui/select/SelectValue.vue +3 -3
  107. package/template/src/components/ui/select/index.ts +10 -10
  108. package/template/src/components/ui/separator/Separator.vue +13 -13
  109. package/template/src/components/ui/sheet/Sheet.vue +6 -6
  110. package/template/src/components/ui/sheet/SheetClose.vue +3 -3
  111. package/template/src/components/ui/sheet/SheetContent.vue +29 -29
  112. package/template/src/components/ui/sheet/SheetDescription.vue +8 -8
  113. package/template/src/components/ui/sheet/SheetFooter.vue +3 -3
  114. package/template/src/components/ui/sheet/SheetHeader.vue +3 -3
  115. package/template/src/components/ui/sheet/SheetOverlay.vue +8 -8
  116. package/template/src/components/ui/sheet/SheetTitle.vue +8 -8
  117. package/template/src/components/ui/sheet/SheetTrigger.vue +3 -3
  118. package/template/src/components/ui/sheet/index.ts +7 -7
  119. package/template/src/components/ui/sidebar/Sidebar.vue +18 -18
  120. package/template/src/components/ui/sidebar/SidebarContent.vue +6 -6
  121. package/template/src/components/ui/sidebar/SidebarControl.vue +0 -3
  122. package/template/src/components/ui/sidebar/SidebarFooter.vue +5 -5
  123. package/template/src/components/ui/sidebar/SidebarGroup.vue +5 -5
  124. package/template/src/components/ui/sidebar/SidebarGroupAction.vue +7 -7
  125. package/template/src/components/ui/sidebar/SidebarGroupContent.vue +5 -5
  126. package/template/src/components/ui/sidebar/SidebarGroupLabel.vue +7 -7
  127. package/template/src/components/ui/sidebar/SidebarHeader.vue +5 -5
  128. package/template/src/components/ui/sidebar/SidebarInput.vue +6 -6
  129. package/template/src/components/ui/sidebar/SidebarInset.vue +5 -5
  130. package/template/src/components/ui/sidebar/SidebarMenu.vue +5 -5
  131. package/template/src/components/ui/sidebar/SidebarMenuAction.vue +10 -10
  132. package/template/src/components/ui/sidebar/SidebarMenuBadge.vue +5 -5
  133. package/template/src/components/ui/sidebar/SidebarMenuButton.vue +21 -21
  134. package/template/src/components/ui/sidebar/SidebarMenuButtonChild.vue +18 -18
  135. package/template/src/components/ui/sidebar/SidebarMenuItem.vue +5 -5
  136. package/template/src/components/ui/sidebar/SidebarMenuSkeleton.vue +12 -12
  137. package/template/src/components/ui/sidebar/SidebarMenuSub.vue +5 -5
  138. package/template/src/components/ui/sidebar/SidebarMenuSubButton.vue +12 -12
  139. package/template/src/components/ui/sidebar/SidebarMenuSubItem.vue +5 -5
  140. package/template/src/components/ui/sidebar/SidebarProvider.vue +4 -8
  141. package/template/src/components/ui/sidebar/SidebarRail.vue +8 -8
  142. package/template/src/components/ui/sidebar/SidebarSeparator.vue +6 -6
  143. package/template/src/components/ui/sidebar/SidebarTrigger.vue +10 -10
  144. package/template/src/components/ui/sidebar/utils.ts +1 -1
  145. package/template/src/components/ui/skeleton/Skeleton.vue +7 -7
  146. package/template/src/components/ui/sonner/Sonner.vue +5 -5
  147. package/template/src/components/ui/switch/Switch.vue +16 -16
  148. package/template/src/components/ui/table/Table.vue +5 -5
  149. package/template/src/components/ui/table/TableBody.vue +5 -5
  150. package/template/src/components/ui/table/TableCaption.vue +5 -5
  151. package/template/src/components/ui/table/TableCell.vue +5 -5
  152. package/template/src/components/ui/table/TableEmpty.vue +13 -13
  153. package/template/src/components/ui/table/TableFooter.vue +5 -5
  154. package/template/src/components/ui/table/TableHead.vue +5 -5
  155. package/template/src/components/ui/table/TableHeader.vue +5 -5
  156. package/template/src/components/ui/table/TableRow.vue +5 -5
  157. package/template/src/components/ui/table/index.ts +8 -8
  158. package/template/src/components/ui/table/utils.ts +9 -9
  159. package/template/src/components/ui/tabs/Tabs.vue +10 -10
  160. package/template/src/components/ui/tabs/TabsContent.vue +8 -8
  161. package/template/src/components/ui/tabs/TabsList.vue +8 -8
  162. package/template/src/components/ui/tabs/TabsTrigger.vue +10 -10
  163. package/template/src/components/ui/tabs/index.ts +3 -3
  164. package/template/src/components/ui/textarea/Textarea.vue +17 -17
  165. package/template/src/components/ui/tooltip/Tooltip.vue +6 -6
  166. package/template/src/components/ui/tooltip/TooltipContent.vue +17 -17
  167. package/template/src/components/ui/tooltip/TooltipProvider.vue +5 -5
  168. package/template/src/components/ui/tooltip/TooltipTrigger.vue +3 -3
  169. package/template/src/components/ui/tooltip/index.ts +3 -3
  170. package/template/src/lib/utils.ts +6 -6
@@ -0,0 +1,130 @@
1
+ # NALA_APP_NAME
2
+
3
+ > Built with **Nala** — Enterprise Admin Dashboard Starter Template powered by Vue 3, Vite, TypeScript, and Tailwind CSS v4.
4
+
5
+ ---
6
+
7
+ ## 🚀 Quick Start
8
+
9
+ ### 1. Install Dependencies
10
+
11
+ ```bash
12
+ # with pnpm (Recommended)
13
+ pnpm install
14
+
15
+ # with npm
16
+ npm install
17
+
18
+ # with yarn
19
+ yarn install
20
+
21
+ # with bun
22
+ bun install
23
+ ```
24
+
25
+ ### 2. Environment Configuration
26
+
27
+ Copy the example environment file and customize as needed:
28
+
29
+ ```bash
30
+ cp .env.example .env
31
+ ```
32
+
33
+ ### 3. Start Development Server
34
+
35
+ ```bash
36
+ pnpm dev
37
+ ```
38
+
39
+ Open **http://localhost:5173** in your browser.
40
+
41
+ ---
42
+
43
+ ## 🛠️ Available Scripts
44
+
45
+ | Script | Command | Description |
46
+ |---|---|---|
47
+ | `pnpm dev` | `vite` | Starts local dev server with blazing fast HMR |
48
+ | `pnpm build` | `vue-tsc -b && vite build` | Type-checks & compiles production bundle to `dist/` |
49
+ | `pnpm preview` | `vite preview` | Previews production build locally |
50
+
51
+ ---
52
+
53
+ ## 📁 Project Structure
54
+
55
+ ```
56
+ src/
57
+ ├── assets/fonts/ # High-performance local Inter fonts (woff2)
58
+ ├── components/
59
+ │ ├── layout/ # Admin shell (AppNavbar, AppSidebar, CommandPalette)
60
+ │ ├── ui/ # 34+ accessible UI primitives (Reka UI / shadcn-vue)
61
+ │ └── PageHeader.vue # Standardized page header component
62
+ ├── composables/
63
+ │ ├── useFormatter.ts # Native Intl data formatting helpers (auto-imported)
64
+ │ └── useThemeConfig.ts # Runtime theme & layout state (auto-imported)
65
+ ├── layouts/
66
+ │ ├── AdminLayout.vue # Main authenticated dashboard layout
67
+ │ └── AuthLayout.vue # Centered layout for login/register/auth flows
68
+ ├── lib/
69
+ │ ├── axios.ts # Central Axios client with silent refresh & error toasts
70
+ │ ├── formatters.ts # Currency, Date, Number & Relative Time helpers
71
+ │ └── utils.ts # cn() class merger (clsx + tailwind-merge)
72
+ ├── router/
73
+ │ └── index.ts # Route definitions & auth navigation guards
74
+ ├── services/
75
+ │ ├── auth.service.ts # Authentication API service (with safe DEV mock fallback)
76
+ │ ├── user.service.ts # User profile API service
77
+ │ └── types.ts # Shared API response contracts
78
+ ├── stores/
79
+ │ └── auth.ts # Pinia authentication & user session store
80
+ ├── views/
81
+ │ ├── _starter/
82
+ │ │ └── BlankView.vue # Clean blank template for creating new pages
83
+ │ ├── auth/ # Login, Register, Forgot/Reset Password, OTP, Lock Screen
84
+ │ ├── dashboard/ # Clean starter dashboard with KPI cards & recent table
85
+ │ └── errors/ # 404, 500, and 403 error pages
86
+ ├── App.vue # Root application component with Toaster
87
+ ├── main.ts # App initialization & Pinia/Router registration
88
+ └── style.css # Tailwind CSS v4 & OKLCH color design tokens
89
+ ```
90
+
91
+ ---
92
+
93
+ ## 📡 Connecting Your Backend API
94
+
95
+ This starter includes a production-grade Axios service layer in `src/lib/axios.ts` and `src/services/`.
96
+
97
+ 1. Open `.env` and set your API endpoint:
98
+ ```env
99
+ VITE_API_BASE_URL=https://api.yourcompany.com/v1
100
+ ```
101
+ 2. **Safe DEV Mock Fallback:**
102
+ While developing (`import.meta.env.DEV`), if your backend is offline, services will automatically fall back to safe in-memory mock data so you can build UI uninterrupted. In production (`pnpm build`), real API errors will be thrown normally.
103
+
104
+ ---
105
+
106
+ ## 🎨 Customizing Theme & Branding
107
+
108
+ - **Brand Colors:** Update `--primary` and `--ring` in `src/style.css` using standard `oklch` color format.
109
+ - **Default Theme Config:** Modify `DEFAULT_CONFIG` in `src/composables/useThemeConfig.ts`:
110
+ ```ts
111
+ const DEFAULT_CONFIG: ThemeConfig = {
112
+ primaryColor: 'emerald', // emerald | indigo | violet | rose | amber | cyan | zinc
113
+ radius: '0.375', // 0 | 0.25 | 0.375 | 0.5 | 0.75 | 1.0
114
+ contentWidth: 'fluid', // fluid | boxed
115
+ }
116
+ ```
117
+
118
+ ---
119
+
120
+ ## 🤖 AI-Assisted Development
121
+
122
+ This project is configured out-of-the-box for AI coding assistants:
123
+ - **`AGENTS.md`** — Universal rules for Antigravity, Cursor, Claude Code, GitHub Copilot, Roo Code, and Windsurf.
124
+ - **`.agents/skills/nala-project/SKILL.md`** — Deep technical blueprints for building components, Pinia stores, and API services without hallucinations.
125
+
126
+ ---
127
+
128
+ ## 📄 License
129
+
130
+ This project is open-sourced software licensed under the [MIT License](./LICENSE).
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "NALA_APP_SLUG",
3
- "version": "0.1.0",
3
+ "version": "3.0.4",
4
4
  "description": "Production-ready admin dashboard built with Vue 3, Vite, TypeScript, and Tailwind CSS v4.",
5
5
  "private": true,
6
6
  "type": "module",
@@ -1,12 +1,12 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import type { AlertVariants } from "."
4
- import { cn } from "@/lib/utils"
5
- import { alertVariants } from "."
6
-
7
- const props = defineProps<{
8
- class?: HTMLAttributes["class"]
9
- variant?: AlertVariants["variant"]
2
+ import type { HTMLAttributes } from "vue"
3
+ import type { AlertVariants } from "."
4
+ import { cn } from "@/lib/utils"
5
+ import { alertVariants } from "."
6
+
7
+ const props = defineProps<{
8
+ class?: HTMLAttributes["class"]
9
+ variant?: AlertVariants["variant"]
10
10
  }>()
11
11
  </script>
12
12
 
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "@/lib/utils"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "@/lib/utils"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
7
  }>()
8
8
  </script>
9
9
 
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "@/lib/utils"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "@/lib/utils"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
7
  }>()
8
8
  </script>
9
9
 
@@ -1,10 +1,10 @@
1
1
  <script setup lang="ts">
2
- import type { AlertDialogEmits, AlertDialogProps } from "reka-ui"
3
- import { AlertDialogRoot, useForwardPropsEmits } from "reka-ui"
4
-
5
- const props = defineProps<AlertDialogProps>()
6
- const emits = defineEmits<AlertDialogEmits>()
7
-
2
+ import type { AlertDialogEmits, AlertDialogProps } from "reka-ui"
3
+ import { AlertDialogRoot, useForwardPropsEmits } from "reka-ui"
4
+
5
+ const props = defineProps<AlertDialogProps>()
6
+ const emits = defineEmits<AlertDialogEmits>()
7
+
8
8
  const forwarded = useForwardPropsEmits(props, emits)
9
9
  </script>
10
10
 
@@ -1,13 +1,13 @@
1
1
  <script setup lang="ts">
2
- import type { AlertDialogActionProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { AlertDialogAction } from "reka-ui"
6
- import { cn } from "@/lib/utils"
7
- import { buttonVariants } from '@/components/ui/button'
8
-
9
- const props = defineProps<AlertDialogActionProps & { class?: HTMLAttributes["class"] }>()
10
-
2
+ import type { AlertDialogActionProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import { AlertDialogAction } from "reka-ui"
6
+ import { cn } from "@/lib/utils"
7
+ import { buttonVariants } from '@/components/ui/button'
8
+
9
+ const props = defineProps<AlertDialogActionProps & { class?: HTMLAttributes["class"] }>()
10
+
11
11
  const delegatedProps = reactiveOmit(props, "class")
12
12
  </script>
13
13
 
@@ -1,13 +1,13 @@
1
1
  <script setup lang="ts">
2
- import type { AlertDialogCancelProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { AlertDialogCancel } from "reka-ui"
6
- import { cn } from "@/lib/utils"
7
- import { buttonVariants } from '@/components/ui/button'
8
-
9
- const props = defineProps<AlertDialogCancelProps & { class?: HTMLAttributes["class"] }>()
10
-
2
+ import type { AlertDialogCancelProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import { AlertDialogCancel } from "reka-ui"
6
+ import { cn } from "@/lib/utils"
7
+ import { buttonVariants } from '@/components/ui/button'
8
+
9
+ const props = defineProps<AlertDialogCancelProps & { class?: HTMLAttributes["class"] }>()
10
+
11
11
  const delegatedProps = reactiveOmit(props, "class")
12
12
  </script>
13
13
 
@@ -1,24 +1,24 @@
1
1
  <script setup lang="ts">
2
- import type { AlertDialogContentEmits, AlertDialogContentProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import {
6
- AlertDialogContent,
7
- AlertDialogOverlay,
8
- AlertDialogPortal,
9
- useForwardPropsEmits,
10
- } from "reka-ui"
11
- import { cn } from "@/lib/utils"
12
-
13
- defineOptions({
14
- inheritAttrs: false,
15
- })
16
-
17
- const props = defineProps<AlertDialogContentProps & { class?: HTMLAttributes["class"] }>()
18
- const emits = defineEmits<AlertDialogContentEmits>()
19
-
20
- const delegatedProps = reactiveOmit(props, "class")
21
-
2
+ import type { AlertDialogContentEmits, AlertDialogContentProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import {
6
+ AlertDialogContent,
7
+ AlertDialogOverlay,
8
+ AlertDialogPortal,
9
+ useForwardPropsEmits,
10
+ } from "reka-ui"
11
+ import { cn } from "@/lib/utils"
12
+
13
+ defineOptions({
14
+ inheritAttrs: false,
15
+ })
16
+
17
+ const props = defineProps<AlertDialogContentProps & { class?: HTMLAttributes["class"] }>()
18
+ const emits = defineEmits<AlertDialogContentEmits>()
19
+
20
+ const delegatedProps = reactiveOmit(props, "class")
21
+
22
22
  const forwarded = useForwardPropsEmits(delegatedProps, emits)
23
23
  </script>
24
24
 
@@ -1,14 +1,14 @@
1
1
  <script setup lang="ts">
2
- import type { AlertDialogDescriptionProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import {
6
- AlertDialogDescription,
7
- } from "reka-ui"
8
- import { cn } from "@/lib/utils"
9
-
10
- const props = defineProps<AlertDialogDescriptionProps & { class?: HTMLAttributes["class"] }>()
11
-
2
+ import type { AlertDialogDescriptionProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import {
6
+ AlertDialogDescription,
7
+ } from "reka-ui"
8
+ import { cn } from "@/lib/utils"
9
+
10
+ const props = defineProps<AlertDialogDescriptionProps & { class?: HTMLAttributes["class"] }>()
11
+
12
12
  const delegatedProps = reactiveOmit(props, "class")
13
13
  </script>
14
14
 
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "@/lib/utils"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "@/lib/utils"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
7
  }>()
8
8
  </script>
9
9
 
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "@/lib/utils"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "@/lib/utils"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
7
  }>()
8
8
  </script>
9
9
 
@@ -1,12 +1,12 @@
1
1
  <script setup lang="ts">
2
- import type { AlertDialogTitleProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { AlertDialogTitle } from "reka-ui"
6
- import { cn } from "@/lib/utils"
7
-
8
- const props = defineProps<AlertDialogTitleProps & { class?: HTMLAttributes["class"] }>()
9
-
2
+ import type { AlertDialogTitleProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import { AlertDialogTitle } from "reka-ui"
6
+ import { cn } from "@/lib/utils"
7
+
8
+ const props = defineProps<AlertDialogTitleProps & { class?: HTMLAttributes["class"] }>()
9
+
10
10
  const delegatedProps = reactiveOmit(props, "class")
11
11
  </script>
12
12
 
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
- import type { AlertDialogTriggerProps } from "reka-ui"
3
- import { AlertDialogTrigger } from "reka-ui"
4
-
2
+ import type { AlertDialogTriggerProps } from "reka-ui"
3
+ import { AlertDialogTrigger } from "reka-ui"
4
+
5
5
  const props = defineProps<AlertDialogTriggerProps>()
6
6
  </script>
7
7
 
@@ -1,9 +1,9 @@
1
- export { default as AlertDialog } from "./AlertDialog.vue"
2
- export { default as AlertDialogAction } from "./AlertDialogAction.vue"
3
- export { default as AlertDialogCancel } from "./AlertDialogCancel.vue"
4
- export { default as AlertDialogContent } from "./AlertDialogContent.vue"
5
- export { default as AlertDialogDescription } from "./AlertDialogDescription.vue"
6
- export { default as AlertDialogFooter } from "./AlertDialogFooter.vue"
7
- export { default as AlertDialogHeader } from "./AlertDialogHeader.vue"
8
- export { default as AlertDialogTitle } from "./AlertDialogTitle.vue"
1
+ export { default as AlertDialog } from "./AlertDialog.vue"
2
+ export { default as AlertDialogAction } from "./AlertDialogAction.vue"
3
+ export { default as AlertDialogCancel } from "./AlertDialogCancel.vue"
4
+ export { default as AlertDialogContent } from "./AlertDialogContent.vue"
5
+ export { default as AlertDialogDescription } from "./AlertDialogDescription.vue"
6
+ export { default as AlertDialogFooter } from "./AlertDialogFooter.vue"
7
+ export { default as AlertDialogHeader } from "./AlertDialogHeader.vue"
8
+ export { default as AlertDialogTitle } from "./AlertDialogTitle.vue"
9
9
  export { default as AlertDialogTrigger } from "./AlertDialogTrigger.vue"
@@ -1,12 +1,12 @@
1
1
  <script setup lang="ts">
2
- import type { AvatarFallbackProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { AvatarFallback } from "reka-ui"
6
- import { cn } from "@/lib/utils"
7
-
8
- const props = defineProps<AvatarFallbackProps & { class?: HTMLAttributes["class"] }>()
9
-
2
+ import type { AvatarFallbackProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import { AvatarFallback } from "reka-ui"
6
+ import { cn } from "@/lib/utils"
7
+
8
+ const props = defineProps<AvatarFallbackProps & { class?: HTMLAttributes["class"] }>()
9
+
10
10
  const delegatedProps = reactiveOmit(props, "class")
11
11
  </script>
12
12
 
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
- import type { AvatarImageProps } from "reka-ui"
3
- import { AvatarImage } from "reka-ui"
4
-
2
+ import type { AvatarImageProps } from "reka-ui"
3
+ import { AvatarImage } from "reka-ui"
4
+
5
5
  const props = defineProps<AvatarImageProps>()
6
6
  </script>
7
7
 
@@ -1,8 +1,8 @@
1
1
  <script lang="ts" setup>
2
- import type { HTMLAttributes } from "vue"
3
-
4
- const props = defineProps<{
5
- class?: HTMLAttributes["class"]
2
+ import type { HTMLAttributes } from "vue"
3
+
4
+ const props = defineProps<{
5
+ class?: HTMLAttributes["class"]
6
6
  }>()
7
7
  </script>
8
8
 
@@ -1,10 +1,10 @@
1
1
  <script lang="ts" setup>
2
- import type { HTMLAttributes } from "vue"
3
- import { MoreHorizontal } from "@lucide/vue"
4
- import { cn } from "@/lib/utils"
5
-
6
- const props = defineProps<{
7
- class?: HTMLAttributes["class"]
2
+ import type { HTMLAttributes } from "vue"
3
+ import { MoreHorizontal } from "@lucide/vue"
4
+ import { cn } from "@/lib/utils"
5
+
6
+ const props = defineProps<{
7
+ class?: HTMLAttributes["class"]
8
8
  }>()
9
9
  </script>
10
10
 
@@ -1,9 +1,9 @@
1
1
  <script lang="ts" setup>
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "@/lib/utils"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "@/lib/utils"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
7
  }>()
8
8
  </script>
9
9
 
@@ -1,11 +1,11 @@
1
1
  <script lang="ts" setup>
2
- import type { PrimitiveProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { Primitive } from "reka-ui"
5
- import { cn } from "@/lib/utils"
6
-
7
- const props = withDefaults(defineProps<PrimitiveProps & { class?: HTMLAttributes["class"] }>(), {
8
- as: "a",
2
+ import type { PrimitiveProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { Primitive } from "reka-ui"
5
+ import { cn } from "@/lib/utils"
6
+
7
+ const props = withDefaults(defineProps<PrimitiveProps & { class?: HTMLAttributes["class"] }>(), {
8
+ as: "a",
9
9
  })
10
10
  </script>
11
11
 
@@ -1,9 +1,9 @@
1
1
  <script lang="ts" setup>
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "@/lib/utils"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "@/lib/utils"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
7
  }>()
8
8
  </script>
9
9
 
@@ -1,9 +1,9 @@
1
1
  <script lang="ts" setup>
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "@/lib/utils"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "@/lib/utils"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
7
  }>()
8
8
  </script>
9
9
 
@@ -1,10 +1,10 @@
1
1
  <script lang="ts" setup>
2
- import type { HTMLAttributes } from "vue"
3
- import { ChevronRight } from "@lucide/vue"
4
- import { cn } from "@/lib/utils"
5
-
6
- const props = defineProps<{
7
- class?: HTMLAttributes["class"]
2
+ import type { HTMLAttributes } from "vue"
3
+ import { ChevronRight } from "@lucide/vue"
4
+ import { cn } from "@/lib/utils"
5
+
6
+ const props = defineProps<{
7
+ class?: HTMLAttributes["class"]
8
8
  }>()
9
9
  </script>
10
10
 
@@ -1,7 +1,7 @@
1
- export { default as Breadcrumb } from "./Breadcrumb.vue"
2
- export { default as BreadcrumbEllipsis } from "./BreadcrumbEllipsis.vue"
3
- export { default as BreadcrumbItem } from "./BreadcrumbItem.vue"
4
- export { default as BreadcrumbLink } from "./BreadcrumbLink.vue"
5
- export { default as BreadcrumbList } from "./BreadcrumbList.vue"
6
- export { default as BreadcrumbPage } from "./BreadcrumbPage.vue"
1
+ export { default as Breadcrumb } from "./Breadcrumb.vue"
2
+ export { default as BreadcrumbEllipsis } from "./BreadcrumbEllipsis.vue"
3
+ export { default as BreadcrumbItem } from "./BreadcrumbItem.vue"
4
+ export { default as BreadcrumbLink } from "./BreadcrumbLink.vue"
5
+ export { default as BreadcrumbList } from "./BreadcrumbList.vue"
6
+ export { default as BreadcrumbPage } from "./BreadcrumbPage.vue"
7
7
  export { default as BreadcrumbSeparator } from "./BreadcrumbSeparator.vue"
@@ -1,19 +1,19 @@
1
1
  <script setup lang="ts">
2
- import type { PrimitiveProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import type { ButtonVariants } from "."
5
- import { Primitive } from "reka-ui"
6
- import { cn } from "@/lib/utils"
7
- import { buttonVariants } from "."
8
-
9
- interface Props extends PrimitiveProps {
10
- variant?: ButtonVariants["variant"]
11
- size?: ButtonVariants["size"]
12
- class?: HTMLAttributes["class"]
13
- }
14
-
15
- const props = withDefaults(defineProps<Props>(), {
16
- as: "button",
2
+ import type { PrimitiveProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import type { ButtonVariants } from "."
5
+ import { Primitive } from "reka-ui"
6
+ import { cn } from "@/lib/utils"
7
+ import { buttonVariants } from "."
8
+
9
+ interface Props extends PrimitiveProps {
10
+ variant?: ButtonVariants["variant"]
11
+ size?: ButtonVariants["size"]
12
+ class?: HTMLAttributes["class"]
13
+ }
14
+
15
+ const props = withDefaults(defineProps<Props>(), {
16
+ as: "button",
17
17
  })
18
18
  </script>
19
19
 
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "@/lib/utils"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "@/lib/utils"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
7
  }>()
8
8
  </script>
9
9
 
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
3
- import { cn } from "@/lib/utils"
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes["class"]
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "@/lib/utils"
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes["class"]
7
7
  }>()
8
8
  </script>
9
9