fulldev-ui 0.6.0-beta.6 → 0.6.0-beta.8

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 (331) hide show
  1. package/.vscode/settings.json +2 -0
  2. package/astro.config.ts +1 -3
  3. package/cloudcannon.config.yml +2 -3
  4. package/package.json +1 -1
  5. package/src/blocks/Banner.astro +3 -3
  6. package/src/blocks/Colleagues1.astro +16 -16
  7. package/src/blocks/Contact1.astro +5 -10
  8. package/src/blocks/Content1.astro +22 -39
  9. package/src/blocks/Content2.astro +21 -45
  10. package/src/blocks/Content3.astro +36 -31
  11. package/src/blocks/Content4.astro +28 -35
  12. package/src/blocks/Content5.astro +72 -0
  13. package/src/blocks/Cta1.astro +6 -6
  14. package/src/blocks/Features1.astro +9 -5
  15. package/src/blocks/Footer.astro +13 -5
  16. package/src/blocks/Header.astro +19 -15
  17. package/src/blocks/Hero1.astro +8 -5
  18. package/src/blocks/Industries1.astro +86 -0
  19. package/src/blocks/Intro1.astro +7 -9
  20. package/src/blocks/Jobs1.astro +28 -24
  21. package/src/blocks/Logos1.astro +4 -4
  22. package/src/blocks/Products1.astro +4 -4
  23. package/src/blocks/Projects1.astro +103 -0
  24. package/src/blocks/Reviews1.astro +9 -7
  25. package/src/{components → blocks}/Subheader.astro +1 -2
  26. package/src/components/Badge.astro +8 -20
  27. package/src/components/Badges.astro +3 -3
  28. package/src/components/Block.astro +1 -1
  29. package/src/components/Button.astro +9 -18
  30. package/src/components/Cart.astro +6 -6
  31. package/src/components/CartSummary.astro +1 -0
  32. package/src/components/Channel.astro +9 -3
  33. package/src/components/Channels.astro +11 -42
  34. package/src/components/Checkbox.astro +8 -14
  35. package/src/components/Element.astro +2 -1
  36. package/src/components/Form.astro +1 -2
  37. package/src/components/Gallery.astro +6 -5
  38. package/src/components/Head.astro +14 -4
  39. package/src/components/Heading.astro +21 -17
  40. package/src/components/Icon.astro +2 -3
  41. package/src/components/Image.astro +6 -2
  42. package/src/components/Input.astro +11 -14
  43. package/src/components/Label.astro +6 -6
  44. package/src/components/Link.astro +13 -16
  45. package/src/components/Links.astro +1 -2
  46. package/src/components/List.astro +3 -5
  47. package/src/components/Logo.astro +9 -16
  48. package/src/components/Menu.astro +7 -3
  49. package/src/components/Paragraph.astro +6 -7
  50. package/src/components/Price.astro +1 -4
  51. package/src/components/Rating.astro +4 -2
  52. package/src/components/Search.astro +1 -6
  53. package/src/components/Select.astro +3 -4
  54. package/src/components/Sidebar.astro +6 -6
  55. package/src/components/Social.astro +3 -1
  56. package/src/components/Socials.astro +18 -34
  57. package/src/components/Switch.astro +4 -69
  58. package/src/components/Table.astro +2 -3
  59. package/src/components/Tagline.astro +6 -7
  60. package/src/components/Textarea.astro +5 -5
  61. package/src/components/Themer.astro +3 -3
  62. package/src/components/Toc.astro +7 -11
  63. package/src/components/Toggle.astro +45 -0
  64. package/src/components/{Breadcrumb.astro → _Breadcrumb.astro} +3 -3
  65. package/src/components/_Image.astro +2 -2
  66. package/src/components/docs/Props.astro +21 -0
  67. package/src/content/layouts/base.yml +131 -19
  68. package/src/content/pages/base/toggle.mdx +28 -0
  69. package/src/content/pages/{blocks → docs/blocks}/banner.mdx +1 -0
  70. package/src/content/pages/docs/blocks/colleagues.mdx +49 -0
  71. package/src/content/pages/docs/blocks/content.mdx +155 -0
  72. package/src/content/pages/docs/blocks/cta.mdx +16 -0
  73. package/src/content/pages/docs/blocks/feature.mdx +17 -0
  74. package/src/content/pages/docs/blocks/features.mdx +35 -0
  75. package/src/content/pages/docs/blocks/footer.mdx +46 -0
  76. package/src/content/pages/docs/blocks/header.mdx +60 -0
  77. package/src/content/pages/docs/blocks/hero.mdx +18 -0
  78. package/src/content/pages/docs/blocks/intro.mdx +16 -0
  79. package/src/content/pages/docs/blocks/logos.mdx +37 -0
  80. package/src/content/pages/docs/blocks/projects.mdx +36 -0
  81. package/src/content/pages/docs/blocks/reviews.mdx +65 -0
  82. package/src/content/pages/docs/blocks.mdx +45 -20
  83. package/src/content/pages/docs/collections/pages.mdx +2 -2
  84. package/src/content/pages/docs/components/{table.mdx → _table.mdx} +2 -4
  85. package/src/content/pages/docs/components/{themer.mdx → _themer.mdx} +2 -4
  86. package/src/content/pages/docs/components/_toggle.mdx +2 -2
  87. package/src/content/pages/docs/components/badge.mdx +2 -4
  88. package/src/content/pages/docs/components/badges.mdx +3 -4
  89. package/src/content/pages/docs/components/button.mdx +2 -4
  90. package/src/content/pages/docs/components/buttons.mdx +3 -4
  91. package/src/content/pages/docs/components/channel.mdx +2 -4
  92. package/src/content/pages/docs/components/channels.mdx +3 -2
  93. package/src/content/pages/docs/components/checkbox.mdx +2 -4
  94. package/src/content/pages/docs/components/heading.mdx +11 -21
  95. package/src/content/pages/docs/components/icon.mdx +2 -4
  96. package/src/content/pages/docs/components/image.mdx +3 -9
  97. package/src/content/pages/docs/components/input.mdx +2 -4
  98. package/src/content/pages/docs/components/label.mdx +2 -4
  99. package/src/content/pages/docs/components/link.mdx +2 -4
  100. package/src/content/pages/docs/components/links.mdx +3 -4
  101. package/src/content/pages/docs/components/list.mdx +2 -4
  102. package/src/content/pages/docs/components/logo.mdx +9 -21
  103. package/src/content/pages/docs/components/menu.mdx +20 -48
  104. package/src/content/pages/docs/components/paragraph.mdx +44 -0
  105. package/src/content/pages/docs/components/rating.mdx +9 -42
  106. package/src/content/pages/docs/components/select.mdx +2 -4
  107. package/src/content/pages/docs/components/social.mdx +2 -4
  108. package/src/content/pages/docs/components/socials.mdx +3 -2
  109. package/src/content/pages/docs/components/switch.mdx +2 -4
  110. package/src/content/pages/docs/components/tagline.mdx +2 -6
  111. package/src/content/pages/docs/components/textarea.mdx +2 -4
  112. package/src/content/pages/docs/components.mdx +3 -4
  113. package/src/content/pages/docs/customization.mdx +52 -20
  114. package/src/content/pages/docs/frameworks.mdx +12 -11
  115. package/src/content/pages/docs/index.mdx +3 -2
  116. package/src/content/pages/docs/installation.mdx +9 -6
  117. package/src/content/pages/docs/layouts/doc.mdx +15 -0
  118. package/src/content/pages/docs/layouts/page.mdx +15 -0
  119. package/src/content/pages/docs/layouts.mdx +66 -19
  120. package/src/content/pages/docs/{generating-pages.mdx → pages.mdx} +1 -0
  121. package/src/content/pages/docs/{components → structures}/_card.mdx +6 -6
  122. package/src/content/pages/docs/{components → structures}/_drawer.mdx +1 -1
  123. package/src/content/pages/docs/structures/card.mdx +15 -0
  124. package/src/content/pages/docs/{components → structures}/code.mdx +4 -7
  125. package/src/content/pages/docs/structures/container.mdx +15 -0
  126. package/src/content/pages/docs/structures/drawer.mdx +15 -0
  127. package/src/content/pages/docs/structures/group.mdx +15 -0
  128. package/src/content/pages/docs/structures/layout.mdx +15 -0
  129. package/src/content/pages/docs/structures/masonry.mdx +15 -0
  130. package/src/content/pages/docs/structures/matrix.mdx +15 -0
  131. package/src/content/pages/docs/structures/panel.mdx +15 -0
  132. package/src/content/pages/docs/{components → structures}/prose.mdx +3 -6
  133. package/src/content/pages/docs/structures/section.mdx +15 -0
  134. package/src/content/pages/docs/structures/stack.mdx +15 -0
  135. package/src/content/pages/docs/structures/writeup.mdx +15 -0
  136. package/src/content/pages/docs/structures.mdx +7 -0
  137. package/src/content/pages/index.mdx +7 -4
  138. package/src/content/pages/showcase.mdx +1 -4
  139. package/src/css/theme.css +9 -42
  140. package/src/integration/index.ts +1 -3
  141. package/src/layouts/Block.astro +81 -0
  142. package/src/layouts/Category.astro +6 -6
  143. package/src/layouts/Doc.astro +50 -24
  144. package/src/layouts/Job.astro +5 -7
  145. package/src/layouts/Jobs.astro +14 -14
  146. package/src/layouts/Page.astro +4 -4
  147. package/src/layouts/Post.astro +7 -6
  148. package/src/layouts/Product.astro +3 -2
  149. package/src/schemas/badge.ts +14 -0
  150. package/src/schemas/block.ts +58 -0
  151. package/src/schemas/{components/button.ts → button.ts} +3 -7
  152. package/src/schemas/channel.ts +14 -0
  153. package/src/schemas/checkbox.ts +13 -0
  154. package/src/schemas/footer.ts +17 -0
  155. package/src/schemas/{components/head.ts → head.ts} +5 -5
  156. package/src/schemas/header.ts +21 -0
  157. package/src/schemas/{components/image.ts → image.ts} +22 -9
  158. package/src/schemas/input.ts +13 -0
  159. package/src/schemas/link.ts +14 -0
  160. package/src/schemas/logo.ts +13 -0
  161. package/src/schemas/menu.ts +11 -0
  162. package/src/schemas/page.ts +11 -14
  163. package/src/schemas/{utils/pathSchema.ts → path.ts} +1 -1
  164. package/src/schemas/textarea.ts +11 -0
  165. package/src/stores/cart.svelte.ts +0 -1
  166. package/src/{components → structures}/Card.astro +5 -1
  167. package/src/{components → structures}/Code.astro +7 -6
  168. package/src/{components → structures}/Container.astro +1 -1
  169. package/src/{components → structures}/Drawer.astro +4 -4
  170. package/src/{components → structures}/Layout.astro +2 -3
  171. package/src/structures/Matrix.astro +39 -0
  172. package/src/{components → structures}/Prose.astro +17 -6
  173. package/src/structures/Sidebar.astro +37 -0
  174. package/src/{components → structures}/Stack.astro +1 -1
  175. package/src/{components → structures}/Writeup.astro +9 -1
  176. package/src/structures/_Bento.astro +34 -0
  177. package/src/utils/cart.ts +1 -1
  178. package/tailwind.config.ts +5 -7
  179. package/tsconfig.json +3 -1
  180. package/public/favicon/favicon-16x16-dark.png +0 -0
  181. package/public/favicon/favicon-32x32-dark.png +0 -0
  182. package/public/favicon/favicon-48x48-dark.png +0 -0
  183. package/public/favicon/favicon-dark.ico +0 -0
  184. package/src/blocks/Feature1.astro +0 -61
  185. package/src/components/Avatar.astro +0 -45
  186. package/src/components/Avatars.astro +0 -36
  187. package/src/components/Cards.astro +0 -133
  188. package/src/components/Dialog.astro +0 -67
  189. package/src/components/DrawerOld.astro +0 -143
  190. package/src/components/Grid.astro +0 -39
  191. package/src/components/Header.astro +0 -32
  192. package/src/components/Navigation.astro +0 -39
  193. package/src/components/_Author.astro +0 -90
  194. package/src/components/_Header.astro +0 -129
  195. package/src/components/_Prose copy.astro +0 -172
  196. package/src/components/_Sidebar copy.astro +0 -87
  197. package/src/components/docs/DecorativeBox.astro +0 -15
  198. package/src/components/docs/PropsTable.astro +0 -49
  199. package/src/components/experimental/Video.astro +0 -32
  200. package/src/components/experimental/Window.astro +0 -122
  201. package/src/content/pages/blocks/_footer.mdx +0 -75
  202. package/src/content/pages/blocks/_header.mdx +0 -183
  203. package/src/content/pages/blocks/_prices.mdx +0 -122
  204. package/src/content/pages/blocks/_product.mdx +0 -97
  205. package/src/content/pages/blocks/_products.mdx +0 -52
  206. package/src/content/pages/blocks/colleagues.mdx +0 -37
  207. package/src/content/pages/blocks/content.mdx +0 -77
  208. package/src/content/pages/blocks/cta.mdx +0 -159
  209. package/src/content/pages/blocks/features.mdx +0 -128
  210. package/src/content/pages/blocks/hero.mdx +0 -94
  211. package/src/content/pages/blocks/intro.mdx +0 -124
  212. package/src/content/pages/blocks/reviews.mdx +0 -251
  213. package/src/content/pages/categories/category.md +0 -7
  214. package/src/content/pages/docs/_internationalization.mdx +0 -55
  215. package/src/content/pages/docs/_using-blocks.mdx +0 -33
  216. package/src/content/pages/docs/_using-presets.mdx +0 -49
  217. package/src/content/pages/docs/collections.mdx +0 -42
  218. package/src/content/pages/docs/components/_switch.mdx +0 -31
  219. package/src/content/pages/docs/components/avatar.mdx +0 -34
  220. package/src/content/pages/docs/components/section.mdx +0 -35
  221. package/src/content/pages/docs/components/text.mdx +0 -48
  222. package/src/content/pages/products/product.md +0 -20
  223. package/src/css/color.css +0 -76
  224. package/src/css/size.css +0 -131
  225. package/src/images/favicon/android-chrome-192x192.png +0 -0
  226. package/src/images/favicon/android-chrome-512x512.png +0 -0
  227. package/src/images/favicon/apple-touch-icon.png +0 -0
  228. package/src/images/favicon/browserconfig.xml +0 -9
  229. package/src/images/favicon/favicon-16x16.png +0 -0
  230. package/src/images/favicon/favicon-32x32.png +0 -0
  231. package/src/images/favicon/favicon-48x48.png +0 -0
  232. package/src/images/favicon/favicon.ico +0 -0
  233. package/src/images/favicon/favicon.svg +0 -16
  234. package/src/images/favicon/manifest.webmanifest +0 -30
  235. package/src/images/favicon/mstile-150x150.png +0 -0
  236. package/src/images/favicon/safari-pinned-tab.svg +0 -16
  237. package/src/images/favicon/yandex-browser-50x50.png +0 -0
  238. package/src/images/favicon/yandex-browser-manifest.json +0 -9
  239. package/src/pages/test.astro +0 -35
  240. package/src/schemas/components/avatar.ts +0 -6
  241. package/src/schemas/components/badge.ts +0 -18
  242. package/src/schemas/components/block.ts +0 -61
  243. package/src/schemas/components/channel.ts +0 -19
  244. package/src/schemas/components/footer.ts +0 -19
  245. package/src/schemas/components/header.ts +0 -23
  246. package/src/schemas/components/heading.ts +0 -9
  247. package/src/schemas/components/icon.ts +0 -9
  248. package/src/schemas/components/link.ts +0 -17
  249. package/src/schemas/components/logo.ts +0 -13
  250. package/src/schemas/components/menu.ts +0 -14
  251. package/src/schemas/components/navigation.ts +0 -10
  252. package/src/schemas/components/paragraph.ts +0 -9
  253. package/src/schemas/components/price.ts +0 -9
  254. package/src/schemas/components/rating.ts +0 -10
  255. package/src/schemas/components/sidebar.ts +0 -18
  256. package/src/schemas/components/social.ts +0 -18
  257. package/src/schemas/components/tagline.ts +0 -9
  258. package/src/schemas/imageSchema.ts +0 -41
  259. package/src/schemas/utils/component.ts +0 -17
  260. package/src/types/global-props.ts +0 -7
  261. package/src/utils/_archive/Childmorphic.ts +0 -8
  262. package/src/utils/_archive/getAllCollections.ts +0 -10
  263. package/src/utils/_archive/getCollectionCascade.ts +0 -33
  264. package/src/utils/_archive/getPathname.ts +0 -18
  265. package/src/utils/_archive/mergeEntries.ts +0 -28
  266. package/src/utils/_archive/staticPageSchema.ts +0 -124
  267. package/src/utils/_archive/transform/transform.ts +0 -25
  268. package/src/utils/_archive/transform/transformCasing.ts +0 -24
  269. package/src/utils/_archive/transform/transformReferences.ts +0 -54
  270. package/src/utils/_archive/transform/transformSelfs.ts +0 -20
  271. package/src/utils/_archive/transform/transformUnderscores.ts +0 -19
  272. package/src/utils/formatEntries.ts +0 -8
  273. package/src/utils/formatEntry.ts +0 -29
  274. package/src/utils/getDeepReferenceChildren.ts +0 -14
  275. package/src/utils/getFolderChildren.ts +0 -18
  276. package/src/utils/getReferenceChildren.ts +0 -14
  277. package/src/utils/getSiblingPages.ts +0 -14
  278. package/src/utils/setTheme.ts +0 -18
  279. /package/{src → public}/images/anti-slip-profiles.webp +0 -0
  280. /package/{src → public}/images/avatar-1.jpeg +0 -0
  281. /package/{src → public}/images/avatar-2.jpeg +0 -0
  282. /package/{src → public}/images/avatar-3.jpeg +0 -0
  283. /package/{src → public}/images/avatar-4.jpeg +0 -0
  284. /package/{src → public}/images/avatar-placeholder.jpg +0 -0
  285. /package/{src → public}/images/block-code.png +0 -0
  286. /package/{src → public}/images/component-code.png +0 -0
  287. /package/{src → public}/images/favicon.svg +0 -0
  288. /package/{src → public}/images/fulldev-ui.webp +0 -0
  289. /package/{src → public}/images/lavis-detailing.webp +0 -0
  290. /package/{src → public}/images/leren-trainingsacteren.webp +0 -0
  291. /package/{src → public}/images/logo-1.svg +0 -0
  292. /package/{src → public}/images/logo-2.svg +0 -0
  293. /package/{src → public}/images/logo-basic.svg +0 -0
  294. /package/{src → public}/images/logo-simple.svg +0 -0
  295. /package/{src → public}/images/logo-thin.svg +0 -0
  296. /package/{src → public}/images/logo.svg +0 -0
  297. /package/{src → public}/images/logofat.svg +0 -0
  298. /package/{src → public}/images/miele-witgoedcenter-amsterdam.webp +0 -0
  299. /package/{src → public}/images/og-image.png +0 -0
  300. /package/{src → public}/images/placeholder-center.webp +0 -0
  301. /package/{src → public}/images/placeholder-landscape-dark.png +0 -0
  302. /package/{src → public}/images/placeholder-landscape.webp +0 -0
  303. /package/{src → public}/images/placeholder-portrait.webp +0 -0
  304. /package/{src → public}/images/placeholder-right.webp +0 -0
  305. /package/{src → public}/images/placeholder.webp +0 -0
  306. /package/{src → public}/images/sloepverhuur-bolsward.webp +0 -0
  307. /package/{src → public}/images/stark-vulcanising-products.webp +0 -0
  308. /package/{src → public}/images/the-gym-haren.webp +0 -0
  309. /package/{src → public}/images/van-dillen-antieke-bouwmaterialen.webp +0 -0
  310. /package/src/components/{LocaleSwitcher.astro → _LocaleSwitcher.astro} +0 -0
  311. /package/src/content/pages/{showcase → _showcase}/anti-slip-profiles.md +0 -0
  312. /package/src/content/pages/{showcase → _showcase}/fulldev-ui.md +0 -0
  313. /package/src/content/pages/{showcase → _showcase}/lavis-detailing.md +0 -0
  314. /package/src/content/pages/{showcase → _showcase}/leren-trainingsacteren.md +0 -0
  315. /package/src/content/pages/{showcase → _showcase}/miele-witgoedcenter-amsterdam.md +0 -0
  316. /package/src/content/pages/{showcase → _showcase}/sloepverhuur-bolsward.md +0 -0
  317. /package/src/content/pages/{showcase → _showcase}/stark-vulcanising-products.md +0 -0
  318. /package/src/content/pages/{showcase → _showcase}/the-gym-haren.md +0 -0
  319. /package/src/content/pages/{showcase → _showcase}/van-dillen-antieke-bouwmaterialen.md +0 -0
  320. /package/src/content/pages/{blocks → docs/blocks}/_categories.mdx +0 -0
  321. /package/src/content/pages/{blocks/contact.mdx → docs/blocks/_contact.mdx} +0 -0
  322. /package/src/content/pages/{blocks → docs/blocks}/_jobs.mdx +0 -0
  323. /package/src/content/pages/{blocks/posts.mdx → docs/blocks/_posts.mdx} +0 -0
  324. /package/src/content/pages/{blocks → docs/blocks}/_stats.mdx +0 -0
  325. /package/src/content/pages/docs/{components → structures}/_dialog.mdx +0 -0
  326. /package/src/{components → structures}/Carousel.astro +0 -0
  327. /package/src/{components → structures}/Group.astro +0 -0
  328. /package/src/{components → structures}/Masonry.astro +0 -0
  329. /package/src/{components → structures}/Panel.astro +0 -0
  330. /package/src/{components → structures}/Section.astro +0 -0
  331. /package/{src/types/virtual.d.ts → virtual.d.ts} +0 -0
@@ -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,33 +1,21 @@
1
1
  ---
2
- import type { HTMLAttributes, HTMLTag } from 'astro/types'
2
+ import type { HTMLAttributes } from 'astro/types'
3
3
  import Element from 'fulldev-ui/components/Element.astro'
4
4
  import Icon from 'fulldev-ui/components/Icon.astro'
5
- import type { BadgeSchema } from 'fulldev-ui/schemas/components/badge'
6
5
 
7
- interface Props
8
- extends HTMLAttributes<'button'>,
9
- Omit<HTMLAttributes<'a'>, 'href' | 'target'>,
10
- BadgeSchema {
11
- as?: HTMLTag
12
- type?: HTMLAttributes<'button'>['type'] & HTMLAttributes<'a'>['type']
13
- reverse?: boolean | undefined
6
+ interface Props extends HTMLAttributes<'a'>, HTMLAttributes<'div'> {
7
+ variant?: 'primary' | 'secondary' | 'outline' | undefined
8
+ size?: 'sm' | 'md' | 'lg' | undefined
9
+ text?: string | undefined
10
+ icon?: string | undefined
14
11
  }
15
12
 
16
- const {
17
- href,
18
- as = href ? 'a' : 'button',
19
- variant = 'outline',
20
- size = 'md',
21
- text,
22
- icon,
23
- ...rest
24
- } = Astro.props
13
+ const { variant = 'outline', size = 'md', text, icon, ...rest } = Astro.props
25
14
  ---
26
15
 
27
16
  <Element
28
17
  class:list="badge"
29
- {as}
30
- {href}
18
+ as={rest.href ? 'a' : 'div'}
31
19
  {variant}
32
20
  {size}
33
21
  {...rest}
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  import type { ComponentProps } from 'astro/types'
3
- import Badge from './Badge.astro'
3
+ import Badge from 'fulldev-ui/components/Badge.astro'
4
4
 
5
5
  interface Props extends ComponentProps<typeof Badge> {
6
6
  badge?: ComponentProps<typeof Badge> | undefined
7
- badges?: ComponentProps<typeof Badge>[] | undefined
7
+ badges?: string[] | undefined
8
8
  }
9
9
 
10
10
  const { badge, badges, ...rest } = Astro.props
@@ -13,8 +13,8 @@ const { badge, badges, ...rest } = Astro.props
13
13
  {
14
14
  [badge, ...(badges || [])].filter(Boolean).map((badge) => (
15
15
  <Badge
16
- {...badge}
17
16
  {...rest}
17
+ {...(typeof badge === 'string' ? { text: badge } : badge)}
18
18
  />
19
19
  ))
20
20
  }
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  import { getEntries } from 'astro:content'
3
- import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
3
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
4
4
 
5
5
  interface Props extends BlockSchema {}
6
6
 
@@ -1,33 +1,24 @@
1
1
  ---
2
- import type { HTMLAttributes, HTMLTag } from 'astro/types'
2
+ import type { HTMLAttributes } from 'astro/types'
3
3
  import Element from 'fulldev-ui/components/Element.astro'
4
4
  import Icon from 'fulldev-ui/components/Icon.astro'
5
- import type { ButtonSchema } from 'fulldev-ui/schemas/components/button'
6
5
 
7
6
  interface Props
8
7
  extends HTMLAttributes<'button'>,
9
- Omit<HTMLAttributes<'a'>, 'href' | 'target'>,
10
- ButtonSchema {
11
- as?: HTMLTag
12
- type?: HTMLAttributes<'button'>['type'] & HTMLAttributes<'a'>['type']
13
- for?: HTMLAttributes<'label'>['for']
8
+ Omit<HTMLAttributes<'a'>, 'type'>,
9
+ HTMLAttributes<'label'> {
10
+ variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | undefined
11
+ size?: 'sm' | 'md' | 'lg' | undefined
12
+ text?: string | undefined
13
+ icon?: string | undefined
14
14
  }
15
15
 
16
- const {
17
- href,
18
- as = href ? 'a' : 'button',
19
- variant = 'primary',
20
- size = 'md',
21
- text,
22
- icon,
23
- ...rest
24
- } = Astro.props
16
+ const { variant = 'primary', size = 'md', text, icon, ...rest } = Astro.props
25
17
  ---
26
18
 
27
19
  <Element
28
20
  class:list={['button']}
29
- {as}
30
- {href}
21
+ as={rest.href ? 'a' : rest.for ? 'label' : 'button'}
31
22
  {variant}
32
23
  {size}
33
24
  {...rest}
@@ -1,8 +1,9 @@
1
1
  ---
2
+ // @ts-nocheck
2
3
  import type { ComponentProps } from 'astro/types'
3
4
  import CartList from 'fulldev-ui/components/CartList.svelte'
4
5
  import CartSummary from 'fulldev-ui/components/CartSummary.astro'
5
- import Drawer from 'fulldev-ui/components/Drawer.astro'
6
+ import Drawer from 'fulldev-ui/structures/Drawer.astro'
6
7
  import Button from './Button.astro'
7
8
  import Icon from './Icon.astro'
8
9
  import Input from './Input.astro'
@@ -13,10 +14,10 @@ interface Props extends Omit<ComponentProps<typeof Drawer>, 'id' | 'icon'> {}
13
14
  const { variant = 'ghost', size = 'md', ...rest } = Astro.props
14
15
  ---
15
16
 
16
- <Select if={false} />
17
- <Button if={false} />
18
- <Input if={false} />
19
- <Icon if={false} />
17
+ <Select show={false} />
18
+ <Button show={false} />
19
+ <Input show={false} />
20
+ <Icon show={false} />
20
21
 
21
22
  <Drawer
22
23
  class:list="cart"
@@ -24,7 +25,6 @@ const { variant = 'ghost', size = 'md', ...rest } = Astro.props
24
25
  icon="shopping-cart"
25
26
  {variant}
26
27
  {size}
27
- {icon}
28
28
  {...rest}
29
29
  >
30
30
  <CartList client:load />
@@ -1,4 +1,5 @@
1
1
  ---
2
+ // @ts-nocheck
2
3
  import { STRIPE_RESTRICTED_KEY, URL } from 'astro:env/client'
3
4
  import CartCheckout from './CartCheckout.svelte'
4
5
  import CartTotal from './CartTotal.svelte'
@@ -3,9 +3,15 @@ import type { HTMLAttributes } from 'astro/types'
3
3
  import Button from 'fulldev-ui/components/Button.astro'
4
4
  import Element from 'fulldev-ui/components/Element.astro'
5
5
  import Heading from 'fulldev-ui/components/Heading.astro'
6
- import type { ChannelSchema } from 'fulldev-ui/schemas/components/channel'
7
6
 
8
- interface Props extends HTMLAttributes<'div'>, ChannelSchema {}
7
+ interface Props extends HTMLAttributes<'div'> {
8
+ variant?: 'secondary' | 'outline' | undefined
9
+ size?: 'sm' | 'md' | 'lg' | undefined
10
+ heading?: string | undefined
11
+ text?: string | undefined
12
+ href?: string | undefined
13
+ icon?: string | undefined
14
+ }
9
15
 
10
16
  const {
11
17
  variant = 'secondary',
@@ -32,7 +38,7 @@ const {
32
38
  <Element class:list="channel-content">
33
39
  <Heading
34
40
  as="h6"
35
- size="sm"
41
+ {size}
36
42
  text={heading}
37
43
  />
38
44
  <Fragment set:html={text} />
@@ -1,51 +1,20 @@
1
1
  ---
2
- import type { ComponentProps, HTMLAttributes } from 'astro/types'
2
+ import type { ComponentProps } from 'astro/types'
3
3
  import Channel from 'fulldev-ui/components/Channel.astro'
4
- import Element from 'fulldev-ui/components/Element.astro'
5
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
6
4
 
7
- interface Props extends GlobalProps, HTMLAttributes<'div'> {
8
- variant?: ComponentProps<typeof Channel>['variant']
9
- size?: ComponentProps<typeof Channel>['size']
5
+ interface Props extends ComponentProps<typeof Channel> {
10
6
  channel?: ComponentProps<typeof Channel> | undefined
11
7
  channels?: ComponentProps<typeof Channel>[] | undefined
12
8
  }
13
9
 
14
- const { channels = [], channel, variant, size, ...rest } = Astro.props
10
+ const { channel, channels, ...rest } = Astro.props
15
11
  ---
16
12
 
17
- <Element
18
- class:list="channels"
19
- {size}
20
- {...rest}
21
- >
22
- {
23
- [channel, ...channels].filter(Boolean).map((channel) => (
24
- <Channel
25
- {variant}
26
- {size}
27
- {...channel}
28
- />
29
- ))
30
- }
31
- </Element>
32
-
33
- <style is:global>
34
- @layer fulldev {
35
- .channels {
36
- @apply flex flex-col gap-2.5;
37
-
38
- &.size-sm {
39
- @apply gap-2;
40
- }
41
-
42
- &.size-md {
43
- @apply gap-2.5;
44
- }
45
-
46
- &.size-lg {
47
- @apply gap-3;
48
- }
49
- }
50
- }
51
- </style>
13
+ {
14
+ [channel, ...(channels || [])].filter(Boolean).map((channel) => (
15
+ <Channel
16
+ {...rest}
17
+ {...channel}
18
+ />
19
+ ))
20
+ }
@@ -1,22 +1,15 @@
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
+ import Icon from 'fulldev-ui/components/Icon.astro'
4
5
  import Label from 'fulldev-ui/components/Label.astro'
5
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
6
- import Icon from './Icon.astro'
7
6
 
8
- interface Props extends GlobalProps, HTMLAttributes<'input'> {
9
- label?: ComponentProps<typeof Label>['text']
7
+ interface Props extends HTMLAttributes<'input'> {
8
+ size?: 'sm' | 'md' | 'lg' | undefined
9
+ label?: string | undefined
10
10
  }
11
11
 
12
- const {
13
- label,
14
- name = label,
15
- id = name,
16
- type = 'text',
17
- size = 'md',
18
- ...rest
19
- } = Astro.props
12
+ const { label, name = label, id = name, size = 'md', ...rest } = Astro.props
20
13
  ---
21
14
 
22
15
  <Element
@@ -29,7 +22,7 @@ const {
29
22
  class:list="checkbox-input"
30
23
  as="input"
31
24
  type="checkbox"
32
- if={id}
25
+ show={id}
33
26
  {id}
34
27
  {name}
35
28
  {...rest}
@@ -37,6 +30,7 @@ const {
37
30
  <Icon
38
31
  class="checkbox-icon"
39
32
  name="check"
33
+ {size}
40
34
  />
41
35
  <Label
42
36
  for={id}
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  const {
3
3
  as: As = 'div',
4
+ show = 'content',
4
5
  theme,
5
6
  variant,
6
7
  size,
@@ -26,7 +27,7 @@ const {
26
27
  } = Astro.props
27
28
 
28
29
  const slot = await Astro.slots.render('default')
29
- const render = 'if' in rest ? rest.if : slot?.trim().length > 0
30
+ const render = show === 'content' ? slot?.trim().length > 0 : show
30
31
  ---
31
32
 
32
33
  {
@@ -5,9 +5,8 @@ import Element from 'fulldev-ui/components/Element.astro'
5
5
  import Input from 'fulldev-ui/components/Input.astro'
6
6
  import Select from 'fulldev-ui/components/Select.astro'
7
7
  import Textarea from 'fulldev-ui/components/Textarea.astro'
8
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
9
8
 
10
- interface Props extends GlobalProps, HTMLAttributes<'form'> {
9
+ interface Props extends HTMLAttributes<'form'> {
11
10
  submit?: ComponentProps<typeof Button>['text']
12
11
  fields?:
13
12
  | (
@@ -1,4 +1,5 @@
1
1
  ---
2
+ // @ts-nocheck
2
3
  import type { ComponentProps } from 'astro/types'
3
4
  import Button from 'fulldev-ui/components/Button.astro'
4
5
  import Element from 'fulldev-ui/components/Element.astro'
@@ -64,7 +65,7 @@ const hasMany = images?.length > 5
64
65
  <Element class:list="gallery">
65
66
  <Element class:list="gallery-large">
66
67
  <Button
67
- if={hasMultiple}
68
+ show={hasMultiple}
68
69
  class="gallery-left"
69
70
  icon="chevron-left"
70
71
  variant="secondary"
@@ -80,7 +81,7 @@ const hasMany = images?.length > 5
80
81
  }
81
82
  </Element>
82
83
  <Button
83
- if={hasMultiple}
84
+ show={hasMultiple}
84
85
  class="gallery-right"
85
86
  icon="chevron-right"
86
87
  variant="secondary"
@@ -88,11 +89,11 @@ const hasMany = images?.length > 5
88
89
  />
89
90
  </Element>
90
91
  <Element
91
- if={hasMultiple}
92
+ show={hasMultiple}
92
93
  class:list="gallery-small"
93
94
  >
94
95
  <Button
95
- if={hasMany}
96
+ show={hasMany}
96
97
  class="gallery-left"
97
98
  icon="chevron-left"
98
99
  variant="secondary"
@@ -111,7 +112,7 @@ const hasMany = images?.length > 5
111
112
  }
112
113
  </Element>
113
114
  <Button
114
- if={hasMany}
115
+ show={hasMany}
115
116
  class="gallery-right"
116
117
  icon="chevron-right"
117
118
  variant="ghost"
@@ -1,16 +1,26 @@
1
1
  ---
2
2
  import { AstroSeo } from '@astrolib/seo'
3
3
  import type { HTMLAttributes } from 'astro/types'
4
- import type { HeadSchema } from 'fulldev-ui/schemas/components/head'
4
+ import type Image from 'fulldev-ui/components/Image.astro'
5
+ import type { ComponentProps } from 'svelte'
5
6
 
6
- type Props = HTMLAttributes<'head'> & HeadSchema & {}
7
+ type Props = HTMLAttributes<'head'> & {
8
+ title?: string | undefined
9
+ description?: string | undefined
10
+ image?: ComponentProps<typeof Image> | undefined
11
+ theme?: 'light' | 'dark' | 'system' | undefined
12
+ favicon?: string | undefined
13
+ company?: string | undefined
14
+ scripts?: string[] | undefined
15
+ code?: string | undefined
16
+ }
7
17
 
8
- const { theme, title, description, image, code } = Astro.props
18
+ const { theme, title, description, image, code, ...rest } = Astro.props
9
19
 
10
20
  const src = image?.src && Astro.url.origin + image.src
11
21
  ---
12
22
 
13
- <head>
23
+ <head {...rest}>
14
24
  <meta charset="utf-8" />
15
25
  <meta
16
26
  content="width=device-width, initial-scale=1, viewport-fit=cover"
@@ -1,27 +1,32 @@
1
1
  ---
2
- import type { HTMLAttributes, HTMLTag } from 'astro/types'
2
+ import type { HTMLAttributes } from 'astro/types'
3
3
  import Element from 'fulldev-ui/components/Element.astro'
4
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
5
- import { slugify } from 'fulldev-ui/utils/slugify'
6
4
 
7
- interface Props extends GlobalProps, HTMLAttributes<'h2'>, HTMLAttributes<'a'> {
8
- as?: HTMLTag
5
+ interface Props
6
+ extends HTMLAttributes<'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'> {
7
+ as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | undefined
9
8
  text?: string | undefined
10
9
  muted?: boolean | undefined
10
+ size?:
11
+ | 'xs'
12
+ | 'sm'
13
+ | 'md'
14
+ | 'lg'
15
+ | 'xl'
16
+ | '2xl'
17
+ | '3xl'
18
+ | '4xl'
19
+ | '5xl'
20
+ | '6xl'
21
+ | undefined
11
22
  }
12
23
 
13
- const {
14
- as = 'h2',
15
- text,
16
- id = text ? slugify(text) : undefined,
17
- ...rest
18
- } = Astro.props
24
+ const { as = 'h2', text, ...rest } = Astro.props
19
25
  ---
20
26
 
21
27
  <Element
22
28
  class:list="heading"
23
29
  {as}
24
- {id}
25
30
  {...rest}
26
31
  >
27
32
  <Fragment set:html={text} />
@@ -36,11 +41,6 @@ const {
36
41
  @apply text-muted-foreground;
37
42
  }
38
43
 
39
- &,
40
- &.size-md {
41
- @apply text-base;
42
- }
43
-
44
44
  &.size-xs {
45
45
  @apply text-xs;
46
46
  }
@@ -49,6 +49,10 @@ const {
49
49
  @apply text-sm;
50
50
  }
51
51
 
52
+ &.size-md {
53
+ @apply text-base;
54
+ }
55
+
52
56
  &.size-lg {
53
57
  @apply text-lg;
54
58
  }
@@ -2,11 +2,10 @@
2
2
  import tablerIcons from '@iconify-json/tabler/icons.json'
3
3
  import type { HTMLAttributes } from 'astro/types'
4
4
  import Element from 'fulldev-ui/components/Element.astro'
5
- import type { IconSchema } from 'fulldev-ui/schemas/components/icon'
6
5
 
7
- interface Props extends Omit<HTMLAttributes<'svg'>, 'name'>, IconSchema {
8
- // name?: keyof typeof tablerIcons.icons | undefined
6
+ interface Props extends HTMLAttributes<'svg'> {
9
7
  size?: 'sm' | 'md' | 'lg' | undefined
8
+ name?: string | undefined
10
9
  }
11
10
 
12
11
  const { size = 'md', name, ...rest } = Astro.props
@@ -1,9 +1,13 @@
1
1
  ---
2
2
  import type { HTMLAttributes } from 'astro/types'
3
3
  import { Image as AstroImage } from 'astro:assets'
4
- import type { ImageSchema } from 'fulldev-ui/schemas/imageSchema'
5
4
 
6
- interface Props extends HTMLAttributes<'img'>, ImageSchema {}
5
+ interface Props extends HTMLAttributes<'img'> {
6
+ src?: string | undefined
7
+ alt?: string | undefined
8
+ height?: number | undefined
9
+ width?: number | undefined
10
+ }
7
11
 
8
12
  function getAltBySrc() {
9
13
  if (!src) return
@@ -1,13 +1,13 @@
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 Icon from 'fulldev-ui/components/Icon.astro'
5
5
  import Label from 'fulldev-ui/components/Label.astro'
6
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
7
6
 
8
- interface Props extends GlobalProps, HTMLAttributes<'input'> {
9
- label?: ComponentProps<typeof Label>['text']
10
- icon?: ComponentProps<typeof Icon>['name']
7
+ interface Props extends HTMLAttributes<'input'> {
8
+ size?: 'sm' | 'md' | 'lg' | undefined
9
+ label?: string | undefined
10
+ icon?: string | undefined
11
11
  }
12
12
 
13
13
  const {
@@ -16,11 +16,8 @@ const {
16
16
  name = label || placeholder,
17
17
  id = name,
18
18
  type = 'text',
19
- min,
20
- max,
21
- value,
22
- step,
23
19
  size = 'md',
20
+ value,
24
21
  icon,
25
22
  ...rest
26
23
  } = Astro.props
@@ -38,19 +35,19 @@ const {
38
35
  text={label}
39
36
  {size}
40
37
  />
41
- <Icon name={icon} />
38
+ <Icon
39
+ name={icon}
40
+ {size}
41
+ />
42
42
  <Element
43
43
  class:list="input-input"
44
44
  as="input"
45
- if={name}
45
+ show={name}
46
46
  id={name}
47
47
  {name}
48
48
  {placeholder}
49
49
  {type}
50
- {min}
51
- {max}
52
50
  {value}
53
- {step}
54
51
  />
55
52
  </Element>
56
53
 
@@ -1,19 +1,19 @@
1
1
  ---
2
- import type { HTMLAttributes, HTMLTag } from 'astro/types'
2
+ import type { HTMLAttributes } from 'astro/types'
3
3
  import Element from 'fulldev-ui/components/Element.astro'
4
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
5
4
 
6
- interface Props extends GlobalProps, HTMLAttributes<'label'> {
7
- as?: HTMLTag
5
+ interface Props extends HTMLAttributes<'label'> {
6
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | undefined
7
+ muted?: boolean | undefined
8
8
  text?: string | undefined
9
9
  }
10
10
 
11
- const { as = 'label', size = 'md', text, ...rest } = Astro.props
11
+ const { size = 'md', text, ...rest } = Astro.props
12
12
  ---
13
13
 
14
14
  <Element
15
15
  class:list="label"
16
- {as}
16
+ as="label"
17
17
  {size}
18
18
  {...rest}
19
19
  >
@@ -1,29 +1,22 @@
1
1
  ---
2
- import type { HTMLAttributes, HTMLTag } from 'astro/types'
2
+ import type { HTMLAttributes } from 'astro/types'
3
3
  import Element from 'fulldev-ui/components/Element.astro'
4
4
  import Icon from 'fulldev-ui/components/Icon.astro'
5
- import type { LinkSchema } from 'fulldev-ui/schemas/components/link'
6
5
 
7
- interface Props
8
- extends Omit<HTMLAttributes<'a'>, 'href' | 'target'>,
9
- LinkSchema {
10
- as?: HTMLTag
11
- current?: boolean | undefined
6
+ interface Props extends HTMLAttributes<'a'> {
7
+ variant?: 'primary' | 'underline' | 'muted' | undefined
8
+ size?: 'sm' | 'md' | 'lg' | undefined
9
+ text?: string | undefined
10
+ icon?: string | undefined
12
11
  }
13
12
 
14
- const {
15
- as = 'a',
16
- variant = 'primary',
17
- size = 'md',
18
- text,
19
- icon,
20
- ...rest
21
- } = Astro.props
13
+ const { variant = 'muted', size = 'md', text, icon, ...rest } = Astro.props
22
14
  ---
23
15
 
24
16
  <Element
25
17
  class:list="link"
26
- {as}
18
+ as="a"
19
+ current={`/${Astro.params.page}/` === rest.href}
27
20
  {variant}
28
21
  {size}
29
22
  {...rest}
@@ -60,6 +53,10 @@ const {
60
53
  @apply text-sm;
61
54
  }
62
55
 
56
+ &.size-md {
57
+ @apply text-base;
58
+ }
59
+
63
60
  &.size-lg {
64
61
  @apply text-lg;
65
62
  }
@@ -7,13 +7,12 @@ interface Props extends ComponentProps<typeof Link> {
7
7
  links?: ComponentProps<typeof Link>[] | undefined
8
8
  }
9
9
 
10
- const { variant = 'muted', link, links, ...rest } = Astro.props
10
+ const { link, links, ...rest } = Astro.props
11
11
  ---
12
12
 
13
13
  {
14
14
  [link, ...(links || [])].filter(Boolean).map((link) => (
15
15
  <Link
16
- {variant}
17
16
  {...rest}
18
17
  {...link}
19
18
  />