fulldev-ui 0.6.0-beta.0 → 0.6.0-beta.10

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 (385) hide show
  1. package/.vscode/settings.json +2 -0
  2. package/astro.config.ts +4 -4
  3. package/cloudcannon.config.yml +233 -0
  4. package/package.json +13 -7
  5. package/pnpm-lock.yaml +370 -35
  6. package/src/blocks/Banner.astro +13 -15
  7. package/src/blocks/Colleagues1.astro +73 -0
  8. package/src/blocks/Contact1.astro +95 -0
  9. package/src/blocks/Content1.astro +56 -0
  10. package/src/blocks/Content2.astro +63 -0
  11. package/src/blocks/Content3.astro +66 -0
  12. package/src/blocks/Content4.astro +61 -0
  13. package/src/blocks/Content5.astro +58 -0
  14. package/src/blocks/Content6.astro +66 -0
  15. package/src/blocks/Content7.astro +75 -0
  16. package/src/blocks/Content8.astro +67 -0
  17. package/src/blocks/Cta1.astro +73 -0
  18. package/src/blocks/Features1.astro +70 -0
  19. package/src/blocks/Features2.astro +70 -0
  20. package/src/blocks/Footer.astro +42 -66
  21. package/src/blocks/Header.astro +153 -3
  22. package/src/blocks/Hero1.astro +77 -0
  23. package/src/blocks/Industries1.astro +86 -0
  24. package/src/blocks/Intro1.astro +68 -0
  25. package/src/blocks/Jobs1.astro +77 -0
  26. package/src/blocks/Logos1.astro +55 -0
  27. package/src/blocks/Products1.astro +90 -0
  28. package/src/blocks/Projects1.astro +80 -0
  29. package/src/blocks/Reviews1.astro +81 -0
  30. package/src/{components → blocks}/Subheader.astro +1 -2
  31. package/src/blocks/{Hero.astro → _Hero.astro} +7 -6
  32. package/src/components/Badge.astro +7 -27
  33. package/src/components/Badges.astro +13 -36
  34. package/src/components/Block.astro +38 -0
  35. package/src/components/Blocks.astro +26 -0
  36. package/src/components/Button.astro +10 -33
  37. package/src/components/Buttons.astro +12 -43
  38. package/src/components/Cart.astro +20 -16
  39. package/src/components/CartAdd.svelte +76 -0
  40. package/src/components/CartCheckout.svelte +58 -0
  41. package/src/components/CartForm.svelte +130 -0
  42. package/src/components/CartList.svelte +88 -0
  43. package/src/components/CartQuantity.svelte +81 -0
  44. package/src/components/CartSummary.astro +12 -97
  45. package/src/components/CartTotal.svelte +15 -0
  46. package/src/components/Channel.astro +10 -13
  47. package/src/components/Channels.astro +11 -42
  48. package/src/components/Checkbox.astro +8 -14
  49. package/src/components/Element.astro +5 -1
  50. package/src/components/Form.astro +4 -3
  51. package/src/components/Gallery.astro +9 -6
  52. package/src/components/Head.astro +29 -33
  53. package/src/components/Heading.astro +48 -80
  54. package/src/components/Icon.astro +4 -4
  55. package/src/components/Image.astro +18 -49
  56. package/src/components/Input.astro +21 -16
  57. package/src/components/Label.astro +6 -6
  58. package/src/components/Link.astro +18 -27
  59. package/src/components/Links.astro +13 -35
  60. package/src/components/List.astro +3 -5
  61. package/src/components/Logo.astro +18 -14
  62. package/src/components/Menu.astro +22 -35
  63. package/src/components/Menus.astro +20 -0
  64. package/src/components/Paragraph.astro +26 -10
  65. package/src/components/Price.astro +5 -8
  66. package/src/components/Rating.astro +25 -74
  67. package/src/components/Search.astro +102 -43
  68. package/src/components/Select.astro +3 -3
  69. package/src/components/Sidebar.astro +20 -71
  70. package/src/components/Social.astro +11 -2
  71. package/src/components/Socials.astro +18 -34
  72. package/src/components/Switch.astro +4 -69
  73. package/src/components/Table.astro +2 -3
  74. package/src/components/Tagline.astro +22 -33
  75. package/src/components/Textarea.astro +5 -5
  76. package/src/components/Themer.astro +3 -3
  77. package/src/components/Toc.astro +22 -25
  78. package/src/components/Toggle.astro +45 -0
  79. package/src/components/{Breadcrumb.astro → _Breadcrumb.astro} +3 -3
  80. package/src/components/_Image.astro +79 -0
  81. package/src/components/docs/Props.astro +21 -0
  82. package/src/content/config.ts +3 -10
  83. package/src/content/layouts/base.yml +159 -0
  84. package/src/content/pages/_showcase/anti-slip-profiles.md +5 -0
  85. package/src/content/pages/{showcase → _showcase}/fulldev-ui.md +1 -1
  86. package/src/content/pages/{showcase → _showcase}/lavis-detailing.md +1 -1
  87. package/src/content/pages/{showcase → _showcase}/leren-trainingsacteren.md +1 -1
  88. package/src/content/pages/{showcase → _showcase}/miele-witgoedcenter-amsterdam.md +1 -1
  89. package/src/content/pages/{showcase → _showcase}/sloepverhuur-bolsward.md +1 -1
  90. package/src/content/pages/_showcase/stark-vulcanising-products.md +4 -0
  91. package/src/content/pages/{showcase → _showcase}/the-gym-haren.md +1 -1
  92. package/src/content/pages/{showcase → _showcase}/van-dillen-antieke-bouwmaterialen.md +1 -1
  93. package/src/content/pages/base/toggle.mdx +28 -0
  94. package/src/content/pages/{blocks → docs/blocks}/_categories.mdx +1 -19
  95. package/src/content/pages/{blocks/contact.mdx → docs/blocks/_contact.mdx} +0 -2
  96. package/src/content/pages/{blocks → docs/blocks}/_jobs.mdx +0 -2
  97. package/src/content/pages/{blocks/posts.mdx → docs/blocks/_posts.mdx} +0 -2
  98. package/src/content/pages/{blocks → docs/blocks}/_stats.mdx +0 -2
  99. package/src/content/pages/{blocks → docs/blocks}/banner.mdx +1 -2
  100. package/src/content/pages/docs/blocks/colleagues.mdx +49 -0
  101. package/src/content/pages/docs/blocks/content.mdx +290 -0
  102. package/src/content/pages/docs/blocks/cta.mdx +16 -0
  103. package/src/content/pages/docs/blocks/feature.mdx +17 -0
  104. package/src/content/pages/docs/blocks/features.mdx +35 -0
  105. package/src/content/pages/docs/blocks/footer.mdx +46 -0
  106. package/src/content/pages/docs/blocks/header.mdx +60 -0
  107. package/src/content/pages/docs/blocks/hero.mdx +18 -0
  108. package/src/content/pages/docs/blocks/intro.mdx +16 -0
  109. package/src/content/pages/docs/blocks/logos.mdx +37 -0
  110. package/src/content/pages/docs/blocks/projects.mdx +36 -0
  111. package/src/content/pages/docs/blocks/reviews.mdx +65 -0
  112. package/src/content/pages/docs/blocks.mdx +42 -21
  113. package/src/content/pages/docs/collections/images.mdx +4 -2
  114. package/src/content/pages/docs/collections/pages.mdx +3 -3
  115. package/src/content/pages/docs/collections/presets.mdx +1 -1
  116. package/src/content/pages/docs/components/_localeswitcher.mdx +1 -2
  117. package/src/content/pages/docs/components/{table.mdx → _table.mdx} +3 -6
  118. package/src/content/pages/docs/components/_tagline.mdx +1 -2
  119. package/src/content/pages/docs/components/{themer.mdx → _themer.mdx} +3 -6
  120. package/src/content/pages/docs/components/_toggle.mdx +3 -4
  121. package/src/content/pages/docs/components/badge.mdx +3 -6
  122. package/src/content/pages/docs/components/badges.mdx +4 -6
  123. package/src/content/pages/docs/components/button.mdx +3 -6
  124. package/src/content/pages/docs/components/buttons.mdx +4 -6
  125. package/src/content/pages/docs/components/channel.mdx +3 -6
  126. package/src/content/pages/docs/components/channels.mdx +4 -4
  127. package/src/content/pages/docs/components/checkbox.mdx +3 -6
  128. package/src/content/pages/docs/components/heading.mdx +12 -23
  129. package/src/content/pages/docs/components/icon.mdx +3 -6
  130. package/src/content/pages/docs/components/image.mdx +4 -11
  131. package/src/content/pages/docs/components/input.mdx +3 -6
  132. package/src/content/pages/docs/components/label.mdx +3 -6
  133. package/src/content/pages/docs/components/link.mdx +3 -6
  134. package/src/content/pages/docs/components/links.mdx +14 -57
  135. package/src/content/pages/docs/components/list.mdx +3 -6
  136. package/src/content/pages/docs/components/logo.mdx +10 -23
  137. package/src/content/pages/docs/components/menu.mdx +12 -54
  138. package/src/content/pages/docs/components/paragraph.mdx +10 -17
  139. package/src/content/pages/docs/components/rating.mdx +10 -44
  140. package/src/content/pages/docs/components/select.mdx +3 -6
  141. package/src/content/pages/docs/components/social.mdx +3 -6
  142. package/src/content/pages/docs/components/socials.mdx +4 -4
  143. package/src/content/pages/docs/components/switch.mdx +3 -6
  144. package/src/content/pages/docs/components/tagline.mdx +3 -8
  145. package/src/content/pages/docs/components/textarea.mdx +3 -6
  146. package/src/content/pages/docs/components.mdx +4 -8
  147. package/src/content/pages/docs/customization.mdx +53 -21
  148. package/src/content/pages/docs/frameworks.mdx +13 -12
  149. package/src/content/pages/docs/index.mdx +5 -7
  150. package/src/content/pages/docs/installation.mdx +10 -7
  151. package/src/content/pages/docs/layouts/doc.mdx +15 -0
  152. package/src/content/pages/docs/layouts/page.mdx +15 -0
  153. package/src/content/pages/docs/{generating-pages.mdx → pages.mdx} +2 -1
  154. package/src/content/pages/docs/{components → structures}/_card.mdx +7 -8
  155. package/src/content/pages/docs/{components → structures}/_dialog.mdx +1 -2
  156. package/src/content/pages/docs/{components → structures}/_drawer.mdx +2 -3
  157. package/src/content/pages/docs/structures/card.mdx +15 -0
  158. package/src/content/pages/docs/{components → structures}/code.mdx +5 -9
  159. package/src/content/pages/docs/structures/container.mdx +15 -0
  160. package/src/content/pages/docs/structures/drawer.mdx +15 -0
  161. package/src/content/pages/docs/structures/group.mdx +15 -0
  162. package/src/content/pages/docs/structures/layout.mdx +15 -0
  163. package/src/content/pages/docs/structures/masonry.mdx +15 -0
  164. package/src/content/pages/docs/structures/matrix.mdx +15 -0
  165. package/src/content/pages/docs/structures/panel.mdx +15 -0
  166. package/src/content/pages/docs/{components → structures}/prose.mdx +4 -8
  167. package/src/content/pages/docs/structures/section.mdx +15 -0
  168. package/src/content/pages/docs/structures/stack.mdx +15 -0
  169. package/src/content/pages/docs/structures/writeup.mdx +15 -0
  170. package/src/content/pages/docs/structures.mdx +7 -0
  171. package/src/content/pages/index.mdx +22 -29
  172. package/src/content/pages/posts/post.md +7 -0
  173. package/src/content/pages/showcase.mdx +1 -5
  174. package/src/css/theme.css +11 -42
  175. package/src/env.d.ts +1 -0
  176. package/src/integration/index.ts +51 -10
  177. package/src/layouts/Block.astro +81 -0
  178. package/src/layouts/{CategoryLayout.astro → Category.astro} +27 -26
  179. package/src/layouts/Doc.astro +96 -0
  180. package/src/layouts/Job.astro +60 -0
  181. package/src/layouts/Jobs.astro +72 -0
  182. package/src/layouts/Page.astro +84 -0
  183. package/src/layouts/Post.astro +53 -0
  184. package/src/layouts/{ProductLayout.astro → Product.astro} +42 -32
  185. package/src/pages/[...page].astro +33 -20
  186. package/src/schemas/badge.ts +14 -0
  187. package/src/schemas/block.ts +59 -0
  188. package/src/schemas/button.ts +15 -0
  189. package/src/schemas/channel.ts +14 -0
  190. package/src/schemas/checkbox.ts +13 -0
  191. package/src/schemas/footer.ts +17 -0
  192. package/src/schemas/head.ts +17 -0
  193. package/src/schemas/header.ts +21 -0
  194. package/src/schemas/image.ts +53 -0
  195. package/src/schemas/input.ts +13 -0
  196. package/src/schemas/link.ts +14 -0
  197. package/src/schemas/logo.ts +13 -0
  198. package/src/schemas/menu.ts +11 -0
  199. package/src/schemas/page.ts +39 -0
  200. package/src/schemas/{utils/pathSchema.ts → path.ts} +1 -1
  201. package/src/schemas/textarea.ts +11 -0
  202. package/src/stores/cart.svelte.ts +78 -0
  203. package/src/stores/cart.ts +59 -6
  204. package/src/structures/Card.astro +35 -0
  205. package/src/{components → structures}/Code.astro +7 -6
  206. package/src/structures/Container.astro +25 -0
  207. package/src/structures/Drawer.astro +81 -0
  208. package/src/structures/Group.astro +25 -0
  209. package/src/structures/Layout.astro +34 -0
  210. package/src/structures/Masonry.astro +42 -0
  211. package/src/structures/Matrix.astro +39 -0
  212. package/src/structures/Panel.astro +25 -0
  213. package/src/structures/Prose.astro +97 -0
  214. package/src/structures/Section.astro +26 -0
  215. package/src/structures/Sidebar.astro +36 -0
  216. package/src/structures/Split.astro +25 -0
  217. package/src/structures/Stack.astro +25 -0
  218. package/src/structures/Writeup.astro +67 -0
  219. package/src/structures/_Bento.astro +34 -0
  220. package/src/utils/cart.ts +1 -1
  221. package/src/utils/getHref.ts +6 -0
  222. package/svelte.config.js +5 -0
  223. package/tailwind.config.ts +9 -4
  224. package/tsconfig.json +4 -4
  225. package/{src/types/virtual-modules.d.ts → virtual.d.ts} +1 -1
  226. package/public/favicon/favicon-16x16-dark.png +0 -0
  227. package/public/favicon/favicon-32x32-dark.png +0 -0
  228. package/public/favicon/favicon-48x48-dark.png +0 -0
  229. package/public/favicon/favicon-dark.ico +0 -0
  230. package/src/blocks/Categories.astro +0 -12
  231. package/src/blocks/Colleagues.astro +0 -12
  232. package/src/blocks/Contact.astro +0 -117
  233. package/src/blocks/Content.astro +0 -130
  234. package/src/blocks/Cta.astro +0 -13
  235. package/src/blocks/Excerpt.astro +0 -12
  236. package/src/blocks/Features.astro +0 -11
  237. package/src/blocks/Intro.astro +0 -101
  238. package/src/blocks/Jobs.astro +0 -12
  239. package/src/blocks/Posts.astro +0 -11
  240. package/src/blocks/Prices.astro +0 -24
  241. package/src/blocks/Product.astro +0 -89
  242. package/src/blocks/Products.astro +0 -120
  243. package/src/blocks/Reviews.astro +0 -12
  244. package/src/blocks/_Contact.astro +0 -112
  245. package/src/components/Avatar.astro +0 -45
  246. package/src/components/Avatars.astro +0 -36
  247. package/src/components/Card.astro +0 -173
  248. package/src/components/Cards.astro +0 -133
  249. package/src/components/CartForm.astro +0 -121
  250. package/src/components/CartList.astro +0 -117
  251. package/src/components/Dialog.astro +0 -66
  252. package/src/components/Drawer.astro +0 -142
  253. package/src/components/Header.astro +0 -127
  254. package/src/components/Lead.astro +0 -46
  255. package/src/components/Prose.astro +0 -169
  256. package/src/components/Section.astro +0 -293
  257. package/src/components/Text.astro +0 -43
  258. package/src/components/Writeup.astro +0 -108
  259. package/src/components/docs/DecorativeBox.astro +0 -15
  260. package/src/components/docs/PropsTable.astro +0 -49
  261. package/src/components/experimental/Video.astro +0 -32
  262. package/src/components/experimental/Window.astro +0 -122
  263. package/src/components/sections.astro +0 -28
  264. package/src/content/pages/blocks/_footer.mdx +0 -77
  265. package/src/content/pages/blocks/_header.mdx +0 -185
  266. package/src/content/pages/blocks/_prices.mdx +0 -124
  267. package/src/content/pages/blocks/_product.mdx +0 -99
  268. package/src/content/pages/blocks/_products.mdx +0 -54
  269. package/src/content/pages/blocks/colleagues.mdx +0 -39
  270. package/src/content/pages/blocks/content.mdx +0 -79
  271. package/src/content/pages/blocks/cta.mdx +0 -161
  272. package/src/content/pages/blocks/features.mdx +0 -130
  273. package/src/content/pages/blocks/hero.mdx +0 -96
  274. package/src/content/pages/blocks/intro.mdx +0 -126
  275. package/src/content/pages/blocks/reviews.mdx +0 -253
  276. package/src/content/pages/docs/_internationalization.mdx +0 -55
  277. package/src/content/pages/docs/_using-blocks.mdx +0 -33
  278. package/src/content/pages/docs/_using-presets.mdx +0 -49
  279. package/src/content/pages/docs/collections.mdx +0 -42
  280. package/src/content/pages/docs/components/_switch.mdx +0 -32
  281. package/src/content/pages/docs/components/avatar.mdx +0 -35
  282. package/src/content/pages/docs/components/lead.mdx +0 -51
  283. package/src/content/pages/docs/components/section.mdx +0 -36
  284. package/src/content/pages/docs/layouts.mdx +0 -33
  285. package/src/content/pages/showcase/anti-slip-profiles.md +0 -5
  286. package/src/content/pages/showcase/stark-vulcanising-products.md +0 -5
  287. package/src/content/presets/base.yml +0 -100
  288. package/src/content/presets/docs.yml +0 -6
  289. package/src/css/color.css +0 -76
  290. package/src/css/size.css +0 -131
  291. package/src/layouts/Layout.astro +0 -108
  292. package/src/layouts/PageLayout.astro +0 -26
  293. package/src/layouts/PostLayout.astro +0 -26
  294. package/src/loaders/imageLoader.ts +0 -26
  295. package/src/pages/test.astro +0 -20
  296. package/src/schemas/components/avatar.ts +0 -3
  297. package/src/schemas/components/avatars.ts +0 -4
  298. package/src/schemas/components/badge.ts +0 -13
  299. package/src/schemas/components/button.ts +0 -24
  300. package/src/schemas/components/buttons.ts +0 -4
  301. package/src/schemas/components/card.ts +0 -43
  302. package/src/schemas/components/cards.ts +0 -4
  303. package/src/schemas/components/channel.ts +0 -13
  304. package/src/schemas/components/channels.ts +0 -4
  305. package/src/schemas/components/footer.ts +0 -17
  306. package/src/schemas/components/global.ts +0 -16
  307. package/src/schemas/components/header.ts +0 -19
  308. package/src/schemas/components/heading.ts +0 -3
  309. package/src/schemas/components/icon.ts +0 -3
  310. package/src/schemas/components/image.ts +0 -23
  311. package/src/schemas/components/images.ts +0 -4
  312. package/src/schemas/components/link.ts +0 -16
  313. package/src/schemas/components/links.ts +0 -4
  314. package/src/schemas/components/list.ts +0 -3
  315. package/src/schemas/components/logo.ts +0 -3
  316. package/src/schemas/components/menu.ts +0 -15
  317. package/src/schemas/components/price.ts +0 -3
  318. package/src/schemas/components/rating.ts +0 -15
  319. package/src/schemas/components/section.ts +0 -15
  320. package/src/schemas/components/sections.ts +0 -3
  321. package/src/schemas/components/sidebar.ts +0 -15
  322. package/src/schemas/components/social.ts +0 -3
  323. package/src/schemas/components/socials.ts +0 -4
  324. package/src/schemas/components/subheader.ts +0 -9
  325. package/src/schemas/components/tagline.ts +0 -3
  326. package/src/schemas/components/text.ts +0 -3
  327. package/src/schemas/components/themer.ts +0 -3
  328. package/src/schemas/components/toc.ts +0 -3
  329. package/src/schemas/components/writeup.ts +0 -20
  330. package/src/schemas/imageSchema.ts +0 -12
  331. package/src/schemas/pageSchema.ts +0 -94
  332. package/src/schemas/presetSchema.ts +0 -3
  333. package/src/schemas/utils/categories.ts +0 -3
  334. package/src/schemas/utils/component.ts +0 -17
  335. package/src/schemas/utils/navigation.ts +0 -8
  336. package/src/types/global-props.ts +0 -16
  337. package/src/utils/_archive/Childmorphic.ts +0 -8
  338. package/src/utils/_archive/getAllCollections.ts +0 -10
  339. package/src/utils/_archive/getCollectionCascade.ts +0 -33
  340. package/src/utils/_archive/getPathname.ts +0 -18
  341. package/src/utils/_archive/mergeEntries.ts +0 -28
  342. package/src/utils/_archive/staticPageSchema.ts +0 -124
  343. package/src/utils/_archive/transform/transform.ts +0 -25
  344. package/src/utils/_archive/transform/transformCasing.ts +0 -24
  345. package/src/utils/_archive/transform/transformReferences.ts +0 -54
  346. package/src/utils/_archive/transform/transformSelfs.ts +0 -20
  347. package/src/utils/_archive/transform/transformUnderscores.ts +0 -19
  348. package/src/utils/getDeepReferenceChildren.ts +0 -14
  349. package/src/utils/getFolderChildren.ts +0 -18
  350. package/src/utils/getReferenceChildren.ts +0 -14
  351. package/src/utils/getSiblingPages.ts +0 -14
  352. package/src/utils/setTheme.ts +0 -18
  353. /package/{src → public}/images/anti-slip-profiles.webp +0 -0
  354. /package/{src → public}/images/avatar-1.jpeg +0 -0
  355. /package/{src → public}/images/avatar-2.jpeg +0 -0
  356. /package/{src → public}/images/avatar-3.jpeg +0 -0
  357. /package/{src → public}/images/avatar-4.jpeg +0 -0
  358. /package/{src → public}/images/avatar-placeholder.jpg +0 -0
  359. /package/{src → public}/images/block-code.png +0 -0
  360. /package/{src → public}/images/component-code.png +0 -0
  361. /package/{src → public}/images/favicon.svg +0 -0
  362. /package/{src → public}/images/fulldev-ui.webp +0 -0
  363. /package/{src → public}/images/lavis-detailing.webp +0 -0
  364. /package/{src → public}/images/leren-trainingsacteren.webp +0 -0
  365. /package/{src → public}/images/logo-1.svg +0 -0
  366. /package/{src → public}/images/logo-2.svg +0 -0
  367. /package/{src → public}/images/logo-basic.svg +0 -0
  368. /package/{src → public}/images/logo-simple.svg +0 -0
  369. /package/{src → public}/images/logo-thin.svg +0 -0
  370. /package/{src → public}/images/logo.svg +0 -0
  371. /package/{src → public}/images/logofat.svg +0 -0
  372. /package/{src → public}/images/miele-witgoedcenter-amsterdam.webp +0 -0
  373. /package/{src → public}/images/og-image.png +0 -0
  374. /package/{src → public}/images/placeholder-center.webp +0 -0
  375. /package/{src → public}/images/placeholder-landscape-dark.png +0 -0
  376. /package/{src → public}/images/placeholder-landscape.webp +0 -0
  377. /package/{src → public}/images/placeholder-portrait.webp +0 -0
  378. /package/{src → public}/images/placeholder-right.webp +0 -0
  379. /package/{src → public}/images/placeholder.webp +0 -0
  380. /package/{src → public}/images/sloepverhuur-bolsward.webp +0 -0
  381. /package/{src → public}/images/stark-vulcanising-products.webp +0 -0
  382. /package/{src → public}/images/the-gym-haren.webp +0 -0
  383. /package/{src → public}/images/van-dillen-antieke-bouwmaterialen.webp +0 -0
  384. /package/src/components/{LocaleSwitcher.astro → _LocaleSwitcher.astro} +0 -0
  385. /package/src/{components → structures}/Carousel.astro +0 -0
@@ -1,64 +1,57 @@
1
1
  ---
2
- presets: [base]
3
-
4
- seo:
2
+ head:
5
3
  title: Fulldev UI - Astro component and block library, open-source
6
4
  description: Make websites rapidly with pre-built components and blocks.
7
- image: og-image.png
5
+ image:
6
+ src: /images/og-image.png
8
7
 
9
8
  title: Home
10
9
 
11
10
  sections:
12
- - component: Hero
11
+ - _block: Hero1
13
12
  badge:
14
- text: 'Introducing v0.5: page building & generation'
13
+ text: 'Introducing v0.6: full pagebuilding'
15
14
  href: /overview/installation/
16
15
  heading: Build complete websites with this Astro UI library
17
- # heading: The Astro UI library to build complete websites
18
- lead: 'Everything you need to rapidly build content-driven websites. Components, blocks, layouts and complete page generation.'
16
+ paragraph: 'Everything you need to rapidly build content-driven websites. Components, blocks, layouts and complete page generation.'
19
17
  buttons:
20
18
  - text: Get Started
21
19
  href: /docs/
22
20
  - text: GitHub
23
21
  href: https://github.com/fulldotdev/ui
24
22
  icon: brand-github
25
- image: block-code.png
23
+ target: _blank
26
24
 
27
- - component: Content
28
- color: brand
29
- label: Blocks
25
+ - _block: Feature1
26
+ tagline: Blocks
30
27
  heading: Use pre-built blocks with just props
31
28
  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.
32
- image: block-code.png
29
+ image:
30
+ src: /images/block-code.png
33
31
  buttons:
34
- - href: /blocks
32
+ - href: /blocks/
35
33
  icon: layout
36
34
  text: View blocks
37
35
 
38
- - component: Content
39
- color: brand
40
- label: Components
36
+ - _block: Feature1
37
+ tagline: Components
41
38
  heading: Or build your own, with easy to use components
42
39
  paragraph: Our rich set of components make it easy to build your own blocks with great customizability through props and global theming.
43
- image: component-code.png
44
- reverse: odd
40
+ image:
41
+ src: /images/component-code.png
45
42
  buttons:
46
- - href: /components/badge
43
+ - text: View components
44
+ href: /components/badge/
47
45
  icon: code
48
- text: View components
49
46
 
50
- - component: Cta
51
- size: lg
52
- variant: primary
47
+ - _block: Cta1
53
48
  heading: Build content websites in a fraction of time
54
- lead: A library of components and blocks to build content sites, fast.
49
+ paragraph: A library of components and blocks to build content sites, fast.
55
50
  buttons:
56
51
  - text: Get Started
57
- href: /overview/installation
58
- color: brand
52
+ href: /overview/installation/
59
53
  - text: Github
60
54
  href: https://github.com/fulldotdev/ui
61
- target: _blank
62
55
  icon: brand-github
63
- color: brand
56
+ target: _blank
64
57
  ---
@@ -0,0 +1,7 @@
1
+ ---
2
+ title: Post
3
+ description: Lorem ipsum dolor sit
4
+ ---
5
+
6
+
7
+
@@ -1,10 +1,8 @@
1
1
  ---
2
- presets: [docs]
3
2
  title: Showcase
4
3
  ---
5
4
 
6
- import Card from 'fulldev-ui/components/Card.astro'
7
- import Cards from 'fulldev-ui/components/Cards.astro'
5
+ import Card from 'fulldev-ui/structures/Card.astro'
8
6
  import { getCollection } from 'astro:content'
9
7
 
10
8
  export const projects = (
@@ -30,5 +28,3 @@ Projects that are built with Fulldev UI.
30
28
  target: '_blank',
31
29
  }}
32
30
  />
33
-
34
- <Cards structure="masonry" position="inset" panel cards={projects} />
package/src/css/theme.css CHANGED
@@ -1,40 +1,3 @@
1
- /* :root {
2
- --radius: 0.5rem;
3
-
4
- --background: 33.3 30% 97.5%;
5
- --foreground: 33.3 10% 10.5%;
6
-
7
- --primary: 20 100% 50%;
8
- --primary-foreground: 0 0% 100%;
9
- --primary-hover: var(--primary) / 85%;
10
-
11
- --secondary: 20 10% 92%;
12
- --secondary-hover: var(--secondary) / 75%;
13
- --secondary-foreground: var(--foreground);
14
-
15
- --accent: var(--secondary-hover);
16
- --accent-foreground: var(--secondary-foreground);
17
-
18
- --muted: var(--accent);
19
- --muted-foreground: var(--foreground) / 75%;
20
-
21
- --card: var(--secondary) / 40%;
22
- --card-foreground: var(--foreground);
23
-
24
- --border: var(--foreground) / 8%;
25
- --input: var(--foreground) / 26%;
26
- --ring: var(--foreground);
27
- }
28
-
29
- .dark {
30
- --foreground: 0 0% 100%;
31
- --background: 20 40% 3%;
32
- --primary: 20 30% 97%;
33
- --primary-foreground: 20 100% 0%;
34
- --secondary: 20 10% 10%;
35
- --secondary-foreground: 20 30% 97%;
36
- } */
37
-
38
1
  @layer base {
39
2
  :root {
40
3
  --background: 0 0% 100%;
@@ -43,8 +6,8 @@
43
6
  --card-foreground: 20 14.3% 4.1%;
44
7
  --popover: 0 0% 100%;
45
8
  --popover-foreground: 20 14.3% 4.1%;
46
- --primary: 24 9.8% 10%;
47
- --primary-foreground: 60 9.1% 97.8%;
9
+ --primary: 20.5 90.2% 48.2%;
10
+ --primary-foreground: 0 0% 100%;
48
11
  --secondary: 60 4.8% 95.9%;
49
12
  --secondary-foreground: 24 9.8% 10%;
50
13
  --muted: 60 4.8% 95.9%;
@@ -66,13 +29,13 @@
66
29
 
67
30
  .dark {
68
31
  --background: 20 14.3% 4.1%;
69
- --foreground: 60 9.1% 97.8%;
32
+ --foreground: 60 4.8% 95.9%;
70
33
  --card: 20 14.3% 4.1%;
71
34
  --card-foreground: 60 9.1% 97.8%;
72
35
  --popover: 20 14.3% 4.1%;
73
36
  --popover-foreground: 60 9.1% 97.8%;
74
- --primary: 60 9.1% 97.8%;
75
- --primary-foreground: 24 9.8% 10%;
37
+ --primary: 20.5 90.2% 48.2%;
38
+ --primary-foreground: 0 0% 100%;
76
39
  --secondary: 12 6.5% 15.1%;
77
40
  --secondary-foreground: 60 9.1% 97.8%;
78
41
  --muted: 12 6.5% 15.1%;
@@ -89,5 +52,11 @@
89
52
  --chart-3: 30 80% 55%;
90
53
  --chart-4: 280 65% 60%;
91
54
  --chart-5: 340 75% 55%;
55
+
56
+ color-scheme: dark;
92
57
  }
93
58
  }
59
+
60
+ .astro-code {
61
+ @apply mt-4 rounded-md p-4 text-sm first:mt-0;
62
+ }
package/src/env.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  /// <reference types="astro/client" />
2
2
  /// <reference path="../.astro/types.d.ts" />
3
+ /// <reference types="simple-stack-form/types" />
@@ -5,22 +5,30 @@ import favicons from 'astro-favicons'
5
5
  import liveCode from 'astro-live-code'
6
6
  import robotsTxt from 'astro-robots-txt'
7
7
  import { envField } from 'astro/config'
8
- import type { CollectionEntry } from 'astro:content'
8
+ import fs from 'fs'
9
+ import yaml from 'js-yaml'
10
+ import path from 'path'
11
+ import { assign } from 'radash'
9
12
  import tailwindcss from 'tailwindcss'
10
13
  import tailwindcssNesting from 'tailwindcss/nesting'
11
14
  import { loadEnv } from 'vite'
15
+ import virtual from 'vite-plugin-virtual'
12
16
  import tailwindConfig from '../../tailwind.config.ts'
13
17
 
14
18
  interface Config {
15
19
  favicon?: string
16
20
  company?: string
17
21
  css?: string
18
- basePreset?: CollectionEntry<'presets'>['id']
19
22
  injectRoutes?: boolean
23
+ cloudcannon?: boolean
24
+ cart?: boolean
25
+ overrides?: {
26
+ [k: string]: string
27
+ }
20
28
  }
21
29
 
22
30
  export default function fulldevIntegration(
23
- config?: Partial<Config> | undefined
31
+ config: Partial<Config> | undefined
24
32
  ): AstroIntegration {
25
33
  return {
26
34
  name: '/integration',
@@ -62,10 +70,20 @@ export default function fulldevIntegration(
62
70
  sitemap(),
63
71
  robotsTxt(),
64
72
  liveCode({
65
- layout: '/src/components/Code.astro',
73
+ layout: '/src/structures/Code.astro',
66
74
  }),
67
75
  ],
68
76
  vite: {
77
+ resolve: {
78
+ alias: {
79
+ ...config?.overrides,
80
+ },
81
+ },
82
+ plugins: [
83
+ virtual({
84
+ 'virtual:fulldev-ui/config': config ?? {},
85
+ }),
86
+ ],
69
87
  css: {
70
88
  postcss: {
71
89
  plugins: [tailwindcss(tailwindConfig), tailwindcssNesting],
@@ -90,16 +108,15 @@ export default function fulldevIntegration(
90
108
  }),
91
109
  ],
92
110
  })
111
+
93
112
  // ----------------------
94
113
  // Inject routes
95
114
  // ----------------------
96
115
  if (config?.injectRoutes) {
97
- const pages = import.meta.glob('/src/pages/**/*.astro')
98
- !pages['/src/pages/[...page].astro'] &&
99
- injectRoute({
100
- pattern: '/[...page]',
101
- entrypoint: 'fulldev-ui/[...page].astro',
102
- })
116
+ injectRoute({
117
+ pattern: '/[...page]',
118
+ entrypoint: 'fulldev-ui/pages/[...page].astro',
119
+ })
103
120
  }
104
121
 
105
122
  // ----------------------
@@ -107,6 +124,10 @@ export default function fulldevIntegration(
107
124
  // ----------------------
108
125
  config?.css && injectScript('page-ssr', `import "${config?.css}";`)
109
126
 
127
+ // ----------------------
128
+ // merge Cloudcannon configs
129
+ // ----------------------
130
+
110
131
  // ----------------------
111
132
  // Generate image YAML files
112
133
  // ----------------------
@@ -138,6 +159,26 @@ export default function fulldevIntegration(
138
159
  // }
139
160
  // }
140
161
  },
162
+ 'astro:build:done': async () => {
163
+ if (config?.cloudcannon) {
164
+ const __dirname = path.dirname(new URL(import.meta.url).pathname)
165
+ const libDir = path.join(__dirname, '../../cloudcannon.config.yml')
166
+ const userDir = path.join(process.cwd(), 'cloudcannon.config.yml')
167
+
168
+ const libConfig = yaml.load(
169
+ fs.readFileSync(path.resolve(libDir), 'utf8')
170
+ )
171
+
172
+ const userConfig = yaml.load(
173
+ fs.readFileSync(path.resolve(userDir), 'utf8')
174
+ )
175
+
176
+ const mergedConfig = assign(libConfig || {}, userConfig || {})
177
+ const yamlContent = yaml.dump(mergedConfig)
178
+
179
+ await fs.promises.writeFile(userDir, yamlContent, 'utf8')
180
+ }
181
+ },
141
182
  },
142
183
  }
143
184
  }
@@ -0,0 +1,81 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import type { CollectionEntry } from 'astro:content'
4
+ import Footer from 'fulldev-ui/blocks/Footer.astro'
5
+ import Header from 'fulldev-ui/blocks/Header.astro'
6
+ import Heading from 'fulldev-ui/components/Heading.astro'
7
+ import Menus from 'fulldev-ui/components/Menus.astro'
8
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
9
+ import type { PageSchema } from 'fulldev-ui/schemas/page.ts'
10
+ import Container from 'fulldev-ui/structures/Container.astro'
11
+ import Layout from 'fulldev-ui/structures/Layout.astro'
12
+ import Prose from 'fulldev-ui/structures/Prose.astro'
13
+ import Sidebar from 'fulldev-ui/structures/Sidebar.astro'
14
+
15
+ type Props = ComponentProps<typeof Layout> &
16
+ PageSchema & {
17
+ render: CollectionEntry<'pages'>['render']
18
+ }
19
+
20
+ const { header, sidebar, render, title, description, footer } = Astro.props
21
+
22
+ const { Content } = await render()
23
+ ---
24
+
25
+ <Layout
26
+ class:list="block"
27
+ {...Astro.props}
28
+ >
29
+ <Header
30
+ {...sidebar}
31
+ {...header}
32
+ />
33
+ <Container
34
+ class:list="block-main"
35
+ as="main"
36
+ >
37
+ <Sidebar>
38
+ <Menus
39
+ size="sm"
40
+ menus={sidebar?.menus}
41
+ />
42
+ </Sidebar>
43
+ <Container class:list="block-container">
44
+ <Prose class:list="block-prose">
45
+ <Heading
46
+ size="4xl"
47
+ as="h1"
48
+ text={title}
49
+ />
50
+ <Paragraph
51
+ muted
52
+ text={description}
53
+ />
54
+ <Content />
55
+ </Prose>
56
+ </Container>
57
+ </Container>
58
+ <Footer {...footer} />
59
+ </Layout>
60
+
61
+ <style is:global>
62
+ @layer fulldev {
63
+ .block {
64
+ .block-main {
65
+ @apply flex w-full items-start justify-between !px-0;
66
+ }
67
+
68
+ .block-container {
69
+ max-width: calc(100% - var(--sidebar-width)) !important;
70
+ }
71
+
72
+ .sidebar {
73
+ @apply hidden lg:flex;
74
+ }
75
+
76
+ .block-prose {
77
+ @apply mx-auto max-w-none py-8;
78
+ }
79
+ }
80
+ }
81
+ </style>
@@ -1,30 +1,31 @@
1
- ---
1
+ <!-- ---
2
2
  import type { ComponentProps } from 'astro/types'
3
+ import type { CollectionEntry } from 'astro:content'
3
4
  import { getCollection } from 'astro:content'
4
- import Intro from 'fulldev-ui/blocks/Intro.astro'
5
- import Products from 'fulldev-ui/blocks/Products.astro'
5
+ import Products1 from 'fulldev-ui/blocks/Products1.astro'
6
6
  import Carousel from 'fulldev-ui/components/Carousel.astro'
7
7
  import Element from 'fulldev-ui/components/Element.astro'
8
- import Prose from 'fulldev-ui/components/Prose.astro'
9
- import Sections from 'fulldev-ui/components/sections.astro'
10
8
  import Select from 'fulldev-ui/components/Select.astro'
11
- import Layout from 'fulldev-ui/layouts/Layout.astro'
9
+ import type { PageSchema } from 'fulldev-ui/schemas/page.ts'
10
+ import Layout from 'fulldev-ui/structures/Layout.astro'
11
+ import Prose from 'fulldev-ui/structures/Prose.astro'
12
+ import { getHref } from 'fulldev-ui/utils/getHref.ts'
12
13
 
13
- type Props = ComponentProps<typeof Layout>
14
+ interface Props extends ComponentProps<typeof Layout>, PageSchema {
15
+ render: CollectionEntry<'pages'>['render']
16
+ slug: CollectionEntry<'pages'>['slug']
17
+ }
14
18
 
15
- const { slug, sections, title, image, images, description, render } =
16
- Astro.props
19
+ const { render, slug, title, description } = Astro.props
17
20
 
18
- const children = await getCollection('pages', (page) =>
19
- page.data.categories?.some((c: any) => c.slug.includes(slug))
21
+ const categories = await getCollection('pages', ({ data }) =>
22
+ data.categories?.some((c) => c.slug.includes(slug))
20
23
  )
21
24
 
22
- const categories = children?.filter(
23
- (c) => c.data.component === 'CategoryLayout'
25
+ const products = await getCollection('pages', ({ data }) =>
26
+ data.categories?.some((c) => c.slug.includes(slug))
24
27
  )
25
28
 
26
- const products = children?.filter((c) => c.data.component === 'ProductLayout')
27
-
28
29
  const sorts = [
29
30
  {
30
31
  option: 'Aanbevolen',
@@ -72,11 +73,13 @@ const sorts = [
72
73
  })
73
74
  </script>
74
75
 
75
- <Layout {...Astro.props}>
76
- <Intro
76
+ <Layout
77
+ class:list="category"
78
+ {...Astro.props}
79
+ >
80
+ <Intro1
77
81
  heading={title}
78
- paragraph={description}
79
- image={image || images?.[0]}
82
+ text={description}
80
83
  />
81
84
  <Carousel>
82
85
  {
@@ -84,7 +87,7 @@ const sorts = [
84
87
  <Element
85
88
  as="a"
86
89
  class:list="item"
87
- href={`/${category.slug}/`}
90
+ href={getHref(category.slug)}
88
91
  >
89
92
  {category.data.title}
90
93
  </Element>
@@ -101,16 +104,14 @@ const sorts = [
101
104
  />
102
105
  </Element>
103
106
  {
104
- sorts.map((sort) => (
105
- <Products
107
+ sorts.map((sort: any) => (
108
+ <Products1
106
109
  class:list={sort.option !== 'Aanbevolen' ? 'hide' : ''}
107
- id={sort.option}
108
- cards={sort.products}
110
+ products={sort.products}
109
111
  />
110
112
  ))
111
113
  }
112
114
  <Prose {render} />
113
- <Sections {sections} />
114
115
  <slot />
115
116
  </Layout>
116
117
 
@@ -132,4 +133,4 @@ const sorts = [
132
133
  @apply text-sm text-muted-foreground;
133
134
  }
134
135
  }
135
- </style>
136
+ </style> -->
@@ -0,0 +1,96 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import type { CollectionEntry } from 'astro:content'
4
+ import Footer from 'fulldev-ui/blocks/Footer.astro'
5
+ import Header from 'fulldev-ui/blocks/Header.astro'
6
+ import Heading from 'fulldev-ui/components/Heading.astro'
7
+ import Menu from 'fulldev-ui/components/Menu.astro'
8
+ import Menus from 'fulldev-ui/components/Menus.astro'
9
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
10
+ import type { PageSchema } from 'fulldev-ui/schemas/page.ts'
11
+ import Container from 'fulldev-ui/structures/Container.astro'
12
+ import Layout from 'fulldev-ui/structures/Layout.astro'
13
+ import Prose from 'fulldev-ui/structures/Prose.astro'
14
+ import Sidebar from 'fulldev-ui/structures/Sidebar.astro'
15
+
16
+ type Props = ComponentProps<typeof Layout> &
17
+ PageSchema & {
18
+ render: CollectionEntry<'pages'>['render']
19
+ }
20
+
21
+ const { header, sidebar, render, title, description, footer } = Astro.props
22
+
23
+ const { Content, headings } = await render()
24
+
25
+ const filteredHeadings = headings?.filter(
26
+ (heading: any) => heading.depth >= 2 && heading.depth <= 4
27
+ )
28
+
29
+ const links = filteredHeadings?.map((button: any) => ({
30
+ text: button.text,
31
+ href: `#${button.slug}`,
32
+ class: `depth-${button.depth}`,
33
+ }))
34
+ ---
35
+
36
+ <Layout
37
+ class:list="doc"
38
+ {...Astro.props}
39
+ >
40
+ <Header
41
+ {...sidebar}
42
+ {...header}
43
+ />
44
+ <Container as="main">
45
+ <Sidebar>
46
+ <Menus
47
+ size="sm"
48
+ menus={sidebar?.menus}
49
+ />
50
+ </Sidebar>
51
+ <Container>
52
+ <Prose>
53
+ <Heading
54
+ size="4xl"
55
+ as="h1"
56
+ text={title}
57
+ />
58
+ <Paragraph
59
+ muted
60
+ text={description}
61
+ />
62
+ <Content />
63
+ </Prose>
64
+ </Container>
65
+ <Sidebar class:list="doc-toc">
66
+ <Menu
67
+ size="sm"
68
+ heading={title}
69
+ {links}
70
+ />
71
+ </Sidebar>
72
+ </Container>
73
+ <Footer {...footer} />
74
+ </Layout>
75
+
76
+ <style is:global>
77
+ @layer fulldev {
78
+ .doc {
79
+ main {
80
+ @apply flex w-full items-start justify-between !px-0;
81
+ }
82
+
83
+ .sidebar {
84
+ @apply hidden lg:flex;
85
+ }
86
+
87
+ .doc-toc {
88
+ @apply hidden xl:flex;
89
+ }
90
+
91
+ .prose {
92
+ @apply mx-auto py-8;
93
+ }
94
+ }
95
+ }
96
+ </style>
@@ -0,0 +1,60 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import type { CollectionEntry } from 'astro:content'
4
+ import { getEntries } from 'astro:content'
5
+ import Content3 from 'fulldev-ui/blocks/Content3.astro'
6
+ import Footer from 'fulldev-ui/blocks/Footer.astro'
7
+ import Header from 'fulldev-ui/blocks/Header.astro'
8
+ import Element from 'fulldev-ui/components/Element.astro'
9
+ import type { PageSchema } from 'fulldev-ui/schemas/page.ts'
10
+ import Layout from 'fulldev-ui/structures/Layout.astro'
11
+ import { getHref } from 'fulldev-ui/utils/getHref.ts'
12
+
13
+ type Props = ComponentProps<typeof Layout> &
14
+ PageSchema & {
15
+ render: CollectionEntry<'pages'>['render']
16
+ }
17
+
18
+ const {
19
+ title,
20
+ description,
21
+ list,
22
+ button,
23
+ buttons,
24
+ header,
25
+ sidebar,
26
+ render,
27
+ parents,
28
+ footer,
29
+ } = Astro.props
30
+
31
+ const parentEntries = parents && (await getEntries(parents))
32
+
33
+ const { Content } = await render()
34
+ ---
35
+
36
+ <Layout
37
+ class:list="job"
38
+ {...Astro.props}
39
+ >
40
+ <Header
41
+ {...sidebar}
42
+ {...header}
43
+ />
44
+ <Element as="main">
45
+ <Content3
46
+ badges={parentEntries?.map((parent) => ({
47
+ text: parent.data.title,
48
+ href: getHref(parent.slug),
49
+ }))}
50
+ heading={title}
51
+ paragraph={description}
52
+ {list}
53
+ {button}
54
+ {buttons}
55
+ >
56
+ <Content />
57
+ </Content3>
58
+ </Element>
59
+ <Footer {...footer} />
60
+ </Layout>