fulldev-ui 0.5.0-beta.8 → 0.6.0-beta-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/.env.example +3 -0
  2. package/.prettierrc.yaml +1 -0
  3. package/astro.config.ts +10 -34
  4. package/cloudcannon.config.yml +217 -0
  5. package/package.json +25 -29
  6. package/pnpm-lock.yaml +943 -2157
  7. package/public/favicon/android-chrome-192x192.png +0 -0
  8. package/public/favicon/android-chrome-512x512.png +0 -0
  9. package/public/favicon/apple-touch-icon.png +0 -0
  10. package/public/favicon/manifest.webmanifest +7 -3
  11. package/public/favicon/mstile-150x150.png +0 -0
  12. package/src/blocks/Banner.astro +14 -29
  13. package/src/blocks/Contact1.astro +92 -0
  14. package/src/blocks/Cta1.astro +72 -0
  15. package/src/blocks/Feature1.astro +67 -0
  16. package/src/blocks/Features1.astro +75 -0
  17. package/src/blocks/Footer.astro +100 -3
  18. package/src/blocks/Header.astro +192 -3
  19. package/src/blocks/Hero1.astro +74 -0
  20. package/src/blocks/Job1.astro +97 -0
  21. package/src/blocks/Products1.astro +90 -0
  22. package/src/blocks/Reviews1.astro +75 -0
  23. package/src/blocks/_Hero.astro +245 -0
  24. package/src/components/Avatar.astro +28 -9
  25. package/src/components/Avatars.astro +36 -0
  26. package/src/components/Badge.astro +63 -24
  27. package/src/components/Badges.astro +16 -23
  28. package/src/components/Banner.astro +26 -0
  29. package/src/components/Block.astro +49 -0
  30. package/src/components/Blocks.astro +26 -0
  31. package/src/components/Breadcrumb.astro +58 -0
  32. package/src/components/Button.astro +49 -119
  33. package/src/components/Buttons.astro +23 -13
  34. package/src/components/Card.astro +9 -137
  35. package/src/components/Cards.astro +33 -35
  36. package/src/components/Carousel.astro +106 -0
  37. package/src/components/Cart.astro +18 -14
  38. package/src/components/CartAdd.svelte +76 -0
  39. package/src/components/CartCheckout.svelte +58 -0
  40. package/src/components/CartForm.svelte +130 -0
  41. package/src/components/CartList.svelte +88 -0
  42. package/src/components/CartQuantity.svelte +81 -0
  43. package/src/components/CartSummary.astro +16 -104
  44. package/src/components/CartTotal.svelte +15 -0
  45. package/src/components/Channel.astro +44 -35
  46. package/src/components/Channels.astro +20 -6
  47. package/src/components/Checkbox.astro +52 -27
  48. package/src/components/Code.astro +52 -0
  49. package/src/components/Container.astro +25 -0
  50. package/src/components/Dialog.astro +3 -2
  51. package/src/components/Drawer.astro +55 -146
  52. package/src/components/DrawerOld.astro +143 -0
  53. package/src/components/Element.astro +18 -8
  54. package/src/components/Form.astro +16 -13
  55. package/src/components/Gallery.astro +174 -0
  56. package/src/components/Head.astro +62 -25
  57. package/src/components/Header.astro +10 -115
  58. package/src/components/Heading.astro +51 -44
  59. package/src/components/Icon.astro +29 -33
  60. package/src/components/Image.astro +18 -68
  61. package/src/components/Input.astro +65 -51
  62. package/src/components/Label.astro +20 -15
  63. package/src/components/Layout.astro +35 -0
  64. package/src/components/Link.astro +51 -32
  65. package/src/components/Links.astro +42 -0
  66. package/src/components/List.astro +41 -16
  67. package/src/components/LocaleSwitcher.astro +2 -2
  68. package/src/components/Logo.astro +56 -0
  69. package/src/components/Menu.astro +21 -17
  70. package/src/components/Navigation.astro +39 -0
  71. package/src/components/Panel.astro +25 -0
  72. package/src/components/Paragraph.astro +55 -0
  73. package/src/components/Price.astro +4 -4
  74. package/src/components/Prose.astro +78 -0
  75. package/src/components/Rating.astro +23 -62
  76. package/src/components/Search.astro +107 -43
  77. package/src/components/Section.astro +13 -242
  78. package/src/components/Select.astro +45 -55
  79. package/src/components/Sidebar.astro +53 -76
  80. package/src/components/Social.astro +11 -9
  81. package/src/components/Socials.astro +9 -5
  82. package/src/components/Subheader.astro +59 -0
  83. package/src/components/Switch.astro +72 -29
  84. package/src/components/Table.astro +1 -1
  85. package/src/components/Tagline.astro +32 -14
  86. package/src/components/Textarea.astro +40 -50
  87. package/src/components/Themer.astro +76 -0
  88. package/src/components/Toc.astro +32 -31
  89. package/src/components/_Author.astro +90 -0
  90. package/src/components/_Header.astro +129 -0
  91. package/src/components/_Image.astro +79 -0
  92. package/src/components/_Prose copy.astro +172 -0
  93. package/src/components/_Sidebar copy.astro +87 -0
  94. package/src/components/docs/PropsTable.astro +38 -264
  95. package/src/components/experimental/Window.astro +5 -57
  96. package/src/content/config.ts +4 -10
  97. package/src/content/{presets → layouts}/base.yml +52 -73
  98. package/src/content/pages/blocks/_categories.mdx +0 -2
  99. package/src/content/pages/blocks/_footer.mdx +0 -2
  100. package/src/content/pages/blocks/_header.mdx +0 -4
  101. package/src/content/pages/blocks/_jobs.mdx +0 -2
  102. package/src/content/pages/blocks/_prices.mdx +0 -2
  103. package/src/content/pages/blocks/_product.mdx +0 -2
  104. package/src/content/pages/blocks/_products.mdx +0 -2
  105. package/src/content/pages/blocks/_stats.mdx +0 -2
  106. package/src/content/pages/blocks/banner.mdx +0 -2
  107. package/src/content/pages/blocks/colleagues.mdx +0 -3
  108. package/src/content/pages/blocks/contact.mdx +0 -2
  109. package/src/content/pages/blocks/content.mdx +0 -6
  110. package/src/content/pages/blocks/cta.mdx +0 -10
  111. package/src/content/pages/blocks/features.mdx +0 -5
  112. package/src/content/pages/blocks/hero.mdx +0 -5
  113. package/src/content/pages/blocks/intro.mdx +0 -5
  114. package/src/content/pages/blocks/posts.mdx +0 -2
  115. package/src/content/pages/blocks/reviews.mdx +0 -3
  116. package/src/content/pages/categories/category.md +7 -0
  117. package/src/content/pages/docs/_internationalization.mdx +55 -0
  118. package/src/content/pages/docs/_using-blocks.mdx +33 -0
  119. package/src/content/pages/docs/_using-presets.mdx +49 -0
  120. package/src/content/pages/docs/blocks.mdx +33 -0
  121. package/src/content/pages/docs/collections/images.mdx +102 -0
  122. package/src/content/pages/docs/collections/pages.mdx +119 -0
  123. package/src/content/pages/docs/collections/presets.mdx +60 -0
  124. package/src/content/pages/docs/collections.mdx +42 -0
  125. package/src/content/pages/{base/card.mdx → docs/components/_card.mdx} +2 -5
  126. package/src/content/pages/{base → docs/components}/_dialog.mdx +1 -2
  127. package/src/content/pages/{base → docs/components}/_drawer.mdx +1 -2
  128. package/src/content/pages/{base → docs/components}/_localeswitcher.mdx +1 -2
  129. package/src/content/pages/{base → docs/components}/_switch.mdx +3 -4
  130. package/src/content/pages/{typography → docs/components}/_tagline.mdx +3 -4
  131. package/src/content/pages/docs/components/_toggle.mdx +30 -0
  132. package/src/content/pages/docs/components/avatar.mdx +34 -0
  133. package/src/content/pages/{base → docs/components}/badge.mdx +28 -10
  134. package/src/content/pages/docs/components/badges.mdx +46 -0
  135. package/src/content/pages/docs/components/button.mdx +78 -0
  136. package/src/content/pages/docs/components/buttons.mdx +51 -0
  137. package/src/content/pages/docs/components/channel.mdx +91 -0
  138. package/src/content/pages/docs/components/channels.mdx +89 -0
  139. package/src/content/pages/docs/components/checkbox.mdx +34 -0
  140. package/src/content/pages/docs/components/code.mdx +45 -0
  141. package/src/content/pages/docs/components/heading.mdx +59 -0
  142. package/src/content/pages/docs/components/icon.mdx +48 -0
  143. package/src/content/pages/docs/components/image.mdx +25 -0
  144. package/src/content/pages/docs/components/input.mdx +40 -0
  145. package/src/content/pages/{typography → docs/components}/label.mdx +9 -6
  146. package/src/content/pages/{typography → docs/components}/link.mdx +24 -10
  147. package/src/content/pages/docs/components/links.mdx +99 -0
  148. package/src/content/pages/docs/components/list.mdx +44 -0
  149. package/src/content/pages/docs/components/logo.mdx +36 -0
  150. package/src/content/pages/docs/components/menu.mdx +89 -0
  151. package/src/content/pages/docs/components/prose.mdx +36 -0
  152. package/src/content/pages/docs/components/rating.mdx +76 -0
  153. package/src/content/pages/{base → docs/components}/section.mdx +2 -3
  154. package/src/content/pages/{base → docs/components}/select.mdx +1 -11
  155. package/src/content/pages/docs/components/social.mdx +94 -0
  156. package/src/content/pages/docs/components/socials.mdx +102 -0
  157. package/src/content/pages/docs/components/switch.mdx +34 -0
  158. package/src/content/pages/{base → docs/components}/table.mdx +1 -4
  159. package/src/content/pages/docs/components/tagline.mdx +46 -0
  160. package/src/content/pages/docs/components/text.mdx +48 -0
  161. package/src/content/pages/docs/components/textarea.mdx +34 -0
  162. package/src/content/pages/docs/components/themer.mdx +49 -0
  163. package/src/content/pages/docs/components.mdx +37 -0
  164. package/src/content/pages/docs/customization.mdx +151 -0
  165. package/src/content/pages/docs/frameworks.mdx +29 -0
  166. package/src/content/pages/docs/generating-pages.mdx +129 -0
  167. package/src/content/pages/docs/index.mdx +20 -0
  168. package/src/content/pages/docs/installation.mdx +50 -0
  169. package/src/content/pages/docs/layouts.mdx +33 -0
  170. package/src/content/pages/index.mdx +25 -33
  171. package/src/content/pages/posts/post.md +7 -0
  172. package/src/content/pages/products/product.md +20 -0
  173. package/src/content/pages/showcase/anti-slip-profiles.md +2 -2
  174. package/src/content/pages/showcase/fulldev-ui.md +1 -1
  175. package/src/content/pages/showcase/lavis-detailing.md +1 -1
  176. package/src/content/pages/showcase/leren-trainingsacteren.md +1 -1
  177. package/src/content/pages/showcase/miele-witgoedcenter-amsterdam.md +1 -1
  178. package/src/content/pages/showcase/sloepverhuur-bolsward.md +1 -1
  179. package/src/content/pages/showcase/stark-vulcanising-products.md +1 -1
  180. package/src/content/pages/showcase/the-gym-haren.md +1 -1
  181. package/src/content/pages/showcase/van-dillen-antieke-bouwmaterialen.md +1 -1
  182. package/src/content/pages/showcase.mdx +4 -3
  183. package/src/css/color.css +0 -10
  184. package/src/css/custom.css +10 -12
  185. package/src/css/size.css +2 -11
  186. package/src/css/theme.css +95 -0
  187. package/src/env.d.ts +1 -0
  188. package/src/images/favicon/android-chrome-192x192.png +0 -0
  189. package/src/images/favicon/android-chrome-512x512.png +0 -0
  190. package/src/images/favicon/apple-touch-icon.png +0 -0
  191. package/src/images/favicon/browserconfig.xml +9 -0
  192. package/src/images/favicon/favicon-16x16.png +0 -0
  193. package/src/images/favicon/favicon-32x32.png +0 -0
  194. package/src/images/favicon/favicon-48x48.png +0 -0
  195. package/src/images/favicon/favicon.ico +0 -0
  196. package/src/images/favicon/favicon.svg +16 -0
  197. package/src/images/favicon/manifest.webmanifest +30 -0
  198. package/src/images/favicon/mstile-150x150.png +0 -0
  199. package/src/images/favicon/safari-pinned-tab.svg +16 -0
  200. package/src/images/favicon/yandex-browser-50x50.png +0 -0
  201. package/src/images/favicon/yandex-browser-manifest.json +9 -0
  202. package/src/images/logo-1.svg +11 -0
  203. package/src/images/logo-2.svg +13 -0
  204. package/src/images/logo-basic.svg +10 -0
  205. package/src/images/logo-simple.svg +13 -0
  206. package/src/images/logo-thin.svg +15 -0
  207. package/src/images/logo.svg +14 -0
  208. package/src/images/logofat.svg +11 -0
  209. package/src/integration/index.ts +110 -140
  210. package/src/layouts/Category.astro +131 -0
  211. package/src/layouts/Doc.astro +72 -0
  212. package/src/layouts/Job.astro +64 -0
  213. package/src/layouts/Page.astro +30 -0
  214. package/src/layouts/Post.astro +20 -0
  215. package/src/layouts/Product.astro +110 -0
  216. package/src/pages/[...page].astro +29 -24
  217. package/src/pages/test.astro +37 -0
  218. package/src/schemas/blocks/banner.ts +10 -0
  219. package/src/schemas/blocks/categories.ts +14 -0
  220. package/src/schemas/blocks/contact.ts +18 -0
  221. package/src/schemas/blocks/cta.ts +19 -0
  222. package/src/schemas/blocks/feature.ts +18 -0
  223. package/src/schemas/blocks/features.ts +24 -0
  224. package/src/schemas/blocks/hero.ts +20 -0
  225. package/src/schemas/blocks/intro.ts +16 -0
  226. package/src/schemas/blocks/products.ts +14 -0
  227. package/src/schemas/blocks/reviews.ts +24 -0
  228. package/src/schemas/components/avatar.ts +4 -1
  229. package/src/schemas/components/badge.ts +16 -11
  230. package/src/schemas/components/block.ts +22 -0
  231. package/src/schemas/components/button.ts +17 -14
  232. package/src/schemas/components/channel.ts +15 -9
  233. package/src/schemas/components/footer.ts +15 -21
  234. package/src/schemas/components/head.ts +17 -0
  235. package/src/schemas/components/header.ts +19 -7
  236. package/src/schemas/components/heading.ts +7 -1
  237. package/src/schemas/components/icon.ts +7 -1
  238. package/src/schemas/components/image.ts +38 -16
  239. package/src/schemas/components/link.ts +17 -0
  240. package/src/schemas/components/logo.ts +12 -2
  241. package/src/schemas/components/menu.ts +11 -11
  242. package/src/schemas/components/navigation.ts +10 -0
  243. package/src/schemas/components/paragraph.ts +9 -0
  244. package/src/schemas/components/price.ts +7 -1
  245. package/src/schemas/components/rating.ts +8 -13
  246. package/src/schemas/components/sidebar.ts +14 -11
  247. package/src/schemas/components/social.ts +16 -1
  248. package/src/schemas/components/tagline.ts +7 -1
  249. package/src/schemas/imageSchema.ts +30 -1
  250. package/src/schemas/layoutSchema.ts +22 -0
  251. package/src/schemas/pageSchema.ts +26 -96
  252. package/src/stores/cart.svelte.ts +79 -0
  253. package/src/stores/cart.ts +59 -6
  254. package/src/types/global-props.ts +0 -9
  255. package/src/types/{virtual-modules.d.ts → virtual.d.ts} +1 -1
  256. package/src/utils/cart.ts +1 -10
  257. package/src/utils/formatEntries.ts +8 -0
  258. package/src/utils/formatEntry.ts +29 -0
  259. package/src/utils/getDeepReferenceChildren.ts +14 -0
  260. package/src/utils/getHref.ts +6 -0
  261. package/src/utils/getReferenceChildren.ts +1 -1
  262. package/src/utils/setTheme.ts +18 -0
  263. package/src/utils/slugify.ts +6 -0
  264. package/svelte.config.js +5 -0
  265. package/tailwind.config.ts +67 -0
  266. package/tsconfig.json +1 -3
  267. package/src/blocks/Article.astro +0 -40
  268. package/src/blocks/Categories.astro +0 -12
  269. package/src/blocks/Colleagues.astro +0 -13
  270. package/src/blocks/Contact.astro +0 -116
  271. package/src/blocks/Content.astro +0 -12
  272. package/src/blocks/Cta.astro +0 -15
  273. package/src/blocks/Excerpt.astro +0 -14
  274. package/src/blocks/Features.astro +0 -11
  275. package/src/blocks/Hero.astro +0 -15
  276. package/src/blocks/Intro.astro +0 -23
  277. package/src/blocks/Jobs.astro +0 -12
  278. package/src/blocks/Posts.astro +0 -11
  279. package/src/blocks/Prices.astro +0 -24
  280. package/src/blocks/Product.astro +0 -106
  281. package/src/blocks/Products.astro +0 -11
  282. package/src/blocks/Reviews.astro +0 -13
  283. package/src/components/CartForm.astro +0 -121
  284. package/src/components/CartList.astro +0 -134
  285. package/src/components/Footer.astro +0 -193
  286. package/src/components/Text.astro +0 -43
  287. package/src/components/ThemeSelect.astro +0 -41
  288. package/src/components/Writeup.astro +0 -90
  289. package/src/components/experimental/Form.astro +0 -53
  290. package/src/components/experimental/Gallery.astro +0 -104
  291. package/src/components/experimental/Logo.astro +0 -38
  292. package/src/components/experimental/Prose.astro +0 -192
  293. package/src/components/sections.astro +0 -28
  294. package/src/content/pages/base/button.mdx +0 -60
  295. package/src/content/pages/base/checkbox.mdx +0 -42
  296. package/src/content/pages/base/icon.mdx +0 -55
  297. package/src/content/pages/base/image.mdx +0 -42
  298. package/src/content/pages/base/input.mdx +0 -56
  299. package/src/content/pages/base/rating.mdx +0 -55
  300. package/src/content/pages/base/textarea.mdx +0 -58
  301. package/src/content/pages/base/theme-select.mdx +0 -15
  302. package/src/content/pages/layouts/_layout.mdx +0 -14
  303. package/src/content/pages/layouts/docslayout.mdx +0 -14
  304. package/src/content/pages/overview/components.mdx +0 -75
  305. package/src/content/pages/overview/content-collections.mdx +0 -139
  306. package/src/content/pages/overview/frameworks.mdx +0 -198
  307. package/src/content/pages/overview/installation.mdx +0 -53
  308. package/src/content/pages/overview/introduction.mdx +0 -30
  309. package/src/content/pages/overview/theming.mdx +0 -69
  310. package/src/content/pages/schemas/page.mdx +0 -17
  311. package/src/content/pages/schemas/preset.mdx +0 -9
  312. package/src/content/pages/showcase/record.md +0 -3
  313. package/src/content/pages/typography/heading.mdx +0 -73
  314. package/src/content/pages/typography/list.mdx +0 -51
  315. package/src/content/pages/typography/text.mdx +0 -61
  316. package/src/content/presets/blocks.yml +0 -1
  317. package/src/content/presets/docs.yml +0 -6
  318. package/src/css/space.css +0 -77
  319. package/src/css/styles.css +0 -0
  320. package/src/images/avatar-1.yml +0 -1
  321. package/src/integration/generate-colors.ts +0 -639
  322. package/src/integration/tailwind-plugin.ts +0 -80
  323. package/src/integration/unocss-preset.ts +0 -84
  324. package/src/layouts/BlockLayout.astro +0 -19
  325. package/src/layouts/ContactLayout.astro +0 -21
  326. package/src/layouts/DocsLayout.astro +0 -73
  327. package/src/layouts/Layout.astro +0 -163
  328. package/src/layouts/OverviewLayout.astro +0 -42
  329. package/src/layouts/PostLayout.astro +0 -21
  330. package/src/layouts/ProductLayout.astro +0 -21
  331. package/src/loaders/imageLoader.ts +0 -26
  332. package/src/schemas/components/avatars.ts +0 -4
  333. package/src/schemas/components/buttons.ts +0 -4
  334. package/src/schemas/components/card.ts +0 -25
  335. package/src/schemas/components/cards.ts +0 -4
  336. package/src/schemas/components/channels.ts +0 -4
  337. package/src/schemas/components/images.ts +0 -4
  338. package/src/schemas/components/list.ts +0 -3
  339. package/src/schemas/components/section.ts +0 -15
  340. package/src/schemas/components/sections.ts +0 -3
  341. package/src/schemas/components/socials.ts +0 -4
  342. package/src/schemas/components/text.ts +0 -3
  343. package/src/schemas/components/toc.ts +0 -3
  344. package/src/schemas/components/writeup.ts +0 -20
  345. package/src/schemas/presetSchema.ts +0 -3
  346. package/src/schemas/utils/navigation.ts +0 -8
  347. package/src/schemas/utils/parents.ts +0 -3
@@ -0,0 +1,129 @@
1
+ ---
2
+ _layout: doc
3
+ title: Generating Pages
4
+ ---
5
+
6
+ import Link from 'fulldev-ui/components/Link.astro'
7
+
8
+ # Generating Pages
9
+
10
+ With our integration, you can generate pages using content files with type-safe frontmatter, minimal configuration, and an easy-to-understand project structure.
11
+
12
+ ## Starter Template
13
+
14
+ This is the recommended way to get started with our content layer integration. We've created a <Link href="https://github.com/fulldotdev/starter/tree/main">starter template</Link> with examples of everything you need to get started. This instantly gives you access to generating pages, using presets, internationalization and more without any additional setup.
15
+
16
+ ```bash
17
+ pnpm create astro@latest -- --template fulldotdev/starter
18
+ ```
19
+
20
+ ## Manual Setup
21
+
22
+ To get started with the manual setup, you need to install the <Link href="/overview/installation/">integration</Link> and add `injectRoutes: true` to your `astro.config.ts` file, see <Link href="#type-safe-frontmatter">frontmatter</Link> below for more information on how this generates a site using content files.
23
+
24
+ ```ts
25
+ import { defineConfig } from 'astro/config'
26
+ import fulldev from 'fulldev-ui/integration'
27
+
28
+ // https://astro.build/config
29
+ export default defineConfig({
30
+ integrations: [
31
+ fulldev({
32
+ // other options
33
+ injectRoutes: true,
34
+ }),
35
+ ],
36
+ })
37
+ ```
38
+
39
+ `injectRoutes` reads your content files and generates routes for them in the generated site. Supporting file types like markdown and MDX.
40
+
41
+ ## Project Structure
42
+
43
+ To start with, your project structure should look like this:
44
+
45
+ ```md
46
+ .
47
+ ├── src/
48
+ │ ├── blocks/
49
+ │ │ └── ...
50
+ │ ├── components/
51
+ │ │ └── ...
52
+ │ ├── layouts/
53
+ │ │ └── ...
54
+ │ ├── images/
55
+ │ │ └── ...
56
+ │ ├── content/
57
+ │ │ ├── pages/
58
+ │ │ │ └── ...
59
+ │ │ ├── presets/
60
+ │ │ │ ├── base.yml
61
+ │ │ │ └── ...
62
+ │ │ └── ...
63
+ │ ├── css/
64
+ │ │ ├── custom.css
65
+ │ │ └── ...
66
+ ├── public/
67
+ │ └── ...
68
+ └──
69
+ ```
70
+
71
+ ## Creating a page
72
+
73
+ Creating a page is as simple as creating a new file in the **src/content/pages** directory.
74
+
75
+ For example,
76
+
77
+ - **src/content/pages/index.mdx** will be the root of your site.
78
+ - **src/content/pages/about.mdx** will appear at /about.
79
+ - **src/content/pages/team/first-name.mdx** will appear at /team/first-name.
80
+
81
+ ### Using presets
82
+
83
+ Presets are a way to apply a set of configurations to a page. This can be apply navigation settings, seo and more.
84
+
85
+ To learn more about presets, see the <Link href="/guides/using-presets/">using presets</Link> guide.
86
+
87
+ ### Using layouts
88
+
89
+ Layouts are a way to apply styles to a page. Used for having multiple layouts like a blog layout, documentation layout, etc.
90
+
91
+ To learn more about layouts, see the <Link href="/guides/using-layouts/">using layouts</Link> guide.
92
+
93
+ ### Frontmatter
94
+
95
+ Each file has a few frontmatter objects that are important to know about. The frontmatter is fully type-safe, so you will know if you use an unavailable option or mistype something. SEO has priority over title and description, however title and description are used in multiple places like cards so they remain important.
96
+
97
+ ```yml
98
+ ---
99
+ preset: [docs]
100
+ component: DocsLayout
101
+
102
+ seo:
103
+ title: Page Title
104
+ description: This is my page description
105
+ image: /image.jpg # Open Graph Image
106
+
107
+ # Information on the page, this is used in places like card, sidebar, etc.
108
+ title: Page Title
109
+ description: This is my page description
110
+
111
+ sections: # Here you generate the page by adding a component and passing props
112
+ - component: Hero
113
+ heading: Page Title
114
+ text: This is my page description
115
+ buttons:
116
+ - text: Button
117
+ color: brand
118
+ href: /
119
+ - text: Button
120
+ href: /
121
+ ---
122
+ # This is the prose, you can use markdown here, typically used for blogs, docs, etc.
123
+ ```
124
+
125
+ For all objects avaliable in the frontmatter, see the <Link href="https://ui.full.dev/content-collections/pages/">pages collection</Link>.
126
+
127
+ ## Using custom components
128
+
129
+ You can use custom components simply creating them in the **src/components**, **src/blocks** or **src/layouts** directory. You can then use those in the component property of the frontmatter. If you want to override a component from the library, see the [overriding components](/guides/overriding-components/) guide.
@@ -0,0 +1,20 @@
1
+ ---
2
+ _layout: doc
3
+ title: Introduction
4
+ description: Everything you need to rapidly build content-driven websites. Components, blocks, layouts and complete page generation.
5
+ ---
6
+
7
+ ## Why we built it
8
+
9
+ After repeatedly encountering the same challenges in [our company's](https://full.dev) client projects, we decided to build this library. After successfully using it in production websites, we decided to open-source it to help others facing similar problems.
10
+
11
+ ## What makes it special
12
+
13
+ - Built entirely with `.astro` components
14
+ - Outputs vanilla CSS, html and minimal JavaScript
15
+ - Compatible with all JS frameworks
16
+ - Compatible with Tailwind and Shadcn/ui
17
+ - Integrates with [content collections](https://docs.astro.build/en/guides/content-collections/)
18
+ - Blocks included, like Hero, CTA and Features
19
+ - Automatically generated pages
20
+ - And more...
@@ -0,0 +1,50 @@
1
+ ---
2
+ _layout: doc
3
+ title: Installation
4
+ ---
5
+
6
+ import Link from 'fulldev-ui/components/Link.astro'
7
+
8
+ # Installation
9
+
10
+ How to install dependencies and setup the integration.
11
+
12
+ ## Add to existing project
13
+
14
+ If you don't have an existing project, you can create a new one using the [starter template](https://github.com/fulldotdev/starter).
15
+
16
+ ### Automatic setup
17
+
18
+ Run the following command to automatically install the dependencies and add the integration.
19
+
20
+ ```bash
21
+ npx astro add fulldev-ui
22
+ ```
23
+
24
+ ### Manual setup
25
+
26
+ Run the following command to add fulldev-ui to your dependencies.
27
+
28
+ ```bash
29
+ npm i fulldev-ui
30
+ ```
31
+
32
+ Add the integration to your `astro.config.ts` file.
33
+
34
+ ```ts
35
+ // astro.config.ts
36
+ import { defineConfig } from 'astro/config'
37
+ import fulldev from 'fulldev-ui/integration'
38
+
39
+ export default defineConfig({
40
+ integrations: [fulldev()],
41
+ })
42
+ ```
43
+
44
+ ## Create new project
45
+
46
+ Run the following command to setup a new project from the [starter template](https://github.com/fulldotdev/starter).
47
+
48
+ ```bash
49
+ npx astro create --template fulldev-ui
50
+ ```
@@ -0,0 +1,33 @@
1
+ ---
2
+ _layout: doc
3
+ title: Layouts
4
+ ---
5
+
6
+ import Link from 'fulldev-ui/components/Link.astro'
7
+
8
+ # Layouts
9
+
10
+ Layouts are astro components that can be used to set the default styles for a page. They are located in the **src/content/layouts** directory.
11
+
12
+ ## Creating a layout
13
+
14
+ Beside the layouts that are included in the library you can also create your own by adding a new astro component to the **src/content/layouts** directory. You can also override the existing layouts, see the <Link href="/guides/overriding-components/">overriding components</Link> guide for more information.
15
+
16
+ Currently there are 6 layouts included in the library:
17
+
18
+ - `Layout`
19
+ - `DocsLayout`
20
+ - `PostLayout`
21
+ - `ProductLayout`
22
+ - `BlockLayout`
23
+ - `ContactLayout`
24
+
25
+ ## Applying a layout
26
+
27
+ To apply a preset to a page, you can add the `component` property to the frontmatter of a page.
28
+
29
+ ```md
30
+ ---
31
+ component: DocsLayout
32
+ ---
33
+ ```
@@ -1,62 +1,54 @@
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: /og-image.png
8
6
 
9
7
  title: Home
10
8
 
11
- sections:
12
- - component: Hero
9
+ blocks:
10
+ - _block: Hero1
13
11
  badge:
14
- text: We added layouts, now you can build entire sites
12
+ text: 'Introducing v0.6: layouts & pagebuilding'
15
13
  href: /overview/installation/
16
- heading: The Astro UI library to build content sites
17
- text: Make websites with prebuilt components, blocks and layouts
14
+ heading: Build complete websites with this Astro UI library
15
+ paragraph: 'Everything you need to rapidly build content-driven websites. Components, blocks, layouts and complete page generation.'
18
16
  buttons:
19
17
  - text: Get Started
20
- href: /overview/installation/
18
+ href: /docs/
21
19
  - text: GitHub
22
20
  href: https://github.com/fulldotdev/ui
23
21
  icon: brand-github
24
- - component: Article
25
- - component: Content
26
- color: brand
27
- label: Blocks
22
+ target: _blank
23
+
24
+ - _block: Feature1
25
+ tagline: Blocks
28
26
  heading: Use pre-built blocks with just props
29
- text: 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.
30
- image: block-code.png
27
+ 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.
28
+ image: /block-code.png
31
29
  buttons:
32
- - href: /blocks
30
+ - href: /blocks/
33
31
  icon: layout
34
32
  text: View blocks
35
33
 
36
- - component: Content
37
- color: brand
38
- label: Components
34
+ - _block: Feature1
35
+ tagline: Components
39
36
  heading: Or build your own, with easy to use components
40
- text: our rich set of components make it easy to build your own blocks with great customizability through props and global theming.
41
- image: component-code.png
42
- reverse: odd
37
+ paragraph: Our rich set of components make it easy to build your own blocks with great customizability through props and global theming.
38
+ image: /component-code.png
43
39
  buttons:
44
- - href: /base/badge
40
+ - text: View components
41
+ href: /components/badge/
45
42
  icon: code
46
- text: View components
47
43
 
48
- - component: Cta
49
- size: lg
50
- variant: primary
44
+ - _block: Cta1
51
45
  heading: Build content websites in a fraction of time
52
- text: A library of components and blocks to build content sites, fast.
46
+ paragraph: A library of components and blocks to build content sites, fast.
53
47
  buttons:
54
48
  - text: Get Started
55
- href: /overview/installation
56
- color: brand
49
+ href: /overview/installation/
57
50
  - text: Github
58
51
  href: https://github.com/fulldotdev/ui
59
- target: _blank
60
52
  icon: brand-github
61
- color: brand
53
+ target: _blank
62
54
  ---
@@ -0,0 +1,7 @@
1
+ ---
2
+ title: Post
3
+ description: Lorem ipsum dolor sit
4
+ ---
5
+
6
+
7
+
@@ -0,0 +1,20 @@
1
+ ---
2
+ title: Product
3
+ categories:
4
+ - categories/category
5
+ description: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
6
+ price: 90
7
+ images:
8
+ - placeholder.webp
9
+ variants:
10
+ kleur:
11
+ - wit
12
+ - zwart
13
+ maat:
14
+ - S
15
+ - M
16
+ - L
17
+ ---
18
+
19
+
20
+
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Anti Slip Profiles
2
+ title: Anti Slip Profiles
3
3
  image: 'anti-slip-profiles.webp'
4
- href: 'https://antislipprofiles.com'
4
+ slug: 'https://antislipprofiles.com'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Fulldev UI
2
+ title: Fulldev UI
3
3
  image: fulldev-ui.webp
4
4
  href: 'https://ui.ull.dev'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Lavis Detailing
2
+ title: Lavis Detailing
3
3
  image: lavis-detailing.webp
4
4
  href: 'https://lavisdetailing.nl'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Leren Trainingsacteren
2
+ title: Leren Trainingsacteren
3
3
  image: leren-trainingsacteren.webp
4
4
  href: 'https://lerentrainingsacteren.nl'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Miele Witgoedcenter Amsterdam
2
+ title: Miele Witgoedcenter Amsterdam
3
3
  image: miele-witgoedcenter-amsterdam.webp
4
4
  href: 'https://witgoedcenteramsterdam.nl'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Sloepverhuur Bolsward
2
+ title: Sloepverhuur Bolsward
3
3
  image: sloepverhuur-bolsward.webp
4
4
  href: 'https://sloepverhuurbolsward.nl'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Stark Vulcanising Products
2
+ title: Stark Vulcanising Products
3
3
  image: stark-vulcanising-products.webp
4
4
  href: '#'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: The Gym Haren
2
+ title: The Gym Haren
3
3
  image: the-gym-haren.webp
4
4
  href: 'https://thegymharen.nl'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Van Dillen Antieke Bouwmaterialen
2
+ title: Van Dillen Antieke Bouwmaterialen
3
3
  image: van-dillen-antieke-bouwmaterialen.webp
4
4
  href: 'https://vdabouwmaterialen.nl'
5
5
  ---
@@ -1,5 +1,4 @@
1
1
  ---
2
- presets: [docs]
3
2
  title: Showcase
4
3
  ---
5
4
 
@@ -8,7 +7,10 @@ import Cards from 'fulldev-ui/components/Cards.astro'
8
7
  import { getCollection } from 'astro:content'
9
8
 
10
9
  export const projects = (
11
- await getCollection('pages', ({ slug }) => slug.startsWith('showcase'))
10
+ await getCollection(
11
+ 'pages',
12
+ ({ slug }) => slug.startsWith('showcase') && slug !== 'showcase'
13
+ )
12
14
  ).map((p) => p.data)
13
15
 
14
16
  # Showcase
@@ -16,7 +18,6 @@ export const projects = (
16
18
  Projects that are built with Fulldev UI.
17
19
 
18
20
  <Card
19
- color="brand"
20
21
  size="sm"
21
22
  style={{ marginTop: 'var(--space-6)', marginBottom: 'var(--space-7)' }}
22
23
  heading="Your project in this showcase?"
package/src/css/color.css CHANGED
@@ -1,13 +1,3 @@
1
- .theme-light,
2
- .theme-light * {
3
- color-scheme: light;
4
- }
5
-
6
- .theme-dark,
7
- .theme-dark * {
8
- color-scheme: dark;
9
- }
10
-
11
1
  :where(:root),
12
2
  :where(.theme-light),
13
3
  :where(.theme-dark),
@@ -1,22 +1,20 @@
1
1
  @import url(https://fonts.bunny.net/css?family=inter:100,200,300,400,500,600,700,800,900);
2
2
 
3
- * {
4
- font-family: 'Inter', sans-serif;
5
- }
6
-
7
3
  mark {
8
4
  background-color: var(--brand-12) !important;
9
5
  color: var(--brand-1) !important;
10
6
  }
11
7
 
12
- .astro-code {
13
- border: 1px solid var(--base-6);
14
- border-radius: var(--radius-2);
15
- background-color: #191919 !important;
16
- padding: var(--space-5);
8
+ .rounded-full {
9
+ border-radius: 999px !important;
10
+ }
11
+
12
+ .hero .heading,
13
+ .hero .lead {
14
+ max-width: 680px;
15
+ text-wrap: balance;
17
16
  }
18
17
 
19
- .header,
20
- .panel {
21
- background-color: var(--color-background);
18
+ .logo .image {
19
+ border-radius: 2px;
22
20
  }
package/src/css/size.css CHANGED
@@ -1,4 +1,4 @@
1
- :root {
1
+ /* :root {
2
2
  --space-sm-1: 4px;
3
3
  --space-sm-2: 6px;
4
4
  --space-sm-3: 8px;
@@ -128,13 +128,4 @@
128
128
  --text-7: var(--text-lg-7);
129
129
  --text-8: var(--text-lg-8);
130
130
  }
131
-
132
- :root {
133
- --spacer: var(--space-7);
134
- --screen: 100vw;
135
- --gutter: max(24px, calc((100% - var(--screen)) / 2));
136
- }
137
-
138
- * {
139
- --gutter: max(24px, calc((100% - var(--screen)) / 2));
140
- }
131
+ */
@@ -0,0 +1,95 @@
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
+ @layer base {
39
+ :root {
40
+ --background: 0 0% 100%;
41
+ --foreground: 20 14.3% 4.1%;
42
+ --card: 0 0% 100%;
43
+ --card-foreground: 20 14.3% 4.1%;
44
+ --popover: 0 0% 100%;
45
+ --popover-foreground: 20 14.3% 4.1%;
46
+ --primary: 24 9.8% 10%;
47
+ --primary-foreground: 60 9.1% 97.8%;
48
+ --secondary: 60 4.8% 95.9%;
49
+ --secondary-foreground: 24 9.8% 10%;
50
+ --muted: 60 4.8% 95.9%;
51
+ --muted-foreground: 25 5.3% 44.7%;
52
+ --accent: 60 4.8% 95.9%;
53
+ --accent-foreground: 24 9.8% 10%;
54
+ --destructive: 0 84.2% 60.2%;
55
+ --destructive-foreground: 60 9.1% 97.8%;
56
+ --border: 20 5.9% 90%;
57
+ --input: 20 5.9% 90%;
58
+ --ring: 20 14.3% 4.1%;
59
+ --radius: 0.5rem;
60
+ --chart-1: 12 76% 61%;
61
+ --chart-2: 173 58% 39%;
62
+ --chart-3: 197 37% 24%;
63
+ --chart-4: 43 74% 66%;
64
+ --chart-5: 27 87% 67%;
65
+ }
66
+
67
+ .dark {
68
+ --background: 20 14.3% 4.1%;
69
+ --foreground: 60 9.1% 97.8%;
70
+ --card: 20 14.3% 4.1%;
71
+ --card-foreground: 60 9.1% 97.8%;
72
+ --popover: 20 14.3% 4.1%;
73
+ --popover-foreground: 60 9.1% 97.8%;
74
+ --primary: 60 9.1% 97.8%;
75
+ --primary-foreground: 24 9.8% 10%;
76
+ --secondary: 12 6.5% 15.1%;
77
+ --secondary-foreground: 60 9.1% 97.8%;
78
+ --muted: 12 6.5% 15.1%;
79
+ --muted-foreground: 24 5.4% 63.9%;
80
+ --accent: 12 6.5% 15.1%;
81
+ --accent-foreground: 60 9.1% 97.8%;
82
+ --destructive: 0 62.8% 30.6%;
83
+ --destructive-foreground: 60 9.1% 97.8%;
84
+ --border: 12 6.5% 15.1%;
85
+ --input: 12 6.5% 15.1%;
86
+ --ring: 24 5.7% 82.9%;
87
+ --chart-1: 220 70% 50%;
88
+ --chart-2: 160 60% 45%;
89
+ --chart-3: 30 80% 55%;
90
+ --chart-4: 280 65% 60%;
91
+ --chart-5: 340 75% 55%;
92
+
93
+ color-scheme: dark;
94
+ }
95
+ }
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" />
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <browserconfig>
3
+ <msapplication>
4
+ <tile>
5
+ <square150x150logo src="/favicon/mstile-150x150.png"/>
6
+ <TileColor>#fff</TileColor>
7
+ </tile>
8
+ </msapplication>
9
+ </browserconfig>
Binary file
@@ -0,0 +1,16 @@
1
+ <svg width="758" height="758" viewBox="0 0 758 758" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_45_5)">
3
+ <rect width="758" height="758" fill="#FF5500"/>
4
+ <rect x="-133" y="-133" width="1024" height="1024" fill="url(#paint0_radial_45_5)"/>
5
+ <path d="M269.363 565C264.945 565 261.363 561.419 261.363 557V200.637C261.363 196.218 264.945 192.637 269.363 192.637H499.909C504.327 192.637 507.909 196.218 507.909 200.637V249.546C507.909 253.964 504.327 257.546 499.909 257.546H348.091C343.672 257.546 340.091 261.128 340.091 265.546V338.273C340.091 342.691 343.672 346.273 348.091 346.273H483.545C487.963 346.273 491.545 349.855 491.545 354.273V403.182C491.545 407.6 487.963 411.182 483.545 411.182H348.091C343.672 411.182 340.091 414.764 340.091 419.182V557C340.091 561.419 336.509 565 332.091 565H269.363Z" fill="#EEEEEC"/>
6
+ </g>
7
+ <defs>
8
+ <radialGradient id="paint0_radial_45_5" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(379 379) rotate(45) scale(724.077)">
9
+ <stop stop-color="#111110" stop-opacity="0.2"/>
10
+ <stop offset="0.9" stop-color="#111110" stop-opacity="0"/>
11
+ </radialGradient>
12
+ <clipPath id="clip0_45_5">
13
+ <rect width="758" height="758" fill="white"/>
14
+ </clipPath>
15
+ </defs>
16
+ </svg>