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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/.env.example +3 -0
  2. package/.prettierrc.yaml +1 -0
  3. package/astro.config.ts +10 -34
  4. package/cloudcannon.config.yml +217 -0
  5. package/package.json +25 -29
  6. package/pnpm-lock.yaml +943 -2157
  7. package/public/favicon/android-chrome-192x192.png +0 -0
  8. package/public/favicon/android-chrome-512x512.png +0 -0
  9. package/public/favicon/apple-touch-icon.png +0 -0
  10. package/public/favicon/manifest.webmanifest +7 -3
  11. package/public/favicon/mstile-150x150.png +0 -0
  12. package/src/blocks/Banner.astro +14 -29
  13. package/src/blocks/Contact1.astro +92 -0
  14. package/src/blocks/Cta1.astro +72 -0
  15. package/src/blocks/Feature1.astro +67 -0
  16. package/src/blocks/Features1.astro +75 -0
  17. package/src/blocks/Footer.astro +100 -3
  18. package/src/blocks/Header.astro +192 -3
  19. package/src/blocks/Hero1.astro +74 -0
  20. package/src/blocks/Job1.astro +97 -0
  21. package/src/blocks/Products1.astro +90 -0
  22. package/src/blocks/Reviews1.astro +75 -0
  23. package/src/blocks/_Hero.astro +245 -0
  24. package/src/components/Avatar.astro +28 -9
  25. package/src/components/Avatars.astro +36 -0
  26. package/src/components/Badge.astro +63 -24
  27. package/src/components/Badges.astro +16 -23
  28. package/src/components/Banner.astro +26 -0
  29. package/src/components/Block.astro +49 -0
  30. package/src/components/Blocks.astro +26 -0
  31. package/src/components/Breadcrumb.astro +58 -0
  32. package/src/components/Button.astro +49 -119
  33. package/src/components/Buttons.astro +23 -13
  34. package/src/components/Card.astro +9 -137
  35. package/src/components/Cards.astro +33 -35
  36. package/src/components/Carousel.astro +106 -0
  37. package/src/components/Cart.astro +18 -14
  38. package/src/components/CartAdd.svelte +76 -0
  39. package/src/components/CartCheckout.svelte +58 -0
  40. package/src/components/CartForm.svelte +130 -0
  41. package/src/components/CartList.svelte +88 -0
  42. package/src/components/CartQuantity.svelte +81 -0
  43. package/src/components/CartSummary.astro +16 -104
  44. package/src/components/CartTotal.svelte +15 -0
  45. package/src/components/Channel.astro +44 -35
  46. package/src/components/Channels.astro +20 -6
  47. package/src/components/Checkbox.astro +52 -27
  48. package/src/components/Code.astro +52 -0
  49. package/src/components/Container.astro +25 -0
  50. package/src/components/Dialog.astro +3 -2
  51. package/src/components/Drawer.astro +55 -146
  52. package/src/components/DrawerOld.astro +143 -0
  53. package/src/components/Element.astro +18 -8
  54. package/src/components/Form.astro +16 -13
  55. package/src/components/Gallery.astro +174 -0
  56. package/src/components/Head.astro +62 -25
  57. package/src/components/Header.astro +10 -115
  58. package/src/components/Heading.astro +51 -44
  59. package/src/components/Icon.astro +29 -33
  60. package/src/components/Image.astro +18 -68
  61. package/src/components/Input.astro +65 -51
  62. package/src/components/Label.astro +20 -15
  63. package/src/components/Layout.astro +35 -0
  64. package/src/components/Link.astro +51 -32
  65. package/src/components/Links.astro +42 -0
  66. package/src/components/List.astro +41 -16
  67. package/src/components/LocaleSwitcher.astro +2 -2
  68. package/src/components/Logo.astro +56 -0
  69. package/src/components/Menu.astro +21 -17
  70. package/src/components/Navigation.astro +39 -0
  71. package/src/components/Panel.astro +25 -0
  72. package/src/components/Paragraph.astro +55 -0
  73. package/src/components/Price.astro +4 -4
  74. package/src/components/Prose.astro +78 -0
  75. package/src/components/Rating.astro +23 -62
  76. package/src/components/Search.astro +107 -43
  77. package/src/components/Section.astro +13 -242
  78. package/src/components/Select.astro +45 -55
  79. package/src/components/Sidebar.astro +53 -76
  80. package/src/components/Social.astro +11 -9
  81. package/src/components/Socials.astro +9 -5
  82. package/src/components/Subheader.astro +59 -0
  83. package/src/components/Switch.astro +72 -29
  84. package/src/components/Table.astro +1 -1
  85. package/src/components/Tagline.astro +32 -14
  86. package/src/components/Textarea.astro +40 -50
  87. package/src/components/Themer.astro +76 -0
  88. package/src/components/Toc.astro +32 -31
  89. package/src/components/_Author.astro +90 -0
  90. package/src/components/_Header.astro +129 -0
  91. package/src/components/_Image.astro +79 -0
  92. package/src/components/_Prose copy.astro +172 -0
  93. package/src/components/_Sidebar copy.astro +87 -0
  94. package/src/components/docs/PropsTable.astro +38 -264
  95. package/src/components/experimental/Window.astro +5 -57
  96. package/src/content/config.ts +4 -10
  97. package/src/content/{presets → layouts}/base.yml +52 -73
  98. package/src/content/pages/blocks/_categories.mdx +0 -2
  99. package/src/content/pages/blocks/_footer.mdx +0 -2
  100. package/src/content/pages/blocks/_header.mdx +0 -4
  101. package/src/content/pages/blocks/_jobs.mdx +0 -2
  102. package/src/content/pages/blocks/_prices.mdx +0 -2
  103. package/src/content/pages/blocks/_product.mdx +0 -2
  104. package/src/content/pages/blocks/_products.mdx +0 -2
  105. package/src/content/pages/blocks/_stats.mdx +0 -2
  106. package/src/content/pages/blocks/banner.mdx +0 -2
  107. package/src/content/pages/blocks/colleagues.mdx +0 -3
  108. package/src/content/pages/blocks/contact.mdx +0 -2
  109. package/src/content/pages/blocks/content.mdx +0 -6
  110. package/src/content/pages/blocks/cta.mdx +0 -10
  111. package/src/content/pages/blocks/features.mdx +0 -5
  112. package/src/content/pages/blocks/hero.mdx +0 -5
  113. package/src/content/pages/blocks/intro.mdx +0 -5
  114. package/src/content/pages/blocks/posts.mdx +0 -2
  115. package/src/content/pages/blocks/reviews.mdx +0 -3
  116. package/src/content/pages/categories/category.md +7 -0
  117. package/src/content/pages/docs/_internationalization.mdx +55 -0
  118. package/src/content/pages/docs/_using-blocks.mdx +33 -0
  119. package/src/content/pages/docs/_using-presets.mdx +49 -0
  120. package/src/content/pages/docs/blocks.mdx +33 -0
  121. package/src/content/pages/docs/collections/images.mdx +102 -0
  122. package/src/content/pages/docs/collections/pages.mdx +119 -0
  123. package/src/content/pages/docs/collections/presets.mdx +60 -0
  124. package/src/content/pages/docs/collections.mdx +42 -0
  125. package/src/content/pages/{base/card.mdx → docs/components/_card.mdx} +2 -5
  126. package/src/content/pages/{base → docs/components}/_dialog.mdx +1 -2
  127. package/src/content/pages/{base → docs/components}/_drawer.mdx +1 -2
  128. package/src/content/pages/{base → docs/components}/_localeswitcher.mdx +1 -2
  129. package/src/content/pages/{base → docs/components}/_switch.mdx +3 -4
  130. package/src/content/pages/{typography → docs/components}/_tagline.mdx +3 -4
  131. package/src/content/pages/docs/components/_toggle.mdx +30 -0
  132. package/src/content/pages/docs/components/avatar.mdx +34 -0
  133. package/src/content/pages/{base → docs/components}/badge.mdx +28 -10
  134. package/src/content/pages/docs/components/badges.mdx +46 -0
  135. package/src/content/pages/docs/components/button.mdx +78 -0
  136. package/src/content/pages/docs/components/buttons.mdx +51 -0
  137. package/src/content/pages/docs/components/channel.mdx +91 -0
  138. package/src/content/pages/docs/components/channels.mdx +89 -0
  139. package/src/content/pages/docs/components/checkbox.mdx +34 -0
  140. package/src/content/pages/docs/components/code.mdx +45 -0
  141. package/src/content/pages/docs/components/heading.mdx +59 -0
  142. package/src/content/pages/docs/components/icon.mdx +48 -0
  143. package/src/content/pages/docs/components/image.mdx +25 -0
  144. package/src/content/pages/docs/components/input.mdx +40 -0
  145. package/src/content/pages/{typography → docs/components}/label.mdx +9 -6
  146. package/src/content/pages/{typography → docs/components}/link.mdx +24 -10
  147. package/src/content/pages/docs/components/links.mdx +99 -0
  148. package/src/content/pages/docs/components/list.mdx +44 -0
  149. package/src/content/pages/docs/components/logo.mdx +36 -0
  150. package/src/content/pages/docs/components/menu.mdx +89 -0
  151. package/src/content/pages/docs/components/prose.mdx +36 -0
  152. package/src/content/pages/docs/components/rating.mdx +76 -0
  153. package/src/content/pages/{base → docs/components}/section.mdx +2 -3
  154. package/src/content/pages/{base → docs/components}/select.mdx +1 -11
  155. package/src/content/pages/docs/components/social.mdx +94 -0
  156. package/src/content/pages/docs/components/socials.mdx +102 -0
  157. package/src/content/pages/docs/components/switch.mdx +34 -0
  158. package/src/content/pages/{base → docs/components}/table.mdx +1 -4
  159. package/src/content/pages/docs/components/tagline.mdx +46 -0
  160. package/src/content/pages/docs/components/text.mdx +48 -0
  161. package/src/content/pages/docs/components/textarea.mdx +34 -0
  162. package/src/content/pages/docs/components/themer.mdx +49 -0
  163. package/src/content/pages/docs/components.mdx +37 -0
  164. package/src/content/pages/docs/customization.mdx +151 -0
  165. package/src/content/pages/docs/frameworks.mdx +29 -0
  166. package/src/content/pages/docs/generating-pages.mdx +129 -0
  167. package/src/content/pages/docs/index.mdx +20 -0
  168. package/src/content/pages/docs/installation.mdx +50 -0
  169. package/src/content/pages/docs/layouts.mdx +33 -0
  170. package/src/content/pages/index.mdx +25 -33
  171. package/src/content/pages/posts/post.md +7 -0
  172. package/src/content/pages/products/product.md +20 -0
  173. package/src/content/pages/showcase/anti-slip-profiles.md +2 -2
  174. package/src/content/pages/showcase/fulldev-ui.md +1 -1
  175. package/src/content/pages/showcase/lavis-detailing.md +1 -1
  176. package/src/content/pages/showcase/leren-trainingsacteren.md +1 -1
  177. package/src/content/pages/showcase/miele-witgoedcenter-amsterdam.md +1 -1
  178. package/src/content/pages/showcase/sloepverhuur-bolsward.md +1 -1
  179. package/src/content/pages/showcase/stark-vulcanising-products.md +1 -1
  180. package/src/content/pages/showcase/the-gym-haren.md +1 -1
  181. package/src/content/pages/showcase/van-dillen-antieke-bouwmaterialen.md +1 -1
  182. package/src/content/pages/showcase.mdx +4 -3
  183. package/src/css/color.css +0 -10
  184. package/src/css/custom.css +10 -12
  185. package/src/css/size.css +2 -11
  186. package/src/css/theme.css +95 -0
  187. package/src/env.d.ts +1 -0
  188. package/src/images/favicon/android-chrome-192x192.png +0 -0
  189. package/src/images/favicon/android-chrome-512x512.png +0 -0
  190. package/src/images/favicon/apple-touch-icon.png +0 -0
  191. package/src/images/favicon/browserconfig.xml +9 -0
  192. package/src/images/favicon/favicon-16x16.png +0 -0
  193. package/src/images/favicon/favicon-32x32.png +0 -0
  194. package/src/images/favicon/favicon-48x48.png +0 -0
  195. package/src/images/favicon/favicon.ico +0 -0
  196. package/src/images/favicon/favicon.svg +16 -0
  197. package/src/images/favicon/manifest.webmanifest +30 -0
  198. package/src/images/favicon/mstile-150x150.png +0 -0
  199. package/src/images/favicon/safari-pinned-tab.svg +16 -0
  200. package/src/images/favicon/yandex-browser-50x50.png +0 -0
  201. package/src/images/favicon/yandex-browser-manifest.json +9 -0
  202. package/src/images/logo-1.svg +11 -0
  203. package/src/images/logo-2.svg +13 -0
  204. package/src/images/logo-basic.svg +10 -0
  205. package/src/images/logo-simple.svg +13 -0
  206. package/src/images/logo-thin.svg +15 -0
  207. package/src/images/logo.svg +14 -0
  208. package/src/images/logofat.svg +11 -0
  209. package/src/integration/index.ts +110 -140
  210. package/src/layouts/Category.astro +131 -0
  211. package/src/layouts/Doc.astro +72 -0
  212. package/src/layouts/Job.astro +64 -0
  213. package/src/layouts/Page.astro +30 -0
  214. package/src/layouts/Post.astro +20 -0
  215. package/src/layouts/Product.astro +110 -0
  216. package/src/pages/[...page].astro +29 -24
  217. package/src/pages/test.astro +37 -0
  218. package/src/schemas/blocks/banner.ts +10 -0
  219. package/src/schemas/blocks/categories.ts +14 -0
  220. package/src/schemas/blocks/contact.ts +18 -0
  221. package/src/schemas/blocks/cta.ts +19 -0
  222. package/src/schemas/blocks/feature.ts +18 -0
  223. package/src/schemas/blocks/features.ts +24 -0
  224. package/src/schemas/blocks/hero.ts +20 -0
  225. package/src/schemas/blocks/intro.ts +16 -0
  226. package/src/schemas/blocks/products.ts +14 -0
  227. package/src/schemas/blocks/reviews.ts +24 -0
  228. package/src/schemas/components/avatar.ts +4 -1
  229. package/src/schemas/components/badge.ts +16 -11
  230. package/src/schemas/components/block.ts +22 -0
  231. package/src/schemas/components/button.ts +17 -14
  232. package/src/schemas/components/channel.ts +15 -9
  233. package/src/schemas/components/footer.ts +15 -21
  234. package/src/schemas/components/head.ts +17 -0
  235. package/src/schemas/components/header.ts +19 -7
  236. package/src/schemas/components/heading.ts +7 -1
  237. package/src/schemas/components/icon.ts +7 -1
  238. package/src/schemas/components/image.ts +38 -16
  239. package/src/schemas/components/link.ts +17 -0
  240. package/src/schemas/components/logo.ts +12 -2
  241. package/src/schemas/components/menu.ts +11 -11
  242. package/src/schemas/components/navigation.ts +10 -0
  243. package/src/schemas/components/paragraph.ts +9 -0
  244. package/src/schemas/components/price.ts +7 -1
  245. package/src/schemas/components/rating.ts +8 -13
  246. package/src/schemas/components/sidebar.ts +14 -11
  247. package/src/schemas/components/social.ts +16 -1
  248. package/src/schemas/components/tagline.ts +7 -1
  249. package/src/schemas/imageSchema.ts +30 -1
  250. package/src/schemas/layoutSchema.ts +22 -0
  251. package/src/schemas/pageSchema.ts +26 -96
  252. package/src/stores/cart.svelte.ts +79 -0
  253. package/src/stores/cart.ts +59 -6
  254. package/src/types/global-props.ts +0 -9
  255. package/src/types/{virtual-modules.d.ts → virtual.d.ts} +1 -1
  256. package/src/utils/cart.ts +1 -10
  257. package/src/utils/formatEntries.ts +8 -0
  258. package/src/utils/formatEntry.ts +29 -0
  259. package/src/utils/getDeepReferenceChildren.ts +14 -0
  260. package/src/utils/getHref.ts +6 -0
  261. package/src/utils/getReferenceChildren.ts +1 -1
  262. package/src/utils/setTheme.ts +18 -0
  263. package/src/utils/slugify.ts +6 -0
  264. package/svelte.config.js +5 -0
  265. package/tailwind.config.ts +67 -0
  266. package/tsconfig.json +1 -3
  267. package/src/blocks/Article.astro +0 -40
  268. package/src/blocks/Categories.astro +0 -12
  269. package/src/blocks/Colleagues.astro +0 -13
  270. package/src/blocks/Contact.astro +0 -116
  271. package/src/blocks/Content.astro +0 -12
  272. package/src/blocks/Cta.astro +0 -15
  273. package/src/blocks/Excerpt.astro +0 -14
  274. package/src/blocks/Features.astro +0 -11
  275. package/src/blocks/Hero.astro +0 -15
  276. package/src/blocks/Intro.astro +0 -23
  277. package/src/blocks/Jobs.astro +0 -12
  278. package/src/blocks/Posts.astro +0 -11
  279. package/src/blocks/Prices.astro +0 -24
  280. package/src/blocks/Product.astro +0 -106
  281. package/src/blocks/Products.astro +0 -11
  282. package/src/blocks/Reviews.astro +0 -13
  283. package/src/components/CartForm.astro +0 -121
  284. package/src/components/CartList.astro +0 -134
  285. package/src/components/Footer.astro +0 -193
  286. package/src/components/Text.astro +0 -43
  287. package/src/components/ThemeSelect.astro +0 -41
  288. package/src/components/Writeup.astro +0 -90
  289. package/src/components/experimental/Form.astro +0 -53
  290. package/src/components/experimental/Gallery.astro +0 -104
  291. package/src/components/experimental/Logo.astro +0 -38
  292. package/src/components/experimental/Prose.astro +0 -192
  293. package/src/components/sections.astro +0 -28
  294. package/src/content/pages/base/button.mdx +0 -60
  295. package/src/content/pages/base/checkbox.mdx +0 -42
  296. package/src/content/pages/base/icon.mdx +0 -55
  297. package/src/content/pages/base/image.mdx +0 -42
  298. package/src/content/pages/base/input.mdx +0 -56
  299. package/src/content/pages/base/rating.mdx +0 -55
  300. package/src/content/pages/base/textarea.mdx +0 -58
  301. package/src/content/pages/base/theme-select.mdx +0 -15
  302. package/src/content/pages/layouts/_layout.mdx +0 -14
  303. package/src/content/pages/layouts/docslayout.mdx +0 -14
  304. package/src/content/pages/overview/components.mdx +0 -75
  305. package/src/content/pages/overview/content-collections.mdx +0 -139
  306. package/src/content/pages/overview/frameworks.mdx +0 -198
  307. package/src/content/pages/overview/installation.mdx +0 -53
  308. package/src/content/pages/overview/introduction.mdx +0 -30
  309. package/src/content/pages/overview/theming.mdx +0 -69
  310. package/src/content/pages/schemas/page.mdx +0 -17
  311. package/src/content/pages/schemas/preset.mdx +0 -9
  312. package/src/content/pages/showcase/record.md +0 -3
  313. package/src/content/pages/typography/heading.mdx +0 -73
  314. package/src/content/pages/typography/list.mdx +0 -51
  315. package/src/content/pages/typography/text.mdx +0 -61
  316. package/src/content/presets/blocks.yml +0 -1
  317. package/src/content/presets/docs.yml +0 -6
  318. package/src/css/space.css +0 -77
  319. package/src/css/styles.css +0 -0
  320. package/src/images/avatar-1.yml +0 -1
  321. package/src/integration/generate-colors.ts +0 -639
  322. package/src/integration/tailwind-plugin.ts +0 -80
  323. package/src/integration/unocss-preset.ts +0 -84
  324. package/src/layouts/BlockLayout.astro +0 -19
  325. package/src/layouts/ContactLayout.astro +0 -21
  326. package/src/layouts/DocsLayout.astro +0 -73
  327. package/src/layouts/Layout.astro +0 -163
  328. package/src/layouts/OverviewLayout.astro +0 -42
  329. package/src/layouts/PostLayout.astro +0 -21
  330. package/src/layouts/ProductLayout.astro +0 -21
  331. package/src/loaders/imageLoader.ts +0 -26
  332. package/src/schemas/components/avatars.ts +0 -4
  333. package/src/schemas/components/buttons.ts +0 -4
  334. package/src/schemas/components/card.ts +0 -25
  335. package/src/schemas/components/cards.ts +0 -4
  336. package/src/schemas/components/channels.ts +0 -4
  337. package/src/schemas/components/images.ts +0 -4
  338. package/src/schemas/components/list.ts +0 -3
  339. package/src/schemas/components/section.ts +0 -15
  340. package/src/schemas/components/sections.ts +0 -3
  341. package/src/schemas/components/socials.ts +0 -4
  342. package/src/schemas/components/text.ts +0 -3
  343. package/src/schemas/components/toc.ts +0 -3
  344. package/src/schemas/components/writeup.ts +0 -20
  345. package/src/schemas/presetSchema.ts +0 -3
  346. package/src/schemas/utils/navigation.ts +0 -8
  347. package/src/schemas/utils/parents.ts +0 -3
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 { BannerSchema } from 'fulldev-ui/schemas/blocks/banner'
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'>, BannerSchema {
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 { ContactSchema } from 'fulldev-ui/schemas/blocks/contact'
13
+
14
+ interface Props extends ComponentProps<typeof Section>, ContactSchema {}
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,72 @@
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 Element from 'fulldev-ui/components/Element.astro'
6
+ import Heading from 'fulldev-ui/components/Heading.astro'
7
+ import Image from 'fulldev-ui/components/Image.astro'
8
+ import Panel from 'fulldev-ui/components/Panel.astro'
9
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
10
+ import Section from 'fulldev-ui/components/Section.astro'
11
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
12
+ import type { CtaSchema } from 'fulldev-ui/schemas/blocks/cta.ts'
13
+
14
+ interface Props extends ComponentProps<typeof Section>, CtaSchema {}
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
+ <Element class="cta-1-segment">
26
+ <Element class="cta-1-content">
27
+ <Tagline text={tagline} />
28
+ <Heading
29
+ size="4xl"
30
+ as="h2"
31
+ text={heading}
32
+ />
33
+ <Paragraph
34
+ size="lg"
35
+ text={paragraph}
36
+ />
37
+ </Element>
38
+ <Buttons
39
+ {buttons}
40
+ size="lg"
41
+ />
42
+ </Element>
43
+ <Image {...image} />
44
+ </Panel>
45
+ </Container>
46
+ </Section>
47
+
48
+ <style is:global>
49
+ @layer fulldev {
50
+ .cta-1 {
51
+ .panel {
52
+ @apply flex flex-col items-center gap-16;
53
+ }
54
+
55
+ .cta-1-segment {
56
+ @apply z-10 flex flex-col items-center gap-8 text-center;
57
+ }
58
+
59
+ .cta-1-content {
60
+ @apply flex max-w-screen-md flex-col items-center gap-4 text-center;
61
+ }
62
+
63
+ .text {
64
+ @apply text-balance;
65
+ }
66
+
67
+ .image {
68
+ @apply rounded-lg;
69
+ }
70
+ }
71
+ }
72
+ </style>
@@ -0,0 +1,67 @@
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 Element from 'fulldev-ui/components/Element.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 Tagline from 'fulldev-ui/components/Tagline.astro'
11
+ import type { FeatureSchema } from 'fulldev-ui/schemas/blocks/feature'
12
+
13
+ interface Props extends ComponentProps<typeof Section>, FeatureSchema {}
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
+ <Element class="feature-1-segment">
24
+ <Element class="feature-1-content">
25
+ <Tagline
26
+ size="sm"
27
+ text={tagline}
28
+ />
29
+ <Heading
30
+ size="3xl"
31
+ text={heading}
32
+ />
33
+ <Paragraph
34
+ size="lg"
35
+ text={paragraph}
36
+ />
37
+ </Element>
38
+ <Buttons
39
+ variant="secondary"
40
+ {buttons}
41
+ />
42
+ </Element>
43
+ <Image {...image} />
44
+ </Container>
45
+ </Section>
46
+
47
+ <style is:global>
48
+ @layer fulldev {
49
+ .feature-1 {
50
+ .container {
51
+ @apply gap-x-gutter gap-y-12 lg:grid lg:grid-cols-2 lg:items-center;
52
+ }
53
+
54
+ .feature-1-segment {
55
+ @apply flex flex-col items-start gap-6 lg:max-w-xl;
56
+ }
57
+
58
+ .feature-1-content {
59
+ @apply flex max-w-screen-md flex-col items-start gap-3;
60
+ }
61
+
62
+ .image {
63
+ @apply rounded-lg;
64
+ }
65
+ }
66
+ }
67
+ </style>
@@ -0,0 +1,75 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Container from 'fulldev-ui/components/Container.astro'
4
+ import Element from 'fulldev-ui/components/Element.astro'
5
+ import Heading from 'fulldev-ui/components/Heading.astro'
6
+ import Icon from 'fulldev-ui/components/Icon.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 type { FeaturesSchema } from 'fulldev-ui/schemas/blocks/features'
11
+
12
+ interface Props extends ComponentProps<typeof Section>, FeaturesSchema {}
13
+
14
+ const { tagline, heading, paragraph, cards, ...rest } = Astro.props
15
+ ---
16
+
17
+ <Section
18
+ class:list="features-1"
19
+ {...rest}
20
+ >
21
+ <Container>
22
+ <Element class="features-1-segment">
23
+ <Element class="features-1-content">
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
+ </Element>
37
+ </Element>
38
+ <Element class:list="features-1-cards">
39
+ {
40
+ cards?.map(({ icon, heading, paragraph }) => (
41
+ <Element class="features-1-card">
42
+ <Icon
43
+ size="lg"
44
+ name={icon}
45
+ />
46
+ <Heading
47
+ as="h3"
48
+ size="lg"
49
+ text={heading}
50
+ />
51
+ <Paragraph text={paragraph} />
52
+ </Element>
53
+ ))
54
+ }
55
+ </Element>
56
+ </Container>
57
+ </Section>
58
+
59
+ <style is:global>
60
+ @layer fulldev {
61
+ .features-1 {
62
+ .features-1-cards {
63
+ @apply grid grid-cols-1 gap-6 lg:grid-cols-3;
64
+ }
65
+
66
+ .features-1-card {
67
+ @apply flex flex-col gap-3;
68
+ }
69
+
70
+ .icon {
71
+ @apply text-primary;
72
+ }
73
+ }
74
+ }
75
+ </style>
@@ -1,7 +1,104 @@
1
1
  ---
2
- import FooterComponent from 'fulldev-ui/components/Footer.astro'
2
+ import type { HTMLAttributes, HTMLTag } from 'astro/types'
3
+ import Channel from 'fulldev-ui/components/Channel.astro'
4
+ import Element from 'fulldev-ui/components/Element.astro'
5
+ import Heading from 'fulldev-ui/components/Heading.astro'
6
+ import Logo from 'fulldev-ui/components/Logo.astro'
7
+ import Menu from 'fulldev-ui/components/Menu.astro'
8
+ import { default as Paragraph } from 'fulldev-ui/components/Paragraph.astro'
9
+ import Social from 'fulldev-ui/components/Social.astro'
10
+ import type { FooterSchema } from 'fulldev-ui/schemas/components/footer'
3
11
 
4
- const { ...rest } = Astro.props
12
+ interface Props extends HTMLAttributes<'footer'>, FooterSchema {
13
+ as?: HTMLTag
14
+ }
15
+
16
+ const {
17
+ as = 'footer',
18
+ logo,
19
+ heading,
20
+ paragraph,
21
+ socials,
22
+ channels,
23
+ menus,
24
+ // hours,
25
+ // html,
26
+ ...rest
27
+ } = Astro.props
5
28
  ---
6
29
 
7
- <FooterComponent {...rest} />
30
+ <Element
31
+ class:list="footer"
32
+ {as}
33
+ {...rest}
34
+ >
35
+ <Element class:list="footer-container">
36
+ <Element class:list="footer-content">
37
+ <Logo
38
+ size="sm"
39
+ {...logo}
40
+ />
41
+ <Paragraph
42
+ size="sm"
43
+ text={paragraph}
44
+ />
45
+ <Element class:list="footer-socials">
46
+ {
47
+ socials?.map((social) => (
48
+ <Social
49
+ variant="secondary"
50
+ size="sm"
51
+ href={social}
52
+ />
53
+ ))
54
+ }
55
+ </Element>
56
+ </Element>
57
+ <Element class:list="footer-channels">
58
+ {channels?.map((channel) => <Channel {...channel} />)}
59
+ </Element>
60
+ </Element>
61
+ <!-- <Fragment set:html={html} /> -->
62
+ <!-- <Hours {hours} /> -->
63
+ <!-- <Menu
64
+ direction="row"
65
+ groups={menu}
66
+ {size}
67
+ /> -->
68
+ <!-- <Element class:list="hours column">
69
+ <Heading
70
+ text={hours?.heading}
71
+ as="h5"
72
+ />
73
+ <Element>
74
+ {
75
+ Object.entries(hours?.days ?? {})?.map(([key, value]: any) => (
76
+ <Element class:list="spread">
77
+ <Paragraph text={key} />
78
+ <Paragraph text={value} />
79
+ </Element>
80
+ ))
81
+ }
82
+ </Element>
83
+ </Element> -->
84
+ </Element>
85
+
86
+ <style is:global>
87
+ @layer fulldev {
88
+ .footer {
89
+ @apply relative mt-auto w-full border-t bg-background;
90
+
91
+ &.dark {
92
+ @apply bg-background;
93
+ }
94
+
95
+ .footer-container {
96
+ @apply container flex flex-wrap justify-between gap-12 py-12;
97
+ }
98
+
99
+ .footer-content {
100
+ @apply flex max-w-60 flex-col gap-4;
101
+ }
102
+ }
103
+ }
104
+ </style>