fulldev-ui 0.9.2 → 0.10.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 +100 -16
- package/package.json +3 -2
- package/public/r/accordion.json +3 -5
- package/public/r/alert-dialog.json +1 -1
- package/public/r/alert.json +0 -5
- package/public/r/article-1.json +1 -1
- package/public/r/article-2.json +1 -1
- package/public/r/articles-1.json +1 -1
- package/public/r/articles-2.json +1 -1
- package/public/r/articles-3.json +1 -1
- package/public/r/avatar.json +1 -16
- package/public/r/badge.json +1 -1
- package/public/r/banner-1.json +5 -3
- package/public/r/banner-2.json +1 -1
- package/public/r/banner.json +5 -3
- package/public/r/blocks-1.json +6 -3
- package/public/r/breadcrumb.json +4 -4
- package/public/r/button.json +1 -1
- package/public/r/card.json +4 -4
- package/public/r/carousel.json +5 -5
- package/public/r/checkbox.json +1 -1
- package/public/r/combobox.json +8 -8
- package/public/r/command.json +6 -6
- package/public/r/components.json +1 -6
- package/public/r/contact-1.json +4 -2
- package/public/r/contact-2.json +4 -2
- package/public/r/contact-3.json +11 -3
- package/public/r/content-1.json +11 -3
- package/public/r/content-2.json +11 -3
- package/public/r/content-3.json +7 -1
- package/public/r/content-4.json +11 -3
- package/public/r/cta-2.json +7 -1
- package/public/r/cta-4.json +7 -1
- package/public/r/cta-5.json +11 -3
- package/public/r/cta-6.json +7 -1
- package/public/r/dialog.json +6 -6
- package/public/r/doc-1.json +6 -3
- package/public/r/dropdown-menu.json +9 -11
- package/public/r/features-1.json +5 -3
- package/public/r/features-2.json +5 -3
- package/public/r/features-4.json +5 -3
- package/public/r/features-5.json +4 -2
- package/public/r/field.json +2 -7
- package/public/r/footer-1.json +5 -3
- package/public/r/footer-2.json +5 -3
- package/public/r/footer-3.json +5 -3
- package/public/r/header-1.json +1 -1
- package/public/r/header.json +3 -0
- package/public/r/hero-13.json +1 -1
- package/public/r/hero-4.json +5 -3
- package/public/r/hero-5.json +5 -3
- package/public/r/hero-6.json +5 -3
- package/public/r/hero-7.json +5 -3
- package/public/r/hero-8.json +1 -1
- package/public/r/hero-9.json +5 -3
- package/public/r/hover-card.json +2 -2
- package/public/r/icon.json +1 -1
- package/public/r/input-group.json +1 -1
- package/public/r/item.json +2 -20
- package/public/r/kbd.json +2 -2
- package/public/r/layout.json +4 -7
- package/public/r/links-2.json +5 -3
- package/public/r/marquee.json +1 -1
- package/public/r/native-select.json +3 -3
- package/public/r/navigation-menu.json +6 -8
- package/public/r/page.json +17 -0
- package/public/r/popover.json +1 -1
- package/public/r/pricing-1.json +5 -3
- package/public/r/pricing-2.json +5 -3
- package/public/r/pricing-3.json +5 -3
- package/public/r/products-1.json +1 -1
- package/public/r/products-4.json +1 -1
- package/public/r/products-5.json +1 -1
- package/public/r/radio-group.json +1 -1
- package/public/r/rating.json +3 -3
- package/public/r/registry.json +186 -440
- package/public/r/reviews-1.json +5 -3
- package/public/r/reviews-2.json +5 -3
- package/public/r/reviews-3.json +5 -3
- package/public/r/reviews-4.json +1 -1
- package/public/r/reviews-5.json +5 -3
- package/public/r/select.json +6 -8
- package/public/r/services-1.json +11 -3
- package/public/r/services-2.json +7 -1
- package/public/r/services-3.json +7 -1
- package/public/r/services-4.json +11 -3
- package/public/r/services-5.json +5 -3
- package/public/r/services-6.json +11 -3
- package/public/r/services-7.json +11 -3
- package/public/r/sheet.json +6 -3
- package/public/r/sidebar-1.json +4 -2
- package/public/r/sidebar.json +10 -7
- package/public/r/slider.json +1 -1
- package/public/r/spinner.json +3 -3
- package/public/r/switch.json +1 -1
- package/public/r/theme-toggle.json +5 -3
- package/public/r/tooltip.json +1 -1
- package/public/r/typography.json +16 -16
- package/public/r/video.json +1 -1
- package/registry.json +186 -440
- package/src/components/blocks/article-1.astro +1 -1
- package/src/components/blocks/article-2.astro +1 -1
- package/src/components/blocks/articles-1.astro +1 -1
- package/src/components/blocks/articles-2.astro +2 -2
- package/src/components/blocks/articles-3.astro +1 -1
- package/src/components/blocks/banner-1.astro +3 -5
- package/src/components/blocks/banner-2.astro +1 -1
- package/src/components/blocks/blocks-1.astro +25 -37
- package/src/components/blocks/contact-3.astro +4 -3
- package/src/components/blocks/content-1.astro +5 -4
- package/src/components/blocks/content-2.astro +6 -5
- package/src/components/blocks/content-3.astro +9 -2
- package/src/components/blocks/content-4.astro +6 -5
- package/src/components/blocks/cta-2.astro +4 -3
- package/src/components/blocks/cta-4.astro +3 -2
- package/src/components/blocks/cta-5.astro +6 -5
- package/src/components/blocks/cta-6.astro +4 -3
- package/src/components/blocks/doc-1.astro +28 -56
- package/src/components/blocks/features-1.astro +3 -1
- package/src/components/blocks/features-2.astro +4 -2
- package/src/components/blocks/features-4.astro +3 -1
- package/src/components/blocks/footer-1.astro +26 -12
- package/src/components/blocks/footer-2.astro +24 -12
- package/src/components/blocks/footer-3.astro +26 -12
- package/src/components/blocks/header-1.astro +2 -3
- package/src/components/blocks/hero-13.astro +1 -1
- package/src/components/blocks/hero-4.astro +2 -2
- package/src/components/blocks/hero-5.astro +3 -3
- package/src/components/blocks/hero-6.astro +3 -3
- package/src/components/blocks/hero-7.astro +3 -3
- package/src/components/blocks/hero-8.astro +1 -1
- package/src/components/blocks/hero-9.astro +2 -2
- package/src/components/blocks/links-2.astro +3 -5
- package/src/components/blocks/pricing-1.astro +3 -2
- package/src/components/blocks/pricing-2.astro +3 -2
- package/src/components/blocks/pricing-3.astro +3 -2
- package/src/components/blocks/products-1.astro +1 -1
- package/src/components/blocks/products-4.astro +2 -2
- package/src/components/blocks/products-5.astro +4 -4
- package/src/components/blocks/reviews-1.astro +2 -2
- package/src/components/blocks/reviews-2.astro +2 -2
- package/src/components/blocks/reviews-3.astro +2 -2
- package/src/components/blocks/reviews-4.astro +4 -4
- package/src/components/blocks/reviews-5.astro +16 -25
- package/src/components/blocks/services-1.astro +7 -9
- package/src/components/blocks/services-2.astro +5 -4
- package/src/components/blocks/services-3.astro +6 -5
- package/src/components/blocks/services-4.astro +7 -9
- package/src/components/blocks/services-5.astro +3 -4
- package/src/components/blocks/services-6.astro +7 -6
- package/src/components/blocks/services-7.astro +7 -9
- package/src/components/blocks/sidebar-1.astro +42 -97
- package/src/components/ui/accordion/accordion-trigger.astro +7 -8
- package/src/components/ui/alert-dialog/alert-dialog.astro +23 -3
- package/src/components/ui/avatar/avatar.astro +1 -1
- package/src/components/ui/badge/badge.astro +1 -0
- package/src/components/ui/banner/banner-container.astro +3 -3
- package/src/components/ui/breadcrumb/breadcrumb-ellipsis.astro +2 -2
- package/src/components/ui/breadcrumb/breadcrumb-separator.astro +2 -2
- package/src/components/ui/button/button-variants.ts +8 -7
- package/src/components/ui/card/card-content.astro +1 -1
- package/src/components/ui/card/card-footer.astro +1 -1
- package/src/components/ui/card/card-header.astro +1 -1
- package/src/components/ui/card/card.astro +1 -1
- package/src/components/ui/carousel/carousel-next.astro +3 -3
- package/src/components/ui/carousel/carousel-previous.astro +3 -3
- package/src/components/ui/checkbox/checkbox.astro +1 -1
- package/src/components/ui/combobox/combobox-input.astro +2 -2
- package/src/components/ui/combobox/combobox-item.astro +4 -4
- package/src/components/ui/combobox/combobox-list.astro +1 -1
- package/src/components/ui/combobox/combobox-trigger.astro +2 -5
- package/src/components/ui/combobox/combobox.astro +3 -0
- package/src/components/ui/command/command-dialog.astro +10 -10
- package/src/components/ui/command/command-input.astro +2 -2
- package/src/components/ui/command/command-item.astro +4 -5
- package/src/components/ui/dialog/dialog-close.astro +2 -2
- package/src/components/ui/dialog/dialog-content.astro +2 -2
- package/src/components/ui/dialog/dialog.astro +26 -3
- package/src/components/ui/dropdown-menu/dropdown-menu-checkbox-item.astro +4 -5
- package/src/components/ui/dropdown-menu/dropdown-menu-content.astro +4 -4
- package/src/components/ui/dropdown-menu/dropdown-menu-item.astro +1 -1
- package/src/components/ui/dropdown-menu/dropdown-menu-label.astro +1 -1
- package/src/components/ui/dropdown-menu/dropdown-menu-radio-item.astro +4 -5
- package/src/components/ui/dropdown-menu/dropdown-menu-shortcut.astro +1 -1
- package/src/components/ui/dropdown-menu/dropdown-menu.astro +3 -0
- package/src/components/ui/field/field-label.astro +1 -1
- package/src/components/ui/field/field-title.astro +1 -1
- package/src/components/ui/hover-card/hover-card-content.astro +4 -4
- package/src/components/ui/hover-card/hover-card.astro +2 -2
- package/src/components/ui/icon/icon.astro +7 -10
- package/src/components/ui/input-group/input-group-button.astro +0 -1
- package/src/components/ui/item/item-media.astro +1 -1
- package/src/components/ui/item/item.astro +0 -18
- package/src/components/ui/kbd/kbd-group.astro +1 -1
- package/src/components/ui/kbd/kbd.astro +1 -1
- package/src/components/ui/layout/layout-body.astro +1 -1
- package/src/components/ui/layout/layout-head.astro +3 -2
- package/src/components/ui/layout/layout-main.astro +1 -1
- package/src/components/ui/layout/layout.astro +4 -0
- package/src/components/ui/marquee/marquee.astro +49 -68
- package/src/components/ui/native-select/native-select.astro +2 -3
- package/src/components/ui/navigation-menu/navigation-menu-content.astro +1 -1
- package/src/components/ui/navigation-menu/navigation-menu-list.astro +1 -1
- package/src/components/ui/navigation-menu/navigation-menu-trigger.astro +2 -3
- package/src/components/ui/navigation-menu/navigation-menu.astro +1 -1
- package/src/components/ui/popover/popover-content.astro +1 -1
- package/src/components/ui/radio-group/radio-group-item.astro +3 -3
- package/src/components/ui/rating/rating.astro +3 -3
- package/src/components/ui/select/select-content.astro +1 -1
- package/src/components/ui/select/select-item.astro +4 -4
- package/src/components/ui/select/select-trigger.astro +3 -6
- package/src/components/ui/select/select.astro +6 -0
- package/src/components/ui/sheet/sheet-content.astro +4 -5
- package/src/components/ui/sidebar/sidebar-menu-button.astro +13 -10
- package/src/components/ui/sidebar/sidebar-menu-sub-button.astro +10 -8
- package/src/components/ui/sidebar/sidebar-provider.astro +1 -13
- package/src/components/ui/sidebar/sidebar-rail.astro +1 -1
- package/src/components/ui/sidebar/sidebar-trigger.astro +3 -3
- package/src/components/ui/sidebar/sidebar.astro +1 -1
- package/src/components/ui/slider/slider.astro +6 -4
- package/src/components/ui/spinner/spinner.astro +4 -4
- package/src/components/ui/switch/switch.astro +1 -1
- package/src/components/ui/theme-toggle/theme-toggle.astro +4 -3
- package/src/components/ui/tooltip/tooltip-content.astro +1 -1
- package/src/components/ui/typography/typography-a.astro +19 -4
- package/src/components/ui/typography/typography-blockquote.astro +26 -6
- package/src/components/ui/typography/typography-h1.astro +7 -9
- package/src/components/ui/typography/typography-h2.astro +12 -9
- package/src/components/ui/typography/typography-h3.astro +7 -9
- package/src/components/ui/typography/typography-h4.astro +7 -9
- package/src/components/ui/typography/typography-inline-code.astro +28 -12
- package/src/components/ui/typography/typography-lead.astro +29 -4
- package/src/components/ui/typography/typography-list-item.astro +25 -9
- package/src/components/ui/typography/typography-list.astro +29 -11
- package/src/components/ui/typography/typography-p.astro +26 -6
- package/src/components/ui/typography/typography-table-cell.astro +32 -13
- package/src/components/ui/typography/typography-table-head.astro +27 -13
- package/src/components/ui/typography/typography-table-row.astro +23 -13
- package/src/components/ui/typography/typography-table.astro +29 -20
- package/src/components/ui/typography/typography.astro +172 -46
- package/src/components/ui/video/video.astro +11 -27
- package/src/styles/global.css +2 -15
- package/public/r/beta-repo-setup.json +0 -131
- package/public/r/blocks.json +0 -91
- package/public/r/content-5.json +0 -17
- package/public/r/content-6.json +0 -17
- package/public/r/init.json +0 -23
- package/public/r/tile.json +0 -27
- package/src/components/blocks/content-5.astro +0 -115
- package/src/components/blocks/content-6.astro +0 -91
- package/src/components/ui/tile/index.ts +0 -3
- package/src/components/ui/tile/tile-content.astro +0 -17
- package/src/components/ui/tile/tile-group.astro +0 -76
- package/src/components/ui/tile/tile.astro +0 -46
|
@@ -28,18 +28,18 @@ const {
|
|
|
28
28
|
<DialogContent
|
|
29
29
|
class:list={[
|
|
30
30
|
"top-1/3 translate-y-0 overflow-hidden rounded-xl! p-0",
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
31
|
+
"[&_[data-slot=command]]:border-0",
|
|
32
|
+
"[&_[data-slot=command]]:bg-transparent",
|
|
33
|
+
"[&_[data-slot=command-input-wrapper]]:h-12",
|
|
34
34
|
"[&_[data-slot=command-input-wrapper]_svg]:size-5",
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
35
|
+
"[&_[data-slot=command-input]]:h-12",
|
|
36
|
+
"[&_[data-slot=command-item]]:px-2",
|
|
37
|
+
"[&_[data-slot=command-item]]:py-3",
|
|
38
38
|
"[&_[data-slot=command-item]_svg]:size-5",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
39
|
+
"[&_[data-slot=command-group-heading]]:text-muted-foreground",
|
|
40
|
+
"[&_[data-slot=command-group-heading]]:px-2",
|
|
41
|
+
"[&_[data-slot=command-group-heading]]:font-medium",
|
|
42
|
+
"[&_[data-slot=command-group]]:px-2",
|
|
43
43
|
"[&_[data-slot=command-group]:not([hidden])_~[data-slot=command-group]]:pt-0",
|
|
44
44
|
contentClass,
|
|
45
45
|
]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
import SearchIcon from "@lucide/astro/icons/search"
|
|
3
4
|
|
|
4
5
|
import { cn } from "@/lib/utils"
|
|
5
|
-
import { Icon } from "@/components/ui/icon"
|
|
6
6
|
|
|
7
7
|
type Props = HTMLAttributes<"input"> & {
|
|
8
8
|
wrapperClass?: string
|
|
@@ -16,7 +16,7 @@ const { class: className, wrapperClass, ...props } = Astro.props
|
|
|
16
16
|
class="border-input/30 bg-input/30 flex h-8! items-center rounded-lg! border shadow-none!"
|
|
17
17
|
>
|
|
18
18
|
<div class="flex items-center pl-2">
|
|
19
|
-
<
|
|
19
|
+
<SearchIcon class="size-4 shrink-0 opacity-50" />
|
|
20
20
|
</div>
|
|
21
21
|
<input
|
|
22
22
|
type="text"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
import CheckIcon from "@lucide/astro/icons/check"
|
|
3
4
|
|
|
4
5
|
import { cn } from "@/lib/utils"
|
|
5
|
-
import { Icon } from "@/components/ui/icon"
|
|
6
6
|
|
|
7
7
|
type Props = HTMLAttributes<"a"> & {
|
|
8
8
|
disabled?: boolean
|
|
@@ -37,14 +37,13 @@ const keywordsValue = Array.isArray(keywords) ? keywords.join(", ") : keywords
|
|
|
37
37
|
data-force-mount={forceMount ? "true" : undefined}
|
|
38
38
|
href={href}
|
|
39
39
|
class={cn(
|
|
40
|
-
"group/command-item data-selected:bg-
|
|
40
|
+
"group/command-item data-selected:bg-muted data-selected:text-foreground data-selected:**:[svg]:text-foreground href:cursor-pointer href:no-underline relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
41
41
|
className
|
|
42
42
|
)}
|
|
43
43
|
{...props}
|
|
44
44
|
>
|
|
45
45
|
<slot />
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
class="ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100"
|
|
46
|
+
<CheckIcon
|
|
47
|
+
class="ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-selected/command-item:opacity-100"
|
|
49
48
|
/>
|
|
50
49
|
</Tag>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { ComponentProps } from "astro/types"
|
|
3
|
+
import X from "@lucide/astro/icons/x"
|
|
3
4
|
|
|
4
5
|
import { cn } from "@/lib/utils"
|
|
5
6
|
import { Button } from "@/components/ui/button"
|
|
6
|
-
import { Icon } from "@/components/ui/icon"
|
|
7
7
|
|
|
8
8
|
type Props = ComponentProps<typeof Button>
|
|
9
9
|
|
|
@@ -12,6 +12,6 @@ const { class: className, ...props } = Astro.props
|
|
|
12
12
|
|
|
13
13
|
<Button class={cn(className)} data-slot="dialog-close" {...props}>
|
|
14
14
|
<slot>
|
|
15
|
-
<
|
|
15
|
+
<X />
|
|
16
16
|
</slot>
|
|
17
17
|
</Button>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
import XIcon from "@lucide/astro/icons/x"
|
|
3
4
|
|
|
4
5
|
import { cn } from "@/lib/utils"
|
|
5
6
|
import { Button } from "@/components/ui/button"
|
|
6
7
|
import DialogOverlay from "@/components/ui/dialog/dialog-overlay.astro"
|
|
7
8
|
import DialogPortal from "@/components/ui/dialog/dialog-portal.astro"
|
|
8
|
-
import { Icon } from "@/components/ui/icon"
|
|
9
9
|
|
|
10
10
|
type Props = HTMLAttributes<"div"> & {
|
|
11
11
|
showCloseButton?: boolean
|
|
@@ -40,7 +40,7 @@ const {
|
|
|
40
40
|
size="icon-sm"
|
|
41
41
|
class="absolute top-4 right-4"
|
|
42
42
|
>
|
|
43
|
-
<
|
|
43
|
+
<XIcon />
|
|
44
44
|
<span class="sr-only">Close</span>
|
|
45
45
|
</Button>
|
|
46
46
|
)
|
|
@@ -1,12 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { HTMLAttributes } from "astro/types"
|
|
3
3
|
|
|
4
|
-
type Props = HTMLAttributes<"div">
|
|
4
|
+
type Props = HTMLAttributes<"div"> & {
|
|
5
|
+
defaultOpen?: boolean
|
|
6
|
+
closeOnClickOutside?: boolean
|
|
7
|
+
closeOnEscape?: boolean
|
|
8
|
+
lockScroll?: boolean
|
|
9
|
+
alertDialog?: boolean
|
|
10
|
+
}
|
|
5
11
|
|
|
6
|
-
const {
|
|
12
|
+
const {
|
|
13
|
+
class: className,
|
|
14
|
+
defaultOpen,
|
|
15
|
+
closeOnClickOutside,
|
|
16
|
+
closeOnEscape,
|
|
17
|
+
lockScroll,
|
|
18
|
+
alertDialog,
|
|
19
|
+
...props
|
|
20
|
+
} = Astro.props
|
|
7
21
|
---
|
|
8
22
|
|
|
9
|
-
<div
|
|
23
|
+
<div
|
|
24
|
+
data-slot="dialog"
|
|
25
|
+
data-default-open={defaultOpen}
|
|
26
|
+
data-close-on-click-outside={closeOnClickOutside}
|
|
27
|
+
data-close-on-escape={closeOnEscape}
|
|
28
|
+
data-lock-scroll={lockScroll}
|
|
29
|
+
data-alert-dialog={alertDialog}
|
|
30
|
+
class={className}
|
|
31
|
+
{...props}
|
|
32
|
+
>
|
|
10
33
|
<slot />
|
|
11
34
|
</div>
|
|
12
35
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
import CheckIcon from "@lucide/astro/icons/check"
|
|
3
4
|
|
|
4
5
|
import { cn } from "@/lib/utils"
|
|
5
|
-
import { Icon } from "@/components/ui/icon"
|
|
6
6
|
|
|
7
7
|
type Props = HTMLAttributes<"button"> & {
|
|
8
8
|
value: string
|
|
@@ -34,7 +34,7 @@ const {
|
|
|
34
34
|
disabled={disabled ? true : undefined}
|
|
35
35
|
type={type}
|
|
36
36
|
class={cn(
|
|
37
|
-
"group/dropdown-menu-checkbox-item data-highlighted:bg-accent data-highlighted:text-accent-foreground data-highlighted:**:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-
|
|
37
|
+
"group/dropdown-menu-checkbox-item data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[highlighted]:**:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
38
38
|
className
|
|
39
39
|
)}
|
|
40
40
|
{...props}
|
|
@@ -43,9 +43,8 @@ const {
|
|
|
43
43
|
data-slot="dropdown-menu-checkbox-item-indicator"
|
|
44
44
|
class="pointer-events-none absolute right-2 flex items-center justify-center"
|
|
45
45
|
>
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
class="size-4 opacity-0 group-data-checked/dropdown-menu-checkbox-item:opacity-100"
|
|
46
|
+
<CheckIcon
|
|
47
|
+
class="opacity-0 group-data-[checked]/dropdown-menu-checkbox-item:opacity-100"
|
|
49
48
|
/>
|
|
50
49
|
</span>
|
|
51
50
|
<slot />
|
|
@@ -16,10 +16,10 @@ type Props = HTMLAttributes<"div"> & {
|
|
|
16
16
|
const {
|
|
17
17
|
class: className,
|
|
18
18
|
hidden = true,
|
|
19
|
-
side
|
|
20
|
-
align
|
|
21
|
-
sideOffset
|
|
22
|
-
alignOffset
|
|
19
|
+
side,
|
|
20
|
+
align,
|
|
21
|
+
sideOffset,
|
|
22
|
+
alignOffset,
|
|
23
23
|
avoidCollisions,
|
|
24
24
|
collisionPadding,
|
|
25
25
|
...props
|
|
@@ -27,7 +27,7 @@ const {
|
|
|
27
27
|
disabled={disabled ? true : undefined}
|
|
28
28
|
type={type}
|
|
29
29
|
class={cn(
|
|
30
|
-
"group/dropdown-menu-item data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 data-[variant=destructive]:data-highlighted:text-destructive data-[variant=destructive]:*:[svg]:text-destructive relative flex w-full cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-
|
|
30
|
+
"group/dropdown-menu-item data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground not-data-[variant=destructive]:data-[highlighted]:**:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:data-[highlighted]:bg-destructive/10 data-[variant=destructive]:data-[highlighted]:text-destructive dark:data-[variant=destructive]:data-[highlighted]:bg-destructive/20 data-[variant=destructive]:*:[svg]:text-destructive relative flex w-full cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
31
31
|
className
|
|
32
32
|
)}
|
|
33
33
|
{...props}
|
|
@@ -14,7 +14,7 @@ const { class: className, inset, ...props } = Astro.props
|
|
|
14
14
|
data-slot="dropdown-menu-label"
|
|
15
15
|
data-inset={inset}
|
|
16
16
|
class={cn(
|
|
17
|
-
"text-muted-foreground px-2 py-1.5 text-xs font-medium data-inset:pl-8",
|
|
17
|
+
"text-muted-foreground px-2 py-1.5 text-xs font-medium data-[inset]:pl-8",
|
|
18
18
|
className
|
|
19
19
|
)}
|
|
20
20
|
{...props}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { HTMLAttributes } from "astro/types"
|
|
3
|
+
import CheckIcon from "@lucide/astro/icons/check"
|
|
3
4
|
|
|
4
5
|
import { cn } from "@/lib/utils"
|
|
5
|
-
import { Icon } from "@/components/ui/icon"
|
|
6
6
|
|
|
7
7
|
type Props = HTMLAttributes<"button"> & {
|
|
8
8
|
value: string
|
|
@@ -34,7 +34,7 @@ const {
|
|
|
34
34
|
disabled={disabled ? true : undefined}
|
|
35
35
|
type={type}
|
|
36
36
|
class={cn(
|
|
37
|
-
"group/dropdown-menu-radio-item data-highlighted:bg-accent data-highlighted:text-accent-foreground data-highlighted:**:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-
|
|
37
|
+
"group/dropdown-menu-radio-item data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[highlighted]:**:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
38
38
|
className
|
|
39
39
|
)}
|
|
40
40
|
{...props}
|
|
@@ -43,9 +43,8 @@ const {
|
|
|
43
43
|
data-slot="dropdown-menu-radio-item-indicator"
|
|
44
44
|
class="pointer-events-none absolute right-2 flex items-center justify-center"
|
|
45
45
|
>
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
class="size-4 opacity-0 group-data-checked/dropdown-menu-radio-item:opacity-100"
|
|
46
|
+
<CheckIcon
|
|
47
|
+
class="opacity-0 group-data-[checked]/dropdown-menu-radio-item:opacity-100"
|
|
49
48
|
/>
|
|
50
49
|
</span>
|
|
51
50
|
<slot />
|
|
@@ -11,7 +11,7 @@ const { class: className, ...props } = Astro.props
|
|
|
11
11
|
<span
|
|
12
12
|
data-slot="dropdown-menu-shortcut"
|
|
13
13
|
class={cn(
|
|
14
|
-
"text-muted-foreground group-data-highlighted/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest",
|
|
14
|
+
"text-muted-foreground group-data-[highlighted]/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest",
|
|
15
15
|
className
|
|
16
16
|
)}
|
|
17
17
|
{...props}
|
|
@@ -16,6 +16,7 @@ type Props = HTMLAttributes<"div"> & {
|
|
|
16
16
|
alignOffset?: number
|
|
17
17
|
avoidCollisions?: boolean
|
|
18
18
|
collisionPadding?: number
|
|
19
|
+
lockScroll?: boolean
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
const {
|
|
@@ -33,6 +34,7 @@ const {
|
|
|
33
34
|
alignOffset,
|
|
34
35
|
avoidCollisions,
|
|
35
36
|
collisionPadding,
|
|
37
|
+
lockScroll,
|
|
36
38
|
...props
|
|
37
39
|
} = Astro.props
|
|
38
40
|
|
|
@@ -55,6 +57,7 @@ const defaultValuesAttr =
|
|
|
55
57
|
data-align-offset={alignOffset}
|
|
56
58
|
data-avoid-collisions={avoidCollisions}
|
|
57
59
|
data-collision-padding={collisionPadding}
|
|
60
|
+
data-lock-scroll={lockScroll}
|
|
58
61
|
class={className}
|
|
59
62
|
{...props}
|
|
60
63
|
>
|
|
@@ -12,7 +12,7 @@ const { class: className, ...props } = Astro.props
|
|
|
12
12
|
<Label
|
|
13
13
|
data-slot="field-label"
|
|
14
14
|
class={cn(
|
|
15
|
-
"has-data-checked:bg-primary/5 has-data-checked:border-primary/30 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10 group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border *:data-[slot=field]:p-3",
|
|
15
|
+
"has-data-checked:bg-primary/5 has-data-checked:border-primary/30 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10 group/field-label peer/field-label has-[>[data-slot=field]]:not-has-[:disabled,[data-disabled]]:hover:bg-muted/50 has-[>[data-slot=field]]:has-[:focus-visible]:border-ring has-[>[data-slot=field]]:has-[:focus-visible]:ring-ring/50 flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border has-[>[data-slot=field]]:has-[:focus-visible]:ring-3 *:data-[slot=field]:p-3",
|
|
16
16
|
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",
|
|
17
17
|
className
|
|
18
18
|
)}
|
|
@@ -11,7 +11,7 @@ const { class: className, ...props } = Astro.props
|
|
|
11
11
|
<div
|
|
12
12
|
data-slot="field-label"
|
|
13
13
|
class={cn(
|
|
14
|
-
"flex w-fit items-center gap-2 text-sm
|
|
14
|
+
"flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50",
|
|
15
15
|
className
|
|
16
16
|
)}
|
|
17
17
|
{...props}
|
|
@@ -15,10 +15,10 @@ type Props = HTMLAttributes<"div"> & {
|
|
|
15
15
|
const {
|
|
16
16
|
class: className,
|
|
17
17
|
hidden = true,
|
|
18
|
-
side
|
|
19
|
-
align
|
|
20
|
-
sideOffset
|
|
21
|
-
alignOffset
|
|
18
|
+
side,
|
|
19
|
+
align,
|
|
20
|
+
sideOffset,
|
|
21
|
+
alignOffset,
|
|
22
22
|
avoidCollisions,
|
|
23
23
|
collisionPadding,
|
|
24
24
|
...props
|
|
@@ -24,13 +24,13 @@ const {
|
|
|
24
24
|
class: className,
|
|
25
25
|
defaultOpen,
|
|
26
26
|
open,
|
|
27
|
-
delay =
|
|
27
|
+
delay = 700,
|
|
28
28
|
skipDelayDuration = 300,
|
|
29
29
|
closeDelay = 300,
|
|
30
30
|
side = "bottom",
|
|
31
31
|
align = "center",
|
|
32
32
|
sideOffset = 4,
|
|
33
|
-
alignOffset =
|
|
33
|
+
alignOffset = 0,
|
|
34
34
|
avoidCollisions = true,
|
|
35
35
|
collisionPadding = 8,
|
|
36
36
|
portal = true,
|
|
@@ -3,7 +3,7 @@ import type { HTMLAttributes } from "astro/types"
|
|
|
3
3
|
|
|
4
4
|
type Props = Omit<HTMLAttributes<"svg">, "name" | "href"> & {
|
|
5
5
|
href?: HTMLAttributes<"a">["href"]
|
|
6
|
-
name?: string | number
|
|
6
|
+
name?: string | number
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
const { name, href, ...props } = Astro.props
|
|
@@ -37,13 +37,10 @@ const hrefMap = {
|
|
|
37
37
|
linkedin: "linkedin",
|
|
38
38
|
} as const
|
|
39
39
|
|
|
40
|
-
const icons = import.meta.glob(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
],
|
|
45
|
-
{ eager: true }
|
|
46
|
-
) as Record<string, { default: any }>
|
|
40
|
+
const icons = import.meta.glob([
|
|
41
|
+
"node_modules/lucide-static/icons/*.svg",
|
|
42
|
+
"node_modules/simple-icons/icons/*.svg",
|
|
43
|
+
])
|
|
47
44
|
|
|
48
45
|
const foundPath = () => {
|
|
49
46
|
let foundPath: string | undefined = undefined
|
|
@@ -66,8 +63,8 @@ const foundPath = () => {
|
|
|
66
63
|
return foundPath
|
|
67
64
|
}
|
|
68
65
|
|
|
69
|
-
const
|
|
70
|
-
const module =
|
|
66
|
+
const foundModule = foundPath() && icons[foundPath() as keyof typeof icons]
|
|
67
|
+
const module = foundModule && ((await foundModule()) as any)
|
|
71
68
|
const Comp = module?.default
|
|
72
69
|
---
|
|
73
70
|
|
|
@@ -14,7 +14,6 @@ const variants = cva(
|
|
|
14
14
|
variants: {
|
|
15
15
|
variant: {
|
|
16
16
|
default: "border-transparent",
|
|
17
|
-
inset: "border-transparent",
|
|
18
17
|
outline: "border-border",
|
|
19
18
|
muted: "bg-muted/50 border-transparent",
|
|
20
19
|
},
|
|
@@ -24,23 +23,6 @@ const variants = cva(
|
|
|
24
23
|
xs: "gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0",
|
|
25
24
|
},
|
|
26
25
|
},
|
|
27
|
-
compoundVariants: [
|
|
28
|
-
{
|
|
29
|
-
variant: "inset",
|
|
30
|
-
size: "default",
|
|
31
|
-
class: "-mx-4",
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
variant: "inset",
|
|
35
|
-
size: "sm",
|
|
36
|
-
class: "-mx-3",
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
variant: "inset",
|
|
40
|
-
size: "xs",
|
|
41
|
-
class: "-mx-2.5",
|
|
42
|
-
},
|
|
43
|
-
],
|
|
44
26
|
defaultVariants: {
|
|
45
27
|
variant: "default",
|
|
46
28
|
size: "default",
|
|
@@ -11,7 +11,7 @@ const { class: className, ...props } = Astro.props
|
|
|
11
11
|
<kbd
|
|
12
12
|
data-slot="kbd"
|
|
13
13
|
class={cn(
|
|
14
|
-
"bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs
|
|
14
|
+
"bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none [&_svg:not([class*='size-'])]:size-3",
|
|
15
15
|
className
|
|
16
16
|
)}
|
|
17
17
|
{...props}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { ImageMetadata } from "astro"
|
|
3
|
-
import { getImage } from "astro:assets"
|
|
3
|
+
import { Font, getImage } from "astro:assets"
|
|
4
4
|
import { AstroSeo } from "@lexingtonthemes/seo"
|
|
5
5
|
|
|
6
6
|
type Props = {
|
|
@@ -73,6 +73,8 @@ const openGraphImage =
|
|
|
73
73
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
74
74
|
<meta name="generator" content={Astro.generator} />
|
|
75
75
|
<meta charset="utf-8" />
|
|
76
|
+
<Font cssVariable="--font-sans" />
|
|
77
|
+
<Font cssVariable="--font-mono" />
|
|
76
78
|
<AstroSeo
|
|
77
79
|
title={title}
|
|
78
80
|
description={description}
|
|
@@ -95,6 +97,5 @@ const openGraphImage =
|
|
|
95
97
|
}),
|
|
96
98
|
}}
|
|
97
99
|
/>
|
|
98
|
-
<slot name="head" />
|
|
99
100
|
<slot />
|
|
100
101
|
</head>
|
|
@@ -11,7 +11,7 @@ const { class: className, ...props } = Astro.props
|
|
|
11
11
|
<main
|
|
12
12
|
data-slot="layout-main"
|
|
13
13
|
class={cn(
|
|
14
|
-
"@container flex flex-col in-data-
|
|
14
|
+
"@container flex flex-col in-[[data-slot=sidebar-inset]]:rounded-[inherit]",
|
|
15
15
|
className
|
|
16
16
|
)}
|
|
17
17
|
{...props}
|