fulldev-ui 0.6.0-beta.12 → 0.6.0-beta.14

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fulldev-ui",
3
- "version": "0.6.0-beta.12",
3
+ "version": "0.6.0-beta.14",
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",
@@ -35,12 +35,12 @@ const {
35
35
  <Writeup align="center">
36
36
  <Tagline text={tagline} />
37
37
  <Heading
38
- size="4xl"
38
+ size="5xl"
39
39
  as="h2"
40
40
  text={heading}
41
41
  />
42
42
  <Paragraph
43
- size="lg"
43
+ size="xl"
44
44
  text={paragraph}
45
45
  />
46
46
  <Fragment set:html={content} />
@@ -2,17 +2,33 @@
2
2
  import type { ComponentProps } from 'astro/types'
3
3
  import Badge from 'fulldev-ui/components/Badge.astro'
4
4
  import Buttons from 'fulldev-ui/components/Buttons.astro'
5
+ import Element from 'fulldev-ui/components/Element.astro'
5
6
  import Heading from 'fulldev-ui/components/Heading.astro'
6
7
  import Image from 'fulldev-ui/components/Image.astro'
8
+ import Label from 'fulldev-ui/components/Label.astro'
7
9
  import Paragraph from 'fulldev-ui/components/Paragraph.astro'
10
+ import Rating from 'fulldev-ui/components/Rating.astro'
8
11
  import Tagline from 'fulldev-ui/components/Tagline.astro'
9
- import type { BlockSchema } from 'fulldev-ui/schemas/block'
10
12
  import Container from 'fulldev-ui/structures/Container.astro'
11
13
  import Group from 'fulldev-ui/structures/Group.astro'
14
+ import Prose from 'fulldev-ui/structures/Prose.astro'
12
15
  import Section from 'fulldev-ui/structures/Section.astro'
13
- import Writeup from 'fulldev-ui/structures/Writeup.astro'
14
16
 
15
- interface Props extends ComponentProps<typeof Section>, BlockSchema {}
17
+ interface Props {
18
+ depth?: 1 | 2 | undefined
19
+ badge?: ComponentProps<typeof Badge> | undefined
20
+ tagline?: string | undefined
21
+ heading?: string | undefined
22
+ paragraph?: string | undefined
23
+ content?: string | undefined
24
+ image?: ComponentProps<typeof Image> | undefined
25
+ buttons?: ComponentProps<typeof Buttons>['buttons']
26
+ proof?: {
27
+ rating?: number | undefined
28
+ images?: ComponentProps<typeof Image>[] | undefined
29
+ text?: string | undefined
30
+ }
31
+ }
16
32
 
17
33
  const {
18
34
  badge,
@@ -20,9 +36,9 @@ const {
20
36
  heading,
21
37
  paragraph,
22
38
  content,
23
- button,
24
39
  buttons,
25
40
  image,
41
+ proof,
26
42
  ...rest
27
43
  } = Astro.props
28
44
  ---
@@ -32,7 +48,27 @@ const {
32
48
  {...rest}
33
49
  >
34
50
  <Container>
35
- <Writeup align="center">
51
+ <Prose class="flex flex-col items-center text-center">
52
+ <Element class="flex items-center">
53
+ {
54
+ proof?.images?.map((image) => (
55
+ <Image
56
+ class="-mr-5 h-11 w-11 rounded-full object-cover last-of-type:mr-2"
57
+ {...image}
58
+ />
59
+ ))
60
+ }
61
+ <Element class="flex flex-col gap-1">
62
+ <Rating
63
+ score={proof?.rating}
64
+ size="sm"
65
+ />
66
+ <Label
67
+ size="md"
68
+ text={proof?.text}
69
+ />
70
+ </Element>
71
+ </Element>
36
72
  <Badge
37
73
  size="lg"
38
74
  {...badge}
@@ -54,11 +90,10 @@ const {
54
90
  <Group>
55
91
  <Buttons
56
92
  size="lg"
57
- {button}
58
93
  {buttons}
59
94
  />
60
95
  </Group>
61
- </Writeup>
96
+ </Prose>
62
97
  <Image {...image} />
63
98
  </Container>
64
99
  </Section>
@@ -44,7 +44,7 @@ const { tagline, heading, paragraph, images, ...rest } = Astro.props
44
44
  }
45
45
 
46
46
  .logos-1-cards {
47
- @apply flex flex-wrap justify-center gap-12;
47
+ @apply flex flex-wrap justify-center gap-8;
48
48
  }
49
49
 
50
50
  .image {
@@ -0,0 +1,72 @@
1
+ ---
2
+ import type { ComponentProps } from 'astro/types'
3
+ import Button from 'fulldev-ui/components/Button.astro'
4
+ import Heading from 'fulldev-ui/components/Heading.astro'
5
+ import List from 'fulldev-ui/components/List.astro'
6
+ import Paragraph from 'fulldev-ui/components/Paragraph.astro'
7
+ import Tagline from 'fulldev-ui/components/Tagline.astro'
8
+ import Card from 'fulldev-ui/structures/Card.astro'
9
+ import Container from 'fulldev-ui/structures/Container.astro'
10
+ import Prose from 'fulldev-ui/structures/Prose.astro'
11
+ import Section from 'fulldev-ui/structures/Section.astro'
12
+ import Stack from 'fulldev-ui/structures/Stack.astro'
13
+
14
+ interface Props {
15
+ depth?: 1 | 2 | undefined
16
+ heading?: string | undefined
17
+ paragraph?: string | undefined
18
+ cards?: {
19
+ tagline?: string | undefined
20
+ heading?: string | undefined
21
+ paragraph?: string | undefined
22
+ list?: string[] | undefined
23
+ button?: ComponentProps<typeof Button> | undefined
24
+ }[]
25
+ }
26
+
27
+ const { depth = 2, heading, paragraph, cards } = Astro.props
28
+ ---
29
+
30
+ <Section class="pricings-1">
31
+ <Container class="flex flex-col items-center gap-16">
32
+ <Prose class="text-center">
33
+ <Heading
34
+ size="5xl"
35
+ text={heading}
36
+ {depth}
37
+ />
38
+ <Paragraph
39
+ size="xl"
40
+ text={paragraph}
41
+ />
42
+ </Prose>
43
+ <Stack class="mx-auto flex flex-wrap items-stretch justify-center">
44
+ {
45
+ cards?.map(({ tagline, heading, paragraph, list, button }) => (
46
+ <Card class="min-w-sm flex max-w-md flex-col justify-between gap-8 p-8">
47
+ <Prose>
48
+ <Tagline text={tagline} />
49
+ <Heading
50
+ as={`h${(depth + 1) as 1 | 2 | 3}`}
51
+ size="3xl"
52
+ text={heading}
53
+ />
54
+ <Paragraph
55
+ muted
56
+ text={paragraph}
57
+ />
58
+ <List
59
+ size="sm"
60
+ items={list}
61
+ />
62
+ </Prose>
63
+ <Button
64
+ class=""
65
+ {...button}
66
+ />
67
+ </Card>
68
+ ))
69
+ }
70
+ </Stack>
71
+ </Container>
72
+ </Section>
@@ -53,6 +53,13 @@ export const blockSchema = z
53
53
  .strict()
54
54
  .array()
55
55
  .optional(),
56
+ proof: z
57
+ .object({
58
+ rating: z.number().optional(),
59
+ images: imageSchema.array().optional(),
60
+ text: z.string().optional(),
61
+ })
62
+ .optional(),
56
63
  })
57
64
  .strict()
58
65
 
@@ -85,7 +85,7 @@ const { ...rest } = Astro.props
85
85
  }
86
86
 
87
87
  > img,
88
- > * > img {
88
+ > p > img {
89
89
  @apply my-12 rounded-md;
90
90
  }
91
91