@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,129 @@
1
+ ---
2
+ title: Code Snippet
3
+ icon: lucide:clipboard
4
+ badges:
5
+ - value: 0.8.11
6
+ - value: Source
7
+ icon: lucide:code
8
+ to: https://github.com/ZTL-UwU/shadcn-docs-nuxt/blob/main/components/content/CodeSnippet.vue
9
+ target: _blank
10
+ ---
11
+
12
+ ## Usage
13
+
14
+ ::stack
15
+ ::div{class="p-4"}
16
+ ::code-snippet
17
+ ---
18
+ file: /components/DarkModeToggle.vue
19
+ language: vue
20
+ ---
21
+ ::
22
+ ::
23
+ ```mdc
24
+ ::code-snippet
25
+ ---
26
+ file: /components/DarkModeToggle.vue
27
+ language: vue
28
+ ---
29
+ ::
30
+ ```
31
+ ::
32
+
33
+ ### Highlighting Lines
34
+
35
+ ::stack
36
+ ::div{class="p-4"}
37
+ ::code-snippet
38
+ ---
39
+ file: /composables/useBreadcrumb.ts
40
+ language: ts
41
+ title: useBreadcrumb
42
+ highlights: 9-11
43
+ meta: line-numbers height=300
44
+ ---
45
+ ::
46
+ ::
47
+ ```mdc
48
+ ::code-snippet
49
+ ---
50
+ file: /composables/useBreadcrumb.ts
51
+ language: ts
52
+ title: useBreadcrumb
53
+ highlights: 9-11
54
+ meta: line-numbers height=300
55
+ ---
56
+ ::
57
+ ```
58
+ ::
59
+
60
+ Translates to:
61
+
62
+ `````md
63
+ ````ts [useBreadcrumb] {9-11} line-numbers height=300
64
+ // code imported from /composables/useBreadcrumb.ts
65
+ ````
66
+ `````
67
+
68
+ ### Using Offset Props
69
+
70
+ ::stack
71
+ ::div{class="p-4"}
72
+ ::code-snippet
73
+ ---
74
+ file: /composables/useBreadcrumb.ts
75
+ language: ts
76
+ start: 6
77
+ offset: 4
78
+ ---
79
+ ::
80
+ ::
81
+ ```mdc
82
+ ::code-snippet
83
+ ---
84
+ file: /composables/useBreadcrumb.ts
85
+ language: ts
86
+ start: 6
87
+ offset: 4
88
+ ---
89
+ ::
90
+ ```
91
+ ::
92
+
93
+ ### Fetching From a Remote URL
94
+
95
+ ::stack
96
+ ::div{class="p-4"}
97
+ ::code-snippet
98
+ ---
99
+ url: https://raw.githubusercontent.com/ZTL-UwU/shadcn-docs-nuxt/refs/heads/main/pages/index.vue
100
+ language: vue
101
+ ---
102
+ ::
103
+ ::
104
+ ```mdc
105
+ ::code-snippet
106
+ ---
107
+ url: https://raw.githubusercontent.com/ZTL-UwU/shadcn-docs-nuxt/refs/heads/main/pages/index.vue
108
+ language: vue
109
+ ---
110
+ ::
111
+ ```
112
+ ::
113
+
114
+ ## Props
115
+
116
+ ::alert{icon="lucide:info"}
117
+ The `/nuxt.config.ts` file can not be imported due to framework constraints
118
+ ::
119
+
120
+ ::field-group
121
+ :field{name="file" type="string"}[The path to the imported file]
122
+ :field{name="url" type="string"}[A remote URL to fetch the code from]
123
+ :field{name="title" type="string"}[Code block title]
124
+ :field{name="language" type="string"}[Code block highlight language]
125
+ :field{name="highlights" type="string"}[Code block highlights lines]
126
+ :field{name="meta" type="string"}[Code block meta]
127
+ :field{name="start" type="number"}[Starting line index]
128
+ :field{name="offset" type="number"}[Number of lines to display from start]
129
+ ::
@@ -0,0 +1,62 @@
1
+ ---
2
+ title: Field Group
3
+ icon: lucide:settings-2
4
+ badges:
5
+ - value: Nuxt UI Pro
6
+ to: https://ui.nuxt.com/pro/prose/field-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/FieldGroup.vue
11
+ target: _blank
12
+ ---
13
+
14
+ ## Usage
15
+
16
+ ::stack
17
+ ::div{class="p-4"}
18
+ ::field-group
19
+ ::field{name="withDefault" type="boolean" defaultValue="true"}
20
+ A field with a default value.
21
+ ::
22
+ ::field{name="requiredField" type="boolean" required}
23
+ A required field.
24
+ ::
25
+ ::field{name="clear (path?: string)" type="void"}
26
+ Clears form errors associated with a specific path. If no path is provided, clears all form errors.
27
+ ::
28
+ ::field{name="getErrors (path?: string)" type="FormError[]"}
29
+ Retrieves form errors associated with a specific path. If no path is provided, returns all form errors.
30
+ ::
31
+ ::field{name="setErrors (errors: FormError[], path?: string)" type="void"}
32
+ Sets form errors for a given path. If no path is provided, overrides all errors.
33
+ ::
34
+ ::field{name="errors" type="Ref<FormError[]>"}
35
+ A reference to the array containing validation errors. Use this to access or manipulate the error information.
36
+ ::
37
+ ::
38
+ ::
39
+
40
+ ```mdc
41
+ ::field-group
42
+ ::field{name="withDefault" type="boolean" defaultValue="true"}
43
+ A field with a default value.
44
+ ::
45
+ ::field{name="requiredField" type="boolean" required}
46
+ A required field.
47
+ ::
48
+ ::field{name="clear (path?: string)" type="void"}
49
+ Clears form errors associated with a specific path. If no path is provided, clears all form errors.
50
+ ::
51
+ ::field{name="getErrors (path?: string)" type="FormError[]"}
52
+ Retrieves form errors associated with a specific path. If no path is provided, returns all form errors.
53
+ ::
54
+ ::field{name="setErrors (errors: FormError[], path?: string)" type="void"}
55
+ Sets form errors for a given path. If no path is provided, overrides all errors.
56
+ ::
57
+ ::field{name="errors" type="Ref<FormError[]>"}
58
+ A reference to the array containing validation errors. Use this to access or manipulate the error information.
59
+ ::
60
+ ::
61
+ ```
62
+ ::
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: Field
3
+ icon: lucide:settings-2
4
+ badges:
5
+ - value: Nuxt UI Pro
6
+ to: https://ui.nuxt.com/pro/prose/field
7
+ target: _blank
8
+ - value: Source
9
+ icon: lucide:code
10
+ to: https://github.com/ZTL-UwU/shadcn-docs-nuxt/blob/main/components/content/Field.vue
11
+ target: _blank
12
+ ---
13
+
14
+ ## Usage
15
+
16
+ ::stack
17
+ ::div{class="p-4"}
18
+ ::field{name="Field" type="string" defaultValue="'default'" required}
19
+ The _description_ can be set as prop or in the default slot with full **markdown** support.
20
+ ::
21
+ ::
22
+ ```mdc
23
+ ::field{name="Field" type="string" defaultValue="'default'" required}
24
+ The _description_ can be set as prop or in the default slot with full **markdown** support.
25
+ ::
26
+ ```
27
+ ::
28
+
29
+ The text `required` is configurable in [`main.fieldRequiredText`](/development/configuration/overview#main).
30
+
31
+ ## Props
32
+
33
+ ::field-group
34
+ :field{name="name" type="string"}[Field name]
35
+ :field{name="type" type="string"}[Field type]
36
+ :field{name="description" type="string"}[Field description]
37
+ :field{name="defaultValue" type="string"}[Field default value]
38
+ :field{name="required" type="boolean"}[Whether the field is required]
39
+ ::
@@ -0,0 +1,144 @@
1
+ ---
2
+ title: File Tree
3
+ icon: lucide:folder-tree
4
+ badges:
5
+ - value: 0.8.10
6
+ - value: Source
7
+ icon: lucide:code
8
+ to: https://github.com/ZTL-UwU/shadcn-docs-nuxt/blob/main/components/content/FileTree.vue
9
+ target: _blank
10
+ ---
11
+
12
+ ## Usage
13
+
14
+ ::stack
15
+ ::div{class="p-4"}
16
+ ::file-tree
17
+ ---
18
+ tree:
19
+ - app:
20
+ - components:
21
+ - Header.vue
22
+ - Footer.vue
23
+ - composables:
24
+ - useErrorHandler.ts
25
+ - ^app.vue^
26
+ - docs:
27
+ - index.md
28
+ ---
29
+ ::
30
+ ::
31
+ ```mdc
32
+ ::file-tree
33
+ ---
34
+ tree:
35
+ - app:
36
+ - components:
37
+ - Header.vue
38
+ - Footer.vue
39
+ - composables:
40
+ - useErrorHandler.ts
41
+ - ^app.vue^ # This is highlighted
42
+ - docs:
43
+ - index.md
44
+ ---
45
+ ::
46
+ ```
47
+ ::
48
+
49
+ ### Customizations
50
+
51
+ ::stack
52
+ ::div{class="p-4"}
53
+ ::file-tree
54
+ ---
55
+ title: File Tree Title
56
+ icon: lucide:folder-tree
57
+ autoSlash: false # Whether to add a slash after every folder automatically
58
+ showArrow: true # Whether to show the guide arrow
59
+ tree:
60
+ - components:
61
+ - layout:
62
+ - Header.vue
63
+ - Footer.vue
64
+ - ...
65
+ - content:
66
+ - Accordion.vue
67
+ - Alert.vue
68
+ - ProseCode.vue
69
+ - ...
70
+ ---
71
+ ::
72
+ ::
73
+ ```mdc
74
+ ::file-tree
75
+ ---
76
+ title: File Tree Title
77
+ icon: lucide:folder-tree
78
+ autoSlash: false # Whether to add a slash after every folder automatically
79
+ showArrow: true # Whether to show the collapse arrow
80
+ tree:
81
+ - components:
82
+ - layout:
83
+ - Header.vue
84
+ - Footer.vue
85
+ - ...
86
+ - content:
87
+ - Accordion.vue
88
+ - Alert.vue
89
+ - ProseCode.vue
90
+ - ...
91
+ ---
92
+ ::
93
+ ```
94
+ ::
95
+
96
+ ### Disable Icons
97
+
98
+ ::stack
99
+ ::div{class="p-4"}
100
+ ::file-tree
101
+ ---
102
+ showIcon: false
103
+ tree:
104
+ - app:
105
+ - components:
106
+ - Header.vue
107
+ - Footer.vue
108
+ - composables:
109
+ - useErrorHandler.ts
110
+ - ^app.vue^
111
+ - docs:
112
+ - index.md
113
+ ---
114
+ ::
115
+ ::
116
+ ```mdc
117
+ ::file-tree
118
+ ---
119
+ showIcon: false
120
+ tree:
121
+ - app:
122
+ - components:
123
+ - Header.vue
124
+ - Footer.vue
125
+ - composables:
126
+ - useErrorHandler.ts
127
+ - ^app.vue^
128
+ - docs:
129
+ - index.md
130
+ ---
131
+ ::
132
+ ```
133
+ ::
134
+
135
+ ## Props
136
+
137
+ ::field-group
138
+ :field{name="tree"}[The file tree]
139
+ :field{name="title" type="string"}[File tree title]
140
+ :field{name="icon" type="string"}[File tree title icon]
141
+ :field{name="autoSlash" type="boolean" default-value="true"}[Whether to add a slash after every folder automatically]
142
+ :field{name="showArrow" type="boolean" default-value="false"}[Whether to show the collapse arrow]
143
+ :field{name="showIcon" type="boolean" default-value="true"}[Whether to show file & folder icons]
144
+ ::
@@ -0,0 +1,94 @@
1
+ ---
2
+ title: Icon
3
+ icon: /iconesjs.svg
4
+ badges:
5
+ - value: Docus
6
+ to: https://docus.dev/api/components#icon
7
+ target: _blank
8
+ - value: Source
9
+ icon: lucide:code
10
+ to: https://github.com/ZTL-UwU/shadcn-docs-nuxt/blob/main/components/content/Icon.vue
11
+ target: _blank
12
+ ---
13
+
14
+ ## Usage
15
+
16
+ ::stack
17
+ ::div{class="p-4 space-x-2"}
18
+ :icon{name="lucide:box"}
19
+ :icon{name="vscode-icons:file-type-js-official"}
20
+ :icon{name="vscode-icons:file-type-vue"}
21
+ :icon{name="vscode-icons:file-type-nuxt" size="30"}
22
+ ::
23
+
24
+ ```mdc
25
+ :icon{name="lucide:box"}
26
+ :icon{name="vscode-icons:file-type-js-official"}
27
+ :icon{name="vscode-icons:file-type-vue"}
28
+ :icon{name="vscode-icons:file-type-nuxt" size="30"}
29
+ ```
30
+ ::
31
+
32
+ If you want to use other icons, it is highly recommended to install them locally, which is faster and more reliable on both SSR and client-side.
33
+
34
+ ```bash [Terminal]
35
+ npm i -D @iconify-json/collection-name
36
+ ```
37
+
38
+ `@iconify-json/lucide` and `@iconify-json/vscode-icons` are installed by default.
39
+
40
+ ### Smart Icon
41
+
42
+ :badge[0.5.3]{variant="outline"}
43
+
44
+ You can put iconify icons, emojis and urls in `icon`. Smart icon will render them automatically.
45
+
46
+ ::stack
47
+ ::div{class="p-4"}
48
+ **Iconify**
49
+ <div class="space-x-2">
50
+
51
+ :icon{name="lucide:box"}
52
+ :icon{name="vscode-icons:file-type-js-official"}
53
+ :icon{name="vscode-icons:file-type-vue" size=30}
54
+
55
+ </div>
56
+
57
+ **Emojis**
58
+ <div class="space-x-2">
59
+
60
+ :icon{name="😍"}
61
+ :icon{name="🚀"}
62
+ :icon{name="🎉" size=30}
63
+
64
+ </div>
65
+
66
+ **URL**
67
+ <div class="space-x-2">
68
+
69
+ :icon{name="/logo.svg"}
70
+ :icon{name="https://vueuse.org/favicon.svg" size=40}
71
+
72
+ </div>
73
+ ::
74
+
75
+ ```mdc
76
+ **Iconify**
77
+ :icon{name="lucide:box"}
78
+ :icon{name="vscode-icons:file-type-js-official"}
79
+ :icon{name="vscode-icons:file-type-vue"}
80
+
81
+ **Emojis**
82
+ :icon{name="😍"}
83
+ :icon{name="🚀"}
84
+ :icon{name="🎉" size=30}
85
+
86
+ **URL**
87
+ :icon{name="/logo.svg"}
88
+ :icon{name="https://vueuse.org/favicon.svg" size=40}
89
+ ```
90
+ ::
91
+
92
+ ::alert{to="https://github.com/nuxt-modules/icon" target="_blank"}
93
+ The icon component uses **Nuxt Icon** under the hood. Check out the usage guide from Nuxt Icon.
94
+ ::
@@ -0,0 +1,67 @@
1
+ ---
2
+ title: Package Manager
3
+ icon: lucide:package
4
+ description: ''
5
+ badges:
6
+ - value: Source
7
+ icon: lucide:code
8
+ to: https://github.com/ZTL-UwU/shadcn-docs-nuxt/blob/main/components/content/PmInstall.vue
9
+ target: _blank
10
+ - value: 0.8.0
11
+ ---
12
+
13
+ ## Usage
14
+
15
+ The package managers shown can be configured in [`main.pm`](/development/configuration/overview#main).
16
+
17
+ ### Install
18
+
19
+ ::stack
20
+ ::div{class="p-4"}
21
+ :pm-install{name="shadcn-docs-nuxt"}
22
+ :pm-install{name="shadcn-docs-nuxt" save-dev}
23
+ :pm-install
24
+ :pm-install{name="-g nuxi@latest"}
25
+ ::
26
+ ```mdc
27
+ :pm-install{name="shadcn-docs-nuxt"}
28
+ :pm-install{name="shadcn-docs-nuxt" save-dev}
29
+ :pm-install
30
+ :pm-install{name="-g nuxi@latest"}
31
+ ```
32
+ ::
33
+
34
+ ### Run
35
+
36
+ ::stack
37
+ ::div{class="p-4"}
38
+ :pm-run{script="dev"}
39
+ :pm-run{script="build --watch -o"}
40
+ ::
41
+ ```mdc
42
+ :pm-run{script="dev"}
43
+ :pm-run{script="build --watch -o"}
44
+ ```
45
+ ::
46
+
47
+ ### X
48
+
49
+ ::stack
50
+ ::div{class="p-4"}
51
+ :pm-x{command="nuxi@latest init <project-name>"}
52
+ ::
53
+ ```mdc
54
+ :pm-x{command="nuxi@latest init <project-name>"}
55
+ ```
56
+ ::
57
+
58
+ ### No Sync
59
+
60
+ ::stack
61
+ ::div{class="p-4"}
62
+ :pm-x{command="nuxi@latest init <project-name>" no-sync}
63
+ ::
64
+ ```mdc
65
+ :pm-x{command="nuxi@latest init <project-name>" no-sync}
66
+ ```
67
+ ::
@@ -0,0 +1,44 @@
1
+ ---
2
+ title: Read More
3
+ icon: lucide:bookmark
4
+ badges:
5
+ - value: undocs
6
+ to: https://undocs.pages.dev/guide/components#read-more
7
+ target: _blank
8
+ - value: Source
9
+ icon: lucide:code
10
+ to: https://github.com/ZTL-UwU/shadcn-docs-nuxt/blob/main/components/content/ReadMore.vue
11
+ target: _blank
12
+ ---
13
+
14
+ ## Usage
15
+
16
+ ::stack
17
+ :::div{.p-5}
18
+ :read-more{to="/getting-started/writing/markdown"}
19
+
20
+ :read-more{title="Nuxt website" to="https://nuxt.com/"}
21
+
22
+ :read-more{icon="lucide:link" prefix="More information on" to="https://nuxt.com/"}
23
+ :::
24
+
25
+ ```mdc
26
+ :read-more{to="/getting-started/writing/markdown"}
27
+ :read-more{title="Nuxt website" to="https://nuxt.com/"}
28
+ :read-more{icon="lucide:link" prefix="More information on" to="https://nuxt.com/"}
29
+ ```
30
+ ::
31
+
32
+ ## Props
33
+
34
+ ::field-group
35
+ :field[Read More icon]{name="icon" type="string"}
36
+
37
+ :field[Prefix text]{default-value="Read more at" name="prefix" type="string"}
38
+
39
+ :field[Link URL]{name="to" type="string"}
40
+
41
+ :field[Read More title]{name="title" type="string"}
42
+
43
+ :field[A `target` attribute value to apply on the link]{name="target" type="Target"}
44
+ ::
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: Shortcut
3
+ icon: lucide:keyboard
4
+ badges:
5
+ - value: Nuxt UI Pro
6
+ to: https://ui.nuxt.com/pro/prose/shortcut
7
+ target: _blank
8
+ - value: Source
9
+ icon: lucide:code
10
+ to: https://github.com/ZTL-UwU/shadcn-docs-nuxt/blob/main/components/content/Shortcut.vue
11
+ target: _blank
12
+ - value: 0.6.3
13
+ ---
14
+
15
+ ## Usage
16
+
17
+ ::stack
18
+ ::div{class="p-4"}
19
+ :shortcut{value="meta"} :shortcut{value="K"} :br
20
+ :shortcut{value="xs" size="xs"} :shortcut{value="sm"} :shortcut{value="md" size="md"}
21
+ ::
22
+ ```mdc
23
+ :shortcut{value="meta"} :shortcut{value="K"}
24
+
25
+ :shortcut{value="xs" size="xs"} :shortcut{value="sm"} :shortcut{value="md" size="md"}
26
+ ```
27
+ ::
28
+
29
+ You can put `meta` in the `value` field to automatically display either :shortcut{value="⌘"} or :shortcut{value="Ctrl"} based on the platform.
30
+
31
+ ## Props
32
+
33
+ ::field-group
34
+ :field{name="value" type="string"}[Text in the shortcut]
35
+ :field{name="size" type="'xs' | 'sm' | 'md'" default-value="'sm'"}
36
+ ::
@@ -0,0 +1,81 @@
1
+ ---
2
+ title: Stack
3
+ icon: lucide:rows-3
4
+ badges:
5
+ - value: Source
6
+ icon: lucide:code
7
+ to: https://github.com/ZTL-UwU/shadcn-docs-nuxt/blob/main/components/content/Stack.vue
8
+ target: _blank
9
+ - value: 0.6.2
10
+ ---
11
+
12
+ ## Usage
13
+
14
+ ::stack
15
+ ::div{class="p-4 md:p-8"}
16
+ ::stack
17
+ ::div{class="p-6 text-3xl font-bold"}
18
+ ✨ Introducing Inspira UI
19
+ ::
20
+ ```vue
21
+ <template>
22
+ <RadiantText
23
+ class="inline-flex items-center justify-center px-4 py-1 transition ease-out hover:text-neutral-600 hover:duration-300 hover:dark:text-neutral-400"
24
+ :duration="5"
25
+ >
26
+ <span class="text-3xl font-bold">✨ Introducing Inspira UI</span>
27
+ </RadiantText>
28
+ </template>
29
+ ```
30
+ :pm-install{name="@inspira-ui/plugins" save-dev}
31
+ :read-more{title="Inspira UI Docs" to="https://inspira-ui.com/components/radiant-text"}
32
+ ::card
33
+ ---
34
+ title: Commands
35
+ icon: lucide:square-terminal
36
+ ---
37
+ List of Nuxt CLI commands to init, analyze, build, and preview your application.
38
+ ::
39
+ ::
40
+ ::
41
+ ```mdc
42
+ ::stack
43
+ ::div{class="p-6 text-3xl font-bold"}
44
+ ✨ Introducing Inspira UI
45
+ ::
46
+ ```vue
47
+ <template>
48
+ <RadiantText
49
+ class="inline-flex items-center justify-center px-4 py-1 transition ease-out hover:text-neutral-600 hover:duration-300 hover:dark:text-neutral-400"
50
+ :duration="5"
51
+ >
52
+ <span class="text-3xl font-bold">✨ Introducing Inspira UI</span>
53
+ </RadiantText>
54
+ </template>
55
+ ```
56
+ :pm-install{name="@inspira-ui/plugins" save-dev}
57
+ :read-more{title="Inspira UI Docs" to="https://inspira-ui.com/components/radiant-text"}
58
+ ::card
59
+ ---
60
+ title: Commands
61
+ icon: lucide:square-terminal
62
+ ---
63
+ List of Nuxt CLI commands to init, analyze, build, and preview your application.
64
+ ::
65
+ ::
66
+ ```
67
+ ::
68
+
69
+ Stackable components:
70
+
71
+ - `div`
72
+ - Code Blocks
73
+ - `alert`
74
+ - `callout`
75
+ - `read-more`
76
+ - `code-group`
77
+ - `card`
78
+ - `tabs`
79
+ - `pm-install`
80
+ - `pm-run`
81
+ - `pm-x`