fulldev-ui 0.6.0-beta.9 → 0.6.1

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 (162) 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/Contact1.astro +42 -42
  9. package/src/blocks/Contact2.astro +98 -0
  10. package/src/blocks/Content1.astro +6 -27
  11. package/src/blocks/Content2.astro +26 -49
  12. package/src/blocks/Content3.astro +26 -54
  13. package/src/blocks/Content4.astro +34 -50
  14. package/src/blocks/Content5.astro +7 -36
  15. package/src/blocks/Content6.astro +57 -0
  16. package/src/blocks/Content7.astro +65 -0
  17. package/src/blocks/Content8.astro +48 -0
  18. package/src/blocks/Cta1.astro +9 -12
  19. package/src/blocks/Cta2.astro +52 -0
  20. package/src/blocks/Features1.astro +8 -6
  21. package/src/blocks/Features2.astro +71 -0
  22. package/src/blocks/Footer.astro +2 -6
  23. package/src/blocks/Header.astro +9 -25
  24. package/src/blocks/Hero1.astro +19 -27
  25. package/src/blocks/Intro1.astro +6 -7
  26. package/src/blocks/{Industries1.astro → JobCategories1.astro} +13 -38
  27. package/src/blocks/JobCategory1.astro +92 -0
  28. package/src/blocks/Jobs1.astro +7 -10
  29. package/src/blocks/Logos1.astro +4 -4
  30. package/src/blocks/Pages1.astro +85 -0
  31. package/src/blocks/Pricings1.astro +61 -0
  32. package/src/blocks/Products1.astro +7 -10
  33. package/src/blocks/Projects1.astro +59 -83
  34. package/src/blocks/Reviews1.astro +10 -10
  35. package/src/blocks/Subheader.astro +4 -9
  36. package/src/components/Avatar.astro +40 -0
  37. package/src/components/Avatars.astro +20 -0
  38. package/src/components/Badge.astro +6 -35
  39. package/src/components/Block.astro +20 -4
  40. package/src/components/Channel.astro +4 -0
  41. package/src/components/Chip.astro +73 -0
  42. package/src/components/Element.astro +1 -0
  43. package/src/components/Field.astro +33 -0
  44. package/src/components/Fields.astro +20 -0
  45. package/src/components/Heading.astro +12 -5
  46. package/src/components/Image.astro +1 -1
  47. package/src/components/Link.astro +1 -1
  48. package/src/components/Menu.astro +9 -5
  49. package/src/components/Proof.astro +52 -0
  50. package/src/components/Select.astro +1 -1
  51. package/src/components/Tagline.astro +6 -6
  52. package/src/components/Toc.astro +33 -31
  53. package/src/content/config.ts +5 -0
  54. package/src/content/layouts/base.yml +135 -142
  55. package/src/content/pages/{base → _base}/toggle.mdx +1 -1
  56. package/src/content/pages/_showcase/stark-vulcanising-products.md +0 -1
  57. package/src/content/pages/docs/blocks/_categories.mdx +1 -17
  58. package/src/content/pages/docs/blocks/banner.mdx +1 -1
  59. package/src/content/pages/docs/blocks/colleagues.mdx +1 -1
  60. package/src/content/pages/docs/blocks/content.mdx +162 -1
  61. package/src/content/pages/docs/blocks/cta.mdx +1 -1
  62. package/src/content/pages/docs/blocks/features.mdx +66 -1
  63. package/src/content/pages/docs/blocks/footer.mdx +1 -1
  64. package/src/content/pages/docs/blocks/header.mdx +1 -1
  65. package/src/content/pages/docs/blocks/hero.mdx +1 -1
  66. package/src/content/pages/docs/blocks/intro.mdx +1 -1
  67. package/src/content/pages/docs/blocks/logos.mdx +1 -1
  68. package/src/content/pages/docs/blocks/projects.mdx +1 -1
  69. package/src/content/pages/docs/blocks/reviews.mdx +1 -1
  70. package/src/content/pages/docs/blocks.mdx +1 -7
  71. package/src/content/pages/docs/collections/images.mdx +1 -1
  72. package/src/content/pages/docs/collections/pages.mdx +1 -1
  73. package/src/content/pages/docs/collections/presets.mdx +1 -1
  74. package/src/content/pages/docs/components/_localeswitcher.mdx +1 -1
  75. package/src/content/pages/docs/components/_table.mdx +1 -1
  76. package/src/content/pages/docs/components/_tagline.mdx +1 -1
  77. package/src/content/pages/docs/components/_themer.mdx +1 -1
  78. package/src/content/pages/docs/components/_toggle.mdx +1 -1
  79. package/src/content/pages/docs/components/avatar.mdx +32 -0
  80. package/src/content/pages/docs/components/badge.mdx +1 -34
  81. package/src/content/pages/docs/components/badges.mdx +1 -13
  82. package/src/content/pages/docs/components/button.mdx +1 -1
  83. package/src/content/pages/docs/components/buttons.mdx +1 -1
  84. package/src/content/pages/docs/components/channel.mdx +1 -1
  85. package/src/content/pages/docs/components/channels.mdx +1 -1
  86. package/src/content/pages/docs/components/checkbox.mdx +1 -1
  87. package/src/content/pages/docs/components/chip.mdx +75 -0
  88. package/src/content/pages/docs/components/heading.mdx +1 -1
  89. package/src/content/pages/docs/components/icon.mdx +1 -1
  90. package/src/content/pages/docs/components/image.mdx +2 -1
  91. package/src/content/pages/docs/components/input.mdx +1 -1
  92. package/src/content/pages/docs/components/label.mdx +1 -1
  93. package/src/content/pages/docs/components/link.mdx +1 -1
  94. package/src/content/pages/docs/components/links.mdx +11 -52
  95. package/src/content/pages/docs/components/list.mdx +1 -1
  96. package/src/content/pages/docs/components/logo.mdx +1 -1
  97. package/src/content/pages/docs/components/menu.mdx +5 -18
  98. package/src/content/pages/docs/components/paragraph.mdx +1 -1
  99. package/src/content/pages/docs/components/rating.mdx +1 -1
  100. package/src/content/pages/docs/components/select.mdx +1 -1
  101. package/src/content/pages/docs/components/social.mdx +1 -1
  102. package/src/content/pages/docs/components/socials.mdx +1 -1
  103. package/src/content/pages/docs/components/switch.mdx +1 -1
  104. package/src/content/pages/docs/components/tagline.mdx +1 -1
  105. package/src/content/pages/docs/components/textarea.mdx +1 -1
  106. package/src/content/pages/docs/components.mdx +1 -1
  107. package/src/content/pages/docs/customization.mdx +1 -1
  108. package/src/content/pages/docs/frameworks.mdx +1 -1
  109. package/src/content/pages/docs/index.mdx +1 -1
  110. package/src/content/pages/docs/installation.mdx +1 -24
  111. package/src/content/pages/docs/layouts/doc.mdx +1 -1
  112. package/src/content/pages/docs/layouts/page.mdx +1 -1
  113. package/src/content/pages/docs/pages.mdx +1 -1
  114. package/src/content/pages/docs/structures/_card.mdx +1 -1
  115. package/src/content/pages/docs/structures/_dialog.mdx +1 -1
  116. package/src/content/pages/docs/structures/_drawer.mdx +1 -1
  117. package/src/content/pages/docs/structures/card.mdx +1 -1
  118. package/src/content/pages/docs/structures/code.mdx +1 -1
  119. package/src/content/pages/docs/structures/container.mdx +1 -1
  120. package/src/content/pages/docs/structures/drawer.mdx +1 -1
  121. package/src/content/pages/docs/structures/group.mdx +1 -1
  122. package/src/content/pages/docs/structures/layout.mdx +1 -1
  123. package/src/content/pages/docs/structures/masonry.mdx +1 -1
  124. package/src/content/pages/docs/structures/matrix.mdx +1 -1
  125. package/src/content/pages/docs/structures/panel.mdx +1 -1
  126. package/src/content/pages/docs/structures/prose.mdx +1 -1
  127. package/src/content/pages/docs/structures/section.mdx +1 -1
  128. package/src/content/pages/docs/structures/stack.mdx +1 -1
  129. package/src/content/pages/docs/structures/writeup.mdx +1 -1
  130. package/src/content/pages/docs/structures.mdx +1 -1
  131. package/src/content/pages/index.mdx +20 -25
  132. package/src/css/custom.css +4 -0
  133. package/src/integration/index.ts +1 -0
  134. package/src/layouts/Page.astro +45 -10
  135. package/src/layouts/{Product.astro → _Product.astro} +6 -6
  136. package/src/pages/test.astro +16 -0
  137. package/src/schemas/block.ts +22 -41
  138. package/src/schemas/button.ts +2 -0
  139. package/src/schemas/card.ts +43 -0
  140. package/src/schemas/channel.ts +1 -0
  141. package/src/schemas/{badge.ts → chip.ts} +3 -3
  142. package/src/schemas/page.ts +4 -18
  143. package/src/schemas/proof.ts +12 -0
  144. package/src/structures/Drawer.astro +2 -3
  145. package/src/structures/Prose.astro +40 -41
  146. package/src/structures/Section.astro +1 -1
  147. package/src/structures/Sidebar.astro +3 -4
  148. package/src/structures/Split.astro +38 -0
  149. package/tailwind.config.ts +4 -1
  150. package/pnpm-lock.yaml +0 -5186
  151. package/src/blocks/_Hero.astro +0 -245
  152. package/src/components/Blocks.astro +0 -26
  153. package/src/components/Sidebar.astro +0 -43
  154. package/src/content/pages/docs/blocks/feature.mdx +0 -17
  155. package/src/content/pages/docs/layouts.mdx +0 -80
  156. package/src/layouts/Block.astro +0 -81
  157. package/src/layouts/Category.astro +0 -136
  158. package/src/layouts/Doc.astro +0 -96
  159. package/src/layouts/Job.astro +0 -60
  160. package/src/layouts/Jobs.astro +0 -72
  161. package/src/layouts/Post.astro +0 -53
  162. /package/src/content/pages/{posts → _posts}/post.md +0 -0
@@ -1,70 +1,47 @@
1
1
  ---
2
- // Content left, image right, centered
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, ...rest } =
24
17
  Astro.props
25
18
  ---
26
19
 
27
20
  <Section
28
- class:list="content-2"
21
+ class="content-2"
29
22
  {...rest}
30
23
  >
31
24
  <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
- <Fragment set:html={content} />
45
- <slot />
46
- <Group>
47
- <Buttons {buttons} />
48
- </Group>
49
- </Prose>
50
- <Image {...image} />
25
+ <Split align="center">
26
+ <Prose>
27
+ <Tagline text={tagline} />
28
+ <Heading
29
+ size="4xl"
30
+ text={heading}
31
+ {depth}
32
+ />
33
+ <Paragraph
34
+ muted
35
+ size="lg"
36
+ text={paragraph}
37
+ />
38
+ <Fragment set:html={content} />
39
+ <slot />
40
+ <Group>
41
+ <Buttons {buttons} />
42
+ </Group>
43
+ </Prose>
44
+ <Image {...image} />
45
+ </Split>
51
46
  </Container>
52
47
  </Section>
53
-
54
- <style is:global>
55
- @layer fulldev {
56
- .content-2 {
57
- .container {
58
- @apply grid items-center gap-x-gutter gap-y-16 lg:grid-cols-2;
59
- }
60
-
61
- .prose {
62
- @apply max-w-screen-sm;
63
- }
64
-
65
- .image {
66
- @apply rounded-md;
67
- }
68
- }
69
- }
70
- </style>
@@ -1,75 +1,47 @@
1
1
  ---
2
- // Content left, image 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, ...rest } =
24
17
  Astro.props
25
18
  ---
26
19
 
27
20
  <Section
28
- class:list="content-3"
21
+ class="content-3"
29
22
  {...rest}
30
23
  >
31
24
  <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
- <Fragment set:html={content} />
45
- <slot />
46
- <Group>
47
- <Buttons {buttons} />
48
- </Group>
49
- </Prose>
50
- <Image {...image} />
25
+ <Split align="sticky">
26
+ <Prose>
27
+ <Tagline text={tagline} />
28
+ <Heading
29
+ size="4xl"
30
+ text={heading}
31
+ {depth}
32
+ />
33
+ <Paragraph
34
+ muted
35
+ size="lg"
36
+ text={paragraph}
37
+ />
38
+ <Fragment set:html={content} />
39
+ <slot />
40
+ <Group>
41
+ <Buttons {buttons} />
42
+ </Group>
43
+ </Prose>
44
+ <Image {...image} />
45
+ </Split>
51
46
  </Container>
52
47
  </Section>
53
-
54
- <style is:global>
55
- @layer fulldev {
56
- .content-3 {
57
- .container {
58
- @apply grid items-start gap-x-gutter gap-y-16 lg:grid-cols-2;
59
- }
60
-
61
- .prose,
62
- .image {
63
- @apply lg:sticky lg:top-sticky-16;
64
- }
65
-
66
- .prose {
67
- @apply max-w-screen-sm;
68
- }
69
-
70
- .image {
71
- @apply rounded-md;
72
- }
73
- }
74
- }
75
- </style>
@@ -1,68 +1,52 @@
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'
5
+ import List from 'fulldev-ui/components/List.astro'
7
6
  import Paragraph from 'fulldev-ui/components/Paragraph.astro'
8
7
  import Tagline from 'fulldev-ui/components/Tagline.astro'
8
+ import type { BlockSchema } from 'fulldev-ui/schemas/block'
9
9
  import Container from 'fulldev-ui/structures/Container.astro'
10
10
  import Group from 'fulldev-ui/structures/Group.astro'
11
11
  import Prose from 'fulldev-ui/structures/Prose.astro'
12
12
  import Section from 'fulldev-ui/structures/Section.astro'
13
+ import Split from 'fulldev-ui/structures/Split.astro'
13
14
 
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
- }
15
+ interface Props extends BlockSchema {}
22
16
 
23
- const { tagline, heading, paragraph, buttons, image, content, ...rest } =
17
+ const { depth, tagline, heading, paragraph, buttons, image, content, list } =
24
18
  Astro.props
25
19
  ---
26
20
 
27
- <Section
28
- class:list="content-4"
29
- {...rest}
30
- >
21
+ <Section class="content-4">
31
22
  <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>
23
+ <Split align="sticky">
24
+ <Prose class="lg:max-w-xl">
25
+ <Tagline text={tagline} />
26
+ <Heading
27
+ size="4xl"
28
+ text={heading}
29
+ {depth}
30
+ />
31
+ <Paragraph
32
+ muted
33
+ size="lg"
34
+ text={paragraph}
35
+ />
36
+ <List items={list} />
37
+ <Group>
38
+ <Buttons {buttons} />
39
+ </Group>
40
+ </Prose>
41
+ <Prose>
42
+ <Image {...image} />
43
+ <Fragment set:html={content} />
44
+ <slot />
45
+ <Buttons
46
+ class="lg:hidden"
47
+ {buttons}
48
+ />
49
+ </Prose>
50
+ </Split>
53
51
  </Container>
54
52
  </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,29 @@
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
24
  size="5xl"
37
25
  text={heading}
26
+ {depth}
38
27
  />
39
28
  <Paragraph
40
29
  muted
@@ -42,7 +31,7 @@ const { tagline, heading, paragraph, buttons, image, content, ...rest } =
42
31
  text={paragraph}
43
32
  />
44
33
  </Prose>
45
- <Prose class:list="content-5-main">
34
+ <Prose align="columns">
46
35
  <Fragment set:html={content} />
47
36
  <slot />
48
37
  </Prose>
@@ -52,21 +41,3 @@ const { tagline, heading, paragraph, buttons, image, content, ...rest } =
52
41
  <Image {...image} />
53
42
  </Container>
54
43
  </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,57 @@
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
+ size="5xl"
34
+ text={heading}
35
+ {depth}
36
+ />
37
+ <Paragraph
38
+ size="lg"
39
+ text={paragraph}
40
+ muted
41
+ />
42
+ <Image {...image} />
43
+ <Fragment set:html={content} />
44
+ <slot />
45
+ <Group>
46
+ <Buttons {buttons} />
47
+ </Group>
48
+ </Prose>
49
+ </Container>
50
+ <Sidebar>
51
+ <Toc
52
+ size="sm"
53
+ {heading}
54
+ {headings}
55
+ />
56
+ </Sidebar>
57
+ </Container>
@@ -0,0 +1,65 @@
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
+ size="4xl"
42
+ text={heading}
43
+ {depth}
44
+ />
45
+ <Paragraph
46
+ muted
47
+ size="lg"
48
+ text={paragraph}
49
+ />
50
+ <Image {...image} />
51
+ <Fragment set:html={content} />
52
+ <slot />
53
+ <Group>
54
+ <Buttons {buttons} />
55
+ </Group>
56
+ </Prose>
57
+ </Container>
58
+ <Sidebar>
59
+ <Toc
60
+ size="sm"
61
+ {heading}
62
+ {headings}
63
+ />
64
+ </Sidebar>
65
+ </Container>
@@ -0,0 +1,48 @@
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
+ size="4xl"
32
+ text={heading}
33
+ {depth}
34
+ />
35
+ <Paragraph
36
+ muted
37
+ size="lg"
38
+ text={paragraph}
39
+ />
40
+ <Image {...image} />
41
+ <Fragment set:html={content} />
42
+ <slot />
43
+ <Group>
44
+ <Buttons {buttons} />
45
+ </Group>
46
+ </Prose>
47
+ </Container>
48
+ </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'
@@ -9,12 +8,13 @@ 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 Panel from 'fulldev-ui/structures/Panel.astro'
11
+ import Prose from 'fulldev-ui/structures/Prose.astro'
12
12
  import Section from 'fulldev-ui/structures/Section.astro'
13
- 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
- <Writeup align="center">
31
+ <Prose 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} />
@@ -52,7 +49,7 @@ const {
52
49
  {buttons}
53
50
  />
54
51
  </Group>
55
- </Writeup>
52
+ </Prose>
56
53
  <Image {...image} />
57
54
  </Panel>
58
55
  </Container>
@@ -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 align="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>