fulldev-ui 0.4.28 → 0.5.0-beta.0

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 (313) hide show
  1. package/.astro/assets.mjs +1 -0
  2. package/.astro/astro/content.d.ts +547 -0
  3. package/.astro/collections/blocks.schema.json +851 -0
  4. package/.astro/collections/collections.json +63 -0
  5. package/.astro/collections/images.schema.json +22 -0
  6. package/.astro/collections/layouts.schema.json +826 -0
  7. package/.astro/collections/pages.schema.json +568 -0
  8. package/.astro/collections/presets.schema.json +489 -0
  9. package/.astro/collections/records.schema.json +822 -0
  10. package/.astro/collections/settings.schema.json +822 -0
  11. package/.astro/data-store.json +1 -0
  12. package/.astro/modules.mjs +1 -0
  13. package/.astro/settings.json +5 -0
  14. package/.astro/types.d.ts +2 -0
  15. package/CHANGELOG.md +2 -98
  16. package/CONTRIBUTING.md +2 -2
  17. package/astro.config.ts +20 -4
  18. package/package.json +26 -16
  19. package/public/favicon/android-chrome-192x192.png +0 -0
  20. package/public/favicon/android-chrome-512x512.png +0 -0
  21. package/public/favicon/apple-touch-icon.png +0 -0
  22. package/public/favicon/browserconfig.xml +7 -7
  23. package/public/favicon/favicon-16x16-dark.png +0 -0
  24. package/public/favicon/favicon-16x16.png +0 -0
  25. package/public/favicon/favicon-32x32-dark.png +0 -0
  26. package/public/favicon/favicon-32x32.png +0 -0
  27. package/public/favicon/favicon-48x48-dark.png +0 -0
  28. package/public/favicon/favicon-48x48.png +0 -0
  29. package/public/favicon/favicon-dark.ico +0 -0
  30. package/public/favicon/favicon.ico +0 -0
  31. package/public/favicon/favicon.svg +16 -0
  32. package/public/favicon/manifest.webmanifest +26 -0
  33. package/public/favicon/mstile-150x150.png +0 -0
  34. package/public/favicon/safari-pinned-tab.svg +14 -15
  35. package/public/favicon/yandex-browser-50x50.png +0 -0
  36. package/public/favicon/yandex-browser-manifest.json +9 -0
  37. package/src/blocks/Article.astro +21 -0
  38. package/src/blocks/Banner.astro +47 -0
  39. package/src/blocks/Colleagues.astro +2 -1
  40. package/src/blocks/Contact.astro +84 -99
  41. package/src/blocks/Cta.astro +2 -1
  42. package/src/blocks/Hero.astro +1 -2
  43. package/src/blocks/Intro.astro +1 -1
  44. package/src/blocks/Jobs.astro +1 -1
  45. package/src/blocks/Prices.astro +1 -1
  46. package/src/blocks/Product.astro +23 -10
  47. package/src/blocks/Reviews.astro +1 -1
  48. package/src/components/Avatar.astro +3 -20
  49. package/src/components/Badge.astro +17 -54
  50. package/src/components/Badges.astro +50 -0
  51. package/src/components/Button.astro +63 -45
  52. package/src/components/Buttons.astro +49 -0
  53. package/src/components/Card.astro +94 -177
  54. package/src/components/Cards.astro +135 -0
  55. package/src/components/Channel.astro +70 -0
  56. package/src/components/Channels.astro +37 -0
  57. package/src/components/Checkbox.astro +16 -19
  58. package/src/components/Dialog.astro +10 -11
  59. package/src/components/Drawer.astro +16 -22
  60. package/src/components/Element.astro +58 -0
  61. package/src/components/Footer.astro +141 -97
  62. package/src/components/Head.astro +7 -45
  63. package/src/components/Header.astro +78 -160
  64. package/src/components/Heading.astro +18 -26
  65. package/src/components/Icon.astro +9 -9
  66. package/src/components/Image.astro +43 -152
  67. package/src/components/Input.astro +10 -28
  68. package/src/components/Label.astro +14 -17
  69. package/src/components/Link.astro +22 -44
  70. package/src/components/List.astro +12 -10
  71. package/src/components/LocaleSwitcher.astro +25 -0
  72. package/src/components/Price.astro +38 -0
  73. package/src/components/Rating.astro +29 -25
  74. package/src/components/Search.astro +3 -3
  75. package/src/components/Section.astro +196 -236
  76. package/src/components/Select.astro +16 -34
  77. package/src/components/Sidebar.astro +112 -46
  78. package/src/components/Social.astro +28 -0
  79. package/src/components/Socials.astro +37 -0
  80. package/src/components/Switch.astro +14 -22
  81. package/src/components/Table.astro +23 -36
  82. package/src/components/Tagline.astro +11 -16
  83. package/src/components/Text.astro +17 -19
  84. package/src/components/Textarea.astro +8 -22
  85. package/src/components/ThemeSelect.astro +38 -0
  86. package/src/components/Toc.astro +100 -23
  87. package/src/components/Writeup.astro +90 -0
  88. package/src/components/docs/PropsTable.astro +229 -56
  89. package/src/components/experimental/Form.astro +10 -17
  90. package/src/components/experimental/Logo.astro +26 -9
  91. package/src/components/experimental/Prose.astro +9 -5
  92. package/src/components/experimental/Video.astro +1 -1
  93. package/src/components/experimental/Window.astro +3 -4
  94. package/src/components/sections.astro +28 -0
  95. package/src/content/config.ts +10 -7
  96. package/src/content/pages/base/_dialog.mdx +1 -2
  97. package/src/content/pages/base/_drawer.mdx +1 -2
  98. package/src/content/pages/base/_localeswitcher.mdx +17 -0
  99. package/src/content/pages/base/_switch.mdx +1 -2
  100. package/src/content/pages/base/badge.mdx +1 -12
  101. package/src/content/pages/base/button.mdx +1 -12
  102. package/src/content/pages/base/card.mdx +2 -29
  103. package/src/content/pages/base/checkbox.mdx +7 -8
  104. package/src/content/pages/base/icon.mdx +3 -2
  105. package/src/content/pages/base/image.mdx +42 -0
  106. package/src/content/pages/base/input.mdx +1 -12
  107. package/src/content/pages/base/rating.mdx +3 -14
  108. package/src/content/pages/base/section.mdx +17 -60
  109. package/src/content/pages/base/select.mdx +1 -12
  110. package/src/content/pages/base/table.mdx +1 -28
  111. package/src/content/pages/base/textarea.mdx +1 -11
  112. package/src/content/pages/base/theme-select.mdx +15 -0
  113. package/src/content/pages/blocks/_categories.mdx +3 -5
  114. package/src/content/pages/blocks/{footer.mdx → _footer.mdx} +10 -4
  115. package/src/content/pages/blocks/{header.mdx → _header.mdx} +2 -7
  116. package/src/content/pages/blocks/_jobs.mdx +1 -2
  117. package/src/content/pages/blocks/{prices.mdx → _prices.mdx} +5 -7
  118. package/src/content/pages/blocks/_product.mdx +1 -2
  119. package/src/content/pages/blocks/_products.mdx +1 -2
  120. package/src/content/pages/blocks/_stats.mdx +1 -1
  121. package/src/content/pages/blocks/{_banner.mdx → banner.mdx} +2 -2
  122. package/src/content/pages/blocks/colleagues.mdx +6 -8
  123. package/src/content/pages/blocks/contact.mdx +69 -0
  124. package/src/content/pages/blocks/content.mdx +1 -19
  125. package/src/content/pages/blocks/cta.mdx +2 -25
  126. package/src/content/pages/blocks/features.mdx +2 -3
  127. package/src/content/pages/blocks/hero.mdx +5 -3
  128. package/src/content/pages/blocks/intro.mdx +2 -5
  129. package/src/content/pages/blocks/posts.mdx +9 -2
  130. package/src/content/pages/blocks/reviews.mdx +23 -18
  131. package/src/content/pages/index.mdx +19 -20
  132. package/src/content/pages/layouts/docslayout.mdx +5 -0
  133. package/src/content/pages/layouts/layout.mdx +21 -0
  134. package/src/content/pages/layouts/pagelayout.mdx +21 -0
  135. package/src/content/pages/overview/components.mdx +70 -0
  136. package/src/content/pages/overview/content-layer.mdx +128 -0
  137. package/src/content/pages/overview/{theming.mdx → customization.mdx} +6 -6
  138. package/src/content/pages/overview/frameworks.mdx +4 -4
  139. package/src/content/pages/overview/installation.mdx +37 -3
  140. package/src/content/pages/overview/introduction.mdx +6 -2
  141. package/src/content/pages/schemas/page.mdx +11 -0
  142. package/src/content/pages/schemas/preset.mdx +9 -0
  143. package/src/content/pages/showcase/anti-slip-profiles.md +5 -0
  144. package/src/content/pages/showcase/fulldev-ui.md +5 -0
  145. package/src/content/pages/showcase/lavis-detailing.md +5 -0
  146. package/src/content/pages/showcase/leren-trainingsacteren.md +5 -0
  147. package/src/content/pages/showcase/miele-witgoedcenter-amsterdam.md +5 -0
  148. package/src/content/{records/record.yml → pages/showcase/record.md} +2 -0
  149. package/src/content/pages/showcase/sloepverhuur-bolsward.md +5 -0
  150. package/src/content/pages/showcase/stark-vulcanising-products.md +5 -0
  151. package/src/content/pages/showcase/the-gym-haren.md +5 -0
  152. package/src/content/pages/showcase/van-dillen-antieke-bouwmaterialen.md +5 -0
  153. package/src/content/pages/showcase.mdx +11 -41
  154. package/src/content/pages/typography/_tagline.mdx +1 -2
  155. package/src/content/pages/typography/heading.mdx +1 -2
  156. package/src/content/pages/typography/label.mdx +1 -2
  157. package/src/content/pages/typography/link.mdx +1 -13
  158. package/src/content/pages/typography/list.mdx +1 -2
  159. package/src/content/pages/typography/text.mdx +1 -2
  160. package/src/content/presets/base.yml +70 -0
  161. package/src/content/presets/blocks.yml +4 -0
  162. package/src/content/presets/docs.yml +65 -0
  163. package/src/css/color.css +0 -82
  164. package/src/css/custom.css +9 -56
  165. package/src/css/size.css +10 -0
  166. package/src/css/space.css +0 -8
  167. package/src/css/styles.css +0 -15
  168. package/src/images/avatar-1.yml +1 -0
  169. package/src/images/favicon.svg +16 -0
  170. package/src/integration/generate-colors.ts +2 -0
  171. package/src/integration/index.ts +49 -7
  172. package/src/layouts/BlockLayout.astro +10 -15
  173. package/src/layouts/ContactLayout.astro +21 -0
  174. package/src/layouts/ContentLayout.astro +16 -0
  175. package/src/layouts/DocsLayout.astro +85 -0
  176. package/src/layouts/Layout.astro +111 -133
  177. package/src/layouts/OverviewLayout.astro +22 -32
  178. package/src/layouts/PageLayout.astro +7 -24
  179. package/src/layouts/PostLayout.astro +8 -19
  180. package/src/layouts/ProductLayout.astro +9 -22
  181. package/src/loaders/imageLoader.ts +26 -0
  182. package/src/pages/[...page].astro +26 -23
  183. package/src/schemas/components/avatar.ts +3 -0
  184. package/src/schemas/components/avatars.ts +4 -0
  185. package/src/schemas/components/badge.ts +13 -0
  186. package/src/schemas/components/button.ts +16 -0
  187. package/src/schemas/components/buttons.ts +4 -0
  188. package/src/schemas/components/card.ts +25 -0
  189. package/src/schemas/components/cards.ts +4 -0
  190. package/src/schemas/components/channel.ts +13 -0
  191. package/src/schemas/components/channels.ts +4 -0
  192. package/src/schemas/components/footer.ts +24 -0
  193. package/src/schemas/components/header.ts +10 -0
  194. package/src/schemas/components/heading.ts +3 -0
  195. package/src/schemas/components/icon.ts +3 -0
  196. package/src/schemas/components/image.ts +18 -0
  197. package/src/schemas/components/images.ts +4 -0
  198. package/src/schemas/components/list.ts +3 -0
  199. package/src/schemas/components/logo.ts +3 -0
  200. package/src/schemas/components/price.ts +3 -0
  201. package/src/schemas/components/rating.ts +15 -0
  202. package/src/schemas/components/section.ts +15 -0
  203. package/src/schemas/components/sections.ts +3 -0
  204. package/src/schemas/components/social.ts +3 -0
  205. package/src/schemas/components/socials.ts +4 -0
  206. package/src/schemas/components/tagline.ts +3 -0
  207. package/src/schemas/components/text.ts +3 -0
  208. package/src/schemas/components/writeup.ts +20 -0
  209. package/src/schemas/imageSchema.ts +12 -0
  210. package/src/schemas/pageSchema.ts +63 -0
  211. package/src/schemas/presetSchema.ts +29 -0
  212. package/src/schemas/utils/categories.ts +3 -0
  213. package/src/schemas/utils/component.ts +17 -0
  214. package/src/schemas/utils/navigation.ts +53 -0
  215. package/src/schemas/{utils.ts → utils/pathSchema.ts} +2 -11
  216. package/src/types/global-props.d.ts +16 -0
  217. package/src/types/virtual-modules.d.ts +5 -0
  218. package/src/utils/_archive/Childmorphic.ts +1 -1
  219. package/src/utils/_archive/mergeEntries.ts +28 -0
  220. package/src/utils/getCategoryPages.ts +11 -0
  221. package/src/utils/getChildPages.ts +16 -0
  222. package/src/utils/getSiblingPages.ts +14 -0
  223. package/tsconfig.json +1 -2
  224. package/public/favicon/site.webmanifest +0 -19
  225. package/public/images/avatars/1.jpeg +0 -0
  226. package/public/images/avatars/2.jpeg +0 -0
  227. package/public/images/avatars/3.jpeg +0 -0
  228. package/public/images/avatars/300/1.jpeg +0 -0
  229. package/public/images/avatars/300/2.jpeg +0 -0
  230. package/public/images/avatars/300/3.jpeg +0 -0
  231. package/public/images/avatars/300/4.jpeg +0 -0
  232. package/public/images/avatars/4.jpeg +0 -0
  233. package/public/images/avatars/5.jpeg +0 -0
  234. package/public/images/avatars/6.jpeg +0 -0
  235. package/public/images/avatars/7.jpeg +0 -0
  236. package/public/images/avatars/8.jpeg +0 -0
  237. package/public/images/blocks/colleagues.png +0 -0
  238. package/public/images/blocks/content.png +0 -0
  239. package/public/images/blocks/cta.png +0 -0
  240. package/public/images/blocks/features.png +0 -0
  241. package/public/images/blocks/footer.png +0 -0
  242. package/public/images/blocks/header.png +0 -0
  243. package/public/images/blocks/hero.png +0 -0
  244. package/public/images/blocks/intro.png +0 -0
  245. package/public/images/blocks/posts.png +0 -0
  246. package/public/images/blocks/prices.png +0 -0
  247. package/public/images/blocks/reviews.png +0 -0
  248. package/public/images/logo-placeholder.svg +0 -1
  249. package/src/components/Bento.astro +0 -43
  250. package/src/components/Block.astro +0 -157
  251. package/src/components/Blocks.astro +0 -5
  252. package/src/components/Box.astro +0 -63
  253. package/src/components/Carousel.astro +0 -54
  254. package/src/components/Column.astro +0 -73
  255. package/src/components/Grid.astro +0 -32
  256. package/src/components/Masonry.astro +0 -42
  257. package/src/components/Root.astro +0 -94
  258. package/src/components/Row.astro +0 -49
  259. package/src/components/Split.astro +0 -59
  260. package/src/components/Spread.astro +0 -46
  261. package/src/components/Stack.astro +0 -36
  262. package/src/components/Wrap.astro +0 -42
  263. package/src/components/docs/NavigationButtons.astro +0 -59
  264. package/src/components/experimental/Channel.astro +0 -74
  265. package/src/components/experimental/Price.astro +0 -40
  266. package/src/content/pages/_changelog.mdx +0 -10
  267. package/src/content/pages/_segment/footer.mdx +0 -244
  268. package/src/content/pages/_segment/header.mdx +0 -210
  269. package/src/content/pages/base/_image.mdx +0 -14
  270. package/src/content/pages/blocks.mdx +0 -10
  271. package/src/content/pages/overview/integration.mdx +0 -37
  272. package/src/content/pages/structure/_row.mdx +0 -23
  273. package/src/content/pages/structure/_wrap.mdx +0 -25
  274. package/src/content/pages/structure/carousel.mdx +0 -31
  275. package/src/content/pages/structure/column.mdx +0 -21
  276. package/src/content/pages/structure/grid.mdx +0 -26
  277. package/src/content/pages/structure/masonry.mdx +0 -32
  278. package/src/content/pages/structure/split.mdx +0 -21
  279. package/src/content/pages/structure/spread.mdx +0 -21
  280. package/src/content/pages/structure/stack.mdx +0 -22
  281. package/src/content/settings/base.yml +0 -55
  282. package/src/content/settings/components.yml +0 -29
  283. package/src/layouts/BlockOverviewLayout.astro +0 -39
  284. package/src/layouts/ComponentLayout.astro +0 -23
  285. package/src/layouts/JobsLayout.astro +0 -40
  286. package/src/schemas/base.ts +0 -90
  287. package/src/schemas/block.ts +0 -15
  288. package/src/schemas/card.ts +0 -3
  289. package/src/schemas/page.ts +0 -43
  290. package/src/utils/mergeEntries.ts +0 -28
  291. /package/{public/showcase → src/images}/anti-slip-profiles.webp +0 -0
  292. /package/{public/images/avatars/500/1.jpeg → src/images/avatar-1.jpeg} +0 -0
  293. /package/{public/images/avatars/500/2.jpeg → src/images/avatar-2.jpeg} +0 -0
  294. /package/{public/images/avatars/500/3.jpeg → src/images/avatar-3.jpeg} +0 -0
  295. /package/{public/images/avatars/500/4.jpeg → src/images/avatar-4.jpeg} +0 -0
  296. /package/{public → src}/images/avatar-placeholder.jpg +0 -0
  297. /package/{public → src}/images/block-code.png +0 -0
  298. /package/{public → src}/images/component-code.png +0 -0
  299. /package/{public/showcase → src/images}/fulldev-ui.webp +0 -0
  300. /package/{public/showcase → src/images}/lavis-detailing.webp +0 -0
  301. /package/{public/showcase → src/images}/leren-trainingsacteren.webp +0 -0
  302. /package/{public/showcase → src/images}/miele-witgoedcenter-amsterdam.webp +0 -0
  303. /package/{public → src}/images/og-image.png +0 -0
  304. /package/{public → src}/images/placeholder-center.webp +0 -0
  305. /package/{public → src}/images/placeholder-landscape-dark.png +0 -0
  306. /package/{public → src}/images/placeholder-landscape.webp +0 -0
  307. /package/{public → src}/images/placeholder-portrait.webp +0 -0
  308. /package/{public → src}/images/placeholder-right.webp +0 -0
  309. /package/{public → src}/images/placeholder.webp +0 -0
  310. /package/{public/showcase → src/images}/sloepverhuur-bolsward.webp +0 -0
  311. /package/{public/showcase → src/images}/stark-vulcanising-products.webp +0 -0
  312. /package/{public/showcase → src/images}/the-gym-haren.webp +0 -0
  313. /package/{public/showcase → src/images}/van-dillen-antieke-bouwmaterialen.webp +0 -0
@@ -1,6 +1,5 @@
1
1
  ---
2
- _layout: ComponentLayout
3
- settings: components
2
+ presets: [docs]
4
3
 
5
4
  title: Text
6
5
  ---
@@ -0,0 +1,70 @@
1
+ seo:
2
+ image: /images/og-image.png
3
+
4
+ code:
5
+ head: |
6
+ <script is:inline>
7
+ !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
8
+ posthog.init('phc_mVacbe8Xydu0UZlh4bNw5EGisvzyRcpqXEEuEEp5lOY',{api_host:'https://eu.i.posthog.com', person_profiles: 'identified_only' // or 'always' to create profiles for anonymous users as well
9
+ })
10
+ </script>
11
+ sidebar: true
12
+ toc: false
13
+ themeselect: true
14
+
15
+ header:
16
+ logo: Fulldev UI
17
+ buttons:
18
+ - text: Docs
19
+ href: /overview/introduction
20
+ - text: Components
21
+ href: /typography/heading
22
+ - text: Blocks
23
+ href: /blocks/banner
24
+ - showcase
25
+ - href: https://github.com/fulldotdev/ui
26
+ target: _blank
27
+ icon: brand-github
28
+ variant: secondary
29
+ - href: https://discord.gg/vXZqMbadm8
30
+ target: _blank
31
+ icon: brand-discord
32
+ variant: secondary
33
+ # footer:
34
+ # logo: Fulldev UI
35
+ # text: The Astro UI library to build content sites. Make websites with prebuilt components, blocks and layouts.
36
+ # columns:
37
+ # - heading: Pages
38
+ # buttons:
39
+ # - text: Docs
40
+ # href: /overview/introduction
41
+ # - text: Components
42
+ # href: /typography/heading
43
+ # - blocks
44
+ # - showcase
45
+ # socials:
46
+ # - https://www.linkedin.com/in/silveltman/
47
+ # - https://x.com/silveltm
48
+ # - https://github.com/fulldotdev/ui
49
+ # channels:
50
+ # - heading: Phone
51
+ # text: 123-456-7890
52
+ # icon: phone
53
+ # href: tel:123-456-7890
54
+ # - heading: Email
55
+ # text: contact@example.com
56
+ # icon: mail
57
+ # href: mailto:contact@example.com
58
+ # - heading: Address
59
+ # text: 1234 Main St, Springfield, IL 62701
60
+ # icon: map-pin
61
+ # hours:
62
+ # heading: Openingstijden
63
+ # days:
64
+ # ma.: 09:00 - 17:00
65
+ # di.: 09:00 - 17:00
66
+ # wo.: 09:00 - 17:00
67
+ # do.: 09:00 - 17:00
68
+ # vr.: 09:00 - 17:00
69
+ # za.: 09:00 - 17:00
70
+ # zo.: 09:00 - 17:00
@@ -0,0 +1,4 @@
1
+ component: BlockLayout
2
+
3
+ navigation:
4
+ toc: false
@@ -0,0 +1,65 @@
1
+ component: DocsLayout
2
+
3
+ sidebar: true
4
+ header: false
5
+ banner: false
6
+
7
+ navigation:
8
+ logo: Fulldev UI
9
+ buttons:
10
+ - heading: Get Started
11
+ buttons:
12
+ - overview/introduction
13
+ - overview/installation
14
+ - overview/customization
15
+ - overview/frameworks
16
+ - overview/components
17
+ - overview/content-layer
18
+ - heading: Typography
19
+ buttons:
20
+ - typography/heading
21
+ - typography/label
22
+ - typography/link
23
+ - typography/list
24
+ - typography/text
25
+ - heading: Base
26
+ buttons:
27
+ - base/badge
28
+ - base/button
29
+ - base/card
30
+ - base/checkbox
31
+ - base/icon
32
+ - base/input
33
+ - base/rating
34
+ - base/section
35
+ - base/select
36
+ - base/table
37
+ - base/textarea
38
+ - base/theme-select
39
+ - base/image
40
+ - heading: Blocks
41
+ buttons:
42
+ - blocks/banner
43
+ - blocks/colleagues
44
+ - blocks/contact
45
+ - blocks/content
46
+ - blocks/cta
47
+ - blocks/features
48
+ - blocks/hero
49
+ - blocks/intro
50
+ - blocks/posts
51
+ - blocks/reviews
52
+ - heading: Layouts
53
+ buttons:
54
+ - layouts/layout
55
+ - layouts/pagelayout
56
+ - layouts/docslayout
57
+ - heading: Schemas
58
+ buttons:
59
+ - schemas/page
60
+ - schemas/preset
61
+ - heading: More
62
+ buttons:
63
+ - showcase
64
+ - text: Changelog
65
+ href: https://github.com/fulldotdev/ui/releases
package/src/css/color.css CHANGED
@@ -84,85 +84,3 @@
84
84
  --color-11: var(--color-12);
85
85
  --color-contrast: var(--color-1);
86
86
  }
87
-
88
- /* :where(:root),
89
- :where(.theme-light),
90
- :where(.theme-dark),
91
- :where(.color-base),
92
- :where(.color-brand),
93
- .variant-base,
94
- .variant-base
95
- *:not([class*='variant-']):not(.variant-base [class*='variant-'] *) {
96
- --background: var(--color-background, var(--color-1));
97
- --background-hover: var(--color-1);
98
- --background-active: var(--color-1);
99
- --border: var(--color-6);
100
- --border-hover: var(--color-6);
101
- --text: var(--color-11);
102
- }
103
-
104
- .variant-subtle,
105
- .variant-subtle
106
- *:not([class*='variant-']):not(.variant-subtle [class*='variant-'] *) {
107
- --background: var(--color-2);
108
- --background-hover: var(--color-2);
109
- --background-active: var(--color-2);
110
- --border: var(--color-6);
111
- --border-hover: var(--color-6);
112
- --text: var(--color-11);
113
- }
114
-
115
- .variant-ghost,
116
- .variant-ghost
117
- *:not([class*='variant-']):not(.variant-ghost [class*='variant-'] *) {
118
- --background: transparent;
119
- --background-hover: var(--color-3);
120
- --background-active: var(--color-4);
121
- --border: transparent;
122
- --border-hover: transparent;
123
- --text: var(--color-11);
124
- }
125
-
126
- .variant-outline,
127
- .variant-outline
128
- *:not([class*='variant-']):not(.variant-outline [class*='variant-'] *) {
129
- --background: transparent;
130
- --background-hover: var(--color-3);
131
- --background-active: var(--color-5);
132
- --border: var(--color-7);
133
- --border-hover: var(--color-8);
134
- --text: var(--color-11);
135
- }
136
-
137
- .variant-soft,
138
- .variant-soft
139
- *:not([class*='variant-']):not(.variant-soft [class*='variant-'] *) {
140
- --background: var(--color-3);
141
- --background-hover: var(--color-4);
142
- --background-active: var(--color-5);
143
- --border: transparent;
144
- --border-hover: transparent;
145
- --text: var(--color-11);
146
- }
147
-
148
- .variant-surface,
149
- .variant-surface
150
- *:not([class*='variant-']):not(.variant-surface [class*='variant-'] *) {
151
- --background: var(--color-3);
152
- --background-hover: var(--color-4);
153
- --background-active: var(--color-5);
154
- --border: var(--color-7);
155
- --border-hover: var(--color-8);
156
- --text: var(--color-11);
157
- }
158
-
159
- .variant-solid,
160
- .variant-solid
161
- *:not([class*='variant-']):not(.variant-solid [class*='variant-'] *) {
162
- --background: var(--color-9);
163
- --background-hover: var(--color-10);
164
- --background-active: var(--color-10);
165
- --border: transparent;
166
- --border-hover: transparent;
167
- --text: var(--color-contrast);
168
- } */
@@ -1,59 +1,7 @@
1
- /* TODO: temporary decreased due to z-index issue over header */
2
- .hero:not(.window .hero)::before {
3
- position: absolute;
4
- top: 0;
5
- left: 0;
6
- z-index: -1;
7
- background: radial-gradient(
8
- ellipse closest-side,
9
- rgba(255, 85, 0, 0.1),
10
- #f500 70%
11
- );
12
- width: 100%;
13
- height: 100%;
14
- content: '';
15
- }
16
- /* .hero:not(.window .hero)::before {
17
- position: absolute;
18
- top: -80%;
19
- left: 0;
20
- z-index: -1;
21
- background: radial-gradient(
22
- ellipse closest-side,
23
- rgba(255, 85, 0, 0.1),
24
- #f500 90%
25
- );
26
- width: 100%;
27
- height: 170%;
28
- content: '';
29
- } */
30
-
31
- .header:not(.window .header) {
32
- backdrop-filter: blur(10px);
33
- border-color: var(--base-a6) !important;
34
- background-color: rgba(17, 17, 16, 0.2) !important;
35
- }
1
+ @import url(https://fonts.bunny.net/css?family=inter:100,200,300,400,500,600,700,800,900);
36
2
 
37
- .cta:not(.window .cta) {
38
- backdrop-filter: blur(10px);
39
- border-color: var(--base-a6) !important;
40
- background-color: rgba(17, 17, 16, 0.2) !important;
41
- overflow: visible;
42
-
43
- &::before {
44
- position: absolute;
45
- top: -30%;
46
- left: 0;
47
- z-index: -1;
48
- background: radial-gradient(
49
- ellipse closest-side,
50
- rgba(255, 85, 0, 0.06),
51
- #f500 90%
52
- );
53
- width: 100%;
54
- height: 160%;
55
- content: '';
56
- }
3
+ * {
4
+ font-family: 'Inter', sans-serif;
57
5
  }
58
6
 
59
7
  mark {
@@ -64,6 +12,11 @@ mark {
64
12
  .astro-code {
65
13
  border: 1px solid var(--base-6);
66
14
  border-radius: var(--radius-2);
67
- background-color: var(--base-2) !important;
15
+ background-color: #191919 !important;
68
16
  padding: var(--space-5);
69
17
  }
18
+
19
+ .header,
20
+ .panel {
21
+ background-color: var(--color-background);
22
+ }
package/src/css/size.css CHANGED
@@ -128,3 +128,13 @@
128
128
  --text-7: var(--text-lg-7);
129
129
  --text-8: var(--text-lg-8);
130
130
  }
131
+
132
+ :root {
133
+ --spacer: var(--space-7);
134
+ --screen: 100vw;
135
+ --gutter: max(24px, calc((100% - var(--screen)) / 2));
136
+ }
137
+
138
+ * {
139
+ --gutter: max(24px, calc((100% - var(--screen)) / 2));
140
+ }
package/src/css/space.css CHANGED
@@ -75,11 +75,3 @@
75
75
  .link + .heading {
76
76
  --space-auto: var(--space-5);
77
77
  }
78
-
79
- /* // .button:not(.variant-link) + .button:not(.variant-link) {
80
- // margin-top: var(--space-3);
81
- // }
82
-
83
- // .variant-link + .variant-link{
84
- // margin-top: var(--space-2);
85
- // } */
@@ -1,15 +0,0 @@
1
- @import url(https://fonts.bunny.net/css?family=inter:100,200,300,400,500,600,700,800,900);
2
-
3
- :root,
4
- .root {
5
- --transition: cubic-bezier(0.4, 0, 0.2, 1) 0.15s;
6
-
7
- --font-family: 'Inter', sans-serif;
8
- --font-weight: 400;
9
-
10
- --text-heading-font-family: var(--font-family);
11
- --text-heading-font-weight: 700;
12
-
13
- --button-font-family: var(--font-family);
14
- --button-font-weight: 500;
15
- }
@@ -0,0 +1 @@
1
+ alt: worlddd
@@ -0,0 +1,16 @@
1
+ <svg width="758" height="758" viewBox="0 0 758 758" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_45_5)">
3
+ <rect width="758" height="758" fill="#FF5500"/>
4
+ <rect x="-133" y="-133" width="1024" height="1024" fill="url(#paint0_radial_45_5)"/>
5
+ <path d="M269.363 565C264.945 565 261.363 561.419 261.363 557V200.637C261.363 196.218 264.945 192.637 269.363 192.637H499.909C504.327 192.637 507.909 196.218 507.909 200.637V249.546C507.909 253.964 504.327 257.546 499.909 257.546H348.091C343.672 257.546 340.091 261.128 340.091 265.546V338.273C340.091 342.691 343.672 346.273 348.091 346.273H483.545C487.963 346.273 491.545 349.855 491.545 354.273V403.182C491.545 407.6 487.963 411.182 483.545 411.182H348.091C343.672 411.182 340.091 414.764 340.091 419.182V557C340.091 561.419 336.509 565 332.091 565H269.363Z" fill="#EEEEEC"/>
6
+ </g>
7
+ <defs>
8
+ <radialGradient id="paint0_radial_45_5" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(379 379) rotate(45) scale(724.077)">
9
+ <stop stop-color="#111110" stop-opacity="0.2"/>
10
+ <stop offset="0.9" stop-color="#111110" stop-opacity="0"/>
11
+ </radialGradient>
12
+ <clipPath id="clip0_45_5">
13
+ <rect width="758" height="758" fill="white"/>
14
+ </clipPath>
15
+ </defs>
16
+ </svg>
@@ -1,3 +1,5 @@
1
+ // Below code is taken from Radix UI, therefore it does not satisfy Astro strictest tsconfig.
2
+ // @ts-nocheck
1
3
  import * as RadixColors from '@radix-ui/colors'
2
4
  import BezierEasing from 'bezier-easing'
3
5
  import Color from 'colorjs.io'
@@ -1,5 +1,9 @@
1
+ import viteYaml from '@rollup/plugin-yaml'
1
2
  import type { AstroIntegration } from 'astro'
2
3
  import merge from 'deepmerge'
4
+ import fs from 'fs/promises'
5
+ import yaml from 'js-yaml'
6
+ import path from 'path'
3
7
  import virtual from 'vite-plugin-virtual'
4
8
  import { generateRadixColors } from './generate-colors'
5
9
 
@@ -12,10 +16,12 @@ type Color = {
12
16
  interface Config {
13
17
  css?: string
14
18
  injectRoutes?: boolean
19
+ overrideComponents?: boolean
20
+ generateImageEntries?: boolean
15
21
  colors: {
16
22
  theme: 'light' | 'dark'
17
- light?: Color
18
- dark?: Color
23
+ light?: Color | undefined
24
+ dark?: Color | undefined
19
25
  }
20
26
  }
21
27
 
@@ -28,11 +34,13 @@ const defaultConfig: Config = {
28
34
  brand: '#000',
29
35
  },
30
36
  },
37
+ generateImageEntries: false,
31
38
  }
39
+
32
40
  export default function fulldevIntegration(
33
- userConfig?: Partial<Config>
41
+ userConfig?: Partial<Config> | undefined
34
42
  ): AstroIntegration {
35
- const config = merge(defaultConfig ?? {}, userConfig ?? {})
43
+ const config = merge(defaultConfig, userConfig ?? {})
36
44
 
37
45
  return {
38
46
  name: '/integration',
@@ -64,7 +72,7 @@ export default function fulldevIntegration(
64
72
  const scaleToString = (
65
73
  scale: any,
66
74
  palette: 'base' | 'brand',
67
- alpha?: boolean
75
+ alpha?: boolean | undefined
68
76
  ) =>
69
77
  scale
70
78
  .map(
@@ -123,11 +131,14 @@ export default function fulldevIntegration(
123
131
  updateConfig({
124
132
  vite: {
125
133
  plugins: [
134
+ viteYaml(),
126
135
  virtual({
127
136
  'virtual:astro/config': `export default ${JSON.stringify(astroConfig)}`,
128
- 'virtual:fulldev-ui/config': `export default ${JSON.stringify(config)}`,
137
+ 'virtual:fulldev-ui/config': `export default ${JSON.stringify({
138
+ ...config,
139
+ })}`,
129
140
  'virtual:colors.css': css,
130
- }),
141
+ }) as any,
131
142
  ],
132
143
  css: {
133
144
  preprocessorOptions: {
@@ -141,6 +152,37 @@ export default function fulldevIntegration(
141
152
 
142
153
  injectScript('page-ssr', `import "virtual:colors.css";`)
143
154
 
155
+ // ----------------------
156
+ // Generate image YAML files
157
+ // ----------------------
158
+ if (config.generateImageEntries) {
159
+ const srcDir = path.join(process.cwd(), 'src')
160
+ const filesDir = path.join(srcDir, 'images')
161
+ const entriesDir = path.join(srcDir, 'content', 'images')
162
+
163
+ try {
164
+ await fs.mkdir(filesDir, { recursive: true })
165
+ await fs.mkdir(entriesDir, { recursive: true })
166
+
167
+ const files = await fs.readdir(filesDir)
168
+ files.forEach(async (file) => {
169
+ const filename = path.parse(file).name
170
+ const yamlPath = path.join(entriesDir, `${filename}.yml`)
171
+
172
+ try {
173
+ await fs.access(yamlPath)
174
+ } catch {
175
+ const yamlContent = yaml.dump({
176
+ alt: '',
177
+ })
178
+ await fs.writeFile(yamlPath, yamlContent, 'utf8')
179
+ }
180
+ })
181
+ } catch (error) {
182
+ console.error('Error generating image YAML files:', error)
183
+ }
184
+ }
185
+
144
186
  // ----------------------
145
187
  // Inject routes
146
188
  // ----------------------
@@ -1,24 +1,19 @@
1
1
  ---
2
- import type { CollectionEntry } from 'astro:content'
2
+ import type { ComponentProps } from 'astro/types'
3
3
  import Intro from 'fulldev-ui/blocks/Intro.astro'
4
4
  import Layout from 'fulldev-ui/layouts/Layout.astro'
5
5
 
6
- type Props = CollectionEntry<'pages'>
6
+ type Props = ComponentProps<typeof Layout>
7
7
 
8
- const { data, render } = Astro.props
8
+ const { render, title, sections, ...rest } = Astro.props
9
9
  const { Content } = await render()
10
10
  ---
11
11
 
12
- <Layout {...Astro.props}>
13
- <Intro
14
- variant="ghost"
15
- size="md"
16
- style={{
17
- paddingBottom: '0px',
18
- borderColor: 'transparent',
19
- }}
20
- {...data}
21
- />
22
- <Content />
23
- <slot />
12
+ <Layout
13
+ class:list="block-layout"
14
+ {render}
15
+ {...rest}
16
+ >
17
+ <Intro heading={title} />
18
+ {Content && <Content />}
24
19
  </Layout>
@@ -0,0 +1,21 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Sections from 'fulldev-ui/components/sections.astro'
4
+ import Layout from 'fulldev-ui/layouts/Layout.astro'
5
+ import Contact from '../blocks/Contact.astro'
6
+
7
+ type Props = ComponentProps<typeof Layout> & {
8
+ contactProps: ComponentProps<typeof Contact>
9
+ }
10
+
11
+ const { render, sections, contactProps, ...rest } = Astro.props
12
+ ---
13
+
14
+ <Layout {...Astro.props}>
15
+ <Contact
16
+ level={1}
17
+ {...rest}
18
+ />
19
+ <Sections {sections} />
20
+ <slot />
21
+ </Layout>
@@ -0,0 +1,16 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Article from 'fulldev-ui/blocks/Article.astro'
4
+ import Layout from 'fulldev-ui/layouts/Layout.astro'
5
+
6
+ type Props = ComponentProps<typeof Layout>
7
+
8
+ const { sections, ...rest } = Astro.props
9
+ ---
10
+
11
+ <Layout
12
+ class:list="content-layout"
13
+ {...rest}
14
+ >
15
+ <Article />
16
+ </Layout>
@@ -0,0 +1,85 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Button from 'fulldev-ui/components/Button.astro'
4
+ import Element from 'fulldev-ui/components/Element.astro'
5
+ import Prose from 'fulldev-ui/components/experimental/Prose.astro'
6
+ import Layout from 'fulldev-ui/layouts/Layout.astro'
7
+ import { crush } from 'radash'
8
+
9
+ type Props = ComponentProps<typeof Layout>
10
+
11
+ const { render, slug, navigation, ...rest } = Astro.props
12
+ const { Content } = await render()
13
+
14
+ const flatButtons = crush((navigation as any)?.buttons ?? {})
15
+ const slugs = Object.entries(flatButtons)
16
+ .map(([key, value]) => (key.endsWith('.slug') ? value : null))
17
+ .filter(Boolean)
18
+ const slugIndex = slugs.findIndex((val) => val === slug)
19
+
20
+ const prevSlug = slugs[slugIndex - 1]
21
+ const nextSlug = slugs[slugIndex + 1]
22
+ ---
23
+
24
+ <Layout
25
+ class:list="docs-layout"
26
+ {render}
27
+ {slug}
28
+ {navigation}
29
+ {...rest}
30
+ >
31
+ <Prose>
32
+ {Content && <Content />}
33
+ <Element class:list={['prev-next', { 'next-only': !prevSlug }]}>
34
+ <Button
35
+ if={prevSlug}
36
+ slug={prevSlug}
37
+ icon="arrow-left"
38
+ variant="secondary"
39
+ />
40
+ <Button
41
+ if={nextSlug}
42
+ slug={nextSlug}
43
+ icon="arrow-right"
44
+ variant="secondary"
45
+ reverse={true}
46
+ />
47
+ </Element>
48
+ </Prose>
49
+ </Layout>
50
+
51
+ <style lang="scss" is:global>
52
+ @layer fulldev {
53
+ .docs-layout {
54
+ .prose {
55
+ --screen: 768px;
56
+ padding: var(--space-6) var(--gutter);
57
+ color: var(--color-12);
58
+
59
+ > h1 + p {
60
+ color: var(--color-11);
61
+ }
62
+
63
+ > a,
64
+ > p > a {
65
+ color: var(--brand-11);
66
+
67
+ &:hover {
68
+ color: var(--brand-12);
69
+ }
70
+ }
71
+
72
+ .prev-next {
73
+ display: flex;
74
+ justify-content: space-between;
75
+ align-items: center;
76
+ margin-top: var(--space-7);
77
+
78
+ &.next-only {
79
+ justify-content: flex-end;
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ </style>