fulldev-ui 0.4.29 → 0.5.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/CONTRIBUTING.md +2 -2
  2. package/astro.config.ts +15 -4
  3. package/package.json +26 -16
  4. package/pnpm-lock.yaml +6473 -0
  5. package/public/favicon/android-chrome-192x192.png +0 -0
  6. package/public/favicon/android-chrome-512x512.png +0 -0
  7. package/public/favicon/apple-touch-icon.png +0 -0
  8. package/public/favicon/browserconfig.xml +7 -7
  9. package/public/favicon/favicon-16x16-dark.png +0 -0
  10. package/public/favicon/favicon-16x16.png +0 -0
  11. package/public/favicon/favicon-32x32-dark.png +0 -0
  12. package/public/favicon/favicon-32x32.png +0 -0
  13. package/public/favicon/favicon-48x48-dark.png +0 -0
  14. package/public/favicon/favicon-48x48.png +0 -0
  15. package/public/favicon/favicon-dark.ico +0 -0
  16. package/public/favicon/favicon.ico +0 -0
  17. package/public/favicon/favicon.svg +16 -0
  18. package/public/favicon/manifest.webmanifest +26 -0
  19. package/public/favicon/mstile-150x150.png +0 -0
  20. package/public/favicon/safari-pinned-tab.svg +14 -15
  21. package/public/favicon/yandex-browser-50x50.png +0 -0
  22. package/public/favicon/yandex-browser-manifest.json +9 -0
  23. package/src/blocks/Article.astro +21 -0
  24. package/src/blocks/Banner.astro +47 -0
  25. package/src/blocks/Colleagues.astro +2 -1
  26. package/src/blocks/Contact.astro +84 -99
  27. package/src/blocks/Cta.astro +2 -1
  28. package/src/blocks/Hero.astro +1 -2
  29. package/src/blocks/Intro.astro +1 -1
  30. package/src/blocks/Jobs.astro +1 -1
  31. package/src/blocks/Prices.astro +1 -1
  32. package/src/blocks/Product.astro +23 -10
  33. package/src/blocks/Reviews.astro +1 -1
  34. package/src/components/Avatar.astro +3 -20
  35. package/src/components/Badge.astro +17 -54
  36. package/src/components/Badges.astro +50 -0
  37. package/src/components/Button.astro +65 -45
  38. package/src/components/Buttons.astro +49 -0
  39. package/src/components/Card.astro +94 -177
  40. package/src/components/Cards.astro +135 -0
  41. package/src/components/Channel.astro +70 -0
  42. package/src/components/Channels.astro +37 -0
  43. package/src/components/Checkbox.astro +12 -16
  44. package/src/components/Dialog.astro +10 -12
  45. package/src/components/Drawer.astro +16 -22
  46. package/src/components/Element.astro +58 -0
  47. package/src/components/Footer.astro +139 -93
  48. package/src/components/Head.astro +7 -45
  49. package/src/components/Header.astro +78 -160
  50. package/src/components/Heading.astro +18 -26
  51. package/src/components/Icon.astro +9 -9
  52. package/src/components/Image.astro +43 -152
  53. package/src/components/Input.astro +10 -28
  54. package/src/components/Label.astro +14 -17
  55. package/src/components/Link.astro +22 -44
  56. package/src/components/List.astro +12 -10
  57. package/src/components/LocaleSwitcher.astro +25 -0
  58. package/src/components/Price.astro +38 -0
  59. package/src/components/Rating.astro +29 -25
  60. package/src/components/Search.astro +3 -3
  61. package/src/components/Section.astro +196 -236
  62. package/src/components/Select.astro +16 -34
  63. package/src/components/Sidebar.astro +123 -46
  64. package/src/components/Social.astro +28 -0
  65. package/src/components/Socials.astro +37 -0
  66. package/src/components/Switch.astro +14 -22
  67. package/src/components/Table.astro +23 -36
  68. package/src/components/Tagline.astro +11 -16
  69. package/src/components/Text.astro +17 -19
  70. package/src/components/Textarea.astro +8 -22
  71. package/src/components/ThemeSelect.astro +38 -0
  72. package/src/components/Toc.astro +98 -41
  73. package/src/components/Writeup.astro +90 -0
  74. package/src/components/docs/PropsTable.astro +229 -56
  75. package/src/components/experimental/Form.astro +10 -17
  76. package/src/components/experimental/Logo.astro +26 -9
  77. package/src/components/experimental/Prose.astro +9 -5
  78. package/src/components/experimental/Video.astro +1 -1
  79. package/src/components/experimental/Window.astro +3 -4
  80. package/src/components/sections.astro +28 -0
  81. package/src/content/config.ts +10 -7
  82. package/src/content/pages/base/_dialog.mdx +1 -2
  83. package/src/content/pages/base/_drawer.mdx +1 -2
  84. package/src/content/pages/base/_localeswitcher.mdx +17 -0
  85. package/src/content/pages/base/_switch.mdx +1 -2
  86. package/src/content/pages/base/badge.mdx +1 -12
  87. package/src/content/pages/base/button.mdx +1 -12
  88. package/src/content/pages/base/card.mdx +2 -29
  89. package/src/content/pages/base/checkbox.mdx +1 -2
  90. package/src/content/pages/base/icon.mdx +1 -2
  91. package/src/content/pages/base/image.mdx +42 -0
  92. package/src/content/pages/base/input.mdx +1 -12
  93. package/src/content/pages/base/rating.mdx +3 -14
  94. package/src/content/pages/base/section.mdx +2 -3
  95. package/src/content/pages/base/select.mdx +1 -12
  96. package/src/content/pages/base/table.mdx +1 -28
  97. package/src/content/pages/base/textarea.mdx +1 -11
  98. package/src/content/pages/base/theme-select.mdx +15 -0
  99. package/src/content/pages/blocks/_categories.mdx +3 -5
  100. package/src/content/pages/blocks/{footer.mdx → _footer.mdx} +2 -4
  101. package/src/content/pages/blocks/{header.mdx → _header.mdx} +2 -7
  102. package/src/content/pages/blocks/_jobs.mdx +1 -2
  103. package/src/content/pages/blocks/{prices.mdx → _prices.mdx} +5 -7
  104. package/src/content/pages/blocks/_product.mdx +1 -2
  105. package/src/content/pages/blocks/_products.mdx +1 -2
  106. package/src/content/pages/blocks/_stats.mdx +1 -1
  107. package/src/content/pages/blocks/{_banner.mdx → banner.mdx} +2 -2
  108. package/src/content/pages/blocks/colleagues.mdx +6 -8
  109. package/src/content/pages/blocks/contact.mdx +69 -0
  110. package/src/content/pages/blocks/content.mdx +1 -19
  111. package/src/content/pages/blocks/cta.mdx +2 -25
  112. package/src/content/pages/blocks/features.mdx +2 -3
  113. package/src/content/pages/blocks/hero.mdx +5 -3
  114. package/src/content/pages/blocks/intro.mdx +2 -5
  115. package/src/content/pages/blocks/posts.mdx +9 -2
  116. package/src/content/pages/blocks/reviews.mdx +23 -18
  117. package/src/content/pages/index.mdx +19 -20
  118. package/src/content/pages/layouts/docslayout.mdx +5 -0
  119. package/src/content/pages/layouts/layout.mdx +21 -0
  120. package/src/content/pages/layouts/pagelayout.mdx +21 -0
  121. package/src/content/pages/overview/components.mdx +70 -0
  122. package/src/content/pages/overview/content-layer.mdx +128 -0
  123. package/src/content/pages/overview/{theming.mdx → customization.mdx} +6 -6
  124. package/src/content/pages/overview/frameworks.mdx +4 -4
  125. package/src/content/pages/overview/installation.mdx +37 -3
  126. package/src/content/pages/overview/introduction.mdx +6 -2
  127. package/src/content/pages/schemas/page.mdx +11 -0
  128. package/src/content/pages/schemas/preset.mdx +9 -0
  129. package/src/content/pages/showcase/anti-slip-profiles.md +5 -0
  130. package/src/content/pages/showcase/fulldev-ui.md +5 -0
  131. package/src/content/pages/showcase/lavis-detailing.md +5 -0
  132. package/src/content/pages/showcase/leren-trainingsacteren.md +5 -0
  133. package/src/content/pages/showcase/miele-witgoedcenter-amsterdam.md +5 -0
  134. package/src/content/{records/record.yml → pages/showcase/record.md} +2 -0
  135. package/src/content/pages/showcase/sloepverhuur-bolsward.md +5 -0
  136. package/src/content/pages/showcase/stark-vulcanising-products.md +5 -0
  137. package/src/content/pages/showcase/the-gym-haren.md +5 -0
  138. package/src/content/pages/showcase/van-dillen-antieke-bouwmaterialen.md +5 -0
  139. package/src/content/pages/showcase.mdx +11 -41
  140. package/src/content/pages/typography/_tagline.mdx +1 -2
  141. package/src/content/pages/typography/heading.mdx +1 -2
  142. package/src/content/pages/typography/label.mdx +1 -2
  143. package/src/content/pages/typography/link.mdx +1 -13
  144. package/src/content/pages/typography/list.mdx +1 -2
  145. package/src/content/pages/typography/text.mdx +1 -2
  146. package/src/content/presets/base.yml +70 -0
  147. package/src/content/presets/blocks.yml +4 -0
  148. package/src/content/presets/docs.yml +65 -0
  149. package/src/css/color.css +0 -82
  150. package/src/css/custom.css +9 -56
  151. package/src/css/size.css +10 -0
  152. package/src/css/space.css +0 -8
  153. package/src/css/styles.css +0 -15
  154. package/src/images/avatar-1.yml +1 -0
  155. package/src/images/favicon.svg +16 -0
  156. package/src/integration/generate-colors.ts +2 -0
  157. package/src/integration/index.ts +67 -7
  158. package/src/layouts/BlockLayout.astro +10 -15
  159. package/src/layouts/ContactLayout.astro +21 -0
  160. package/src/layouts/ContentLayout.astro +16 -0
  161. package/src/layouts/DocsLayout.astro +85 -0
  162. package/src/layouts/Layout.astro +111 -133
  163. package/src/layouts/OverviewLayout.astro +22 -32
  164. package/src/layouts/PageLayout.astro +7 -24
  165. package/src/layouts/PostLayout.astro +8 -19
  166. package/src/layouts/ProductLayout.astro +9 -22
  167. package/src/loaders/imageLoader.ts +26 -0
  168. package/src/pages/[...page].astro +25 -21
  169. package/src/schemas/components/avatar.ts +3 -0
  170. package/src/schemas/components/avatars.ts +4 -0
  171. package/src/schemas/components/badge.ts +13 -0
  172. package/src/schemas/components/button.ts +16 -0
  173. package/src/schemas/components/buttons.ts +4 -0
  174. package/src/schemas/components/card.ts +25 -0
  175. package/src/schemas/components/cards.ts +4 -0
  176. package/src/schemas/components/channel.ts +13 -0
  177. package/src/schemas/components/channels.ts +4 -0
  178. package/src/schemas/components/footer.ts +24 -0
  179. package/src/schemas/components/header.ts +10 -0
  180. package/src/schemas/components/heading.ts +3 -0
  181. package/src/schemas/components/icon.ts +3 -0
  182. package/src/schemas/components/image.ts +18 -0
  183. package/src/schemas/components/images.ts +4 -0
  184. package/src/schemas/components/list.ts +3 -0
  185. package/src/schemas/components/logo.ts +3 -0
  186. package/src/schemas/components/price.ts +3 -0
  187. package/src/schemas/components/rating.ts +15 -0
  188. package/src/schemas/components/section.ts +15 -0
  189. package/src/schemas/components/sections.ts +3 -0
  190. package/src/schemas/components/social.ts +3 -0
  191. package/src/schemas/components/socials.ts +4 -0
  192. package/src/schemas/components/tagline.ts +3 -0
  193. package/src/schemas/components/text.ts +3 -0
  194. package/src/schemas/components/writeup.ts +20 -0
  195. package/src/schemas/imageSchema.ts +12 -0
  196. package/src/schemas/pageSchema.ts +63 -0
  197. package/src/schemas/presetSchema.ts +29 -0
  198. package/src/schemas/utils/categories.ts +3 -0
  199. package/src/schemas/utils/component.ts +17 -0
  200. package/src/schemas/utils/navigation.ts +53 -0
  201. package/src/schemas/{utils.ts → utils/pathSchema.ts} +2 -11
  202. package/src/types/global-props.d.ts +16 -0
  203. package/src/types/virtual-modules.d.ts +5 -0
  204. package/src/utils/_archive/Childmorphic.ts +1 -1
  205. package/src/utils/_archive/mergeEntries.ts +28 -0
  206. package/src/utils/getCategoryPages.ts +11 -0
  207. package/src/utils/getChildPages.ts +16 -0
  208. package/src/utils/getSiblingPages.ts +14 -0
  209. package/tsconfig.json +1 -2
  210. package/public/favicon/site.webmanifest +0 -19
  211. package/public/images/avatars/1.jpeg +0 -0
  212. package/public/images/avatars/2.jpeg +0 -0
  213. package/public/images/avatars/3.jpeg +0 -0
  214. package/public/images/avatars/300/1.jpeg +0 -0
  215. package/public/images/avatars/300/2.jpeg +0 -0
  216. package/public/images/avatars/300/3.jpeg +0 -0
  217. package/public/images/avatars/300/4.jpeg +0 -0
  218. package/public/images/avatars/4.jpeg +0 -0
  219. package/public/images/avatars/5.jpeg +0 -0
  220. package/public/images/avatars/6.jpeg +0 -0
  221. package/public/images/avatars/7.jpeg +0 -0
  222. package/public/images/avatars/8.jpeg +0 -0
  223. package/public/images/blocks/colleagues.png +0 -0
  224. package/public/images/blocks/content.png +0 -0
  225. package/public/images/blocks/cta.png +0 -0
  226. package/public/images/blocks/features.png +0 -0
  227. package/public/images/blocks/footer.png +0 -0
  228. package/public/images/blocks/header.png +0 -0
  229. package/public/images/blocks/hero.png +0 -0
  230. package/public/images/blocks/intro.png +0 -0
  231. package/public/images/blocks/posts.png +0 -0
  232. package/public/images/blocks/prices.png +0 -0
  233. package/public/images/blocks/reviews.png +0 -0
  234. package/public/images/logo-placeholder.svg +0 -1
  235. package/src/components/Bento.astro +0 -43
  236. package/src/components/Block.astro +0 -157
  237. package/src/components/Blocks.astro +0 -5
  238. package/src/components/Box.astro +0 -63
  239. package/src/components/Carousel.astro +0 -54
  240. package/src/components/Column.astro +0 -73
  241. package/src/components/Grid.astro +0 -32
  242. package/src/components/Masonry.astro +0 -42
  243. package/src/components/Root.astro +0 -94
  244. package/src/components/Row.astro +0 -49
  245. package/src/components/Split.astro +0 -59
  246. package/src/components/Spread.astro +0 -46
  247. package/src/components/Stack.astro +0 -36
  248. package/src/components/Toggle.astro +0 -46
  249. package/src/components/Wrap.astro +0 -42
  250. package/src/components/docs/NavigationButtons.astro +0 -59
  251. package/src/components/experimental/Channel.astro +0 -74
  252. package/src/components/experimental/Price.astro +0 -40
  253. package/src/content/pages/_changelog.mdx +0 -10
  254. package/src/content/pages/_segment/footer.mdx +0 -244
  255. package/src/content/pages/_segment/header.mdx +0 -210
  256. package/src/content/pages/base/_image.mdx +0 -14
  257. package/src/content/pages/base/toggle.mdx +0 -32
  258. package/src/content/pages/blocks.mdx +0 -10
  259. package/src/content/pages/overview/integration.mdx +0 -37
  260. package/src/content/pages/structure/_row.mdx +0 -23
  261. package/src/content/pages/structure/_wrap.mdx +0 -25
  262. package/src/content/pages/structure/carousel.mdx +0 -31
  263. package/src/content/pages/structure/column.mdx +0 -21
  264. package/src/content/pages/structure/grid.mdx +0 -26
  265. package/src/content/pages/structure/masonry.mdx +0 -32
  266. package/src/content/pages/structure/split.mdx +0 -21
  267. package/src/content/pages/structure/spread.mdx +0 -21
  268. package/src/content/pages/structure/stack.mdx +0 -22
  269. package/src/content/settings/base.yml +0 -55
  270. package/src/content/settings/components.yml +0 -29
  271. package/src/layouts/BlockOverviewLayout.astro +0 -39
  272. package/src/layouts/ComponentLayout.astro +0 -23
  273. package/src/layouts/JobsLayout.astro +0 -40
  274. package/src/schemas/base.ts +0 -90
  275. package/src/schemas/block.ts +0 -15
  276. package/src/schemas/card.ts +0 -3
  277. package/src/schemas/page.ts +0 -43
  278. package/src/utils/mergeEntries.ts +0 -28
  279. /package/{public/showcase → src/images}/anti-slip-profiles.webp +0 -0
  280. /package/{public/images/avatars/500/1.jpeg → src/images/avatar-1.jpeg} +0 -0
  281. /package/{public/images/avatars/500/2.jpeg → src/images/avatar-2.jpeg} +0 -0
  282. /package/{public/images/avatars/500/3.jpeg → src/images/avatar-3.jpeg} +0 -0
  283. /package/{public/images/avatars/500/4.jpeg → src/images/avatar-4.jpeg} +0 -0
  284. /package/{public → src}/images/avatar-placeholder.jpg +0 -0
  285. /package/{public → src}/images/block-code.png +0 -0
  286. /package/{public → src}/images/component-code.png +0 -0
  287. /package/{public/showcase → src/images}/fulldev-ui.webp +0 -0
  288. /package/{public/showcase → src/images}/lavis-detailing.webp +0 -0
  289. /package/{public/showcase → src/images}/leren-trainingsacteren.webp +0 -0
  290. /package/{public/showcase → src/images}/miele-witgoedcenter-amsterdam.webp +0 -0
  291. /package/{public → src}/images/og-image.png +0 -0
  292. /package/{public → src}/images/placeholder-center.webp +0 -0
  293. /package/{public → src}/images/placeholder-landscape-dark.png +0 -0
  294. /package/{public → src}/images/placeholder-landscape.webp +0 -0
  295. /package/{public → src}/images/placeholder-portrait.webp +0 -0
  296. /package/{public → src}/images/placeholder-right.webp +0 -0
  297. /package/{public → src}/images/placeholder.webp +0 -0
  298. /package/{public/showcase → src/images}/sloepverhuur-bolsward.webp +0 -0
  299. /package/{public/showcase → src/images}/stark-vulcanising-products.webp +0 -0
  300. /package/{public/showcase → src/images}/the-gym-haren.webp +0 -0
  301. /package/{public/showcase → src/images}/van-dillen-antieke-bouwmaterialen.webp +0 -0
@@ -1,8 +1,7 @@
1
1
  ---
2
- _layout: BlockLayout
2
+ presets: [docs, blocks]
3
3
 
4
4
  title: CTA
5
- image: /images/blocks/cta.png
6
5
  ---
7
6
 
8
7
  ```astro live
@@ -131,7 +130,6 @@ import Cta from 'fulldev-ui/blocks/Cta.astro'
131
130
  { text: 'Lorem ipsum', href: '' },
132
131
  ]}
133
132
  structure="spread"
134
- frame="fill"
135
133
  />
136
134
  ```
137
135
 
@@ -147,7 +145,6 @@ import Cta from 'fulldev-ui/blocks/Cta.astro'
147
145
  { text: 'Lorem ipsum', href: '' },
148
146
  ]}
149
147
  structure="spread"
150
- frame="none"
151
148
  color="brand"
152
149
  />
153
150
  ```
@@ -157,27 +154,6 @@ import Cta from 'fulldev-ui/blocks/Cta.astro'
157
154
  import Cta from 'fulldev-ui/blocks/Cta.astro'
158
155
  ---
159
156
 
160
- <Cta
161
- label="Lorem ipsum dolor"
162
- heading="Lorem ipsum dolor sit"
163
- text="Lorem ipsum dolor sit amet consectetur ades"
164
- buttons={[
165
- { text: 'Lorem ipsum', href: '' },
166
- { text: 'Lorem ipsum', href: '' },
167
- ]}
168
- position="inset"
169
- structure="split"
170
- align="center"
171
- color="brand"
172
- image="/images/placeholder-landscape.webp"
173
- />
174
- ```
175
-
176
- ```astro live
177
- ---
178
- import Cta from 'fulldev-ui/blocks/Cta.astro'
179
- ---
180
-
181
157
  <Cta
182
158
  heading="Lorem ipsum dolor sit"
183
159
  text="Lorem ipsum dolor sit amet consectetur ades"
@@ -186,6 +162,7 @@ import Cta from 'fulldev-ui/blocks/Cta.astro'
186
162
  { text: 'Lorem ipsum', href: '' },
187
163
  ]}
188
164
  position="background"
165
+ theme="dark"
189
166
  align="center"
190
167
  image="/images/placeholder-landscape-dark.png"
191
168
  />
@@ -1,8 +1,7 @@
1
1
  ---
2
- _layout: BlockLayout
2
+ presets: [docs, blocks]
3
3
 
4
4
  title: Features
5
- image: /images/blocks/features.png
6
5
  ---
7
6
 
8
7
  ```astro live
@@ -108,7 +107,7 @@ import Features from 'fulldev-ui/blocks/Features.astro'
108
107
  <Features
109
108
  heading="Lorem ipsum dolor sit"
110
109
  text="Lorem ipsum dolor sit amet consectetur adipisicing elit."
111
- frame="panel"
110
+ panel
112
111
  position="inset"
113
112
  cards={[
114
113
  {
@@ -1,8 +1,7 @@
1
1
  ---
2
- _layout: BlockLayout
2
+ presets: [docs, blocks]
3
3
 
4
4
  title: Hero
5
- image: /images/blocks/hero.png
6
5
  ---
7
6
 
8
7
  ```astro live
@@ -18,6 +17,7 @@ import Hero from 'fulldev-ui/blocks/Hero.astro'
18
17
  { text: 'Lorem ipsum', href: '' },
19
18
  { text: 'Lorem ipsum', href: '' },
20
19
  ]}
20
+ position="inset"
21
21
  image="/images/placeholder-landscape.webp"
22
22
  />
23
23
  ```
@@ -35,6 +35,7 @@ import Hero from 'fulldev-ui/blocks/Hero.astro'
35
35
  { text: 'Lorem ipsum', href: '' },
36
36
  ]}
37
37
  structure="spread"
38
+ position="inset"
38
39
  image="/images/placeholder-landscape.webp"
39
40
  />
40
41
  ```
@@ -91,7 +92,8 @@ import Hero from 'fulldev-ui/blocks/Hero.astro'
91
92
  image="/images/placeholder-landscape-dark.png"
92
93
  position="background"
93
94
  align="center"
94
- frame="viewport"
95
+ theme="dark"
95
96
  justify="center"
97
+ style={{ minHeight: '100vh', justifyContent: 'center' }}
96
98
  />
97
99
  ```
@@ -1,8 +1,7 @@
1
1
  ---
2
- _layout: BlockLayout
2
+ presets: [docs, blocks]
3
3
 
4
4
  title: Intro
5
- image: /images/blocks/intro.png
6
5
  ---
7
6
 
8
7
  ```astro live
@@ -86,7 +85,6 @@ import Intro from 'fulldev-ui/blocks/Intro.astro'
86
85
  ---
87
86
 
88
87
  <Intro
89
- frame="fill"
90
88
  variant="primary"
91
89
  heading="Lorem ipsum dolor sit amet"
92
90
  text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Nulla facilisi. Nulla facilisi. Sed do eiusmod tempor."
@@ -103,7 +101,6 @@ import Intro from 'fulldev-ui/blocks/Intro.astro'
103
101
  ---
104
102
 
105
103
  <Intro
106
- frame="fill"
107
104
  variant="primary"
108
105
  heading="Lorem ipsum dolor sit amet"
109
106
  text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Nulla facilisi. Nulla facilisi. Sed do eiusmod tempor."
@@ -120,7 +117,7 @@ import Intro from 'fulldev-ui/blocks/Intro.astro'
120
117
  ---
121
118
 
122
119
  <Intro
123
- frame="panel"
120
+ panel
124
121
  variant="primary"
125
122
  heading="Lorem ipsum dolor sit amet"
126
123
  text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Nulla facilisi. Nulla facilisi. Sed do eiusmod tempor."
@@ -1,8 +1,7 @@
1
1
  ---
2
- _layout: BlockLayout
2
+ presets: [docs, blocks]
3
3
 
4
4
  title: Posts
5
- image: /images/blocks/posts.png
6
5
  ---
7
6
 
8
7
  ```astro live
@@ -13,6 +12,7 @@ import Posts from 'fulldev-ui/blocks/Posts.astro'
13
12
  <Posts
14
13
  heading="Latest posts"
15
14
  text="Read the latest articles from our blog."
15
+ panel={false}
16
16
  cards={[
17
17
  {
18
18
  tagline: '2024-03-15',
@@ -35,6 +35,13 @@ import Posts from 'fulldev-ui/blocks/Posts.astro'
35
35
  image: '/images/placeholder-landscape.webp',
36
36
  href: '',
37
37
  },
38
+ {
39
+ tagline: '2024-03-05',
40
+ heading: 'Lorem ipsum dolor sit amet consectetur',
41
+ text: 'Discover our flexible Content block with split layout and panel options. Ideal for presenting detailed information about your products or services.',
42
+ image: '/images/placeholder-landscape.webp',
43
+ href: '',
44
+ },
38
45
  ]}
39
46
  />
40
47
  ```
@@ -1,8 +1,7 @@
1
1
  ---
2
- _layout: BlockLayout
2
+ presets: [docs, blocks]
3
3
 
4
4
  title: Reviews
5
- image: /images/blocks/reviews.png
6
5
  ---
7
6
 
8
7
  ```astro live
@@ -19,7 +18,7 @@ import Reviews from 'fulldev-ui/blocks/Reviews.astro'
19
18
  {
20
19
  rating: {
21
20
  value: 5,
22
- avatar: '/images/avatars/1.jpeg',
21
+ avatar: 'avatar-1.jpeg',
23
22
  label: 'John Doe',
24
23
  },
25
24
  heading: 'Exceptional Service',
@@ -28,7 +27,7 @@ import Reviews from 'fulldev-ui/blocks/Reviews.astro'
28
27
  {
29
28
  rating: {
30
29
  value: 5,
31
- avatar: '/images/avatars/2.jpeg',
30
+ avatar: 'avatar-2.jpeg',
32
31
  label: 'Jane Smith',
33
32
  },
34
33
  heading: 'Great Product',
@@ -37,7 +36,7 @@ import Reviews from 'fulldev-ui/blocks/Reviews.astro'
37
36
  {
38
37
  rating: {
39
38
  value: 5,
40
- avatar: '/images/avatars/3.jpeg',
39
+ avatar: 'avatar-3.jpeg',
41
40
  label: 'Mike Johnson',
42
41
  },
43
42
  heading: 'Reliable and Efficient',
@@ -46,7 +45,7 @@ import Reviews from 'fulldev-ui/blocks/Reviews.astro'
46
45
  {
47
46
  rating: {
48
47
  value: 5,
49
- avatar: '/images/avatars/4.jpeg',
48
+ avatar: 'avatar-4.jpeg',
50
49
  label: 'Emily Brown',
51
50
  },
52
51
  heading: 'Fantastic Experience',
@@ -55,7 +54,7 @@ import Reviews from 'fulldev-ui/blocks/Reviews.astro'
55
54
  {
56
55
  rating: {
57
56
  value: 5,
58
- avatar: '/images/avatars/5.jpeg',
57
+ avatar: 'avatar-1.jpeg',
59
58
  label: 'David Wilson',
60
59
  },
61
60
  heading: 'Best in Class',
@@ -64,7 +63,7 @@ import Reviews from 'fulldev-ui/blocks/Reviews.astro'
64
63
  {
65
64
  rating: {
66
65
  value: 5,
67
- avatar: '/images/avatars/6.jpeg',
66
+ avatar: 'avatar-2.jpeg',
68
67
  label: 'Sarah Davis',
69
68
  },
70
69
  heading: 'Innovative Design',
@@ -73,7 +72,7 @@ import Reviews from 'fulldev-ui/blocks/Reviews.astro'
73
72
  {
74
73
  rating: {
75
74
  value: 5,
76
- avatar: '/images/avatars/7.jpeg',
75
+ avatar: 'avatar-3.jpeg',
77
76
  label: 'Alex Taylor',
78
77
  },
79
78
  heading: 'Time-Saver',
@@ -82,7 +81,7 @@ import Reviews from 'fulldev-ui/blocks/Reviews.astro'
82
81
  {
83
82
  rating: {
84
83
  value: 5,
85
- avatar: '/images/avatars/8.jpeg',
84
+ avatar: 'avatar-4.jpeg',
86
85
  label: 'Olivia Martinez',
87
86
  },
88
87
  heading: 'Reliable and Durable',
@@ -102,10 +101,10 @@ import Reviews from 'fulldev-ui/blocks/Reviews.astro'
102
101
  value: 5,
103
102
  label: 'Rated 5,0 out of 86 reviews',
104
103
  avatars: [
105
- '/images/avatars/1.jpeg',
106
- '/images/avatars/2.jpeg',
107
- '/images/avatars/3.jpeg',
108
- '/images/avatars/4.jpeg',
104
+ 'avatar-1.jpeg',
105
+ 'avatar-2.jpeg',
106
+ 'avatar-3.jpeg',
107
+ 'avatar-4.jpeg',
109
108
  ],
110
109
  }}
111
110
  heading="What Our Customers Say"
@@ -220,28 +219,34 @@ import Reviews from 'fulldev-ui/blocks/Reviews.astro'
220
219
  heading="Customer Testimonials"
221
220
  text="See what our valued customers have to say about their experiences."
222
221
  structure="grid"
223
- frame="panel"
224
222
  variant="primary"
225
223
  cards={[
226
224
  {
227
225
  rating: 5,
228
226
  heading: 'Life-Changing Product',
229
227
  text: "This product has revolutionized my daily routine. I can't imagine life without it now!",
230
- avatar: '/images/avatars/1.jpeg',
228
+ avatar: 'avatar-1.jpeg',
231
229
  label: 'John Doe',
232
230
  },
233
231
  {
234
232
  rating: 4,
235
233
  heading: 'Great Value for Money',
236
234
  text: 'Excellent quality at a reasonable price. Definitely worth every penny.',
237
- avatar: '/images/avatars/2.jpeg',
235
+ avatar: 'avatar-2.jpeg',
238
236
  label: 'Jane Smith',
239
237
  },
240
238
  {
241
239
  rating: 5,
242
240
  heading: 'Superb Customer Service',
243
241
  text: 'The support team went above and beyond to help me. Truly impressive!',
244
- avatar: '/images/avatars/3.jpeg',
242
+ avatar: 'avatar-3.jpeg',
243
+ label: 'Mike Johnson',
244
+ },
245
+ {
246
+ rating: 5,
247
+ heading: 'Superb Customer Service',
248
+ text: 'The support team went above and beyond to help me. Truly impressive!',
249
+ avatar: 'avatar-3.jpeg',
245
250
  label: 'Mike Johnson',
246
251
  },
247
252
  ]}
@@ -1,55 +1,54 @@
1
1
  ---
2
+ presets: [base]
3
+ component: PageLayout
4
+ sidebar: false
5
+ toc: false
6
+
2
7
  seo:
3
8
  title: Fulldev UI - Astro component and block library, open-source
4
9
  description: Make websites rapidly with pre-built components and blocks.
5
- image: /images/og-image.png
10
+ image: og-image.png
11
+
12
+ title: Home
6
13
 
7
14
  sections:
8
- hero:
9
- _bookshop_name: Hero
10
- color: brand
15
+ - component: Hero
11
16
  badge:
12
- as: a
13
- text: We just released our biggest update yet 🎉
14
- href: https://discord.gg/vXZqMbadm8
17
+ text: We added layouts, now you can build entire sites
18
+ href: /overview/installation/
15
19
  heading: The Astro UI library to build content sites
16
- text: Make websites with prebuilt components and blocks
20
+ text: Make websites with prebuilt components, blocks and layouts
17
21
  buttons:
18
22
  - text: Get Started
19
- href: /overview/installation
23
+ href: /overview/installation/
20
24
  - text: GitHub
21
25
  href: https://github.com/fulldotdev/ui
22
- target: _blank
23
26
  icon: brand-github
24
-
25
- blocks:
26
- _bookshop_name: Content
27
+ - component: Article
28
+ - component: Content
27
29
  color: brand
28
30
  label: Blocks
29
31
  heading: Use pre-built blocks with just props
30
32
  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.
31
- image: /images/block-code.png
32
- reverse: odd
33
+ image: block-code.png
33
34
  buttons:
34
35
  - href: /blocks
35
36
  icon: layout
36
37
  text: View blocks
37
38
 
38
- components:
39
- _bookshop_name: Content
39
+ - component: Content
40
40
  color: brand
41
41
  label: Components
42
42
  heading: Or build your own, with easy to use components
43
43
  text: our rich set of components make it easy to build your own blocks with great customizability through props and global theming.
44
- image: /images/component-code.png
44
+ image: component-code.png
45
45
  reverse: odd
46
46
  buttons:
47
47
  - href: /base/badge
48
48
  icon: code
49
49
  text: View components
50
50
 
51
- cta:
52
- _bookshop_name: Cta
51
+ - component: Cta
53
52
  size: lg
54
53
  variant: primary
55
54
  heading: Build content websites in a fraction of time
@@ -0,0 +1,5 @@
1
+ ---
2
+ presets: [docs, blocks]
3
+
4
+ title: DocsLayout
5
+ ---
@@ -0,0 +1,21 @@
1
+ ---
2
+ presets: [docs, blocks]
3
+
4
+ title: Layout
5
+ ---
6
+
7
+ ```astro live
8
+ ---
9
+ import Hero from 'fulldev-ui/blocks/Hero.astro'
10
+ import Layout from 'fulldev-ui/layouts/Layout.astro'
11
+ ---
12
+
13
+ <Layout>
14
+ <Hero
15
+ heading="Layout"
16
+ text="The Layout component is used to wrap the content of a page."
17
+ align="center"
18
+ frame="viewport"
19
+ />
20
+ </Layout>
21
+ ```
@@ -0,0 +1,21 @@
1
+ ---
2
+ presets: [docs, blocks]
3
+
4
+ title: PageLayout
5
+ ---
6
+
7
+ ```astro live
8
+ ---
9
+ import Hero from 'fulldev-ui/blocks/Hero.astro'
10
+ import PageLayout from 'fulldev-ui/layouts/PageLayout.astro'
11
+ ---
12
+
13
+ <PageLayout>
14
+ <Hero
15
+ heading="PageLayout"
16
+ text="The PageLayout component is used to wrap the content of a page."
17
+ align="center"
18
+ frame="viewport"
19
+ />
20
+ </PageLayout>
21
+ ```
@@ -0,0 +1,70 @@
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} />
@@ -0,0 +1,128 @@
1
+ ---
2
+ presets: [docs]
3
+ title: Content Layer
4
+ ---
5
+
6
+ import Link from 'fulldev-ui/components/Link.astro'
7
+
8
+ # Content Layer
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
+ ## Manual Setup
17
+
18
+ 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="#folder-structure">file structure</Link> below for more information on how this generates a site using content files.
19
+
20
+ ```ts
21
+ import { defineConfig } from 'astro/config'
22
+ import fulldev from 'fulldev-ui/integration'
23
+
24
+ // https://astro.build/config
25
+ export default defineConfig({
26
+ integrations: [
27
+ fulldev({
28
+ // other options
29
+ injectRoutes: true,
30
+ }),
31
+ ],
32
+ })
33
+ ```
34
+
35
+ ## Folder Structure
36
+
37
+ ```
38
+ .
39
+ ├── src/
40
+ │ ├── blocks/
41
+ │ │ └── ...
42
+ │ ├── components/
43
+ │ │ └── ...
44
+ │ ├── layouts/
45
+ │ │ └── ...
46
+ │ ├── assets/
47
+ │ │ └── ...
48
+ │ ├── content/
49
+ │ │ ├── pages/
50
+ │ │ │ └── ...
51
+ │ │ ├── records/
52
+ │ │ │ └── ...
53
+ │ │ │ └── ...
54
+ │ │ ├── presets/
55
+ │ │ │ ├── base.yml
56
+ │ │ │ └── ...
57
+ │ │ └── ...
58
+ │ ├── css/
59
+ │ │ ├── custom.css
60
+ │ │ └── ...
61
+ ├── public/
62
+ │ └── ...
63
+ └──
64
+ ```
65
+
66
+ - **/src/**: The main source directory containing all the core files of the project.
67
+ - **/blocks/**: Contains reusable block components that can be composed to build pages (Custom or overwrites existing fulldev-ui blocks)
68
+ - **/components/**: Houses individual UI components used throughout the project (Custom or overwrites existing fulldev-ui components)
69
+ - **/layouts/**: Contains layout components used to structure pages (Custom or overwrites existing fulldev-ui layouts)
70
+ - **/assets/**: Contains assets like images, fonts, etc.
71
+ - **/content/**: Stores content-related files:
72
+ - **pages/**: Contains markdown or MDX files for individual pages.
73
+ - **records/**: Contains markdown or MDX files for content collections. Nested in directories by collection name.
74
+ - **/presets/**: Includes configuration files for various settings like the sidebar.
75
+ - **/css/**: Contains global CSS files and styles.
76
+
77
+ ### File Structure
78
+
79
+ 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.
80
+
81
+ ```md
82
+ ---
83
+ seo:
84
+ title: Page Title
85
+ description: This is my page description
86
+ image: /image.jpg # Open Graph Image
87
+
88
+ title: Page Title
89
+ description: This is my page description
90
+ ---
91
+ ```
92
+
93
+ For all objects avaliable in the Content Layer, see the <Link href="/schemas/page/">schemas</Link>.
94
+
95
+ ### Image Alt collection
96
+
97
+ To create yml records for images, you can simply add `generateImageEntries: true` to the integration setup. This will generate a yml file in the **src/assets/** directory with the image alt text pre set to the unslugged filename which can be customized. If turned on the Image component will automatically use these records for the alt text of local images.
98
+
99
+ ```ts
100
+ import { defineConfig } from 'astro/config'
101
+ import fulldev from 'fulldev-ui/integration'
102
+
103
+ // https://astro.build/config
104
+ export default defineConfig({
105
+ integrations: [
106
+ fulldev({
107
+ // other options
108
+ generateImageEntries: true,
109
+ }),
110
+ ],
111
+ })
112
+ ```
113
+
114
+ ## i18n
115
+
116
+ Getting started with i18n is easy, you can easily add additional languages by creating a new folder in the **content/pages** directory and adding your content files in the new language.
117
+
118
+ ```
119
+ .
120
+ ├── src/
121
+ │ ├── content/
122
+ │ │ ├── pages/
123
+ │ │ │ ├── index.md
124
+ │ │ │ ├── nl/
125
+ │ │ │ │ └── index.md
126
+ │ │ │ └── de/
127
+ │ │ │ │ └── index.md
128
+ ```
@@ -1,23 +1,23 @@
1
1
  ---
2
- _layout: PostLayout
3
- settings: components
2
+ presets: [docs]
3
+ title: Customization
4
4
  ---
5
5
 
6
6
  import Link from 'fulldev-ui/components/Link.astro'
7
7
 
8
- # Theming
8
+ # Customization
9
9
 
10
10
  ## Colors
11
11
 
12
- The color theme is inspired by / compatible with <Link href="https://www.radix-ui.com/colors">Radix Colors.</Link>
12
+ The color theme is inspired by and compatible with <Link href="https://www.radix-ui.com/colors">Radix Colors.</Link>
13
13
 
14
14
  ### Automatic setup
15
15
 
16
- With the fulldev-ui integration you can easily set a theme and generate a radix color palette. See the <Link href="/overview/integration">integration page</Link> for details.
16
+ With the fulldev-ui integration you can easily set a theme and generate a radix color palette. See the <Link href="/overview/installation/">installation page</Link> to get started with the integration.
17
17
 
18
18
  ### Manual setup
19
19
 
20
- You can define a `base` and a `brand` theme, both with 12 steps and 1 contrast step for text on step 9. For a detailed explenation see <Link href="https://www.radix-ui.com/colors/docs/palette-composition/understanding-the-scale">this page</Link>.
20
+ You can define a `base` and a `brand` theme, both with 12 steps and 1 contrast step for text on step 9. For a detailed explanation see <Link href="https://www.radix-ui.com/colors/docs/palette-composition/understanding-the-scale">this page</Link>.
21
21
 
22
22
  ```css
23
23
  :root,