fulldev-ui 0.5.0-beta.9 → 0.6.0-beta-5

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 (342) 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 +235 -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/Content1.astro +77 -0
  15. package/src/blocks/Content2.astro +91 -0
  16. package/src/blocks/Content3.astro +70 -0
  17. package/src/blocks/Content4.astro +72 -0
  18. package/src/blocks/Cta1.astro +58 -0
  19. package/src/blocks/Feature1.astro +61 -0
  20. package/src/blocks/Features1.astro +66 -0
  21. package/src/blocks/Footer.astro +100 -3
  22. package/src/blocks/Header.astro +192 -3
  23. package/src/blocks/Hero1.astro +60 -0
  24. package/src/blocks/Logos1.astro +55 -0
  25. package/src/blocks/Products1.astro +90 -0
  26. package/src/blocks/Reviews1.astro +75 -0
  27. package/src/blocks/_Hero.astro +245 -0
  28. package/src/components/Avatar.astro +28 -9
  29. package/src/components/Avatars.astro +36 -0
  30. package/src/components/Badge.astro +63 -24
  31. package/src/components/Badges.astro +16 -23
  32. package/src/components/Block.astro +30 -0
  33. package/src/components/Blocks.astro +26 -0
  34. package/src/components/Breadcrumb.astro +58 -0
  35. package/src/components/Button.astro +49 -119
  36. package/src/components/Buttons.astro +23 -13
  37. package/src/components/Card.astro +9 -137
  38. package/src/components/Cards.astro +33 -35
  39. package/src/components/Carousel.astro +106 -0
  40. package/src/components/Cart.astro +18 -14
  41. package/src/components/CartAdd.svelte +76 -0
  42. package/src/components/CartCheckout.svelte +58 -0
  43. package/src/components/CartForm.svelte +130 -0
  44. package/src/components/CartList.svelte +88 -0
  45. package/src/components/CartQuantity.svelte +81 -0
  46. package/src/components/CartSummary.astro +16 -105
  47. package/src/components/CartTotal.svelte +15 -0
  48. package/src/components/Channel.astro +44 -35
  49. package/src/components/Channels.astro +20 -6
  50. package/src/components/Checkbox.astro +52 -27
  51. package/src/components/Code.astro +52 -0
  52. package/src/components/Container.astro +25 -0
  53. package/src/components/Dialog.astro +3 -2
  54. package/src/components/Drawer.astro +55 -146
  55. package/src/components/DrawerOld.astro +143 -0
  56. package/src/components/Element.astro +18 -8
  57. package/src/components/Form.astro +16 -13
  58. package/src/components/Gallery.astro +174 -0
  59. package/src/components/Group.astro +25 -0
  60. package/src/components/Head.astro +62 -25
  61. package/src/components/Header.astro +10 -115
  62. package/src/components/Heading.astro +51 -44
  63. package/src/components/Icon.astro +29 -33
  64. package/src/components/Image.astro +18 -68
  65. package/src/components/Input.astro +65 -51
  66. package/src/components/Label.astro +20 -15
  67. package/src/components/Layout.astro +35 -0
  68. package/src/components/Link.astro +51 -32
  69. package/src/components/Links.astro +42 -0
  70. package/src/components/List.astro +41 -16
  71. package/src/components/LocaleSwitcher.astro +2 -2
  72. package/src/components/Logo.astro +56 -0
  73. package/src/components/Menu.astro +21 -17
  74. package/src/components/Navigation.astro +39 -0
  75. package/src/components/Panel.astro +25 -0
  76. package/src/components/Paragraph.astro +55 -0
  77. package/src/components/Price.astro +4 -4
  78. package/src/components/Prose.astro +86 -0
  79. package/src/components/Rating.astro +23 -62
  80. package/src/components/Search.astro +107 -43
  81. package/src/components/Section.astro +13 -242
  82. package/src/components/Select.astro +45 -55
  83. package/src/components/Sidebar.astro +53 -76
  84. package/src/components/Social.astro +11 -9
  85. package/src/components/Socials.astro +9 -5
  86. package/src/components/Stack.astro +25 -0
  87. package/src/components/Subheader.astro +59 -0
  88. package/src/components/Switch.astro +72 -29
  89. package/src/components/Table.astro +1 -1
  90. package/src/components/Tagline.astro +31 -13
  91. package/src/components/Textarea.astro +40 -50
  92. package/src/components/Themer.astro +76 -0
  93. package/src/components/Toc.astro +30 -37
  94. package/src/components/Writeup.astro +34 -65
  95. package/src/components/_Author.astro +90 -0
  96. package/src/components/_Header.astro +129 -0
  97. package/src/components/_Image.astro +79 -0
  98. package/src/components/_Prose copy.astro +172 -0
  99. package/src/components/_Sidebar copy.astro +87 -0
  100. package/src/components/docs/PropsTable.astro +38 -264
  101. package/src/components/experimental/Window.astro +5 -57
  102. package/src/content/config.ts +3 -10
  103. package/src/content/{presets → layouts}/base.yml +52 -73
  104. package/src/content/pages/blocks/_categories.mdx +0 -2
  105. package/src/content/pages/blocks/_footer.mdx +0 -2
  106. package/src/content/pages/blocks/_header.mdx +0 -4
  107. package/src/content/pages/blocks/_jobs.mdx +0 -2
  108. package/src/content/pages/blocks/_prices.mdx +0 -2
  109. package/src/content/pages/blocks/_product.mdx +0 -2
  110. package/src/content/pages/blocks/_products.mdx +0 -2
  111. package/src/content/pages/blocks/_stats.mdx +0 -2
  112. package/src/content/pages/blocks/banner.mdx +0 -2
  113. package/src/content/pages/blocks/colleagues.mdx +0 -3
  114. package/src/content/pages/blocks/contact.mdx +0 -2
  115. package/src/content/pages/blocks/content.mdx +0 -6
  116. package/src/content/pages/blocks/cta.mdx +0 -10
  117. package/src/content/pages/blocks/features.mdx +0 -5
  118. package/src/content/pages/blocks/hero.mdx +0 -5
  119. package/src/content/pages/blocks/intro.mdx +0 -5
  120. package/src/content/pages/blocks/posts.mdx +0 -2
  121. package/src/content/pages/blocks/reviews.mdx +0 -3
  122. package/src/content/pages/categories/category.md +7 -0
  123. package/src/content/pages/docs/_internationalization.mdx +55 -0
  124. package/src/content/pages/docs/_using-blocks.mdx +33 -0
  125. package/src/content/pages/docs/_using-presets.mdx +49 -0
  126. package/src/content/pages/docs/blocks.mdx +33 -0
  127. package/src/content/pages/docs/collections/images.mdx +102 -0
  128. package/src/content/pages/docs/collections/pages.mdx +119 -0
  129. package/src/content/pages/docs/collections/presets.mdx +60 -0
  130. package/src/content/pages/docs/collections.mdx +42 -0
  131. package/src/content/pages/{base/card.mdx → docs/components/_card.mdx} +2 -5
  132. package/src/content/pages/{base → docs/components}/_dialog.mdx +1 -2
  133. package/src/content/pages/{base → docs/components}/_drawer.mdx +1 -2
  134. package/src/content/pages/{base → docs/components}/_localeswitcher.mdx +1 -2
  135. package/src/content/pages/{base → docs/components}/_switch.mdx +3 -4
  136. package/src/content/pages/{typography → docs/components}/_tagline.mdx +3 -4
  137. package/src/content/pages/docs/components/_toggle.mdx +30 -0
  138. package/src/content/pages/docs/components/avatar.mdx +34 -0
  139. package/src/content/pages/{base → docs/components}/badge.mdx +28 -10
  140. package/src/content/pages/docs/components/badges.mdx +46 -0
  141. package/src/content/pages/docs/components/button.mdx +78 -0
  142. package/src/content/pages/docs/components/buttons.mdx +51 -0
  143. package/src/content/pages/docs/components/channel.mdx +91 -0
  144. package/src/content/pages/docs/components/channels.mdx +89 -0
  145. package/src/content/pages/docs/components/checkbox.mdx +34 -0
  146. package/src/content/pages/docs/components/code.mdx +45 -0
  147. package/src/content/pages/docs/components/heading.mdx +59 -0
  148. package/src/content/pages/docs/components/icon.mdx +48 -0
  149. package/src/content/pages/docs/components/image.mdx +25 -0
  150. package/src/content/pages/docs/components/input.mdx +40 -0
  151. package/src/content/pages/{typography → docs/components}/label.mdx +9 -6
  152. package/src/content/pages/{typography → docs/components}/link.mdx +24 -10
  153. package/src/content/pages/docs/components/links.mdx +99 -0
  154. package/src/content/pages/docs/components/list.mdx +44 -0
  155. package/src/content/pages/docs/components/logo.mdx +36 -0
  156. package/src/content/pages/docs/components/menu.mdx +89 -0
  157. package/src/content/pages/docs/components/prose.mdx +36 -0
  158. package/src/content/pages/docs/components/rating.mdx +76 -0
  159. package/src/content/pages/{base → docs/components}/section.mdx +2 -3
  160. package/src/content/pages/{base → docs/components}/select.mdx +1 -11
  161. package/src/content/pages/docs/components/social.mdx +94 -0
  162. package/src/content/pages/docs/components/socials.mdx +102 -0
  163. package/src/content/pages/docs/components/switch.mdx +34 -0
  164. package/src/content/pages/{base → docs/components}/table.mdx +1 -4
  165. package/src/content/pages/docs/components/tagline.mdx +46 -0
  166. package/src/content/pages/docs/components/text.mdx +48 -0
  167. package/src/content/pages/docs/components/textarea.mdx +34 -0
  168. package/src/content/pages/docs/components/themer.mdx +49 -0
  169. package/src/content/pages/docs/components.mdx +37 -0
  170. package/src/content/pages/docs/customization.mdx +151 -0
  171. package/src/content/pages/docs/frameworks.mdx +29 -0
  172. package/src/content/pages/docs/generating-pages.mdx +129 -0
  173. package/src/content/pages/docs/index.mdx +20 -0
  174. package/src/content/pages/docs/installation.mdx +50 -0
  175. package/src/content/pages/docs/layouts.mdx +33 -0
  176. package/src/content/pages/index.mdx +25 -33
  177. package/src/content/pages/posts/post.md +7 -0
  178. package/src/content/pages/products/product.md +20 -0
  179. package/src/content/pages/showcase/anti-slip-profiles.md +2 -2
  180. package/src/content/pages/showcase/fulldev-ui.md +1 -1
  181. package/src/content/pages/showcase/lavis-detailing.md +1 -1
  182. package/src/content/pages/showcase/leren-trainingsacteren.md +1 -1
  183. package/src/content/pages/showcase/miele-witgoedcenter-amsterdam.md +1 -1
  184. package/src/content/pages/showcase/sloepverhuur-bolsward.md +1 -1
  185. package/src/content/pages/showcase/stark-vulcanising-products.md +1 -1
  186. package/src/content/pages/showcase/the-gym-haren.md +1 -1
  187. package/src/content/pages/showcase/van-dillen-antieke-bouwmaterialen.md +1 -1
  188. package/src/content/pages/showcase.mdx +4 -3
  189. package/src/css/color.css +0 -10
  190. package/src/css/custom.css +10 -12
  191. package/src/css/size.css +2 -11
  192. package/src/css/theme.css +95 -0
  193. package/src/env.d.ts +1 -0
  194. package/src/images/favicon/android-chrome-192x192.png +0 -0
  195. package/src/images/favicon/android-chrome-512x512.png +0 -0
  196. package/src/images/favicon/apple-touch-icon.png +0 -0
  197. package/src/images/favicon/browserconfig.xml +9 -0
  198. package/src/images/favicon/favicon-16x16.png +0 -0
  199. package/src/images/favicon/favicon-32x32.png +0 -0
  200. package/src/images/favicon/favicon-48x48.png +0 -0
  201. package/src/images/favicon/favicon.ico +0 -0
  202. package/src/images/favicon/favicon.svg +16 -0
  203. package/src/images/favicon/manifest.webmanifest +30 -0
  204. package/src/images/favicon/mstile-150x150.png +0 -0
  205. package/src/images/favicon/safari-pinned-tab.svg +16 -0
  206. package/src/images/favicon/yandex-browser-50x50.png +0 -0
  207. package/src/images/favicon/yandex-browser-manifest.json +9 -0
  208. package/src/images/logo-1.svg +11 -0
  209. package/src/images/logo-2.svg +13 -0
  210. package/src/images/logo-basic.svg +10 -0
  211. package/src/images/logo-simple.svg +13 -0
  212. package/src/images/logo-thin.svg +15 -0
  213. package/src/images/logo.svg +14 -0
  214. package/src/images/logofat.svg +11 -0
  215. package/src/integration/index.ts +110 -140
  216. package/src/layouts/Category.astro +136 -0
  217. package/src/layouts/Doc.astro +56 -0
  218. package/src/layouts/Job.astro +60 -0
  219. package/src/layouts/Page.astro +29 -0
  220. package/src/layouts/Post.astro +52 -0
  221. package/src/layouts/Product.astro +114 -0
  222. package/src/pages/[...page].astro +29 -24
  223. package/src/pages/test.astro +37 -0
  224. package/src/schemas/components/avatar.ts +4 -1
  225. package/src/schemas/components/badge.ts +16 -11
  226. package/src/schemas/components/block.ts +60 -0
  227. package/src/schemas/components/button.ts +17 -14
  228. package/src/schemas/components/channel.ts +15 -9
  229. package/src/schemas/components/footer.ts +15 -21
  230. package/src/schemas/components/head.ts +17 -0
  231. package/src/schemas/components/header.ts +19 -7
  232. package/src/schemas/components/heading.ts +7 -1
  233. package/src/schemas/components/icon.ts +7 -1
  234. package/src/schemas/components/image.ts +38 -16
  235. package/src/schemas/components/link.ts +17 -0
  236. package/src/schemas/components/logo.ts +12 -2
  237. package/src/schemas/components/menu.ts +11 -11
  238. package/src/schemas/components/navigation.ts +10 -0
  239. package/src/schemas/components/paragraph.ts +9 -0
  240. package/src/schemas/components/price.ts +7 -1
  241. package/src/schemas/components/rating.ts +8 -13
  242. package/src/schemas/components/sidebar.ts +14 -11
  243. package/src/schemas/components/social.ts +16 -1
  244. package/src/schemas/components/tagline.ts +7 -1
  245. package/src/schemas/imageSchema.ts +33 -4
  246. package/src/schemas/page.ts +39 -0
  247. package/src/stores/cart.svelte.ts +79 -0
  248. package/src/stores/cart.ts +59 -6
  249. package/src/types/global-props.ts +0 -9
  250. package/src/types/{virtual-modules.d.ts → virtual.d.ts} +1 -1
  251. package/src/utils/cart.ts +1 -10
  252. package/src/utils/formatEntries.ts +8 -0
  253. package/src/utils/formatEntry.ts +29 -0
  254. package/src/utils/getDeepReferenceChildren.ts +14 -0
  255. package/src/utils/getHref.ts +6 -0
  256. package/src/utils/getReferenceChildren.ts +1 -1
  257. package/src/utils/setTheme.ts +18 -0
  258. package/src/utils/slugify.ts +6 -0
  259. package/svelte.config.js +5 -0
  260. package/tailwind.config.ts +71 -0
  261. package/tsconfig.json +1 -3
  262. package/src/blocks/Article.astro +0 -40
  263. package/src/blocks/Categories.astro +0 -12
  264. package/src/blocks/Colleagues.astro +0 -13
  265. package/src/blocks/Contact.astro +0 -116
  266. package/src/blocks/Content.astro +0 -12
  267. package/src/blocks/Cta.astro +0 -15
  268. package/src/blocks/Excerpt.astro +0 -14
  269. package/src/blocks/Features.astro +0 -11
  270. package/src/blocks/Hero.astro +0 -15
  271. package/src/blocks/Intro.astro +0 -23
  272. package/src/blocks/Jobs.astro +0 -12
  273. package/src/blocks/Posts.astro +0 -11
  274. package/src/blocks/Prices.astro +0 -24
  275. package/src/blocks/Product.astro +0 -110
  276. package/src/blocks/Products.astro +0 -11
  277. package/src/blocks/Reviews.astro +0 -13
  278. package/src/components/CartForm.astro +0 -121
  279. package/src/components/CartList.astro +0 -134
  280. package/src/components/Footer.astro +0 -193
  281. package/src/components/Text.astro +0 -43
  282. package/src/components/ThemeSelect.astro +0 -41
  283. package/src/components/experimental/Form.astro +0 -53
  284. package/src/components/experimental/Gallery.astro +0 -104
  285. package/src/components/experimental/Logo.astro +0 -38
  286. package/src/components/experimental/Prose.astro +0 -192
  287. package/src/components/sections.astro +0 -28
  288. package/src/content/pages/base/button.mdx +0 -60
  289. package/src/content/pages/base/checkbox.mdx +0 -42
  290. package/src/content/pages/base/icon.mdx +0 -55
  291. package/src/content/pages/base/image.mdx +0 -42
  292. package/src/content/pages/base/input.mdx +0 -56
  293. package/src/content/pages/base/rating.mdx +0 -55
  294. package/src/content/pages/base/textarea.mdx +0 -58
  295. package/src/content/pages/base/theme-select.mdx +0 -15
  296. package/src/content/pages/layouts/_layout.mdx +0 -14
  297. package/src/content/pages/layouts/docslayout.mdx +0 -14
  298. package/src/content/pages/overview/components.mdx +0 -75
  299. package/src/content/pages/overview/content-collections.mdx +0 -139
  300. package/src/content/pages/overview/frameworks.mdx +0 -198
  301. package/src/content/pages/overview/installation.mdx +0 -53
  302. package/src/content/pages/overview/introduction.mdx +0 -30
  303. package/src/content/pages/overview/theming.mdx +0 -69
  304. package/src/content/pages/schemas/page.mdx +0 -17
  305. package/src/content/pages/schemas/preset.mdx +0 -9
  306. package/src/content/pages/showcase/record.md +0 -3
  307. package/src/content/pages/typography/heading.mdx +0 -73
  308. package/src/content/pages/typography/list.mdx +0 -51
  309. package/src/content/pages/typography/text.mdx +0 -61
  310. package/src/content/presets/blocks.yml +0 -1
  311. package/src/content/presets/docs.yml +0 -6
  312. package/src/css/space.css +0 -77
  313. package/src/css/styles.css +0 -0
  314. package/src/images/avatar-1.yml +0 -1
  315. package/src/integration/generate-colors.ts +0 -639
  316. package/src/integration/tailwind-plugin.ts +0 -80
  317. package/src/integration/unocss-preset.ts +0 -84
  318. package/src/layouts/BlockLayout.astro +0 -19
  319. package/src/layouts/ContactLayout.astro +0 -21
  320. package/src/layouts/DocsLayout.astro +0 -73
  321. package/src/layouts/Layout.astro +0 -163
  322. package/src/layouts/OverviewLayout.astro +0 -42
  323. package/src/layouts/PostLayout.astro +0 -21
  324. package/src/layouts/ProductLayout.astro +0 -21
  325. package/src/loaders/imageLoader.ts +0 -26
  326. package/src/schemas/components/avatars.ts +0 -4
  327. package/src/schemas/components/buttons.ts +0 -4
  328. package/src/schemas/components/card.ts +0 -25
  329. package/src/schemas/components/cards.ts +0 -4
  330. package/src/schemas/components/channels.ts +0 -4
  331. package/src/schemas/components/images.ts +0 -4
  332. package/src/schemas/components/list.ts +0 -3
  333. package/src/schemas/components/section.ts +0 -15
  334. package/src/schemas/components/sections.ts +0 -3
  335. package/src/schemas/components/socials.ts +0 -4
  336. package/src/schemas/components/text.ts +0 -3
  337. package/src/schemas/components/toc.ts +0 -3
  338. package/src/schemas/components/writeup.ts +0 -20
  339. package/src/schemas/pageSchema.ts +0 -101
  340. package/src/schemas/presetSchema.ts +0 -3
  341. package/src/schemas/utils/navigation.ts +0 -8
  342. package/src/schemas/utils/parents.ts +0 -3
@@ -1,60 +0,0 @@
1
- ---
2
- presets: [docs]
3
-
4
- title: Button
5
- ---
6
-
7
- # Button
8
-
9
- import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
10
-
11
- ```astro live
12
- ---
13
- import Button from 'fulldev-ui/components/Button.astro'
14
- ---
15
-
16
- <Button color="brand">Button</Button>
17
- ```
18
-
19
- ## Props
20
-
21
- <PropsTable />
22
-
23
- ## Examples
24
-
25
- ```astro live
26
- ---
27
- import Button from 'fulldev-ui/components/Button.astro'
28
- ---
29
-
30
- <Button variant="primary">Button</Button>
31
- <Button variant="secondary">Button</Button>
32
- <Button variant="tertiary">Button</Button>
33
- ```
34
-
35
- ```astro live
36
- ---
37
- import Button from 'fulldev-ui/components/Button.astro'
38
- ---
39
-
40
- <Button icon="circle" text="Button" text="Buttontje" />
41
- ```
42
-
43
- ```astro live
44
- ---
45
- import Button from 'fulldev-ui/components/Button.astro'
46
- ---
47
-
48
- <Button size="sm" text="Button" />
49
- <Button size="md" text="Button" />
50
- <Button size="lg" text="Button" />
51
- ```
52
-
53
- ```astro live
54
- ---
55
- import Button from 'fulldev-ui/components/Button.astro'
56
- ---
57
-
58
- <Button color="base" text="Button" />
59
- <Button color="brand" text="Button" />
60
- ```
@@ -1,42 +0,0 @@
1
- ---
2
- presets: [docs]
3
-
4
- title: Checkbox
5
- ---
6
-
7
- # Checkbox
8
-
9
- import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
10
-
11
- ## Props
12
-
13
- <PropsTable />
14
-
15
- ## Examples
16
-
17
- ```astro live
18
- ---
19
- import Checkbox from 'fulldev-ui/components/Checkbox.astro'
20
- ---
21
-
22
- <Checkbox label="My Checkbox" color="base" />
23
- ```
24
-
25
- ```astro live
26
- ---
27
- import Checkbox from 'fulldev-ui/components/Checkbox.astro'
28
- ---
29
-
30
- <Checkbox label="Base" color="base" />
31
- <Checkbox label="Brand" color="brand" />
32
- ```
33
-
34
- ```astro live
35
- ---
36
- import Checkbox from 'fulldev-ui/components/Checkbox.astro'
37
- ---
38
-
39
- <Checkbox label="Small" size="sm" />
40
- <Checkbox label="Medium" size="md" />
41
- <Checkbox label="Large" size="lg" />
42
- ```
@@ -1,55 +0,0 @@
1
- ---
2
- presets: [docs]
3
-
4
- title: Icon
5
- ---
6
-
7
- # Icon
8
-
9
- We use [Tabler Icons](https://tablericons.com/) under the hood, you can use any of those icons by having the `name` prop match one of the icon names.
10
-
11
- ```astro live
12
- ---
13
- import Icon from 'fulldev-ui/components/Icon.astro'
14
- ---
15
-
16
- <Icon name="code" color="brand" size="lg" />
17
- ```
18
-
19
- import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
20
-
21
- ## Props
22
-
23
- <PropsTable />
24
-
25
- ## Examples
26
-
27
- ```astro live
28
- ---
29
- import Icon from 'fulldev-ui/components/Icon.astro'
30
- ---
31
-
32
- <Icon name="circle" />
33
- <Icon name="arrow-right" />
34
- <Icon name="brand-x" />
35
- <Icon name="brand-github" />
36
- ```
37
-
38
- ```astro live
39
- ---
40
- import Icon from 'fulldev-ui/components/Icon.astro'
41
- ---
42
-
43
- <Icon size="sm" name="circle" />
44
- <Icon size="md" name="circle" />
45
- <Icon size="lg" name="circle" />
46
- ```
47
-
48
- ```astro live
49
- ---
50
- import Icon from 'fulldev-ui/components/Icon.astro'
51
- ---
52
-
53
- <Icon color="base" name="circle" />
54
- <Icon color="brand" name="circle" />
55
- ```
@@ -1,42 +0,0 @@
1
- ---
2
- presets: [docs]
3
-
4
- title: Image
5
- ---
6
-
7
- # Image
8
-
9
- import Link from 'fulldev-ui/components/Link.astro'
10
-
11
- To use content collections for alt texts, see <Link href="/overview/content-layer/#image-alt-collections">generateImageEntries</Link>.
12
-
13
- import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
14
-
15
- ```astro live
16
- ---
17
- import Image from 'fulldev-ui/components/Image.astro'
18
- ---
19
-
20
- <Image src="placeholder-landscape.webp" />
21
- ```
22
-
23
- ## Props
24
-
25
- <PropsTable />
26
-
27
- ## Examples
28
-
29
- ```astro live
30
- ---
31
- import Image from 'fulldev-ui/components/Image.astro'
32
- ---
33
-
34
- {/* image in public/images/ */}
35
- <Image src="/images/placeholder-landscape.webp" />
36
-
37
- {/* optimized image in public/images/ using astro:assets */}
38
- <Image src="/images/placeholder-landscape.webp" width={600} height={400} />
39
-
40
- {/* automatically optimized image in src/images/ using astro:assets */}
41
- <Image src="placeholder-landscape.webp" />
42
- ```
@@ -1,56 +0,0 @@
1
- ---
2
- presets: [docs]
3
-
4
- title: Input
5
- ---
6
-
7
- # Input
8
-
9
- import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
10
-
11
- ```astro live
12
- ---
13
- import Input from 'fulldev-ui/components/Input.astro'
14
- ---
15
-
16
- <Input
17
- label="Email"
18
- icon="mail"
19
- name="input"
20
- type="email"
21
- placeholder="This is an input"
22
- />
23
- ```
24
-
25
- ## Props
26
-
27
- <PropsTable />
28
-
29
- ## Examples
30
-
31
- ```astro live
32
- ---
33
- import Input from 'fulldev-ui/components/Input.astro'
34
- ---
35
-
36
- <Input label="Name" icon="mail" name="name" type="email" />
37
- ```
38
-
39
- ```astro live
40
- ---
41
- import Input from 'fulldev-ui/components/Input.astro'
42
- ---
43
-
44
- <Input size="sm" name="name" />
45
- <Input size="md" name="name" />
46
- <Input size="lg" name="name" />
47
- ```
48
-
49
- ```astro live
50
- ---
51
- import Input from 'fulldev-ui/components/Input.astro'
52
- ---
53
-
54
- <Input color="base" name="name" />
55
- <Input color="brand" name="name" />
56
- ```
@@ -1,55 +0,0 @@
1
- ---
2
- presets: [docs]
3
-
4
- title: Rating
5
- ---
6
-
7
- # Rating
8
-
9
- import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
10
-
11
- ```astro live
12
- ---
13
- import Rating from 'fulldev-ui/components/Rating.astro'
14
- ---
15
-
16
- <Rating avatar="avatar-1.jpeg" label="John Doe" value={4} color="brand" />
17
- ```
18
-
19
- ## Props
20
-
21
- <PropsTable />
22
-
23
- ## Examples
24
-
25
- ```astro live
26
- ---
27
- import Rating from 'fulldev-ui/components/Rating.astro'
28
- ---
29
-
30
- <Rating
31
- avatars={['avatar-1.jpeg', 'avatar-2.jpeg', 'avatar-3.jpeg', 'avatar-4.jpeg']}
32
- label="5.0 out of 86 reviews"
33
- value={5}
34
- color="brand"
35
- />
36
- ```
37
-
38
- ```astro live
39
- ---
40
- import Rating from 'fulldev-ui/components/Rating.astro'
41
- ---
42
-
43
- <Rating value={3} color="base" />
44
- <Rating value={5} color="brand" />
45
- ```
46
-
47
- ```astro live
48
- ---
49
- import Rating from 'fulldev-ui/components/Rating.astro'
50
- ---
51
-
52
- <Rating value={5} size="sm" />
53
- <Rating value={5} size="md" />
54
- <Rating value={5} size="lg" />
55
- ```
@@ -1,58 +0,0 @@
1
- ---
2
- presets: [docs]
3
-
4
- title: Textarea
5
- ---
6
-
7
- # Textarea
8
-
9
- import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
10
-
11
- ```astro live
12
- ---
13
- import Textarea from 'fulldev-ui/components/Textarea.astro'
14
- ---
15
-
16
- <Textarea name="message" placeholder="Write a message.." label="Textarea" />
17
- ```
18
-
19
- ## Props
20
-
21
- <PropsTable />
22
-
23
- ## Examples
24
-
25
- ```astro live
26
- ---
27
- import Textarea from 'fulldev-ui/components/Textarea.astro'
28
- ---
29
-
30
- <Textarea size="sm" name="message" placeholder="name" />
31
- <Textarea size="md" name="message" placeholder="name" />
32
- <Textarea size="lg" name="message" placeholder="name" />
33
- ```
34
-
35
- ```astro live
36
- ---
37
- import Textarea from 'fulldev-ui/components/Textarea.astro'
38
- ---
39
-
40
- <Textarea label="Message" name="message" placeholder="name" />
41
- ```
42
-
43
- ```astro live
44
- ---
45
- import Textarea from 'fulldev-ui/components/Textarea.astro'
46
- ---
47
-
48
- <Textarea label="Message" name="message" placeholder="name" />
49
- ```
50
-
51
- ```astro live
52
- ---
53
- import Textarea from 'fulldev-ui/components/Textarea.astro'
54
- ---
55
-
56
- <Textarea color="base" name="message" placeholder="name" />
57
- <Textarea color="brand" name="message" placeholder="name" />
58
- ```
@@ -1,15 +0,0 @@
1
- ---
2
- presets: [docs]
3
-
4
- title: ThemeSelect
5
- ---
6
-
7
- # ThemeSelect
8
-
9
- ```astro live
10
- ---
11
- import ThemeSelect from 'fulldev-ui/components/ThemeSelect.astro'
12
- ---
13
-
14
- <ThemeSelect />
15
- ```
@@ -1,14 +0,0 @@
1
- ---
2
- presets: [docs]
3
-
4
- title: Layout
5
- ---
6
-
7
- import Layout from 'fulldev-ui/layouts/Layout.astro?raw'
8
- import { Code } from 'astro:components'
9
-
10
- # Layout
11
-
12
- The Layout component is used to wrap the content of a page. It provides a structured template for your website.
13
-
14
- <Code code={Layout} lang="astro" />
@@ -1,14 +0,0 @@
1
- ---
2
- presets: [docs]
3
-
4
- title: DocsLayout
5
- ---
6
-
7
- import Layout from 'fulldev-ui/layouts/DocsLayout.astro?raw'
8
- import { Code } from 'astro:components'
9
-
10
- # DocsLayout
11
-
12
- The DocsLayout component is used to wrap the content of a page in a sidebar and a main content area and table of contents.
13
-
14
- <Code code={Layout} lang="astro" />
@@ -1,75 +0,0 @@
1
- ---
2
- presets: [docs]
3
- title: Components
4
- ---
5
-
6
- # Components
7
-
8
- Fulldev UI offers a collection of components that are styled with regular CSS, have cascading styles, and are easy to customize.
9
-
10
- ## Usage
11
-
12
- To use a component, you need to import it from the `fulldev-ui` package.
13
-
14
- ```astro
15
- ---
16
- import Button from 'fulldev-ui/components/Button.astro'
17
- ---
18
-
19
- <Button text="Click me" />
20
- ```
21
-
22
- ```astro
23
- ---
24
- import Hero from 'fulldev-ui/blocks/Hero.astro'
25
- ---
26
-
27
- <Hero text="Props here" />
28
- ```
29
-
30
- ```astro
31
- ---
32
- import Hero from 'fulldev-ui/blocks/Hero.astro'
33
- import Layout from 'fulldev-ui/layouts/Layout.astro'
34
- ---
35
-
36
- <Layout>
37
- <Hero />
38
- </Layout>
39
- ```
40
-
41
- ## Slots
42
-
43
- Even though we recommend using props to pass content into components, you can also use slots to inject content into a component.
44
-
45
- ```astro live
46
- ---
47
- import Button from 'fulldev-ui/components/Button.astro'
48
- ---
49
-
50
- {/* Slots example */}
51
- <Button>Click me</Button>
52
-
53
- {/* Props example */}
54
- <Button text="Click me" />
55
- ```
56
-
57
- ## Rendering
58
-
59
- If no content passed to a component, it will NOT render anything. unless you pass an `if` prop.
60
-
61
- ```astro live
62
- ---
63
- import Button from 'fulldev-ui/components/Button.astro'
64
- ---
65
-
66
- {/* This will not render anything */}
67
- <Button />
68
-
69
- {/* This will render a button */}
70
- <Button if={true} />
71
- ```
72
-
73
- ## Overriding Components
74
-
75
- You can override components by creating a new component with the same name as one from the library in the **src/components** directory and adding your custom code. This also works for blocks and layouts.
@@ -1,139 +0,0 @@
1
- ---
2
- presets: [docs]
3
- title: Content Collections
4
- ---
5
-
6
- import Link from 'fulldev-ui/components/Link.astro'
7
-
8
- # Content Collections
9
-
10
- We utilize <Link href="https://docs.astro.build/docs/guides/content-collections/">Astro's Content Layer</Link> to create entire websites using just content files and our components.
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.
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
- ## Type-safe frontmatter
40
-
41
- Each file has a few frontmatter objects that are important to know about. Seo has priority over title and description, however title and description is used in multiple places like a card.
42
-
43
- ```yml
44
- ---
45
- preset: [docs] # Applies the configuration from src/content/presets/docs.yml
46
- component: DocsLayout
47
-
48
- seo:
49
- title: Page Title
50
- description: This is my page description
51
- image: /image.jpg # Open Graph Image
52
-
53
- # Information on the page, this is used in places like card, sidebar, etc.
54
- title: Page Title
55
- description: This is my page description
56
-
57
- sections: # Here you generate the page by adding a component and passing props
58
- - component: Hero
59
- heading: Page Title
60
- text: This is my page description
61
- buttons:
62
- - text: Button
63
- color: brand
64
- href: /
65
- - text: Button
66
- href: /
67
- ---
68
- # This is the prose, you can use markdown here
69
- ```
70
-
71
- For all objects avaliable in the Content Layer, see the <Link href="https://ui.full.dev/schemas/page/">schemas</Link>.
72
-
73
- ### Presets
74
-
75
- Presets are configuration files that can be used to set the default values for a page. They are located in the **src/content/presets** directory and you can use them by adding the `preset` property to the frontmatter of a page or add a `basePreset` to the integration setup in the `astro.config.ts` file.
76
-
77
- ```ts
78
- import { defineConfig } from 'astro/config'
79
- import fulldev from 'fulldev-ui/integration'
80
-
81
- // https://astro.build/config
82
- export default defineConfig({
83
- integrations: [
84
- fulldev({
85
- // other options
86
- basePreset: 'base', // Applies the configuration from src/content/presets/base.yml to every page
87
- }),
88
- ],
89
- })
90
- ```
91
-
92
- ## i18n
93
-
94
- Getting started with i18n is easy, you can easily add additional languages by creating a new folder named after a language code in the **content/pages** directory and adding your content files in the new language.
95
-
96
- These pages are just as static as the others however you can merge them with the default language by adding the `i18n` key to the frontmatter.
97
-
98
- By merging pages you only need to specify the content that is different for the new language. Things like images do not need to be repeated in these new files. See example:
99
-
100
- content/pages/index.md:
101
-
102
- ```md
103
- ---
104
- sections:
105
- - component: Hero
106
- image: /image.webp
107
- heading: Page Title
108
- text: This is my page description
109
- ---
110
- ```
111
-
112
- content/pages/nl/index.md:
113
-
114
- ```md
115
- ---
116
- i18n: index
117
-
118
- sections:
119
- - component: Hero
120
- heading: Page Title
121
- text: This is my page description
122
- ---
123
- ```
124
-
125
- These return the same results
126
-
127
- ### Example structure
128
-
129
- ```bash
130
- .
131
- ├── src/
132
- │ ├── content/
133
- │ │ ├── pages/
134
- │ │ │ ├── index.md
135
- │ │ │ ├── nl/
136
- │ │ │ │ └── index.md
137
- │ │ │ └── de/
138
- │ │ │ │ └── index.md
139
- ```