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
@@ -21,10 +21,14 @@ const { href, as = href ? 'a' : 'div', ...rest } = Astro.props
21
21
  <style is:global>
22
22
  @layer fulldev {
23
23
  .card {
24
- @apply w-full rounded-lg border bg-card p-4 text-card-foreground;
24
+ @apply w-full overflow-hidden rounded-lg border bg-card p-4 text-card-foreground;
25
25
 
26
26
  &:is(a[href]) {
27
27
  @apply focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2;
28
+
29
+ &:hover .image {
30
+ @apply opacity-75 transition-opacity;
31
+ }
28
32
  }
29
33
  }
30
34
  }
@@ -28,12 +28,8 @@ const { lang = 'astro', code, ...rest } = Astro.props
28
28
 
29
29
  <style is:global>
30
30
  @layer fulldev {
31
- .astro-code {
32
- @apply mt-4 rounded-md p-4 text-sm first:mt-0;
33
- }
34
-
35
31
  .code {
36
- @apply mt-8 overflow-hidden rounded-md border first:mt-0;
32
+ @apply mt-8 rounded-md border first:mt-0;
37
33
 
38
34
  .example {
39
35
  @apply flex flex-wrap items-center gap-8 p-8;
@@ -42,10 +38,15 @@ const { lang = 'astro', code, ...rest } = Astro.props
42
38
  > slot > * {
43
39
  @apply mt-0;
44
40
  }
41
+
42
+ .heading,
43
+ .paragraph {
44
+ @apply w-full;
45
+ }
45
46
  }
46
47
 
47
48
  .astro-code {
48
- @apply mt-0 rounded-none border-none p-4;
49
+ @apply mt-0 overflow-x-auto rounded-none border-none p-4 text-sm first:mt-0;
49
50
  }
50
51
  }
51
52
  }
@@ -19,7 +19,7 @@ const { ...rest } = Astro.props
19
19
  <style is:global>
20
20
  @layer fulldev {
21
21
  .container {
22
- @apply mx-auto w-full max-w-screen-2xl px-gutter;
22
+ @apply mx-auto w-full max-w-screen-2xl px-4 sm:px-8;
23
23
  }
24
24
  }
25
25
  </style>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  import type { ComponentProps, HTMLAttributes } from 'astro/types'
3
+ import Button from 'fulldev-ui/components/Button.astro'
3
4
  import Element from 'fulldev-ui/components/Element.astro'
4
- import Button from './Button.astro'
5
5
 
6
6
  interface Props
7
7
  extends HTMLAttributes<'aside'>,
@@ -21,7 +21,6 @@ const render = slot?.trim().length > 0
21
21
  <Element class:list="drawer">
22
22
  <Button
23
23
  class="drawer-button"
24
- as="label"
25
24
  for={id}
26
25
  {variant}
27
26
  {size}
@@ -55,7 +54,7 @@ const render = slot?.trim().length > 0
55
54
  <style is:global>
56
55
  @layer fulldev {
57
56
  .drawer {
58
- @apply contents;
57
+ @apply contents h-screen;
59
58
  }
60
59
 
61
60
  .drawer-checkbox {
@@ -71,7 +70,8 @@ const render = slot?.trim().length > 0
71
70
  }
72
71
 
73
72
  .drawer-body {
74
- @apply fixed bottom-0 left-0 top-0 z-40 h-full w-80 max-w-[75vw] -translate-x-full rounded-r-lg border border-l-0 bg-background shadow-2xl transition-transform;
73
+ @apply fixed bottom-0 left-0 top-0 z-40 h-full w-80 max-w-[75vw] -translate-x-full overflow-y-auto rounded-r-lg border border-l-0 bg-background shadow-2xl transition-transform;
74
+ @apply scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-full scrollbar-w-2 hover:scrollbar-thumb-accent-hover;
75
75
 
76
76
  &:is(.drawer-checkbox:checked ~ &) {
77
77
  @apply translate-x-0;
@@ -1,10 +1,9 @@
1
1
  ---
2
- import type { HTMLAttributes } from 'astro/types'
2
+ import type { ComponentProps, HTMLAttributes } from 'astro/types'
3
3
  import Head from 'fulldev-ui/components/Head.astro'
4
- import type { HeadSchema } from 'fulldev-ui/schemas/components/head'
5
4
 
6
5
  type Props = Omit<HTMLAttributes<'body'>, 'title'> & {
7
- head?: HeadSchema
6
+ head?: ComponentProps<typeof Head>
8
7
  }
9
8
 
10
9
  const { head, ...rest } = Astro.props
@@ -0,0 +1,39 @@
1
+ ---
2
+ import type { HTMLAttributes, HTMLTag } from 'astro/types'
3
+ import Element from 'fulldev-ui/components/Element.astro'
4
+
5
+ interface Props extends HTMLAttributes<'div'> {
6
+ as?: HTMLTag
7
+ size?: 'sm' | 'md' | 'lg' | undefined
8
+ }
9
+
10
+ const { size = 'md', ...rest } = Astro.props
11
+ ---
12
+
13
+ <Element
14
+ class:list="matrix"
15
+ {size}
16
+ {...rest}
17
+ >
18
+ <slot />
19
+ </Element>
20
+
21
+ <style is:global>
22
+ @layer fulldev {
23
+ .matrix {
24
+ @apply relative grid w-full gap-5;
25
+
26
+ &.size-sm {
27
+ @apply grid-cols-[repeat(auto-fill,minmax(12rem,1fr))];
28
+ }
29
+
30
+ &.size-md {
31
+ @apply grid-cols-[repeat(auto-fill,minmax(16rem,1fr))];
32
+ }
33
+
34
+ &.size-lg {
35
+ @apply grid-cols-[repeat(auto-fill,minmax(20rem,1fr))];
36
+ }
37
+ }
38
+ }
39
+ </style>
@@ -22,11 +22,21 @@ const { ...rest } = Astro.props
22
22
  @apply relative w-full max-w-screen-md;
23
23
 
24
24
  > * {
25
- @apply mt-6;
26
- }
25
+ & + * {
26
+ @apply mt-6;
27
+ }
27
28
 
28
- p {
29
- @apply mt-4;
29
+ &.tagline + .heading,
30
+ & + p,
31
+ & > p {
32
+ @apply mt-4;
33
+ }
34
+
35
+ & + .group,
36
+ & + .button,
37
+ & + .buttons {
38
+ @apply mt-8;
39
+ }
30
40
  }
31
41
 
32
42
  code:not(.astro-code code) {
@@ -74,8 +84,9 @@ const { ...rest } = Astro.props
74
84
  @apply rounded-md border border-destructive p-4 text-destructive;
75
85
  }
76
86
 
77
- img {
78
- @apply my-12 rounded-lg;
87
+ > img,
88
+ > * > img {
89
+ @apply my-12 rounded-md;
79
90
  }
80
91
 
81
92
  > *:first-child {
@@ -0,0 +1,37 @@
1
+ ---
2
+ import type { HTMLAttributes } from 'astro/types'
3
+ import Element from 'fulldev-ui/components/Element.astro'
4
+
5
+ interface Props extends HTMLAttributes<'aside'> {}
6
+
7
+ const { ...rest } = Astro.props
8
+ ---
9
+
10
+ <Element
11
+ class:list="sidebar"
12
+ as="aside"
13
+ {...rest}
14
+ >
15
+ <slot />
16
+ </Element>
17
+
18
+ <style is:global>
19
+ @layer fulldev {
20
+ .sidebar {
21
+ @apply top-header sticky shrink-0 grow flex-col items-start gap-8 overflow-y-auto bg-background p-8 first:border-r last:border-l lg:flex;
22
+ @apply scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-full scrollbar-w-2 hover:scrollbar-thumb-accent-hover;
23
+
24
+ top: var(--header-height);
25
+ width: var(--sidebar-width);
26
+ max-width: var(--sidebar-width);
27
+ height: calc(100vh - var(--header-height, 0px));
28
+
29
+ &,
30
+ & ~ * {
31
+ @media (min-width: 1024px) {
32
+ --sidebar-width: 16rem;
33
+ }
34
+ }
35
+ }
36
+ }
37
+ </style>
@@ -19,7 +19,7 @@ const { ...rest } = Astro.props
19
19
  <style is:global>
20
20
  @layer fulldev {
21
21
  .stack {
22
- @apply relative grid w-full auto-cols-fr items-start gap-x-16 gap-y-8 lg:grid-flow-col;
22
+ @apply relative grid w-full auto-cols-fr items-start gap-x-8 gap-y-8 lg:grid-flow-col lg:gap-x-16;
23
23
  }
24
24
  }
25
25
  </style>
@@ -29,6 +29,10 @@ const { align = 'start', ...rest } = Astro.props
29
29
 
30
30
  &.align-center {
31
31
  @apply mx-auto flex flex-col items-center text-center;
32
+
33
+ .paragraph {
34
+ @apply text-balance;
35
+ }
32
36
  }
33
37
 
34
38
  &.align-right {
@@ -40,11 +44,15 @@ const { align = 'start', ...rest } = Astro.props
40
44
  }
41
45
 
42
46
  .paragraph {
43
- @apply max-w-screen-md text-balance;
47
+ @apply max-w-screen-md;
44
48
  }
45
49
 
46
50
  > * {
47
51
  & + * {
52
+ @apply mt-2;
53
+ }
54
+
55
+ &:is(h1, h2) + * {
48
56
  @apply mt-4;
49
57
  }
50
58
 
@@ -0,0 +1,34 @@
1
+ ---
2
+ import type { HTMLAttributes, HTMLTag } from 'astro/types'
3
+ import Element from 'fulldev-ui/components/Element.astro'
4
+
5
+ interface Props extends HTMLAttributes<'div'> {
6
+ as?: HTMLTag
7
+ }
8
+
9
+ const { ...rest } = Astro.props
10
+ ---
11
+
12
+ <Element
13
+ class:list="bento"
14
+ {...rest}
15
+ >
16
+ <slot />
17
+ </Element>
18
+
19
+ <style is:global>
20
+ @layer fulldev {
21
+ .bento {
22
+ @apply relative grid w-full grid-cols-1 gap-4 lg:grid-cols-5;
23
+
24
+ & > * {
25
+ @apply lg:grid-col-span-2;
26
+ }
27
+
28
+ & > *:nth-child(3n + 2),
29
+ & > *:nth-child(3n + 3) {
30
+ @apply lg:grid-col-span-3;
31
+ }
32
+ }
33
+ }
34
+ </style>
package/src/utils/cart.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { slugify } from './slugify'
1
+ import { slugify } from './slugify.ts'
2
2
 
3
3
  export const generateProductId = (
4
4
  slug: string,
@@ -7,8 +7,6 @@ export default {
7
7
  content: ['src/**/*.{ts,tsx,astro,css,mdx}'],
8
8
  theme: {
9
9
  container: {
10
- center: true,
11
- padding: 'clamp(16px, 4vw, 32px)',
12
10
  screens: ['1536px'],
13
11
  },
14
12
  extend: {
@@ -16,10 +14,9 @@ export default {
16
14
  gutter: 'clamp(16px, 4vw, 32px)',
17
15
  container: 'var(--container, 1536px)',
18
16
  hero: 'calc(100vh - var(--header-height, 0px) - var(--subheader-height, 0px) - var(--banner-height, 0px))',
19
- 'sticky-8':
20
- 'calc(var(--header-height, 0px) + var(--subheader-height, 0px) + 2rem)',
21
- 'sticky-16':
22
- 'calc(var(--header-height, 0px) + var(--subheader-height, 0px) + 4rem)',
17
+ header: 'var(--header-height, 0px)',
18
+ 'sticky-8': 'calc(var(--header-height, 0px) + 2rem)',
19
+ 'sticky-16': 'calc(var(--header-height, 0px) + 4rem)',
23
20
  },
24
21
  colors: {
25
22
  border: 'hsl(var(--border))',
@@ -30,7 +27,8 @@ export default {
30
27
  primary: {
31
28
  DEFAULT: 'hsl(var(--primary))',
32
29
  foreground: 'hsl(var(--primary-foreground))',
33
- hover: 'hsl(var(--primary) / 85%)',
30
+ // hover: 'hsl(var(--primary) / 85%)',
31
+ hover: 'hsl(var(--primary) / 75%)',
34
32
  },
35
33
  secondary: {
36
34
  DEFAULT: 'hsl(var(--secondary))',
package/tsconfig.json CHANGED
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "extends": "astro/tsconfigs/strictest",
3
- "include": ["src", "astro.config.ts"],
3
+ "include": ["src", "astro.config.ts", "virtual.d.ts"],
4
4
  "compilerOptions": {
5
+ "module": "NodeNext",
6
+ "moduleResolution": "NodeNext",
5
7
  "baseUrl": ".",
6
8
  "paths": {
7
9
  "fulldev-ui/*": ["src/*"],
Binary file
@@ -1,61 +0,0 @@
1
- ---
2
- import type { ComponentProps } from 'astro/types'
3
- import Buttons from 'fulldev-ui/components/Buttons.astro'
4
- import Container from 'fulldev-ui/components/Container.astro'
5
- import Heading from 'fulldev-ui/components/Heading.astro'
6
- import Image from 'fulldev-ui/components/Image.astro'
7
- import Paragraph from 'fulldev-ui/components/Paragraph.astro'
8
- import Section from 'fulldev-ui/components/Section.astro'
9
- import Tagline from 'fulldev-ui/components/Tagline.astro'
10
- import Writeup from 'fulldev-ui/components/Writeup.astro'
11
- import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
12
-
13
- interface Props extends ComponentProps<typeof Section>, BlockSchema {}
14
-
15
- const { tagline, heading, paragraph, buttons, image, ...rest } = Astro.props
16
- ---
17
-
18
- <Section
19
- class:list="feature-1"
20
- {...rest}
21
- >
22
- <Container>
23
- <Writeup>
24
- <Tagline
25
- size="sm"
26
- text={tagline}
27
- />
28
- <Heading
29
- size="3xl"
30
- text={heading}
31
- />
32
- <Paragraph
33
- size="lg"
34
- text={paragraph}
35
- />
36
- <Buttons
37
- variant="secondary"
38
- {buttons}
39
- />
40
- </Writeup>
41
- <Image {...image} />
42
- </Container>
43
- </Section>
44
-
45
- <style is:global>
46
- @layer fulldev {
47
- .feature-1 {
48
- .container {
49
- @apply gap-x-gutter gap-y-12 lg:grid lg:grid-cols-2 lg:items-center;
50
- }
51
-
52
- .writeup {
53
- @apply lg:max-w-xl;
54
- }
55
-
56
- .image {
57
- @apply rounded-lg;
58
- }
59
- }
60
- }
61
- </style>
@@ -1,45 +0,0 @@
1
- ---
2
- import type { ComponentProps } from 'astro/types'
3
- import Image from 'fulldev-ui/components/Image.astro'
4
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
5
-
6
- interface Props extends GlobalProps, ComponentProps<typeof Image> {
7
- size?: 'sm' | 'md' | 'lg' | undefined
8
- }
9
-
10
- const { size = 'md', ...rest } = Astro.props
11
-
12
- const sizeMap = {
13
- sm: 36,
14
- md: 40,
15
- lg: 44,
16
- }
17
- ---
18
-
19
- <Image
20
- class:list={'avatar'}
21
- width={sizeMap[size]}
22
- height={sizeMap[size]}
23
- {size}
24
- {...rest}
25
- />
26
-
27
- <style is:global>
28
- @layer fulldev {
29
- .avatar {
30
- @apply aspect-square shrink-0 rounded-full bg-muted object-cover;
31
-
32
- &.size-sm {
33
- @apply size-9;
34
- }
35
-
36
- &.size-md {
37
- @apply size-10;
38
- }
39
-
40
- &.size-lg {
41
- @apply size-11;
42
- }
43
- }
44
- }
45
- </style>
@@ -1,36 +0,0 @@
1
- ---
2
- import type { ComponentProps, HTMLAttributes } from 'astro/types'
3
- import Element from 'fulldev-ui/components/Element.astro'
4
- import Avatar from './Avatar.astro'
5
-
6
- interface Props extends HTMLAttributes<'div'> {
7
- size?: any
8
- avatars?: ComponentProps<typeof Avatar>[] | undefined
9
- avatar?: ComponentProps<typeof Avatar>['id'] | undefined
10
- }
11
-
12
- const { size = 'md', avatars = [], avatar, ...rest } = Astro.props
13
- ---
14
-
15
- <Element
16
- class:list="avatars"
17
- {size}
18
- {...rest}
19
- >
20
- {
21
- [avatar, ...avatars].filter(Boolean).map((id) => (
22
- <Avatar
23
- {size}
24
- {id}
25
- />
26
- ))
27
- }
28
- </Element>
29
-
30
- <style is:global>
31
- @layer fulldev {
32
- .avatars {
33
- @apply inline-flex -space-x-3;
34
- }
35
- }
36
- </style>
@@ -1,133 +0,0 @@
1
- ---
2
- import type { ComponentProps, HTMLAttributes } from 'astro/types'
3
- import Card from 'fulldev-ui/components/Card.astro'
4
- import Element from 'fulldev-ui/components/Element.astro'
5
- import type { GlobalProps } from 'fulldev-ui/types/global-props'
6
-
7
- interface Props extends GlobalProps, HTMLAttributes<'div'> {
8
- level?: ComponentProps<typeof Card>['level']
9
- panel?: ComponentProps<typeof Card>['panel']
10
- position?: ComponentProps<typeof Card>['position']
11
- cards?: ComponentProps<typeof Card>[] | undefined
12
- structure?: 'grid' | 'masonry' | 'stack' | 'carousel' | 'bento' | undefined
13
- }
14
-
15
- const {
16
- structure = 'grid',
17
- level,
18
- panel,
19
- position,
20
- cards,
21
- size,
22
- ...rest
23
- } = Astro.props
24
- ---
25
-
26
- <Element
27
- class:list="cards"
28
- {panel}
29
- {size}
30
- {structure}
31
- {...rest}
32
- >
33
- {
34
- cards?.map((card: any) => (
35
- <Card
36
- level={level + 3}
37
- {panel}
38
- {size}
39
- {position}
40
- {...card}
41
- />
42
- ))
43
- }
44
- </Element>
45
-
46
- <style is:global>
47
- @layer fulldev {
48
- .cards {
49
- --column-width: 20rem;
50
- @apply relative w-full;
51
-
52
- &.structure-grid {
53
- @apply grid w-full grid-cols-[repeat(auto-fill,minmax(var(--column-width),1fr))] gap-5;
54
- }
55
-
56
- &.structure-masonry {
57
- @apply w-full columns-6 break-inside-avoid gap-5 space-y-5;
58
- column-fill: balance;
59
- column-width: var(--column-width);
60
-
61
- /* & > * + * {
62
- break-inside: avoid;
63
- margin-top: var(--gap);
64
- margin-bottom: var(--gap);
65
- } */
66
- }
67
-
68
- &.structure-carousel {
69
- display: flex;
70
- align-items: flex-start;
71
- gap: var(--gap);
72
- padding-bottom: var(--gap);
73
- overflow-x: auto;
74
- scroll-behavior: smooth;
75
- scroll-snap-type: x mandatory;
76
-
77
- > * {
78
- flex-grow: 0;
79
- flex-shrink: 0;
80
- width: var(--column-width);
81
- scroll-snap-align: center;
82
- }
83
- }
84
-
85
- &.structure-stack {
86
- display: grid;
87
- position: relative;
88
- grid-template-columns: 1fr;
89
- align-items: flex-start;
90
- gap: var(--space-6);
91
- width: 100%;
92
-
93
- @media (min-width: 1024px) {
94
- grid-auto-columns: 1fr;
95
- grid-auto-flow: column;
96
- }
97
- }
98
-
99
- &.structure-bento {
100
- display: grid;
101
- position: relative;
102
- grid-template-columns: 1fr;
103
- gap: var(--space-4);
104
- width: 100%;
105
-
106
- @media (min-width: 1024px) {
107
- grid-template-columns: repeat(5, 1fr);
108
-
109
- & > * {
110
- grid-column: span 2;
111
- }
112
-
113
- & > *:nth-child(3n + 2),
114
- & > *:nth-child(3n + 3) {
115
- grid-column: span 3;
116
- }
117
- }
118
- }
119
-
120
- &.size-sm {
121
- --column-width: 16rem;
122
- }
123
-
124
- &.size-md {
125
- --column-width: 20rem;
126
- }
127
-
128
- &.size-lg {
129
- --column-width: 26rem;
130
- }
131
- }
132
- }
133
- </style>