fulldev-ui 0.6.5 → 0.7.0-beta.1

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 (500) hide show
  1. package/.prettierrc.yaml +10 -3
  2. package/README.md +2 -1
  3. package/astro.config.ts +20 -17
  4. package/components.json +18 -0
  5. package/package.json +63 -34
  6. package/pnpm-lock.yaml +3690 -1465
  7. package/public/images/categories/journals.jpg +0 -0
  8. package/public/images/categories/productivity.jpg +0 -0
  9. package/public/images/categories/workspace.jpg +0 -0
  10. package/public/images/leather-long-wallet.jpg +0 -0
  11. package/public/images/products/earthen-mug.jpg +0 -0
  12. package/public/images/products/leather-long-wallet.jpg +0 -0
  13. package/public/images/products/leatherbound-daily-journal-set.jpg +0 -0
  14. package/public/images/products/leatherbound-daily-journal.jpg +0 -0
  15. package/public/images/products/machines-pen.jpg +0 -0
  16. package/public/images/products/machines-pencil-and-pen-set.jpg +0 -0
  17. package/public/images/products/mini-sketchbooks.jpg +0 -0
  18. package/public/images/products/organizer-set.jpg +0 -0
  19. package/src/blocks/CategoryGroup1.astro +43 -0
  20. package/src/blocks/CategoryList1.astro +55 -0
  21. package/src/blocks/Contact1.astro +34 -77
  22. package/src/blocks/Contact2.astro +31 -77
  23. package/src/blocks/Content1.astro +18 -30
  24. package/src/blocks/Cta1.astro +18 -58
  25. package/src/blocks/Faqs1.astro +29 -0
  26. package/src/blocks/Faqs2.astro +29 -0
  27. package/src/blocks/Features1.astro +25 -61
  28. package/src/blocks/Footer.astro +47 -71
  29. package/src/blocks/Header.astro +64 -124
  30. package/src/blocks/Hero1.astro +23 -54
  31. package/src/blocks/Intro1.astro +16 -58
  32. package/src/blocks/PostSingle1.astro +29 -0
  33. package/src/blocks/ProductGroup1.astro +82 -0
  34. package/src/blocks/ProductList1.astro +60 -0
  35. package/src/blocks/ProductSingle1.astro +65 -0
  36. package/src/blocks/Reviews1.astro +23 -67
  37. package/src/components/Abstract.astro +36 -0
  38. package/src/components/Accordion.vue +31 -0
  39. package/src/components/Avatar.astro +23 -32
  40. package/src/components/Badge.astro +10 -58
  41. package/src/components/Box.astro +28 -0
  42. package/src/components/Button.astro +38 -78
  43. package/src/components/Buttons.astro +41 -19
  44. package/src/components/Card.astro +20 -0
  45. package/src/components/Carousel.vue +44 -0
  46. package/src/components/Chip.astro +27 -0
  47. package/src/{structures → components}/Code.astro +27 -8
  48. package/src/components/Collapsible.vue +21 -0
  49. package/src/components/Container.astro +25 -0
  50. package/src/components/Drawer.vue +53 -0
  51. package/src/components/Form.vue +82 -0
  52. package/src/components/Gallery.vue +85 -0
  53. package/src/components/Grid.astro +35 -0
  54. package/src/components/Icon.astro +12 -45
  55. package/src/components/Image.astro +6 -28
  56. package/src/components/Layout.astro +126 -0
  57. package/src/components/Link.astro +7 -65
  58. package/src/components/List.astro +13 -77
  59. package/src/components/Logo.astro +16 -35
  60. package/src/components/Masonry.astro +35 -0
  61. package/src/components/Menu.astro +31 -36
  62. package/src/components/Menus.astro +15 -10
  63. package/src/components/Navigation.vue +93 -0
  64. package/src/components/Panel.astro +18 -0
  65. package/src/components/Person.astro +43 -0
  66. package/src/components/Price.astro +26 -11
  67. package/src/components/Proof.astro +16 -37
  68. package/src/components/{docs/Props.astro → Props.astro} +3 -3
  69. package/src/components/Prose.astro +28 -0
  70. package/src/components/Rating.astro +5 -24
  71. package/src/components/Search.vue +65 -0
  72. package/src/components/Section.astro +18 -0
  73. package/src/components/Select.vue +41 -0
  74. package/src/components/Separator.astro +0 -0
  75. package/src/components/Sidebar.astro +50 -0
  76. package/src/components/Social.astro +8 -15
  77. package/src/components/Socials.astro +21 -19
  78. package/src/components/Sort.vue +46 -0
  79. package/src/components/Split.astro +27 -0
  80. package/src/components/Table.astro +17 -17
  81. package/src/components/Tabs.vue +17 -0
  82. package/src/components/Themer.astro +12 -3
  83. package/src/components/Toc.astro +24 -21
  84. package/src/components/Toolbar.vue +115 -0
  85. package/src/components/Writeup.astro +37 -0
  86. package/src/components/ui/accordion/Accordion.vue +19 -0
  87. package/src/components/ui/accordion/AccordionContent.vue +24 -0
  88. package/src/components/ui/accordion/AccordionItem.vue +24 -0
  89. package/src/components/ui/accordion/AccordionTrigger.vue +33 -0
  90. package/src/components/ui/accordion/index.ts +4 -0
  91. package/src/components/ui/auto-form/AutoForm.vue +115 -0
  92. package/src/components/ui/auto-form/AutoFormField.vue +45 -0
  93. package/src/components/ui/auto-form/AutoFormFieldArray.vue +127 -0
  94. package/src/components/ui/auto-form/AutoFormFieldBoolean.vue +47 -0
  95. package/src/components/ui/auto-form/AutoFormFieldDate.vue +78 -0
  96. package/src/components/ui/auto-form/AutoFormFieldEnum.vue +77 -0
  97. package/src/components/ui/auto-form/AutoFormFieldFile.vue +87 -0
  98. package/src/components/ui/auto-form/AutoFormFieldInput.vue +42 -0
  99. package/src/components/ui/auto-form/AutoFormFieldNumber.vue +42 -0
  100. package/src/components/ui/auto-form/AutoFormFieldObject.vue +90 -0
  101. package/src/components/ui/auto-form/AutoFormLabel.vue +19 -0
  102. package/src/components/ui/auto-form/constant.ts +40 -0
  103. package/src/components/ui/auto-form/dependencies.ts +92 -0
  104. package/src/components/ui/auto-form/index.ts +15 -0
  105. package/src/components/ui/auto-form/interface.ts +95 -0
  106. package/src/components/ui/auto-form/utils.ts +188 -0
  107. package/src/components/ui/avatar/Avatar.vue +24 -0
  108. package/src/components/ui/avatar/AvatarFallback.vue +11 -0
  109. package/src/components/ui/avatar/AvatarImage.vue +9 -0
  110. package/src/components/ui/avatar/index.ts +24 -0
  111. package/src/components/ui/badge/Badge.vue +16 -0
  112. package/src/components/ui/badge/index.ts +22 -0
  113. package/src/components/ui/breadcrumb/Breadcrumb.vue +13 -0
  114. package/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue +22 -0
  115. package/src/components/ui/breadcrumb/BreadcrumbItem.vue +14 -0
  116. package/src/components/ui/breadcrumb/BreadcrumbLink.vue +19 -0
  117. package/src/components/ui/breadcrumb/BreadcrumbList.vue +16 -0
  118. package/src/components/ui/breadcrumb/BreadcrumbPage.vue +19 -0
  119. package/src/components/ui/breadcrumb/BreadcrumbSeparator.vue +21 -0
  120. package/src/components/ui/breadcrumb/index.ts +7 -0
  121. package/src/components/ui/button/Button.vue +26 -0
  122. package/src/components/ui/button/index.ts +31 -0
  123. package/src/components/ui/calendar/Calendar.vue +80 -0
  124. package/src/components/ui/calendar/CalendarCell.vue +29 -0
  125. package/src/components/ui/calendar/CalendarCellTrigger.vue +40 -0
  126. package/src/components/ui/calendar/CalendarGrid.vue +24 -0
  127. package/src/components/ui/calendar/CalendarGridBody.vue +11 -0
  128. package/src/components/ui/calendar/CalendarGridHead.vue +11 -0
  129. package/src/components/ui/calendar/CalendarGridRow.vue +24 -0
  130. package/src/components/ui/calendar/CalendarHeadCell.vue +24 -0
  131. package/src/components/ui/calendar/CalendarHeader.vue +24 -0
  132. package/src/components/ui/calendar/CalendarHeading.vue +27 -0
  133. package/src/components/ui/calendar/CalendarNextButton.vue +30 -0
  134. package/src/components/ui/calendar/CalendarPrevButton.vue +30 -0
  135. package/src/components/ui/calendar/index.ts +12 -0
  136. package/src/components/ui/card/Card.vue +14 -0
  137. package/src/components/ui/card/CardContent.vue +14 -0
  138. package/src/components/ui/card/CardDescription.vue +14 -0
  139. package/src/components/ui/card/CardFooter.vue +14 -0
  140. package/src/components/ui/card/CardHeader.vue +14 -0
  141. package/src/components/ui/card/CardTitle.vue +14 -0
  142. package/src/components/ui/card/index.ts +6 -0
  143. package/src/components/ui/carousel/Carousel.vue +61 -0
  144. package/src/components/ui/carousel/CarouselContent.vue +27 -0
  145. package/src/components/ui/carousel/CarouselItem.vue +19 -0
  146. package/src/components/ui/carousel/CarouselNext.vue +33 -0
  147. package/src/components/ui/carousel/CarouselPrevious.vue +33 -0
  148. package/src/components/ui/carousel/index.ts +10 -0
  149. package/src/components/ui/carousel/interface.ts +26 -0
  150. package/src/components/ui/carousel/useCarousel.ts +56 -0
  151. package/src/components/ui/checkbox/Checkbox.vue +36 -0
  152. package/src/components/ui/checkbox/index.ts +1 -0
  153. package/src/components/ui/collapsible/Collapsible.vue +15 -0
  154. package/src/components/ui/collapsible/CollapsibleContent.vue +11 -0
  155. package/src/components/ui/collapsible/CollapsibleTrigger.vue +11 -0
  156. package/src/components/ui/collapsible/index.ts +3 -0
  157. package/src/components/ui/command/Command.vue +32 -0
  158. package/src/components/ui/command/CommandDialog.vue +23 -0
  159. package/src/components/ui/command/CommandEmpty.vue +23 -0
  160. package/src/components/ui/command/CommandGroup.vue +39 -0
  161. package/src/components/ui/command/CommandInput.vue +43 -0
  162. package/src/components/ui/command/CommandItem.vue +31 -0
  163. package/src/components/ui/command/CommandList.vue +30 -0
  164. package/src/components/ui/command/CommandSeparator.vue +23 -0
  165. package/src/components/ui/command/CommandShortcut.vue +14 -0
  166. package/src/components/ui/command/index.ts +9 -0
  167. package/src/components/ui/dialog/Dialog.vue +14 -0
  168. package/src/components/ui/dialog/DialogClose.vue +11 -0
  169. package/src/components/ui/dialog/DialogContent.vue +51 -0
  170. package/src/components/ui/dialog/DialogDescription.vue +24 -0
  171. package/src/components/ui/dialog/DialogFooter.vue +12 -0
  172. package/src/components/ui/dialog/DialogHeader.vue +14 -0
  173. package/src/components/ui/dialog/DialogScrollContent.vue +59 -0
  174. package/src/components/ui/dialog/DialogTitle.vue +24 -0
  175. package/src/components/ui/dialog/DialogTrigger.vue +11 -0
  176. package/src/components/ui/dialog/index.ts +9 -0
  177. package/src/components/ui/drawer/Drawer.vue +19 -0
  178. package/src/components/ui/drawer/DrawerContent.vue +31 -0
  179. package/src/components/ui/drawer/DrawerDescription.vue +23 -0
  180. package/src/components/ui/drawer/DrawerFooter.vue +14 -0
  181. package/src/components/ui/drawer/DrawerHeader.vue +14 -0
  182. package/src/components/ui/drawer/DrawerOverlay.vue +21 -0
  183. package/src/components/ui/drawer/DrawerTitle.vue +23 -0
  184. package/src/components/ui/drawer/index.ts +8 -0
  185. package/src/components/ui/form/FormControl.vue +16 -0
  186. package/src/components/ui/form/FormDescription.vue +20 -0
  187. package/src/components/ui/form/FormItem.vue +19 -0
  188. package/src/components/ui/form/FormLabel.vue +20 -0
  189. package/src/components/ui/form/FormMessage.vue +16 -0
  190. package/src/components/ui/form/index.ts +7 -0
  191. package/src/components/ui/form/injectionKeys.ts +4 -0
  192. package/src/components/ui/form/useFormField.ts +30 -0
  193. package/src/components/ui/input/Input.vue +32 -0
  194. package/src/components/ui/input/index.ts +1 -0
  195. package/src/components/ui/label/Label.vue +24 -0
  196. package/src/components/ui/label/index.ts +1 -0
  197. package/src/components/ui/menubar/Menubar.vue +25 -0
  198. package/src/components/ui/menubar/MenubarCheckboxItem.vue +42 -0
  199. package/src/components/ui/menubar/MenubarContent.vue +35 -0
  200. package/src/components/ui/menubar/MenubarGroup.vue +11 -0
  201. package/src/components/ui/menubar/MenubarItem.vue +32 -0
  202. package/src/components/ui/menubar/MenubarLabel.vue +13 -0
  203. package/src/components/ui/menubar/MenubarMenu.vue +11 -0
  204. package/src/components/ui/menubar/MenubarRadioGroup.vue +20 -0
  205. package/src/components/ui/menubar/MenubarRadioItem.vue +42 -0
  206. package/src/components/ui/menubar/MenubarSeparator.vue +22 -0
  207. package/src/components/ui/menubar/MenubarShortcut.vue +14 -0
  208. package/src/components/ui/menubar/MenubarSub.vue +19 -0
  209. package/src/components/ui/menubar/MenubarSubContent.vue +39 -0
  210. package/src/components/ui/menubar/MenubarSubTrigger.vue +32 -0
  211. package/src/components/ui/menubar/MenubarTrigger.vue +29 -0
  212. package/src/components/ui/menubar/index.ts +15 -0
  213. package/src/components/ui/navigation-menu/NavigationMenu.vue +33 -0
  214. package/src/components/ui/navigation-menu/NavigationMenuContent.vue +36 -0
  215. package/src/components/ui/navigation-menu/NavigationMenuIndicator.vue +29 -0
  216. package/src/components/ui/navigation-menu/NavigationMenuItem.vue +11 -0
  217. package/src/components/ui/navigation-menu/NavigationMenuLink.vue +19 -0
  218. package/src/components/ui/navigation-menu/NavigationMenuList.vue +24 -0
  219. package/src/components/ui/navigation-menu/NavigationMenuTrigger.vue +30 -0
  220. package/src/components/ui/navigation-menu/NavigationMenuViewport.vue +29 -0
  221. package/src/components/ui/navigation-menu/index.ts +14 -0
  222. package/src/components/ui/popover/Popover.vue +15 -0
  223. package/src/components/ui/popover/PopoverContent.vue +45 -0
  224. package/src/components/ui/popover/PopoverTrigger.vue +11 -0
  225. package/src/components/ui/popover/index.ts +3 -0
  226. package/src/components/ui/radio-group/RadioGroup.vue +25 -0
  227. package/src/components/ui/radio-group/RadioGroupItem.vue +32 -0
  228. package/src/components/ui/radio-group/index.ts +2 -0
  229. package/src/components/ui/select/Select.vue +15 -0
  230. package/src/components/ui/select/SelectContent.vue +59 -0
  231. package/src/components/ui/select/SelectGroup.vue +22 -0
  232. package/src/components/ui/select/SelectItem.vue +38 -0
  233. package/src/components/ui/select/SelectItemText.vue +11 -0
  234. package/src/components/ui/select/SelectLabel.vue +13 -0
  235. package/src/components/ui/select/SelectScrollDownButton.vue +27 -0
  236. package/src/components/ui/select/SelectScrollUpButton.vue +27 -0
  237. package/src/components/ui/select/SelectSeparator.vue +20 -0
  238. package/src/components/ui/select/SelectTrigger.vue +33 -0
  239. package/src/components/ui/select/SelectValue.vue +11 -0
  240. package/src/components/ui/select/index.ts +11 -0
  241. package/src/components/ui/separator/Separator.vue +33 -0
  242. package/src/components/ui/separator/index.ts +1 -0
  243. package/src/components/ui/switch/Switch.vue +39 -0
  244. package/src/components/ui/switch/index.ts +1 -0
  245. package/src/components/ui/tabs/Tabs.vue +15 -0
  246. package/src/components/ui/tabs/TabsContent.vue +27 -0
  247. package/src/components/ui/tabs/TabsList.vue +22 -0
  248. package/src/components/ui/tabs/TabsTrigger.vue +31 -0
  249. package/src/components/ui/tabs/index.ts +4 -0
  250. package/src/components/ui/textarea/Textarea.vue +32 -0
  251. package/src/components/ui/textarea/index.ts +1 -0
  252. package/src/lib/utils.ts +6 -0
  253. package/src/schemas/blocks/categoryGroup.ts +17 -0
  254. package/src/schemas/blocks/categoryList.ts +18 -0
  255. package/src/schemas/blocks/categorySingle.ts +12 -0
  256. package/src/schemas/blocks/contact.ts +13 -0
  257. package/src/schemas/blocks/content.ts +13 -0
  258. package/src/schemas/blocks/cta.ts +11 -0
  259. package/src/schemas/blocks/faqs.ts +17 -0
  260. package/src/schemas/blocks/features.ts +16 -0
  261. package/src/schemas/blocks/footer.ts +16 -0
  262. package/src/schemas/{header.ts → blocks/header.ts} +5 -8
  263. package/src/schemas/blocks/hero.ts +15 -0
  264. package/src/schemas/blocks/intro.ts +9 -0
  265. package/src/schemas/blocks/postSingle.ts +12 -0
  266. package/src/schemas/blocks/productGroup.ts +17 -0
  267. package/src/schemas/blocks/productList.ts +18 -0
  268. package/src/schemas/blocks/productSingle.ts +15 -0
  269. package/src/schemas/blocks/reviews.ts +16 -0
  270. package/src/schemas/fields/badge.ts +9 -0
  271. package/src/schemas/fields/block.ts +60 -0
  272. package/src/schemas/fields/button.ts +12 -0
  273. package/src/schemas/fields/card.ts +28 -0
  274. package/src/schemas/fields/channel.ts +10 -0
  275. package/src/schemas/fields/form.ts +20 -0
  276. package/src/schemas/fields/image.ts +8 -0
  277. package/src/schemas/fields/link.ts +9 -0
  278. package/src/schemas/fields/logo.ts +10 -0
  279. package/src/schemas/fields/menu.ts +10 -0
  280. package/src/schemas/fields/meta.ts +14 -0
  281. package/src/schemas/fields/proof.ts +11 -0
  282. package/src/schemas/fields/section.ts +48 -0
  283. package/tailwind.config.js +111 -0
  284. package/tsconfig.json +5 -7
  285. package/.env.example +0 -3
  286. package/.vscode/settings.json +0 -25
  287. package/CONTRIBUTING.md +0 -124
  288. package/cloudcannon.config.yml +0 -207
  289. package/public/favicon/android-chrome-192x192.png +0 -0
  290. package/public/favicon/android-chrome-512x512.png +0 -0
  291. package/public/favicon/apple-touch-icon.png +0 -0
  292. package/public/favicon/browserconfig.xml +0 -9
  293. package/public/favicon/favicon-16x16.png +0 -0
  294. package/public/favicon/favicon-32x32.png +0 -0
  295. package/public/favicon/favicon-48x48.png +0 -0
  296. package/public/favicon/favicon.ico +0 -0
  297. package/public/favicon/favicon.svg +0 -16
  298. package/public/favicon/manifest.webmanifest +0 -30
  299. package/public/favicon/mstile-150x150.png +0 -0
  300. package/public/favicon/safari-pinned-tab.svg +0 -16
  301. package/public/favicon/yandex-browser-50x50.png +0 -0
  302. package/public/favicon/yandex-browser-manifest.json +0 -9
  303. package/siteicon.png +0 -0
  304. package/src/blocks/Banner.astro +0 -31
  305. package/src/blocks/Colleagues1.astro +0 -74
  306. package/src/blocks/Compare1.astro +0 -64
  307. package/src/blocks/Content2.astro +0 -47
  308. package/src/blocks/Content3.astro +0 -47
  309. package/src/blocks/Content4.astro +0 -52
  310. package/src/blocks/Content5.astro +0 -43
  311. package/src/blocks/Content6.astro +0 -57
  312. package/src/blocks/Content7.astro +0 -65
  313. package/src/blocks/Content8.astro +0 -48
  314. package/src/blocks/Cta2.astro +0 -52
  315. package/src/blocks/Features2.astro +0 -71
  316. package/src/blocks/JobCategories1.astro +0 -61
  317. package/src/blocks/JobCategory1.astro +0 -92
  318. package/src/blocks/Jobs1.astro +0 -74
  319. package/src/blocks/Logos1.astro +0 -55
  320. package/src/blocks/Pages1.astro +0 -85
  321. package/src/blocks/Pricings1.astro +0 -61
  322. package/src/blocks/Products1.astro +0 -87
  323. package/src/blocks/Projects1.astro +0 -79
  324. package/src/blocks/Subheader.astro +0 -53
  325. package/src/components/Avatars.astro +0 -20
  326. package/src/components/Badges.astro +0 -20
  327. package/src/components/Block.astro +0 -46
  328. package/src/components/Cart.astro +0 -42
  329. package/src/components/CartAdd.svelte +0 -76
  330. package/src/components/CartCheckout.svelte +0 -58
  331. package/src/components/CartForm.svelte +0 -130
  332. package/src/components/CartList.svelte +0 -88
  333. package/src/components/CartQuantity.svelte +0 -81
  334. package/src/components/CartSummary.astro +0 -59
  335. package/src/components/CartTotal.svelte +0 -15
  336. package/src/components/Channel.astro +0 -89
  337. package/src/components/Channels.astro +0 -20
  338. package/src/components/Checkbox.astro +0 -76
  339. package/src/components/Element.astro +0 -70
  340. package/src/components/Field.astro +0 -33
  341. package/src/components/Fields.astro +0 -20
  342. package/src/components/Form.astro +0 -34
  343. package/src/components/Gallery.astro +0 -175
  344. package/src/components/Head.astro +0 -94
  345. package/src/components/Heading.astro +0 -91
  346. package/src/components/Input.astro +0 -115
  347. package/src/components/Label.astro +0 -42
  348. package/src/components/Links.astro +0 -20
  349. package/src/components/Paragraph.astro +0 -54
  350. package/src/components/Search.astro +0 -118
  351. package/src/components/Select.astro +0 -114
  352. package/src/components/Switch.astro +0 -81
  353. package/src/components/Tagline.astro +0 -49
  354. package/src/components/Textarea.astro +0 -78
  355. package/src/components/Toggle.astro +0 -45
  356. package/src/components/_Breadcrumb.astro +0 -58
  357. package/src/components/_Image.astro +0 -79
  358. package/src/components/_LocaleSwitcher.astro +0 -25
  359. package/src/content/config.ts +0 -18
  360. package/src/content/layouts/base.yml +0 -166
  361. package/src/content/pages/_base/toggle.mdx +0 -28
  362. package/src/content/pages/_posts/post.md +0 -7
  363. package/src/content/pages/_showcase/anti-slip-profiles.md +0 -5
  364. package/src/content/pages/_showcase/fulldev-ui.md +0 -5
  365. package/src/content/pages/_showcase/lavis-detailing.md +0 -5
  366. package/src/content/pages/_showcase/leren-trainingsacteren.md +0 -5
  367. package/src/content/pages/_showcase/miele-witgoedcenter-amsterdam.md +0 -5
  368. package/src/content/pages/_showcase/sloepverhuur-bolsward.md +0 -5
  369. package/src/content/pages/_showcase/stark-vulcanising-products.md +0 -4
  370. package/src/content/pages/_showcase/the-gym-haren.md +0 -5
  371. package/src/content/pages/_showcase/van-dillen-antieke-bouwmaterialen.md +0 -5
  372. package/src/content/pages/docs/blocks/_categories.mdx +0 -129
  373. package/src/content/pages/docs/blocks/_contact.mdx +0 -67
  374. package/src/content/pages/docs/blocks/_jobs.mdx +0 -34
  375. package/src/content/pages/docs/blocks/_posts.mdx +0 -45
  376. package/src/content/pages/docs/blocks/_stats.mdx +0 -32
  377. package/src/content/pages/docs/blocks/banner.mdx +0 -12
  378. package/src/content/pages/docs/blocks/colleagues.mdx +0 -49
  379. package/src/content/pages/docs/blocks/content.mdx +0 -316
  380. package/src/content/pages/docs/blocks/cta.mdx +0 -16
  381. package/src/content/pages/docs/blocks/features.mdx +0 -100
  382. package/src/content/pages/docs/blocks/footer.mdx +0 -46
  383. package/src/content/pages/docs/blocks/header.mdx +0 -60
  384. package/src/content/pages/docs/blocks/hero.mdx +0 -18
  385. package/src/content/pages/docs/blocks/intro.mdx +0 -16
  386. package/src/content/pages/docs/blocks/logos.mdx +0 -37
  387. package/src/content/pages/docs/blocks/projects.mdx +0 -36
  388. package/src/content/pages/docs/blocks/reviews.mdx +0 -65
  389. package/src/content/pages/docs/blocks.mdx +0 -52
  390. package/src/content/pages/docs/collections/images.mdx +0 -102
  391. package/src/content/pages/docs/collections/pages.mdx +0 -119
  392. package/src/content/pages/docs/collections/presets.mdx +0 -60
  393. package/src/content/pages/docs/components/_localeswitcher.mdx +0 -16
  394. package/src/content/pages/docs/components/_table.mdx +0 -101
  395. package/src/content/pages/docs/components/_tagline.mdx +0 -34
  396. package/src/content/pages/docs/components/_themer.mdx +0 -47
  397. package/src/content/pages/docs/components/_toggle.mdx +0 -30
  398. package/src/content/pages/docs/components/avatar.mdx +0 -32
  399. package/src/content/pages/docs/components/badge.mdx +0 -42
  400. package/src/content/pages/docs/components/badges.mdx +0 -33
  401. package/src/content/pages/docs/components/button.mdx +0 -76
  402. package/src/content/pages/docs/components/buttons.mdx +0 -50
  403. package/src/content/pages/docs/components/channel.mdx +0 -89
  404. package/src/content/pages/docs/components/channels.mdx +0 -90
  405. package/src/content/pages/docs/components/checkbox.mdx +0 -32
  406. package/src/content/pages/docs/components/heading.mdx +0 -49
  407. package/src/content/pages/docs/components/icon.mdx +0 -46
  408. package/src/content/pages/docs/components/image.mdx +0 -20
  409. package/src/content/pages/docs/components/input.mdx +0 -38
  410. package/src/content/pages/docs/components/label.mdx +0 -42
  411. package/src/content/pages/docs/components/link.mdx +0 -63
  412. package/src/content/pages/docs/components/links.mdx +0 -57
  413. package/src/content/pages/docs/components/list.mdx +0 -53
  414. package/src/content/pages/docs/components/logo.mdx +0 -24
  415. package/src/content/pages/docs/components/menu.mdx +0 -48
  416. package/src/content/pages/docs/components/paragraph.mdx +0 -44
  417. package/src/content/pages/docs/components/rating.mdx +0 -43
  418. package/src/content/pages/docs/components/select.mdx +0 -46
  419. package/src/content/pages/docs/components/social.mdx +0 -92
  420. package/src/content/pages/docs/components/socials.mdx +0 -103
  421. package/src/content/pages/docs/components/switch.mdx +0 -32
  422. package/src/content/pages/docs/components/tagline.mdx +0 -42
  423. package/src/content/pages/docs/components/textarea.mdx +0 -32
  424. package/src/content/pages/docs/components.mdx +0 -36
  425. package/src/content/pages/docs/customization.mdx +0 -183
  426. package/src/content/pages/docs/frameworks.mdx +0 -30
  427. package/src/content/pages/docs/index.mdx +0 -21
  428. package/src/content/pages/docs/installation.mdx +0 -30
  429. package/src/content/pages/docs/layouts/doc.mdx +0 -15
  430. package/src/content/pages/docs/layouts/page.mdx +0 -15
  431. package/src/content/pages/docs/pages.mdx +0 -130
  432. package/src/content/pages/docs/structures/_card.mdx +0 -84
  433. package/src/content/pages/docs/structures/_dialog.mdx +0 -15
  434. package/src/content/pages/docs/structures/_drawer.mdx +0 -15
  435. package/src/content/pages/docs/structures/card.mdx +0 -15
  436. package/src/content/pages/docs/structures/carousel.mdx +0 -14
  437. package/src/content/pages/docs/structures/code.mdx +0 -42
  438. package/src/content/pages/docs/structures/container.mdx +0 -15
  439. package/src/content/pages/docs/structures/drawer.mdx +0 -15
  440. package/src/content/pages/docs/structures/group.mdx +0 -15
  441. package/src/content/pages/docs/structures/layout.mdx +0 -15
  442. package/src/content/pages/docs/structures/masonry.mdx +0 -15
  443. package/src/content/pages/docs/structures/matrix.mdx +0 -15
  444. package/src/content/pages/docs/structures/panel.mdx +0 -15
  445. package/src/content/pages/docs/structures/prose.mdx +0 -33
  446. package/src/content/pages/docs/structures/section.mdx +0 -15
  447. package/src/content/pages/docs/structures/stack.mdx +0 -15
  448. package/src/content/pages/docs/structures/writeup.mdx +0 -15
  449. package/src/content/pages/docs/structures.mdx +0 -7
  450. package/src/content/pages/index.mdx +0 -52
  451. package/src/content/pages/showcase.mdx +0 -30
  452. package/src/css/custom.css +0 -24
  453. package/src/css/theme.css +0 -62
  454. package/src/env.d.ts +0 -3
  455. package/src/integration/index.ts +0 -185
  456. package/src/layouts/Page.astro +0 -64
  457. package/src/layouts/_Product.astro +0 -115
  458. package/src/pages/[...page].astro +0 -49
  459. package/src/pages/test.astro +0 -16
  460. package/src/schemas/badge.ts +0 -14
  461. package/src/schemas/block.ts +0 -42
  462. package/src/schemas/button.ts +0 -17
  463. package/src/schemas/card.ts +0 -43
  464. package/src/schemas/channel.ts +0 -15
  465. package/src/schemas/checkbox.ts +0 -13
  466. package/src/schemas/footer.ts +0 -17
  467. package/src/schemas/head.ts +0 -17
  468. package/src/schemas/image.ts +0 -53
  469. package/src/schemas/input.ts +0 -13
  470. package/src/schemas/link.ts +0 -14
  471. package/src/schemas/logo.ts +0 -13
  472. package/src/schemas/menu.ts +0 -11
  473. package/src/schemas/page.ts +0 -23
  474. package/src/schemas/proof.ts +0 -12
  475. package/src/schemas/textarea.ts +0 -11
  476. package/src/stores/cart.svelte.ts +0 -78
  477. package/src/stores/cart.ts +0 -76
  478. package/src/structures/Card.astro +0 -35
  479. package/src/structures/Carousel.astro +0 -106
  480. package/src/structures/Container.astro +0 -25
  481. package/src/structures/Drawer.astro +0 -81
  482. package/src/structures/Group.astro +0 -25
  483. package/src/structures/Layout.astro +0 -34
  484. package/src/structures/Masonry.astro +0 -42
  485. package/src/structures/Matrix.astro +0 -39
  486. package/src/structures/Panel.astro +0 -25
  487. package/src/structures/Prose.astro +0 -96
  488. package/src/structures/Section.astro +0 -26
  489. package/src/structures/Sidebar.astro +0 -36
  490. package/src/structures/Split.astro +0 -38
  491. package/src/structures/Stack.astro +0 -25
  492. package/src/structures/Writeup.astro +0 -67
  493. package/src/structures/_Bento.astro +0 -34
  494. package/src/utils/cart.ts +0 -27
  495. package/src/utils/getHref.ts +0 -6
  496. package/src/utils/slugify.ts +0 -6
  497. package/svelte.config.js +0 -5
  498. package/tailwind.config.ts +0 -72
  499. package/virtual.d.ts +0 -5
  500. /package/src/schemas/{path.ts → fields/path.ts} +0 -0
@@ -1,15 +0,0 @@
1
- ---
2
- _block: Content7
3
- title: Masonry
4
- description: Places items like cards in a masonry layout
5
- ---
6
-
7
- import Props from 'fulldev-ui/components/docs/Props.astro'
8
-
9
- ## Props
10
-
11
- <Props />
12
-
13
- ## Examples
14
-
15
- Please reference the blocks for examples on how to use the wrapper components.
@@ -1,15 +0,0 @@
1
- ---
2
- _block: Content7
3
- title: Matrix
4
- description: Places items like cards in a grid
5
- ---
6
-
7
- import Props from 'fulldev-ui/components/docs/Props.astro'
8
-
9
- ## Props
10
-
11
- <Props />
12
-
13
- ## Examples
14
-
15
- Please reference the blocks for examples on how to use the wrapper components.
@@ -1,15 +0,0 @@
1
- ---
2
- _block: Content7
3
- title: Panel
4
- description: A box with a border, padding and rounded corners used for sections
5
- ---
6
-
7
- import Props from 'fulldev-ui/components/docs/Props.astro'
8
-
9
- ## Props
10
-
11
- <Props />
12
-
13
- ## Examples
14
-
15
- Please reference the blocks for examples on how to use the wrapper components.
@@ -1,33 +0,0 @@
1
- ---
2
- _block: Content7
3
- title: Prose
4
- description: Applies styling to child components
5
- ---
6
-
7
- import Props from 'fulldev-ui/components/docs/Props.astro'
8
-
9
- ```astro live
10
- ---
11
- import Prose from 'fulldev-ui/structures/Prose.astro'
12
- ---
13
-
14
- <Prose>
15
- <h1>Welcome to Our Blog</h1>
16
- <p>
17
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lacinia
18
- odio vitae vestibulum vestibulum.
19
- </p>
20
-
21
- <h2>Key Features</h2>
22
- <p>
23
- Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
24
- ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
25
- ex ea commodo consequat.
26
- </p>
27
- <ul>
28
- <li>Simple and elegant design</li>
29
- <li>Responsive layout</li>
30
- <li>Easy customization</li>
31
- </ul>
32
- </Prose>
33
- ```
@@ -1,15 +0,0 @@
1
- ---
2
- _block: Content7
3
- title: Section
4
- description: Sets vertical padding and some base styles
5
- ---
6
-
7
- import Props from 'fulldev-ui/components/docs/Props.astro'
8
-
9
- ## Props
10
-
11
- <Props />
12
-
13
- ## Examples
14
-
15
- Please reference the blocks for examples on how to use the wrapper components.
@@ -1,15 +0,0 @@
1
- ---
2
- _block: Content7
3
- title: Stack
4
- description: Places items like cards in a horizontal or vertical stack
5
- ---
6
-
7
- import Props from 'fulldev-ui/components/docs/Props.astro'
8
-
9
- ## Props
10
-
11
- <Props />
12
-
13
- ## Examples
14
-
15
- Please reference the blocks for examples on how to use the wrapper components.
@@ -1,15 +0,0 @@
1
- ---
2
- _block: Content7
3
- title: Writeup
4
- description: Applies styling to child components, similar to Prose
5
- ---
6
-
7
- import Props from 'fulldev-ui/components/docs/Props.astro'
8
-
9
- ## Props
10
-
11
- <Props />
12
-
13
- ## Examples
14
-
15
- Please reference the blocks for examples on how to use the wrapper components.
@@ -1,7 +0,0 @@
1
- ---
2
- _block: Content7
3
- title: Using Structures
4
- description: Build consistent blocks and layouts with structures.
5
- ---
6
-
7
- Please look into the the blocks and layouts in the Gtihub repo to see how they are used.
@@ -1,52 +0,0 @@
1
- ---
2
- _schema: page
3
- _block: Hero1
4
-
5
- title: Fulldev UI - Astro component and block library, open-source
6
- description: Make websites rapidly with pre-built components and blocks.
7
- heading: The Astro UI library for building content sites
8
- paragraph: Components and blocks to build content-driven websites.
9
- buttons:
10
- - text: Get Started
11
- href: /docs/
12
- - text: GitHub
13
- href: https://github.com/fulldotdev/ui
14
- icon: brand-github
15
- target: _blank
16
-
17
- sections:
18
- - _block: Content2
19
- tagline: Blocks
20
- heading: Use pre-built blocks with just props
21
- paragraph: We created a great gallery of blocks to build content sites with a modern look and feel, all of our blocks are build with components from the library to achieve a consistent look.
22
- image:
23
- src: /images/block-code.png
24
- buttons:
25
- - href: /docs/blocks/
26
- icon: layout
27
- text: View blocks
28
- variant: secondary
29
-
30
- - _block: Content2
31
- tagline: Components
32
- heading: Or build your own, with easy to use components
33
- paragraph: Our rich set of components make it easy to build your own blocks with great customizability through props and global theming.
34
- image:
35
- src: /images/component-code.png
36
- buttons:
37
- - text: View components
38
- href: /docs/components/
39
- icon: code
40
- variant: secondary
41
-
42
- - _block: Cta1
43
- heading: Build content websites in a fraction of time
44
- paragraph: A library of components and blocks to build content sites, fast.
45
- buttons:
46
- - text: Get Started
47
- href: /docs/
48
- - text: Github
49
- href: https://github.com/fulldotdev/ui
50
- icon: brand-github
51
- target: _blank
52
- ---
@@ -1,30 +0,0 @@
1
- ---
2
- title: Showcase
3
- ---
4
-
5
- import Card from 'fulldev-ui/structures/Card.astro'
6
- import { getCollection } from 'astro:content'
7
-
8
- export const projects = (
9
- await getCollection(
10
- 'pages',
11
- ({ slug }) => slug.startsWith('showcase') && slug !== 'showcase'
12
- )
13
- ).map((p) => p.data)
14
-
15
- # Showcase
16
-
17
- Projects that are built with Fulldev UI.
18
-
19
- <Card
20
- size="sm"
21
- style={{ marginTop: 'var(--space-6)', marginBottom: 'var(--space-7)' }}
22
- heading="Your project in this showcase?"
23
- text="Add your project to the showcase in 1 minute."
24
- panel
25
- button={{
26
- text: 'Add your project',
27
- href: 'https://github.com/fulldotdev/ui/blob/main/CONTRIBUTING.md#showcase',
28
- target: '_blank',
29
- }}
30
- />
@@ -1,24 +0,0 @@
1
- @import url(https://fonts.bunny.net/css?family=inter:100,200,300,400,500,600,700,800,900);
2
-
3
- * {
4
- font-family: 'Inter', sans-serif;
5
- }
6
-
7
- mark {
8
- background-color: var(--brand-12) !important;
9
- color: var(--brand-1) !important;
10
- }
11
-
12
- .rounded-full {
13
- border-radius: 999px !important;
14
- }
15
-
16
- .hero .heading,
17
- .hero .lead {
18
- max-width: 680px;
19
- text-wrap: balance;
20
- }
21
-
22
- .logo .image {
23
- border-radius: 2px;
24
- }
package/src/css/theme.css DELETED
@@ -1,62 +0,0 @@
1
- @layer base {
2
- :root {
3
- --background: 0 0% 100%;
4
- --foreground: 20 14.3% 4.1%;
5
- --card: 0 0% 100%;
6
- --card-foreground: 20 14.3% 4.1%;
7
- --popover: 0 0% 100%;
8
- --popover-foreground: 20 14.3% 4.1%;
9
- --primary: 20.5 90.2% 48.2%;
10
- --primary-foreground: 0 0% 100%;
11
- --secondary: 60 4.8% 95.9%;
12
- --secondary-foreground: 24 9.8% 10%;
13
- --muted: 60 4.8% 95.9%;
14
- --muted-foreground: 25 5.3% 44.7%;
15
- --accent: 60 4.8% 95.9%;
16
- --accent-foreground: 24 9.8% 10%;
17
- --destructive: 0 84.2% 60.2%;
18
- --destructive-foreground: 60 9.1% 97.8%;
19
- --border: 20 5.9% 90%;
20
- --input: 20 5.9% 90%;
21
- --ring: 20 14.3% 4.1%;
22
- --radius: 0.5rem;
23
- --chart-1: 12 76% 61%;
24
- --chart-2: 173 58% 39%;
25
- --chart-3: 197 37% 24%;
26
- --chart-4: 43 74% 66%;
27
- --chart-5: 27 87% 67%;
28
- }
29
-
30
- .dark {
31
- --background: 20 14.3% 4.1%;
32
- --foreground: 60 4.8% 95.9%;
33
- --card: 20 14.3% 4.1%;
34
- --card-foreground: 60 9.1% 97.8%;
35
- --popover: 20 14.3% 4.1%;
36
- --popover-foreground: 60 9.1% 97.8%;
37
- --primary: 20.5 90.2% 48.2%;
38
- --primary-foreground: 0 0% 100%;
39
- --secondary: 12 6.5% 15.1%;
40
- --secondary-foreground: 60 9.1% 97.8%;
41
- --muted: 12 6.5% 15.1%;
42
- --muted-foreground: 24 5.4% 63.9%;
43
- --accent: 12 6.5% 15.1%;
44
- --accent-foreground: 60 9.1% 97.8%;
45
- --destructive: 0 62.8% 30.6%;
46
- --destructive-foreground: 60 9.1% 97.8%;
47
- --border: 12 6.5% 15.1%;
48
- --input: 12 6.5% 15.1%;
49
- --ring: 24 5.7% 82.9%;
50
- --chart-1: 220 70% 50%;
51
- --chart-2: 160 60% 45%;
52
- --chart-3: 30 80% 55%;
53
- --chart-4: 280 65% 60%;
54
- --chart-5: 340 75% 55%;
55
-
56
- color-scheme: dark;
57
- }
58
- }
59
-
60
- .astro-code {
61
- @apply mt-4 rounded-md p-4 text-sm first:mt-0;
62
- }
package/src/env.d.ts DELETED
@@ -1,3 +0,0 @@
1
- /// <reference types="astro/client" />
2
- /// <reference path="../.astro/types.d.ts" />
3
- /// <reference types="simple-stack-form/types" />
@@ -1,185 +0,0 @@
1
- import mdx from '@astrojs/mdx'
2
- import sitemap from '@astrojs/sitemap'
3
- import type { AstroIntegration } from 'astro'
4
- import favicons from 'astro-favicons'
5
- import liveCode from 'astro-live-code'
6
- import robotsTxt from 'astro-robots-txt'
7
- import { envField } from 'astro/config'
8
- import fs from 'fs'
9
- import yaml from 'js-yaml'
10
- import path from 'path'
11
- import { assign } from 'radash'
12
- import tailwindcss from 'tailwindcss'
13
- import tailwindcssNesting from 'tailwindcss/nesting'
14
- import { loadEnv } from 'vite'
15
- import virtual from 'vite-plugin-virtual'
16
- import tailwindConfig from '../../tailwind.config.ts'
17
-
18
- interface Config {
19
- favicon?: string
20
- company?: string
21
- css?: string
22
- injectRoutes?: boolean
23
- cloudcannon?: boolean
24
- cart?: boolean
25
- overrides?: {
26
- [k: string]: string
27
- }
28
- }
29
-
30
- export default function fulldevIntegration(
31
- config: Partial<Config> | undefined
32
- ): AstroIntegration {
33
- return {
34
- name: '/integration',
35
- hooks: {
36
- 'astro:config:setup': async ({
37
- updateConfig,
38
- injectRoute,
39
- injectScript,
40
- }) => {
41
- // ----------------------
42
- // Update config
43
- // ----------------------
44
- updateConfig({
45
- site: loadEnv(process.env.NODE_ENV as any, process.cwd(), '').URL,
46
- experimental: {
47
- contentLayer: true,
48
- env: {
49
- schema: {
50
- URL: envField.string({
51
- context: 'client',
52
- access: 'public',
53
- optional: true,
54
- }),
55
- STRIPE_RESTRICTED_KEY: envField.string({
56
- context: 'client',
57
- access: 'public',
58
- optional: true,
59
- }),
60
- STRIPE_SECRET_KEY: envField.string({
61
- context: 'server',
62
- access: 'secret',
63
- optional: true,
64
- }),
65
- },
66
- validateSecrets: true,
67
- },
68
- },
69
- integrations: [
70
- mdx(),
71
- sitemap(),
72
- robotsTxt(),
73
- liveCode({
74
- layout: '/src/structures/Code.astro',
75
- }),
76
- ],
77
- vite: {
78
- resolve: {
79
- alias: {
80
- ...config?.overrides,
81
- },
82
- },
83
- plugins: [
84
- virtual({
85
- 'virtual:fulldev-ui/config': config ?? {},
86
- }),
87
- ],
88
- css: {
89
- postcss: {
90
- plugins: [tailwindcss(tailwindConfig), tailwindcssNesting],
91
- },
92
- },
93
- },
94
- })
95
-
96
- // ----------------------
97
- // Inject Favicon
98
- // ----------------------
99
- config?.favicon &&
100
- config?.company &&
101
- updateConfig({
102
- integrations: [
103
- favicons({
104
- path: 'favicon',
105
- masterPicture: config.favicon,
106
- appName: config.company,
107
- appShortName: config.company,
108
- appDescription: config.company,
109
- }),
110
- ],
111
- })
112
-
113
- // ----------------------
114
- // Inject routes
115
- // ----------------------
116
- if (config?.injectRoutes) {
117
- injectRoute({
118
- pattern: '/[...page]',
119
- entrypoint: 'fulldev-ui/pages/[...page].astro',
120
- })
121
- }
122
-
123
- // ----------------------
124
- // Inject css
125
- // ----------------------
126
- config?.css && injectScript('page-ssr', `import "${config?.css}";`)
127
-
128
- // ----------------------
129
- // merge Cloudcannon configs
130
- // ----------------------
131
-
132
- // ----------------------
133
- // Generate image YAML files
134
- // ----------------------
135
- // if (config.generateImageEntries) {
136
- // const srcDir = path.join(process.cwd(), 'src')
137
- // const filesDir = path.join(srcDir, 'images')
138
- // const entriesDir = path.join(srcDir, 'content', 'images')
139
-
140
- // try {
141
- // await fs.mkdir(filesDir, { recursive: true })
142
- // await fs.mkdir(entriesDir, { recursive: true })
143
-
144
- // const files = await fs.readdir(filesDir)
145
- // files.forEach(async (file) => {
146
- // const filename = path.parse(file).name
147
- // const yamlPath = path.join(entriesDir, `${filename}.yml`)
148
-
149
- // try {
150
- // await fs.access(yamlPath)
151
- // } catch {
152
- // const yamlContent = yaml.dump({
153
- // alt: '',
154
- // })
155
- // await fs.writeFile(yamlPath, yamlContent, 'utf8')
156
- // }
157
- // })
158
- // } catch (error) {
159
- // console.error('Error generating image YAML files:', error)
160
- // }
161
- // }
162
- },
163
- 'astro:build:done': async () => {
164
- if (config?.cloudcannon) {
165
- const __dirname = path.dirname(new URL(import.meta.url).pathname)
166
- const libDir = path.join(__dirname, '../../cloudcannon.config.yml')
167
- const userDir = path.join(process.cwd(), 'cloudcannon.config.yml')
168
-
169
- const libConfig = yaml.load(
170
- fs.readFileSync(path.resolve(libDir), 'utf8')
171
- )
172
-
173
- const userConfig = yaml.load(
174
- fs.readFileSync(path.resolve(userDir), 'utf8')
175
- )
176
-
177
- const mergedConfig = assign(libConfig || {}, userConfig || {})
178
- const yamlContent = yaml.dump(mergedConfig)
179
-
180
- await fs.promises.writeFile(userDir, yamlContent, 'utf8')
181
- }
182
- },
183
- },
184
- }
185
- }
@@ -1,64 +0,0 @@
1
- ---
2
- import type { ComponentProps } from 'astro/types'
3
- import type { CollectionEntry } from 'astro:content'
4
- import Block from 'fulldev-ui/components/Block.astro'
5
- import Element from 'fulldev-ui/components/Element.astro'
6
- import type { PageSchema } from 'fulldev-ui/schemas/page.ts'
7
- import Layout from 'fulldev-ui/structures/Layout.astro'
8
-
9
- type Props = ComponentProps<typeof Layout> &
10
- PageSchema & {
11
- render: CollectionEntry<'pages'>['render']
12
- }
13
-
14
- const {
15
- _block,
16
- title,
17
- heading,
18
- description,
19
- paragraph,
20
- banner,
21
- sidebar,
22
- header,
23
- sections,
24
- footer,
25
- render,
26
- navigation,
27
- ...rest
28
- } = Astro.props
29
-
30
- const { Content, headings } = await render()
31
- ---
32
-
33
- <Layout
34
- class:list="page"
35
- {...rest}
36
- >
37
- <Block
38
- _block="Banner"
39
- {...banner}
40
- />
41
- <Block
42
- _block="Header"
43
- {...rest}
44
- {...header}
45
- />
46
- <Element as="main">
47
- <Block
48
- _block={_block || 'Hero1'}
49
- depth={1}
50
- heading={heading || title}
51
- paragraph={paragraph || description}
52
- {headings}
53
- {...rest}
54
- >
55
- <Content />
56
- </Block>
57
- {sections?.map((section) => <Block {...section} />)}
58
- </Element>
59
- <Block
60
- _block="Footer"
61
- {...rest}
62
- {...footer}
63
- />
64
- </Layout>
@@ -1,115 +0,0 @@
1
- <!-- ---
2
- // @ts-nocheck
3
- import type { ComponentProps } from 'astro/types'
4
- import { getImage } from 'astro:assets'
5
- import type { CollectionEntry } from 'astro:content'
6
- import { getCollection,getEntry } from 'astro:content'
7
- import Products1 from 'fulldev-ui/blocks/Products1.astro'
8
- import CartForm from 'fulldev-ui/components/CartForm.svelte'
9
- import Element from 'fulldev-ui/components/Element.astro'
10
- import Gallery from 'fulldev-ui/components/Gallery.astro'
11
- import Heading from 'fulldev-ui/components/Heading.astro'
12
- import List from 'fulldev-ui/components/List.astro'
13
- import Paragraph from 'fulldev-ui/components/Paragraph.astro'
14
- import type { PageSchema } from 'fulldev-ui/schemas/page'
15
- import Layout from 'fulldev-ui/structures/Layout.astro'
16
- import Prose from 'fulldev-ui/structures/Prose.astro'
17
-
18
- interface Props extends ComponentProps<typeof Layout>, PageSchema {
19
- render: CollectionEntry<'pages'>['render']
20
- }
21
-
22
- const {
23
- render,
24
- title,
25
- price,
26
- images,
27
- description,
28
- soldout,
29
- categories,
30
- variants,
31
- } = Astro.props
32
-
33
- const slug = Astro.url.pathname.replace(/^\/|\/$/g, '') || 'index'
34
- const imageId = images?.[0]?.id
35
- const src = `/src/images/${imageId}`
36
- const allImages = import.meta.glob<{ default: ImageMetadata }>('/src/images/*')
37
- const foundImage = allImages[src]
38
- const gotImage =
39
- imageId && (await getImage({ src: foundImage ? foundImage() : src }))
40
-
41
- const relatedProducts = await getCollection('products', (product) =>
42
- product.data.categories?.some((category) =>
43
- categories?.map((c) => c.slug).includes(category.slug)
44
- )
45
- )
46
-
47
- const baseLayout = await getEntry('layouts', 'base')
48
- ---
49
-
50
- <Layout
51
- class:list="product"
52
- {...Astro.props}
53
- >
54
- <Element
55
- class:list="product"
56
- as="section"
57
- >
58
- <Element class:list="product-container">
59
- <Element class:list="product-main">
60
- <Gallery {images} />
61
- <Prose {render} />
62
- </Element>
63
- <Element class:list="product-segment">
64
- <Element class:list="product-content">
65
- <Heading
66
- as="h1"
67
- size="3xl"
68
- text={title}
69
- />
70
- <Paragraph text={description} />
71
- </Element>
72
- <CartForm
73
- product={Astro.props}
74
- client:load
75
- />
76
- <List
77
- size="sm"
78
- items={baseLayout.data.banner?.split('|')}
79
- />
80
- </Element>
81
- </Element>
82
- </Element>
83
- <Products1
84
- heading="Gerelateerde producten"
85
- products={[...relatedProducts].sort(() => Math.random() - 0.5).slice(0, 6)}
86
- />
87
- <slot />
88
- </Layout>
89
-
90
- <style is:global>
91
- .product {
92
- @apply relative w-full;
93
-
94
- .product-container {
95
- @apply flex h-full w-full flex-col items-start gap-32 lg:container lg:grid lg:grid-cols-2 lg:py-8;
96
- }
97
-
98
- .product-segment {
99
- @apply z-10 flex flex-col items-start gap-8 max-lg:container lg:sticky lg:top-0;
100
-
101
- --height: calc(
102
- var(--header-height, 0px) + var(--subheader-height, 0px) + 2rem
103
- );
104
- top: var(--height);
105
- }
106
-
107
- .product-content {
108
- @apply flex max-w-screen-md flex-col gap-6;
109
- }
110
-
111
- &.dark {
112
- @apply bg-background;
113
- }
114
- }
115
- </style> -->