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
@@ -1,60 +1,49 @@
1
1
  ---
2
- import type { ComponentProps, HTMLAttributes, HTMLTag } from 'astro/types'
3
- import type { CollectionEntry } from 'astro:content'
4
- import { getEntry } from 'astro:content'
5
- import Avatar from 'fulldev-ui/components/Avatar.astro'
2
+ import type { HTMLAttributes } from 'astro/types'
6
3
  import Element from 'fulldev-ui/components/Element.astro'
7
- import Icon from 'fulldev-ui/components/Icon.astro'
8
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
9
-
10
- interface Props
11
- extends GlobalProps,
12
- HTMLAttributes<'span'>,
13
- HTMLAttributes<'a'> {
14
- as?: HTMLTag
15
- icon?: ComponentProps<typeof Icon>['name']
16
- avatar?: ComponentProps<typeof Avatar>['src']
17
- slug?: CollectionEntry<'pages'>['slug'] | undefined
18
- size?: 'sm' | 'md' | 'lg' | undefined
4
+
5
+ interface Props extends HTMLAttributes<'p'> {
6
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | undefined
7
+ muted?: boolean | undefined
19
8
  text?: string | undefined
20
- variant?: 'secondary' | 'outline' | 'link' | undefined
21
9
  }
22
10
 
23
- const {
24
- slug,
25
- href = slug === 'index' ? '/' : slug ? `/${slug}/` : undefined,
26
- text = slug ? (await getEntry('pages', slug)).data.title : undefined,
27
- as = href ? 'a' : 'a',
28
- target = href?.toString().startsWith('http') ? '_blank' : undefined,
29
- icon,
30
- ...rest
31
- } = Astro.props
11
+ const { text, ...rest } = Astro.props
32
12
  ---
33
13
 
34
14
  <Element
35
- class:list={'tagline'}
36
- {href}
37
- {as}
38
- {target}
15
+ class:list="tagline"
16
+ as="p"
39
17
  {...rest}
40
18
  >
41
- <slot />
42
- <Icon name={icon} />
43
19
  <Fragment set:html={text} />
20
+ <slot />
44
21
  </Element>
45
22
 
46
23
  <style is:global>
47
24
  @layer fulldev {
48
25
  .tagline {
49
- @apply text-primary font-semibold;
26
+ @apply font-semibold leading-tight text-primary;
27
+
28
+ &.size-xs {
29
+ @apply text-xs;
30
+ }
50
31
 
51
32
  &.size-sm {
52
33
  @apply text-sm;
53
34
  }
54
35
 
36
+ &.size-md {
37
+ @apply text-base;
38
+ }
39
+
55
40
  &.size-lg {
56
41
  @apply text-lg;
57
42
  }
43
+
44
+ &.size-xl {
45
+ @apply text-xl;
46
+ }
58
47
  }
59
48
  }
60
49
  </style>
@@ -1,11 +1,11 @@
1
1
  ---
2
- import type { ComponentProps, HTMLAttributes } from 'astro/types'
2
+ import type { HTMLAttributes } from 'astro/types'
3
3
  import Element from 'fulldev-ui/components/Element.astro'
4
4
  import Label from 'fulldev-ui/components/Label.astro'
5
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
6
5
 
7
- interface Props extends GlobalProps, HTMLAttributes<'textarea'> {
8
- label?: ComponentProps<typeof Label>['text']
6
+ interface Props extends HTMLAttributes<'textarea'> {
7
+ size?: 'sm' | 'md' | 'lg' | undefined
8
+ label?: string | undefined
9
9
  }
10
10
 
11
11
  const {
@@ -33,7 +33,7 @@ const {
33
33
  <Element
34
34
  class:list="textarea-textarea"
35
35
  as="textarea"
36
- if={id}
36
+ show={id}
37
37
  {id}
38
38
  {name}
39
39
  {placeholder}
@@ -1,9 +1,9 @@
1
1
  ---
2
- import Button from './Button.astro'
3
- import Icon from './Icon.astro'
2
+ import Button from 'fulldev-ui/components/Button.astro'
3
+ import Icon from 'fulldev-ui/components/Icon.astro'
4
4
 
5
5
  interface Props {
6
- if?: any
6
+ show?: any
7
7
  size?: any
8
8
  variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | undefined
9
9
  }
@@ -1,22 +1,23 @@
1
1
  ---
2
- import type { ComponentProps, HTMLAttributes } from 'astro/types'
3
- import type { CollectionEntry } from 'astro:content'
2
+ import type { MarkdownHeading } from 'astro'
3
+ import type { HTMLAttributes } from 'astro/types'
4
4
  import Element from 'fulldev-ui/components/Element.astro'
5
5
  import Heading from 'fulldev-ui/components/Heading.astro'
6
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
7
- import Links from './Links.astro'
6
+ import Link from 'fulldev-ui/components/Link.astro'
8
7
 
9
- interface Props extends GlobalProps, HTMLAttributes<'div'> {
10
- heading?: ComponentProps<typeof Heading>['text']
11
- render?: CollectionEntry<'pages'>['render'] | undefined
8
+ interface Props extends HTMLAttributes<'div'> {
9
+ headings?: MarkdownHeading[] | undefined
10
+ heading?: string | undefined
12
11
  }
13
12
 
14
- const { size = 'sm', heading = 'On this page', render, ...rest } = Astro.props
13
+ const { headings, heading, ...rest } = Astro.props
15
14
 
16
- const headings = render ? (await render())?.headings : []
17
15
  const filteredHeadings = headings?.filter(
18
16
  (heading: any) => heading.depth >= 2 && heading.depth <= 4
19
17
  )
18
+
19
+ const h1 = headings?.find((heading: any) => heading.depth === 1)
20
+
20
21
  const links = filteredHeadings?.map((button: any) => ({
21
22
  text: button.text,
22
23
  href: `#${button.slug}`,
@@ -25,32 +26,28 @@ const links = filteredHeadings?.map((button: any) => ({
25
26
  ---
26
27
 
27
28
  <Element
28
- if={filteredHeadings?.length > 1}
29
29
  class:list="toc"
30
- {size}
30
+ show={filteredHeadings?.length}
31
31
  {...rest}
32
32
  >
33
- <Heading
34
- level={5}
35
- text={heading}
36
- {size}
37
- />
38
- <Links
39
- direction="column"
40
- {links}
41
- {size}
42
- />
33
+ <Heading text={h1?.text || heading} />
34
+ {
35
+ links?.map((link) => (
36
+ <Link
37
+ variant="muted"
38
+ size="sm"
39
+ {...link}
40
+ />
41
+ ))
42
+ }
43
43
  </Element>
44
44
 
45
45
  <style is:global>
46
46
  @layer fulldev {
47
47
  .toc {
48
- @apply sticky bottom-0 z-10 -mt-14 hidden w-52 shrink-0 flex-col items-start justify-start gap-3 overflow-y-auto py-14 md:flex;
48
+ @apply sticky bottom-0 top-sticky-16 z-10 hidden w-48 shrink-0 flex-col items-start justify-start gap-3 overflow-y-auto md:flex;
49
49
  @apply scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-full scrollbar-w-2 hover:scrollbar-thumb-accent-hover;
50
50
 
51
- top: var(--header-height, 0px);
52
- max-height: calc(100vh - var(--header-height, 0px));
53
-
54
51
  .depth-3 {
55
52
  @apply pl-3;
56
53
  }
@@ -0,0 +1,45 @@
1
+ ---
2
+ import type { Polymorphic } from 'astro/types'
3
+ import { uid } from 'radash'
4
+ import Button from './Button.astro'
5
+
6
+ type Props<As extends 'label'> = Polymorphic<{ as: As }> & {
7
+ color?: 'base' | 'brand' | undefined
8
+ id?: string | undefined
9
+ name?: string | undefined
10
+ icon?: string | undefined
11
+ html?: string | undefined
12
+ text?: string | undefined
13
+ toggled: boolean | undefined
14
+ }
15
+
16
+ const { id = uid(7), toggled, name, ...rest } = Astro.props
17
+ ---
18
+
19
+ <input
20
+ class="toggle-checkbox"
21
+ checked={toggled}
22
+ type="checkbox"
23
+ id={id}
24
+ name={name ?? id}
25
+ />
26
+
27
+ <Button
28
+ class:list="toggle"
29
+ variant="tertiary"
30
+ as="label"
31
+ for={id}
32
+ {...rest}
33
+ />
34
+
35
+ <style is:global>
36
+ @layer fulldev {
37
+ .toggle-checkbox {
38
+ @apply hidden;
39
+
40
+ &:checked + .toggle {
41
+ @apply bg-accent text-foreground;
42
+ }
43
+ }
44
+ }
45
+ </style>
@@ -1,5 +1,5 @@
1
- ---
2
- import type { HTMLAttributes, HTMLTag } from 'astro/types'
1
+ <!-- ---
2
+ import type { HTMLAttributes,HTMLTag } from 'astro/types'
3
3
  import type { CollectionEntry } from 'astro:content'
4
4
  import Element from 'fulldev-ui/components/Element.astro'
5
5
  import Icon from 'fulldev-ui/components/Icon.astro'
@@ -55,4 +55,4 @@ const { size = 'sm', slug, ...rest } = Astro.props
55
55
  }
56
56
  }
57
57
  }
58
- </style>
58
+ </style> -->
@@ -0,0 +1,79 @@
1
+ <!-- ---
2
+ // @ts-nocheck
3
+ import type { ImageMetadata } from 'astro'
4
+ import type { HTMLAttributes } from 'astro/types'
5
+ import { Image as AstroImage } from 'astro:assets'
6
+ import { getEntry } from 'astro:content'
7
+
8
+ interface Props extends GlobalProps, HTMLAttributes<'img'> {
9
+ id?: any
10
+ size?: 'sm' | 'md' | 'lg' | undefined
11
+ position?: 'background' | 'cover' | 'inset' | undefined
12
+ }
13
+
14
+ const { id } = Astro.props
15
+ const entry = id ? (await getEntry('images', id))?.data : {}
16
+
17
+ const {
18
+ width = 1920,
19
+ height = 1920,
20
+ position,
21
+ src,
22
+ alt,
23
+ size,
24
+ ...rest
25
+ } = {
26
+ ...entry,
27
+ ...Astro.props,
28
+ }
29
+
30
+ function getAltBySrc() {
31
+ if (!src) return
32
+ const filename = src?.split('/').pop()
33
+ const slug = filename && filename.split('.')[0]
34
+ const unslugged = slug?.replace(/-/g, ' ')
35
+ return unslugged || ''
36
+ }
37
+
38
+ const images = import.meta.glob<{ default: ImageMetadata }>('/src/images/*')
39
+ const image = images[src as keyof typeof images]
40
+ ---
41
+
42
+ {
43
+ (image || src) && (
44
+ <AstroImage
45
+ class:list={[
46
+ 'image',
47
+ {
48
+ [`size-${size}`]: size,
49
+ [`position-${position}`]: position,
50
+ },
51
+ ]}
52
+ alt={alt || getAltBySrc()}
53
+ src={image ? image() : src}
54
+ width={width ? Number(width) : undefined}
55
+ height={height ? Number(height) : undefined}
56
+ {...rest}
57
+ />
58
+ )
59
+ }
60
+
61
+ <style is:global>
62
+ @layer fulldev {
63
+ .image {
64
+ @apply block;
65
+
66
+ &.position-contain {
67
+ @apply h-auto w-full object-contain;
68
+ }
69
+
70
+ &.position-cover {
71
+ @apply h-full w-full object-cover;
72
+ }
73
+
74
+ &.position-background {
75
+ @apply absolute inset-0 h-full max-h-none w-full max-w-none object-cover opacity-30;
76
+ }
77
+ }
78
+ }
79
+ </style> -->
@@ -0,0 +1,21 @@
1
+ ---
2
+ import Link from 'fulldev-ui/components/Link.astro'
3
+
4
+ const slug = Astro.params.page
5
+ const folder = slug?.split('/').slice(-2, -1)[0]
6
+ const component = slug
7
+ ?.split('/')
8
+ .pop()
9
+ ?.replace(/^\w/, (c) => c.toUpperCase())
10
+ const path = `src/${folder}/${component}.astro`
11
+ ---
12
+
13
+ <p>
14
+ Please reference
15
+ <Link
16
+ target="_blank"
17
+ href={`https://github.com/fulldotdev/ui/blob/main/${path}`}
18
+ >
19
+ {path}
20
+ </Link> for now.
21
+ </p>
@@ -1,20 +1,13 @@
1
1
  import { defineCollection } from 'astro:content'
2
- import imageLoader from 'fulldev-ui/loaders/imageLoader.ts'
3
- import imageSchema from 'fulldev-ui/schemas/imageSchema.ts'
4
- import pageSchema from 'fulldev-ui/schemas/pageSchema.ts'
5
- import presetSchema from 'fulldev-ui/schemas/presetSchema.ts'
2
+ import { pageSchema } from 'fulldev-ui/schemas/page.ts'
6
3
 
7
4
  export const collections = {
8
5
  pages: defineCollection({
9
6
  type: 'content',
10
7
  schema: pageSchema,
11
8
  }),
12
- presets: defineCollection({
9
+ layouts: defineCollection({
13
10
  type: 'data',
14
- schema: presetSchema,
15
- }),
16
- images: defineCollection({
17
- loader: imageLoader,
18
- schema: imageSchema,
11
+ schema: pageSchema,
19
12
  }),
20
13
  }
@@ -0,0 +1,159 @@
1
+ head:
2
+ title: Fulldev UI - Astro component and block library, open-source
3
+ image:
4
+ src: /images/og-image.png
5
+ theme: system
6
+ code: |
7
+ <script is:inline>
8
+ !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
9
+ posthog.init('phc_mVacbe8Xydu0UZlh4bNw5EGisvzyRcpqXEEuEEp5lOY',{api_host:'https://eu.i.posthog.com', person_profiles: 'identified_only' // or 'always' to create profiles for anonymous users as well
10
+ })
11
+ </script>
12
+
13
+ banner:
14
+ text: 'Introducing v0.6: full pagebuilding 🎉'
15
+
16
+ header:
17
+ search: true
18
+ themer: true
19
+ logo:
20
+ image: /favicon/android-chrome-512x512.png
21
+ text: Fulldev UI
22
+ links:
23
+ - text: Docs
24
+ href: /docs/
25
+ - text: Components
26
+ href: /docs/components/badge/
27
+ - text: Structures
28
+ href: /docs/structures/container/
29
+ - text: Blocks
30
+ href: /docs/blocks/banner/
31
+ socials:
32
+ - https://github.com/fulldotdev/ui
33
+ - https://discord.gg/vXZqMbadm8
34
+
35
+ sidebar:
36
+ - heading: Get Started
37
+ links:
38
+ - text: Introduction
39
+ href: /docs/
40
+ - text: Installation
41
+ href: /docs/installation/
42
+ - text: Customization
43
+ href: /docs/customization/
44
+ - text: Integrating frameworks
45
+ href: /docs/frameworks/
46
+ - text: Using components
47
+ href: /docs/components/
48
+ - text: Using structures
49
+ href: /docs/structures/
50
+ - text: Using blocks
51
+ href: /docs/blocks/
52
+ - heading: Components
53
+ links:
54
+ - text: Badge
55
+ href: /docs/components/badge/
56
+ - text: Badges
57
+ href: /docs/components/badges/
58
+ - text: Button
59
+ href: /docs/components/button/
60
+ - text: Buttons
61
+ href: /docs/components/buttons/
62
+ - text: Channel
63
+ href: /docs/components/channel/
64
+ - text: Channels
65
+ href: /docs/components/channels/
66
+ - text: Checkbox
67
+ href: /docs/components/checkbox/
68
+ - text: Heading
69
+ href: /docs/components/heading/
70
+ - text: Icon
71
+ href: /docs/components/icon/
72
+ - text: Image
73
+ href: /docs/components/image/
74
+ - text: Input
75
+ href: /docs/components/input/
76
+ - text: Label
77
+ href: /docs/components/label/
78
+ - text: Link
79
+ href: /docs/components/link/
80
+ - text: Links
81
+ href: /docs/components/links/
82
+ - text: List
83
+ href: /docs/components/list/
84
+ - text: Logo
85
+ href: /docs/components/logo/
86
+ - text: Menu
87
+ href: /docs/components/menu/
88
+ - text: Paragraph
89
+ href: /docs/components/paragraph/
90
+ - text: Rating
91
+ href: /docs/components/rating/
92
+ - text: Select
93
+ href: /docs/components/select/
94
+ - text: Social
95
+ href: /docs/components/social/
96
+ - text: Socials
97
+ href: /docs/components/socials/
98
+ - text: Switch
99
+ href: /docs/components/switch/
100
+ - text: Tagline
101
+ href: /docs/components/tagline/
102
+ - text: Textarea
103
+ href: /docs/components/textarea/
104
+ - heading: Structures
105
+ links:
106
+ - text: Container
107
+ href: /docs/structures/container/
108
+ - text: Section
109
+ href: /docs/structures/section/
110
+ - text: Card
111
+ href: /docs/structures/card/
112
+ - text: Matrix
113
+ href: /docs/structures/matrix/
114
+ - text: Stack
115
+ href: /docs/structures/stack/
116
+ - text: Group
117
+ href: /docs/structures/group/
118
+ - text: Masonry
119
+ href: /docs/structures/masonry/
120
+ - text: Prose
121
+ href: /docs/structures/prose/
122
+ - text: Writeup
123
+ href: /docs/structures/writeup/
124
+ - text: Layout
125
+ href: /docs/structures/layout/
126
+ - text: Code
127
+ href: /docs/structures/code/
128
+ - text: Drawer
129
+ href: /docs/structures/drawer/
130
+ - text: Panel
131
+ href: /docs/structures/panel/
132
+ - heading: Blocks
133
+ links:
134
+ - text: Banner
135
+ href: /docs/blocks/banner/
136
+ - text: Colleagues
137
+ href: /docs/blocks/colleagues/
138
+ - text: Content
139
+ href: /docs/blocks/content/
140
+ - text: Cta
141
+ href: /docs/blocks/cta/
142
+ - text: Feature
143
+ href: /docs/blocks/feature/
144
+ - text: Features
145
+ href: /docs/blocks/features/
146
+ - text: Footer
147
+ href: /docs/blocks/footer/
148
+ - text: Header
149
+ href: /docs/blocks/header/
150
+ - text: Hero
151
+ href: /docs/blocks/hero/
152
+ - text: Intro
153
+ href: /docs/blocks/intro/
154
+ - text: Logos
155
+ href: /docs/blocks/logos/
156
+ - text: Reviews
157
+ href: /docs/blocks/reviews/
158
+ - text: Projects
159
+ href: /docs/blocks/projects/
@@ -0,0 +1,5 @@
1
+ ---
2
+ title: Anti Slip Profiles
3
+ image: 'anti-slip-profiles.webp'
4
+ slug: 'https://antislipprofiles.com'
5
+ ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Fulldev UI
2
+ title: Fulldev UI
3
3
  image: fulldev-ui.webp
4
4
  href: 'https://ui.ull.dev'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Lavis Detailing
2
+ title: Lavis Detailing
3
3
  image: lavis-detailing.webp
4
4
  href: 'https://lavisdetailing.nl'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Leren Trainingsacteren
2
+ title: Leren Trainingsacteren
3
3
  image: leren-trainingsacteren.webp
4
4
  href: 'https://lerentrainingsacteren.nl'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Miele Witgoedcenter Amsterdam
2
+ title: Miele Witgoedcenter Amsterdam
3
3
  image: miele-witgoedcenter-amsterdam.webp
4
4
  href: 'https://witgoedcenteramsterdam.nl'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Sloepverhuur Bolsward
2
+ title: Sloepverhuur Bolsward
3
3
  image: sloepverhuur-bolsward.webp
4
4
  href: 'https://sloepverhuurbolsward.nl'
5
5
  ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ title: Stark Vulcanising Products
3
+ image: stark-vulcanising-products.webp
4
+ ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: The Gym Haren
2
+ title: The Gym Haren
3
3
  image: the-gym-haren.webp
4
4
  href: 'https://thegymharen.nl'
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- heading: Van Dillen Antieke Bouwmaterialen
2
+ title: Van Dillen Antieke Bouwmaterialen
3
3
  image: van-dillen-antieke-bouwmaterialen.webp
4
4
  href: 'https://vdabouwmaterialen.nl'
5
5
  ---
@@ -0,0 +1,28 @@
1
+ ---
2
+ _block: Content7
3
+ title: Toggle
4
+ ---
5
+
6
+ import Props from 'fulldev-ui/components/docs/Props.astro'
7
+
8
+ ```astro live
9
+ ---
10
+ import Toggle from 'fulldev-ui/components/Toggle.astro'
11
+ ---
12
+
13
+ <Toggle text="Click me" icon="click" />
14
+ ```
15
+
16
+ ## Props
17
+
18
+ <Props />
19
+
20
+ ## Examples
21
+
22
+ ```astro live
23
+ ---
24
+ import Toggle from 'fulldev-ui/components/Toggle.astro'
25
+ ---
26
+
27
+ <Toggle icon={'code'} text="Auto save" toggled={true} />
28
+ ```