fulldev-ui 0.6.0-beta.7 → 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 (330) hide show
  1. package/.vscode/settings.json +2 -0
  2. package/astro.config.ts +1 -3
  3. package/cloudcannon.config.yml +0 -2
  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 -1
  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 -5
  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/{components → structures}/Card.astro +5 -1
  166. package/src/{components → structures}/Code.astro +7 -6
  167. package/src/{components → structures}/Container.astro +1 -1
  168. package/src/{components → structures}/Drawer.astro +4 -4
  169. package/src/{components → structures}/Layout.astro +2 -3
  170. package/src/structures/Matrix.astro +39 -0
  171. package/src/{components → structures}/Prose.astro +17 -6
  172. package/src/structures/Sidebar.astro +37 -0
  173. package/src/{components → structures}/Stack.astro +1 -1
  174. package/src/{components → structures}/Writeup.astro +9 -1
  175. package/src/structures/_Bento.astro +34 -0
  176. package/src/utils/cart.ts +1 -1
  177. package/tailwind.config.ts +5 -7
  178. package/tsconfig.json +3 -1
  179. package/public/favicon/favicon-16x16-dark.png +0 -0
  180. package/public/favicon/favicon-32x32-dark.png +0 -0
  181. package/public/favicon/favicon-48x48-dark.png +0 -0
  182. package/public/favicon/favicon-dark.ico +0 -0
  183. package/src/blocks/Feature1.astro +0 -61
  184. package/src/components/Avatar.astro +0 -45
  185. package/src/components/Avatars.astro +0 -36
  186. package/src/components/Cards.astro +0 -133
  187. package/src/components/Dialog.astro +0 -67
  188. package/src/components/DrawerOld.astro +0 -143
  189. package/src/components/Grid.astro +0 -39
  190. package/src/components/Header.astro +0 -32
  191. package/src/components/Navigation.astro +0 -39
  192. package/src/components/_Author.astro +0 -90
  193. package/src/components/_Header.astro +0 -129
  194. package/src/components/_Prose copy.astro +0 -172
  195. package/src/components/_Sidebar copy.astro +0 -87
  196. package/src/components/docs/DecorativeBox.astro +0 -15
  197. package/src/components/docs/PropsTable.astro +0 -49
  198. package/src/components/experimental/Video.astro +0 -32
  199. package/src/components/experimental/Window.astro +0 -122
  200. package/src/content/pages/blocks/_footer.mdx +0 -75
  201. package/src/content/pages/blocks/_header.mdx +0 -183
  202. package/src/content/pages/blocks/_prices.mdx +0 -122
  203. package/src/content/pages/blocks/_product.mdx +0 -97
  204. package/src/content/pages/blocks/_products.mdx +0 -52
  205. package/src/content/pages/blocks/colleagues.mdx +0 -37
  206. package/src/content/pages/blocks/content.mdx +0 -77
  207. package/src/content/pages/blocks/cta.mdx +0 -159
  208. package/src/content/pages/blocks/features.mdx +0 -128
  209. package/src/content/pages/blocks/hero.mdx +0 -94
  210. package/src/content/pages/blocks/intro.mdx +0 -124
  211. package/src/content/pages/blocks/reviews.mdx +0 -251
  212. package/src/content/pages/categories/category.md +0 -7
  213. package/src/content/pages/docs/_internationalization.mdx +0 -55
  214. package/src/content/pages/docs/_using-blocks.mdx +0 -33
  215. package/src/content/pages/docs/_using-presets.mdx +0 -49
  216. package/src/content/pages/docs/collections.mdx +0 -42
  217. package/src/content/pages/docs/components/_switch.mdx +0 -31
  218. package/src/content/pages/docs/components/avatar.mdx +0 -34
  219. package/src/content/pages/docs/components/section.mdx +0 -35
  220. package/src/content/pages/docs/components/text.mdx +0 -48
  221. package/src/content/pages/products/product.md +0 -20
  222. package/src/css/color.css +0 -76
  223. package/src/css/size.css +0 -131
  224. package/src/images/favicon/android-chrome-192x192.png +0 -0
  225. package/src/images/favicon/android-chrome-512x512.png +0 -0
  226. package/src/images/favicon/apple-touch-icon.png +0 -0
  227. package/src/images/favicon/browserconfig.xml +0 -9
  228. package/src/images/favicon/favicon-16x16.png +0 -0
  229. package/src/images/favicon/favicon-32x32.png +0 -0
  230. package/src/images/favicon/favicon-48x48.png +0 -0
  231. package/src/images/favicon/favicon.ico +0 -0
  232. package/src/images/favicon/favicon.svg +0 -16
  233. package/src/images/favicon/manifest.webmanifest +0 -30
  234. package/src/images/favicon/mstile-150x150.png +0 -0
  235. package/src/images/favicon/safari-pinned-tab.svg +0 -16
  236. package/src/images/favicon/yandex-browser-50x50.png +0 -0
  237. package/src/images/favicon/yandex-browser-manifest.json +0 -9
  238. package/src/pages/test.astro +0 -35
  239. package/src/schemas/components/avatar.ts +0 -6
  240. package/src/schemas/components/badge.ts +0 -18
  241. package/src/schemas/components/block.ts +0 -61
  242. package/src/schemas/components/channel.ts +0 -19
  243. package/src/schemas/components/footer.ts +0 -19
  244. package/src/schemas/components/header.ts +0 -23
  245. package/src/schemas/components/heading.ts +0 -9
  246. package/src/schemas/components/icon.ts +0 -9
  247. package/src/schemas/components/link.ts +0 -17
  248. package/src/schemas/components/logo.ts +0 -13
  249. package/src/schemas/components/menu.ts +0 -14
  250. package/src/schemas/components/navigation.ts +0 -10
  251. package/src/schemas/components/paragraph.ts +0 -9
  252. package/src/schemas/components/price.ts +0 -9
  253. package/src/schemas/components/rating.ts +0 -10
  254. package/src/schemas/components/sidebar.ts +0 -18
  255. package/src/schemas/components/social.ts +0 -18
  256. package/src/schemas/components/tagline.ts +0 -9
  257. package/src/schemas/imageSchema.ts +0 -41
  258. package/src/schemas/utils/component.ts +0 -17
  259. package/src/types/global-props.ts +0 -7
  260. package/src/utils/_archive/Childmorphic.ts +0 -8
  261. package/src/utils/_archive/getAllCollections.ts +0 -10
  262. package/src/utils/_archive/getCollectionCascade.ts +0 -33
  263. package/src/utils/_archive/getPathname.ts +0 -18
  264. package/src/utils/_archive/mergeEntries.ts +0 -28
  265. package/src/utils/_archive/staticPageSchema.ts +0 -124
  266. package/src/utils/_archive/transform/transform.ts +0 -25
  267. package/src/utils/_archive/transform/transformCasing.ts +0 -24
  268. package/src/utils/_archive/transform/transformReferences.ts +0 -54
  269. package/src/utils/_archive/transform/transformSelfs.ts +0 -20
  270. package/src/utils/_archive/transform/transformUnderscores.ts +0 -19
  271. package/src/utils/formatEntries.ts +0 -8
  272. package/src/utils/formatEntry.ts +0 -29
  273. package/src/utils/getDeepReferenceChildren.ts +0 -14
  274. package/src/utils/getFolderChildren.ts +0 -18
  275. package/src/utils/getReferenceChildren.ts +0 -14
  276. package/src/utils/getSiblingPages.ts +0 -14
  277. package/src/utils/setTheme.ts +0 -18
  278. /package/{src → public}/images/anti-slip-profiles.webp +0 -0
  279. /package/{src → public}/images/avatar-1.jpeg +0 -0
  280. /package/{src → public}/images/avatar-2.jpeg +0 -0
  281. /package/{src → public}/images/avatar-3.jpeg +0 -0
  282. /package/{src → public}/images/avatar-4.jpeg +0 -0
  283. /package/{src → public}/images/avatar-placeholder.jpg +0 -0
  284. /package/{src → public}/images/block-code.png +0 -0
  285. /package/{src → public}/images/component-code.png +0 -0
  286. /package/{src → public}/images/favicon.svg +0 -0
  287. /package/{src → public}/images/fulldev-ui.webp +0 -0
  288. /package/{src → public}/images/lavis-detailing.webp +0 -0
  289. /package/{src → public}/images/leren-trainingsacteren.webp +0 -0
  290. /package/{src → public}/images/logo-1.svg +0 -0
  291. /package/{src → public}/images/logo-2.svg +0 -0
  292. /package/{src → public}/images/logo-basic.svg +0 -0
  293. /package/{src → public}/images/logo-simple.svg +0 -0
  294. /package/{src → public}/images/logo-thin.svg +0 -0
  295. /package/{src → public}/images/logo.svg +0 -0
  296. /package/{src → public}/images/logofat.svg +0 -0
  297. /package/{src → public}/images/miele-witgoedcenter-amsterdam.webp +0 -0
  298. /package/{src → public}/images/og-image.png +0 -0
  299. /package/{src → public}/images/placeholder-center.webp +0 -0
  300. /package/{src → public}/images/placeholder-landscape-dark.png +0 -0
  301. /package/{src → public}/images/placeholder-landscape.webp +0 -0
  302. /package/{src → public}/images/placeholder-portrait.webp +0 -0
  303. /package/{src → public}/images/placeholder-right.webp +0 -0
  304. /package/{src → public}/images/placeholder.webp +0 -0
  305. /package/{src → public}/images/sloepverhuur-bolsward.webp +0 -0
  306. /package/{src → public}/images/stark-vulcanising-products.webp +0 -0
  307. /package/{src → public}/images/the-gym-haren.webp +0 -0
  308. /package/{src → public}/images/van-dillen-antieke-bouwmaterialen.webp +0 -0
  309. /package/src/components/{LocaleSwitcher.astro → _LocaleSwitcher.astro} +0 -0
  310. /package/src/content/pages/{showcase → _showcase}/anti-slip-profiles.md +0 -0
  311. /package/src/content/pages/{showcase → _showcase}/fulldev-ui.md +0 -0
  312. /package/src/content/pages/{showcase → _showcase}/lavis-detailing.md +0 -0
  313. /package/src/content/pages/{showcase → _showcase}/leren-trainingsacteren.md +0 -0
  314. /package/src/content/pages/{showcase → _showcase}/miele-witgoedcenter-amsterdam.md +0 -0
  315. /package/src/content/pages/{showcase → _showcase}/sloepverhuur-bolsward.md +0 -0
  316. /package/src/content/pages/{showcase → _showcase}/stark-vulcanising-products.md +0 -0
  317. /package/src/content/pages/{showcase → _showcase}/the-gym-haren.md +0 -0
  318. /package/src/content/pages/{showcase → _showcase}/van-dillen-antieke-bouwmaterialen.md +0 -0
  319. /package/src/content/pages/{blocks → docs/blocks}/_categories.mdx +0 -0
  320. /package/src/content/pages/{blocks/contact.mdx → docs/blocks/_contact.mdx} +0 -0
  321. /package/src/content/pages/{blocks → docs/blocks}/_jobs.mdx +0 -0
  322. /package/src/content/pages/{blocks/posts.mdx → docs/blocks/_posts.mdx} +0 -0
  323. /package/src/content/pages/{blocks → docs/blocks}/_stats.mdx +0 -0
  324. /package/src/content/pages/docs/{components → structures}/_dialog.mdx +0 -0
  325. /package/src/{components → structures}/Carousel.astro +0 -0
  326. /package/src/{components → structures}/Group.astro +0 -0
  327. /package/src/{components → structures}/Masonry.astro +0 -0
  328. /package/src/{components → structures}/Panel.astro +0 -0
  329. /package/src/{components → structures}/Section.astro +0 -0
  330. /package/{src/types/virtual.d.ts → virtual.d.ts} +0 -0
@@ -2,10 +2,15 @@
2
2
  import type { HTMLAttributes } from 'astro/types'
3
3
  import Element from 'fulldev-ui/components/Element.astro'
4
4
  import Heading from 'fulldev-ui/components/Heading.astro'
5
- import type { MenuSchema } from 'fulldev-ui/schemas/components/menu'
5
+ import type Link from 'fulldev-ui/components/Link.astro'
6
+ import type { ComponentProps } from 'svelte'
6
7
  import Links from './Links.astro'
7
8
 
8
- interface Props extends HTMLAttributes<'div'>, MenuSchema {}
9
+ interface Props extends HTMLAttributes<'div'> {
10
+ size?: 'sm' | 'md' | 'lg' | undefined
11
+ heading?: string | undefined
12
+ links?: ComponentProps<typeof Link>[] | undefined
13
+ }
9
14
 
10
15
  const { size = 'md', heading, links, ...rest } = Astro.props
11
16
  ---
@@ -20,7 +25,6 @@ const { size = 'md', heading, links, ...rest } = Astro.props
20
25
  {size}
21
26
  />
22
27
  <Links
23
- variant="muted"
24
28
  {size}
25
29
  {links}
26
30
  />
@@ -1,20 +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 { ParagraphSchema } from 'fulldev-ui/schemas/components/paragraph.ts'
5
4
 
6
- interface Props extends HTMLAttributes<'p'>, ParagraphSchema {
7
- as?: HTMLTag
8
- muted?: boolean | undefined
5
+ interface Props extends HTMLAttributes<'p'> {
9
6
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | undefined
7
+ muted?: boolean | undefined
8
+ text?: string | undefined
10
9
  }
11
10
 
12
- const { as = 'p', text, ...rest } = Astro.props
11
+ const { text, ...rest } = Astro.props
13
12
  ---
14
13
 
15
14
  <Element
16
15
  class:list="paragraph"
17
- {as}
16
+ as="p"
18
17
  {...rest}
19
18
  >
20
19
  <Fragment set:html={text} />
@@ -1,13 +1,10 @@
1
1
  ---
2
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
  import { formatPrice } from 'fulldev-ui/utils/cart'
6
5
 
7
- interface Props extends GlobalProps, HTMLAttributes<'div'> {
6
+ interface Props extends HTMLAttributes<'div'> {
8
7
  size?: 'sm' | 'md' | 'lg' | undefined
9
- color?: 'base' | 'brand' | undefined
10
- contrast?: boolean | undefined
11
8
  amount?: number | undefined
12
9
  }
13
10
 
@@ -2,9 +2,11 @@
2
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 { RatingSchema } from 'fulldev-ui/schemas/components/rating'
6
5
 
7
- interface Props extends HTMLAttributes<'div'>, RatingSchema {}
6
+ interface Props extends HTMLAttributes<'div'> {
7
+ size?: 'sm' | 'md' | 'lg' | undefined
8
+ score?: number | undefined
9
+ }
8
10
 
9
11
  const { size = 'md', score, ...rest } = Astro.props
10
12
 
@@ -8,11 +8,6 @@ import Input from './Input.astro'
8
8
  import Paragraph from './Paragraph.astro'
9
9
 
10
10
  const pages = await getCollection('pages')
11
- const products = await getCollection('products')
12
- const categories = await getCollection('categories')
13
- const posts = await getCollection('posts')
14
- const docs = await getCollection('docs')
15
- const entries = [...pages, ...categories, ...products, ...posts, ...docs]
16
11
  ---
17
12
 
18
13
  <script>
@@ -60,7 +55,7 @@ const entries = [...pages, ...categories, ...products, ...posts, ...docs]
60
55
  />
61
56
  <Element class:list="search-list">
62
57
  {
63
- entries.map(({ collection, slug, data }) => (
58
+ pages.map(({ slug, data }) => (
64
59
  <Element
65
60
  as="a"
66
61
  href={getHref(slug)}
@@ -3,9 +3,9 @@ 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<'select'> {
7
+ interface Props extends HTMLAttributes<'select'> {
8
+ show?: any
9
9
  label?: string | undefined
10
10
  placeholder?: string | undefined
11
11
  options?: string[] | undefined
@@ -25,8 +25,8 @@ const {
25
25
  ---
26
26
 
27
27
  <Element
28
- if={options}
29
28
  class:list="select"
29
+ show={options}
30
30
  as="label"
31
31
  for={id}
32
32
  {size}
@@ -39,7 +39,6 @@ const {
39
39
  <Element
40
40
  class:list="select-select"
41
41
  as="select"
42
- if={id}
43
42
  {id}
44
43
  {name}
45
44
  {...rest}
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  import type { HTMLAttributes } from 'astro/types'
3
3
  import Element from 'fulldev-ui/components/Element.astro'
4
- import type { SidebarSchema } from 'fulldev-ui/schemas/components/sidebar'
5
- import Menus from './Menus.astro'
4
+ import Menus from 'fulldev-ui/components/Menus.astro'
5
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
6
6
 
7
- interface Props extends HTMLAttributes<'aside'>, SidebarSchema {}
7
+ interface Props extends HTMLAttributes<'aside'>, BlockSchema {}
8
8
 
9
9
  const { menus, ...rest } = Astro.props
10
10
  ---
@@ -21,10 +21,10 @@ const { menus, ...rest } = Astro.props
21
21
  />
22
22
  </Element>
23
23
 
24
- <style is:global>
24
+ <!-- <style is:global>
25
25
  @layer fulldev {
26
26
  .sidebar {
27
- @apply sticky bottom-0 left-0 hidden h-full max-w-[75vw] flex-col items-start gap-8 overflow-y-auto border-r bg-background py-8 pr-8 lg:flex;
27
+ @apply sticky bottom-0 left-0 hidden h-full w-56 max-w-56 shrink-0 grow flex-col items-start gap-8 overflow-y-auto border-r bg-background py-8 pr-8 lg:flex;
28
28
  @apply scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-full scrollbar-w-2 hover:scrollbar-thumb-accent-hover;
29
29
 
30
30
  --headers: calc(var(--header-height, 0px) + var(--subheader-height, 0px));
@@ -40,4 +40,4 @@ const { menus, ...rest } = Astro.props
40
40
  }
41
41
  }
42
42
  }
43
- </style>
43
+ </style> -->
@@ -5,8 +5,9 @@ import Button from 'fulldev-ui/components/Button.astro'
5
5
  interface Props extends ComponentProps<typeof Button> {}
6
6
 
7
7
  const {
8
- variant = 'secondary',
8
+ variant = 'ghost',
9
9
  target = '_blank',
10
+ size = 'sm',
10
11
  icon,
11
12
  href,
12
13
  ...rest
@@ -33,5 +34,6 @@ const platform = () => {
33
34
  {variant}
34
35
  {href}
35
36
  {target}
37
+ {size}
36
38
  {...rest}
37
39
  />
@@ -1,41 +1,25 @@
1
1
  ---
2
- import type { ComponentProps, HTMLAttributes } from 'astro/types'
3
- import Element from 'fulldev-ui/components/Element.astro'
2
+ import type { ComponentProps } from 'astro/types'
4
3
  import Social from 'fulldev-ui/components/Social.astro'
5
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
6
4
 
7
- interface Props extends GlobalProps, HTMLAttributes<'div'> {
8
- variant?: ComponentProps<typeof Social>['variant']
9
- socials?: ComponentProps<typeof Social>['href'][] | undefined
5
+ interface Props extends ComponentProps<typeof Social> {
6
+ social?:
7
+ | ComponentProps<typeof Social>
8
+ | ComponentProps<typeof Social>['href']
9
+ | undefined
10
+ socials?:
11
+ | (ComponentProps<typeof Social> | ComponentProps<typeof Social>['href'])[]
12
+ | undefined
10
13
  }
11
14
 
12
- const { variant = 'ghost', socials, size, ...rest } = Astro.props
15
+ const { social, socials, ...rest } = Astro.props
13
16
  ---
14
17
 
15
- <Element
16
- class:list="socials"
17
- {variant}
18
- {...rest}
19
- >
20
- {
21
- socials?.map((social) => (
22
- <Social
23
- {variant}
24
- {size}
25
- href={social}
26
- />
27
- ))
28
- }
29
- </Element>
30
-
31
- <style is:global>
32
- @layer fulldev {
33
- .socials {
34
- @apply flex gap-2;
35
-
36
- &.variant-ghost {
37
- @apply gap-0;
38
- }
39
- }
40
- }
41
- </style>
18
+ {
19
+ [social, ...(socials || [])].filter(Boolean).map((social) => (
20
+ <Social
21
+ {...rest}
22
+ {...(typeof social === 'string' ? { href: social } : social)}
23
+ />
24
+ ))
25
+ }
@@ -2,10 +2,10 @@
2
2
  import type { ComponentProps, 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, Omit<HTMLAttributes<'input'>, 'type'> {
6
+ interface Props extends Omit<HTMLAttributes<'input'>, 'type'> {
8
7
  label?: ComponentProps<typeof Label>['text']
8
+ size?: 'sm' | 'md' | 'lg'
9
9
  }
10
10
 
11
11
  const { label, name = label, id = name, size = 'md', ...rest } = Astro.props
@@ -21,7 +21,7 @@ const { label, name = label, id = name, size = 'md', ...rest } = Astro.props
21
21
  class:list="switch-input"
22
22
  as="input"
23
23
  type="checkbox"
24
- if={id}
24
+ show={id}
25
25
  {id}
26
26
  {name}
27
27
  {...rest}
@@ -29,7 +29,7 @@ const { label, name = label, id = name, size = 'md', ...rest } = Astro.props
29
29
  <Element
30
30
  as="label"
31
31
  for={id}
32
- if={id}
32
+ show={id}
33
33
  class="switch-mark"
34
34
  />
35
35
  <Label
@@ -84,68 +84,3 @@ const { label, name = label, id = name, size = 'md', ...rest } = Astro.props
84
84
  }
85
85
  }
86
86
  </style>
87
-
88
- <!-- <style is:global>
89
- @layer fulldev {
90
- .switch {
91
- display: flex;
92
- position: relative;
93
- align-items: center;
94
- gap: var(--space-1);
95
- width: 100%;
96
-
97
- .switch-element {
98
- display: block;
99
- position: relative;
100
- transition: all;
101
- cursor: pointer;
102
- box-sizing: border-box;
103
- border: 1px solid var(--border);
104
- border-radius: 999px;
105
- background-color: var(--base-2);
106
- padding: var(--space-1);
107
- width: fit-content;
108
- min-width: calc(
109
- (var(--text-2) + 2 * var(--space-2) * 2) + 2 * var(--space-1)
110
- );
111
- height: calc(var(--text-2) + 2 * var(--space-2));
112
-
113
- .checkbox {
114
- position: absolute;
115
- opacity: 0;
116
- width: 0;
117
- height: 0;
118
- }
119
-
120
- .checkmark {
121
- transform: 0%;
122
- transition: all;
123
- border-radius: 999px;
124
- background-color: var(--base-1);
125
- width: 50%;
126
- height: 100%;
127
- }
128
-
129
- .checkbox:checked ~ .checkmark {
130
- transform: translateX(100%);
131
- background-color: var(--color-12);
132
- }
133
-
134
- &:hover {
135
- background-color: var(--base-3);
136
- }
137
-
138
- &:focus-visible {
139
- outline: 2px solid var(--focus) !important;
140
- outline-offset: 2px;
141
- }
142
-
143
- &:disabled {
144
- opacity: 0.5;
145
- cursor: not-allowed;
146
- pointer-events: none;
147
- }
148
- }
149
- }
150
- }
151
- </style> -->
@@ -1,9 +1,8 @@
1
1
  ---
2
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<'table'> {
5
+ interface Props extends HTMLAttributes<'table'> {
7
6
  header?: string[] | undefined
8
7
  body?: string[][] | undefined
9
8
  footer?: string[] | undefined
@@ -41,7 +40,7 @@ const { header, body, footer, ...rest } = Astro.props
41
40
  </Element>
42
41
  </Element>
43
42
 
44
- <style is:global >
43
+ <style is:global>
45
44
  @layer fulldev {
46
45
  .table {
47
46
  box-shadow: 0 0 0 1px var(--color-6);
@@ -1,20 +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 { TaglineSchema } from 'fulldev-ui/schemas/components/tagline'
5
4
 
6
- interface Props extends HTMLAttributes<'p'>, TaglineSchema {
7
- as?: HTMLTag
8
- muted?: boolean | undefined
5
+ interface Props extends HTMLAttributes<'p'> {
9
6
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | undefined
7
+ muted?: boolean | undefined
8
+ text?: string | undefined
10
9
  }
11
10
 
12
- const { as = 'p', text, ...rest } = Astro.props
11
+ const { text, ...rest } = Astro.props
13
12
  ---
14
13
 
15
14
  <Element
16
15
  class:list="tagline"
17
- {as}
16
+ as="p"
18
17
  {...rest}
19
18
  >
20
19
  <Fragment set:html={text} />
@@ -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
  }
@@ -3,14 +3,14 @@ import type { MarkdownHeading } from 'astro'
3
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 Link from './Link.astro'
6
+ import Link from 'fulldev-ui/components/Link.astro'
8
7
 
9
- interface Props extends GlobalProps, HTMLAttributes<'div'> {
8
+ interface Props extends HTMLAttributes<'div'> {
10
9
  headings?: MarkdownHeading[] | undefined
10
+ heading?: string | undefined
11
11
  }
12
12
 
13
- const { headings, ...rest } = Astro.props
13
+ const { headings, heading, ...rest } = Astro.props
14
14
 
15
15
  const filteredHeadings = headings?.filter(
16
16
  (heading: any) => heading.depth >= 2 && heading.depth <= 4
@@ -27,14 +27,10 @@ const links = filteredHeadings?.map((button: any) => ({
27
27
 
28
28
  <Element
29
29
  class:list="toc"
30
- if={filteredHeadings?.length}
30
+ show={filteredHeadings?.length}
31
31
  {...rest}
32
32
  >
33
- <Heading
34
- as="a"
35
- href="#"
36
- {...h1}
37
- />
33
+ <Heading text={h1?.text || heading} />
38
34
  {
39
35
  links?.map((link) => (
40
36
  <Link
@@ -49,7 +45,7 @@ const links = filteredHeadings?.map((button: any) => ({
49
45
  <style is:global>
50
46
  @layer fulldev {
51
47
  .toc {
52
- @apply lg:top-sticky-16 sticky bottom-0 z-10 hidden w-48 shrink-0 flex-col items-start justify-start gap-3 overflow-y-auto 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;
53
49
  @apply scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-full scrollbar-w-2 hover:scrollbar-thumb-accent-hover;
54
50
 
55
51
  .depth-3 {
@@ -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> -->
@@ -1,4 +1,4 @@
1
- ---
1
+ <!-- ---
2
2
  // @ts-nocheck
3
3
  import type { ImageMetadata } from 'astro'
4
4
  import type { HTMLAttributes } from 'astro/types'
@@ -76,4 +76,4 @@ const image = images[src as keyof typeof images]
76
76
  }
77
77
  }
78
78
  }
79
- </style>
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>