fulldev-ui 0.10.1 → 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 +6 -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 +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 +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 +5 -0
- 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 +6 -0
- 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 +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.astro +1 -0
- 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.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/lib/pages.ts +12 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
2
3
|
import Discord from "simple-icons-astro/Discord"
|
|
3
4
|
import Github from "simple-icons-astro/Github"
|
|
4
5
|
import X from "simple-icons-astro/X"
|
|
@@ -8,8 +9,7 @@ import { Logo, LogoText } from "@/components/ui/logo"
|
|
|
8
9
|
import { Section, SectionContainer } from "@/components/ui/section"
|
|
9
10
|
import { Separator } from "@/components/ui/separator"
|
|
10
11
|
|
|
11
|
-
type Props = {
|
|
12
|
-
class?: string
|
|
12
|
+
type Props = HTMLAttributes<"footer"> & {
|
|
13
13
|
brandName: string
|
|
14
14
|
brandHref: string
|
|
15
15
|
description: string
|
|
@@ -33,6 +33,7 @@ const {
|
|
|
33
33
|
links,
|
|
34
34
|
socials,
|
|
35
35
|
copyright,
|
|
36
|
+
...props
|
|
36
37
|
} = Astro.props
|
|
37
38
|
|
|
38
39
|
const iconMap: Record<string, any> = {
|
|
@@ -42,7 +43,7 @@ const iconMap: Record<string, any> = {
|
|
|
42
43
|
}
|
|
43
44
|
---
|
|
44
45
|
|
|
45
|
-
<footer class={cn("", className)}>
|
|
46
|
+
<footer class={cn("", className)} {...props}>
|
|
46
47
|
<Section class="py-12 lg:py-16">
|
|
47
48
|
<SectionContainer class="items-center text-center">
|
|
48
49
|
<Logo href={brandHref}>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types"
|
|
2
3
|
import Discord from "simple-icons-astro/Discord"
|
|
3
4
|
import Github from "simple-icons-astro/Github"
|
|
4
5
|
import X from "simple-icons-astro/X"
|
|
@@ -8,8 +9,7 @@ import { Logo, LogoText } from "@/components/ui/logo"
|
|
|
8
9
|
import { Section, SectionContainer } from "@/components/ui/section"
|
|
9
10
|
import { Separator } from "@/components/ui/separator"
|
|
10
11
|
|
|
11
|
-
type Props = {
|
|
12
|
-
class?: string
|
|
12
|
+
type Props = HTMLAttributes<"footer"> & {
|
|
13
13
|
brandName: string
|
|
14
14
|
brandHref: string
|
|
15
15
|
description: string
|
|
@@ -41,6 +41,7 @@ const {
|
|
|
41
41
|
columns,
|
|
42
42
|
copyright,
|
|
43
43
|
bottomLinks,
|
|
44
|
+
...props
|
|
44
45
|
} = Astro.props
|
|
45
46
|
|
|
46
47
|
const iconMap: Record<string, any> = {
|
|
@@ -50,7 +51,7 @@ const iconMap: Record<string, any> = {
|
|
|
50
51
|
}
|
|
51
52
|
---
|
|
52
53
|
|
|
53
|
-
<footer class={cn("", className)}>
|
|
54
|
+
<footer class={cn("", className)} {...props}>
|
|
54
55
|
<Section class="py-16 lg:py-20">
|
|
55
56
|
<SectionContainer>
|
|
56
57
|
<div class="grid gap-10 lg:grid-cols-[1fr_2fr]">
|
|
@@ -1,4 +1,6 @@
|
|
|
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 { Header, HeaderContainer, HeaderGroup } from "@/components/ui/header"
|
|
@@ -20,8 +22,7 @@ import {
|
|
|
20
22
|
SheetTrigger,
|
|
21
23
|
} from "@/components/ui/sheet"
|
|
22
24
|
|
|
23
|
-
type Props = {
|
|
24
|
-
class?: string
|
|
25
|
+
type Props = HTMLAttributes<"header"> & {
|
|
25
26
|
logo: {
|
|
26
27
|
label: string
|
|
27
28
|
href: string
|
|
@@ -46,11 +47,11 @@ type Props = {
|
|
|
46
47
|
}[]
|
|
47
48
|
}
|
|
48
49
|
|
|
49
|
-
const { class: className, logo, navigation, buttons } = Astro.props
|
|
50
|
+
const { class: className, logo, navigation, buttons, ...props } = Astro.props
|
|
50
51
|
---
|
|
51
52
|
|
|
52
|
-
<Header class={cn("", className)}>
|
|
53
|
-
<HeaderContainer class="justify-between gap-4">
|
|
53
|
+
<Header class={cn("", className)} {...props}>
|
|
54
|
+
<HeaderContainer class="items-center justify-between gap-4">
|
|
54
55
|
<HeaderGroup>
|
|
55
56
|
<Logo href={logo.href}>
|
|
56
57
|
<LogoImage
|
|
@@ -111,14 +112,19 @@ const { class: className, logo, navigation, buttons } = Astro.props
|
|
|
111
112
|
<nav aria-label="Main navigation" class="flex flex-col gap-1">
|
|
112
113
|
{
|
|
113
114
|
navigation.map((item) => (
|
|
114
|
-
<SheetClose
|
|
115
|
+
<SheetClose
|
|
116
|
+
as="a"
|
|
117
|
+
href={item.href}
|
|
118
|
+
variant="ghost"
|
|
119
|
+
class="justify-start"
|
|
120
|
+
>
|
|
115
121
|
{item.label}
|
|
116
122
|
</SheetClose>
|
|
117
123
|
))
|
|
118
124
|
}
|
|
119
125
|
</nav>
|
|
120
126
|
<div class="mt-auto flex flex-col gap-2">
|
|
121
|
-
<slot />
|
|
127
|
+
<slot name="mobile" />
|
|
122
128
|
</div>
|
|
123
129
|
</div>
|
|
124
130
|
</SheetContent>
|
|
@@ -1,4 +1,6 @@
|
|
|
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 { Header, HeaderContainer, HeaderGroup } from "@/components/ui/header"
|
|
@@ -20,8 +22,7 @@ import {
|
|
|
20
22
|
SheetTrigger,
|
|
21
23
|
} from "@/components/ui/sheet"
|
|
22
24
|
|
|
23
|
-
type Props = {
|
|
24
|
-
class?: string
|
|
25
|
+
type Props = HTMLAttributes<"header"> & {
|
|
25
26
|
logo: {
|
|
26
27
|
label: string
|
|
27
28
|
href: string
|
|
@@ -46,10 +47,10 @@ type Props = {
|
|
|
46
47
|
}[]
|
|
47
48
|
}
|
|
48
49
|
|
|
49
|
-
const { class: className, logo, navigation, buttons } = Astro.props
|
|
50
|
+
const { class: className, logo, navigation, buttons, ...props } = Astro.props
|
|
50
51
|
---
|
|
51
52
|
|
|
52
|
-
<Header variant="floating" class={cn("", className)}>
|
|
53
|
+
<Header variant="floating" class={cn("", className)} {...props}>
|
|
53
54
|
<HeaderContainer class="justify-between">
|
|
54
55
|
<HeaderGroup>
|
|
55
56
|
<Logo href={logo.href}>
|
|
@@ -113,14 +114,19 @@ const { class: className, logo, navigation, buttons } = Astro.props
|
|
|
113
114
|
<nav aria-label="Main navigation" class="flex flex-col gap-1">
|
|
114
115
|
{
|
|
115
116
|
navigation.map((item) => (
|
|
116
|
-
<SheetClose
|
|
117
|
+
<SheetClose
|
|
118
|
+
as="a"
|
|
119
|
+
href={item.href}
|
|
120
|
+
variant="ghost"
|
|
121
|
+
class="justify-start"
|
|
122
|
+
>
|
|
117
123
|
{item.label}
|
|
118
124
|
</SheetClose>
|
|
119
125
|
))
|
|
120
126
|
}
|
|
121
127
|
</nav>
|
|
122
128
|
<div class="mt-auto flex flex-col gap-2">
|
|
123
|
-
<slot />
|
|
129
|
+
<slot name="mobile" />
|
|
124
130
|
</div>
|
|
125
131
|
</div>
|
|
126
132
|
</SheetContent>
|
|
@@ -1,4 +1,6 @@
|
|
|
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 { Header, HeaderContainer, HeaderGroup } from "@/components/ui/header"
|
|
@@ -21,8 +23,7 @@ import {
|
|
|
21
23
|
SheetTrigger,
|
|
22
24
|
} from "@/components/ui/sheet"
|
|
23
25
|
|
|
24
|
-
type Props = {
|
|
25
|
-
class?: string
|
|
26
|
+
type Props = HTMLAttributes<"header"> & {
|
|
26
27
|
logo: {
|
|
27
28
|
label: string
|
|
28
29
|
href: string
|
|
@@ -47,10 +48,10 @@ type Props = {
|
|
|
47
48
|
}[]
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
const { class: className, logo, navigation, buttons } = Astro.props
|
|
51
|
+
const { class: className, logo, navigation, buttons, ...props } = Astro.props
|
|
51
52
|
---
|
|
52
53
|
|
|
53
|
-
<Header class={cn("border-b", className)}>
|
|
54
|
+
<Header class={cn("border-b", className)} {...props}>
|
|
54
55
|
<HeaderContainer class="justify-between">
|
|
55
56
|
<HeaderGroup>
|
|
56
57
|
<Logo href={logo.href}>
|
|
@@ -116,7 +117,12 @@ const { class: className, logo, navigation, buttons } = Astro.props
|
|
|
116
117
|
<nav aria-label="Main navigation" class="flex flex-col gap-1">
|
|
117
118
|
{
|
|
118
119
|
navigation.map((item) => (
|
|
119
|
-
<SheetClose
|
|
120
|
+
<SheetClose
|
|
121
|
+
as="a"
|
|
122
|
+
href={item.href}
|
|
123
|
+
variant="ghost"
|
|
124
|
+
class="justify-start"
|
|
125
|
+
>
|
|
120
126
|
{item.label}
|
|
121
127
|
</SheetClose>
|
|
122
128
|
))
|
|
@@ -124,7 +130,7 @@ const { class: className, logo, navigation, buttons } = Astro.props
|
|
|
124
130
|
</nav>
|
|
125
131
|
<Separator />
|
|
126
132
|
<div class="mt-auto flex flex-col gap-2">
|
|
127
|
-
<slot />
|
|
133
|
+
<slot name="mobile" />
|
|
128
134
|
</div>
|
|
129
135
|
</div>
|
|
130
136
|
</SheetContent>
|
|
@@ -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"
|
|
@@ -26,8 +27,7 @@ import {
|
|
|
26
27
|
SheetTrigger,
|
|
27
28
|
} from "@/components/ui/sheet"
|
|
28
29
|
|
|
29
|
-
type Props = {
|
|
30
|
-
class?: string
|
|
30
|
+
type Props = HTMLAttributes<"header"> & {
|
|
31
31
|
logo: {
|
|
32
32
|
label: string
|
|
33
33
|
href: string
|
|
@@ -61,10 +61,10 @@ type Props = {
|
|
|
61
61
|
}[]
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
const { class: className, logo, navigation, buttons } = Astro.props
|
|
64
|
+
const { class: className, logo, navigation, buttons, ...props } = Astro.props
|
|
65
65
|
---
|
|
66
66
|
|
|
67
|
-
<Header class={cn("border-b", className)}>
|
|
67
|
+
<Header class={cn("border-b", className)} {...props}>
|
|
68
68
|
<HeaderContainer class="justify-between">
|
|
69
69
|
<HeaderGroup>
|
|
70
70
|
<Logo href={logo.href}>
|
|
@@ -189,13 +189,20 @@ const { class: className, logo, navigation, buttons } = Astro.props
|
|
|
189
189
|
{
|
|
190
190
|
navigation.map((item) => (
|
|
191
191
|
<div class="grid gap-1">
|
|
192
|
-
<SheetClose
|
|
192
|
+
<SheetClose
|
|
193
|
+
as="a"
|
|
194
|
+
href={item.href}
|
|
195
|
+
variant="ghost"
|
|
196
|
+
class="justify-start font-medium"
|
|
197
|
+
>
|
|
193
198
|
{item.label}
|
|
194
199
|
</SheetClose>
|
|
195
200
|
{item.links?.length && (
|
|
196
201
|
<div class="border-border ml-3 grid gap-1 border-l pl-3">
|
|
197
202
|
{item.links.map((link) => (
|
|
198
203
|
<SheetClose
|
|
204
|
+
as="a"
|
|
205
|
+
href={link.href}
|
|
199
206
|
variant="ghost"
|
|
200
207
|
class="text-muted-foreground justify-start"
|
|
201
208
|
>
|
|
@@ -210,7 +217,7 @@ const { class: className, logo, navigation, buttons } = Astro.props
|
|
|
210
217
|
}
|
|
211
218
|
</nav>
|
|
212
219
|
<div class="mt-auto flex flex-col gap-2">
|
|
213
|
-
<slot />
|
|
220
|
+
<slot name="mobile" />
|
|
214
221
|
</div>
|
|
215
222
|
</div>
|
|
216
223
|
</SheetContent>
|
|
@@ -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"
|
|
@@ -27,8 +28,7 @@ import {
|
|
|
27
28
|
SheetTrigger,
|
|
28
29
|
} from "@/components/ui/sheet"
|
|
29
30
|
|
|
30
|
-
type Props = {
|
|
31
|
-
class?: string
|
|
31
|
+
type Props = HTMLAttributes<"header"> & {
|
|
32
32
|
logo: {
|
|
33
33
|
label: string
|
|
34
34
|
href: string
|
|
@@ -62,10 +62,13 @@ type Props = {
|
|
|
62
62
|
}[]
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
const { class: className, logo, navigation, buttons } = Astro.props
|
|
65
|
+
const { class: className, logo, navigation, buttons, ...props } = Astro.props
|
|
66
66
|
---
|
|
67
67
|
|
|
68
|
-
<Header
|
|
68
|
+
<Header
|
|
69
|
+
class={cn("flex-col items-stretch gap-0 border-b py-0", className)}
|
|
70
|
+
{...props}
|
|
71
|
+
>
|
|
69
72
|
<HeaderContainer class="min-h-14 justify-between">
|
|
70
73
|
<HeaderGroup>
|
|
71
74
|
<Logo href={logo.href}>
|
|
@@ -115,13 +118,20 @@ const { class: className, logo, navigation, buttons } = Astro.props
|
|
|
115
118
|
{
|
|
116
119
|
navigation.map((item) => (
|
|
117
120
|
<div class="grid gap-1">
|
|
118
|
-
<SheetClose
|
|
121
|
+
<SheetClose
|
|
122
|
+
as="a"
|
|
123
|
+
href={item.href}
|
|
124
|
+
variant="ghost"
|
|
125
|
+
class="justify-start font-medium"
|
|
126
|
+
>
|
|
119
127
|
{item.label}
|
|
120
128
|
</SheetClose>
|
|
121
129
|
{item.links?.length && (
|
|
122
130
|
<div class="border-border ml-3 grid gap-1 border-l pl-3">
|
|
123
131
|
{item.links.map((link) => (
|
|
124
132
|
<SheetClose
|
|
133
|
+
as="a"
|
|
134
|
+
href={link.href}
|
|
125
135
|
variant="ghost"
|
|
126
136
|
class="text-muted-foreground justify-start"
|
|
127
137
|
>
|
|
@@ -137,7 +147,7 @@ const { class: className, logo, navigation, buttons } = Astro.props
|
|
|
137
147
|
</nav>
|
|
138
148
|
<Separator />
|
|
139
149
|
<div class="mt-auto flex flex-col gap-2">
|
|
140
|
-
<slot />
|
|
150
|
+
<slot name="mobile" />
|
|
141
151
|
</div>
|
|
142
152
|
</div>
|
|
143
153
|
</SheetContent>
|
|
@@ -1,14 +1,18 @@
|
|
|
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"
|
|
7
8
|
import { Button } from "@/components/ui/button"
|
|
8
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
Section,
|
|
11
|
+
SectionContainer,
|
|
12
|
+
SectionDescription,
|
|
13
|
+
} from "@/components/ui/section"
|
|
9
14
|
|
|
10
|
-
type Props = {
|
|
11
|
-
class?: string
|
|
15
|
+
type Props = HTMLAttributes<"section"> & {
|
|
12
16
|
title: string
|
|
13
17
|
description: string
|
|
14
18
|
badge?: {
|
|
@@ -33,10 +37,11 @@ const {
|
|
|
33
37
|
badge,
|
|
34
38
|
buttons,
|
|
35
39
|
image,
|
|
40
|
+
...props
|
|
36
41
|
} = Astro.props
|
|
37
42
|
---
|
|
38
43
|
|
|
39
|
-
<Section class={cn("", className)}>
|
|
44
|
+
<Section class={cn("", className)} {...props}>
|
|
40
45
|
<SectionContainer class="items-center gap-8 text-center">
|
|
41
46
|
{
|
|
42
47
|
badge && (
|
|
@@ -50,11 +55,9 @@ const {
|
|
|
50
55
|
>
|
|
51
56
|
{title}
|
|
52
57
|
</h1>
|
|
53
|
-
<
|
|
54
|
-
class="text-muted-foreground max-w-2xl text-lg leading-relaxed text-balance"
|
|
55
|
-
>
|
|
58
|
+
<SectionDescription class="max-w-2xl">
|
|
56
59
|
{description}
|
|
57
|
-
</
|
|
60
|
+
</SectionDescription>
|
|
58
61
|
<div class="flex flex-wrap justify-center gap-3">
|
|
59
62
|
{
|
|
60
63
|
buttons.map(({ href, label, ...button }, index) => (
|
|
@@ -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 {
|
|
@@ -13,8 +14,7 @@ import { Button } from "@/components/ui/button"
|
|
|
13
14
|
import { Rating } from "@/components/ui/rating"
|
|
14
15
|
import { Section, SectionContainer } from "@/components/ui/section"
|
|
15
16
|
|
|
16
|
-
type Props = {
|
|
17
|
-
class?: string
|
|
17
|
+
type Props = HTMLAttributes<"section"> & {
|
|
18
18
|
title: string
|
|
19
19
|
description: string
|
|
20
20
|
buttons: {
|
|
@@ -44,10 +44,14 @@ const {
|
|
|
44
44
|
buttons,
|
|
45
45
|
socialProof,
|
|
46
46
|
image,
|
|
47
|
+
...props
|
|
47
48
|
} = Astro.props
|
|
48
49
|
---
|
|
49
50
|
|
|
50
|
-
<Section
|
|
51
|
+
<Section
|
|
52
|
+
class={cn("dark bg-background min-h-screen justify-start", className)}
|
|
53
|
+
{...props}
|
|
54
|
+
>
|
|
51
55
|
<SectionContainer
|
|
52
56
|
class="relative z-10 grid gap-8 lg:grid-cols-[minmax(0,1fr)_auto] lg:items-center"
|
|
53
57
|
>
|
|
@@ -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 {
|
|
@@ -13,8 +14,7 @@ import { Button } from "@/components/ui/button"
|
|
|
13
14
|
import { Rating } from "@/components/ui/rating"
|
|
14
15
|
import { Section, SectionContainer } from "@/components/ui/section"
|
|
15
16
|
|
|
16
|
-
type Props = {
|
|
17
|
-
class?: string
|
|
17
|
+
type Props = HTMLAttributes<"section"> & {
|
|
18
18
|
title: string
|
|
19
19
|
description: string
|
|
20
20
|
buttons: {
|
|
@@ -44,11 +44,13 @@ const {
|
|
|
44
44
|
buttons,
|
|
45
45
|
socialProof,
|
|
46
46
|
image,
|
|
47
|
+
...props
|
|
47
48
|
} = Astro.props
|
|
48
49
|
---
|
|
49
50
|
|
|
50
51
|
<Section
|
|
51
52
|
class={cn("dark bg-background min-h-screen justify-center", className)}
|
|
53
|
+
{...props}
|
|
52
54
|
>
|
|
53
55
|
<SectionContainer class="relative z-10 items-center gap-8 text-center">
|
|
54
56
|
<h1
|
|
@@ -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("gap-8 pt-8", className)}>
|
|
34
|
+
<Section class={cn("gap-8 pt-8", className)} {...props}>
|
|
28
35
|
<SectionContainer class="border-y py-8">
|
|
29
36
|
<div
|
|
30
37
|
class="flex flex-col gap-6 lg:flex-row lg:items-end lg:justify-between"
|
|
@@ -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 class="grid gap-12 lg:grid-cols-[1fr_3fr] lg:items-start">
|
|
29
36
|
<div class="flex flex-col gap-6 pt-8">
|
|
30
37
|
<div class="flex flex-col gap-4">
|
|
@@ -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,10 +12,13 @@ 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
|
+
SectionDescription,
|
|
19
|
+
} from "@/components/ui/section"
|
|
15
20
|
|
|
16
|
-
type Props = {
|
|
17
|
-
class?: string
|
|
21
|
+
type Props = HTMLAttributes<"section"> & {
|
|
18
22
|
title: string
|
|
19
23
|
description: string
|
|
20
24
|
buttons: {
|
|
@@ -44,10 +48,11 @@ const {
|
|
|
44
48
|
buttons,
|
|
45
49
|
socialProof,
|
|
46
50
|
image,
|
|
51
|
+
...props
|
|
47
52
|
} = Astro.props
|
|
48
53
|
---
|
|
49
54
|
|
|
50
|
-
<Section class={cn("", className)}>
|
|
55
|
+
<Section class={cn("", className)} {...props}>
|
|
51
56
|
<SectionContainer class="items-center gap-8 text-center">
|
|
52
57
|
<div class="flex flex-col items-center gap-3">
|
|
53
58
|
<AvatarGroup>
|
|
@@ -73,11 +78,9 @@ const {
|
|
|
73
78
|
>
|
|
74
79
|
{title}
|
|
75
80
|
</h1>
|
|
76
|
-
<
|
|
77
|
-
class="text-muted-foreground max-w-2xl text-lg leading-relaxed text-balance"
|
|
78
|
-
>
|
|
81
|
+
<SectionDescription class="max-w-2xl">
|
|
79
82
|
{description}
|
|
80
|
-
</
|
|
83
|
+
</SectionDescription>
|
|
81
84
|
<div class="flex flex-wrap justify-center gap-3">
|
|
82
85
|
{
|
|
83
86
|
buttons.map(({ href, label, ...button }, index) => (
|
|
@@ -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,11 +21,19 @@ 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
34
|
<Section
|
|
28
35
|
class={cn("dark bg-background min-h-[80vh] justify-center", className)}
|
|
36
|
+
{...props}
|
|
29
37
|
>
|
|
30
38
|
<SectionContainer class="relative z-10 items-center gap-8 text-center">
|
|
31
39
|
<h1
|
|
@@ -1,14 +1,14 @@
|
|
|
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"
|
|
7
8
|
import { Button } from "@/components/ui/button"
|
|
8
9
|
import { Section, SectionContainer } from "@/components/ui/section"
|
|
9
10
|
|
|
10
|
-
type Props = {
|
|
11
|
-
class?: string
|
|
11
|
+
type Props = HTMLAttributes<"section"> & {
|
|
12
12
|
title: string
|
|
13
13
|
description: string
|
|
14
14
|
features: string[]
|
|
@@ -30,11 +30,13 @@ const {
|
|
|
30
30
|
features,
|
|
31
31
|
buttons,
|
|
32
32
|
image,
|
|
33
|
+
...props
|
|
33
34
|
} = Astro.props
|
|
34
35
|
---
|
|
35
36
|
|
|
36
37
|
<Section
|
|
37
38
|
class={cn("dark bg-background min-h-screen justify-center", className)}
|
|
39
|
+
{...props}
|
|
38
40
|
>
|
|
39
41
|
<SectionContainer class="relative z-10 items-center gap-8 text-center">
|
|
40
42
|
<h1
|
|
@@ -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
|
<div class="flex flex-col gap-6">
|
|
56
57
|
<div class="flex flex-col gap-4">
|