fulldev-ui 0.6.0-beta.8 → 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 +38 -102
  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,68 +1,45 @@
1
1
  ---
2
- // Heading etc left, image and content right, sticky
3
- import type { ComponentProps } from 'astro/types'
4
2
  import Buttons from 'fulldev-ui/components/Buttons.astro'
5
3
  import Heading from 'fulldev-ui/components/Heading.astro'
6
4
  import Image from 'fulldev-ui/components/Image.astro'
7
5
  import Paragraph from 'fulldev-ui/components/Paragraph.astro'
8
6
  import Tagline from 'fulldev-ui/components/Tagline.astro'
7
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
9
8
  import Container from 'fulldev-ui/structures/Container.astro'
10
9
  import Group from 'fulldev-ui/structures/Group.astro'
11
10
  import Prose from 'fulldev-ui/structures/Prose.astro'
12
11
  import Section from 'fulldev-ui/structures/Section.astro'
12
+ import Split from 'fulldev-ui/structures/Split.astro'
13
13
 
14
- interface Props extends ComponentProps<typeof Section> {
15
- tagline?: string | undefined
16
- heading?: string | undefined
17
- paragraph?: string | undefined
18
- content?: string | undefined
19
- image?: ComponentProps<typeof Image> | undefined
20
- buttons?: ComponentProps<typeof Buttons>['buttons']
21
- }
14
+ interface Props extends BlockSchema {}
22
15
 
23
- const { tagline, heading, paragraph, buttons, image, content, ...rest } =
16
+ const { depth, tagline, heading, paragraph, buttons, image, content } =
24
17
  Astro.props
25
18
  ---
26
19
 
27
- <Section
28
- class:list="content-4"
29
- {...rest}
30
- >
20
+ <Section class="content-4">
31
21
  <Container>
32
- <Prose>
33
- <Tagline text={tagline} />
34
- <Heading
35
- as="h2"
36
- size="4xl"
37
- text={heading}
38
- />
39
- <Paragraph
40
- muted
41
- size="lg"
42
- text={paragraph}
43
- />
44
- <Group>
45
- <Buttons {buttons} />
46
- </Group>
47
- </Prose>
48
- <Prose>
49
- <Image {...image} />
50
- <Fragment set:html={content} />
51
- <slot />
52
- </Prose>
22
+ <Split align="sticky">
23
+ <Prose>
24
+ <Tagline text={tagline} />
25
+ <Heading
26
+ text={heading}
27
+ {depth}
28
+ />
29
+ <Paragraph
30
+ muted
31
+ size="lg"
32
+ text={paragraph}
33
+ />
34
+ <Group>
35
+ <Buttons {buttons} />
36
+ </Group>
37
+ </Prose>
38
+ <Prose>
39
+ <Image {...image} />
40
+ <Fragment set:html={content} />
41
+ <slot />
42
+ </Prose>
43
+ </Split>
53
44
  </Container>
54
45
  </Section>
55
-
56
- <style is:global>
57
- @layer fulldev {
58
- .content-4 {
59
- .container {
60
- @apply flex flex-col items-start gap-x-gutter lg:grid lg:grid-cols-2;
61
- }
62
-
63
- .prose {
64
- @apply lg:sticky lg:top-sticky-16 lg:max-w-xl;
65
- }
66
- }
67
- }
68
- </style>
@@ -1,40 +1,28 @@
1
1
  ---
2
- // Content in 2 columns
3
- import type { ComponentProps } from 'astro/types'
4
2
  import Buttons from 'fulldev-ui/components/Buttons.astro'
5
3
  import Heading from 'fulldev-ui/components/Heading.astro'
6
4
  import Image from 'fulldev-ui/components/Image.astro'
7
5
  import Paragraph from 'fulldev-ui/components/Paragraph.astro'
8
6
  import Tagline from 'fulldev-ui/components/Tagline.astro'
7
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
9
8
  import Container from 'fulldev-ui/structures/Container.astro'
10
9
  import Group from 'fulldev-ui/structures/Group.astro'
11
10
  import Prose from 'fulldev-ui/structures/Prose.astro'
12
11
  import Section from 'fulldev-ui/structures/Section.astro'
13
12
 
14
- interface Props extends ComponentProps<typeof Section> {
15
- tagline?: string | undefined
16
- heading?: string | undefined
17
- paragraph?: string | undefined
18
- content?: string | undefined
19
- image?: ComponentProps<typeof Image> | undefined
20
- buttons?: ComponentProps<typeof Buttons>['buttons']
21
- }
13
+ interface Props extends BlockSchema {}
22
14
 
23
- const { tagline, heading, paragraph, buttons, image, content, ...rest } =
15
+ const { depth, tagline, heading, paragraph, buttons, image, content } =
24
16
  Astro.props
25
17
  ---
26
18
 
27
- <Section
28
- class:list="content-5"
29
- {...rest}
30
- >
31
- <Container>
19
+ <Section class="content-5">
20
+ <Container class="flex flex-col items-start gap-8">
32
21
  <Prose>
33
22
  <Tagline text={tagline} />
34
23
  <Heading
35
- as="h2"
36
- size="5xl"
37
24
  text={heading}
25
+ {depth}
38
26
  />
39
27
  <Paragraph
40
28
  muted
@@ -42,7 +30,7 @@ const { tagline, heading, paragraph, buttons, image, content, ...rest } =
42
30
  text={paragraph}
43
31
  />
44
32
  </Prose>
45
- <Prose class:list="content-5-main">
33
+ <Prose align="columns">
46
34
  <Fragment set:html={content} />
47
35
  <slot />
48
36
  </Prose>
@@ -52,21 +40,3 @@ const { tagline, heading, paragraph, buttons, image, content, ...rest } =
52
40
  <Image {...image} />
53
41
  </Container>
54
42
  </Section>
55
-
56
- <style is:global>
57
- @layer fulldev {
58
- .content-5 {
59
- .container {
60
- @apply flex flex-col items-start gap-8;
61
- }
62
-
63
- .content-5-main {
64
- @apply max-w-none break-inside-avoid gap-x-gutter lg:columns-2;
65
- }
66
-
67
- .image {
68
- @apply rounded-md;
69
- }
70
- }
71
- }
72
- </style>
@@ -0,0 +1,56 @@
1
+ ---
2
+ import Buttons from 'fulldev-ui/components/Buttons.astro'
3
+ import Heading from 'fulldev-ui/components/Heading.astro'
4
+ import Image from 'fulldev-ui/components/Image.astro'
5
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
6
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
7
+ import Toc from 'fulldev-ui/components/Toc.astro'
8
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
9
+ import Container from 'fulldev-ui/structures/Container.astro'
10
+ import Group from 'fulldev-ui/structures/Group.astro'
11
+ import Prose from 'fulldev-ui/structures/Prose.astro'
12
+ import Sidebar from 'fulldev-ui/structures/Sidebar.astro'
13
+
14
+ interface Props extends BlockSchema {}
15
+
16
+ const {
17
+ depth,
18
+ tagline,
19
+ heading,
20
+ paragraph,
21
+ buttons,
22
+ image,
23
+ content,
24
+ headings,
25
+ } = Astro.props
26
+ ---
27
+
28
+ <Container class="content-6 flex items-start justify-between px-0">
29
+ <Container class="lg:!max-w-[calc(100%-var(--sidebar-width))]">
30
+ <Prose class="mx-auto py-8">
31
+ <Tagline text={tagline} />
32
+ <Heading
33
+ text={heading}
34
+ {depth}
35
+ />
36
+ <Paragraph
37
+ muted
38
+ size="lg"
39
+ text={paragraph}
40
+ />
41
+ <Image {...image} />
42
+ <Fragment set:html={content} />
43
+ <slot />
44
+ <Group>
45
+ <Buttons {buttons} />
46
+ </Group>
47
+ </Prose>
48
+ </Container>
49
+ <Sidebar>
50
+ <Toc
51
+ size="sm"
52
+ {heading}
53
+ {headings}
54
+ />
55
+ </Sidebar>
56
+ </Container>
@@ -0,0 +1,64 @@
1
+ ---
2
+ import Buttons from 'fulldev-ui/components/Buttons.astro'
3
+ import Heading from 'fulldev-ui/components/Heading.astro'
4
+ import Image from 'fulldev-ui/components/Image.astro'
5
+ import Menus from 'fulldev-ui/components/Menus.astro'
6
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
7
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
8
+ import Toc from 'fulldev-ui/components/Toc.astro'
9
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
10
+ import Container from 'fulldev-ui/structures/Container.astro'
11
+ import Group from 'fulldev-ui/structures/Group.astro'
12
+ import Prose from 'fulldev-ui/structures/Prose.astro'
13
+ import Sidebar from 'fulldev-ui/structures/Sidebar.astro'
14
+
15
+ interface Props extends BlockSchema {}
16
+
17
+ const {
18
+ depth,
19
+ tagline,
20
+ heading,
21
+ paragraph,
22
+ buttons,
23
+ image,
24
+ content,
25
+ menus,
26
+ headings,
27
+ } = Astro.props
28
+ ---
29
+
30
+ <Container class="content-7 flex items-start justify-between px-0">
31
+ <Sidebar>
32
+ <Menus
33
+ size="sm"
34
+ {menus}
35
+ />
36
+ </Sidebar>
37
+ <Container class="lg:!max-w-[calc(100%-(2*var(--sidebar-width)))]">
38
+ <Prose class="mx-auto py-8">
39
+ <Tagline text={tagline} />
40
+ <Heading
41
+ text={heading}
42
+ {depth}
43
+ />
44
+ <Paragraph
45
+ muted
46
+ size="lg"
47
+ text={paragraph}
48
+ />
49
+ <Image {...image} />
50
+ <Fragment set:html={content} />
51
+ <slot />
52
+ <Group>
53
+ <Buttons {buttons} />
54
+ </Group>
55
+ </Prose>
56
+ </Container>
57
+ <Sidebar>
58
+ <Toc
59
+ size="sm"
60
+ {heading}
61
+ {headings}
62
+ />
63
+ </Sidebar>
64
+ </Container>
@@ -0,0 +1,47 @@
1
+ ---
2
+ import Buttons from 'fulldev-ui/components/Buttons.astro'
3
+ import Heading from 'fulldev-ui/components/Heading.astro'
4
+ import Image from 'fulldev-ui/components/Image.astro'
5
+ import Menus from 'fulldev-ui/components/Menus.astro'
6
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
7
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
8
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
9
+ import Container from 'fulldev-ui/structures/Container.astro'
10
+ import Group from 'fulldev-ui/structures/Group.astro'
11
+ import Prose from 'fulldev-ui/structures/Prose.astro'
12
+ import Sidebar from 'fulldev-ui/structures/Sidebar.astro'
13
+
14
+ interface Props extends BlockSchema {}
15
+
16
+ const { depth, tagline, heading, paragraph, buttons, image, content, menus } =
17
+ Astro.props
18
+ ---
19
+
20
+ <Container class="content-8 flex items-start justify-between px-0">
21
+ <Sidebar>
22
+ <Menus
23
+ size="sm"
24
+ {menus}
25
+ />
26
+ </Sidebar>
27
+ <Container class="lg:!max-w-[calc(100%-var(--sidebar-width))]">
28
+ <Prose class="max-w-none py-8">
29
+ <Tagline text={tagline} />
30
+ <Heading
31
+ text={heading}
32
+ {depth}
33
+ />
34
+ <Paragraph
35
+ muted
36
+ size="lg"
37
+ text={paragraph}
38
+ />
39
+ <Image {...image} />
40
+ <Fragment set:html={content} />
41
+ <slot />
42
+ <Group>
43
+ <Buttons {buttons} />
44
+ </Group>
45
+ </Prose>
46
+ </Container>
47
+ </Container>
@@ -1,5 +1,4 @@
1
1
  ---
2
- import type { ComponentProps } from 'astro/types'
3
2
  import Buttons from 'fulldev-ui/components/Buttons.astro'
4
3
  import Heading from 'fulldev-ui/components/Heading.astro'
5
4
  import Image from 'fulldev-ui/components/Image.astro'
@@ -12,9 +11,10 @@ import Panel from 'fulldev-ui/structures/Panel.astro'
12
11
  import Section from 'fulldev-ui/structures/Section.astro'
13
12
  import Writeup from 'fulldev-ui/structures/Writeup.astro'
14
13
 
15
- interface Props extends ComponentProps<typeof Section>, BlockSchema {}
14
+ interface Props extends BlockSchema {}
16
15
 
17
16
  const {
17
+ depth = 2,
18
18
  tagline,
19
19
  heading,
20
20
  paragraph,
@@ -22,25 +22,22 @@ const {
22
22
  button,
23
23
  buttons,
24
24
  image,
25
- ...rest
26
25
  } = Astro.props
27
26
  ---
28
27
 
29
- <Section
30
- class:list="cta-1"
31
- {...rest}
32
- >
28
+ <Section class:list="cta-1">
33
29
  <Container>
34
30
  <Panel>
35
31
  <Writeup align="center">
36
32
  <Tagline text={tagline} />
37
33
  <Heading
38
- size="4xl"
34
+ size="5xl"
39
35
  as="h2"
40
36
  text={heading}
37
+ {depth}
41
38
  />
42
39
  <Paragraph
43
- size="lg"
40
+ size="xl"
44
41
  text={paragraph}
45
42
  />
46
43
  <Fragment set:html={content} />
@@ -0,0 +1,52 @@
1
+ ---
2
+ import Buttons from 'fulldev-ui/components/Buttons.astro'
3
+ import Heading from 'fulldev-ui/components/Heading.astro'
4
+ import Image from 'fulldev-ui/components/Image.astro'
5
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
6
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
7
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
8
+ import Container from 'fulldev-ui/structures/Container.astro'
9
+ import Group from 'fulldev-ui/structures/Group.astro'
10
+ import Panel from 'fulldev-ui/structures/Panel.astro'
11
+ import Prose from 'fulldev-ui/structures/Prose.astro'
12
+ import Section from 'fulldev-ui/structures/Section.astro'
13
+ import Split from 'fulldev-ui/structures/Split.astro'
14
+
15
+ interface Props extends BlockSchema {}
16
+
17
+ const { depth, tagline, heading, paragraph, buttons, image, content, ...rest } =
18
+ Astro.props
19
+ ---
20
+
21
+ <Section
22
+ class="cta-2"
23
+ {...rest}
24
+ >
25
+ <Container>
26
+ <Panel class="p-0">
27
+ <Split class="items-center">
28
+ <Prose class="px-4 sm:px-8 lg:px-16">
29
+ <Tagline text={tagline} />
30
+ <Heading
31
+ size="4xl"
32
+ text={heading}
33
+ {depth}
34
+ />
35
+ <Paragraph
36
+ size="lg"
37
+ text={paragraph}
38
+ />
39
+ <Fragment set:html={content} />
40
+ <slot />
41
+ <Group>
42
+ <Buttons
43
+ size="lg"
44
+ {buttons}
45
+ />
46
+ </Group>
47
+ </Prose>
48
+ <Image {...image} />
49
+ </Split>
50
+ </Panel>
51
+ </Container>
52
+ </Section>
@@ -1,5 +1,4 @@
1
1
  ---
2
- import type { ComponentProps } from 'astro/types'
3
2
  import Heading from 'fulldev-ui/components/Heading.astro'
4
3
  import Icon from 'fulldev-ui/components/Icon.astro'
5
4
  import Paragraph from 'fulldev-ui/components/Paragraph.astro'
@@ -10,9 +9,9 @@ import Section from 'fulldev-ui/structures/Section.astro'
10
9
  import Stack from 'fulldev-ui/structures/Stack.astro'
11
10
  import Writeup from 'fulldev-ui/structures/Writeup.astro'
12
11
 
13
- interface Props extends ComponentProps<typeof Section>, BlockSchema {}
12
+ interface Props extends BlockSchema {}
14
13
 
15
- const { tagline, heading, paragraph, cards, ...rest } = Astro.props
14
+ const { depth = 2, tagline, heading, paragraph, cards, ...rest } = Astro.props
16
15
  ---
17
16
 
18
17
  <Section
@@ -26,8 +25,9 @@ const { tagline, heading, paragraph, cards, ...rest } = Astro.props
26
25
  text={tagline}
27
26
  />
28
27
  <Heading
29
- size="3xl"
28
+ size="4xl"
30
29
  text={heading}
30
+ {depth}
31
31
  />
32
32
  <Paragraph
33
33
  size="lg"
@@ -43,6 +43,7 @@ const { tagline, heading, paragraph, cards, ...rest } = Astro.props
43
43
  name={icon}
44
44
  />
45
45
  <Heading
46
+ depth={(depth + 1) as 3}
46
47
  as="h3"
47
48
  size="xl"
48
49
  text={heading}
@@ -0,0 +1,70 @@
1
+ ---
2
+ import Heading from 'fulldev-ui/components/Heading.astro'
3
+ import Icon from 'fulldev-ui/components/Icon.astro'
4
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
5
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
6
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
7
+ import Container from 'fulldev-ui/structures/Container.astro'
8
+ import Matrix from 'fulldev-ui/structures/Matrix.astro'
9
+ import Section from 'fulldev-ui/structures/Section.astro'
10
+ import Writeup from 'fulldev-ui/structures/Writeup.astro'
11
+
12
+ interface Props extends BlockSchema {}
13
+
14
+ const { depth = 2, tagline, heading, paragraph, cards, ...rest } = Astro.props
15
+ ---
16
+
17
+ <Section
18
+ class:list="features-2"
19
+ {...rest}
20
+ >
21
+ <Container>
22
+ <Writeup>
23
+ <Tagline
24
+ size="sm"
25
+ text={tagline}
26
+ />
27
+ <Heading
28
+ size="4xl"
29
+ text={heading}
30
+ {depth}
31
+ />
32
+ <Paragraph
33
+ size="lg"
34
+ text={paragraph}
35
+ />
36
+ </Writeup>
37
+ <Matrix size="sm">
38
+ {
39
+ cards?.map(({ icon, heading, paragraph }) => (
40
+ <Writeup>
41
+ <Icon
42
+ size="md"
43
+ name={icon}
44
+ />
45
+ <Heading
46
+ depth={(depth + 1) as 3}
47
+ as="h3"
48
+ text={heading}
49
+ />
50
+ <Paragraph text={paragraph} />
51
+ </Writeup>
52
+ ))
53
+ }
54
+ </Matrix>
55
+ </Container>
56
+ </Section>
57
+
58
+ <style is:global>
59
+ @layer fulldev {
60
+ .features-2 {
61
+ .container {
62
+ @apply flex flex-col gap-12;
63
+ }
64
+
65
+ .icon {
66
+ @apply text-primary;
67
+ }
68
+ }
69
+ }
70
+ </style>
@@ -1,5 +1,4 @@
1
1
  ---
2
- import type { HTMLAttributes, HTMLTag } from 'astro/types'
3
2
  import Channels from 'fulldev-ui/components/Channels.astro'
4
3
  import Element from 'fulldev-ui/components/Element.astro'
5
4
  import Logo from 'fulldev-ui/components/Logo.astro'
@@ -11,12 +10,9 @@ import Container from 'fulldev-ui/structures/Container.astro'
11
10
  import Group from 'fulldev-ui/structures/Group.astro'
12
11
  import Writeup from 'fulldev-ui/structures/Writeup.astro'
13
12
 
14
- interface Props extends HTMLAttributes<'footer'>, BlockSchema {
15
- as?: HTMLTag
16
- }
13
+ interface Props extends BlockSchema {}
17
14
 
18
15
  const {
19
- as = 'footer',
20
16
  logo,
21
17
  heading,
22
18
  paragraph,
@@ -31,7 +27,7 @@ const {
31
27
 
32
28
  <Element
33
29
  class:list="footer"
34
- {as}
30
+ as="footer"
35
31
  {...rest}
36
32
  >
37
33
  <Container class:list="footer-container">
@@ -1,7 +1,6 @@
1
1
  ---
2
- import type { HTMLAttributes } from 'astro/types'
3
2
  // import Button from 'fulldev-ui/components/Button.astro'
4
- import Buttons from 'fulldev-ui/components/Buttons.astro'
3
+ import Button from 'fulldev-ui/components/Button.astro'
5
4
  // import Cart from 'fulldev-ui/components/Cart.astro'
6
5
  import Element from 'fulldev-ui/components/Element.astro'
7
6
  import Links from 'fulldev-ui/components/Links.astro'
@@ -14,25 +13,14 @@ import type { BlockSchema } from 'fulldev-ui/schemas/block'
14
13
  import Container from 'fulldev-ui/structures/Container.astro'
15
14
  import Drawer from 'fulldev-ui/structures/Drawer.astro'
16
15
 
17
- interface Props extends HTMLAttributes<'header'>, BlockSchema {}
16
+ interface Props extends BlockSchema {}
18
17
 
19
- const {
20
- logo,
21
- heading,
22
- links,
23
- socials,
24
- menus,
25
- search,
26
- themer,
27
- buttons,
28
- cart,
29
- ...rest
30
- } = Astro.props
18
+ const { logo, links, menus, socials, search, themer, button } = Astro.props
31
19
  ---
32
20
 
33
21
  <Element
34
22
  class:list="header"
35
- {...rest}
23
+ as="header"
36
24
  >
37
25
  <Container>
38
26
  <Element class:list="header-start">
@@ -53,7 +41,6 @@ const {
53
41
  />
54
42
  )
55
43
  }
56
-
57
44
  <!-- {
58
45
  cart && (
59
46
  <Cart
@@ -76,11 +63,10 @@ const {
76
63
  {socials}
77
64
  />
78
65
 
79
- <Buttons
66
+ <Button
80
67
  size="sm"
81
- {buttons}
68
+ {...button}
82
69
  />
83
-
84
70
  <!-- <Button
85
71
  class:list="menu-button"
86
72
  as="label"
@@ -95,10 +81,7 @@ const {
95
81
  size="sm"
96
82
  >
97
83
  <Container>
98
- <Menus
99
- menu={{ links }}
100
- {menus}
101
- />
84
+ <Menus {menus} />
102
85
  </Container>
103
86
  </Drawer>
104
87
  </Element>
@@ -108,7 +91,7 @@ const {
108
91
  <style is:global>
109
92
  @layer fulldev {
110
93
  .header {
111
- @apply sticky left-0 top-0 z-20 flex h-14 w-full items-center overflow-hidden border-b bg-background;
94
+ @apply sticky left-0 top-0 z-20 flex h-14 w-full items-center border-b bg-background;
112
95
  height: var(--header-height);
113
96
 
114
97
  &,