fulldev-ui 0.4.28 → 0.5.0-beta.0

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 (313) hide show
  1. package/.astro/assets.mjs +1 -0
  2. package/.astro/astro/content.d.ts +547 -0
  3. package/.astro/collections/blocks.schema.json +851 -0
  4. package/.astro/collections/collections.json +63 -0
  5. package/.astro/collections/images.schema.json +22 -0
  6. package/.astro/collections/layouts.schema.json +826 -0
  7. package/.astro/collections/pages.schema.json +568 -0
  8. package/.astro/collections/presets.schema.json +489 -0
  9. package/.astro/collections/records.schema.json +822 -0
  10. package/.astro/collections/settings.schema.json +822 -0
  11. package/.astro/data-store.json +1 -0
  12. package/.astro/modules.mjs +1 -0
  13. package/.astro/settings.json +5 -0
  14. package/.astro/types.d.ts +2 -0
  15. package/CHANGELOG.md +2 -98
  16. package/CONTRIBUTING.md +2 -2
  17. package/astro.config.ts +20 -4
  18. package/package.json +26 -16
  19. package/public/favicon/android-chrome-192x192.png +0 -0
  20. package/public/favicon/android-chrome-512x512.png +0 -0
  21. package/public/favicon/apple-touch-icon.png +0 -0
  22. package/public/favicon/browserconfig.xml +7 -7
  23. package/public/favicon/favicon-16x16-dark.png +0 -0
  24. package/public/favicon/favicon-16x16.png +0 -0
  25. package/public/favicon/favicon-32x32-dark.png +0 -0
  26. package/public/favicon/favicon-32x32.png +0 -0
  27. package/public/favicon/favicon-48x48-dark.png +0 -0
  28. package/public/favicon/favicon-48x48.png +0 -0
  29. package/public/favicon/favicon-dark.ico +0 -0
  30. package/public/favicon/favicon.ico +0 -0
  31. package/public/favicon/favicon.svg +16 -0
  32. package/public/favicon/manifest.webmanifest +26 -0
  33. package/public/favicon/mstile-150x150.png +0 -0
  34. package/public/favicon/safari-pinned-tab.svg +14 -15
  35. package/public/favicon/yandex-browser-50x50.png +0 -0
  36. package/public/favicon/yandex-browser-manifest.json +9 -0
  37. package/src/blocks/Article.astro +21 -0
  38. package/src/blocks/Banner.astro +47 -0
  39. package/src/blocks/Colleagues.astro +2 -1
  40. package/src/blocks/Contact.astro +84 -99
  41. package/src/blocks/Cta.astro +2 -1
  42. package/src/blocks/Hero.astro +1 -2
  43. package/src/blocks/Intro.astro +1 -1
  44. package/src/blocks/Jobs.astro +1 -1
  45. package/src/blocks/Prices.astro +1 -1
  46. package/src/blocks/Product.astro +23 -10
  47. package/src/blocks/Reviews.astro +1 -1
  48. package/src/components/Avatar.astro +3 -20
  49. package/src/components/Badge.astro +17 -54
  50. package/src/components/Badges.astro +50 -0
  51. package/src/components/Button.astro +63 -45
  52. package/src/components/Buttons.astro +49 -0
  53. package/src/components/Card.astro +94 -177
  54. package/src/components/Cards.astro +135 -0
  55. package/src/components/Channel.astro +70 -0
  56. package/src/components/Channels.astro +37 -0
  57. package/src/components/Checkbox.astro +16 -19
  58. package/src/components/Dialog.astro +10 -11
  59. package/src/components/Drawer.astro +16 -22
  60. package/src/components/Element.astro +58 -0
  61. package/src/components/Footer.astro +141 -97
  62. package/src/components/Head.astro +7 -45
  63. package/src/components/Header.astro +78 -160
  64. package/src/components/Heading.astro +18 -26
  65. package/src/components/Icon.astro +9 -9
  66. package/src/components/Image.astro +43 -152
  67. package/src/components/Input.astro +10 -28
  68. package/src/components/Label.astro +14 -17
  69. package/src/components/Link.astro +22 -44
  70. package/src/components/List.astro +12 -10
  71. package/src/components/LocaleSwitcher.astro +25 -0
  72. package/src/components/Price.astro +38 -0
  73. package/src/components/Rating.astro +29 -25
  74. package/src/components/Search.astro +3 -3
  75. package/src/components/Section.astro +196 -236
  76. package/src/components/Select.astro +16 -34
  77. package/src/components/Sidebar.astro +112 -46
  78. package/src/components/Social.astro +28 -0
  79. package/src/components/Socials.astro +37 -0
  80. package/src/components/Switch.astro +14 -22
  81. package/src/components/Table.astro +23 -36
  82. package/src/components/Tagline.astro +11 -16
  83. package/src/components/Text.astro +17 -19
  84. package/src/components/Textarea.astro +8 -22
  85. package/src/components/ThemeSelect.astro +38 -0
  86. package/src/components/Toc.astro +100 -23
  87. package/src/components/Writeup.astro +90 -0
  88. package/src/components/docs/PropsTable.astro +229 -56
  89. package/src/components/experimental/Form.astro +10 -17
  90. package/src/components/experimental/Logo.astro +26 -9
  91. package/src/components/experimental/Prose.astro +9 -5
  92. package/src/components/experimental/Video.astro +1 -1
  93. package/src/components/experimental/Window.astro +3 -4
  94. package/src/components/sections.astro +28 -0
  95. package/src/content/config.ts +10 -7
  96. package/src/content/pages/base/_dialog.mdx +1 -2
  97. package/src/content/pages/base/_drawer.mdx +1 -2
  98. package/src/content/pages/base/_localeswitcher.mdx +17 -0
  99. package/src/content/pages/base/_switch.mdx +1 -2
  100. package/src/content/pages/base/badge.mdx +1 -12
  101. package/src/content/pages/base/button.mdx +1 -12
  102. package/src/content/pages/base/card.mdx +2 -29
  103. package/src/content/pages/base/checkbox.mdx +7 -8
  104. package/src/content/pages/base/icon.mdx +3 -2
  105. package/src/content/pages/base/image.mdx +42 -0
  106. package/src/content/pages/base/input.mdx +1 -12
  107. package/src/content/pages/base/rating.mdx +3 -14
  108. package/src/content/pages/base/section.mdx +17 -60
  109. package/src/content/pages/base/select.mdx +1 -12
  110. package/src/content/pages/base/table.mdx +1 -28
  111. package/src/content/pages/base/textarea.mdx +1 -11
  112. package/src/content/pages/base/theme-select.mdx +15 -0
  113. package/src/content/pages/blocks/_categories.mdx +3 -5
  114. package/src/content/pages/blocks/{footer.mdx → _footer.mdx} +10 -4
  115. package/src/content/pages/blocks/{header.mdx → _header.mdx} +2 -7
  116. package/src/content/pages/blocks/_jobs.mdx +1 -2
  117. package/src/content/pages/blocks/{prices.mdx → _prices.mdx} +5 -7
  118. package/src/content/pages/blocks/_product.mdx +1 -2
  119. package/src/content/pages/blocks/_products.mdx +1 -2
  120. package/src/content/pages/blocks/_stats.mdx +1 -1
  121. package/src/content/pages/blocks/{_banner.mdx → banner.mdx} +2 -2
  122. package/src/content/pages/blocks/colleagues.mdx +6 -8
  123. package/src/content/pages/blocks/contact.mdx +69 -0
  124. package/src/content/pages/blocks/content.mdx +1 -19
  125. package/src/content/pages/blocks/cta.mdx +2 -25
  126. package/src/content/pages/blocks/features.mdx +2 -3
  127. package/src/content/pages/blocks/hero.mdx +5 -3
  128. package/src/content/pages/blocks/intro.mdx +2 -5
  129. package/src/content/pages/blocks/posts.mdx +9 -2
  130. package/src/content/pages/blocks/reviews.mdx +23 -18
  131. package/src/content/pages/index.mdx +19 -20
  132. package/src/content/pages/layouts/docslayout.mdx +5 -0
  133. package/src/content/pages/layouts/layout.mdx +21 -0
  134. package/src/content/pages/layouts/pagelayout.mdx +21 -0
  135. package/src/content/pages/overview/components.mdx +70 -0
  136. package/src/content/pages/overview/content-layer.mdx +128 -0
  137. package/src/content/pages/overview/{theming.mdx → customization.mdx} +6 -6
  138. package/src/content/pages/overview/frameworks.mdx +4 -4
  139. package/src/content/pages/overview/installation.mdx +37 -3
  140. package/src/content/pages/overview/introduction.mdx +6 -2
  141. package/src/content/pages/schemas/page.mdx +11 -0
  142. package/src/content/pages/schemas/preset.mdx +9 -0
  143. package/src/content/pages/showcase/anti-slip-profiles.md +5 -0
  144. package/src/content/pages/showcase/fulldev-ui.md +5 -0
  145. package/src/content/pages/showcase/lavis-detailing.md +5 -0
  146. package/src/content/pages/showcase/leren-trainingsacteren.md +5 -0
  147. package/src/content/pages/showcase/miele-witgoedcenter-amsterdam.md +5 -0
  148. package/src/content/{records/record.yml → pages/showcase/record.md} +2 -0
  149. package/src/content/pages/showcase/sloepverhuur-bolsward.md +5 -0
  150. package/src/content/pages/showcase/stark-vulcanising-products.md +5 -0
  151. package/src/content/pages/showcase/the-gym-haren.md +5 -0
  152. package/src/content/pages/showcase/van-dillen-antieke-bouwmaterialen.md +5 -0
  153. package/src/content/pages/showcase.mdx +11 -41
  154. package/src/content/pages/typography/_tagline.mdx +1 -2
  155. package/src/content/pages/typography/heading.mdx +1 -2
  156. package/src/content/pages/typography/label.mdx +1 -2
  157. package/src/content/pages/typography/link.mdx +1 -13
  158. package/src/content/pages/typography/list.mdx +1 -2
  159. package/src/content/pages/typography/text.mdx +1 -2
  160. package/src/content/presets/base.yml +70 -0
  161. package/src/content/presets/blocks.yml +4 -0
  162. package/src/content/presets/docs.yml +65 -0
  163. package/src/css/color.css +0 -82
  164. package/src/css/custom.css +9 -56
  165. package/src/css/size.css +10 -0
  166. package/src/css/space.css +0 -8
  167. package/src/css/styles.css +0 -15
  168. package/src/images/avatar-1.yml +1 -0
  169. package/src/images/favicon.svg +16 -0
  170. package/src/integration/generate-colors.ts +2 -0
  171. package/src/integration/index.ts +49 -7
  172. package/src/layouts/BlockLayout.astro +10 -15
  173. package/src/layouts/ContactLayout.astro +21 -0
  174. package/src/layouts/ContentLayout.astro +16 -0
  175. package/src/layouts/DocsLayout.astro +85 -0
  176. package/src/layouts/Layout.astro +111 -133
  177. package/src/layouts/OverviewLayout.astro +22 -32
  178. package/src/layouts/PageLayout.astro +7 -24
  179. package/src/layouts/PostLayout.astro +8 -19
  180. package/src/layouts/ProductLayout.astro +9 -22
  181. package/src/loaders/imageLoader.ts +26 -0
  182. package/src/pages/[...page].astro +26 -23
  183. package/src/schemas/components/avatar.ts +3 -0
  184. package/src/schemas/components/avatars.ts +4 -0
  185. package/src/schemas/components/badge.ts +13 -0
  186. package/src/schemas/components/button.ts +16 -0
  187. package/src/schemas/components/buttons.ts +4 -0
  188. package/src/schemas/components/card.ts +25 -0
  189. package/src/schemas/components/cards.ts +4 -0
  190. package/src/schemas/components/channel.ts +13 -0
  191. package/src/schemas/components/channels.ts +4 -0
  192. package/src/schemas/components/footer.ts +24 -0
  193. package/src/schemas/components/header.ts +10 -0
  194. package/src/schemas/components/heading.ts +3 -0
  195. package/src/schemas/components/icon.ts +3 -0
  196. package/src/schemas/components/image.ts +18 -0
  197. package/src/schemas/components/images.ts +4 -0
  198. package/src/schemas/components/list.ts +3 -0
  199. package/src/schemas/components/logo.ts +3 -0
  200. package/src/schemas/components/price.ts +3 -0
  201. package/src/schemas/components/rating.ts +15 -0
  202. package/src/schemas/components/section.ts +15 -0
  203. package/src/schemas/components/sections.ts +3 -0
  204. package/src/schemas/components/social.ts +3 -0
  205. package/src/schemas/components/socials.ts +4 -0
  206. package/src/schemas/components/tagline.ts +3 -0
  207. package/src/schemas/components/text.ts +3 -0
  208. package/src/schemas/components/writeup.ts +20 -0
  209. package/src/schemas/imageSchema.ts +12 -0
  210. package/src/schemas/pageSchema.ts +63 -0
  211. package/src/schemas/presetSchema.ts +29 -0
  212. package/src/schemas/utils/categories.ts +3 -0
  213. package/src/schemas/utils/component.ts +17 -0
  214. package/src/schemas/utils/navigation.ts +53 -0
  215. package/src/schemas/{utils.ts → utils/pathSchema.ts} +2 -11
  216. package/src/types/global-props.d.ts +16 -0
  217. package/src/types/virtual-modules.d.ts +5 -0
  218. package/src/utils/_archive/Childmorphic.ts +1 -1
  219. package/src/utils/_archive/mergeEntries.ts +28 -0
  220. package/src/utils/getCategoryPages.ts +11 -0
  221. package/src/utils/getChildPages.ts +16 -0
  222. package/src/utils/getSiblingPages.ts +14 -0
  223. package/tsconfig.json +1 -2
  224. package/public/favicon/site.webmanifest +0 -19
  225. package/public/images/avatars/1.jpeg +0 -0
  226. package/public/images/avatars/2.jpeg +0 -0
  227. package/public/images/avatars/3.jpeg +0 -0
  228. package/public/images/avatars/300/1.jpeg +0 -0
  229. package/public/images/avatars/300/2.jpeg +0 -0
  230. package/public/images/avatars/300/3.jpeg +0 -0
  231. package/public/images/avatars/300/4.jpeg +0 -0
  232. package/public/images/avatars/4.jpeg +0 -0
  233. package/public/images/avatars/5.jpeg +0 -0
  234. package/public/images/avatars/6.jpeg +0 -0
  235. package/public/images/avatars/7.jpeg +0 -0
  236. package/public/images/avatars/8.jpeg +0 -0
  237. package/public/images/blocks/colleagues.png +0 -0
  238. package/public/images/blocks/content.png +0 -0
  239. package/public/images/blocks/cta.png +0 -0
  240. package/public/images/blocks/features.png +0 -0
  241. package/public/images/blocks/footer.png +0 -0
  242. package/public/images/blocks/header.png +0 -0
  243. package/public/images/blocks/hero.png +0 -0
  244. package/public/images/blocks/intro.png +0 -0
  245. package/public/images/blocks/posts.png +0 -0
  246. package/public/images/blocks/prices.png +0 -0
  247. package/public/images/blocks/reviews.png +0 -0
  248. package/public/images/logo-placeholder.svg +0 -1
  249. package/src/components/Bento.astro +0 -43
  250. package/src/components/Block.astro +0 -157
  251. package/src/components/Blocks.astro +0 -5
  252. package/src/components/Box.astro +0 -63
  253. package/src/components/Carousel.astro +0 -54
  254. package/src/components/Column.astro +0 -73
  255. package/src/components/Grid.astro +0 -32
  256. package/src/components/Masonry.astro +0 -42
  257. package/src/components/Root.astro +0 -94
  258. package/src/components/Row.astro +0 -49
  259. package/src/components/Split.astro +0 -59
  260. package/src/components/Spread.astro +0 -46
  261. package/src/components/Stack.astro +0 -36
  262. package/src/components/Wrap.astro +0 -42
  263. package/src/components/docs/NavigationButtons.astro +0 -59
  264. package/src/components/experimental/Channel.astro +0 -74
  265. package/src/components/experimental/Price.astro +0 -40
  266. package/src/content/pages/_changelog.mdx +0 -10
  267. package/src/content/pages/_segment/footer.mdx +0 -244
  268. package/src/content/pages/_segment/header.mdx +0 -210
  269. package/src/content/pages/base/_image.mdx +0 -14
  270. package/src/content/pages/blocks.mdx +0 -10
  271. package/src/content/pages/overview/integration.mdx +0 -37
  272. package/src/content/pages/structure/_row.mdx +0 -23
  273. package/src/content/pages/structure/_wrap.mdx +0 -25
  274. package/src/content/pages/structure/carousel.mdx +0 -31
  275. package/src/content/pages/structure/column.mdx +0 -21
  276. package/src/content/pages/structure/grid.mdx +0 -26
  277. package/src/content/pages/structure/masonry.mdx +0 -32
  278. package/src/content/pages/structure/split.mdx +0 -21
  279. package/src/content/pages/structure/spread.mdx +0 -21
  280. package/src/content/pages/structure/stack.mdx +0 -22
  281. package/src/content/settings/base.yml +0 -55
  282. package/src/content/settings/components.yml +0 -29
  283. package/src/layouts/BlockOverviewLayout.astro +0 -39
  284. package/src/layouts/ComponentLayout.astro +0 -23
  285. package/src/layouts/JobsLayout.astro +0 -40
  286. package/src/schemas/base.ts +0 -90
  287. package/src/schemas/block.ts +0 -15
  288. package/src/schemas/card.ts +0 -3
  289. package/src/schemas/page.ts +0 -43
  290. package/src/utils/mergeEntries.ts +0 -28
  291. /package/{public/showcase → src/images}/anti-slip-profiles.webp +0 -0
  292. /package/{public/images/avatars/500/1.jpeg → src/images/avatar-1.jpeg} +0 -0
  293. /package/{public/images/avatars/500/2.jpeg → src/images/avatar-2.jpeg} +0 -0
  294. /package/{public/images/avatars/500/3.jpeg → src/images/avatar-3.jpeg} +0 -0
  295. /package/{public/images/avatars/500/4.jpeg → src/images/avatar-4.jpeg} +0 -0
  296. /package/{public → src}/images/avatar-placeholder.jpg +0 -0
  297. /package/{public → src}/images/block-code.png +0 -0
  298. /package/{public → src}/images/component-code.png +0 -0
  299. /package/{public/showcase → src/images}/fulldev-ui.webp +0 -0
  300. /package/{public/showcase → src/images}/lavis-detailing.webp +0 -0
  301. /package/{public/showcase → src/images}/leren-trainingsacteren.webp +0 -0
  302. /package/{public/showcase → src/images}/miele-witgoedcenter-amsterdam.webp +0 -0
  303. /package/{public → src}/images/og-image.png +0 -0
  304. /package/{public → src}/images/placeholder-center.webp +0 -0
  305. /package/{public → src}/images/placeholder-landscape-dark.png +0 -0
  306. /package/{public → src}/images/placeholder-landscape.webp +0 -0
  307. /package/{public → src}/images/placeholder-portrait.webp +0 -0
  308. /package/{public → src}/images/placeholder-right.webp +0 -0
  309. /package/{public → src}/images/placeholder.webp +0 -0
  310. /package/{public/showcase → src/images}/sloepverhuur-bolsward.webp +0 -0
  311. /package/{public/showcase → src/images}/stark-vulcanising-products.webp +0 -0
  312. /package/{public/showcase → src/images}/the-gym-haren.webp +0 -0
  313. /package/{public/showcase → src/images}/van-dillen-antieke-bouwmaterialen.webp +0 -0
@@ -1,19 +1,19 @@
1
1
  ---
2
2
  import type { HTMLTag, Polymorphic } from 'astro/types'
3
- import Root from 'fulldev-ui/components/Root.astro'
3
+ import Element from 'fulldev-ui/components/Element.astro'
4
4
 
5
5
  type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }>
6
6
 
7
7
  const { as = 'div', ...rest } = Astro.props
8
8
  ---
9
9
 
10
- <Root
10
+ <Element
11
11
  class:list="prose"
12
12
  {as}
13
13
  {...rest}
14
14
  >
15
15
  <slot />
16
- </Root>
16
+ </Element>
17
17
 
18
18
  <style is:global lang="scss">
19
19
  @layer fulldev {
@@ -21,10 +21,8 @@ const { as = 'div', ...rest } = Astro.props
21
21
  width: 100%;
22
22
  scroll-margin-top: var(--space-6);
23
23
  color: var(--color-11);
24
- font-weight: var(--font-weight);
25
24
  font-size: var(--text-3);
26
25
  line-height: 1.7;
27
- font-family: var(--font-family);
28
26
 
29
27
  > {
30
28
  .astro-code,
@@ -152,5 +150,11 @@ const { as = 'div', ...rest } = Astro.props
152
150
  text-decoration: underline;
153
151
  }
154
152
  }
153
+
154
+ p code {
155
+ background-color: var(--base-12);
156
+ padding: 0 var(--space-1);
157
+ color: var(--base-1);
158
+ }
155
159
  }
156
160
  </style>
@@ -2,7 +2,7 @@
2
2
  //
3
3
  type Props = any & {
4
4
  src: string
5
- thumbnail?: string
5
+ thumbnail?: string | undefined
6
6
  }
7
7
 
8
8
  const { src, thumbnail } = Astro.props
@@ -28,7 +28,6 @@ const isComponent =
28
28
  <div class="block window">
29
29
  <div class="button-header">
30
30
  <Button
31
- as="label"
32
31
  for={id}
33
32
  variant="secondary"
34
33
  >
@@ -64,7 +63,7 @@ const isComponent =
64
63
 
65
64
  .astro-code {
66
65
  margin: 0;
67
- background-color: var(--base-2) !important;
66
+ background-color: #191919 !important;
68
67
  padding: var(--space-5);
69
68
  }
70
69
  }
@@ -88,8 +87,8 @@ const isComponent =
88
87
  border-radius: 0px;
89
88
 
90
89
  .astro-code {
91
- border: none;
92
- border-radius: 0px;
90
+ border: none !important;
91
+ border-radius: 0px !important;
93
92
  }
94
93
  }
95
94
  }
@@ -0,0 +1,28 @@
1
+ ---
2
+ import type { ComponentProps, HTMLAttributes } from 'astro/types'
3
+ import Element from 'fulldev-ui/components/Element.astro'
4
+ import type { GlobalProps } from 'fulldev-ui/types/global-props'
5
+ import Section from './Section.astro'
6
+
7
+ interface Props extends GlobalProps, HTMLAttributes<'div'> {
8
+ sections?: ComponentProps<typeof Section>[] | undefined
9
+ }
10
+
11
+ const { sections, ...rest } = Astro.props
12
+ ---
13
+
14
+ <Element
15
+ class:list="sections"
16
+ {...rest}
17
+ >
18
+ {sections?.map((section) => <Section {...section} />)}
19
+ </Element>
20
+
21
+ <style is:global lang="scss">
22
+ @layer fulldev {
23
+ .sections {
24
+ display: flex;
25
+ flex-direction: column;
26
+ }
27
+ }
28
+ </style>
@@ -1,17 +1,20 @@
1
1
  import { defineCollection } from 'astro:content'
2
- import { page } from 'fulldev-ui/schemas/page'
2
+ import imageLoader from 'fulldev-ui/loaders/imageLoader.ts'
3
+ import imageSchema from 'fulldev-ui/schemas/imageSchema.ts'
4
+ import pageSchema from 'fulldev-ui/schemas/pageSchema.ts'
5
+ import presetSchema from 'fulldev-ui/schemas/presetSchema.ts'
3
6
 
4
7
  export const collections = {
5
8
  pages: defineCollection({
6
9
  type: 'content',
7
- schema: page,
10
+ schema: pageSchema,
8
11
  }),
9
- records: defineCollection({
12
+ presets: defineCollection({
10
13
  type: 'data',
11
- schema: page,
14
+ schema: presetSchema,
12
15
  }),
13
- settings: defineCollection({
14
- type: 'data',
15
- schema: page,
16
+ images: defineCollection({
17
+ loader: imageLoader,
18
+ schema: imageSchema,
16
19
  }),
17
20
  }
@@ -1,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Dialog
6
5
  ---
@@ -1,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Drawer
6
5
  ---
@@ -0,0 +1,17 @@
1
+ ---
2
+ presets: [docs]
3
+
4
+ title: LocaleSwitcher
5
+ ---
6
+
7
+ # Theme Switcher
8
+
9
+ ```astro live
10
+ ---
11
+ import LocaleSwitcher from 'fulldev-ui/components/LocaleSwitcher.astro'
12
+ ---
13
+
14
+ <LocaleSwitcher />
15
+ ```
16
+
17
+ ## Props
@@ -1,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Switch
6
5
  ---
@@ -1,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Badge
6
5
  ---
@@ -56,15 +55,5 @@ import Badge from 'fulldev-ui/components/Badge.astro'
56
55
  import Badge from 'fulldev-ui/components/Badge.astro'
57
56
  ---
58
57
 
59
- <Badge radius="none">Badge</Badge>
60
- <Badge radius="auto">Badge</Badge>
61
- <Badge radius="full">Badge</Badge>
62
- ```
63
-
64
- ```astro live
65
- ---
66
- import Badge from 'fulldev-ui/components/Badge.astro'
67
- ---
68
-
69
58
  <Badge icon="circle" text="Badge" />
70
59
  ```
@@ -1,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Button
6
5
  ---
@@ -59,13 +58,3 @@ import Button from 'fulldev-ui/components/Button.astro'
59
58
  <Button color="base" text="Button" />
60
59
  <Button color="brand" text="Button" />
61
60
  ```
62
-
63
- ```astro live
64
- ---
65
- import Button from 'fulldev-ui/components/Button.astro'
66
- ---
67
-
68
- <Button radius="none" text="Button" />
69
- <Button radius="auto" text="Button" />
70
- <Button radius="full" text="Button" />
71
- ```
@@ -1,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Card
6
5
  ---
@@ -32,14 +31,13 @@ import Card from 'fulldev-ui/components/Card.astro'
32
31
  ---
33
32
 
34
33
  <Card
35
- frame="panel"
36
34
  size="sm"
37
35
  heading="Lorem ipsum dolor"
38
36
  text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
39
37
  />
40
38
 
41
39
  <Card
42
- frame="fill"
40
+ panel={false}
43
41
  size="sm"
44
42
  heading="Lorem ipsum dolor"
45
43
  text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
@@ -52,21 +50,18 @@ import Card from 'fulldev-ui/components/Card.astro'
52
50
  ---
53
51
 
54
52
  <Card
55
- frame="panel"
56
53
  size="sm"
57
54
  heading="Lorem ipsum dolor"
58
55
  text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
59
56
  />
60
57
 
61
58
  <Card
62
- frame="panel"
63
59
  size="md"
64
60
  heading="Lorem ipsum dolor"
65
61
  text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
66
62
  />
67
63
 
68
64
  <Card
69
- frame="panel"
70
65
  size="lg"
71
66
  heading="Lorem ipsum dolor"
72
67
  text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
@@ -79,36 +74,14 @@ import Card from 'fulldev-ui/components/Card.astro'
79
74
  ---
80
75
 
81
76
  <Card
82
- frame="panel"
83
77
  color="base"
84
78
  heading="Lorem ipsum dolor"
85
79
  text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
86
80
  />
87
81
 
88
82
  <Card
89
- frame="panel"
90
83
  color="brand"
91
84
  heading="Lorem ipsum dolor"
92
85
  text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
93
86
  />
94
87
  ```
95
-
96
- ```astro live
97
- ---
98
- import Card from 'fulldev-ui/components/Card.astro'
99
- ---
100
-
101
- <Card
102
- frame="panel"
103
- radius="none"
104
- heading="Lorem ipsum dolor"
105
- text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
106
- />
107
-
108
- <Card
109
- frame="panel"
110
- radius="auto"
111
- heading="Lorem ipsum dolor"
112
- text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
113
- />
114
- ```
@@ -1,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Checkbox
6
5
  ---
@@ -20,7 +19,7 @@ import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
20
19
  import Checkbox from 'fulldev-ui/components/Checkbox.astro'
21
20
  ---
22
21
 
23
- <Checkbox label="Label" name="checkbox" color="base" />
22
+ <Checkbox label="My Checkbox" color="base" />
24
23
  ```
25
24
 
26
25
  ```astro live
@@ -28,8 +27,8 @@ import Checkbox from 'fulldev-ui/components/Checkbox.astro'
28
27
  import Checkbox from 'fulldev-ui/components/Checkbox.astro'
29
28
  ---
30
29
 
31
- <Checkbox name="checkbox" label="Base" color="base" />
32
- <Checkbox name="checkbox" label="Brand" color="brand" />
30
+ <Checkbox label="Base" color="base" />
31
+ <Checkbox label="Brand" color="brand" />
33
32
  ```
34
33
 
35
34
  ```astro live
@@ -37,7 +36,7 @@ import Checkbox from 'fulldev-ui/components/Checkbox.astro'
37
36
  import Checkbox from 'fulldev-ui/components/Checkbox.astro'
38
37
  ---
39
38
 
40
- <Checkbox name="checkbox" size="sm" />
41
- <Checkbox name="checkbox" size="md" />
42
- <Checkbox name="checkbox" size="lg" />
39
+ <Checkbox label="Small" size="sm" />
40
+ <Checkbox label="Medium" size="md" />
41
+ <Checkbox label="Large" size="lg" />
43
42
  ```
@@ -1,12 +1,13 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Icon
6
5
  ---
7
6
 
8
7
  # Icon
9
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
+
10
11
  ```astro live
11
12
  ---
12
13
  import Icon from 'fulldev-ui/components/Icon.astro'
@@ -0,0 +1,42 @@
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,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Input
6
5
  ---
@@ -55,13 +54,3 @@ import Input from 'fulldev-ui/components/Input.astro'
55
54
  <Input color="base" name="name" />
56
55
  <Input color="brand" name="name" />
57
56
  ```
58
-
59
- ```astro live
60
- ---
61
- import Input from 'fulldev-ui/components/Input.astro'
62
- ---
63
-
64
- <Input radius="none" name="name" />
65
- <Input radius="auto" name="name" />
66
- <Input radius="full" name="name" />
67
- ```
@@ -1,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Rating
6
5
  ---
@@ -14,12 +13,7 @@ import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
14
13
  import Rating from 'fulldev-ui/components/Rating.astro'
15
14
  ---
16
15
 
17
- <Rating
18
- avatar="/images/avatars/1.jpeg"
19
- label="John Doe"
20
- value={4}
21
- color="brand"
22
- />
16
+ <Rating avatar="avatar-1.jpeg" label="John Doe" value={4} color="brand" />
23
17
  ```
24
18
 
25
19
  ## Props
@@ -34,12 +28,7 @@ import Rating from 'fulldev-ui/components/Rating.astro'
34
28
  ---
35
29
 
36
30
  <Rating
37
- avatars={[
38
- '/images/avatars/1.jpeg',
39
- '/images/avatars/2.jpeg',
40
- '/images/avatars/3.jpeg',
41
- '/images/avatars/4.jpeg',
42
- ]}
31
+ avatars={['avatar-1.jpeg', 'avatar-2.jpeg', 'avatar-3.jpeg', 'avatar-4.jpeg']}
43
32
  label="5.0 out of 86 reviews"
44
33
  value={5}
45
34
  color="brand"
@@ -1,79 +1,36 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Section
6
5
  ---
7
6
 
8
7
  # Section
9
8
 
9
+ Please see the [blocks page](/blocks) for more examples, since they are built using sections.
10
+
10
11
  import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
11
12
 
12
13
  ```astro live
13
14
  ---
14
- import Button from 'fulldev-ui/components/Button.astro'
15
- import Heading from 'fulldev-ui/components/Heading.astro'
16
- import Image from 'fulldev-ui/components/Image.astro'
17
- import Row from 'fulldev-ui/components/Row.astro'
18
15
  import Section from 'fulldev-ui/components/Section.astro'
19
- import Text from 'fulldev-ui/components/Text.astro'
20
16
  ---
21
17
 
22
- <Section>
23
- <Heading> A section with equal columns </Heading>
24
- <Text>
25
- On mobile it's a single column, of course. All without having to think about
26
- responsiveness. It just works. Have a look at the code, it's down below.
27
- </Text>
28
- <Row>
29
- <Button href="/overview/installation">Installation</Button>
30
- <Button variant="soft" href="/structure/split"> Component </Button>
31
- </Row>
32
- <Image src="/images/placeholder-landscape.webp" />
33
- </Section>
18
+ <Section
19
+ heading="A section with equal columns"
20
+ text="On mobile it's a single column, of course. All without having to think about responsiveness. It just works. Have a look at the code, it's down below."
21
+ buttons={[
22
+ {
23
+ variant: 'primary',
24
+ href: '/overview/installation',
25
+ text: 'Installation',
26
+ contrast: true,
27
+ },
28
+ { variant: 'secondary', href: '/structure/split', text: 'Component' },
29
+ ]}
30
+ image={'/images/placeholder-landscape.webp'}
31
+ />
34
32
  ```
35
33
 
36
34
  ## Props
37
35
 
38
36
  <PropsTable />
39
-
40
- ## Examples
41
-
42
- ```astro live
43
- ---
44
- import Button from 'fulldev-ui/components/Button.astro'
45
- import Heading from 'fulldev-ui/components/Heading.astro'
46
- import Section from 'fulldev-ui/components/Section.astro'
47
- import Text from 'fulldev-ui/components/Text.astro'
48
- ---
49
-
50
- <Section variant="ghost" frame="panel">
51
- <Heading> A section with a ghost variant </Heading>
52
- <Text> This section has a ghost variant. </Text>
53
- <Button> Button </Button>
54
- </Section>
55
-
56
- <Section variant="subtle" frame="panel">
57
- <Heading> A section with a subtle variant </Heading>
58
- <Text> This section has a subtle variant. </Text>
59
- <Button> Button </Button>
60
- </Section>
61
-
62
- <Section variant="outline" frame="panel">
63
- <Heading> A section with an outline variant </Heading>
64
- <Text> This section has an outline variant. </Text>
65
- <Button> Button </Button>
66
- </Section>
67
-
68
- <Section variant="soft" frame="panel">
69
- <Heading> A section with a soft variant </Heading>
70
- <Text> This section has a soft variant. </Text>
71
- <Button> Button </Button>
72
- </Section>
73
-
74
- <Section variant="surface" frame="panel">
75
- <Heading> A section with a surface variant </Heading>
76
- <Text> This section has a surface variant. </Text>
77
- <Button> Button </Button>
78
- </Section>
79
- ```
@@ -1,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Select
6
5
 
@@ -65,13 +64,3 @@ import Select from 'fulldev-ui/components/Select.astro'
65
64
  <Select color="base" options={['Option 1', 'Option 2']} />
66
65
  <Select color="brand" options={['Option 1', 'Option 2']} />
67
66
  ```
68
-
69
- ```astro live
70
- ---
71
- import Select from 'fulldev-ui/components/Select.astro'
72
- ---
73
-
74
- <Select radius="none" options={['Option 1', 'Option 2']} />
75
- <Select radius="auto" options={['Option 1', 'Option 2']} />
76
- <Select radius="full" options={['Option 1', 'Option 2']} />
77
- ```
@@ -1,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Table
6
5
  ---
@@ -105,29 +104,3 @@ import Table from 'fulldev-ui/components/Table.astro'
105
104
  footer={['Total', '5']}
106
105
  />
107
106
  ```
108
-
109
- ```astro live
110
- ---
111
- import Table from 'fulldev-ui/components/Table.astro'
112
- ---
113
-
114
- <Table
115
- radius="none"
116
- header={['Product', 'Quantity']}
117
- body={[
118
- ['Apple', '2'],
119
- ['Banana', '3'],
120
- ]}
121
- footer={['Total', '5']}
122
- />
123
-
124
- <Table
125
- radius="auto"
126
- header={['Product', 'Quantity']}
127
- body={[
128
- ['Apple', '2'],
129
- ['Banana', '3'],
130
- ]}
131
- footer={['Total', '5']}
132
- />
133
- ```
@@ -1,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Textarea
6
5
 
@@ -62,12 +61,3 @@ import Textarea from 'fulldev-ui/components/Textarea.astro'
62
61
  <Textarea color="base" name="message" placeholder="name" />
63
62
  <Textarea color="brand" name="message" placeholder="name" />
64
63
  ```
65
-
66
- ```astro live
67
- ---
68
- import Textarea from 'fulldev-ui/components/Textarea.astro'
69
- ---
70
-
71
- <Textarea radius="none" name="message" placeholder="name" />
72
- <Textarea radius="auto" name="message" placeholder="name" />
73
- ```
@@ -0,0 +1,15 @@
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
+ ```