@wordup-md/nuxt-layer-shadcn-unocss 0.2.0

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 (359) hide show
  1. package/.cursor/rules/active-context-rule.mdc +8 -0
  2. package/.cursor/rules/memory-bank-overview.mdc +17 -0
  3. package/.cursor/rules/product-context-rule.mdc +8 -0
  4. package/.cursor/rules/progress-rule.mdc +8 -0
  5. package/.cursor/rules/projectbrief-rule.mdc +8 -0
  6. package/.cursor/rules/system-patterns-rule.mdc +8 -0
  7. package/.cursor/rules/tech-context-rule.mdc +8 -0
  8. package/.cursorrules +52 -0
  9. package/.editorconfig +12 -0
  10. package/.nuxtrc +1 -0
  11. package/.playground/app.config.ts +189 -0
  12. package/.playground/assets/style.css +15 -0
  13. package/.playground/components/content/MdcExample.vue +81 -0
  14. package/.playground/components/content/MdcReplay.vue +319 -0
  15. package/.playground/content/1.getting-started/1.introduction.md +8 -0
  16. package/.playground/content/1.getting-started/2.writing/1.markdown.md +56 -0
  17. package/.playground/content/1.getting-started/2.writing/2.pages.md +177 -0
  18. package/.playground/content/1.getting-started/2.writing/3.folders.md +56 -0
  19. package/.playground/content/1.getting-started/2.writing/_dir.yml +3 -0
  20. package/.playground/content/1.getting-started/_dir.yml +3 -0
  21. package/.playground/content/2.content-elements/1.text-formatting.md +60 -0
  22. package/.playground/content/2.content-elements/10.horizontal-rule.md +25 -0
  23. package/.playground/content/2.content-elements/11.tables.md +25 -0
  24. package/.playground/content/2.content-elements/12.overview.md +93 -0
  25. package/.playground/content/2.content-elements/13.text-components.md +36 -0
  26. package/.playground/content/2.content-elements/2.headings.md +32 -0
  27. package/.playground/content/2.content-elements/3.paragraphs.md +39 -0
  28. package/.playground/content/2.content-elements/4.lists.md +37 -0
  29. package/.playground/content/2.content-elements/5.links.md +17 -0
  30. package/.playground/content/2.content-elements/6.images.md +17 -0
  31. package/.playground/content/2.content-elements/7.blockquotes.md +17 -0
  32. package/.playground/content/2.content-elements/8.code-blocks.md +141 -0
  33. package/.playground/content/2.content-elements/9.inline-code.md +21 -0
  34. package/.playground/content/2.content-elements/_dir.yml +3 -0
  35. package/.playground/content/2.content-elements/index.md +8 -0
  36. package/.playground/content/3.components/1.index.md +187 -0
  37. package/.playground/content/3.components/2.docs/_dir.yml +3 -0
  38. package/.playground/content/3.components/2.docs/alert.md +152 -0
  39. package/.playground/content/3.components/2.docs/badge.md +131 -0
  40. package/.playground/content/3.components/2.docs/button-link.md +53 -0
  41. package/.playground/content/3.components/2.docs/callout.md +16 -0
  42. package/.playground/content/3.components/2.docs/code-group.md +77 -0
  43. package/.playground/content/3.components/2.docs/code-snippet.md +129 -0
  44. package/.playground/content/3.components/2.docs/field-group.md +62 -0
  45. package/.playground/content/3.components/2.docs/field.md +39 -0
  46. package/.playground/content/3.components/2.docs/file-tree.md +144 -0
  47. package/.playground/content/3.components/2.docs/icon.md +94 -0
  48. package/.playground/content/3.components/2.docs/pm.md +67 -0
  49. package/.playground/content/3.components/2.docs/read-more.md +44 -0
  50. package/.playground/content/3.components/2.docs/shortcut.md +36 -0
  51. package/.playground/content/3.components/2.docs/stack.md +81 -0
  52. package/.playground/content/3.components/2.docs/steps.md +148 -0
  53. package/.playground/content/3.components/2.docs/tabs.md +375 -0
  54. package/.playground/content/3.components/3.page/_dir.yml +2 -0
  55. package/.playground/content/3.components/3.page/accordion.md +74 -0
  56. package/.playground/content/3.components/3.page/card-group.md +115 -0
  57. package/.playground/content/3.components/3.page/card.md +142 -0
  58. package/.playground/content/3.components/3.page/collapsible.md +61 -0
  59. package/.playground/content/3.components/3.page/hero-alt.md +118 -0
  60. package/.playground/content/3.components/3.page/hero.md +60 -0
  61. package/.playground/content/3.components/3.page/team-card.md +82 -0
  62. package/.playground/content/3.components/_dir.yml +2 -0
  63. package/.playground/content/4.development/1.configuration/1.overview.md +297 -0
  64. package/.playground/content/4.development/1.configuration/2.nuxt-content.md +105 -0
  65. package/.playground/content/4.development/1.configuration/3.og-image.md +86 -0
  66. package/.playground/content/4.development/1.configuration/4.edit-link.md +63 -0
  67. package/.playground/content/4.development/1.configuration/5.banner.md +52 -0
  68. package/.playground/content/4.development/1.configuration/6.carbon-ads.md +65 -0
  69. package/.playground/content/4.development/1.configuration/7.umami.md +41 -0
  70. package/.playground/content/4.development/1.configuration/_dir.yml +3 -0
  71. package/.playground/content/4.development/2.advanced/1.override.md +49 -0
  72. package/.playground/content/4.development/2.advanced/2.math.md +89 -0
  73. package/.playground/content/4.development/2.advanced/_dir.yml +3 -0
  74. package/.playground/content/4.development/3.themes.md +9 -0
  75. package/.playground/content/4.development/4.composables.md +38 -0
  76. package/.playground/content/4.development/5.installation.md +36 -0
  77. package/.playground/content/4.development/_dir.yml +3 -0
  78. package/.playground/content/_menu-footer.md +5 -0
  79. package/.playground/content/index.md +67 -0
  80. package/.playground/content/test-card.md +187 -0
  81. package/.playground/content/test.md +88 -0
  82. package/.playground/content/test2.md +12 -0
  83. package/.playground/content/test3.md +187 -0
  84. package/.playground/nuxt.config.ts +52 -0
  85. package/.playground/public/banner-preview.png +0 -0
  86. package/.playground/public/favicon.ico +0 -0
  87. package/.playground/public/front-matter-showcase/authors.png +0 -0
  88. package/.playground/public/front-matter-showcase/badges.png +0 -0
  89. package/.playground/public/front-matter-showcase/nav-badges.png +0 -0
  90. package/.playground/public/hero.png +0 -0
  91. package/.playground/public/logo-dark.svg +12 -0
  92. package/.playground/public/logo.svg +12 -0
  93. package/.playground/public/og-nuxt-seo.png +0 -0
  94. package/.playground/public/og-nuxt.png +0 -0
  95. package/.playground/public/og-shadcn-docs-dark.png +0 -0
  96. package/.playground/public/og-shadcn-docs.png +0 -0
  97. package/.playground/public/sidebar-default.png +0 -0
  98. package/.playground/public/sidebar-group.png +0 -0
  99. package/.playground/public/sidebar-tree.png +0 -0
  100. package/.playground/uno.config.ts +16 -0
  101. package/README.md +93 -0
  102. package/app.vue +59 -0
  103. package/assets/css/a11y.css +48 -0
  104. package/assets/css/mdc-editor.css +91 -0
  105. package/components/A11yModeToggle.vue +23 -0
  106. package/components/DarkModeToggle.vue +26 -0
  107. package/components/LinkIcon.vue +32 -0
  108. package/components/OgImage/ShadcnDocs.vue +55 -0
  109. package/components/ThemeCustomizer.vue +156 -0
  110. package/components/ThemePopover.vue +27 -0
  111. package/components/content/Accordion.vue +18 -0
  112. package/components/content/AccordionItem.vue +32 -0
  113. package/components/content/Alert.vue +100 -0
  114. package/components/content/Badge.vue +52 -0
  115. package/components/content/ButtonLink.vue +38 -0
  116. package/components/content/Callout.vue +17 -0
  117. package/components/content/Card.vue +173 -0
  118. package/components/content/CardGroup.vue +38 -0
  119. package/components/content/CodeCopy.vue +52 -0
  120. package/components/content/CodeGroup._vue +27 -0
  121. package/components/content/CodeSnippet._vue +78 -0
  122. package/components/content/Collapsible.vue +80 -0
  123. package/components/content/Field.vue +53 -0
  124. package/components/content/FieldGroup.vue +5 -0
  125. package/components/content/FileTree.vue +110 -0
  126. package/components/content/FileTreeItem.vue +64 -0
  127. package/components/content/FileTreeRoot.vue +27 -0
  128. package/components/content/Hero.vue +154 -0
  129. package/components/content/HeroAlt.vue +116 -0
  130. package/components/content/Icon.vue +69 -0
  131. package/components/content/Kbd.vue +20 -0
  132. package/components/content/PmInstall.vue +35 -0
  133. package/components/content/PmRun.vue +31 -0
  134. package/components/content/PmX.vue +31 -0
  135. package/components/content/ProseA.vue +21 -0
  136. package/components/content/ProseBlockquote.vue +5 -0
  137. package/components/content/ProseCode.vue +121 -0
  138. package/components/content/ProseCodeInline.vue +24 -0
  139. package/components/content/ProseEm.vue +5 -0
  140. package/components/content/ProseH1.vue +27 -0
  141. package/components/content/ProseH2.vue +22 -0
  142. package/components/content/ProseH3.vue +21 -0
  143. package/components/content/ProseH4.vue +21 -0
  144. package/components/content/ProseH5.vue +21 -0
  145. package/components/content/ProseH6.vue +21 -0
  146. package/components/content/ProseHr.vue +3 -0
  147. package/components/content/ProseImg.vue +42 -0
  148. package/components/content/ProseLi.vue +5 -0
  149. package/components/content/ProseOl.vue +5 -0
  150. package/components/content/ProseP.vue +5 -0
  151. package/components/content/ProsePre.vue +56 -0
  152. package/components/content/ProseSection.vue +27 -0
  153. package/components/content/ProseStrong.vue +5 -0
  154. package/components/content/ProseTable.vue +7 -0
  155. package/components/content/ProseTbody.vue +5 -0
  156. package/components/content/ProseTd.vue +5 -0
  157. package/components/content/ProseTh.vue +5 -0
  158. package/components/content/ProseThead.vue +5 -0
  159. package/components/content/ProseTr.vue +5 -0
  160. package/components/content/ProseUl.vue +5 -0
  161. package/components/content/ReadMore.vue +41 -0
  162. package/components/content/Shortcut.vue +20 -0
  163. package/components/content/Stack.vue +17 -0
  164. package/components/content/Steps.vue +23 -0
  165. package/components/content/Tabs.vue +52 -0
  166. package/components/content/TabsInner.vue +263 -0
  167. package/components/content/TeamCard.vue +52 -0
  168. package/components/content/TeamCardGroup.vue +5 -0
  169. package/components/content/global/AlertEditor.vue +58 -0
  170. package/components/content/global/BadgeEditor.vue +56 -0
  171. package/components/content/global/BrEditor.vue +3 -0
  172. package/components/content/global/CardEditor.vue +142 -0
  173. package/components/content/global/CardGroupEditor.vue +50 -0
  174. package/components/content/global/CodeGroup.vue +13 -0
  175. package/components/content/global/CodeGroupEditor.vue +50 -0
  176. package/components/content/global/DivEditor.vue +22 -0
  177. package/components/content/global/FieldEditor.vue +38 -0
  178. package/components/content/global/FieldGroupEditor.vue +24 -0
  179. package/components/content/global/HeroEditor.vue +67 -0
  180. package/components/content/global/ProseSectionEditor.vue +180 -0
  181. package/components/content/global/ReadMoreEditor.vue +70 -0
  182. package/components/content/global/SectionEditor.vue +22 -0
  183. package/components/content/global/StackEditor.vue +35 -0
  184. package/components/content/global/StepsEditor.vue +55 -0
  185. package/components/content/global/Tabs._vue +97 -0
  186. package/components/content/global/TabsEditor.vue +38 -0
  187. package/components/layout/Aside.vue +83 -0
  188. package/components/layout/AsideTree.vue +25 -0
  189. package/components/layout/AsideTreeItem.vue +86 -0
  190. package/components/layout/AsideTreeItemButton.vue +32 -0
  191. package/components/layout/Banner.vue +77 -0
  192. package/components/layout/Breadcrumb.vue +34 -0
  193. package/components/layout/DocsFooter.vue +6 -0
  194. package/components/layout/EditLink.vue +23 -0
  195. package/components/layout/Footer.vue +80 -0
  196. package/components/layout/FooterItem.vue +50 -0
  197. package/components/layout/FooterSubmenuItem.vue +39 -0
  198. package/components/layout/Header/Logo.vue +30 -0
  199. package/components/layout/Header/MenuItem.vue +83 -0
  200. package/components/layout/Header/Nav.vue +112 -0
  201. package/components/layout/Header/NavMobile.vue +14 -0
  202. package/components/layout/Header/NavMobileItem.vue +79 -0
  203. package/components/layout/Header/SubmenuItem.vue +39 -0
  204. package/components/layout/Header.vue +160 -0
  205. package/components/layout/LangSwitcher.vue +90 -0
  206. package/components/layout/MobileNav.vue +44 -0
  207. package/components/layout/PrevNext.vue +24 -0
  208. package/components/layout/PrevNextButton.vue +50 -0
  209. package/components/layout/SearchButton.vue +46 -0
  210. package/components/layout/SearchDialog.vue +217 -0
  211. package/components/layout/Title.vue +98 -0
  212. package/components/layout/Toc.vue +99 -0
  213. package/components/layout/TocTree.vue +42 -0
  214. package/components/ui/accordion/Accordion.vue +19 -0
  215. package/components/ui/accordion/AccordionContent.vue +24 -0
  216. package/components/ui/accordion/AccordionItem.vue +24 -0
  217. package/components/ui/accordion/AccordionTrigger.vue +39 -0
  218. package/components/ui/accordion/index.ts +4 -0
  219. package/components/ui/alert/Alert.vue +19 -0
  220. package/components/ui/alert/AlertDescription.vue +14 -0
  221. package/components/ui/alert/AlertTitle.vue +14 -0
  222. package/components/ui/alert/index.ts +23 -0
  223. package/components/ui/avatar/Avatar.vue +25 -0
  224. package/components/ui/avatar/AvatarFallback.vue +11 -0
  225. package/components/ui/avatar/AvatarImage.vue +12 -0
  226. package/components/ui/avatar/index.ts +24 -0
  227. package/components/ui/badge/Badge.vue +17 -0
  228. package/components/ui/badge/index.ts +71 -0
  229. package/components/ui/breadcrumb/Breadcrumb.vue +16 -0
  230. package/components/ui/breadcrumb/BreadcrumbItem.vue +16 -0
  231. package/components/ui/breadcrumb/BreadcrumbLink.vue +23 -0
  232. package/components/ui/breadcrumb/BreadcrumbList.vue +16 -0
  233. package/components/ui/breadcrumb/BreadcrumbPage.vue +19 -0
  234. package/components/ui/breadcrumb/BreadcrumbSeparator.vue +23 -0
  235. package/components/ui/breadcrumb/index.ts +6 -0
  236. package/components/ui/button/Button.vue +29 -0
  237. package/components/ui/button/index.ts +35 -0
  238. package/components/ui/card/Card.vue +21 -0
  239. package/components/ui/card/CardContent.vue +14 -0
  240. package/components/ui/card/CardDescription.vue +14 -0
  241. package/components/ui/card/CardFooter.vue +14 -0
  242. package/components/ui/card/CardHeader.vue +14 -0
  243. package/components/ui/card/CardTitle.vue +18 -0
  244. package/components/ui/card/index.ts +6 -0
  245. package/components/ui/collapsible/Collapsible.vue +18 -0
  246. package/components/ui/collapsible/CollapsibleContent.vue +14 -0
  247. package/components/ui/collapsible/CollapsibleTrigger.vue +11 -0
  248. package/components/ui/collapsible/index.ts +3 -0
  249. package/components/ui/command/Command.vue +89 -0
  250. package/components/ui/command/CommandEmpty.vue +30 -0
  251. package/components/ui/command/CommandGroup.vue +50 -0
  252. package/components/ui/command/CommandInput.vue +44 -0
  253. package/components/ui/command/CommandInputOnly.vue +50 -0
  254. package/components/ui/command/CommandItem.vue +79 -0
  255. package/components/ui/command/CommandList.vue +28 -0
  256. package/components/ui/command/CommandSeparator.vue +24 -0
  257. package/components/ui/command/index.ts +24 -0
  258. package/components/ui/dialog/Dialog.vue +14 -0
  259. package/components/ui/dialog/DialogClose.vue +11 -0
  260. package/components/ui/dialog/DialogContent.vue +52 -0
  261. package/components/ui/dialog/DialogDescription.vue +24 -0
  262. package/components/ui/dialog/DialogFooter.vue +19 -0
  263. package/components/ui/dialog/DialogHeader.vue +16 -0
  264. package/components/ui/dialog/DialogScrollContent.vue +61 -0
  265. package/components/ui/dialog/DialogTitle.vue +29 -0
  266. package/components/ui/dialog/DialogTrigger.vue +11 -0
  267. package/components/ui/dialog/index.ts +9 -0
  268. package/components/ui/input/Input.vue +27 -0
  269. package/components/ui/input/index.ts +1 -0
  270. package/components/ui/label/Label.vue +27 -0
  271. package/components/ui/label/index.ts +1 -0
  272. package/components/ui/navigation-menu/NavigationMenu.vue +33 -0
  273. package/components/ui/navigation-menu/NavigationMenuContent.vue +34 -0
  274. package/components/ui/navigation-menu/NavigationMenuIndicator.vue +24 -0
  275. package/components/ui/navigation-menu/NavigationMenuItem.vue +11 -0
  276. package/components/ui/navigation-menu/NavigationMenuLink.vue +19 -0
  277. package/components/ui/navigation-menu/NavigationMenuList.vue +33 -0
  278. package/components/ui/navigation-menu/NavigationMenuTrigger.vue +34 -0
  279. package/components/ui/navigation-menu/NavigationMenuViewport.vue +33 -0
  280. package/components/ui/navigation-menu/index.ts +14 -0
  281. package/components/ui/popover/Popover.vue +15 -0
  282. package/components/ui/popover/PopoverContent.vue +49 -0
  283. package/components/ui/popover/PopoverTrigger.vue +11 -0
  284. package/components/ui/popover/index.ts +4 -0
  285. package/components/ui/scroll-area/ScrollArea.vue +32 -0
  286. package/components/ui/scroll-area/ScrollBar.vue +41 -0
  287. package/components/ui/scroll-area/index.ts +2 -0
  288. package/components/ui/separator/Separator.vue +20 -0
  289. package/components/ui/separator/index.ts +1 -0
  290. package/components/ui/sheet/Sheet.vue +14 -0
  291. package/components/ui/sheet/SheetClose.vue +11 -0
  292. package/components/ui/sheet/SheetContent.vue +58 -0
  293. package/components/ui/sheet/SheetDescription.vue +22 -0
  294. package/components/ui/sheet/SheetFooter.vue +19 -0
  295. package/components/ui/sheet/SheetHeader.vue +16 -0
  296. package/components/ui/sheet/SheetTitle.vue +22 -0
  297. package/components/ui/sheet/SheetTrigger.vue +11 -0
  298. package/components/ui/sheet/index.ts +31 -0
  299. package/components/ui/slider/Slider.vue +36 -0
  300. package/components/ui/slider/index.ts +1 -0
  301. package/components/ui/tabs/Tabs.vue +15 -0
  302. package/components/ui/tabs/TabsContent.vue +22 -0
  303. package/components/ui/tabs/TabsList.vue +25 -0
  304. package/components/ui/tabs/TabsTrigger.vue +27 -0
  305. package/components/ui/tabs/index.ts +4 -0
  306. package/components/ui/textarea/Textarea.vue +27 -0
  307. package/components/ui/textarea/index.ts +1 -0
  308. package/components/ui/toast/Toast.vue +28 -0
  309. package/components/ui/toast/ToastAction.vue +22 -0
  310. package/components/ui/toast/ToastClose.vue +27 -0
  311. package/components/ui/toast/ToastDescription.vue +22 -0
  312. package/components/ui/toast/ToastProvider.vue +11 -0
  313. package/components/ui/toast/ToastTitle.vue +22 -0
  314. package/components/ui/toast/ToastViewport.vue +20 -0
  315. package/components/ui/toast/Toaster.vue +34 -0
  316. package/components/ui/toast/index.ts +38 -0
  317. package/components/ui/toast/use-toast.ts +165 -0
  318. package/components.json +18 -0
  319. package/composables/useBreadcrumb.ts +47 -0
  320. package/composables/useCollapsedMap.ts +3 -0
  321. package/composables/useConfig.ts +227 -0
  322. package/composables/useEditLink.ts +27 -0
  323. package/composables/useI18nDocs.ts +114 -0
  324. package/composables/useMdcMenu.ts +204 -0
  325. package/composables/usePm.ts +58 -0
  326. package/composables/useScrollspy.ts +51 -0
  327. package/composables/useThemes.ts +46 -0
  328. package/composables/useToast.ts +1 -0
  329. package/content/index.md +45 -0
  330. package/eslint.config.js +3 -0
  331. package/i18n/i18n.config.ts +414 -0
  332. package/index.d.ts +610 -0
  333. package/layouts/blank.vue +5 -0
  334. package/layouts/default.vue +9 -0
  335. package/layouts/editorial.vue +83 -0
  336. package/lib/registry/themes.ts +636 -0
  337. package/lib/uno-preset.ts +143 -0
  338. package/memory-bank/activeContext.md +17 -0
  339. package/memory-bank/productContext.md +21 -0
  340. package/memory-bank/progress.md +16 -0
  341. package/memory-bank/projectbrief.md +20 -0
  342. package/memory-bank/systemPatterns.md +25 -0
  343. package/memory-bank/techContext.md +29 -0
  344. package/modules/inject-css.ts +40 -0
  345. package/nuxt.config.ts +124 -0
  346. package/package.json +71 -0
  347. package/pages/[...slug].vue +109 -0
  348. package/pages/admin/[...slug].vue +145 -0
  349. package/pages/index.vue +24 -0
  350. package/plugins/injectCssHmr.ts +26 -0
  351. package/plugins/wordup.ts +130 -0
  352. package/public/content-doc.json +792 -0
  353. package/public/iconesjs.svg +4 -0
  354. package/scripts/buildContentDoc-cli.ts +8 -0
  355. package/scripts/buildContentDoc.ts +165 -0
  356. package/tailwind.config.js +1 -0
  357. package/tsconfig.json +3 -0
  358. package/uno.config.mjs +58 -0
  359. package/utils/index.ts +12 -0
@@ -0,0 +1,148 @@
1
+ ---
2
+ title: Steps
3
+ icon: lucide:arrow-down-0-1
4
+ badges:
5
+ - value: Source
6
+ icon: lucide:code
7
+ to: https://github.com/ZTL-UwU/shadcn-docs-nuxt/blob/main/components/content/Steps.vue
8
+ target: _blank
9
+ ---
10
+
11
+ ## Usage
12
+
13
+ ::stack
14
+ ::div{class="p-4 md:p-6"}
15
+ ::steps
16
+ ### Get Starter Template
17
+
18
+ ::code-group
19
+ ```bash [npm]
20
+ npx nuxi@latest init <project-name> -t github:ZTL-UwU/shadcn-docs-nuxt-starter
21
+ ```
22
+ ```bash [pnpm]
23
+ pnpm dlx nuxi@latest init <project-name> -t github:ZTL-UwU/shadcn-docs-nuxt-starter
24
+ ```
25
+ ```bash [bun]
26
+ bunx nuxi@latest init <project-name> -t github:ZTL-UwU/shadcn-docs-nuxt-starter
27
+ ```
28
+ ::
29
+
30
+ ::alert
31
+ Alternatively, you can clone or download the template from the [GitHub repo](https://github.com/ZTL-UwU/shadcn-docs-nuxt-starter).
32
+ ::
33
+
34
+ ### Install Dependencies
35
+
36
+ ::code-group
37
+ ```bash [npm]
38
+ npm install
39
+ ```
40
+ ```bash [pnpm]
41
+ pnpm install
42
+ ```
43
+ ```bash [bun]
44
+ bun install
45
+ ```
46
+ ::
47
+
48
+ ### Development Server
49
+
50
+ ::code-group
51
+ ```bash [npm]
52
+ npm run dev -- -o
53
+ ```
54
+ ```bash [pnpm]
55
+ pnpm dev -o
56
+ ```
57
+ ```bash [bun]
58
+ bun run dev -o
59
+ ```
60
+ ::
61
+ ::
62
+ ::
63
+ ```mdc height=400
64
+ ::steps
65
+ ### Get Starter Template
66
+
67
+ ::code-group
68
+ ```bash [npm]
69
+ npx nuxi@latest init <project-name> -t github:ZTL-UwU/shadcn-docs-nuxt-starter
70
+ ```
71
+ ```bash [pnpm]
72
+ pnpm dlx nuxi@latest init <project-name> -t github:ZTL-UwU/shadcn-docs-nuxt-starter
73
+ ```
74
+ ```bash [bun]
75
+ bunx nuxi@latest init <project-name> -t github:ZTL-UwU/shadcn-docs-nuxt-starter
76
+ ```
77
+ ::
78
+
79
+ ::alert
80
+ Alternatively, you can clone or download the template from the [GitHub repo](https://github.com/ZTL-UwU/shadcn-docs-nuxt-starter).
81
+ ::
82
+
83
+ ### Install Dependencies
84
+
85
+ ::code-group
86
+ ```bash [npm]
87
+ npm install
88
+ ```
89
+ ```bash [pnpm]
90
+ pnpm install
91
+ ```
92
+ ```bash [bun]
93
+ bun install
94
+ ```
95
+ ::
96
+
97
+ ### Development Server
98
+
99
+ ::code-group
100
+ ```bash [npm]
101
+ npm run dev -- -o
102
+ ```
103
+ ```bash [pnpm]
104
+ pnpm dev -o
105
+ ```
106
+ ```bash [bun]
107
+ bun run dev -o
108
+ ```
109
+ ::
110
+ ::
111
+ ```
112
+ ::
113
+
114
+ ### Multi-level headings
115
+ :badge[0.4.6]{variant="outline"}
116
+
117
+ ::stack
118
+ ::div{class="p-4 md:p-6"}
119
+ ::steps{level=5}
120
+ ##### Specify the level of headings to use
121
+
122
+ ```mdc
123
+ ::steps{level=5}
124
+ ```
125
+
126
+ ##### Available Headings
127
+
128
+ `h1` through `h6`. Defaults to `h3`.
129
+ ::
130
+ ::
131
+ ```mdc
132
+ ::steps{level=5}
133
+ ##### Multi-level headings
134
+
135
+ ```mdc
136
+ ::steps{level=5}
137
+ ```
138
+
139
+ ##### Available Headings
140
+
141
+ `h1` through `h6`. Defaults to `h3`.
142
+ ::
143
+ ```
144
+ ::
145
+
146
+ ## Props
147
+
148
+ :field{name="level" type="number"}[Specify the level of headings to use]
@@ -0,0 +1,375 @@
1
+ ---
2
+ title: Tabs
3
+ icon: lucide:table-2
4
+ badges:
5
+ - value: Nuxt UI Pro
6
+ to: https://ui.nuxt.com/pro/prose/tabs
7
+ target: _blank
8
+ - value: Source
9
+ icon: lucide:code
10
+ to: https://github.com/ZTL-UwU/shadcn-docs-nuxt/blob/main/components/content/Tabs.vue
11
+ target: _blank
12
+ ---
13
+
14
+ ## Usage
15
+
16
+ ::stack
17
+ ::div{class="p-4"}
18
+ ::tabs
19
+ ::div{label="PostgreSQL" icon="lucide:database"}
20
+ ### PostgreSQL column types
21
+
22
+ ```ts
23
+ import { integer, pgTable } from 'drizzle-orm/pg-core';
24
+
25
+ export const table = pgTable('table', {
26
+ int: integer('int')
27
+ });
28
+ ```
29
+ ::
30
+ ::div{label="MySQL"}
31
+ ### MySQL column types
32
+
33
+ ```ts
34
+ import { int, mysqlTable } from 'drizzle-orm/mysql-core';
35
+
36
+ const table = mysqlTable('table', {
37
+ int: int('int')
38
+ });
39
+ ```
40
+ ::
41
+ ::div{label="SQLite"}
42
+ ### SQLite column types
43
+
44
+ ```ts
45
+ import { integer, sqliteTable } from 'drizzle-orm/sqlite-core';
46
+
47
+ const table = sqliteTable('table', {
48
+ id: integer('id')
49
+ });
50
+
51
+ // you can customize integer mode to be number, boolean, timestamp, timestamp_ms
52
+ integer('id', { mode: 'number' });
53
+ integer('id', { mode: 'boolean' });
54
+ integer('id', { mode: 'timestamp_ms' });
55
+ integer('id', { mode: 'timestamp' }); // Date
56
+ ```
57
+ ::
58
+ ::
59
+ ::
60
+ ```mdc height=300
61
+ ::tabs
62
+ ::div{label="PostgreSQL" icon="lucide:database"}
63
+ ### PostgreSQL column types
64
+
65
+ ```ts
66
+ import { integer, pgTable } from 'drizzle-orm/pg-core';
67
+
68
+ export const table = pgTable('table', {
69
+ int: integer('int')
70
+ });
71
+ ```
72
+ ::
73
+ ::div{label="MySQL"}
74
+ ### MySQL column types
75
+
76
+ ```ts
77
+ import { int, mysqlTable } from 'drizzle-orm/mysql-core';
78
+
79
+ const table = mysqlTable('table', {
80
+ int: int('int')
81
+ });
82
+ ```
83
+ ::
84
+ ::div{label="SQLite"}
85
+ ### SQLite column types
86
+
87
+ ```ts
88
+ import { integer, sqliteTable } from 'drizzle-orm/sqlite-core';
89
+
90
+ const table = sqliteTable('table', {
91
+ id: integer('id')
92
+ });
93
+
94
+ // you can customize integer mode to be number, boolean, timestamp, timestamp_ms
95
+ integer('id', { mode: 'number' });
96
+ integer('id', { mode: 'boolean' });
97
+ integer('id', { mode: 'timestamp_ms' });
98
+ integer('id', { mode: 'timestamp' }); // Date
99
+ ```
100
+ ::
101
+ ::
102
+ ```
103
+ ::
104
+
105
+ ### Card Style
106
+
107
+ ::stack
108
+ ::div{class="p-4"}
109
+ ::tabs{variant="card"}
110
+ ::div{label="Card Tab"}
111
+ ### This is a card-style tab
112
+ ::
113
+ ::div{label="Tab 2" icon="lucide:atom"}
114
+ This is Tab #2
115
+ ::
116
+ ```ts [Code Tab]
117
+ console.log('Hello World!');
118
+ ```
119
+ ::
120
+ ::
121
+ ```mdc
122
+ ::tabs{variant="card"}
123
+ ::div{label="Card Tab"}
124
+ ### This is a card-style tab
125
+ ::
126
+ ::div{label="Tab 2" icon="lucide:atom"}
127
+ This is Tab #2
128
+ ::
129
+ ```ts [Code Tab]
130
+ console.log('Hello World!');
131
+ ```
132
+ ::
133
+ ```
134
+ ::
135
+
136
+ ### Line Style
137
+ :badge[0.6.4]{variant="outline"}
138
+
139
+ ::stack
140
+ ::div{class="p-4"}
141
+ ::tabs{variant="line"}
142
+ ::div{label="Preview" class="border flex min-h-[200px] w-full justify-center p-10 items-center rounded-lg shadow-sm"}
143
+ :badge[Badge]
144
+ ::
145
+ ::div{label="Code"}
146
+ ```tsx
147
+ import { Badge } from "@/components/ui/badge"
148
+
149
+ export function BadgeDemo() {
150
+ return <Badge>Badge</Badge>
151
+ }
152
+ ```
153
+ ::
154
+ ::
155
+ ::
156
+ ```mdc
157
+ ::tabs{variant="line"}
158
+ ::div{label="Preview" class="border flex min-h-[200px] w-full justify-center p-10 items-center rounded-lg shadow-sm"}
159
+ :badge[Badge]
160
+ ::
161
+ ::div{label="Code"}
162
+ ```tsx
163
+ import { Badge } from "@/components/ui/badge"
164
+
165
+ export function BadgeDemo() {
166
+ return <Badge>Badge</Badge>
167
+ }
168
+ ```
169
+ ::
170
+ ::
171
+ ```
172
+ ::
173
+
174
+ ### Combobox Style
175
+ :badge[0.7.5]{variant="outline"}
176
+
177
+ ::stack
178
+ ::div{class="p-4"}
179
+ ::tabs{variant="combobox" search-placeholder="Search database..." search-empty="No database found."}
180
+ ::div{label="PostgreSQL"}
181
+ ### PostgreSQL column types
182
+
183
+ ```ts
184
+ import { integer, pgTable } from 'drizzle-orm/pg-core';
185
+
186
+ export const table = pgTable('table', {
187
+ int: integer('int')
188
+ });
189
+ ```
190
+ ::
191
+ ::div{label="MySQL"}
192
+ ### MySQL column types
193
+
194
+ ```ts
195
+ import { int, mysqlTable } from 'drizzle-orm/mysql-core';
196
+
197
+ const table = mysqlTable('table', {
198
+ int: int('int')
199
+ });
200
+ ```
201
+ ::
202
+ ::div{label="SQLite"}
203
+ ### SQLite column types
204
+
205
+ ```ts
206
+ import { integer, sqliteTable } from 'drizzle-orm/sqlite-core';
207
+
208
+ const table = sqliteTable('table', {
209
+ id: integer('id')
210
+ });
211
+
212
+ // you can customize integer mode to be number, boolean, timestamp, timestamp_ms
213
+ integer('id', { mode: 'number' });
214
+ integer('id', { mode: 'boolean' });
215
+ integer('id', { mode: 'timestamp_ms' });
216
+ integer('id', { mode: 'timestamp' }); // Date
217
+ ```
218
+ ::
219
+ ::
220
+ ::
221
+ ```mdc height=300
222
+ ::tabs{variant="combobox" search-placeholder="Search database..." search-empty="No database found."}
223
+ ::div{label="PostgreSQL"}
224
+ ### PostgreSQL column types
225
+
226
+ ```ts
227
+ import { integer, pgTable } from 'drizzle-orm/pg-core';
228
+
229
+ export const table = pgTable('table', {
230
+ int: integer('int')
231
+ });
232
+ ```
233
+ ::
234
+ ::div{label="MySQL"}
235
+ ### MySQL column types
236
+
237
+ ```ts
238
+ import { int, mysqlTable } from 'drizzle-orm/mysql-core';
239
+
240
+ const table = mysqlTable('table', {
241
+ int: int('int')
242
+ });
243
+ ```
244
+ ::
245
+ ::div{label="SQLite"}
246
+ ### SQLite column types
247
+
248
+ ```ts
249
+ import { integer, sqliteTable } from 'drizzle-orm/sqlite-core';
250
+
251
+ const table = sqliteTable('table', {
252
+ id: integer('id')
253
+ });
254
+
255
+ // you can customize integer mode to be number, boolean, timestamp, timestamp_ms
256
+ integer('id', { mode: 'number' });
257
+ integer('id', { mode: 'boolean' });
258
+ integer('id', { mode: 'timestamp_ms' });
259
+ integer('id', { mode: 'timestamp' }); // Date
260
+ ```
261
+ ::
262
+ ::
263
+ ```
264
+ ::
265
+
266
+ ### Synced Tabs
267
+ :badge[0.8.0]{variant="outline"}
268
+
269
+ :read-more{to="/components/docs/pm"}
270
+
271
+ ::stack
272
+ ::div{class="p-4 md:p-8"}
273
+ #### Scope 1
274
+ ::tabs{variant="card" sync="your-scope-name"}
275
+ ::div{label="Card Tab"}
276
+ ### This is a card-style tab
277
+ ::
278
+ ```ts [Code Tab]
279
+ console.log('Hello World!');
280
+ ```
281
+ ::
282
+ ::tabs{variant="card" sync="your-scope-name"}
283
+ ::div{label="Card Tab"}
284
+ ### This is a card-style tab
285
+ ::
286
+ ::div{label="Tab 2" icon="lucide:atom"}
287
+ This is Tab #2
288
+ ::
289
+ ```ts [Code Tab]
290
+ console.log('Hello World!');
291
+ ```
292
+ ::
293
+
294
+ #### Scope 2
295
+ ::tabs{variant="line" sync="scope2"}
296
+ ::div{label="Card Tab"}
297
+ ### This is a card-style tab
298
+ ::
299
+ ::div{label="Tab 2" icon="lucide:atom"}
300
+ This is Tab #2
301
+ ::
302
+ ```ts [Code Tab]
303
+ console.log('Hello World!');
304
+ ```
305
+ ::
306
+ ::tabs{variant="separate" sync="scope2"}
307
+ ::div{label="Card Tab"}
308
+ ### This is a card-style tab
309
+ ::
310
+ ::div{label="Tab 2" icon="lucide:atom"}
311
+ This is Tab #2
312
+ ::
313
+ ```ts [Code Tab]
314
+ console.log('Hello World!');
315
+ ```
316
+ ::
317
+ ::
318
+ ```mdc height=400
319
+ #### Scope 1
320
+ ::tabs{variant="card" sync="your-scope-name"}
321
+ ::div{label="Card Tab"}
322
+ ### This is a card-style tab
323
+ ::
324
+ ```ts [Code Tab]
325
+ console.log('Hello World!');
326
+ ```
327
+ ::
328
+ ::tabs{variant="card" sync="your-scope-name"}
329
+ ::div{label="Card Tab"}
330
+ ### This is a card-style tab
331
+ ::
332
+ ::div{label="Tab 2" icon="lucide:atom"}
333
+ This is Tab #2
334
+ ::
335
+ ```ts [Code Tab]
336
+ console.log('Hello World!');
337
+ ```
338
+ ::
339
+
340
+ #### Scope 2
341
+ ::tabs{variant="line" sync="scope2"}
342
+ ::div{label="Card Tab"}
343
+ ### This is a card-style tab
344
+ ::
345
+ ::div{label="Tab 2" icon="lucide:atom"}
346
+ This is Tab #2
347
+ ::
348
+ ```ts [Code Tab]
349
+ console.log('Hello World!');
350
+ ```
351
+ ::
352
+ ::tabs{variant="separate" sync="scope2"}
353
+ ::div{label="Card Tab"}
354
+ ### This is a card-style tab
355
+ ::
356
+ ::div{label="Tab 2" icon="lucide:atom"}
357
+ This is Tab #2
358
+ ::
359
+ ```ts [Code Tab]
360
+ console.log('Hello World!');
361
+ ```
362
+ ::
363
+ ```
364
+ ::
365
+
366
+ ## Props
367
+
368
+ ::field-group
369
+ :field{name="variant" type="'separate' | 'card' | 'line' | 'combobox'" default-value="'separate'"}
370
+ :field{name="padded" type="boolean" default-value="true"}
371
+ :field{name="disableSearch" type="boolean" default-value="false"}[For combobox variant]
372
+ :field{name="searchPlaceholder" type="string" default-value="'Search Tab...'"}[For combobox variant]
373
+ :field{name="searchEmpty" type="string" default-value="'No tab found.'"}[For combobox variant]
374
+ :field{name="sync" type="string"}[Sync scope]
375
+ ::
@@ -0,0 +1,2 @@
1
+ title: Page Components
2
+ icon: lucide:laptop-minimal
@@ -0,0 +1,74 @@
1
+ ---
2
+ title: Accordion
3
+ icon: lucide:layout-list
4
+ badges:
5
+ - value: Source
6
+ icon: lucide:code
7
+ to: https://github.com/ZTL-UwU/shadcn-docs-nuxt/blob/main/components/content/Accordion.vue
8
+ target: _blank
9
+ - value: 0.5.0
10
+ ---
11
+
12
+ ## Usage
13
+
14
+ ::stack
15
+ ::div{class="p-4"}
16
+ ::accordion{default-value="first-item" collapsible}
17
+ ::accordion-item{value="first-item"}
18
+ #title
19
+ Is it accessible?
20
+
21
+ #content
22
+ Yes. It adheres to the WAI-ARIA design pattern.
23
+ ::
24
+ ::accordion-item
25
+ #title
26
+ Is it unstyled?
27
+
28
+ #content
29
+ Yes. It's unstyled by default, giving you freedom over the look and feel.
30
+ ::
31
+ :accordion-item{title="Can it be animated?" content="Yes! You can use the transition prop to configure the animation."}
32
+ ::
33
+ ::
34
+ ```mdc
35
+ ::accordion{default-value="first-item" collapsible}
36
+ ::accordion-item{value="first-item"}
37
+ #title
38
+ Is it accessible?
39
+
40
+ #content
41
+ Yes. It adheres to the WAI-ARIA design pattern.
42
+ ::
43
+
44
+ ::accordion-item
45
+ #title
46
+ Is it unstyled?
47
+
48
+ #content
49
+ Yes. It's unstyled by default, giving you freedom over the look and feel.
50
+ ::
51
+ :accordion-item{title="Can it be animated?" content="Yes! You can use the transition prop to configure the animation."}
52
+ ::
53
+ ```
54
+ ::
55
+
56
+ The `value` prop in `::accordion-item`{lang="mdc"} is auto-generated by default. You can set them to other _unique_ values and put them in the `default-value` prop of `::accordion`{lang="mdc"}.
57
+
58
+ ## Props
59
+
60
+ #### `::accordion-item`{lang="mdc"}
61
+
62
+ ::field-group
63
+ :field{name="type" type="'single' | 'multiple'" default-value="'single'"}
64
+ :field{name="collapsible" type="boolean" default-value="undefined"}[Whether the items can be collapsed]
65
+ :field{name="defaultValue" type="string | string[]"}[Default open item]
66
+ ::
67
+
68
+ #### `::accordion`{lang="mdc"}
69
+
70
+ ::field-group
71
+ :field{name="value" type="string"}[Item value]
72
+ :field{name="title" type="string"}[Item title]
73
+ :field{name="content" type="string"}[Item content]
74
+ ::
@@ -0,0 +1,115 @@
1
+ ---
2
+ title: Card Group
3
+ icon: lucide:layout-grid
4
+ badges:
5
+ - value: Nuxt UI Pro
6
+ to: https://ui.nuxt.com/pro/prose/card-group
7
+ target: _blank
8
+ - value: Source
9
+ icon: lucide:code
10
+ to: https://github.com/ZTL-UwU/shadcn-docs-nuxt/blob/main/components/content/CardGroup.vue
11
+ target: _blank
12
+ ---
13
+
14
+ ## Usage
15
+
16
+ ::stack
17
+ ::div{class="p-4"}
18
+ ::card-group
19
+ ::card
20
+ ---
21
+ title: Components
22
+ icon: lucide:box
23
+ to: https://nuxt.com/docs/api/components/client-only
24
+ target: _blank
25
+ ---
26
+ Explore Nuxt built-in components for pages, layouts, head, and more.
27
+ ::
28
+ ::card
29
+ ---
30
+ title: Composables
31
+ icon: lucide:arrow-right-left
32
+ to: https://nuxt.com/docs/api/composables/use-app-config
33
+ target: _blank
34
+ ---
35
+ Discover Nuxt composable functions for data-fetching, head management and more.
36
+ ::
37
+ ::card
38
+ ---
39
+ title: Utils
40
+ icon: lucide:scissors
41
+ to: https://nuxt.com/docs/api/utils/dollarfetch
42
+ target: _blank
43
+ ---
44
+ Learn about Nuxt utility functions for navigation, error handling and more.
45
+ ::
46
+ ::card
47
+ ---
48
+ title: Commands
49
+ icon: lucide:square-terminal
50
+ to: https://nuxt.com/docs/api/commands/add
51
+ target: _blank
52
+ ---
53
+ List of Nuxt CLI commands to init, analyze, build, and preview your application.
54
+ ::
55
+ ::
56
+ ::
57
+ ```mdc
58
+ ::card-group
59
+ ::card
60
+ ---
61
+ title: Components
62
+ icon: lucide:box
63
+ to: https://nuxt.com/docs/api/components/client-only
64
+ target: _blank
65
+ ---
66
+ Explore Nuxt built-in components for pages, layouts, head, and more.
67
+ ::
68
+
69
+ ::card
70
+ ---
71
+ title: Composables
72
+ icon: lucide:arrow-right-left
73
+ to: https://nuxt.com/docs/api/composables/use-app-config
74
+ target: _blank
75
+ ---
76
+ Discover Nuxt composable functions for data-fetching, head management and more.
77
+ ::
78
+
79
+ ::card
80
+ ---
81
+ title: Utils
82
+ icon: lucide:scissors
83
+ to: https://nuxt.com/docs/api/utils/dollarfetch
84
+ target: _blank
85
+ ---
86
+ Learn about Nuxt utility functions for navigation, error handling and more.
87
+ ::
88
+
89
+ ::card
90
+ ---
91
+ title: Commands
92
+ icon: lucide:square-terminal
93
+ to: https://nuxt.com/docs/api/commands/add
94
+ target: _blank
95
+ ---
96
+ List of Nuxt CLI commands to init, analyze, build, and preview your application.
97
+ ::
98
+ ::
99
+ ```
100
+ ::
101
+
102
+ ## Automatically bind data from route
103
+
104
+ You can automatically bind data from route by using the `data` prop.
105
+
106
+ ::stack
107
+ ::div{class="p-4"}
108
+ ::card-group{data="/components/page/"}
109
+ ::
110
+ ::
111
+ ```mdc
112
+ ::card-group{data="/components/page/"}
113
+ ::
114
+ ```
115
+ ::