fulldev-ui 0.6.0-beta.0 → 0.6.0-beta.10

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 (385) hide show
  1. package/.vscode/settings.json +2 -0
  2. package/astro.config.ts +4 -4
  3. package/cloudcannon.config.yml +233 -0
  4. package/package.json +13 -7
  5. package/pnpm-lock.yaml +370 -35
  6. package/src/blocks/Banner.astro +13 -15
  7. package/src/blocks/Colleagues1.astro +73 -0
  8. package/src/blocks/Contact1.astro +95 -0
  9. package/src/blocks/Content1.astro +56 -0
  10. package/src/blocks/Content2.astro +63 -0
  11. package/src/blocks/Content3.astro +66 -0
  12. package/src/blocks/Content4.astro +61 -0
  13. package/src/blocks/Content5.astro +58 -0
  14. package/src/blocks/Content6.astro +66 -0
  15. package/src/blocks/Content7.astro +75 -0
  16. package/src/blocks/Content8.astro +67 -0
  17. package/src/blocks/Cta1.astro +73 -0
  18. package/src/blocks/Features1.astro +70 -0
  19. package/src/blocks/Features2.astro +70 -0
  20. package/src/blocks/Footer.astro +42 -66
  21. package/src/blocks/Header.astro +153 -3
  22. package/src/blocks/Hero1.astro +77 -0
  23. package/src/blocks/Industries1.astro +86 -0
  24. package/src/blocks/Intro1.astro +68 -0
  25. package/src/blocks/Jobs1.astro +77 -0
  26. package/src/blocks/Logos1.astro +55 -0
  27. package/src/blocks/Products1.astro +90 -0
  28. package/src/blocks/Projects1.astro +80 -0
  29. package/src/blocks/Reviews1.astro +81 -0
  30. package/src/{components → blocks}/Subheader.astro +1 -2
  31. package/src/blocks/{Hero.astro → _Hero.astro} +7 -6
  32. package/src/components/Badge.astro +7 -27
  33. package/src/components/Badges.astro +13 -36
  34. package/src/components/Block.astro +38 -0
  35. package/src/components/Blocks.astro +26 -0
  36. package/src/components/Button.astro +10 -33
  37. package/src/components/Buttons.astro +12 -43
  38. package/src/components/Cart.astro +20 -16
  39. package/src/components/CartAdd.svelte +76 -0
  40. package/src/components/CartCheckout.svelte +58 -0
  41. package/src/components/CartForm.svelte +130 -0
  42. package/src/components/CartList.svelte +88 -0
  43. package/src/components/CartQuantity.svelte +81 -0
  44. package/src/components/CartSummary.astro +12 -97
  45. package/src/components/CartTotal.svelte +15 -0
  46. package/src/components/Channel.astro +10 -13
  47. package/src/components/Channels.astro +11 -42
  48. package/src/components/Checkbox.astro +8 -14
  49. package/src/components/Element.astro +5 -1
  50. package/src/components/Form.astro +4 -3
  51. package/src/components/Gallery.astro +9 -6
  52. package/src/components/Head.astro +29 -33
  53. package/src/components/Heading.astro +48 -80
  54. package/src/components/Icon.astro +4 -4
  55. package/src/components/Image.astro +18 -49
  56. package/src/components/Input.astro +21 -16
  57. package/src/components/Label.astro +6 -6
  58. package/src/components/Link.astro +18 -27
  59. package/src/components/Links.astro +13 -35
  60. package/src/components/List.astro +3 -5
  61. package/src/components/Logo.astro +18 -14
  62. package/src/components/Menu.astro +22 -35
  63. package/src/components/Menus.astro +20 -0
  64. package/src/components/Paragraph.astro +26 -10
  65. package/src/components/Price.astro +5 -8
  66. package/src/components/Rating.astro +25 -74
  67. package/src/components/Search.astro +102 -43
  68. package/src/components/Select.astro +3 -3
  69. package/src/components/Sidebar.astro +20 -71
  70. package/src/components/Social.astro +11 -2
  71. package/src/components/Socials.astro +18 -34
  72. package/src/components/Switch.astro +4 -69
  73. package/src/components/Table.astro +2 -3
  74. package/src/components/Tagline.astro +22 -33
  75. package/src/components/Textarea.astro +5 -5
  76. package/src/components/Themer.astro +3 -3
  77. package/src/components/Toc.astro +22 -25
  78. package/src/components/Toggle.astro +45 -0
  79. package/src/components/{Breadcrumb.astro → _Breadcrumb.astro} +3 -3
  80. package/src/components/_Image.astro +79 -0
  81. package/src/components/docs/Props.astro +21 -0
  82. package/src/content/config.ts +3 -10
  83. package/src/content/layouts/base.yml +159 -0
  84. package/src/content/pages/_showcase/anti-slip-profiles.md +5 -0
  85. package/src/content/pages/{showcase → _showcase}/fulldev-ui.md +1 -1
  86. package/src/content/pages/{showcase → _showcase}/lavis-detailing.md +1 -1
  87. package/src/content/pages/{showcase → _showcase}/leren-trainingsacteren.md +1 -1
  88. package/src/content/pages/{showcase → _showcase}/miele-witgoedcenter-amsterdam.md +1 -1
  89. package/src/content/pages/{showcase → _showcase}/sloepverhuur-bolsward.md +1 -1
  90. package/src/content/pages/_showcase/stark-vulcanising-products.md +4 -0
  91. package/src/content/pages/{showcase → _showcase}/the-gym-haren.md +1 -1
  92. package/src/content/pages/{showcase → _showcase}/van-dillen-antieke-bouwmaterialen.md +1 -1
  93. package/src/content/pages/base/toggle.mdx +28 -0
  94. package/src/content/pages/{blocks → docs/blocks}/_categories.mdx +1 -19
  95. package/src/content/pages/{blocks/contact.mdx → docs/blocks/_contact.mdx} +0 -2
  96. package/src/content/pages/{blocks → docs/blocks}/_jobs.mdx +0 -2
  97. package/src/content/pages/{blocks/posts.mdx → docs/blocks/_posts.mdx} +0 -2
  98. package/src/content/pages/{blocks → docs/blocks}/_stats.mdx +0 -2
  99. package/src/content/pages/{blocks → docs/blocks}/banner.mdx +1 -2
  100. package/src/content/pages/docs/blocks/colleagues.mdx +49 -0
  101. package/src/content/pages/docs/blocks/content.mdx +290 -0
  102. package/src/content/pages/docs/blocks/cta.mdx +16 -0
  103. package/src/content/pages/docs/blocks/feature.mdx +17 -0
  104. package/src/content/pages/docs/blocks/features.mdx +35 -0
  105. package/src/content/pages/docs/blocks/footer.mdx +46 -0
  106. package/src/content/pages/docs/blocks/header.mdx +60 -0
  107. package/src/content/pages/docs/blocks/hero.mdx +18 -0
  108. package/src/content/pages/docs/blocks/intro.mdx +16 -0
  109. package/src/content/pages/docs/blocks/logos.mdx +37 -0
  110. package/src/content/pages/docs/blocks/projects.mdx +36 -0
  111. package/src/content/pages/docs/blocks/reviews.mdx +65 -0
  112. package/src/content/pages/docs/blocks.mdx +42 -21
  113. package/src/content/pages/docs/collections/images.mdx +4 -2
  114. package/src/content/pages/docs/collections/pages.mdx +3 -3
  115. package/src/content/pages/docs/collections/presets.mdx +1 -1
  116. package/src/content/pages/docs/components/_localeswitcher.mdx +1 -2
  117. package/src/content/pages/docs/components/{table.mdx → _table.mdx} +3 -6
  118. package/src/content/pages/docs/components/_tagline.mdx +1 -2
  119. package/src/content/pages/docs/components/{themer.mdx → _themer.mdx} +3 -6
  120. package/src/content/pages/docs/components/_toggle.mdx +3 -4
  121. package/src/content/pages/docs/components/badge.mdx +3 -6
  122. package/src/content/pages/docs/components/badges.mdx +4 -6
  123. package/src/content/pages/docs/components/button.mdx +3 -6
  124. package/src/content/pages/docs/components/buttons.mdx +4 -6
  125. package/src/content/pages/docs/components/channel.mdx +3 -6
  126. package/src/content/pages/docs/components/channels.mdx +4 -4
  127. package/src/content/pages/docs/components/checkbox.mdx +3 -6
  128. package/src/content/pages/docs/components/heading.mdx +12 -23
  129. package/src/content/pages/docs/components/icon.mdx +3 -6
  130. package/src/content/pages/docs/components/image.mdx +4 -11
  131. package/src/content/pages/docs/components/input.mdx +3 -6
  132. package/src/content/pages/docs/components/label.mdx +3 -6
  133. package/src/content/pages/docs/components/link.mdx +3 -6
  134. package/src/content/pages/docs/components/links.mdx +14 -57
  135. package/src/content/pages/docs/components/list.mdx +3 -6
  136. package/src/content/pages/docs/components/logo.mdx +10 -23
  137. package/src/content/pages/docs/components/menu.mdx +12 -54
  138. package/src/content/pages/docs/components/paragraph.mdx +10 -17
  139. package/src/content/pages/docs/components/rating.mdx +10 -44
  140. package/src/content/pages/docs/components/select.mdx +3 -6
  141. package/src/content/pages/docs/components/social.mdx +3 -6
  142. package/src/content/pages/docs/components/socials.mdx +4 -4
  143. package/src/content/pages/docs/components/switch.mdx +3 -6
  144. package/src/content/pages/docs/components/tagline.mdx +3 -8
  145. package/src/content/pages/docs/components/textarea.mdx +3 -6
  146. package/src/content/pages/docs/components.mdx +4 -8
  147. package/src/content/pages/docs/customization.mdx +53 -21
  148. package/src/content/pages/docs/frameworks.mdx +13 -12
  149. package/src/content/pages/docs/index.mdx +5 -7
  150. package/src/content/pages/docs/installation.mdx +10 -7
  151. package/src/content/pages/docs/layouts/doc.mdx +15 -0
  152. package/src/content/pages/docs/layouts/page.mdx +15 -0
  153. package/src/content/pages/docs/{generating-pages.mdx → pages.mdx} +2 -1
  154. package/src/content/pages/docs/{components → structures}/_card.mdx +7 -8
  155. package/src/content/pages/docs/{components → structures}/_dialog.mdx +1 -2
  156. package/src/content/pages/docs/{components → structures}/_drawer.mdx +2 -3
  157. package/src/content/pages/docs/structures/card.mdx +15 -0
  158. package/src/content/pages/docs/{components → structures}/code.mdx +5 -9
  159. package/src/content/pages/docs/structures/container.mdx +15 -0
  160. package/src/content/pages/docs/structures/drawer.mdx +15 -0
  161. package/src/content/pages/docs/structures/group.mdx +15 -0
  162. package/src/content/pages/docs/structures/layout.mdx +15 -0
  163. package/src/content/pages/docs/structures/masonry.mdx +15 -0
  164. package/src/content/pages/docs/structures/matrix.mdx +15 -0
  165. package/src/content/pages/docs/structures/panel.mdx +15 -0
  166. package/src/content/pages/docs/{components → structures}/prose.mdx +4 -8
  167. package/src/content/pages/docs/structures/section.mdx +15 -0
  168. package/src/content/pages/docs/structures/stack.mdx +15 -0
  169. package/src/content/pages/docs/structures/writeup.mdx +15 -0
  170. package/src/content/pages/docs/structures.mdx +7 -0
  171. package/src/content/pages/index.mdx +22 -29
  172. package/src/content/pages/posts/post.md +7 -0
  173. package/src/content/pages/showcase.mdx +1 -5
  174. package/src/css/theme.css +11 -42
  175. package/src/env.d.ts +1 -0
  176. package/src/integration/index.ts +51 -10
  177. package/src/layouts/Block.astro +81 -0
  178. package/src/layouts/{CategoryLayout.astro → Category.astro} +27 -26
  179. package/src/layouts/Doc.astro +96 -0
  180. package/src/layouts/Job.astro +60 -0
  181. package/src/layouts/Jobs.astro +72 -0
  182. package/src/layouts/Page.astro +84 -0
  183. package/src/layouts/Post.astro +53 -0
  184. package/src/layouts/{ProductLayout.astro → Product.astro} +42 -32
  185. package/src/pages/[...page].astro +33 -20
  186. package/src/schemas/badge.ts +14 -0
  187. package/src/schemas/block.ts +59 -0
  188. package/src/schemas/button.ts +15 -0
  189. package/src/schemas/channel.ts +14 -0
  190. package/src/schemas/checkbox.ts +13 -0
  191. package/src/schemas/footer.ts +17 -0
  192. package/src/schemas/head.ts +17 -0
  193. package/src/schemas/header.ts +21 -0
  194. package/src/schemas/image.ts +53 -0
  195. package/src/schemas/input.ts +13 -0
  196. package/src/schemas/link.ts +14 -0
  197. package/src/schemas/logo.ts +13 -0
  198. package/src/schemas/menu.ts +11 -0
  199. package/src/schemas/page.ts +39 -0
  200. package/src/schemas/{utils/pathSchema.ts → path.ts} +1 -1
  201. package/src/schemas/textarea.ts +11 -0
  202. package/src/stores/cart.svelte.ts +78 -0
  203. package/src/stores/cart.ts +59 -6
  204. package/src/structures/Card.astro +35 -0
  205. package/src/{components → structures}/Code.astro +7 -6
  206. package/src/structures/Container.astro +25 -0
  207. package/src/structures/Drawer.astro +81 -0
  208. package/src/structures/Group.astro +25 -0
  209. package/src/structures/Layout.astro +34 -0
  210. package/src/structures/Masonry.astro +42 -0
  211. package/src/structures/Matrix.astro +39 -0
  212. package/src/structures/Panel.astro +25 -0
  213. package/src/structures/Prose.astro +97 -0
  214. package/src/structures/Section.astro +26 -0
  215. package/src/structures/Sidebar.astro +36 -0
  216. package/src/structures/Split.astro +25 -0
  217. package/src/structures/Stack.astro +25 -0
  218. package/src/structures/Writeup.astro +67 -0
  219. package/src/structures/_Bento.astro +34 -0
  220. package/src/utils/cart.ts +1 -1
  221. package/src/utils/getHref.ts +6 -0
  222. package/svelte.config.js +5 -0
  223. package/tailwind.config.ts +9 -4
  224. package/tsconfig.json +4 -4
  225. package/{src/types/virtual-modules.d.ts → virtual.d.ts} +1 -1
  226. package/public/favicon/favicon-16x16-dark.png +0 -0
  227. package/public/favicon/favicon-32x32-dark.png +0 -0
  228. package/public/favicon/favicon-48x48-dark.png +0 -0
  229. package/public/favicon/favicon-dark.ico +0 -0
  230. package/src/blocks/Categories.astro +0 -12
  231. package/src/blocks/Colleagues.astro +0 -12
  232. package/src/blocks/Contact.astro +0 -117
  233. package/src/blocks/Content.astro +0 -130
  234. package/src/blocks/Cta.astro +0 -13
  235. package/src/blocks/Excerpt.astro +0 -12
  236. package/src/blocks/Features.astro +0 -11
  237. package/src/blocks/Intro.astro +0 -101
  238. package/src/blocks/Jobs.astro +0 -12
  239. package/src/blocks/Posts.astro +0 -11
  240. package/src/blocks/Prices.astro +0 -24
  241. package/src/blocks/Product.astro +0 -89
  242. package/src/blocks/Products.astro +0 -120
  243. package/src/blocks/Reviews.astro +0 -12
  244. package/src/blocks/_Contact.astro +0 -112
  245. package/src/components/Avatar.astro +0 -45
  246. package/src/components/Avatars.astro +0 -36
  247. package/src/components/Card.astro +0 -173
  248. package/src/components/Cards.astro +0 -133
  249. package/src/components/CartForm.astro +0 -121
  250. package/src/components/CartList.astro +0 -117
  251. package/src/components/Dialog.astro +0 -66
  252. package/src/components/Drawer.astro +0 -142
  253. package/src/components/Header.astro +0 -127
  254. package/src/components/Lead.astro +0 -46
  255. package/src/components/Prose.astro +0 -169
  256. package/src/components/Section.astro +0 -293
  257. package/src/components/Text.astro +0 -43
  258. package/src/components/Writeup.astro +0 -108
  259. package/src/components/docs/DecorativeBox.astro +0 -15
  260. package/src/components/docs/PropsTable.astro +0 -49
  261. package/src/components/experimental/Video.astro +0 -32
  262. package/src/components/experimental/Window.astro +0 -122
  263. package/src/components/sections.astro +0 -28
  264. package/src/content/pages/blocks/_footer.mdx +0 -77
  265. package/src/content/pages/blocks/_header.mdx +0 -185
  266. package/src/content/pages/blocks/_prices.mdx +0 -124
  267. package/src/content/pages/blocks/_product.mdx +0 -99
  268. package/src/content/pages/blocks/_products.mdx +0 -54
  269. package/src/content/pages/blocks/colleagues.mdx +0 -39
  270. package/src/content/pages/blocks/content.mdx +0 -79
  271. package/src/content/pages/blocks/cta.mdx +0 -161
  272. package/src/content/pages/blocks/features.mdx +0 -130
  273. package/src/content/pages/blocks/hero.mdx +0 -96
  274. package/src/content/pages/blocks/intro.mdx +0 -126
  275. package/src/content/pages/blocks/reviews.mdx +0 -253
  276. package/src/content/pages/docs/_internationalization.mdx +0 -55
  277. package/src/content/pages/docs/_using-blocks.mdx +0 -33
  278. package/src/content/pages/docs/_using-presets.mdx +0 -49
  279. package/src/content/pages/docs/collections.mdx +0 -42
  280. package/src/content/pages/docs/components/_switch.mdx +0 -32
  281. package/src/content/pages/docs/components/avatar.mdx +0 -35
  282. package/src/content/pages/docs/components/lead.mdx +0 -51
  283. package/src/content/pages/docs/components/section.mdx +0 -36
  284. package/src/content/pages/docs/layouts.mdx +0 -33
  285. package/src/content/pages/showcase/anti-slip-profiles.md +0 -5
  286. package/src/content/pages/showcase/stark-vulcanising-products.md +0 -5
  287. package/src/content/presets/base.yml +0 -100
  288. package/src/content/presets/docs.yml +0 -6
  289. package/src/css/color.css +0 -76
  290. package/src/css/size.css +0 -131
  291. package/src/layouts/Layout.astro +0 -108
  292. package/src/layouts/PageLayout.astro +0 -26
  293. package/src/layouts/PostLayout.astro +0 -26
  294. package/src/loaders/imageLoader.ts +0 -26
  295. package/src/pages/test.astro +0 -20
  296. package/src/schemas/components/avatar.ts +0 -3
  297. package/src/schemas/components/avatars.ts +0 -4
  298. package/src/schemas/components/badge.ts +0 -13
  299. package/src/schemas/components/button.ts +0 -24
  300. package/src/schemas/components/buttons.ts +0 -4
  301. package/src/schemas/components/card.ts +0 -43
  302. package/src/schemas/components/cards.ts +0 -4
  303. package/src/schemas/components/channel.ts +0 -13
  304. package/src/schemas/components/channels.ts +0 -4
  305. package/src/schemas/components/footer.ts +0 -17
  306. package/src/schemas/components/global.ts +0 -16
  307. package/src/schemas/components/header.ts +0 -19
  308. package/src/schemas/components/heading.ts +0 -3
  309. package/src/schemas/components/icon.ts +0 -3
  310. package/src/schemas/components/image.ts +0 -23
  311. package/src/schemas/components/images.ts +0 -4
  312. package/src/schemas/components/link.ts +0 -16
  313. package/src/schemas/components/links.ts +0 -4
  314. package/src/schemas/components/list.ts +0 -3
  315. package/src/schemas/components/logo.ts +0 -3
  316. package/src/schemas/components/menu.ts +0 -15
  317. package/src/schemas/components/price.ts +0 -3
  318. package/src/schemas/components/rating.ts +0 -15
  319. package/src/schemas/components/section.ts +0 -15
  320. package/src/schemas/components/sections.ts +0 -3
  321. package/src/schemas/components/sidebar.ts +0 -15
  322. package/src/schemas/components/social.ts +0 -3
  323. package/src/schemas/components/socials.ts +0 -4
  324. package/src/schemas/components/subheader.ts +0 -9
  325. package/src/schemas/components/tagline.ts +0 -3
  326. package/src/schemas/components/text.ts +0 -3
  327. package/src/schemas/components/themer.ts +0 -3
  328. package/src/schemas/components/toc.ts +0 -3
  329. package/src/schemas/components/writeup.ts +0 -20
  330. package/src/schemas/imageSchema.ts +0 -12
  331. package/src/schemas/pageSchema.ts +0 -94
  332. package/src/schemas/presetSchema.ts +0 -3
  333. package/src/schemas/utils/categories.ts +0 -3
  334. package/src/schemas/utils/component.ts +0 -17
  335. package/src/schemas/utils/navigation.ts +0 -8
  336. package/src/types/global-props.ts +0 -16
  337. package/src/utils/_archive/Childmorphic.ts +0 -8
  338. package/src/utils/_archive/getAllCollections.ts +0 -10
  339. package/src/utils/_archive/getCollectionCascade.ts +0 -33
  340. package/src/utils/_archive/getPathname.ts +0 -18
  341. package/src/utils/_archive/mergeEntries.ts +0 -28
  342. package/src/utils/_archive/staticPageSchema.ts +0 -124
  343. package/src/utils/_archive/transform/transform.ts +0 -25
  344. package/src/utils/_archive/transform/transformCasing.ts +0 -24
  345. package/src/utils/_archive/transform/transformReferences.ts +0 -54
  346. package/src/utils/_archive/transform/transformSelfs.ts +0 -20
  347. package/src/utils/_archive/transform/transformUnderscores.ts +0 -19
  348. package/src/utils/getDeepReferenceChildren.ts +0 -14
  349. package/src/utils/getFolderChildren.ts +0 -18
  350. package/src/utils/getReferenceChildren.ts +0 -14
  351. package/src/utils/getSiblingPages.ts +0 -14
  352. package/src/utils/setTheme.ts +0 -18
  353. /package/{src → public}/images/anti-slip-profiles.webp +0 -0
  354. /package/{src → public}/images/avatar-1.jpeg +0 -0
  355. /package/{src → public}/images/avatar-2.jpeg +0 -0
  356. /package/{src → public}/images/avatar-3.jpeg +0 -0
  357. /package/{src → public}/images/avatar-4.jpeg +0 -0
  358. /package/{src → public}/images/avatar-placeholder.jpg +0 -0
  359. /package/{src → public}/images/block-code.png +0 -0
  360. /package/{src → public}/images/component-code.png +0 -0
  361. /package/{src → public}/images/favicon.svg +0 -0
  362. /package/{src → public}/images/fulldev-ui.webp +0 -0
  363. /package/{src → public}/images/lavis-detailing.webp +0 -0
  364. /package/{src → public}/images/leren-trainingsacteren.webp +0 -0
  365. /package/{src → public}/images/logo-1.svg +0 -0
  366. /package/{src → public}/images/logo-2.svg +0 -0
  367. /package/{src → public}/images/logo-basic.svg +0 -0
  368. /package/{src → public}/images/logo-simple.svg +0 -0
  369. /package/{src → public}/images/logo-thin.svg +0 -0
  370. /package/{src → public}/images/logo.svg +0 -0
  371. /package/{src → public}/images/logofat.svg +0 -0
  372. /package/{src → public}/images/miele-witgoedcenter-amsterdam.webp +0 -0
  373. /package/{src → public}/images/og-image.png +0 -0
  374. /package/{src → public}/images/placeholder-center.webp +0 -0
  375. /package/{src → public}/images/placeholder-landscape-dark.png +0 -0
  376. /package/{src → public}/images/placeholder-landscape.webp +0 -0
  377. /package/{src → public}/images/placeholder-portrait.webp +0 -0
  378. /package/{src → public}/images/placeholder-right.webp +0 -0
  379. /package/{src → public}/images/placeholder.webp +0 -0
  380. /package/{src → public}/images/sloepverhuur-bolsward.webp +0 -0
  381. /package/{src → public}/images/stark-vulcanising-products.webp +0 -0
  382. /package/{src → public}/images/the-gym-haren.webp +0 -0
  383. /package/{src → public}/images/van-dillen-antieke-bouwmaterialen.webp +0 -0
  384. /package/src/components/{LocaleSwitcher.astro → _LocaleSwitcher.astro} +0 -0
  385. /package/src/{components → structures}/Carousel.astro +0 -0
@@ -0,0 +1,86 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import type { CollectionEntry } from 'astro:content'
4
+ import Button from 'fulldev-ui/components/Button.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 List from 'fulldev-ui/components/List.astro'
9
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
10
+ import Card from 'fulldev-ui/structures/Card.astro'
11
+ import Container from 'fulldev-ui/structures/Container.astro'
12
+ import Matrix from 'fulldev-ui/structures/Matrix.astro'
13
+ import Section from 'fulldev-ui/structures/Section.astro'
14
+ import Writeup from 'fulldev-ui/structures/Writeup.astro'
15
+ import { getHref } from 'fulldev-ui/utils/getHref'
16
+
17
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {
18
+ pages: CollectionEntry<'pages'>[]
19
+ }
20
+
21
+ const { heading, button, pages, ...rest } = Astro.props
22
+ ---
23
+
24
+ <Section
25
+ class:list="industries-1"
26
+ {...rest}
27
+ >
28
+ <Container>
29
+ <Element class:list="industries-1-segment">
30
+ <Heading
31
+ size="3xl"
32
+ text={heading}
33
+ />
34
+ <Button
35
+ size="sm"
36
+ variant="ghost"
37
+ {...button}
38
+ />
39
+ </Element>
40
+ <Matrix>
41
+ {
42
+ pages?.map(({ slug, data: { title, list, image } }) => (
43
+ <Card
44
+ class="industries-1-card"
45
+ href={getHref(slug)}
46
+ >
47
+ <Image {...image} />
48
+ <Writeup>
49
+ <Heading
50
+ as="h2"
51
+ size="lg"
52
+ text={title}
53
+ />
54
+ <List
55
+ size="sm"
56
+ items={list}
57
+ />
58
+ </Writeup>
59
+ </Card>
60
+ ))
61
+ }
62
+ </Matrix>
63
+ </Container>
64
+ </Section>
65
+
66
+ <style is:global>
67
+ @layer fulldev {
68
+ .industries-1 {
69
+ .container {
70
+ @apply flex flex-col gap-12;
71
+ }
72
+
73
+ .industries-1-segment {
74
+ @apply flex items-center justify-between gap-8;
75
+ }
76
+
77
+ .card {
78
+ @apply overflow-hidden p-0;
79
+
80
+ .writeup {
81
+ @apply p-4;
82
+ }
83
+ }
84
+ }
85
+ }
86
+ </style>
@@ -0,0 +1,68 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Buttons from 'fulldev-ui/components/Buttons.astro'
4
+ import Heading from 'fulldev-ui/components/Heading.astro'
5
+ import Image from 'fulldev-ui/components/Image.astro'
6
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
7
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
8
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
9
+ import Container from 'fulldev-ui/structures/Container.astro'
10
+ import Group from 'fulldev-ui/structures/Group.astro'
11
+ import Section from 'fulldev-ui/structures/Section.astro'
12
+ import Writeup from 'fulldev-ui/structures/Writeup.astro'
13
+
14
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
15
+
16
+ const {
17
+ badge,
18
+ tagline,
19
+ heading,
20
+ paragraph,
21
+ content,
22
+ button,
23
+ buttons,
24
+ image,
25
+ ...rest
26
+ } = Astro.props
27
+ ---
28
+
29
+ <Section
30
+ class:list="intro-1"
31
+ {...rest}
32
+ >
33
+ <Container>
34
+ <Writeup>
35
+ <Tagline
36
+ size="sm"
37
+ text={tagline}
38
+ />
39
+ <Heading
40
+ as="h1"
41
+ size="3xl"
42
+ text={heading}
43
+ />
44
+ <Paragraph text={paragraph} />
45
+ <Fragment set:html={content} />
46
+ <Group>
47
+ <Buttons
48
+ size="sm"
49
+ {button}
50
+ {buttons}
51
+ />
52
+ </Group>
53
+ </Writeup>
54
+ <Image {...image} />
55
+ </Container>
56
+ </Section>
57
+
58
+ <style is:global>
59
+ @layer fulldev {
60
+ .section.intro-1 {
61
+ @apply border-b py-8;
62
+
63
+ .image {
64
+ @apply rounded-lg;
65
+ }
66
+ }
67
+ }
68
+ </style>
@@ -0,0 +1,77 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import type { CollectionEntry } from 'astro:content'
4
+ import Button from 'fulldev-ui/components/Button.astro'
5
+ import Element from 'fulldev-ui/components/Element.astro'
6
+ import Heading from 'fulldev-ui/components/Heading.astro'
7
+ import List from 'fulldev-ui/components/List.astro'
8
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
9
+ import Card from 'fulldev-ui/structures/Card.astro'
10
+ import Container from 'fulldev-ui/structures/Container.astro'
11
+ import Matrix from 'fulldev-ui/structures/Matrix.astro'
12
+ import Section from 'fulldev-ui/structures/Section.astro'
13
+ import { getHref } from 'fulldev-ui/utils/getHref'
14
+
15
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {
16
+ pages: CollectionEntry<'pages'>[]
17
+ }
18
+
19
+ const { heading, button, pages, ...rest } = Astro.props
20
+ ---
21
+
22
+ <Section
23
+ class:list="jobs-1"
24
+ {...rest}
25
+ >
26
+ <Container>
27
+ <Element class:list="jobs-1-segment">
28
+ <Heading
29
+ size="3xl"
30
+ text={heading}
31
+ />
32
+ <Button
33
+ size="sm"
34
+ variant="ghost"
35
+ {...button}
36
+ />
37
+ </Element>
38
+ <Matrix>
39
+ {
40
+ pages?.map(({ slug, data: { title, list } }) => (
41
+ <Card
42
+ class="jobs-1-card"
43
+ href={getHref(slug)}
44
+ >
45
+ <Heading
46
+ as="h2"
47
+ size="lg"
48
+ text={title}
49
+ />
50
+ <List
51
+ size="sm"
52
+ items={list}
53
+ />
54
+ </Card>
55
+ ))
56
+ }
57
+ </Matrix>
58
+ </Container>
59
+ </Section>
60
+
61
+ <style is:global>
62
+ @layer fulldev {
63
+ .jobs-1 {
64
+ .container {
65
+ @apply flex flex-col gap-12;
66
+ }
67
+
68
+ .jobs-1-segment {
69
+ @apply flex items-center justify-between gap-8;
70
+ }
71
+
72
+ .card {
73
+ @apply flex flex-col gap-3;
74
+ }
75
+ }
76
+ }
77
+ </style>
@@ -0,0 +1,55 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Element from 'fulldev-ui/components/Element.astro'
4
+ import Heading from 'fulldev-ui/components/Heading.astro'
5
+ import Image from 'fulldev-ui/components/Image.astro'
6
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
7
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
8
+ import Container from 'fulldev-ui/structures/Container.astro'
9
+ import Section from 'fulldev-ui/structures/Section.astro'
10
+ import Writeup from 'fulldev-ui/structures/Writeup.astro'
11
+
12
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
13
+
14
+ const { tagline, heading, paragraph, images, ...rest } = Astro.props
15
+ ---
16
+
17
+ <Section
18
+ class:list="logos-1"
19
+ {...rest}
20
+ >
21
+ <Container>
22
+ <Writeup align="center">
23
+ <Heading
24
+ size="xl"
25
+ text={heading}
26
+ />
27
+ <Paragraph
28
+ size="sm"
29
+ muted
30
+ text={paragraph}
31
+ />
32
+ </Writeup>
33
+ <Element class:list="logos-1-cards">
34
+ {images?.map((image) => <Image {...image} />)}
35
+ </Element>
36
+ </Container>
37
+ </Section>
38
+
39
+ <style is:global>
40
+ @layer fulldev {
41
+ .logos-1 {
42
+ .container {
43
+ @apply flex flex-col items-center gap-8;
44
+ }
45
+
46
+ .logos-1-cards {
47
+ @apply flex flex-wrap justify-center gap-12;
48
+ }
49
+
50
+ .image {
51
+ @apply max-w-36;
52
+ }
53
+ }
54
+ }
55
+ </style>
@@ -0,0 +1,90 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import { getEntries } from 'astro:content'
4
+ import Button from 'fulldev-ui/components/Button.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 Price from 'fulldev-ui/components/Price.astro'
9
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
10
+ import Card from 'fulldev-ui/structures/Card.astro'
11
+ import Container from 'fulldev-ui/structures/Container.astro'
12
+ import Section from 'fulldev-ui/structures/Section.astro'
13
+ import { getHref } from 'fulldev-ui/utils/getHref'
14
+
15
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
16
+
17
+ const { heading, button, products, ...rest } = Astro.props
18
+
19
+ const entries = products && (await getEntries(products))
20
+ ---
21
+
22
+ <Section
23
+ class:list="products-1"
24
+ {...rest}
25
+ >
26
+ <Container>
27
+ <Element class:list="products-1-segment">
28
+ <Heading
29
+ size="2xl"
30
+ text={heading}
31
+ />
32
+ <Button
33
+ variant="ghost"
34
+ size="sm"
35
+ {...button}
36
+ />
37
+ </Element>
38
+ <Element class:list="products-1-cards">
39
+ {
40
+ entries?.map(({ slug, data: { images, title, price } }) => (
41
+ <Card href={getHref(slug)}>
42
+ <Image {...images?.[0]} />
43
+ <Element class:list="products-1-card-content">
44
+ <Heading
45
+ as="h3"
46
+ size="md"
47
+ text={title}
48
+ />
49
+ <Price amount={price} />
50
+ </Element>
51
+ </Card>
52
+ ))
53
+ }
54
+ </Element>
55
+ </Container>
56
+ </Section>
57
+
58
+ <style is:global>
59
+ @layer fulldev {
60
+ .products-1 {
61
+ .container {
62
+ @apply flex flex-col gap-8;
63
+ }
64
+
65
+ .products-1-segment {
66
+ @apply flex items-center justify-between gap-8;
67
+ }
68
+
69
+ .products-1-cards {
70
+ @apply grid grid-cols-2 items-start gap-4 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6;
71
+ }
72
+
73
+ .card {
74
+ @apply relative flex flex-col gap-3;
75
+
76
+ &:hover > .image {
77
+ @apply opacity-75 transition-opacity;
78
+ }
79
+
80
+ .image {
81
+ @apply rounded-md border;
82
+ }
83
+ }
84
+
85
+ .products-1-card-content {
86
+ @apply flex h-full flex-col gap-2;
87
+ }
88
+ }
89
+ }
90
+ </style>
@@ -0,0 +1,80 @@
1
+ ---
2
+ // Heading etc left, image and content right, sticky
3
+ import type { ComponentProps } from 'astro/types'
4
+ import Badges from 'fulldev-ui/components/Badges.astro'
5
+ import Buttons from 'fulldev-ui/components/Buttons.astro'
6
+ import Element from 'fulldev-ui/components/Element.astro'
7
+ import Heading from 'fulldev-ui/components/Heading.astro'
8
+ import Image from 'fulldev-ui/components/Image.astro'
9
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
10
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
11
+ import Container from 'fulldev-ui/structures/Container.astro'
12
+ import Group from 'fulldev-ui/structures/Group.astro'
13
+ import Prose from 'fulldev-ui/structures/Prose.astro'
14
+ import Section from 'fulldev-ui/structures/Section.astro'
15
+ import Split from 'fulldev-ui/structures/Split.astro'
16
+
17
+ interface Props {
18
+ tagline?: string | undefined
19
+ heading?: string | undefined
20
+ paragraph?: string | undefined
21
+ content?: string | undefined
22
+ buttons?: ComponentProps<typeof Buttons>['buttons']
23
+ cards?: {
24
+ image?: ComponentProps<typeof Image> | undefined
25
+ badges?: ComponentProps<typeof Badges>['badges']
26
+ heading?: string | undefined
27
+ paragraph?: string | undefined
28
+ }[]
29
+ }
30
+
31
+ const { tagline, heading, paragraph, buttons, content, cards } = Astro.props
32
+ ---
33
+
34
+ <Section class="projects-1">
35
+ <Container>
36
+ <Split class="items-start">
37
+ <Prose class="lg:sticky lg:top-sticky-16 lg:max-w-xl">
38
+ <Tagline text={tagline} />
39
+ <Heading
40
+ as="h2"
41
+ size="4xl"
42
+ text={heading}
43
+ />
44
+ <Paragraph
45
+ muted
46
+ size="lg"
47
+ text={paragraph}
48
+ />
49
+ <Fragment set:html={content} />
50
+ <Group>
51
+ <Buttons {buttons} />
52
+ </Group>
53
+ </Prose>
54
+ <Element class="flex flex-col gap-8">
55
+ {
56
+ cards?.map(({ image, badges, heading, paragraph }) => (
57
+ <Element class="flex flex-col gap-2">
58
+ <Image
59
+ class="mb-4"
60
+ {...image}
61
+ />
62
+ <Group>
63
+ <Badges
64
+ size="sm"
65
+ {badges}
66
+ />
67
+ </Group>
68
+ <Heading
69
+ as="h3"
70
+ size="xl"
71
+ text={heading}
72
+ />
73
+ <Paragraph text={paragraph} />
74
+ </Element>
75
+ ))
76
+ }
77
+ </Element>
78
+ </Split>
79
+ </Container>
80
+ </Section>
@@ -0,0 +1,81 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Heading from 'fulldev-ui/components/Heading.astro'
4
+ import Image from 'fulldev-ui/components/Image.astro'
5
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
6
+ import Rating from 'fulldev-ui/components/Rating.astro'
7
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
8
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
9
+ import Card from 'fulldev-ui/structures/Card.astro'
10
+ import Container from 'fulldev-ui/structures/Container.astro'
11
+ import Masonry from 'fulldev-ui/structures/Masonry.astro'
12
+ import Section from 'fulldev-ui/structures/Section.astro'
13
+ import Writeup from 'fulldev-ui/structures/Writeup.astro'
14
+
15
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
16
+
17
+ const { tagline, heading, paragraph, cards, ...rest } = Astro.props
18
+ ---
19
+
20
+ <Section
21
+ class:list="reviews-1"
22
+ {...rest}
23
+ >
24
+ <Container>
25
+ <Writeup align="center">
26
+ <Tagline
27
+ size="sm"
28
+ text={tagline}
29
+ />
30
+ <Heading
31
+ size="3xl"
32
+ text={heading}
33
+ />
34
+ <Paragraph text={paragraph} />
35
+ </Writeup>
36
+ <Masonry>
37
+ {
38
+ cards?.map(({ rating, heading, paragraph, image }) => (
39
+ <Card class="reviews-1-card">
40
+ <Image {...image} />
41
+ <Rating
42
+ size="sm"
43
+ score={rating}
44
+ />
45
+ <Heading
46
+ as="h3"
47
+ size="md"
48
+ text={heading}
49
+ />
50
+ <Paragraph
51
+ size="sm"
52
+ text={paragraph}
53
+ />
54
+ </Card>
55
+ ))
56
+ }
57
+ </Masonry>
58
+ </Container>
59
+ </Section>
60
+
61
+ <style is:global>
62
+ @layer fulldev {
63
+ .reviews-1 {
64
+ .container {
65
+ @apply flex flex-col items-center gap-16;
66
+ }
67
+
68
+ .reviews-1-cards {
69
+ @apply grid grid-cols-1 gap-6 lg:grid-cols-3;
70
+ }
71
+
72
+ .reviews-1-card {
73
+ @apply flex flex-col gap-3;
74
+ }
75
+
76
+ .icon {
77
+ @apply text-primary;
78
+ }
79
+ }
80
+ }
81
+ </style>
@@ -2,9 +2,8 @@
2
2
  import type { ComponentProps, HTMLAttributes } from 'astro/types'
3
3
  import Element from 'fulldev-ui/components/Element.astro'
4
4
  import Links from 'fulldev-ui/components/Links.astro'
5
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
6
5
 
7
- interface Props extends GlobalProps, HTMLAttributes<'header'> {
6
+ interface Props extends HTMLAttributes<'header'> {
8
7
  dark?: boolean | undefined
9
8
  size?: 'sm' | 'md' | 'lg' | undefined
10
9
  links?: ComponentProps<typeof Links>['links']
@@ -1,12 +1,13 @@
1
- ---
2
- import type { ComponentProps, HTMLAttributes, HTMLTag } from 'astro/types'
1
+ <!-- ---
2
+ import type { ComponentProps,HTMLAttributes,HTMLTag } from 'astro/types'
3
3
  import Badge from 'fulldev-ui/components/Badge.astro'
4
4
  import Buttons from 'fulldev-ui/components/Buttons.astro'
5
5
  import Element from 'fulldev-ui/components/Element.astro'
6
6
  import Heading from 'fulldev-ui/components/Heading.astro'
7
7
  import Image from 'fulldev-ui/components/Image.astro'
8
- import Lead from 'fulldev-ui/components/Lead.astro'
9
- import Paragraph from 'fulldev-ui/components/Paragraph.astro'
8
+ import Paragraph,{
9
+ default as Lead,
10
+ } from 'fulldev-ui/components/Paragraph.astro'
10
11
  import Rating from 'fulldev-ui/components/Rating.astro'
11
12
  import Tagline from 'fulldev-ui/components/Tagline.astro'
12
13
 
@@ -69,7 +70,7 @@ const {
69
70
  {level}
70
71
  {size}
71
72
  />
72
- <Lead
73
+ <Paragraph
73
74
  text={lead}
74
75
  {size}
75
76
  />
@@ -241,4 +242,4 @@ const {
241
242
  }
242
243
  }
243
244
  }
244
- </style>
245
+ </style> -->
@@ -1,41 +1,21 @@
1
1
  ---
2
- import type { ComponentProps, HTMLAttributes, HTMLTag } from 'astro/types'
3
- import type { CollectionEntry } from 'astro:content'
4
- import { getEntry } from 'astro:content'
2
+ import type { HTMLAttributes } from 'astro/types'
5
3
  import Element from 'fulldev-ui/components/Element.astro'
6
4
  import Icon from 'fulldev-ui/components/Icon.astro'
7
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
8
5
 
9
- interface Props
10
- extends GlobalProps,
11
- HTMLAttributes<'div'>,
12
- HTMLAttributes<'a'> {
13
- as?: HTMLTag
14
- href?: string | null | undefined
15
- icon?: ComponentProps<typeof Icon>['name']
16
- slug?: CollectionEntry<'pages'>['slug'] | undefined
17
- variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | undefined
6
+ interface Props extends HTMLAttributes<'a'>, HTMLAttributes<'div'> {
7
+ variant?: 'primary' | 'secondary' | 'outline' | undefined
8
+ size?: 'sm' | 'md' | 'lg' | undefined
18
9
  text?: string | undefined
10
+ icon?: string | undefined
19
11
  }
20
12
 
21
- const {
22
- slug,
23
- href = slug === 'index' ? '/' : slug ? `/${slug}/` : undefined,
24
- text = slug ? (await getEntry('pages', slug)).data.title : undefined,
25
- as = href ? 'a' : 'div',
26
- target = href?.startsWith('http') ? '_blank' : undefined,
27
- variant = 'outline',
28
- size = 'md',
29
- icon,
30
- ...rest
31
- } = Astro.props
13
+ const { variant = 'outline', size = 'md', text, icon, ...rest } = Astro.props
32
14
  ---
33
15
 
34
16
  <Element
35
17
  class:list="badge"
36
- {as}
37
- {href}
38
- {target}
18
+ as={rest.href ? 'a' : 'div'}
39
19
  {variant}
40
20
  {size}
41
21
  {...rest}
@@ -1,43 +1,20 @@
1
1
  ---
2
- import type { ComponentProps, HTMLAttributes } from 'astro/types'
3
- import Element from 'fulldev-ui/components/Element.astro'
4
- import Badge from './Badge.astro'
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Badge from 'fulldev-ui/components/Badge.astro'
5
4
 
6
- interface Props extends HTMLAttributes<'div'> {
7
- variant?: ComponentProps<typeof Badge>['variant']
8
- size?: ComponentProps<typeof Badge>['size']
9
- badges?: ComponentProps<typeof Badge>[] | undefined
5
+ interface Props extends ComponentProps<typeof Badge> {
10
6
  badge?: ComponentProps<typeof Badge> | undefined
7
+ badges?: string[] | undefined
11
8
  }
12
9
 
13
- const {
14
- variant = 'outline',
15
- size = 'md',
16
- badges = [],
17
- badge,
18
- ...rest
19
- } = Astro.props
10
+ const { badge, badges, ...rest } = Astro.props
20
11
  ---
21
12
 
22
- <Element
23
- class:list="badges"
24
- {...rest}
25
- >
26
- {
27
- [badge, ...badges].filter(Boolean).map((badge) => (
28
- <Badge
29
- {variant}
30
- {size}
31
- {...badge}
32
- />
33
- ))
34
- }
35
- </Element>
36
-
37
- <style is:global>
38
- @layer fulldev {
39
- .badges {
40
- @apply inline-flex w-auto flex-wrap justify-stretch gap-1.5;
41
- }
42
- }
43
- </style>
13
+ {
14
+ [badge, ...(badges || [])].filter(Boolean).map((badge) => (
15
+ <Badge
16
+ {...rest}
17
+ {...(typeof badge === 'string' ? { text: badge } : badge)}
18
+ />
19
+ ))
20
+ }