fulldev-ui 0.10.0 → 0.11.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.
- package/CHANGELOG.md +12 -0
- package/README.md +7 -1
- package/package.json +6 -4
- package/public/r/accordion.json +8 -2
- package/public/r/alert-dialog.json +9 -3
- 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 +6 -0
- 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 +9 -3
- 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 +9 -2
- 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 +11 -5
- 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 +9 -3
- package/public/r/sidebar-1.json +5 -0
- package/public/r/sidebar.json +9 -3
- 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 +8 -2
- 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 +6 -0
- package/public/r/video.json +6 -0
- package/registry/init/global.css +187 -0
- package/registry.json +1138 -455
- 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 +10 -4
- package/src/components/blocks/blocks-1.astro +1 -1
- package/src/components/blocks/contact-1.astro +72 -39
- package/src/components/blocks/contact-2.astro +69 -35
- package/src/components/blocks/contact-3.astro +61 -34
- 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/ui/accordion/accordion-content.astro +2 -1
- package/src/components/ui/accordion/accordion.astro +1 -0
- package/src/components/ui/alert-dialog/alert-dialog-content.astro +1 -1
- package/src/components/ui/alert-dialog/alert-dialog-overlay.astro +1 -1
- package/src/components/ui/alert-dialog/alert-dialog.astro +1 -0
- package/src/components/ui/collapsible/collapsible.astro +1 -0
- package/src/components/ui/dialog/dialog-content.astro +1 -1
- package/src/components/ui/dialog/dialog-overlay.astro +1 -1
- 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 +10 -3
- package/src/components/ui/icon/icon.astro +46 -29
- package/src/components/ui/navigation-menu/navigation-menu-content.astro +2 -0
- package/src/components/ui/navigation-menu/navigation-menu-indicator.astro +2 -1
- package/src/components/ui/navigation-menu/navigation-menu-list.astro +1 -1
- package/src/components/ui/navigation-menu/navigation-menu-positioner.astro +2 -0
- 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-content.astro +2 -2
- package/src/components/ui/sheet/sheet.astro +2 -89
- package/src/components/ui/sidebar/sidebar-menu-button.astro +0 -1
- package/src/components/ui/sidebar/sidebar-provider.astro +36 -2
- package/src/components/ui/sidebar/sidebar.astro +0 -1
- package/src/components/ui/slider/slider.astro +4 -3
- package/src/components/ui/switch/switch.astro +5 -2
- package/src/components/ui/tabs/tabs-content.astro +2 -1
- package/src/components/ui/tabs/tabs.astro +1 -0
- package/src/components/ui/toggle/toggle.astro +3 -0
- package/src/components/ui/tooltip/tooltip.astro +1 -0
- package/src/lib/pages.ts +12 -0
|
@@ -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
|
import { CheckIcon } from "@lucide/astro"
|
|
5
6
|
|
|
6
7
|
import { cn } from "@/lib/utils"
|
|
@@ -14,8 +15,7 @@ import { Button } from "@/components/ui/button"
|
|
|
14
15
|
import { Rating } from "@/components/ui/rating"
|
|
15
16
|
import { Section, SectionContainer } from "@/components/ui/section"
|
|
16
17
|
|
|
17
|
-
type Props = {
|
|
18
|
-
class?: string
|
|
18
|
+
type Props = HTMLAttributes<"section"> & {
|
|
19
19
|
title: string
|
|
20
20
|
description: string
|
|
21
21
|
features: string[]
|
|
@@ -47,10 +47,11 @@ const {
|
|
|
47
47
|
buttons,
|
|
48
48
|
socialProof,
|
|
49
49
|
image,
|
|
50
|
+
...props
|
|
50
51
|
} = Astro.props
|
|
51
52
|
---
|
|
52
53
|
|
|
53
|
-
<Section class={cn("", className)}>
|
|
54
|
+
<Section class={cn("", className)} {...props}>
|
|
54
55
|
<SectionContainer class="grid gap-12 lg:grid-cols-2 lg:items-center">
|
|
55
56
|
<Image
|
|
56
57
|
src={image.src}
|
|
@@ -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
|
import { CheckIcon } from "@lucide/astro"
|
|
5
6
|
|
|
6
7
|
import { cn } from "@/lib/utils"
|
|
@@ -14,8 +15,7 @@ import { Button } from "@/components/ui/button"
|
|
|
14
15
|
import { Rating } from "@/components/ui/rating"
|
|
15
16
|
import { Section, SectionContainer } from "@/components/ui/section"
|
|
16
17
|
|
|
17
|
-
type Props = {
|
|
18
|
-
class?: string
|
|
18
|
+
type Props = HTMLAttributes<"section"> & {
|
|
19
19
|
title: string
|
|
20
20
|
description: string
|
|
21
21
|
features: string[]
|
|
@@ -47,10 +47,11 @@ const {
|
|
|
47
47
|
buttons,
|
|
48
48
|
socialProof,
|
|
49
49
|
image,
|
|
50
|
+
...props
|
|
50
51
|
} = Astro.props
|
|
51
52
|
---
|
|
52
53
|
|
|
53
|
-
<Section class={cn("", className)}>
|
|
54
|
+
<Section class={cn("", className)} {...props}>
|
|
54
55
|
<SectionContainer
|
|
55
56
|
class="grid gap-12 lg:grid-cols-[2fr_3fr] lg:items-center lg:gap-0"
|
|
56
57
|
>
|
|
@@ -1,13 +1,13 @@
|
|
|
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 { Button } from "@/components/ui/button"
|
|
7
8
|
import { Section, SectionContainer } from "@/components/ui/section"
|
|
8
9
|
|
|
9
|
-
type Props = {
|
|
10
|
-
class?: string
|
|
10
|
+
type Props = HTMLAttributes<"section"> & {
|
|
11
11
|
title: string
|
|
12
12
|
description: string
|
|
13
13
|
buttons: {
|
|
@@ -21,10 +21,17 @@ type Props = {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
const {
|
|
24
|
+
const {
|
|
25
|
+
class: className,
|
|
26
|
+
title,
|
|
27
|
+
description,
|
|
28
|
+
buttons,
|
|
29
|
+
image,
|
|
30
|
+
...props
|
|
31
|
+
} = Astro.props
|
|
25
32
|
---
|
|
26
33
|
|
|
27
|
-
<Section class={cn("", className)}>
|
|
34
|
+
<Section class={cn("", className)} {...props}>
|
|
28
35
|
<SectionContainer
|
|
29
36
|
class="grid gap-12 lg:grid-cols-[1fr_3fr] lg:items-center lg:gap-0"
|
|
30
37
|
>
|
|
@@ -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
|
import { CheckIcon } from "@lucide/astro"
|
|
5
6
|
|
|
6
7
|
import { cn } from "@/lib/utils"
|
|
@@ -14,8 +15,7 @@ import { Button } from "@/components/ui/button"
|
|
|
14
15
|
import { Rating } from "@/components/ui/rating"
|
|
15
16
|
import { Section, SectionContainer } from "@/components/ui/section"
|
|
16
17
|
|
|
17
|
-
type Props = {
|
|
18
|
-
class?: string
|
|
18
|
+
type Props = HTMLAttributes<"section"> & {
|
|
19
19
|
title: string
|
|
20
20
|
description: string
|
|
21
21
|
features: string[]
|
|
@@ -47,10 +47,11 @@ const {
|
|
|
47
47
|
buttons,
|
|
48
48
|
socialProof,
|
|
49
49
|
image,
|
|
50
|
+
...props
|
|
50
51
|
} = Astro.props
|
|
51
52
|
---
|
|
52
53
|
|
|
53
|
-
<Section class={cn("dark bg-background", className)}>
|
|
54
|
+
<Section class={cn("dark bg-background", className)} {...props}>
|
|
54
55
|
<SectionContainer class="grid gap-12 lg:grid-cols-2 lg:items-center">
|
|
55
56
|
<div class="relative z-10 flex flex-col gap-6">
|
|
56
57
|
<div class="flex flex-col gap-4">
|
|
@@ -1,11 +1,11 @@
|
|
|
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 { Section, SectionContainer } from "@/components/ui/section"
|
|
6
7
|
|
|
7
|
-
type Props = {
|
|
8
|
-
class?: string
|
|
8
|
+
type Props = HTMLAttributes<"section"> & {
|
|
9
9
|
title: string
|
|
10
10
|
description: string
|
|
11
11
|
links: {
|
|
@@ -16,10 +16,10 @@ type Props = {
|
|
|
16
16
|
}[]
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
const { class: className, title, description, links } = Astro.props
|
|
19
|
+
const { class: className, title, description, links, ...props } = Astro.props
|
|
20
20
|
---
|
|
21
21
|
|
|
22
|
-
<Section class={cn("", className)}>
|
|
22
|
+
<Section class={cn("", className)} {...props}>
|
|
23
23
|
<SectionContainer class="gap-10">
|
|
24
24
|
<div class="flex min-w-0 flex-col gap-4 border-b pb-8">
|
|
25
25
|
<h2
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
|
|
2
4
|
import { cn } from "@/lib/utils"
|
|
3
5
|
import { Logo, LogoText } from "@/components/ui/logo"
|
|
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
|
brands: {
|
|
@@ -13,24 +19,16 @@ type Props = {
|
|
|
13
19
|
}[]
|
|
14
20
|
}
|
|
15
21
|
|
|
16
|
-
const { class: className, title, description, brands } = Astro.props
|
|
22
|
+
const { class: className, title, description, brands, ...props } = Astro.props
|
|
17
23
|
---
|
|
18
24
|
|
|
19
|
-
<Section class={cn("", className)}>
|
|
25
|
+
<Section class={cn("", className)} {...props}>
|
|
20
26
|
<SectionContainer class="items-center gap-10 text-center">
|
|
21
27
|
<div class="flex max-w-2xl flex-col items-center gap-4">
|
|
22
|
-
<
|
|
23
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
24
|
-
>
|
|
28
|
+
<SectionTitle>
|
|
25
29
|
{title}
|
|
26
|
-
</
|
|
27
|
-
{
|
|
28
|
-
description && (
|
|
29
|
-
<p class="text-muted-foreground text-lg leading-relaxed text-balance">
|
|
30
|
-
{description}
|
|
31
|
-
</p>
|
|
32
|
-
)
|
|
33
|
-
}
|
|
30
|
+
</SectionTitle>
|
|
31
|
+
{description && <SectionDescription>{description}</SectionDescription>}
|
|
34
32
|
</div>
|
|
35
33
|
<div
|
|
36
34
|
class="text-muted-foreground flex w-full flex-wrap items-center justify-center gap-x-12 gap-y-6"
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
|
|
2
4
|
import { cn } from "@/lib/utils"
|
|
3
5
|
import { Logo, LogoText } from "@/components/ui/logo"
|
|
4
6
|
import { Marquee } from "@/components/ui/marquee"
|
|
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
|
brands: {
|
|
@@ -14,22 +20,18 @@ type Props = {
|
|
|
14
20
|
}[]
|
|
15
21
|
}
|
|
16
22
|
|
|
17
|
-
const { class: className, title, description, brands } = Astro.props
|
|
23
|
+
const { class: className, title, description, brands, ...props } = Astro.props
|
|
18
24
|
---
|
|
19
25
|
|
|
20
|
-
<Section class={cn("", className)}>
|
|
26
|
+
<Section class={cn("", className)} {...props}>
|
|
21
27
|
{
|
|
22
28
|
(title || description) && (
|
|
23
29
|
<SectionContainer class="items-center gap-4 text-center">
|
|
24
|
-
{title &&
|
|
25
|
-
<h2 class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl">
|
|
26
|
-
{title}
|
|
27
|
-
</h2>
|
|
28
|
-
)}
|
|
30
|
+
{title && <SectionTitle>{title}</SectionTitle>}
|
|
29
31
|
{description && (
|
|
30
|
-
<
|
|
32
|
+
<SectionDescription class="max-w-2xl">
|
|
31
33
|
{description}
|
|
32
|
-
</
|
|
34
|
+
</SectionDescription>
|
|
33
35
|
)}
|
|
34
36
|
</SectionContainer>
|
|
35
37
|
)
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
|
|
2
4
|
import { cn } from "@/lib/utils"
|
|
3
5
|
import { Logo, LogoText } from "@/components/ui/logo"
|
|
4
6
|
import { Section, SectionContainer } from "@/components/ui/section"
|
|
5
7
|
|
|
6
|
-
type Props = {
|
|
7
|
-
class?: string
|
|
8
|
+
type Props = HTMLAttributes<"section"> & {
|
|
8
9
|
brands: {
|
|
9
10
|
name: string
|
|
10
11
|
href?: string
|
|
11
12
|
}[]
|
|
12
13
|
}
|
|
13
14
|
|
|
14
|
-
const { class: className, brands } = Astro.props
|
|
15
|
+
const { class: className, brands, ...props } = Astro.props
|
|
15
16
|
---
|
|
16
17
|
|
|
17
|
-
<Section class={cn("py-12 lg:py-16", className)}>
|
|
18
|
+
<Section class={cn("py-12 lg:py-16", className)} {...props}>
|
|
18
19
|
<SectionContainer>
|
|
19
20
|
<div
|
|
20
21
|
class="text-muted-foreground flex flex-wrap items-center justify-center gap-x-12 gap-y-6"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
2
3
|
import { CheckIcon } from "@lucide/astro"
|
|
3
4
|
|
|
4
5
|
import { cn } from "@/lib/utils"
|
|
@@ -13,11 +14,15 @@ import {
|
|
|
13
14
|
CardTitle,
|
|
14
15
|
} from "@/components/ui/card"
|
|
15
16
|
import { Price, PriceUnit, PriceValue } from "@/components/ui/price"
|
|
16
|
-
import {
|
|
17
|
+
import {
|
|
18
|
+
Section,
|
|
19
|
+
SectionContainer,
|
|
20
|
+
SectionDescription,
|
|
21
|
+
SectionTitle,
|
|
22
|
+
} from "@/components/ui/section"
|
|
17
23
|
import { Separator } from "@/components/ui/separator"
|
|
18
24
|
|
|
19
|
-
type Props = {
|
|
20
|
-
class?: string
|
|
25
|
+
type Props = HTMLAttributes<"section"> & {
|
|
21
26
|
title: string
|
|
22
27
|
description?: string
|
|
23
28
|
plans: {
|
|
@@ -36,24 +41,16 @@ type Props = {
|
|
|
36
41
|
}[]
|
|
37
42
|
}
|
|
38
43
|
|
|
39
|
-
const { class: className, title, description, plans } = Astro.props
|
|
44
|
+
const { class: className, title, description, plans, ...props } = Astro.props
|
|
40
45
|
---
|
|
41
46
|
|
|
42
|
-
<Section class={cn("", className)}>
|
|
47
|
+
<Section class={cn("", className)} {...props}>
|
|
43
48
|
<SectionContainer class="items-center gap-8 text-center">
|
|
44
49
|
<div class="flex max-w-2xl flex-col items-center gap-4">
|
|
45
|
-
<
|
|
46
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
47
|
-
>
|
|
50
|
+
<SectionTitle>
|
|
48
51
|
{title}
|
|
49
|
-
</
|
|
50
|
-
{
|
|
51
|
-
description && (
|
|
52
|
-
<p class="text-muted-foreground text-lg leading-relaxed text-balance">
|
|
53
|
-
{description}
|
|
54
|
-
</p>
|
|
55
|
-
)
|
|
56
|
-
}
|
|
52
|
+
</SectionTitle>
|
|
53
|
+
{description && <SectionDescription>{description}</SectionDescription>}
|
|
57
54
|
</div>
|
|
58
55
|
</SectionContainer>
|
|
59
56
|
<SectionContainer>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
2
3
|
import { CheckIcon } from "@lucide/astro"
|
|
3
4
|
|
|
4
5
|
import { cn } from "@/lib/utils"
|
|
@@ -12,11 +13,15 @@ import {
|
|
|
12
13
|
CardTitle,
|
|
13
14
|
} from "@/components/ui/card"
|
|
14
15
|
import { Price, PriceUnit, PriceValue } from "@/components/ui/price"
|
|
15
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
Section,
|
|
18
|
+
SectionContainer,
|
|
19
|
+
SectionDescription,
|
|
20
|
+
SectionTitle,
|
|
21
|
+
} from "@/components/ui/section"
|
|
16
22
|
import { Separator } from "@/components/ui/separator"
|
|
17
23
|
|
|
18
|
-
type Props = {
|
|
19
|
-
class?: string
|
|
24
|
+
type Props = HTMLAttributes<"section"> & {
|
|
20
25
|
title: string
|
|
21
26
|
description: string
|
|
22
27
|
plans: {
|
|
@@ -35,22 +40,18 @@ type Props = {
|
|
|
35
40
|
}[]
|
|
36
41
|
}
|
|
37
42
|
|
|
38
|
-
const { class: className, title, description, plans } = Astro.props
|
|
43
|
+
const { class: className, title, description, plans, ...props } = Astro.props
|
|
39
44
|
---
|
|
40
45
|
|
|
41
|
-
<Section class={cn("", className)}>
|
|
46
|
+
<Section class={cn("", className)} {...props}>
|
|
42
47
|
<SectionContainer class="gap-8">
|
|
43
48
|
<div class="mx-auto max-w-2xl text-center">
|
|
44
|
-
<
|
|
45
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
46
|
-
>
|
|
49
|
+
<SectionTitle>
|
|
47
50
|
{title}
|
|
48
|
-
</
|
|
49
|
-
<
|
|
50
|
-
class="text-muted-foreground mt-4 text-lg leading-relaxed text-balance"
|
|
51
|
-
>
|
|
51
|
+
</SectionTitle>
|
|
52
|
+
<SectionDescription class="mt-4">
|
|
52
53
|
{description}
|
|
53
|
-
</
|
|
54
|
+
</SectionDescription>
|
|
54
55
|
</div>
|
|
55
56
|
<div
|
|
56
57
|
class="mx-auto grid w-full justify-center gap-6 sm:grid-cols-2 lg:grid-cols-[repeat(auto-fit,minmax(16rem,18rem))]"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
2
3
|
import { CheckIcon } from "@lucide/astro"
|
|
3
4
|
|
|
4
5
|
import { cn } from "@/lib/utils"
|
|
@@ -13,11 +14,15 @@ import {
|
|
|
13
14
|
CardTitle,
|
|
14
15
|
} from "@/components/ui/card"
|
|
15
16
|
import { Price, PriceUnit, PriceValue } from "@/components/ui/price"
|
|
16
|
-
import {
|
|
17
|
+
import {
|
|
18
|
+
Section,
|
|
19
|
+
SectionContainer,
|
|
20
|
+
SectionDescription,
|
|
21
|
+
SectionTitle,
|
|
22
|
+
} from "@/components/ui/section"
|
|
17
23
|
import { Separator } from "@/components/ui/separator"
|
|
18
24
|
|
|
19
|
-
type Props = {
|
|
20
|
-
class?: string
|
|
25
|
+
type Props = HTMLAttributes<"section"> & {
|
|
21
26
|
badge?: string
|
|
22
27
|
title: string
|
|
23
28
|
description?: string
|
|
@@ -36,25 +41,24 @@ type Props = {
|
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
43
|
|
|
39
|
-
const {
|
|
44
|
+
const {
|
|
45
|
+
class: className,
|
|
46
|
+
badge,
|
|
47
|
+
title,
|
|
48
|
+
description,
|
|
49
|
+
offer,
|
|
50
|
+
...props
|
|
51
|
+
} = Astro.props
|
|
40
52
|
---
|
|
41
53
|
|
|
42
|
-
<Section class={cn("", className)}>
|
|
54
|
+
<Section class={cn("", className)} {...props}>
|
|
43
55
|
<SectionContainer class="items-center gap-8 text-center">
|
|
44
56
|
<div class="flex max-w-2xl flex-col items-center gap-4">
|
|
45
57
|
{badge && <Badge variant="secondary">{badge}</Badge>}
|
|
46
|
-
<
|
|
47
|
-
class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
48
|
-
>
|
|
58
|
+
<SectionTitle>
|
|
49
59
|
{title}
|
|
50
|
-
</
|
|
51
|
-
{
|
|
52
|
-
description && (
|
|
53
|
-
<p class="text-muted-foreground text-lg leading-relaxed text-balance">
|
|
54
|
-
{description}
|
|
55
|
-
</p>
|
|
56
|
-
)
|
|
57
|
-
}
|
|
60
|
+
</SectionTitle>
|
|
61
|
+
{description && <SectionDescription>{description}</SectionDescription>}
|
|
58
62
|
</div>
|
|
59
63
|
<Card class="ring-primary w-full max-w-md ring-2">
|
|
60
64
|
<CardHeader class="text-left">
|
|
@@ -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 { Badge } from "@/components/ui/badge"
|
|
@@ -8,8 +9,7 @@ import { Button } from "@/components/ui/button"
|
|
|
8
9
|
import { Price, PriceUnit, PriceValue } from "@/components/ui/price"
|
|
9
10
|
import { Section, SectionContainer } from "@/components/ui/section"
|
|
10
11
|
|
|
11
|
-
type Props = {
|
|
12
|
-
class?: string
|
|
12
|
+
type Props = HTMLAttributes<"section"> & {
|
|
13
13
|
badge: string
|
|
14
14
|
title: string
|
|
15
15
|
description: string
|
|
@@ -39,10 +39,11 @@ const {
|
|
|
39
39
|
price,
|
|
40
40
|
note,
|
|
41
41
|
buttons,
|
|
42
|
+
...props
|
|
42
43
|
} = Astro.props
|
|
43
44
|
---
|
|
44
45
|
|
|
45
|
-
<Section class={cn("", className)}>
|
|
46
|
+
<Section class={cn("", className)} {...props}>
|
|
46
47
|
<SectionContainer class="grid gap-8 lg:grid-cols-2 lg:items-center">
|
|
47
48
|
<Image
|
|
48
49
|
src={image.src}
|
|
@@ -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 { Badge } from "@/components/ui/badge"
|
|
@@ -12,10 +13,13 @@ import {
|
|
|
12
13
|
CardTitle,
|
|
13
14
|
} from "@/components/ui/card"
|
|
14
15
|
import { Price, PriceUnit, PriceValue } from "@/components/ui/price"
|
|
15
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
Section,
|
|
18
|
+
SectionContainer,
|
|
19
|
+
SectionTitle,
|
|
20
|
+
} from "@/components/ui/section"
|
|
16
21
|
|
|
17
|
-
type Props = {
|
|
18
|
-
class?: string
|
|
22
|
+
type Props = HTMLAttributes<"section"> & {
|
|
19
23
|
badge: string
|
|
20
24
|
title: string
|
|
21
25
|
products: {
|
|
@@ -33,18 +37,16 @@ type Props = {
|
|
|
33
37
|
}[]
|
|
34
38
|
}
|
|
35
39
|
|
|
36
|
-
const { class: className, badge, title, products } = Astro.props
|
|
40
|
+
const { class: className, badge, title, products, ...props } = Astro.props
|
|
37
41
|
---
|
|
38
42
|
|
|
39
|
-
<Section class={cn("", className)}>
|
|
43
|
+
<Section class={cn("", className)} {...props}>
|
|
40
44
|
<SectionContainer class="gap-8">
|
|
41
45
|
<div class="mx-auto max-w-2xl text-center">
|
|
42
46
|
<Badge variant="secondary">{badge}</Badge>
|
|
43
|
-
<
|
|
44
|
-
class="mt-4 text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
45
|
-
>
|
|
47
|
+
<SectionTitle class="mt-4">
|
|
46
48
|
{title}
|
|
47
|
-
</
|
|
49
|
+
</SectionTitle>
|
|
48
50
|
</div>
|
|
49
51
|
<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-4">
|
|
50
52
|
{
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
|
|
2
4
|
import { cn } from "@/lib/utils"
|
|
3
5
|
import { Badge } from "@/components/ui/badge"
|
|
4
6
|
import { Price, PriceUnit, PriceValue } from "@/components/ui/price"
|
|
5
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
Section,
|
|
9
|
+
SectionContainer,
|
|
10
|
+
SectionTitle,
|
|
11
|
+
} from "@/components/ui/section"
|
|
6
12
|
import { Separator } from "@/components/ui/separator"
|
|
7
13
|
|
|
8
|
-
type Props = {
|
|
9
|
-
class?: string
|
|
14
|
+
type Props = HTMLAttributes<"section"> & {
|
|
10
15
|
badge: string
|
|
11
16
|
title: string
|
|
12
17
|
products: {
|
|
@@ -20,18 +25,16 @@ type Props = {
|
|
|
20
25
|
}[]
|
|
21
26
|
}
|
|
22
27
|
|
|
23
|
-
const { class: className, badge, title, products } = Astro.props
|
|
28
|
+
const { class: className, badge, title, products, ...props } = Astro.props
|
|
24
29
|
---
|
|
25
30
|
|
|
26
|
-
<Section class={cn("", className)}>
|
|
31
|
+
<Section class={cn("", className)} {...props}>
|
|
27
32
|
<SectionContainer class="gap-8">
|
|
28
33
|
<div class="max-w-2xl">
|
|
29
34
|
<Badge variant="secondary">{badge}</Badge>
|
|
30
|
-
<
|
|
31
|
-
class="mt-4 text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
32
|
-
>
|
|
35
|
+
<SectionTitle class="mt-4">
|
|
33
36
|
{title}
|
|
34
|
-
</
|
|
37
|
+
</SectionTitle>
|
|
35
38
|
</div>
|
|
36
39
|
<div class="grid gap-3">
|
|
37
40
|
{
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
|
|
2
4
|
import { cn } from "@/lib/utils"
|
|
3
5
|
import { Badge } from "@/components/ui/badge"
|
|
4
6
|
import {
|
|
@@ -9,10 +11,13 @@ import {
|
|
|
9
11
|
CardTitle,
|
|
10
12
|
} from "@/components/ui/card"
|
|
11
13
|
import { Price, PriceValue } from "@/components/ui/price"
|
|
12
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
Section,
|
|
16
|
+
SectionContainer,
|
|
17
|
+
SectionTitle,
|
|
18
|
+
} from "@/components/ui/section"
|
|
13
19
|
|
|
14
|
-
type Props = {
|
|
15
|
-
class?: string
|
|
20
|
+
type Props = HTMLAttributes<"section"> & {
|
|
16
21
|
badge: string
|
|
17
22
|
title: string
|
|
18
23
|
products: {
|
|
@@ -25,18 +30,16 @@ type Props = {
|
|
|
25
30
|
}[]
|
|
26
31
|
}
|
|
27
32
|
|
|
28
|
-
const { class: className, badge, title, products } = Astro.props
|
|
33
|
+
const { class: className, badge, title, products, ...props } = Astro.props
|
|
29
34
|
---
|
|
30
35
|
|
|
31
|
-
<Section class={cn("", className)}>
|
|
36
|
+
<Section class={cn("", className)} {...props}>
|
|
32
37
|
<SectionContainer class="gap-8">
|
|
33
38
|
<div class="mx-auto max-w-2xl text-center">
|
|
34
39
|
<Badge variant="secondary">{badge}</Badge>
|
|
35
|
-
<
|
|
36
|
-
class="mt-4 text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
37
|
-
>
|
|
40
|
+
<SectionTitle class="mt-4">
|
|
38
41
|
{title}
|
|
39
|
-
</
|
|
42
|
+
</SectionTitle>
|
|
40
43
|
</div>
|
|
41
44
|
<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3">
|
|
42
45
|
{
|
|
@@ -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 { Button } from "@/components/ui/button"
|
|
@@ -12,10 +13,13 @@ import {
|
|
|
12
13
|
CardTitle,
|
|
13
14
|
} from "@/components/ui/card"
|
|
14
15
|
import { Price, PriceUnit, PriceValue } from "@/components/ui/price"
|
|
15
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
Section,
|
|
18
|
+
SectionContainer,
|
|
19
|
+
SectionTitle,
|
|
20
|
+
} from "@/components/ui/section"
|
|
16
21
|
|
|
17
|
-
type Props = {
|
|
18
|
-
class?: string
|
|
22
|
+
type Props = HTMLAttributes<"section"> & {
|
|
19
23
|
title: string
|
|
20
24
|
description: string
|
|
21
25
|
buttons: {
|
|
@@ -38,20 +42,25 @@ type Props = {
|
|
|
38
42
|
}[]
|
|
39
43
|
}
|
|
40
44
|
|
|
41
|
-
const {
|
|
45
|
+
const {
|
|
46
|
+
class: className,
|
|
47
|
+
title,
|
|
48
|
+
description,
|
|
49
|
+
buttons,
|
|
50
|
+
products,
|
|
51
|
+
...props
|
|
52
|
+
} = Astro.props
|
|
42
53
|
---
|
|
43
54
|
|
|
44
|
-
<Section class={cn("", className)}>
|
|
55
|
+
<Section class={cn("", className)} {...props}>
|
|
45
56
|
<SectionContainer class="gap-8">
|
|
46
57
|
<div
|
|
47
58
|
class="flex flex-col gap-4 md:flex-row md:items-end md:justify-between"
|
|
48
59
|
>
|
|
49
60
|
<div class="max-w-2xl">
|
|
50
|
-
<
|
|
51
|
-
class="text-3xl font-semibold tracking-tight text-balance sm:text-4xl"
|
|
52
|
-
>
|
|
61
|
+
<SectionTitle>
|
|
53
62
|
{title}
|
|
54
|
-
</
|
|
63
|
+
</SectionTitle>
|
|
55
64
|
<p class="text-muted-foreground mt-3 text-lg leading-8">
|
|
56
65
|
{description}
|
|
57
66
|
</p>
|