fulldev-ui 0.10.1 → 0.11.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.
- package/CHANGELOG.md +12 -0
- package/README.md +7 -1
- package/package.json +6 -4
- package/public/r/accordion.json +7 -1
- package/public/r/alert-dialog.json +7 -1
- package/public/r/alert.json +6 -0
- package/public/r/article-1.json +7 -1
- package/public/r/article-2.json +7 -1
- package/public/r/articles-1.json +7 -1
- package/public/r/articles-2.json +7 -1
- package/public/r/articles-3.json +7 -1
- package/public/r/articles-4.json +7 -1
- package/public/r/avatar.json +6 -0
- package/public/r/badge.json +6 -0
- package/public/r/banner-1.json +7 -1
- package/public/r/banner-2.json +7 -1
- package/public/r/banner.json +7 -1
- package/public/r/blocks-1.json +6 -1
- package/public/r/blocks.json +92 -0
- package/public/r/breadcrumb.json +6 -0
- package/public/r/button.json +6 -0
- package/public/r/card.json +6 -0
- package/public/r/carousel.json +6 -0
- package/public/r/checkbox.json +6 -0
- package/public/r/collapsible.json +7 -1
- package/public/r/combobox.json +6 -0
- package/public/r/command.json +6 -0
- package/public/r/components.json +14 -3
- package/public/r/contact-1.json +10 -2
- package/public/r/contact-2.json +10 -2
- package/public/r/contact-3.json +10 -2
- package/public/r/content-1.json +7 -1
- package/public/r/content-2.json +7 -1
- package/public/r/content-3.json +7 -1
- package/public/r/content-4.json +7 -1
- package/public/r/cta-1.json +7 -1
- package/public/r/cta-2.json +7 -1
- package/public/r/cta-3.json +7 -1
- package/public/r/cta-4.json +7 -1
- package/public/r/cta-5.json +7 -1
- package/public/r/cta-6.json +7 -1
- package/public/r/cta-7.json +7 -1
- package/public/r/cta-8.json +7 -1
- package/public/r/dialog.json +7 -1
- package/public/r/doc-1.json +7 -1
- package/public/r/dropdown-menu.json +7 -1
- package/public/r/empty.json +6 -0
- package/public/r/faqs-1.json +7 -1
- package/public/r/faqs-2.json +7 -1
- package/public/r/faqs-3.json +7 -1
- package/public/r/faqs-4.json +7 -1
- package/public/r/features-1.json +7 -1
- package/public/r/features-2.json +7 -1
- package/public/r/features-3.json +7 -1
- package/public/r/features-4.json +7 -1
- package/public/r/features-5.json +7 -1
- package/public/r/features-6.json +7 -1
- package/public/r/field.json +6 -0
- package/public/r/footer-1.json +7 -1
- package/public/r/footer-2.json +7 -1
- package/public/r/footer-3.json +7 -1
- package/public/r/form.json +6 -0
- package/public/r/header-1.json +7 -1
- package/public/r/header-2.json +7 -1
- package/public/r/header-3.json +7 -1
- package/public/r/header-4.json +7 -1
- package/public/r/header-5.json +7 -1
- package/public/r/header.json +6 -0
- package/public/r/hero-1.json +7 -1
- package/public/r/hero-10.json +7 -1
- package/public/r/hero-11.json +7 -1
- package/public/r/hero-12.json +7 -1
- package/public/r/hero-13.json +7 -1
- package/public/r/hero-2.json +7 -1
- package/public/r/hero-3.json +7 -1
- package/public/r/hero-4.json +7 -1
- package/public/r/hero-5.json +7 -1
- package/public/r/hero-6.json +7 -1
- package/public/r/hero-7.json +7 -1
- package/public/r/hero-8.json +7 -1
- package/public/r/hero-9.json +7 -1
- package/public/r/hover-card.json +7 -1
- package/public/r/icon.json +7 -1
- package/public/r/init.json +28 -0
- package/public/r/input-group.json +6 -0
- package/public/r/input.json +6 -0
- package/public/r/item.json +6 -0
- package/public/r/kbd.json +6 -0
- package/public/r/label.json +6 -0
- package/public/r/layout.json +6 -0
- package/public/r/links-2.json +7 -1
- package/public/r/logo.json +6 -0
- package/public/r/logos-1.json +7 -1
- package/public/r/logos-2.json +7 -1
- package/public/r/logos-3.json +7 -1
- package/public/r/marquee.json +6 -0
- package/public/r/native-select.json +6 -0
- package/public/r/navigation-menu.json +7 -1
- package/public/r/popover.json +7 -1
- package/public/r/price.json +6 -0
- package/public/r/pricing-1.json +7 -1
- package/public/r/pricing-2.json +7 -1
- package/public/r/pricing-3.json +7 -1
- package/public/r/product-1.json +7 -1
- package/public/r/products-1.json +7 -1
- package/public/r/products-2.json +7 -1
- package/public/r/products-3.json +7 -1
- package/public/r/products-4.json +7 -1
- package/public/r/products-5.json +7 -1
- package/public/r/radio-group.json +7 -1
- package/public/r/rating.json +6 -0
- package/public/r/registry.json +1645 -457
- package/public/r/reviews-1.json +7 -1
- package/public/r/reviews-2.json +7 -1
- package/public/r/reviews-3.json +7 -1
- package/public/r/reviews-4.json +7 -1
- package/public/r/reviews-5.json +7 -1
- package/public/r/section.json +18 -2
- package/public/r/select.json +6 -0
- package/public/r/separator.json +6 -0
- package/public/r/services-1.json +7 -1
- package/public/r/services-2.json +7 -1
- package/public/r/services-3.json +7 -1
- package/public/r/services-4.json +7 -1
- package/public/r/services-5.json +7 -1
- package/public/r/services-6.json +7 -1
- package/public/r/services-7.json +7 -1
- package/public/r/sheet.json +8 -2
- package/public/r/sidebar-1.json +6 -1
- package/public/r/sidebar.json +6 -0
- package/public/r/skeleton.json +6 -0
- package/public/r/slider.json +7 -1
- package/public/r/spinner.json +6 -0
- package/public/r/switch.json +7 -1
- package/public/r/table.json +6 -0
- package/public/r/tabs.json +7 -1
- package/public/r/textarea.json +6 -0
- package/public/r/theme-toggle.json +6 -0
- package/public/r/toc.json +6 -0
- package/public/r/toggle.json +7 -1
- package/public/r/tooltip.json +7 -1
- package/public/r/typography.json +7 -1
- package/public/r/video.json +6 -0
- package/registry/init/global.css +187 -0
- package/registry.json +1137 -454
- package/src/components/blocks/article-1.astro +4 -3
- package/src/components/blocks/article-2.astro +4 -3
- package/src/components/blocks/articles-1.astro +18 -9
- package/src/components/blocks/articles-2.astro +4 -3
- package/src/components/blocks/articles-3.astro +11 -9
- package/src/components/blocks/articles-4.astro +11 -4
- package/src/components/blocks/banner-1.astro +4 -3
- package/src/components/blocks/banner-2.astro +16 -7
- package/src/components/blocks/blocks-1.astro +1 -1
- package/src/components/blocks/contact-1.astro +74 -40
- package/src/components/blocks/contact-2.astro +71 -36
- package/src/components/blocks/contact-3.astro +63 -35
- package/src/components/blocks/content-1.astro +15 -10
- package/src/components/blocks/content-2.astro +15 -10
- package/src/components/blocks/content-3.astro +14 -12
- package/src/components/blocks/content-4.astro +15 -10
- package/src/components/blocks/cta-1.astro +14 -10
- package/src/components/blocks/cta-2.astro +11 -8
- package/src/components/blocks/cta-3.astro +15 -8
- package/src/components/blocks/cta-4.astro +14 -9
- package/src/components/blocks/cta-5.astro +12 -8
- package/src/components/blocks/cta-6.astro +11 -8
- package/src/components/blocks/cta-7.astro +17 -10
- package/src/components/blocks/cta-8.astro +15 -10
- package/src/components/blocks/doc-1.astro +1 -1
- package/src/components/blocks/faqs-1.astro +22 -11
- package/src/components/blocks/faqs-2.astro +19 -9
- package/src/components/blocks/faqs-3.astro +19 -9
- package/src/components/blocks/faqs-4.astro +12 -9
- package/src/components/blocks/features-1.astro +21 -13
- package/src/components/blocks/features-2.astro +22 -13
- package/src/components/blocks/features-3.astro +14 -13
- package/src/components/blocks/features-4.astro +18 -9
- package/src/components/blocks/features-5.astro +22 -13
- package/src/components/blocks/features-6.astro +19 -9
- package/src/components/blocks/footer-1.astro +4 -3
- package/src/components/blocks/footer-2.astro +4 -3
- package/src/components/blocks/footer-3.astro +4 -3
- package/src/components/blocks/header-1.astro +13 -7
- package/src/components/blocks/header-2.astro +12 -6
- package/src/components/blocks/header-3.astro +12 -6
- package/src/components/blocks/header-4.astro +13 -6
- package/src/components/blocks/header-5.astro +16 -6
- package/src/components/blocks/hero-1.astro +11 -8
- package/src/components/blocks/hero-10.astro +7 -3
- package/src/components/blocks/hero-11.astro +4 -2
- package/src/components/blocks/hero-12.astro +11 -4
- package/src/components/blocks/hero-13.astro +11 -4
- package/src/components/blocks/hero-2.astro +11 -8
- package/src/components/blocks/hero-3.astro +11 -3
- package/src/components/blocks/hero-4.astro +4 -2
- package/src/components/blocks/hero-5.astro +4 -3
- package/src/components/blocks/hero-6.astro +4 -3
- package/src/components/blocks/hero-7.astro +4 -3
- package/src/components/blocks/hero-8.astro +11 -4
- package/src/components/blocks/hero-9.astro +4 -3
- package/src/components/blocks/links-2.astro +4 -4
- package/src/components/blocks/logos-1.astro +14 -16
- package/src/components/blocks/logos-2.astro +14 -12
- package/src/components/blocks/logos-3.astro +5 -4
- package/src/components/blocks/pricing-1.astro +13 -16
- package/src/components/blocks/pricing-2.astro +14 -13
- package/src/components/blocks/pricing-3.astro +20 -16
- package/src/components/blocks/product-1.astro +4 -3
- package/src/components/blocks/products-1.astro +11 -9
- package/src/components/blocks/products-2.astro +12 -9
- package/src/components/blocks/products-3.astro +12 -9
- package/src/components/blocks/products-4.astro +18 -9
- package/src/components/blocks/products-5.astro +18 -9
- package/src/components/blocks/reviews-1.astro +13 -12
- package/src/components/blocks/reviews-2.astro +4 -4
- package/src/components/blocks/reviews-3.astro +13 -12
- package/src/components/blocks/reviews-4.astro +13 -12
- package/src/components/blocks/reviews-5.astro +13 -12
- package/src/components/blocks/services-1.astro +19 -9
- package/src/components/blocks/services-2.astro +11 -8
- package/src/components/blocks/services-3.astro +11 -8
- package/src/components/blocks/services-4.astro +19 -9
- package/src/components/blocks/services-5.astro +11 -8
- package/src/components/blocks/services-6.astro +4 -3
- package/src/components/blocks/services-7.astro +12 -8
- package/src/components/blocks/sidebar-1.astro +2 -2
- package/src/components/ui/accordion/accordion.astro +1 -0
- package/src/components/ui/alert-dialog/alert-dialog.astro +1 -0
- package/src/components/ui/banner/banner.astro +23 -41
- package/src/components/ui/collapsible/collapsible.astro +1 -0
- package/src/components/ui/dialog/dialog.astro +1 -0
- package/src/components/ui/dropdown-menu/dropdown-menu.astro +1 -0
- package/src/components/ui/hover-card/hover-card.astro +7 -3
- package/src/components/ui/icon/icon.astro +46 -29
- package/src/components/ui/navigation-menu/navigation-menu.astro +1 -0
- package/src/components/ui/popover/popover.astro +1 -0
- package/src/components/ui/radio-group/radio-group.astro +1 -0
- package/src/components/ui/section/index.ts +2 -0
- package/src/components/ui/section/section-container.astro +1 -0
- package/src/components/ui/section/section-description.astro +20 -0
- package/src/components/ui/section/section-title.astro +20 -0
- package/src/components/ui/sheet/sheet-close.astro +4 -2
- package/src/components/ui/sheet/sheet.astro +1 -0
- package/src/components/ui/slider/slider.astro +1 -0
- package/src/components/ui/switch/switch.astro +1 -0
- package/src/components/ui/tabs/tabs.astro +1 -0
- package/src/components/ui/toggle/toggle.astro +1 -0
- package/src/components/ui/tooltip/tooltip.astro +1 -0
- package/src/components/ui/typography/typography.astro +1 -1
- package/src/lib/pages.ts +12 -0
- package/src/styles/global.css +2 -2
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { ImageMetadata } from "astro"
|
|
3
3
|
import { Image } from "astro:assets"
|
|
4
|
+
import type { HTMLAttributes } from "astro/types"
|
|
4
5
|
|
|
5
6
|
import { cn } from "@/lib/utils"
|
|
6
7
|
import {
|
|
@@ -11,11 +12,14 @@ import {
|
|
|
11
12
|
} from "@/components/ui/avatar"
|
|
12
13
|
import { Button } from "@/components/ui/button"
|
|
13
14
|
import { Rating } from "@/components/ui/rating"
|
|
14
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
Section,
|
|
17
|
+
SectionContainer,
|
|
18
|
+
SectionTitle,
|
|
19
|
+
} from "@/components/ui/section"
|
|
15
20
|
import PlaceholderImage from "@/assets/placeholder.webp"
|
|
16
21
|
|
|
17
|
-
type Props = {
|
|
18
|
-
class?: string
|
|
22
|
+
type Props = HTMLAttributes<"section"> & {
|
|
19
23
|
title: string
|
|
20
24
|
description: string
|
|
21
25
|
buttons?: {
|
|
@@ -45,10 +49,11 @@ const {
|
|
|
45
49
|
buttons,
|
|
46
50
|
socialProof,
|
|
47
51
|
image = { src: PlaceholderImage, alt: "CTA image" },
|
|
52
|
+
...props
|
|
48
53
|
} = Astro.props
|
|
49
54
|
---
|
|
50
55
|
|
|
51
|
-
<Section class={cn("", className)}>
|
|
56
|
+
<Section class={cn("", className)} {...props}>
|
|
52
57
|
<SectionContainer class="grid gap-12 lg:grid-cols-2 lg:items-center">
|
|
53
58
|
<Image
|
|
54
59
|
src={image.src}
|
|
@@ -59,11 +64,9 @@ const {
|
|
|
59
64
|
/>
|
|
60
65
|
<div class="flex flex-col gap-6">
|
|
61
66
|
<div class="flex flex-col gap-4">
|
|
62
|
-
<
|
|
63
|
-
class="text-foreground text-3xl leading-[1.1] font-semibold tracking-tight text-balance sm:text-4xl"
|
|
64
|
-
>
|
|
67
|
+
<SectionTitle class="leading-[1.1]">
|
|
65
68
|
{title}
|
|
66
|
-
</
|
|
69
|
+
</SectionTitle>
|
|
67
70
|
<p class="text-muted-foreground text-lg leading-relaxed">
|
|
68
71
|
{description}
|
|
69
72
|
</p>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { ImageMetadata } from "astro"
|
|
3
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
4
|
|
|
4
5
|
import { cn } from "@/lib/utils"
|
|
5
6
|
import {
|
|
@@ -10,10 +11,14 @@ import {
|
|
|
10
11
|
AvatarImage,
|
|
11
12
|
} from "@/components/ui/avatar"
|
|
12
13
|
import { Button } from "@/components/ui/button"
|
|
13
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
Section,
|
|
16
|
+
SectionContainer,
|
|
17
|
+
SectionDescription,
|
|
18
|
+
SectionTitle,
|
|
19
|
+
} from "@/components/ui/section"
|
|
14
20
|
|
|
15
|
-
type Props = {
|
|
16
|
-
class?: string
|
|
21
|
+
type Props = HTMLAttributes<"section"> & {
|
|
17
22
|
title: string
|
|
18
23
|
description: string
|
|
19
24
|
buttons?: {
|
|
@@ -39,20 +44,22 @@ const {
|
|
|
39
44
|
description,
|
|
40
45
|
buttons,
|
|
41
46
|
socialProof,
|
|
47
|
+
...props
|
|
42
48
|
} = Astro.props
|
|
43
49
|
---
|
|
44
50
|
|
|
45
|
-
<Section
|
|
51
|
+
<Section
|
|
52
|
+
class={cn("bg-primary/10 border-primary/15 border-y", className)}
|
|
53
|
+
{...props}
|
|
54
|
+
>
|
|
46
55
|
<SectionContainer class="items-center text-center">
|
|
47
56
|
<div class="flex max-w-2xl flex-col items-center gap-5">
|
|
48
|
-
<
|
|
49
|
-
class="text-foreground text-3xl leading-[1.1] font-semibold tracking-tight text-balance sm:text-4xl"
|
|
50
|
-
>
|
|
57
|
+
<SectionTitle class="leading-[1.1]">
|
|
51
58
|
{title}
|
|
52
|
-
</
|
|
53
|
-
<
|
|
59
|
+
</SectionTitle>
|
|
60
|
+
<SectionDescription>
|
|
54
61
|
{description}
|
|
55
|
-
</
|
|
62
|
+
</SectionDescription>
|
|
56
63
|
</div>
|
|
57
64
|
{
|
|
58
65
|
buttons?.length && (
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
|
|
2
4
|
import { cn } from "@/lib/utils"
|
|
3
5
|
import { Button } from "@/components/ui/button"
|
|
4
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
Section,
|
|
8
|
+
SectionContainer,
|
|
9
|
+
SectionDescription,
|
|
10
|
+
SectionTitle,
|
|
11
|
+
} from "@/components/ui/section"
|
|
5
12
|
|
|
6
|
-
type Props = {
|
|
7
|
-
class?: string
|
|
13
|
+
type Props = HTMLAttributes<"section"> & {
|
|
8
14
|
title: string
|
|
9
15
|
description: string
|
|
10
16
|
buttons?: {
|
|
@@ -14,25 +20,24 @@ type Props = {
|
|
|
14
20
|
}[]
|
|
15
21
|
}
|
|
16
22
|
|
|
17
|
-
const { class: className, title, description, buttons } = Astro.props
|
|
23
|
+
const { class: className, title, description, buttons, ...props } = Astro.props
|
|
18
24
|
---
|
|
19
25
|
|
|
20
26
|
<Section
|
|
21
27
|
variant="floating"
|
|
22
28
|
class={cn("border-primary/20 shadow-none", className)}
|
|
29
|
+
{...props}
|
|
23
30
|
>
|
|
24
31
|
<SectionContainer
|
|
25
32
|
class="before:from-primary/20 relative items-center before:absolute before:top-full before:left-1/2 before:-z-10 before:h-[200%] before:w-full before:-translate-x-1/2 before:rounded-full before:bg-gradient-to-b before:to-transparent before:blur-3xl"
|
|
26
33
|
>
|
|
27
34
|
<div class="flex max-w-2xl flex-col items-center gap-5 text-center">
|
|
28
|
-
<
|
|
29
|
-
class="text-foreground text-3xl leading-[1.1] font-semibold tracking-tight text-balance sm:text-4xl"
|
|
30
|
-
>
|
|
35
|
+
<SectionTitle class="leading-[1.1]">
|
|
31
36
|
{title}
|
|
32
|
-
</
|
|
33
|
-
<
|
|
37
|
+
</SectionTitle>
|
|
38
|
+
<SectionDescription>
|
|
34
39
|
{description}
|
|
35
|
-
</
|
|
40
|
+
</SectionDescription>
|
|
36
41
|
</div>
|
|
37
42
|
{
|
|
38
43
|
buttons?.length && (
|
|
@@ -99,7 +99,7 @@ const showCopyButton = Boolean(copyButton)
|
|
|
99
99
|
const showOpenButton = Boolean(markdownUrl)
|
|
100
100
|
const showPagination = Boolean(previousPage || nextPage)
|
|
101
101
|
const assistantPrompt = markdownUrl
|
|
102
|
-
? `Read ${markdownUrl}, I want to ask questions about it.`
|
|
102
|
+
? `Read ${new URL(markdownUrl, Astro.site ?? Astro.url.origin).href}, I want to ask questions about it.`
|
|
103
103
|
: ""
|
|
104
104
|
const openLinks = markdownUrl
|
|
105
105
|
? [
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
|
|
2
4
|
import { cn } from "@/lib/utils"
|
|
3
5
|
import {
|
|
4
6
|
Accordion,
|
|
@@ -7,10 +9,14 @@ import {
|
|
|
7
9
|
AccordionTrigger,
|
|
8
10
|
} from "@/components/ui/accordion"
|
|
9
11
|
import { Button } from "@/components/ui/button"
|
|
10
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
Section,
|
|
14
|
+
SectionContainer,
|
|
15
|
+
SectionDescription,
|
|
16
|
+
SectionTitle,
|
|
17
|
+
} from "@/components/ui/section"
|
|
11
18
|
|
|
12
|
-
type Props = {
|
|
13
|
-
class?: string
|
|
19
|
+
type Props = HTMLAttributes<"section"> & {
|
|
14
20
|
title: string
|
|
15
21
|
description: string
|
|
16
22
|
faqs: {
|
|
@@ -25,20 +31,25 @@ type Props = {
|
|
|
25
31
|
}[]
|
|
26
32
|
}
|
|
27
33
|
|
|
28
|
-
const {
|
|
34
|
+
const {
|
|
35
|
+
class: className,
|
|
36
|
+
title,
|
|
37
|
+
description,
|
|
38
|
+
faqs,
|
|
39
|
+
buttons,
|
|
40
|
+
...props
|
|
41
|
+
} = Astro.props
|
|
29
42
|
---
|
|
30
43
|
|
|
31
|
-
<Section class={cn("", className)}>
|
|
44
|
+
<Section class={cn("", className)} {...props}>
|
|
32
45
|
<SectionContainer class="items-center text-center">
|
|
33
46
|
<div class="flex max-w-2xl flex-col items-center gap-5">
|
|
34
|
-
<
|
|
35
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
36
|
-
>
|
|
47
|
+
<SectionTitle>
|
|
37
48
|
{title}
|
|
38
|
-
</
|
|
39
|
-
<
|
|
49
|
+
</SectionTitle>
|
|
50
|
+
<SectionDescription>
|
|
40
51
|
{description}
|
|
41
|
-
</
|
|
52
|
+
</SectionDescription>
|
|
42
53
|
</div>
|
|
43
54
|
{
|
|
44
55
|
buttons?.length && (
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
|
|
2
4
|
import { cn } from "@/lib/utils"
|
|
3
5
|
import {
|
|
4
6
|
Accordion,
|
|
@@ -7,10 +9,13 @@ import {
|
|
|
7
9
|
AccordionTrigger,
|
|
8
10
|
} from "@/components/ui/accordion"
|
|
9
11
|
import { Button } from "@/components/ui/button"
|
|
10
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
Section,
|
|
14
|
+
SectionContainer,
|
|
15
|
+
SectionTitle,
|
|
16
|
+
} from "@/components/ui/section"
|
|
11
17
|
|
|
12
|
-
type Props = {
|
|
13
|
-
class?: string
|
|
18
|
+
type Props = HTMLAttributes<"section"> & {
|
|
14
19
|
title: string
|
|
15
20
|
description: string
|
|
16
21
|
faqs: {
|
|
@@ -25,20 +30,25 @@ type Props = {
|
|
|
25
30
|
}[]
|
|
26
31
|
}
|
|
27
32
|
|
|
28
|
-
const {
|
|
33
|
+
const {
|
|
34
|
+
class: className,
|
|
35
|
+
title,
|
|
36
|
+
description,
|
|
37
|
+
faqs,
|
|
38
|
+
buttons,
|
|
39
|
+
...props
|
|
40
|
+
} = Astro.props
|
|
29
41
|
---
|
|
30
42
|
|
|
31
|
-
<Section class={cn("", className)}>
|
|
43
|
+
<Section class={cn("", className)} {...props}>
|
|
32
44
|
<SectionContainer>
|
|
33
45
|
<div
|
|
34
46
|
class="grid gap-12 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.5fr)] lg:gap-16"
|
|
35
47
|
>
|
|
36
48
|
<div class="lg:sticky lg:top-24 lg:self-start">
|
|
37
|
-
<
|
|
38
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
39
|
-
>
|
|
49
|
+
<SectionTitle>
|
|
40
50
|
{title}
|
|
41
|
-
</
|
|
51
|
+
</SectionTitle>
|
|
42
52
|
<p
|
|
43
53
|
class="text-muted-foreground mt-4 text-base leading-relaxed text-balance"
|
|
44
54
|
>
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
|
|
2
4
|
import { cn } from "@/lib/utils"
|
|
3
5
|
import {
|
|
4
6
|
Accordion,
|
|
@@ -7,10 +9,13 @@ import {
|
|
|
7
9
|
AccordionTrigger,
|
|
8
10
|
} from "@/components/ui/accordion"
|
|
9
11
|
import { Badge } from "@/components/ui/badge"
|
|
10
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
Section,
|
|
14
|
+
SectionContainer,
|
|
15
|
+
SectionTitle,
|
|
16
|
+
} from "@/components/ui/section"
|
|
11
17
|
|
|
12
|
-
type Props = {
|
|
13
|
-
class?: string
|
|
18
|
+
type Props = HTMLAttributes<"section"> & {
|
|
14
19
|
badge?: string
|
|
15
20
|
title: string
|
|
16
21
|
description: string
|
|
@@ -21,18 +26,23 @@ type Props = {
|
|
|
21
26
|
}[]
|
|
22
27
|
}
|
|
23
28
|
|
|
24
|
-
const {
|
|
29
|
+
const {
|
|
30
|
+
class: className,
|
|
31
|
+
badge,
|
|
32
|
+
title,
|
|
33
|
+
description,
|
|
34
|
+
faqs,
|
|
35
|
+
...props
|
|
36
|
+
} = Astro.props
|
|
25
37
|
---
|
|
26
38
|
|
|
27
|
-
<Section class={cn("", className)}>
|
|
39
|
+
<Section class={cn("", className)} {...props}>
|
|
28
40
|
<SectionContainer class="items-center text-center">
|
|
29
41
|
<div class="flex max-w-2xl flex-col items-center gap-5">
|
|
30
42
|
{badge && <Badge variant="secondary">{badge}</Badge>}
|
|
31
|
-
<
|
|
32
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
33
|
-
>
|
|
43
|
+
<SectionTitle>
|
|
34
44
|
{title}
|
|
35
|
-
</
|
|
45
|
+
</SectionTitle>
|
|
36
46
|
<p class="text-muted-foreground text-base leading-relaxed text-balance">
|
|
37
47
|
{description}
|
|
38
48
|
</p>
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
|
|
2
4
|
import { cn } from "@/lib/utils"
|
|
3
5
|
import {
|
|
4
6
|
Accordion,
|
|
@@ -6,10 +8,13 @@ import {
|
|
|
6
8
|
AccordionItem,
|
|
7
9
|
AccordionTrigger,
|
|
8
10
|
} from "@/components/ui/accordion"
|
|
9
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
Section,
|
|
13
|
+
SectionContainer,
|
|
14
|
+
SectionTitle,
|
|
15
|
+
} from "@/components/ui/section"
|
|
10
16
|
|
|
11
|
-
type Props = {
|
|
12
|
-
class?: string
|
|
17
|
+
type Props = HTMLAttributes<"section"> & {
|
|
13
18
|
title: string
|
|
14
19
|
faqs: {
|
|
15
20
|
id: string
|
|
@@ -18,17 +23,15 @@ type Props = {
|
|
|
18
23
|
}[]
|
|
19
24
|
}
|
|
20
25
|
|
|
21
|
-
const { class: className, title, faqs } = Astro.props
|
|
26
|
+
const { class: className, title, faqs, ...props } = Astro.props
|
|
22
27
|
---
|
|
23
28
|
|
|
24
|
-
<Section class={cn("", className)}>
|
|
29
|
+
<Section class={cn("", className)} {...props}>
|
|
25
30
|
<SectionContainer class="items-center">
|
|
26
31
|
<div class="mx-auto w-full max-w-3xl">
|
|
27
|
-
<
|
|
28
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
29
|
-
>
|
|
32
|
+
<SectionTitle>
|
|
30
33
|
{title}
|
|
31
|
-
</
|
|
34
|
+
</SectionTitle>
|
|
32
35
|
<div class="mt-10">
|
|
33
36
|
<Accordion collapsible>
|
|
34
37
|
{
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
2
3
|
import ArrowRightIcon from "@lucide/astro/icons/arrow-right"
|
|
3
4
|
|
|
4
5
|
import { cn } from "@/lib/utils"
|
|
5
6
|
import { Button } from "@/components/ui/button"
|
|
6
7
|
import { Icon } from "@/components/ui/icon"
|
|
7
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
Section,
|
|
10
|
+
SectionContainer,
|
|
11
|
+
SectionDescription,
|
|
12
|
+
SectionTitle,
|
|
13
|
+
} from "@/components/ui/section"
|
|
8
14
|
|
|
9
|
-
type Props = {
|
|
10
|
-
class?: string
|
|
15
|
+
type Props = HTMLAttributes<"section"> & {
|
|
11
16
|
title: string
|
|
12
17
|
description: string
|
|
13
18
|
buttons?: {
|
|
@@ -24,22 +29,25 @@ type Props = {
|
|
|
24
29
|
}[]
|
|
25
30
|
}
|
|
26
31
|
|
|
27
|
-
const {
|
|
32
|
+
const {
|
|
33
|
+
class: className,
|
|
34
|
+
title,
|
|
35
|
+
description,
|
|
36
|
+
buttons,
|
|
37
|
+
features,
|
|
38
|
+
...props
|
|
39
|
+
} = Astro.props
|
|
28
40
|
---
|
|
29
41
|
|
|
30
|
-
<Section class={cn("", className)}>
|
|
42
|
+
<Section class={cn("", className)} {...props}>
|
|
31
43
|
<SectionContainer class="items-center gap-6 text-center">
|
|
32
44
|
<div class="flex max-w-2xl flex-col items-center gap-4">
|
|
33
|
-
<
|
|
34
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
35
|
-
>
|
|
45
|
+
<SectionTitle>
|
|
36
46
|
{title}
|
|
37
|
-
</
|
|
38
|
-
<
|
|
39
|
-
class="text-muted-foreground max-w-2xl text-lg leading-relaxed text-balance"
|
|
40
|
-
>
|
|
47
|
+
</SectionTitle>
|
|
48
|
+
<SectionDescription class="max-w-2xl">
|
|
41
49
|
{description}
|
|
42
|
-
</
|
|
50
|
+
</SectionDescription>
|
|
43
51
|
</div>
|
|
44
52
|
{
|
|
45
53
|
buttons?.length && (
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
|
|
2
4
|
import { cn } from "@/lib/utils"
|
|
3
5
|
import { Button } from "@/components/ui/button"
|
|
4
6
|
import { Icon } from "@/components/ui/icon"
|
|
5
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
Section,
|
|
9
|
+
SectionContainer,
|
|
10
|
+
SectionDescription,
|
|
11
|
+
SectionTitle,
|
|
12
|
+
} from "@/components/ui/section"
|
|
6
13
|
|
|
7
|
-
type Props = {
|
|
8
|
-
class?: string
|
|
14
|
+
type Props = HTMLAttributes<"section"> & {
|
|
9
15
|
title: string
|
|
10
16
|
description: string
|
|
11
17
|
buttons?: {
|
|
@@ -20,22 +26,25 @@ type Props = {
|
|
|
20
26
|
}[]
|
|
21
27
|
}
|
|
22
28
|
|
|
23
|
-
const {
|
|
29
|
+
const {
|
|
30
|
+
class: className,
|
|
31
|
+
title,
|
|
32
|
+
description,
|
|
33
|
+
buttons,
|
|
34
|
+
features,
|
|
35
|
+
...props
|
|
36
|
+
} = Astro.props
|
|
24
37
|
---
|
|
25
38
|
|
|
26
|
-
<Section class={cn("", className)}>
|
|
39
|
+
<Section class={cn("", className)} {...props}>
|
|
27
40
|
<SectionContainer class="items-center gap-6 text-center">
|
|
28
41
|
<div class="flex max-w-2xl flex-col items-center gap-4">
|
|
29
|
-
<
|
|
30
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
31
|
-
>
|
|
42
|
+
<SectionTitle>
|
|
32
43
|
{title}
|
|
33
|
-
</
|
|
34
|
-
<
|
|
35
|
-
class="text-muted-foreground max-w-2xl text-lg leading-relaxed text-balance"
|
|
36
|
-
>
|
|
44
|
+
</SectionTitle>
|
|
45
|
+
<SectionDescription class="max-w-2xl">
|
|
37
46
|
{description}
|
|
38
|
-
</
|
|
47
|
+
</SectionDescription>
|
|
39
48
|
</div>
|
|
40
49
|
{
|
|
41
50
|
buttons?.length && (
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { ImageMetadata } from "astro"
|
|
3
3
|
import { Image } from "astro:assets"
|
|
4
|
+
import type { HTMLAttributes } from "astro/types"
|
|
4
5
|
|
|
5
6
|
import { cn } from "@/lib/utils"
|
|
6
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
Section,
|
|
9
|
+
SectionContainer,
|
|
10
|
+
SectionDescription,
|
|
11
|
+
SectionTitle,
|
|
12
|
+
} from "@/components/ui/section"
|
|
7
13
|
|
|
8
|
-
type Props = {
|
|
9
|
-
class?: string
|
|
14
|
+
type Props = HTMLAttributes<"section"> & {
|
|
10
15
|
title: string
|
|
11
16
|
description: string
|
|
12
17
|
features: {
|
|
@@ -19,22 +24,18 @@ type Props = {
|
|
|
19
24
|
}[]
|
|
20
25
|
}
|
|
21
26
|
|
|
22
|
-
const { class: className, title, description, features } = Astro.props
|
|
27
|
+
const { class: className, title, description, features, ...props } = Astro.props
|
|
23
28
|
---
|
|
24
29
|
|
|
25
|
-
<Section class={cn("", className)}>
|
|
30
|
+
<Section class={cn("", className)} {...props}>
|
|
26
31
|
<SectionContainer class="items-center gap-6 text-center">
|
|
27
32
|
<div class="flex max-w-2xl flex-col items-center gap-4">
|
|
28
|
-
<
|
|
29
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
30
|
-
>
|
|
33
|
+
<SectionTitle>
|
|
31
34
|
{title}
|
|
32
|
-
</
|
|
33
|
-
<
|
|
34
|
-
class="text-muted-foreground max-w-2xl text-lg leading-relaxed text-balance"
|
|
35
|
-
>
|
|
35
|
+
</SectionTitle>
|
|
36
|
+
<SectionDescription class="max-w-2xl">
|
|
36
37
|
{description}
|
|
37
|
-
</
|
|
38
|
+
</SectionDescription>
|
|
38
39
|
</div>
|
|
39
40
|
</SectionContainer>
|
|
40
41
|
<SectionContainer>
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
2
3
|
import ArrowRightIcon from "@lucide/astro/icons/arrow-right"
|
|
3
4
|
|
|
4
5
|
import { cn } from "@/lib/utils"
|
|
5
6
|
import { Button } from "@/components/ui/button"
|
|
6
7
|
import { Icon } from "@/components/ui/icon"
|
|
7
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
Section,
|
|
10
|
+
SectionContainer,
|
|
11
|
+
SectionTitle,
|
|
12
|
+
} from "@/components/ui/section"
|
|
8
13
|
|
|
9
|
-
type Props = {
|
|
10
|
-
class?: string
|
|
14
|
+
type Props = HTMLAttributes<"section"> & {
|
|
11
15
|
title: string
|
|
12
16
|
description: string
|
|
13
17
|
buttons?: {
|
|
@@ -24,18 +28,23 @@ type Props = {
|
|
|
24
28
|
}[]
|
|
25
29
|
}
|
|
26
30
|
|
|
27
|
-
const {
|
|
31
|
+
const {
|
|
32
|
+
class: className,
|
|
33
|
+
title,
|
|
34
|
+
description,
|
|
35
|
+
buttons,
|
|
36
|
+
features,
|
|
37
|
+
...props
|
|
38
|
+
} = Astro.props
|
|
28
39
|
---
|
|
29
40
|
|
|
30
|
-
<Section class={cn("", className)}>
|
|
41
|
+
<Section class={cn("", className)} {...props}>
|
|
31
42
|
<SectionContainer>
|
|
32
43
|
<div class="grid gap-12 lg:grid-cols-[1fr_2fr] lg:items-start">
|
|
33
44
|
<div class="lg:sticky lg:top-28">
|
|
34
|
-
<
|
|
35
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
36
|
-
>
|
|
45
|
+
<SectionTitle>
|
|
37
46
|
{title}
|
|
38
|
-
</
|
|
47
|
+
</SectionTitle>
|
|
39
48
|
<p
|
|
40
49
|
class="text-muted-foreground mt-4 text-base leading-relaxed text-balance"
|
|
41
50
|
>
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
|
|
2
4
|
import { cn } from "@/lib/utils"
|
|
3
5
|
import { Button } from "@/components/ui/button"
|
|
4
6
|
import { Icon } from "@/components/ui/icon"
|
|
5
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
Section,
|
|
9
|
+
SectionContainer,
|
|
10
|
+
SectionDescription,
|
|
11
|
+
SectionTitle,
|
|
12
|
+
} from "@/components/ui/section"
|
|
6
13
|
|
|
7
|
-
type Props = {
|
|
8
|
-
class?: string
|
|
14
|
+
type Props = HTMLAttributes<"section"> & {
|
|
9
15
|
title: string
|
|
10
16
|
description: string
|
|
11
17
|
buttons?: {
|
|
@@ -20,22 +26,25 @@ type Props = {
|
|
|
20
26
|
}[]
|
|
21
27
|
}
|
|
22
28
|
|
|
23
|
-
const {
|
|
29
|
+
const {
|
|
30
|
+
class: className,
|
|
31
|
+
title,
|
|
32
|
+
description,
|
|
33
|
+
buttons,
|
|
34
|
+
features,
|
|
35
|
+
...props
|
|
36
|
+
} = Astro.props
|
|
24
37
|
---
|
|
25
38
|
|
|
26
|
-
<Section variant="floating" class={cn("", className)}>
|
|
39
|
+
<Section variant="floating" class={cn("", className)} {...props}>
|
|
27
40
|
<SectionContainer class="items-center gap-6 text-center">
|
|
28
41
|
<div class="flex max-w-2xl flex-col items-center gap-4">
|
|
29
|
-
<
|
|
30
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
31
|
-
>
|
|
42
|
+
<SectionTitle>
|
|
32
43
|
{title}
|
|
33
|
-
</
|
|
34
|
-
<
|
|
35
|
-
class="text-muted-foreground max-w-2xl text-lg leading-relaxed text-balance"
|
|
36
|
-
>
|
|
44
|
+
</SectionTitle>
|
|
45
|
+
<SectionDescription class="max-w-2xl">
|
|
37
46
|
{description}
|
|
38
|
-
</
|
|
47
|
+
</SectionDescription>
|
|
39
48
|
</div>
|
|
40
49
|
{
|
|
41
50
|
buttons?.length && (
|