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
Binary file
@@ -1,10 +1,14 @@
1
1
  {
2
2
  "name": "Fulldev UI",
3
3
  "short_name": "Fulldev UI",
4
- "description": "A Multi-platform Favicon generator for Astro Project.",
4
+ "description": "Fulldev UI",
5
5
  "dir": "auto",
6
- "lang": "en-US",
6
+ "lang": "en-GB",
7
7
  "display": "standalone",
8
+ "display_override": [
9
+ "window-controls-overlay",
10
+ "standalone"
11
+ ],
8
12
  "orientation": "any",
9
13
  "start_url": "/?homescreen=1",
10
14
  "background_color": "#fff",
@@ -20,7 +24,7 @@
20
24
  "src": "/favicon/android-chrome-512x512.png",
21
25
  "sizes": "512x512",
22
26
  "type": "image/png",
23
- "purpose": "any"
27
+ "purpose": "maskable"
24
28
  }
25
29
  ]
26
30
  }
Binary file
@@ -1,47 +1,32 @@
1
1
  ---
2
+ import type { HTMLAttributes, HTMLTag } from 'astro/types'
3
+ import Container from 'fulldev-ui/components/Container.astro'
2
4
  import Element from 'fulldev-ui/components/Element.astro'
3
- import Text from 'fulldev-ui/components/Text.astro'
5
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
4
6
 
5
- type Props = {
6
- color?: 'base' | 'brand' | undefined
7
- size?: 'sm' | 'md' | 'lg' | undefined
8
- text?: string | undefined
7
+ interface Props extends HTMLAttributes<'header'>, BlockSchema {
8
+ as?: HTMLTag
9
9
  }
10
10
 
11
- const { color = 'brand', size = 'sm', text, ...rest } = Astro.props
11
+ const { as = 'header', text, ...rest } = Astro.props
12
12
  ---
13
13
 
14
14
  <Element
15
- class:list={'banner'}
16
- as="header"
17
- {size}
18
- {color}
15
+ class:list="banner"
19
16
  {...rest}
20
17
  >
21
- <Text text={text} />
18
+ <Container>
19
+ <Fragment set:html={text} />
20
+ </Container>
22
21
  </Element>
23
22
 
24
- <style lang="scss" is:global>
23
+ <style is:global>
25
24
  @layer fulldev {
26
25
  .banner {
27
- display: flex;
28
- position: relative;
29
- justify-content: center;
30
- align-items: center;
31
- background-color: var(--color-9);
32
- padding: 0 var(--gutter);
33
- width: 100%;
34
- min-height: var(--banner-height);
35
- overflow: hidden;
36
- text-align: center;
26
+ @apply relative flex w-full items-center bg-primary py-3 text-primary-foreground;
37
27
 
38
- .text {
39
- color: var(--color-contrast);
40
- }
41
-
42
- &,
43
- & ~ * {
44
- --banner-height: 32px;
28
+ .container {
29
+ @apply flex items-center justify-center overflow-hidden bg-primary text-center text-sm leading-none text-primary-foreground;
45
30
  }
46
31
  }
47
32
  }
@@ -0,0 +1,92 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Channel from 'fulldev-ui/components/Channel.astro'
4
+ import Element from 'fulldev-ui/components/Element.astro'
5
+ import Form from 'fulldev-ui/components/Form.astro'
6
+ import Heading from 'fulldev-ui/components/Heading.astro'
7
+ import Image from 'fulldev-ui/components/Image.astro'
8
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
9
+ import Section from 'fulldev-ui/components/Section.astro'
10
+ import Social from 'fulldev-ui/components/Social.astro'
11
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
12
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
13
+
14
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
15
+
16
+ const {
17
+ heading,
18
+ form,
19
+ text,
20
+ tagline,
21
+ googleMaps,
22
+ paragraph,
23
+ buttons,
24
+ socials,
25
+ position,
26
+ image,
27
+ channels,
28
+ level = 1,
29
+ ...rest
30
+ } = Astro.props
31
+ ---
32
+
33
+ <Section
34
+ class:list="contact-1"
35
+ {...rest}
36
+ >
37
+ <Element>
38
+ <Element class:list="contact-1-segment">
39
+ <Element class:list="contact-1-content">
40
+ <Tagline
41
+ size="sm"
42
+ text={tagline}
43
+ />
44
+ <Heading
45
+ as="h1"
46
+ size="2xl"
47
+ text={heading}
48
+ />
49
+ <Paragraph text={paragraph} />
50
+ </Element>
51
+ <Element class:list="contact-1-channels">
52
+ {channels?.map((channel) => <Channel {...channel} />)}
53
+ </Element>
54
+ <Element class:list="contact-1-socials">
55
+ {socials?.map((social) => <Social href={social} />)}
56
+ </Element>
57
+ <Form
58
+ action="/thank-you"
59
+ method="POST"
60
+ {...form}
61
+ />
62
+ </Element>
63
+ <Image
64
+ {position}
65
+ {...image}
66
+ />
67
+ </Element>
68
+ </Section>
69
+
70
+ <style is:global>
71
+ @layer fulldev {
72
+ .contact-1 {
73
+ @apply relative w-full;
74
+
75
+ .container {
76
+ @apply flex flex-col gap-16;
77
+ }
78
+
79
+ .contact-1-segment {
80
+ @apply flex flex-col items-start gap-8;
81
+ }
82
+
83
+ .contact-1-content {
84
+ @apply flex max-w-screen-md flex-col gap-4;
85
+ }
86
+
87
+ .image {
88
+ @apply rounded-md;
89
+ }
90
+ }
91
+ }
92
+ </style>
@@ -0,0 +1,77 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Badge from 'fulldev-ui/components/Badge.astro'
4
+ import Button from 'fulldev-ui/components/Button.astro'
5
+ import Container from 'fulldev-ui/components/Container.astro'
6
+ import Group from 'fulldev-ui/components/Group.astro'
7
+ import Heading from 'fulldev-ui/components/Heading.astro'
8
+ import Image from 'fulldev-ui/components/Image.astro'
9
+ import List from 'fulldev-ui/components/List.astro'
10
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
11
+ import Prose from 'fulldev-ui/components/Prose.astro'
12
+ import Section from 'fulldev-ui/components/Section.astro'
13
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
14
+ import Toc from 'fulldev-ui/components/Toc.astro'
15
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
16
+
17
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {
18
+ headings?: ComponentProps<typeof Toc>['headings']
19
+ }
20
+
21
+ const {
22
+ tagline,
23
+ badge,
24
+ badges,
25
+ heading,
26
+ paragraph,
27
+ list,
28
+ button,
29
+ buttons,
30
+ image,
31
+ headings,
32
+ ...rest
33
+ } = Astro.props
34
+ ---
35
+
36
+ <Section
37
+ class:list="content-1"
38
+ {...rest}
39
+ >
40
+ <Container>
41
+ <Prose>
42
+ <Group>
43
+ <Badge {...badge} />
44
+ {badges?.map((badge) => <Badge {...badge} />)}
45
+ </Group>
46
+ <Tagline text={tagline} />
47
+ <Heading
48
+ as="h1"
49
+ size="4xl"
50
+ text={heading}
51
+ />
52
+ <Paragraph
53
+ muted
54
+ size="lg"
55
+ text={paragraph}
56
+ />
57
+ <List items={list} />
58
+ <Group>
59
+ <Button {...button} />
60
+ {buttons?.map((button) => <Button {...button} />)}
61
+ </Group>
62
+ <Image {...image} />
63
+ <slot />
64
+ </Prose>
65
+ <Toc {headings} />
66
+ </Container>
67
+ </Section>
68
+
69
+ <style is:global>
70
+ @layer fulldev {
71
+ .content-1 {
72
+ .container {
73
+ @apply flex items-start justify-evenly gap-x-gutter;
74
+ }
75
+ }
76
+ }
77
+ </style>
@@ -0,0 +1,91 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Badge from 'fulldev-ui/components/Badge.astro'
4
+ import Button from 'fulldev-ui/components/Button.astro'
5
+ import Container from 'fulldev-ui/components/Container.astro'
6
+ import Group from 'fulldev-ui/components/Group.astro'
7
+ import Heading from 'fulldev-ui/components/Heading.astro'
8
+ import Image from 'fulldev-ui/components/Image.astro'
9
+ import List from 'fulldev-ui/components/List.astro'
10
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
11
+ import Prose from 'fulldev-ui/components/Prose.astro'
12
+ import Section from 'fulldev-ui/components/Section.astro'
13
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
14
+ import Toc from 'fulldev-ui/components/Toc.astro'
15
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
16
+
17
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {
18
+ headings?: ComponentProps<typeof Toc>['headings']
19
+ }
20
+
21
+ const {
22
+ tagline,
23
+ badge,
24
+ badges,
25
+ heading,
26
+ paragraph,
27
+ list,
28
+ button,
29
+ buttons,
30
+ image,
31
+ headings,
32
+ content,
33
+ ...rest
34
+ } = Astro.props
35
+ ---
36
+
37
+ <Section
38
+ class:list="content-2"
39
+ {...rest}
40
+ >
41
+ <Container>
42
+ <Prose>
43
+ <Group>
44
+ <Badge {...badge} />
45
+ {badges?.map((badge) => <Badge {...badge} />)}
46
+ </Group>
47
+ <Tagline text={tagline} />
48
+ <Heading
49
+ as="h1"
50
+ size="4xl"
51
+ text={heading}
52
+ />
53
+ <Paragraph
54
+ muted
55
+ size="lg"
56
+ text={paragraph}
57
+ />
58
+ <List items={list} />
59
+ <Group>
60
+ <Button {...button} />
61
+ {buttons?.map((button) => <Button {...button} />)}
62
+ </Group>
63
+ <Fragment set:html={content} />
64
+ <slot />
65
+ </Prose>
66
+ <Image {...image} />
67
+ </Container>
68
+ </Section>
69
+
70
+ <style is:global>
71
+ @layer fulldev {
72
+ .content-2 {
73
+ .container {
74
+ @apply grid items-start gap-x-gutter gap-y-16 lg:grid-cols-2;
75
+ }
76
+
77
+ .prose,
78
+ .image {
79
+ @apply lg:top-sticky-16 lg:sticky;
80
+ }
81
+
82
+ .prose {
83
+ @apply max-w-screen-sm;
84
+ }
85
+
86
+ .image {
87
+ @apply rounded-md;
88
+ }
89
+ }
90
+ }
91
+ </style>
@@ -0,0 +1,70 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Badge from 'fulldev-ui/components/Badge.astro'
4
+ import Button from 'fulldev-ui/components/Button.astro'
5
+ import Container from 'fulldev-ui/components/Container.astro'
6
+ import Group from 'fulldev-ui/components/Group.astro'
7
+ import Heading from 'fulldev-ui/components/Heading.astro'
8
+ import List from 'fulldev-ui/components/List.astro'
9
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
10
+ import Prose from 'fulldev-ui/components/Prose.astro'
11
+ import Section from 'fulldev-ui/components/Section.astro'
12
+ import Writeup from 'fulldev-ui/components/Writeup.astro'
13
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
14
+
15
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
16
+
17
+ const { badges, heading, paragraph, list, button, ...rest } = Astro.props
18
+ ---
19
+
20
+ <Section
21
+ class:list="content-3"
22
+ {...rest}
23
+ >
24
+ <Container>
25
+ <Writeup>
26
+ <Group>
27
+ {
28
+ badges?.map((badge) => (
29
+ <Badge
30
+ size="sm"
31
+ {...badge}
32
+ />
33
+ ))
34
+ }
35
+ </Group>
36
+ <Heading
37
+ as="h1"
38
+ size="4xl"
39
+ text={heading}
40
+ />
41
+ <Paragraph
42
+ size="lg"
43
+ muted
44
+ text={paragraph}
45
+ />
46
+ <List items={list} />
47
+ <Button
48
+ size="lg"
49
+ {...button}
50
+ />
51
+ </Writeup>
52
+ <Prose>
53
+ <slot />
54
+ </Prose>
55
+ </Container>
56
+ </Section>
57
+
58
+ <style is:global>
59
+ @layer fulldev {
60
+ .content-3 {
61
+ .container {
62
+ @apply flex flex-col items-start gap-x-gutter lg:grid lg:grid-cols-2;
63
+ }
64
+
65
+ .writeup {
66
+ @apply lg:top-sticky-16 lg:sticky lg:max-w-xl;
67
+ }
68
+ }
69
+ }
70
+ </style>
@@ -0,0 +1,72 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Button from 'fulldev-ui/components/Button.astro'
4
+ import Container from 'fulldev-ui/components/Container.astro'
5
+ import Group from 'fulldev-ui/components/Group.astro'
6
+ import Heading from 'fulldev-ui/components/Heading.astro'
7
+ import List from 'fulldev-ui/components/List.astro'
8
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
9
+ import Prose from 'fulldev-ui/components/Prose.astro'
10
+ import Section from 'fulldev-ui/components/Section.astro'
11
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
12
+ import Writeup from 'fulldev-ui/components/Writeup.astro'
13
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
14
+
15
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
16
+
17
+ const {
18
+ tagline,
19
+ heading,
20
+ paragraph,
21
+ list,
22
+ content,
23
+ button,
24
+ buttons,
25
+ image,
26
+ ...rest
27
+ } = Astro.props
28
+ ---
29
+
30
+ <Section
31
+ class:list="content-4"
32
+ {...rest}
33
+ >
34
+ <Container>
35
+ <Writeup>
36
+ <Tagline text={tagline} />
37
+ <Heading
38
+ as="h1"
39
+ size="4xl"
40
+ text={heading}
41
+ />
42
+ <Paragraph
43
+ size="lg"
44
+ muted
45
+ text={paragraph}
46
+ />
47
+ <List items={list} />
48
+ </Writeup>
49
+ <Prose>
50
+ <Fragment set:html={content} />
51
+ <slot />
52
+ </Prose>
53
+ <Group>
54
+ <Button {...button} />
55
+ {buttons?.map((button) => <Button {...button} />)}
56
+ </Group>
57
+ </Container>
58
+ </Section>
59
+
60
+ <style is:global>
61
+ @layer fulldev {
62
+ .content-4 {
63
+ .container {
64
+ @apply flex flex-col items-start gap-8;
65
+ }
66
+
67
+ .prose {
68
+ @apply max-w-none break-inside-avoid gap-x-gutter lg:columns-2;
69
+ }
70
+ }
71
+ }
72
+ </style>
@@ -0,0 +1,58 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Buttons from 'fulldev-ui/components/Buttons.astro'
4
+ import Container from 'fulldev-ui/components/Container.astro'
5
+ import Heading from 'fulldev-ui/components/Heading.astro'
6
+ import Image from 'fulldev-ui/components/Image.astro'
7
+ import Panel from 'fulldev-ui/components/Panel.astro'
8
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
9
+ import Section from 'fulldev-ui/components/Section.astro'
10
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
11
+ import Writeup from 'fulldev-ui/components/Writeup.astro'
12
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
13
+
14
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
15
+
16
+ const { tagline, heading, paragraph, buttons, image, ...rest } = Astro.props
17
+ ---
18
+
19
+ <Section
20
+ class:list="cta-1"
21
+ {...rest}
22
+ >
23
+ <Container>
24
+ <Panel>
25
+ <Writeup align="center">
26
+ <Tagline text={tagline} />
27
+ <Heading
28
+ size="4xl"
29
+ as="h2"
30
+ text={heading}
31
+ />
32
+ <Paragraph
33
+ size="lg"
34
+ text={paragraph}
35
+ />
36
+ <Buttons
37
+ {buttons}
38
+ size="lg"
39
+ />
40
+ </Writeup>
41
+ <Image {...image} />
42
+ </Panel>
43
+ </Container>
44
+ </Section>
45
+
46
+ <style is:global>
47
+ @layer fulldev {
48
+ .cta-1 {
49
+ .text {
50
+ @apply text-pretty;
51
+ }
52
+
53
+ .image {
54
+ @apply rounded-lg;
55
+ }
56
+ }
57
+ }
58
+ </style>
@@ -0,0 +1,61 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Buttons from 'fulldev-ui/components/Buttons.astro'
4
+ import Container from 'fulldev-ui/components/Container.astro'
5
+ import Heading from 'fulldev-ui/components/Heading.astro'
6
+ import Image from 'fulldev-ui/components/Image.astro'
7
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
8
+ import Section from 'fulldev-ui/components/Section.astro'
9
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
10
+ import Writeup from 'fulldev-ui/components/Writeup.astro'
11
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
12
+
13
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
14
+
15
+ const { tagline, heading, paragraph, buttons, image, ...rest } = Astro.props
16
+ ---
17
+
18
+ <Section
19
+ class:list="feature-1"
20
+ {...rest}
21
+ >
22
+ <Container>
23
+ <Writeup>
24
+ <Tagline
25
+ size="sm"
26
+ text={tagline}
27
+ />
28
+ <Heading
29
+ size="3xl"
30
+ text={heading}
31
+ />
32
+ <Paragraph
33
+ size="lg"
34
+ text={paragraph}
35
+ />
36
+ <Buttons
37
+ variant="secondary"
38
+ {buttons}
39
+ />
40
+ </Writeup>
41
+ <Image {...image} />
42
+ </Container>
43
+ </Section>
44
+
45
+ <style is:global>
46
+ @layer fulldev {
47
+ .feature-1 {
48
+ .container {
49
+ @apply gap-x-gutter gap-y-12 lg:grid lg:grid-cols-2 lg:items-center;
50
+ }
51
+
52
+ .writeup {
53
+ @apply lg:max-w-xl;
54
+ }
55
+
56
+ .image {
57
+ @apply rounded-lg;
58
+ }
59
+ }
60
+ }
61
+ </style>
@@ -0,0 +1,66 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Container from 'fulldev-ui/components/Container.astro'
4
+ import Heading from 'fulldev-ui/components/Heading.astro'
5
+ import Icon from 'fulldev-ui/components/Icon.astro'
6
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
7
+ import Section from 'fulldev-ui/components/Section.astro'
8
+ import Stack from 'fulldev-ui/components/Stack.astro'
9
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
10
+ import Writeup from 'fulldev-ui/components/Writeup.astro'
11
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
12
+
13
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
14
+
15
+ const { tagline, heading, paragraph, cards, ...rest } = Astro.props
16
+ ---
17
+
18
+ <Section
19
+ class:list="features-1"
20
+ {...rest}
21
+ >
22
+ <Container>
23
+ <Writeup>
24
+ <Tagline
25
+ size="sm"
26
+ text={tagline}
27
+ />
28
+ <Heading
29
+ size="3xl"
30
+ text={heading}
31
+ />
32
+ <Paragraph
33
+ size="lg"
34
+ text={paragraph}
35
+ />
36
+ </Writeup>
37
+ <Stack>
38
+ {
39
+ cards?.map(({ icon, heading, paragraph }) => (
40
+ <Writeup>
41
+ <Icon
42
+ size="lg"
43
+ name={icon}
44
+ />
45
+ <Heading
46
+ as="h3"
47
+ size="xl"
48
+ text={heading}
49
+ />
50
+ <Paragraph text={paragraph} />
51
+ </Writeup>
52
+ ))
53
+ }
54
+ </Stack>
55
+ </Container>
56
+ </Section>
57
+
58
+ <style is:global>
59
+ @layer fulldev {
60
+ .features-1 {
61
+ .icon {
62
+ @apply text-primary;
63
+ }
64
+ }
65
+ }
66
+ </style>