fulldev-ui 0.6.0-beta-4 → 0.6.0-beta-5

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 (52) hide show
  1. package/cloudcannon.config.yml +25 -7
  2. package/package.json +1 -1
  3. package/src/blocks/Banner.astro +2 -2
  4. package/src/blocks/Contact1.astro +2 -2
  5. package/src/blocks/Content1.astro +77 -0
  6. package/src/blocks/Content2.astro +91 -0
  7. package/src/blocks/Content3.astro +70 -0
  8. package/src/blocks/Content4.astro +72 -0
  9. package/src/blocks/Cta1.astro +16 -30
  10. package/src/blocks/Feature1.astro +19 -25
  11. package/src/blocks/Features1.astro +23 -32
  12. package/src/blocks/Footer.astro +2 -2
  13. package/src/blocks/Header.astro +2 -2
  14. package/src/blocks/Hero1.astro +22 -36
  15. package/src/blocks/Logos1.astro +55 -0
  16. package/src/blocks/Products1.astro +2 -2
  17. package/src/blocks/Reviews1.astro +2 -2
  18. package/src/components/Block.astro +5 -24
  19. package/src/components/{Banner.astro → Group.astro} +5 -6
  20. package/src/components/Heading.astro +1 -1
  21. package/src/components/Layout.astro +1 -1
  22. package/src/components/Panel.astro +1 -1
  23. package/src/components/Paragraph.astro +8 -8
  24. package/src/components/Prose.astro +15 -7
  25. package/src/components/Section.astro +1 -1
  26. package/src/components/Stack.astro +25 -0
  27. package/src/components/Tagline.astro +1 -1
  28. package/src/components/Toc.astro +22 -30
  29. package/src/components/Writeup.astro +59 -0
  30. package/src/content/config.ts +2 -3
  31. package/src/layouts/Category.astro +7 -2
  32. package/src/layouts/Doc.astro +4 -20
  33. package/src/layouts/Job.astro +16 -20
  34. package/src/layouts/Page.astro +5 -6
  35. package/src/layouts/Post.astro +39 -7
  36. package/src/layouts/Product.astro +5 -1
  37. package/src/schemas/components/block.ts +57 -19
  38. package/src/schemas/imageSchema.ts +3 -3
  39. package/src/schemas/{pageSchema.ts → page.ts} +10 -2
  40. package/tailwind.config.ts +4 -0
  41. package/src/blocks/Job1.astro +0 -97
  42. package/src/schemas/blocks/banner.ts +0 -10
  43. package/src/schemas/blocks/categories.ts +0 -14
  44. package/src/schemas/blocks/contact.ts +0 -18
  45. package/src/schemas/blocks/cta.ts +0 -19
  46. package/src/schemas/blocks/feature.ts +0 -18
  47. package/src/schemas/blocks/features.ts +0 -24
  48. package/src/schemas/blocks/hero.ts +0 -20
  49. package/src/schemas/blocks/intro.ts +0 -16
  50. package/src/schemas/blocks/products.ts +0 -14
  51. package/src/schemas/blocks/reviews.ts +0 -24
  52. package/src/schemas/layoutSchema.ts +0 -22
@@ -6,7 +6,7 @@ collection_groups:
6
6
  - heading: Content
7
7
  collections:
8
8
  - pages
9
- - products
9
+ - jobs
10
10
  - categories
11
11
 
12
12
  collections_config:
@@ -21,14 +21,27 @@ collections_config:
21
21
  - content
22
22
  disable_add_folder: true
23
23
  schemas:
24
- default:
24
+ page:
25
25
  name: Page
26
26
  icon: wysiwyg
27
27
  remove_extra_inputs: false
28
28
  remove_empty_inputs: true
29
29
  hide_extra_inputs: true
30
30
  path: schemas/page.md
31
-
31
+ job:
32
+ name: Job
33
+ icon: wysiwyg
34
+ remove_extra_inputs: false
35
+ remove_empty_inputs: true
36
+ hide_extra_inputs: true
37
+ path: schemas/job.md
38
+ category:
39
+ name: Category
40
+ icon: wysiwyg
41
+ remove_extra_inputs: false
42
+ remove_empty_inputs: true
43
+ hide_extra_inputs: true
44
+ path: schemas/category.md
32
45
  _inputs:
33
46
  head:
34
47
  label: SEO / Settings
@@ -41,14 +54,19 @@ _inputs:
41
54
  label: SEO description
42
55
  comment: 50-120 characters
43
56
 
44
- cards:
57
+ parents:
45
58
  type: multiselect
59
+ label: Categorieën
46
60
  options:
47
61
  values: collections.pages
48
-
49
- categories:
62
+ children:
63
+ type: multiselect
64
+ label: Subcategorieën
65
+ options:
66
+ values: collections.pages
67
+ siblings:
50
68
  type: multiselect
51
- label: Categories
69
+ label: Aanbevolen pagina's
52
70
  options:
53
71
  values: collections.pages
54
72
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fulldev-ui",
3
- "version": "0.6.0-beta-4",
3
+ "version": "0.6.0-beta-5",
4
4
  "description": "A component library built for Astro",
5
5
  "homepage": "https://ui.full.dev",
6
6
  "bugs": "https://github.com/fulldotdev/ui/issues",
@@ -2,9 +2,9 @@
2
2
  import type { HTMLAttributes, HTMLTag } from 'astro/types'
3
3
  import Container from 'fulldev-ui/components/Container.astro'
4
4
  import Element from 'fulldev-ui/components/Element.astro'
5
- import type { BannerSchema } from 'fulldev-ui/schemas/blocks/banner'
5
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
6
6
 
7
- interface Props extends HTMLAttributes<'header'>, BannerSchema {
7
+ interface Props extends HTMLAttributes<'header'>, BlockSchema {
8
8
  as?: HTMLTag
9
9
  }
10
10
 
@@ -9,9 +9,9 @@ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
9
9
  import Section from 'fulldev-ui/components/Section.astro'
10
10
  import Social from 'fulldev-ui/components/Social.astro'
11
11
  import Tagline from 'fulldev-ui/components/Tagline.astro'
12
- import type { ContactSchema } from 'fulldev-ui/schemas/blocks/contact'
12
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
13
13
 
14
- interface Props extends ComponentProps<typeof Section>, ContactSchema {}
14
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
15
15
 
16
16
  const {
17
17
  heading,
@@ -0,0 +1,77 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Badge from 'fulldev-ui/components/Badge.astro'
4
+ import Button from 'fulldev-ui/components/Button.astro'
5
+ import Container from 'fulldev-ui/components/Container.astro'
6
+ import Group from 'fulldev-ui/components/Group.astro'
7
+ import Heading from 'fulldev-ui/components/Heading.astro'
8
+ import Image from 'fulldev-ui/components/Image.astro'
9
+ import List from 'fulldev-ui/components/List.astro'
10
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
11
+ import Prose from 'fulldev-ui/components/Prose.astro'
12
+ import Section from 'fulldev-ui/components/Section.astro'
13
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
14
+ import Toc from 'fulldev-ui/components/Toc.astro'
15
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
16
+
17
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {
18
+ headings?: ComponentProps<typeof Toc>['headings']
19
+ }
20
+
21
+ const {
22
+ tagline,
23
+ badge,
24
+ badges,
25
+ heading,
26
+ paragraph,
27
+ list,
28
+ button,
29
+ buttons,
30
+ image,
31
+ headings,
32
+ ...rest
33
+ } = Astro.props
34
+ ---
35
+
36
+ <Section
37
+ class:list="content-1"
38
+ {...rest}
39
+ >
40
+ <Container>
41
+ <Prose>
42
+ <Group>
43
+ <Badge {...badge} />
44
+ {badges?.map((badge) => <Badge {...badge} />)}
45
+ </Group>
46
+ <Tagline text={tagline} />
47
+ <Heading
48
+ as="h1"
49
+ size="4xl"
50
+ text={heading}
51
+ />
52
+ <Paragraph
53
+ muted
54
+ size="lg"
55
+ text={paragraph}
56
+ />
57
+ <List items={list} />
58
+ <Group>
59
+ <Button {...button} />
60
+ {buttons?.map((button) => <Button {...button} />)}
61
+ </Group>
62
+ <Image {...image} />
63
+ <slot />
64
+ </Prose>
65
+ <Toc {headings} />
66
+ </Container>
67
+ </Section>
68
+
69
+ <style is:global>
70
+ @layer fulldev {
71
+ .content-1 {
72
+ .container {
73
+ @apply flex items-start justify-evenly gap-x-gutter;
74
+ }
75
+ }
76
+ }
77
+ </style>
@@ -0,0 +1,91 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Badge from 'fulldev-ui/components/Badge.astro'
4
+ import Button from 'fulldev-ui/components/Button.astro'
5
+ import Container from 'fulldev-ui/components/Container.astro'
6
+ import Group from 'fulldev-ui/components/Group.astro'
7
+ import Heading from 'fulldev-ui/components/Heading.astro'
8
+ import Image from 'fulldev-ui/components/Image.astro'
9
+ import List from 'fulldev-ui/components/List.astro'
10
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
11
+ import Prose from 'fulldev-ui/components/Prose.astro'
12
+ import Section from 'fulldev-ui/components/Section.astro'
13
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
14
+ import Toc from 'fulldev-ui/components/Toc.astro'
15
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
16
+
17
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {
18
+ headings?: ComponentProps<typeof Toc>['headings']
19
+ }
20
+
21
+ const {
22
+ tagline,
23
+ badge,
24
+ badges,
25
+ heading,
26
+ paragraph,
27
+ list,
28
+ button,
29
+ buttons,
30
+ image,
31
+ headings,
32
+ content,
33
+ ...rest
34
+ } = Astro.props
35
+ ---
36
+
37
+ <Section
38
+ class:list="content-2"
39
+ {...rest}
40
+ >
41
+ <Container>
42
+ <Prose>
43
+ <Group>
44
+ <Badge {...badge} />
45
+ {badges?.map((badge) => <Badge {...badge} />)}
46
+ </Group>
47
+ <Tagline text={tagline} />
48
+ <Heading
49
+ as="h1"
50
+ size="4xl"
51
+ text={heading}
52
+ />
53
+ <Paragraph
54
+ muted
55
+ size="lg"
56
+ text={paragraph}
57
+ />
58
+ <List items={list} />
59
+ <Group>
60
+ <Button {...button} />
61
+ {buttons?.map((button) => <Button {...button} />)}
62
+ </Group>
63
+ <Fragment set:html={content} />
64
+ <slot />
65
+ </Prose>
66
+ <Image {...image} />
67
+ </Container>
68
+ </Section>
69
+
70
+ <style is:global>
71
+ @layer fulldev {
72
+ .content-2 {
73
+ .container {
74
+ @apply grid items-start gap-x-gutter gap-y-16 lg:grid-cols-2;
75
+ }
76
+
77
+ .prose,
78
+ .image {
79
+ @apply lg:top-sticky-16 lg:sticky;
80
+ }
81
+
82
+ .prose {
83
+ @apply max-w-screen-sm;
84
+ }
85
+
86
+ .image {
87
+ @apply rounded-md;
88
+ }
89
+ }
90
+ }
91
+ </style>
@@ -0,0 +1,70 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Badge from 'fulldev-ui/components/Badge.astro'
4
+ import Button from 'fulldev-ui/components/Button.astro'
5
+ import Container from 'fulldev-ui/components/Container.astro'
6
+ import Group from 'fulldev-ui/components/Group.astro'
7
+ import Heading from 'fulldev-ui/components/Heading.astro'
8
+ import List from 'fulldev-ui/components/List.astro'
9
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
10
+ import Prose from 'fulldev-ui/components/Prose.astro'
11
+ import Section from 'fulldev-ui/components/Section.astro'
12
+ import Writeup from 'fulldev-ui/components/Writeup.astro'
13
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
14
+
15
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
16
+
17
+ const { badges, heading, paragraph, list, button, ...rest } = Astro.props
18
+ ---
19
+
20
+ <Section
21
+ class:list="content-3"
22
+ {...rest}
23
+ >
24
+ <Container>
25
+ <Writeup>
26
+ <Group>
27
+ {
28
+ badges?.map((badge) => (
29
+ <Badge
30
+ size="sm"
31
+ {...badge}
32
+ />
33
+ ))
34
+ }
35
+ </Group>
36
+ <Heading
37
+ as="h1"
38
+ size="4xl"
39
+ text={heading}
40
+ />
41
+ <Paragraph
42
+ size="lg"
43
+ muted
44
+ text={paragraph}
45
+ />
46
+ <List items={list} />
47
+ <Button
48
+ size="lg"
49
+ {...button}
50
+ />
51
+ </Writeup>
52
+ <Prose>
53
+ <slot />
54
+ </Prose>
55
+ </Container>
56
+ </Section>
57
+
58
+ <style is:global>
59
+ @layer fulldev {
60
+ .content-3 {
61
+ .container {
62
+ @apply flex flex-col items-start gap-x-gutter lg:grid lg:grid-cols-2;
63
+ }
64
+
65
+ .writeup {
66
+ @apply lg:top-sticky-16 lg:sticky lg:max-w-xl;
67
+ }
68
+ }
69
+ }
70
+ </style>
@@ -0,0 +1,72 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Button from 'fulldev-ui/components/Button.astro'
4
+ import Container from 'fulldev-ui/components/Container.astro'
5
+ import Group from 'fulldev-ui/components/Group.astro'
6
+ import Heading from 'fulldev-ui/components/Heading.astro'
7
+ import List from 'fulldev-ui/components/List.astro'
8
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
9
+ import Prose from 'fulldev-ui/components/Prose.astro'
10
+ import Section from 'fulldev-ui/components/Section.astro'
11
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
12
+ import Writeup from 'fulldev-ui/components/Writeup.astro'
13
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
14
+
15
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
16
+
17
+ const {
18
+ tagline,
19
+ heading,
20
+ paragraph,
21
+ list,
22
+ content,
23
+ button,
24
+ buttons,
25
+ image,
26
+ ...rest
27
+ } = Astro.props
28
+ ---
29
+
30
+ <Section
31
+ class:list="content-4"
32
+ {...rest}
33
+ >
34
+ <Container>
35
+ <Writeup>
36
+ <Tagline text={tagline} />
37
+ <Heading
38
+ as="h1"
39
+ size="4xl"
40
+ text={heading}
41
+ />
42
+ <Paragraph
43
+ size="lg"
44
+ muted
45
+ text={paragraph}
46
+ />
47
+ <List items={list} />
48
+ </Writeup>
49
+ <Prose>
50
+ <Fragment set:html={content} />
51
+ <slot />
52
+ </Prose>
53
+ <Group>
54
+ <Button {...button} />
55
+ {buttons?.map((button) => <Button {...button} />)}
56
+ </Group>
57
+ </Container>
58
+ </Section>
59
+
60
+ <style is:global>
61
+ @layer fulldev {
62
+ .content-4 {
63
+ .container {
64
+ @apply flex flex-col items-start gap-8;
65
+ }
66
+
67
+ .prose {
68
+ @apply max-w-none break-inside-avoid gap-x-gutter lg:columns-2;
69
+ }
70
+ }
71
+ }
72
+ </style>
@@ -2,16 +2,16 @@
2
2
  import type { ComponentProps } from 'astro/types'
3
3
  import Buttons from 'fulldev-ui/components/Buttons.astro'
4
4
  import Container from 'fulldev-ui/components/Container.astro'
5
- import Element from 'fulldev-ui/components/Element.astro'
6
5
  import Heading from 'fulldev-ui/components/Heading.astro'
7
6
  import Image from 'fulldev-ui/components/Image.astro'
8
7
  import Panel from 'fulldev-ui/components/Panel.astro'
9
8
  import Paragraph from 'fulldev-ui/components/Paragraph.astro'
10
9
  import Section from 'fulldev-ui/components/Section.astro'
11
10
  import Tagline from 'fulldev-ui/components/Tagline.astro'
12
- import type { CtaSchema } from 'fulldev-ui/schemas/blocks/cta.ts'
11
+ import Writeup from 'fulldev-ui/components/Writeup.astro'
12
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
13
13
 
14
- interface Props extends ComponentProps<typeof Section>, CtaSchema {}
14
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
15
15
 
16
16
  const { tagline, heading, paragraph, buttons, image, ...rest } = Astro.props
17
17
  ---
@@ -22,24 +22,22 @@ const { tagline, heading, paragraph, buttons, image, ...rest } = Astro.props
22
22
  >
23
23
  <Container>
24
24
  <Panel>
25
- <Element class="cta-1-segment">
26
- <Element class="cta-1-content">
27
- <Tagline text={tagline} />
28
- <Heading
29
- size="4xl"
30
- as="h2"
31
- text={heading}
32
- />
33
- <Paragraph
34
- size="lg"
35
- text={paragraph}
36
- />
37
- </Element>
25
+ <Writeup align="center">
26
+ <Tagline text={tagline} />
27
+ <Heading
28
+ size="4xl"
29
+ as="h2"
30
+ text={heading}
31
+ />
32
+ <Paragraph
33
+ size="lg"
34
+ text={paragraph}
35
+ />
38
36
  <Buttons
39
37
  {buttons}
40
38
  size="lg"
41
39
  />
42
- </Element>
40
+ </Writeup>
43
41
  <Image {...image} />
44
42
  </Panel>
45
43
  </Container>
@@ -48,20 +46,8 @@ const { tagline, heading, paragraph, buttons, image, ...rest } = Astro.props
48
46
  <style is:global>
49
47
  @layer fulldev {
50
48
  .cta-1 {
51
- .panel {
52
- @apply flex flex-col items-center gap-16;
53
- }
54
-
55
- .cta-1-segment {
56
- @apply z-10 flex flex-col items-center gap-8 text-center;
57
- }
58
-
59
- .cta-1-content {
60
- @apply flex max-w-screen-md flex-col items-center gap-4 text-center;
61
- }
62
-
63
49
  .text {
64
- @apply text-balance;
50
+ @apply text-pretty;
65
51
  }
66
52
 
67
53
  .image {
@@ -2,15 +2,15 @@
2
2
  import type { ComponentProps } from 'astro/types'
3
3
  import Buttons from 'fulldev-ui/components/Buttons.astro'
4
4
  import Container from 'fulldev-ui/components/Container.astro'
5
- import Element from 'fulldev-ui/components/Element.astro'
6
5
  import Heading from 'fulldev-ui/components/Heading.astro'
7
6
  import Image from 'fulldev-ui/components/Image.astro'
8
7
  import Paragraph from 'fulldev-ui/components/Paragraph.astro'
9
8
  import Section from 'fulldev-ui/components/Section.astro'
10
9
  import Tagline from 'fulldev-ui/components/Tagline.astro'
11
- import type { FeatureSchema } from 'fulldev-ui/schemas/blocks/feature'
10
+ import Writeup from 'fulldev-ui/components/Writeup.astro'
11
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
12
12
 
13
- interface Props extends ComponentProps<typeof Section>, FeatureSchema {}
13
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
14
14
 
15
15
  const { tagline, heading, paragraph, buttons, image, ...rest } = Astro.props
16
16
  ---
@@ -20,26 +20,24 @@ const { tagline, heading, paragraph, buttons, image, ...rest } = Astro.props
20
20
  {...rest}
21
21
  >
22
22
  <Container>
23
- <Element class="feature-1-segment">
24
- <Element class="feature-1-content">
25
- <Tagline
26
- size="sm"
27
- text={tagline}
28
- />
29
- <Heading
30
- size="3xl"
31
- text={heading}
32
- />
33
- <Paragraph
34
- size="lg"
35
- text={paragraph}
36
- />
37
- </Element>
23
+ <Writeup>
24
+ <Tagline
25
+ size="sm"
26
+ text={tagline}
27
+ />
28
+ <Heading
29
+ size="3xl"
30
+ text={heading}
31
+ />
32
+ <Paragraph
33
+ size="lg"
34
+ text={paragraph}
35
+ />
38
36
  <Buttons
39
37
  variant="secondary"
40
38
  {buttons}
41
39
  />
42
- </Element>
40
+ </Writeup>
43
41
  <Image {...image} />
44
42
  </Container>
45
43
  </Section>
@@ -51,12 +49,8 @@ const { tagline, heading, paragraph, buttons, image, ...rest } = Astro.props
51
49
  @apply gap-x-gutter gap-y-12 lg:grid lg:grid-cols-2 lg:items-center;
52
50
  }
53
51
 
54
- .feature-1-segment {
55
- @apply flex flex-col items-start gap-6 lg:max-w-xl;
56
- }
57
-
58
- .feature-1-content {
59
- @apply flex max-w-screen-md flex-col items-start gap-3;
52
+ .writeup {
53
+ @apply lg:max-w-xl;
60
54
  }
61
55
 
62
56
  .image {
@@ -1,15 +1,16 @@
1
1
  ---
2
2
  import type { ComponentProps } from 'astro/types'
3
3
  import Container from 'fulldev-ui/components/Container.astro'
4
- import Element from 'fulldev-ui/components/Element.astro'
5
4
  import Heading from 'fulldev-ui/components/Heading.astro'
6
5
  import Icon from 'fulldev-ui/components/Icon.astro'
7
6
  import Paragraph from 'fulldev-ui/components/Paragraph.astro'
8
7
  import Section from 'fulldev-ui/components/Section.astro'
8
+ import Stack from 'fulldev-ui/components/Stack.astro'
9
9
  import Tagline from 'fulldev-ui/components/Tagline.astro'
10
- import type { FeaturesSchema } from 'fulldev-ui/schemas/blocks/features'
10
+ import Writeup from 'fulldev-ui/components/Writeup.astro'
11
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
11
12
 
12
- interface Props extends ComponentProps<typeof Section>, FeaturesSchema {}
13
+ interface Props extends ComponentProps<typeof Section>, BlockSchema {}
13
14
 
14
15
  const { tagline, heading, paragraph, cards, ...rest } = Astro.props
15
16
  ---
@@ -19,54 +20,44 @@ const { tagline, heading, paragraph, cards, ...rest } = Astro.props
19
20
  {...rest}
20
21
  >
21
22
  <Container>
22
- <Element class="features-1-segment">
23
- <Element class="features-1-content">
24
- <Tagline
25
- size="sm"
26
- text={tagline}
27
- />
28
- <Heading
29
- size="3xl"
30
- text={heading}
31
- />
32
- <Paragraph
33
- size="lg"
34
- text={paragraph}
35
- />
36
- </Element>
37
- </Element>
38
- <Element class:list="features-1-cards">
23
+ <Writeup>
24
+ <Tagline
25
+ size="sm"
26
+ text={tagline}
27
+ />
28
+ <Heading
29
+ size="3xl"
30
+ text={heading}
31
+ />
32
+ <Paragraph
33
+ size="lg"
34
+ text={paragraph}
35
+ />
36
+ </Writeup>
37
+ <Stack>
39
38
  {
40
39
  cards?.map(({ icon, heading, paragraph }) => (
41
- <Element class="features-1-card">
40
+ <Writeup>
42
41
  <Icon
43
42
  size="lg"
44
43
  name={icon}
45
44
  />
46
45
  <Heading
47
46
  as="h3"
48
- size="lg"
47
+ size="xl"
49
48
  text={heading}
50
49
  />
51
50
  <Paragraph text={paragraph} />
52
- </Element>
51
+ </Writeup>
53
52
  ))
54
53
  }
55
- </Element>
54
+ </Stack>
56
55
  </Container>
57
56
  </Section>
58
57
 
59
58
  <style is:global>
60
59
  @layer fulldev {
61
60
  .features-1 {
62
- .features-1-cards {
63
- @apply grid grid-cols-1 gap-6 lg:grid-cols-3;
64
- }
65
-
66
- .features-1-card {
67
- @apply flex flex-col gap-3;
68
- }
69
-
70
61
  .icon {
71
62
  @apply text-primary;
72
63
  }
@@ -7,9 +7,9 @@ import Logo from 'fulldev-ui/components/Logo.astro'
7
7
  import Menu from 'fulldev-ui/components/Menu.astro'
8
8
  import { default as Paragraph } from 'fulldev-ui/components/Paragraph.astro'
9
9
  import Social from 'fulldev-ui/components/Social.astro'
10
- import type { FooterSchema } from 'fulldev-ui/schemas/components/footer'
10
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
11
11
 
12
- interface Props extends HTMLAttributes<'footer'>, FooterSchema {
12
+ interface Props extends HTMLAttributes<'footer'>, BlockSchema {
13
13
  as?: HTMLTag
14
14
  }
15
15
 
@@ -11,9 +11,9 @@ import Logo from 'fulldev-ui/components/Logo.astro'
11
11
  import Search from 'fulldev-ui/components/Search.astro'
12
12
  import Social from 'fulldev-ui/components/Social.astro'
13
13
  import Themer from 'fulldev-ui/components/Themer.astro'
14
- import type { HeaderSchema } from 'fulldev-ui/schemas/components/header'
14
+ import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
15
15
 
16
- interface Props extends HTMLAttributes<'header'>, HeaderSchema {}
16
+ interface Props extends HTMLAttributes<'header'>, BlockSchema {}
17
17
 
18
18
  const {
19
19
  logo,