fulldev-ui 0.6.0-beta.9 → 0.6.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 (153) hide show
  1. package/astro.config.ts +6 -8
  2. package/cloudcannon.config.yml +57 -86
  3. package/package.json +2 -1
  4. package/public/images/block-code.png +0 -0
  5. package/public/images/component-code.png +0 -0
  6. package/src/blocks/Banner.astro +3 -5
  7. package/src/blocks/Colleagues1.astro +4 -3
  8. package/src/blocks/Content1.astro +6 -28
  9. package/src/blocks/Content2.astro +25 -49
  10. package/src/blocks/Content3.astro +25 -54
  11. package/src/blocks/Content4.astro +27 -50
  12. package/src/blocks/Content5.astro +7 -37
  13. package/src/blocks/Content6.astro +56 -0
  14. package/src/blocks/Content7.astro +64 -0
  15. package/src/blocks/Content8.astro +47 -0
  16. package/src/blocks/Cta1.astro +6 -9
  17. package/src/blocks/Cta2.astro +52 -0
  18. package/src/blocks/Features1.astro +5 -4
  19. package/src/blocks/Features2.astro +70 -0
  20. package/src/blocks/Footer.astro +2 -6
  21. package/src/blocks/Header.astro +8 -25
  22. package/src/blocks/Hero1.astro +19 -27
  23. package/src/blocks/Intro1.astro +3 -4
  24. package/src/blocks/{Industries1.astro → JobCategories1.astro} +13 -38
  25. package/src/blocks/JobCategory1.astro +90 -0
  26. package/src/blocks/Jobs1.astro +7 -10
  27. package/src/blocks/Logos1.astro +4 -4
  28. package/src/blocks/Pages1.astro +85 -0
  29. package/src/blocks/Pricings1.astro +61 -0
  30. package/src/blocks/Products1.astro +7 -10
  31. package/src/blocks/Projects1.astro +59 -83
  32. package/src/blocks/Reviews1.astro +10 -10
  33. package/src/blocks/Subheader.astro +4 -9
  34. package/src/blocks/{Contact1.astro → _Contact1.astro} +1 -3
  35. package/src/components/Avatar.astro +40 -0
  36. package/src/components/Avatars.astro +20 -0
  37. package/src/components/Badge.astro +6 -35
  38. package/src/components/Block.astro +19 -4
  39. package/src/components/Chip.astro +73 -0
  40. package/src/components/Element.astro +1 -0
  41. package/src/components/Heading.astro +13 -5
  42. package/src/components/Image.astro +1 -1
  43. package/src/components/Link.astro +1 -1
  44. package/src/components/Menu.astro +9 -5
  45. package/src/components/Proof.astro +52 -0
  46. package/src/components/Toc.astro +33 -35
  47. package/src/content/config.ts +5 -0
  48. package/src/content/layouts/base.yml +133 -143
  49. package/src/content/pages/{base → _base}/toggle.mdx +1 -1
  50. package/src/content/pages/_showcase/stark-vulcanising-products.md +0 -1
  51. package/src/content/pages/docs/blocks/_categories.mdx +1 -17
  52. package/src/content/pages/docs/blocks/banner.mdx +1 -1
  53. package/src/content/pages/docs/blocks/colleagues.mdx +1 -1
  54. package/src/content/pages/docs/blocks/content.mdx +162 -1
  55. package/src/content/pages/docs/blocks/cta.mdx +1 -1
  56. package/src/content/pages/docs/blocks/features.mdx +66 -1
  57. package/src/content/pages/docs/blocks/footer.mdx +1 -1
  58. package/src/content/pages/docs/blocks/header.mdx +1 -1
  59. package/src/content/pages/docs/blocks/hero.mdx +1 -1
  60. package/src/content/pages/docs/blocks/intro.mdx +1 -1
  61. package/src/content/pages/docs/blocks/logos.mdx +1 -1
  62. package/src/content/pages/docs/blocks/projects.mdx +1 -1
  63. package/src/content/pages/docs/blocks/reviews.mdx +1 -1
  64. package/src/content/pages/docs/blocks.mdx +1 -7
  65. package/src/content/pages/docs/collections/images.mdx +1 -1
  66. package/src/content/pages/docs/collections/pages.mdx +1 -1
  67. package/src/content/pages/docs/collections/presets.mdx +1 -1
  68. package/src/content/pages/docs/components/_localeswitcher.mdx +1 -1
  69. package/src/content/pages/docs/components/_table.mdx +1 -1
  70. package/src/content/pages/docs/components/_tagline.mdx +1 -1
  71. package/src/content/pages/docs/components/_themer.mdx +1 -1
  72. package/src/content/pages/docs/components/_toggle.mdx +1 -1
  73. package/src/content/pages/docs/components/avatar.mdx +32 -0
  74. package/src/content/pages/docs/components/badge.mdx +1 -34
  75. package/src/content/pages/docs/components/badges.mdx +1 -13
  76. package/src/content/pages/docs/components/button.mdx +1 -1
  77. package/src/content/pages/docs/components/buttons.mdx +1 -1
  78. package/src/content/pages/docs/components/channel.mdx +1 -1
  79. package/src/content/pages/docs/components/channels.mdx +1 -1
  80. package/src/content/pages/docs/components/checkbox.mdx +1 -1
  81. package/src/content/pages/docs/components/chip.mdx +75 -0
  82. package/src/content/pages/docs/components/heading.mdx +1 -1
  83. package/src/content/pages/docs/components/icon.mdx +1 -1
  84. package/src/content/pages/docs/components/image.mdx +2 -1
  85. package/src/content/pages/docs/components/input.mdx +1 -1
  86. package/src/content/pages/docs/components/label.mdx +1 -1
  87. package/src/content/pages/docs/components/link.mdx +1 -1
  88. package/src/content/pages/docs/components/links.mdx +11 -52
  89. package/src/content/pages/docs/components/list.mdx +1 -1
  90. package/src/content/pages/docs/components/logo.mdx +1 -1
  91. package/src/content/pages/docs/components/menu.mdx +5 -18
  92. package/src/content/pages/docs/components/paragraph.mdx +1 -1
  93. package/src/content/pages/docs/components/rating.mdx +1 -1
  94. package/src/content/pages/docs/components/select.mdx +1 -1
  95. package/src/content/pages/docs/components/social.mdx +1 -1
  96. package/src/content/pages/docs/components/socials.mdx +1 -1
  97. package/src/content/pages/docs/components/switch.mdx +1 -1
  98. package/src/content/pages/docs/components/tagline.mdx +1 -1
  99. package/src/content/pages/docs/components/textarea.mdx +1 -1
  100. package/src/content/pages/docs/components.mdx +1 -1
  101. package/src/content/pages/docs/customization.mdx +1 -1
  102. package/src/content/pages/docs/frameworks.mdx +1 -1
  103. package/src/content/pages/docs/index.mdx +1 -1
  104. package/src/content/pages/docs/installation.mdx +1 -24
  105. package/src/content/pages/docs/layouts/doc.mdx +1 -1
  106. package/src/content/pages/docs/layouts/page.mdx +1 -1
  107. package/src/content/pages/docs/pages.mdx +1 -1
  108. package/src/content/pages/docs/structures/_card.mdx +1 -1
  109. package/src/content/pages/docs/structures/_dialog.mdx +1 -1
  110. package/src/content/pages/docs/structures/_drawer.mdx +1 -1
  111. package/src/content/pages/docs/structures/card.mdx +1 -1
  112. package/src/content/pages/docs/structures/code.mdx +1 -1
  113. package/src/content/pages/docs/structures/container.mdx +1 -1
  114. package/src/content/pages/docs/structures/drawer.mdx +1 -1
  115. package/src/content/pages/docs/structures/group.mdx +1 -1
  116. package/src/content/pages/docs/structures/layout.mdx +1 -1
  117. package/src/content/pages/docs/structures/masonry.mdx +1 -1
  118. package/src/content/pages/docs/structures/matrix.mdx +1 -1
  119. package/src/content/pages/docs/structures/panel.mdx +1 -1
  120. package/src/content/pages/docs/structures/prose.mdx +1 -1
  121. package/src/content/pages/docs/structures/section.mdx +1 -1
  122. package/src/content/pages/docs/structures/stack.mdx +1 -1
  123. package/src/content/pages/docs/structures/writeup.mdx +1 -1
  124. package/src/content/pages/docs/structures.mdx +1 -1
  125. package/src/content/pages/index.mdx +20 -25
  126. package/src/layouts/Page.astro +44 -10
  127. package/src/layouts/{Product.astro → _Product.astro} +6 -6
  128. package/src/pages/test.astro +16 -0
  129. package/src/schemas/block.ts +18 -44
  130. package/src/schemas/button.ts +2 -0
  131. package/src/schemas/card.ts +43 -0
  132. package/src/schemas/{badge.ts → chip.ts} +3 -3
  133. package/src/schemas/page.ts +4 -18
  134. package/src/schemas/proof.ts +12 -0
  135. package/src/structures/Drawer.astro +2 -3
  136. package/src/structures/Prose.astro +31 -40
  137. package/src/structures/Section.astro +1 -1
  138. package/src/structures/Sidebar.astro +3 -4
  139. package/src/structures/Split.astro +38 -0
  140. package/tailwind.config.ts +4 -1
  141. package/pnpm-lock.yaml +0 -5186
  142. package/src/blocks/_Hero.astro +0 -245
  143. package/src/components/Blocks.astro +0 -26
  144. package/src/components/Sidebar.astro +0 -43
  145. package/src/content/pages/docs/blocks/feature.mdx +0 -17
  146. package/src/content/pages/docs/layouts.mdx +0 -80
  147. package/src/layouts/Block.astro +0 -81
  148. package/src/layouts/Category.astro +0 -136
  149. package/src/layouts/Doc.astro +0 -96
  150. package/src/layouts/Job.astro +0 -60
  151. package/src/layouts/Jobs.astro +0 -72
  152. package/src/layouts/Post.astro +0 -53
  153. /package/src/content/pages/{posts → _posts}/post.md +0 -0
@@ -1,36 +1,22 @@
1
1
  import { z } from 'astro:content'
2
2
  import { blockSchema } from 'fulldev-ui/schemas/block.ts'
3
- import { buttonSchema } from 'fulldev-ui/schemas/button.ts'
4
3
  import { headSchema } from 'fulldev-ui/schemas/head.ts'
5
- import { imageSchema } from 'fulldev-ui/schemas/image.ts'
6
- import { pathSchema } from 'fulldev-ui/schemas/path.ts'
4
+ import { menuSchema } from 'fulldev-ui/schemas/menu.ts'
7
5
 
8
- export const pageSchema = z
9
- .object({
6
+ export const pageSchema = blockSchema
7
+ .extend({
10
8
  _layout: z.string().optional(),
11
9
  _schema: z.string().optional(),
12
- href: z.string().optional(),
13
- draft: z.boolean().optional(),
14
10
  title: z.string().optional(),
15
11
  description: z.string().optional(),
16
- list: z.string().array().optional(),
17
- price: z.number().optional(),
18
- soldout: z.boolean().optional(),
19
- order: z.number().optional(),
20
- variants: z.record(z.string(), z.string().array()).optional(),
21
- image: imageSchema.optional(),
22
- images: imageSchema.array().optional(),
23
12
  head: headSchema.optional(),
24
- button: buttonSchema.optional(),
25
- buttons: buttonSchema.array().optional(),
26
13
  banner: blockSchema.optional(),
27
14
  navigation: blockSchema.optional(),
28
15
  header: blockSchema.optional(),
29
16
  sections: blockSchema.array().optional(),
30
17
  subheader: blockSchema.array().optional(),
31
- sidebar: blockSchema.optional(),
18
+ sidebar: menuSchema.array().optional(),
32
19
  footer: blockSchema.optional(),
33
- parents: pathSchema('pages').array().optional(),
34
20
  })
35
21
  .strict()
36
22
 
@@ -0,0 +1,12 @@
1
+ import type { ComponentProps } from 'astro/types'
2
+ import { z } from 'astro:content'
3
+ import type Proof from 'fulldev-ui/components/Proof.astro'
4
+ import { imageSchema } from 'fulldev-ui/schemas/image.ts'
5
+
6
+ export const proofSchema = z
7
+ .object({
8
+ rating: z.number().optional(),
9
+ avatars: imageSchema.array().optional(),
10
+ text: z.string().optional(),
11
+ })
12
+ .strict() satisfies z.ZodType<ComponentProps<typeof Proof>>
@@ -42,7 +42,6 @@ const render = slot?.trim().length > 0
42
42
  >
43
43
  <Fragment set:html={slot} />
44
44
  </Element>
45
-
46
45
  <label
47
46
  for={id}
48
47
  class="drawer-backdrop"
@@ -62,7 +61,7 @@ const render = slot?.trim().length > 0
62
61
  }
63
62
 
64
63
  .drawer-backdrop {
65
- @apply pointer-events-none invisible fixed left-0 top-0 z-30 h-full w-full bg-black opacity-0 transition-opacity;
64
+ @apply pointer-events-none invisible fixed left-0 top-0 z-30 h-screen w-full bg-black opacity-0 transition-opacity;
66
65
 
67
66
  &:is(.drawer-checkbox:checked ~ &) {
68
67
  @apply pointer-events-auto visible opacity-50;
@@ -70,7 +69,7 @@ const render = slot?.trim().length > 0
70
69
  }
71
70
 
72
71
  .drawer-body {
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;
72
+ @apply fixed bottom-0 left-0 top-0 z-40 h-screen 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
73
  @apply scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-full scrollbar-w-2 hover:scrollbar-thumb-accent-hover;
75
74
 
76
75
  &:is(.drawer-checkbox:checked ~ &) {
@@ -4,6 +4,7 @@ import Element from 'fulldev-ui/components/Element.astro'
4
4
 
5
5
  interface Props extends HTMLAttributes<'div'> {
6
6
  as?: HTMLTag
7
+ align?: 'center' | 'middle' | 'columns'
7
8
  }
8
9
 
9
10
  const { ...rest } = Astro.props
@@ -19,65 +20,51 @@ const { ...rest } = Astro.props
19
20
  <style is:global>
20
21
  @layer fulldev {
21
22
  .prose {
22
- @apply relative w-full max-w-screen-md;
23
+ @apply w-full max-w-screen-md;
23
24
 
24
- > * {
25
- & + * {
26
- @apply mt-6;
27
- }
25
+ &.align-middle {
26
+ @apply mx-auto max-w-screen-md items-center;
27
+ }
28
28
 
29
- &.tagline + .heading,
30
- & + p,
31
- & > p {
32
- @apply mt-4;
33
- }
29
+ &.align-center {
30
+ @apply mx-auto flex max-w-screen-md;
34
31
 
35
- & + .group,
36
- & + .button,
37
- & + .buttons {
38
- @apply mt-8;
32
+ > *:not(* > *) {
33
+ @apply text-center;
39
34
  }
40
35
  }
41
36
 
42
- code:not(.astro-code code) {
43
- @apply rounded bg-muted px-1.5 py-0.5 font-mono text-sm font-medium;
37
+ &.align-columns {
38
+ @apply max-w-none break-inside-avoid gap-x-8 lg:columns-2;
44
39
  }
45
40
 
46
- h1,
47
- h2,
48
- h3,
49
- h4,
50
- h5,
51
- h6 {
52
- @apply scroll-m-20 font-bold;
53
-
54
- code {
55
- font-size: inherit !important;
56
- }
41
+ > *,
42
+ .tagline + * {
43
+ @apply mt-4;
57
44
  }
58
45
 
59
- > h1 {
60
- @apply text-4xl;
46
+ > .group,
47
+ > .button,
48
+ > .buttons {
49
+ @apply mt-8;
61
50
  }
62
51
 
63
52
  > h2 {
64
- @apply mt-10 text-2xl;
53
+ @apply mt-10;
65
54
  }
66
55
 
67
56
  > h3 {
68
- @apply mt-8 text-xl;
57
+ @apply mt-8;
69
58
  }
70
59
 
71
- > h4 {
72
- @apply text-lg;
73
- }
74
-
75
- > h5 {
76
- @apply text-base;
60
+ > h4,
61
+ > h5,
62
+ > h6 {
63
+ @apply mt-6;
77
64
  }
78
65
 
79
- > h6 {
80
- @apply text-sm;
66
+ code:not(:is(.astro-code, h1, h2, h3, h4, h5, h6) code) {
67
+ @apply rounded bg-muted px-1.5 py-0.5 font-mono text-sm font-medium;
81
68
  }
82
69
 
83
70
  > aside {
@@ -85,10 +72,14 @@ const { ...rest } = Astro.props
85
72
  }
86
73
 
87
74
  > img,
88
- > * > img {
75
+ > p > img {
89
76
  @apply my-12 rounded-md;
90
77
  }
91
78
 
79
+ blockquote > p + p {
80
+ @apply !mt-1;
81
+ }
82
+
92
83
  > *:first-child {
93
84
  @apply mt-0;
94
85
  }
@@ -20,7 +20,7 @@ const { as = 'section', ...rest } = Astro.props
20
20
  <style is:global>
21
21
  @layer fulldev {
22
22
  .section {
23
- @apply relative w-full bg-background py-20 first:pt-20 lg:py-32;
23
+ @apply relative w-full py-20 first:pt-20 lg:py-32;
24
24
  }
25
25
  }
26
26
  </style>
@@ -18,18 +18,17 @@ const { ...rest } = Astro.props
18
18
  <style is:global>
19
19
  @layer fulldev {
20
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;
21
+ @apply sticky top-header hidden shrink-0 grow flex-col items-start gap-8 overflow-y-auto bg-background p-8 lg:flex;
22
22
  @apply scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-full scrollbar-w-2 hover:scrollbar-thumb-accent-hover;
23
23
 
24
- top: var(--header-height);
25
24
  width: var(--sidebar-width);
26
25
  max-width: var(--sidebar-width);
27
- height: calc(100vh - var(--header-height, 0px));
26
+ max-height: calc(100vh - var(--header-height, 0px));
28
27
 
29
28
  &,
30
29
  & ~ * {
31
30
  @media (min-width: 1024px) {
32
- --sidebar-width: 16rem;
31
+ --sidebar-width: 14rem;
33
32
  }
34
33
  }
35
34
  }
@@ -0,0 +1,38 @@
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
+ align?: 'start' | 'center' | 'sticky'
8
+ }
9
+
10
+ const { ...rest } = Astro.props
11
+ ---
12
+
13
+ <Element
14
+ class:list="split"
15
+ {...rest}
16
+ >
17
+ <slot />
18
+ </Element>
19
+
20
+ <style is:global>
21
+ @layer fulldev {
22
+ .split {
23
+ @apply grid gap-x-4 gap-y-16 sm:gap-x-8 lg:grid-cols-2;
24
+ }
25
+
26
+ .align-start {
27
+ @apply items-start;
28
+ }
29
+
30
+ .align-center {
31
+ @apply items-center;
32
+ }
33
+
34
+ .align-sticky {
35
+ @apply items-start lg:[&>*]:sticky lg:[&>*]:top-sticky-16;
36
+ }
37
+ }
38
+ </style>
@@ -4,7 +4,10 @@ import tailwindcssAnimate from 'tailwindcss-animate'
4
4
 
5
5
  export default {
6
6
  darkMode: ['class'],
7
- content: ['src/**/*.{ts,tsx,astro,css,mdx}'],
7
+ content: [
8
+ './src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}',
9
+ 'node_modules/fulldev-ui/src/**/*.astro',
10
+ ],
8
11
  theme: {
9
12
  container: {
10
13
  screens: ['1536px'],