@codefast/ui 0.3.16-canary.3 → 0.4.0-canary.4
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 +60 -0
- package/README.md +27 -16
- package/dist/components/accordion.d.mts +7 -22
- package/dist/components/accordion.mjs +26 -29
- package/dist/components/alert-dialog.d.mts +27 -26
- package/dist/components/alert-dialog.mjs +53 -45
- package/dist/components/alert.d.mts +12 -2
- package/dist/components/alert.mjs +15 -6
- package/dist/components/aspect-ratio.d.mts +2 -2
- package/dist/components/aspect-ratio.mjs +2 -3
- package/dist/components/avatar.d.mts +41 -5
- package/dist/components/avatar.mjs +40 -10
- package/dist/components/badge.mjs +4 -4
- package/dist/components/breadcrumb.d.mts +1 -0
- package/dist/components/breadcrumb.mjs +11 -10
- package/dist/components/button-group.d.mts +1 -1
- package/dist/components/button-group.mjs +6 -7
- package/dist/components/button.d.mts +0 -1
- package/dist/components/button.mjs +7 -7
- package/dist/components/calendar.d.mts +6 -2
- package/dist/components/calendar.mjs +39 -43
- package/dist/components/card.d.mts +4 -2
- package/dist/components/card.mjs +9 -9
- package/dist/components/carousel.d.mts +16 -4
- package/dist/components/carousel.mjs +24 -11
- package/dist/components/chart.d.mts +8 -3
- package/dist/components/chart.mjs +21 -15
- package/dist/components/checkbox-cards.mjs +4 -4
- package/dist/components/checkbox-group.mjs +3 -4
- package/dist/components/checkbox.d.mts +2 -2
- package/dist/components/checkbox.mjs +6 -7
- package/dist/components/collapsible.d.mts +4 -4
- package/dist/components/collapsible.mjs +4 -5
- package/dist/components/command.d.mts +11 -1
- package/dist/components/command.mjs +35 -32
- package/dist/components/context-menu.d.mts +22 -15
- package/dist/components/context-menu.mjs +44 -39
- package/dist/components/dialog.d.mts +19 -23
- package/dist/components/dialog.mjs +48 -47
- package/dist/components/direction.d.mts +24 -0
- package/dist/components/direction.mjs +18 -0
- package/dist/components/drawer.d.mts +2 -20
- package/dist/components/drawer.mjs +17 -25
- package/dist/components/dropdown-menu.d.mts +22 -15
- package/dist/components/dropdown-menu.mjs +41 -37
- package/dist/components/empty.mjs +5 -5
- package/dist/components/field.d.mts +1 -1
- package/dist/components/field.mjs +11 -12
- package/dist/components/form.d.mts +6 -7
- package/dist/components/form.mjs +6 -7
- package/dist/components/hover-card.d.mts +5 -5
- package/dist/components/hover-card.mjs +14 -12
- package/dist/components/input-group.d.mts +1 -1
- package/dist/components/input-group.mjs +12 -7
- package/dist/components/input-number.d.mts +3 -1
- package/dist/components/input-number.mjs +49 -27
- package/dist/components/input-otp.mjs +9 -7
- package/dist/components/input-password.mjs +1 -4
- package/dist/components/input-search.mjs +3 -5
- package/dist/components/input.mjs +1 -2
- package/dist/components/item.mjs +9 -9
- package/dist/components/kbd.mjs +1 -1
- package/dist/components/label.d.mts +2 -2
- package/dist/components/label.mjs +3 -4
- package/dist/components/menubar.d.mts +22 -16
- package/dist/components/menubar.mjs +54 -47
- package/dist/components/native-select.d.mts +5 -1
- package/dist/components/native-select.mjs +9 -6
- package/dist/components/navigation-menu.d.mts +30 -8
- package/dist/components/navigation-menu.mjs +33 -23
- package/dist/components/pagination.d.mts +6 -0
- package/dist/components/pagination.mjs +26 -11
- package/dist/components/popover.d.mts +40 -7
- package/dist/components/popover.mjs +46 -14
- package/dist/components/progress-circle.d.mts +1 -1
- package/dist/components/progress-circle.mjs +1 -2
- package/dist/components/progress.d.mts +2 -2
- package/dist/components/progress.mjs +5 -6
- package/dist/components/radio-cards.d.mts +3 -3
- package/dist/components/radio-cards.mjs +11 -11
- package/dist/components/radio-group.d.mts +3 -3
- package/dist/components/radio-group.mjs +9 -9
- package/dist/components/radio.mjs +2 -3
- package/dist/components/resizable.mjs +3 -8
- package/dist/components/scroll-area.d.mts +5 -5
- package/dist/components/scroll-area.mjs +13 -10
- package/dist/components/select.d.mts +14 -14
- package/dist/components/select.mjs +47 -47
- package/dist/components/separator.d.mts +2 -2
- package/dist/components/separator.mjs +3 -4
- package/dist/components/sheet.d.mts +13 -14
- package/dist/components/sheet.mjs +41 -39
- package/dist/components/sidebar.d.mts +2 -3
- package/dist/components/sidebar.mjs +46 -46
- package/dist/components/skeleton.mjs +1 -1
- package/dist/components/slider.d.mts +2 -2
- package/dist/components/slider.mjs +9 -11
- package/dist/components/sonner.mjs +11 -3
- package/dist/components/spinner.mjs +6 -7
- package/dist/components/switch.d.mts +5 -2
- package/dist/components/switch.mjs +7 -7
- package/dist/components/table.mjs +10 -10
- package/dist/components/tabs.d.mts +8 -5
- package/dist/components/tabs.mjs +18 -12
- package/dist/components/textarea.mjs +1 -1
- package/dist/components/toggle-group.d.mts +9 -6
- package/dist/components/toggle-group.mjs +19 -20
- package/dist/components/toggle.d.mts +2 -3
- package/dist/components/toggle.mjs +4 -6
- package/dist/components/tooltip.d.mts +7 -6
- package/dist/components/tooltip.mjs +19 -17
- package/dist/hooks/use-animated-value.mjs +0 -1
- package/dist/hooks/use-copy-to-clipboard.mjs +0 -1
- package/dist/hooks/use-is-mobile.mjs +0 -1
- package/dist/hooks/use-media-query.mjs +0 -1
- package/dist/hooks/use-mutation-observer.mjs +0 -1
- package/dist/hooks/use-pagination.mjs +0 -1
- package/dist/index.d.mts +15 -13
- package/dist/index.mjs +18 -16
- package/dist/primitives/checkbox-group.d.mts +9 -10
- package/dist/primitives/checkbox-group.mjs +14 -19
- package/dist/primitives/input-number.d.mts +3 -3
- package/dist/primitives/input-number.mjs +3 -5
- package/dist/primitives/input.d.mts +4 -4
- package/dist/primitives/input.mjs +2 -3
- package/dist/primitives/progress-circle.d.mts +3 -3
- package/dist/primitives/progress-circle.mjs +2 -3
- package/dist/variants/alert.d.mts +1 -1
- package/dist/variants/alert.mjs +3 -13
- package/dist/variants/badge.d.mts +6 -4
- package/dist/variants/badge.mjs +7 -34
- package/dist/variants/button-group.d.mts +2 -2
- package/dist/variants/button-group.mjs +3 -14
- package/dist/variants/button.d.mts +12 -10
- package/dist/variants/button.mjs +15 -57
- package/dist/variants/empty.d.mts +1 -1
- package/dist/variants/empty.mjs +2 -7
- package/dist/variants/field.d.mts +3 -3
- package/dist/variants/field.mjs +4 -22
- package/dist/variants/input-group.d.mts +9 -9
- package/dist/variants/input-group.mjs +11 -70
- package/dist/variants/input-number.d.mts +45 -0
- package/dist/variants/input-number.mjs +40 -0
- package/dist/variants/item.d.mts +5 -4
- package/dist/variants/item.mjs +9 -31
- package/dist/variants/navigation-menu.d.mts +1 -1
- package/dist/variants/navigation-menu.mjs +1 -5
- package/dist/variants/progress-circle.d.mts +1 -1
- package/dist/variants/progress-circle.mjs +1 -5
- package/dist/variants/scroll-area.d.mts +2 -2
- package/dist/variants/scroll-area.mjs +3 -8
- package/dist/variants/separator.mjs +6 -6
- package/dist/variants/sheet.d.mts +4 -4
- package/dist/variants/sheet.mjs +5 -38
- package/dist/variants/sidebar.d.mts +4 -4
- package/dist/variants/sidebar.mjs +6 -23
- package/dist/variants/tabs.d.mts +18 -0
- package/dist/variants/tabs.mjs +15 -0
- package/dist/variants/toggle.d.mts +4 -4
- package/dist/variants/toggle.mjs +9 -27
- package/package.json +27 -44
- package/src/components/accordion.tsx +26 -68
- package/src/components/alert-dialog.tsx +70 -86
- package/src/components/alert.tsx +27 -19
- package/src/components/aspect-ratio.tsx +1 -4
- package/src/components/avatar.tsx +99 -12
- package/src/components/badge.tsx +5 -8
- package/src/components/breadcrumb.tsx +18 -24
- package/src/components/button-group.tsx +10 -20
- package/src/components/button.tsx +8 -19
- package/src/components/calendar.tsx +77 -132
- package/src/components/card.tsx +16 -22
- package/src/components/carousel.tsx +38 -56
- package/src/components/chart.tsx +41 -92
- package/src/components/checkbox-cards.tsx +10 -30
- package/src/components/checkbox-group.tsx +5 -28
- package/src/components/checkbox.tsx +5 -26
- package/src/components/collapsible.tsx +1 -4
- package/src/components/command.tsx +52 -65
- package/src/components/context-menu.tsx +46 -125
- package/src/components/dialog.tsx +49 -101
- package/src/components/direction.tsx +32 -0
- package/src/components/drawer.tsx +17 -79
- package/src/components/dropdown-menu.tsx +39 -118
- package/src/components/empty.tsx +6 -20
- package/src/components/field.tsx +19 -52
- package/src/components/form.tsx +19 -61
- package/src/components/hover-card.tsx +4 -27
- package/src/components/input-group.tsx +13 -52
- package/src/components/input-number.tsx +55 -75
- package/src/components/input-otp.tsx +19 -38
- package/src/components/input-password.tsx +5 -29
- package/src/components/input-search.tsx +6 -23
- package/src/components/input.tsx +1 -17
- package/src/components/item.tsx +17 -31
- package/src/components/kbd.tsx +2 -14
- package/src/components/label.tsx +2 -10
- package/src/components/menubar.tsx +34 -125
- package/src/components/native-select.tsx +21 -30
- package/src/components/navigation-menu.tsx +34 -94
- package/src/components/pagination.tsx +28 -34
- package/src/components/popover.tsx +66 -35
- package/src/components/progress-circle.tsx +7 -25
- package/src/components/progress.tsx +3 -16
- package/src/components/radio-cards.tsx +8 -27
- package/src/components/radio-group.tsx +7 -27
- package/src/components/radio.tsx +3 -24
- package/src/components/resizable.tsx +5 -26
- package/src/components/scroll-area.tsx +12 -32
- package/src/components/select.tsx +36 -59
- package/src/components/separator.tsx +4 -18
- package/src/components/sheet.tsx +37 -74
- package/src/components/sidebar.tsx +47 -177
- package/src/components/skeleton.tsx +1 -3
- package/src/components/slider.tsx +7 -36
- package/src/components/sonner.tsx +16 -6
- package/src/components/spinner.tsx +6 -15
- package/src/components/switch.tsx +8 -30
- package/src/components/table.tsx +18 -35
- package/src/components/tabs.tsx +16 -34
- package/src/components/textarea.tsx +1 -15
- package/src/components/toggle-group.tsx +34 -38
- package/src/components/toggle.tsx +4 -13
- package/src/components/tooltip.tsx +11 -37
- package/src/css/foundation/base.css +50 -0
- package/src/css/foundation/motion.css +36 -0
- package/src/css/foundation/source.css +3 -0
- package/src/css/foundation/tokens.css +71 -0
- package/src/css/foundation/variants.css +113 -0
- package/src/css/preset.css +5 -214
- package/src/css/style.css +1 -1
- package/src/hooks/use-animated-value.ts +1 -7
- package/src/hooks/use-copy-to-clipboard.ts +1 -6
- package/src/hooks/use-is-mobile.ts +0 -2
- package/src/hooks/use-media-query.ts +0 -2
- package/src/hooks/use-mutation-observer.ts +0 -3
- package/src/hooks/use-pagination.ts +0 -2
- package/src/index.ts +39 -80
- package/src/primitives/checkbox-group.tsx +25 -39
- package/src/primitives/input-number.tsx +17 -63
- package/src/primitives/input.tsx +8 -24
- package/src/primitives/progress-circle.tsx +13 -43
- package/src/variants/alert.ts +3 -14
- package/src/variants/badge.ts +8 -35
- package/src/variants/button-group.ts +5 -18
- package/src/variants/button.ts +21 -58
- package/src/variants/empty.ts +2 -11
- package/src/variants/field.ts +6 -19
- package/src/variants/input-group.ts +12 -64
- package/src/variants/input-number.ts +65 -0
- package/src/variants/item.ts +10 -32
- package/src/variants/navigation-menu.ts +1 -8
- package/src/variants/progress-circle.ts +1 -2
- package/src/variants/scroll-area.ts +3 -9
- package/src/variants/separator.ts +6 -7
- package/src/variants/sheet.ts +6 -39
- package/src/variants/sidebar.ts +7 -27
- package/src/variants/tabs.ts +34 -0
- package/src/variants/toggle.ts +9 -28
- /package/src/css/{amber.css → themes/amber.css} +0 -0
- /package/src/css/{blue.css → themes/blue.css} +0 -0
- /package/src/css/{cyan.css → themes/cyan.css} +0 -0
- /package/src/css/{emerald.css → themes/emerald.css} +0 -0
- /package/src/css/{fuchsia.css → themes/fuchsia.css} +0 -0
- /package/src/css/{gray.css → themes/gray.css} +0 -0
- /package/src/css/{green.css → themes/green.css} +0 -0
- /package/src/css/{indigo.css → themes/indigo.css} +0 -0
- /package/src/css/{lime.css → themes/lime.css} +0 -0
- /package/src/css/{neutral.css → themes/neutral.css} +0 -0
- /package/src/css/{orange.css → themes/orange.css} +0 -0
- /package/src/css/{pink.css → themes/pink.css} +0 -0
- /package/src/css/{purple.css → themes/purple.css} +0 -0
- /package/src/css/{red.css → themes/red.css} +0 -0
- /package/src/css/{rose.css → themes/rose.css} +0 -0
- /package/src/css/{sky.css → themes/sky.css} +0 -0
- /package/src/css/{slate.css → themes/slate.css} +0 -0
- /package/src/css/{stone.css → themes/stone.css} +0 -0
- /package/src/css/{teal.css → themes/teal.css} +0 -0
- /package/src/css/{violet.css → themes/violet.css} +0 -0
- /package/src/css/{yellow.css → themes/yellow.css} +0 -0
- /package/src/css/{zinc.css → themes/zinc.css} +0 -0
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { cn } from "../lib/utils.mjs";
|
|
3
|
-
import { buttonVariants } from "../variants/button.mjs";
|
|
4
2
|
import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
3
|
+
import { Select as Select$1 } from "radix-ui";
|
|
5
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
7
5
|
//#region src/components/select.tsx
|
|
8
6
|
/**
|
|
9
7
|
* @since 0.3.16-canary.0
|
|
10
8
|
*/
|
|
11
9
|
function Select({ ...props }) {
|
|
12
|
-
return /* @__PURE__ */ jsx(
|
|
10
|
+
return /* @__PURE__ */ jsx(Select$1.Root, {
|
|
13
11
|
"data-slot": "select",
|
|
14
12
|
...props
|
|
15
13
|
});
|
|
@@ -17,8 +15,9 @@ function Select({ ...props }) {
|
|
|
17
15
|
/**
|
|
18
16
|
* @since 0.3.16-canary.0
|
|
19
17
|
*/
|
|
20
|
-
function SelectGroup({ ...props }) {
|
|
21
|
-
return /* @__PURE__ */ jsx(
|
|
18
|
+
function SelectGroup({ className, ...props }) {
|
|
19
|
+
return /* @__PURE__ */ jsx(Select$1.Group, {
|
|
20
|
+
className: cn("scroll-my-1 p-1", className),
|
|
22
21
|
"data-slot": "select-group",
|
|
23
22
|
...props
|
|
24
23
|
});
|
|
@@ -27,7 +26,7 @@ function SelectGroup({ ...props }) {
|
|
|
27
26
|
* @since 0.3.16-canary.0
|
|
28
27
|
*/
|
|
29
28
|
function SelectValue({ ...props }) {
|
|
30
|
-
return /* @__PURE__ */ jsx(
|
|
29
|
+
return /* @__PURE__ */ jsx(Select$1.Value, {
|
|
31
30
|
"data-slot": "select-value",
|
|
32
31
|
...props
|
|
33
32
|
});
|
|
@@ -35,20 +34,15 @@ function SelectValue({ ...props }) {
|
|
|
35
34
|
/**
|
|
36
35
|
* @since 0.3.16-canary.0
|
|
37
36
|
*/
|
|
38
|
-
function SelectTrigger({ children, className, size, ...props }) {
|
|
39
|
-
return /* @__PURE__ */ jsxs(
|
|
40
|
-
className:
|
|
41
|
-
className: ["[&_svg:not([class*='text-'])]:text-muted-foreground focus:ring-ring/50 focus:border-ring w-fit justify-between px-3 font-normal focus:ring-3 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 *:data-[slot=select-value]:truncate", className],
|
|
42
|
-
size,
|
|
43
|
-
variant: "outline"
|
|
44
|
-
}),
|
|
37
|
+
function SelectTrigger({ children, className, size = "default", ...props }) {
|
|
38
|
+
return /* @__PURE__ */ jsxs(Select$1.Trigger, {
|
|
39
|
+
className: cn("flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
45
40
|
"data-size": size,
|
|
46
41
|
"data-slot": "select-trigger",
|
|
47
42
|
...props,
|
|
48
|
-
children: [children, /* @__PURE__ */ jsx(
|
|
43
|
+
children: [children, /* @__PURE__ */ jsx(Select$1.Icon, {
|
|
49
44
|
asChild: true,
|
|
50
|
-
className:
|
|
51
|
-
children: /* @__PURE__ */ jsx(ChevronDownIcon, {})
|
|
45
|
+
children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" })
|
|
52
46
|
})]
|
|
53
47
|
});
|
|
54
48
|
}
|
|
@@ -56,49 +50,55 @@ function SelectTrigger({ children, className, size, ...props }) {
|
|
|
56
50
|
* @since 0.3.16-canary.0
|
|
57
51
|
*/
|
|
58
52
|
function SelectScrollUpButton({ className, ...props }) {
|
|
59
|
-
return /* @__PURE__ */ jsx(
|
|
60
|
-
className: cn("flex items-center justify-center
|
|
53
|
+
return /* @__PURE__ */ jsx(Select$1.ScrollUpButton, {
|
|
54
|
+
className: cn("z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", className),
|
|
61
55
|
"data-slot": "select-scroll-up-button",
|
|
62
56
|
...props,
|
|
63
|
-
children: /* @__PURE__ */ jsx(ChevronUpIcon, {
|
|
57
|
+
children: /* @__PURE__ */ jsx(ChevronUpIcon, {})
|
|
64
58
|
});
|
|
65
59
|
}
|
|
66
60
|
/**
|
|
67
61
|
* @since 0.3.16-canary.0
|
|
68
62
|
*/
|
|
69
63
|
function SelectScrollDownButton({ className, ...props }) {
|
|
70
|
-
return /* @__PURE__ */ jsx(
|
|
71
|
-
className: cn("flex items-center justify-center
|
|
64
|
+
return /* @__PURE__ */ jsx(Select$1.ScrollDownButton, {
|
|
65
|
+
className: cn("z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", className),
|
|
72
66
|
"data-slot": "select-scroll-down-button",
|
|
73
67
|
...props,
|
|
74
|
-
children: /* @__PURE__ */ jsx(ChevronDownIcon, {
|
|
68
|
+
children: /* @__PURE__ */ jsx(ChevronDownIcon, {})
|
|
75
69
|
});
|
|
76
70
|
}
|
|
77
71
|
/**
|
|
78
72
|
* @since 0.3.16-canary.0
|
|
79
73
|
*/
|
|
80
|
-
function SelectContent({ children, className, position = "item-aligned", ...props }) {
|
|
81
|
-
return /* @__PURE__ */ jsx(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
74
|
+
function SelectContent({ align = "center", children, className, position = "item-aligned", ...props }) {
|
|
75
|
+
return /* @__PURE__ */ jsx(Select$1.Portal, {
|
|
76
|
+
"data-slot": "select-portal",
|
|
77
|
+
children: /* @__PURE__ */ jsxs(Select$1.Content, {
|
|
78
|
+
align,
|
|
79
|
+
className: cn("relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 ease-snappy data-[align-trigger=true]:animate-none data-open:animate-in data-open:animation-duration-menu-in data-open:fade-in-0 data-open:zoom-in-95 data-open:data-side-top:slide-in-from-bottom-2 data-open:data-side-right:slide-in-from-left-2 data-open:data-side-bottom:slide-in-from-top-2 data-open:data-side-left:slide-in-from-right-2 data-closed:animate-out data-closed:ease-exit data-closed:animation-duration-menu-out data-closed:fade-out-0 data-closed:zoom-out-95 data-closed:data-side-top:slide-out-to-bottom-2 data-closed:data-side-right:slide-out-to-left-2 data-closed:data-side-bottom:slide-out-to-top-2 data-closed:data-side-left:slide-out-to-right-2", position === "popper" && "data-side-top:-translate-y-1 data-side-right:translate-x-1 data-side-bottom:translate-y-1 data-side-left:-translate-x-1", className),
|
|
80
|
+
"data-align-trigger": position === "item-aligned",
|
|
81
|
+
"data-slot": "select-content",
|
|
82
|
+
position,
|
|
83
|
+
...props,
|
|
84
|
+
children: [
|
|
85
|
+
/* @__PURE__ */ jsx(SelectScrollUpButton, {}),
|
|
86
|
+
/* @__PURE__ */ jsx(Select$1.Viewport, {
|
|
87
|
+
className: cn("data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)", position === "popper" && ""),
|
|
88
|
+
"data-position": position,
|
|
89
|
+
children
|
|
90
|
+
}),
|
|
91
|
+
/* @__PURE__ */ jsx(SelectScrollDownButton, {})
|
|
92
|
+
]
|
|
93
|
+
})
|
|
94
|
+
});
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
97
97
|
* @since 0.3.16-canary.0
|
|
98
98
|
*/
|
|
99
99
|
function SelectLabel({ className, ...props }) {
|
|
100
|
-
return /* @__PURE__ */ jsx(
|
|
101
|
-
className: cn("
|
|
100
|
+
return /* @__PURE__ */ jsx(Select$1.Label, {
|
|
101
|
+
className: cn("px-2 py-1.5 text-xs text-muted-foreground", className),
|
|
102
102
|
"data-slot": "select-label",
|
|
103
103
|
...props
|
|
104
104
|
});
|
|
@@ -107,22 +107,22 @@ function SelectLabel({ className, ...props }) {
|
|
|
107
107
|
* @since 0.3.16-canary.0
|
|
108
108
|
*/
|
|
109
109
|
function SelectItem({ children, className, ...props }) {
|
|
110
|
-
return /* @__PURE__ */ jsxs(
|
|
111
|
-
className: cn("relative flex w-full items-center py-1.5 pr-8 pl-2
|
|
110
|
+
return /* @__PURE__ */ jsxs(Select$1.Item, {
|
|
111
|
+
className: cn("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 focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className),
|
|
112
112
|
"data-slot": "select-item",
|
|
113
113
|
...props,
|
|
114
114
|
children: [/* @__PURE__ */ jsx("span", {
|
|
115
|
-
className:
|
|
116
|
-
children: /* @__PURE__ */ jsx(
|
|
117
|
-
}), /* @__PURE__ */ jsx(
|
|
115
|
+
className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center",
|
|
116
|
+
children: /* @__PURE__ */ jsx(Select$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "pointer-events-none" }) })
|
|
117
|
+
}), /* @__PURE__ */ jsx(Select$1.ItemText, { children })]
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
120
|
/**
|
|
121
121
|
* @since 0.3.16-canary.0
|
|
122
122
|
*/
|
|
123
123
|
function SelectSeparator({ className, ...props }) {
|
|
124
|
-
return /* @__PURE__ */ jsx(
|
|
125
|
-
className: cn("mx-
|
|
124
|
+
return /* @__PURE__ */ jsx(Select$1.Separator, {
|
|
125
|
+
className: cn("pointer-events-none -mx-1 my-1 h-px bg-border", className),
|
|
126
126
|
"data-slot": "select-separator",
|
|
127
127
|
...props
|
|
128
128
|
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { SeparatorVariants } from "../variants/separator.mjs";
|
|
2
|
-
import
|
|
2
|
+
import { Separator as Separator$1 } from "radix-ui";
|
|
3
3
|
import { ComponentProps, JSX } from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/components/separator.d.ts
|
|
6
6
|
/**
|
|
7
7
|
* @since 0.3.16-canary.0
|
|
8
8
|
*/
|
|
9
|
-
interface SeparatorProps extends ComponentProps<typeof
|
|
9
|
+
interface SeparatorProps extends ComponentProps<typeof Separator$1.Root>, Omit<SeparatorVariants, "orientation"> {}
|
|
10
10
|
/**
|
|
11
11
|
* @since 0.3.16-canary.0
|
|
12
12
|
*/
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { cn } from "../lib/utils.mjs";
|
|
3
2
|
import { separatorVariants } from "../variants/separator.mjs";
|
|
3
|
+
import { Separator as Separator$1 } from "radix-ui";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
|
-
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
6
5
|
//#region src/components/separator.tsx
|
|
7
6
|
/**
|
|
8
7
|
* @since 0.3.16-canary.0
|
|
9
8
|
*/
|
|
10
9
|
function Separator({ align, className, decorative = true, orientation, ...props }) {
|
|
11
|
-
return /* @__PURE__ */ jsx(
|
|
10
|
+
return /* @__PURE__ */ jsx(Separator$1.Root, {
|
|
12
11
|
className: separatorVariants({
|
|
13
12
|
align,
|
|
14
13
|
className,
|
|
@@ -25,7 +24,7 @@ function Separator({ align, className, decorative = true, orientation, ...props
|
|
|
25
24
|
*/
|
|
26
25
|
function SeparatorItem({ className, ...props }) {
|
|
27
26
|
return /* @__PURE__ */ jsx("div", {
|
|
28
|
-
className: cn("absolute
|
|
27
|
+
className: cn("absolute mx-2 bg-background px-2 text-sm text-muted-foreground", className),
|
|
29
28
|
"data-slot": "separator-item",
|
|
30
29
|
...props
|
|
31
30
|
});
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
import { ButtonVariants } from "../variants/button.mjs";
|
|
2
2
|
import { SheetContentVariants } from "../variants/sheet.mjs";
|
|
3
|
+
import { Dialog } from "radix-ui";
|
|
3
4
|
import { ComponentProps, JSX } from "react";
|
|
4
|
-
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
5
5
|
|
|
6
6
|
//#region src/components/sheet.d.ts
|
|
7
7
|
/**
|
|
8
8
|
* @since 0.3.16-canary.0
|
|
9
9
|
*/
|
|
10
|
-
type SheetProps = ComponentProps<typeof
|
|
10
|
+
type SheetProps = ComponentProps<typeof Dialog.Root>;
|
|
11
11
|
/**
|
|
12
12
|
* @since 0.3.16-canary.0
|
|
13
13
|
*/
|
|
14
14
|
declare function Sheet({
|
|
15
|
-
children,
|
|
16
15
|
...props
|
|
17
16
|
}: SheetProps): JSX.Element;
|
|
18
17
|
/**
|
|
19
18
|
* @since 0.3.16-canary.0
|
|
20
19
|
*/
|
|
21
|
-
type SheetTriggerProps = ComponentProps<typeof
|
|
20
|
+
type SheetTriggerProps = ComponentProps<typeof Dialog.Trigger>;
|
|
22
21
|
/**
|
|
23
22
|
* @since 0.3.16-canary.0
|
|
24
23
|
*/
|
|
@@ -28,12 +27,8 @@ declare function SheetTrigger({
|
|
|
28
27
|
/**
|
|
29
28
|
* @since 0.3.16-canary.0
|
|
30
29
|
*/
|
|
31
|
-
interface SheetContentProps extends ComponentProps<typeof
|
|
32
|
-
|
|
33
|
-
close?: string;
|
|
34
|
-
content?: string;
|
|
35
|
-
overlay?: string;
|
|
36
|
-
};
|
|
30
|
+
interface SheetContentProps extends ComponentProps<typeof Dialog.Content>, SheetContentVariants {
|
|
31
|
+
showCloseButton?: boolean;
|
|
37
32
|
}
|
|
38
33
|
/**
|
|
39
34
|
* @since 0.3.16-canary.0
|
|
@@ -41,7 +36,7 @@ interface SheetContentProps extends ComponentProps<typeof SheetPrimitive.Content
|
|
|
41
36
|
declare function SheetContent({
|
|
42
37
|
children,
|
|
43
38
|
className,
|
|
44
|
-
|
|
39
|
+
showCloseButton,
|
|
45
40
|
side,
|
|
46
41
|
...props
|
|
47
42
|
}: SheetContentProps): JSX.Element;
|
|
@@ -57,6 +52,10 @@ declare function SheetHeader({
|
|
|
57
52
|
...props
|
|
58
53
|
}: SheetHeaderProps): JSX.Element;
|
|
59
54
|
/**
|
|
55
|
+
* Optional scrollable region for long content. When used, the Header and Footer
|
|
56
|
+
* stay pinned (shrink-0) and only this body scrolls. A codefast enhancement over
|
|
57
|
+
* radix-vega.
|
|
58
|
+
*
|
|
60
59
|
* @since 0.3.16-canary.0
|
|
61
60
|
*/
|
|
62
61
|
type SheetBodyProps = ComponentProps<"div">;
|
|
@@ -81,7 +80,7 @@ declare function SheetFooter({
|
|
|
81
80
|
/**
|
|
82
81
|
* @since 0.3.16-canary.0
|
|
83
82
|
*/
|
|
84
|
-
type SheetTitleProps = ComponentProps<typeof
|
|
83
|
+
type SheetTitleProps = ComponentProps<typeof Dialog.Title>;
|
|
85
84
|
/**
|
|
86
85
|
* @since 0.3.16-canary.0
|
|
87
86
|
*/
|
|
@@ -92,7 +91,7 @@ declare function SheetTitle({
|
|
|
92
91
|
/**
|
|
93
92
|
* @since 0.3.16-canary.0
|
|
94
93
|
*/
|
|
95
|
-
type SheetDescriptionProps = ComponentProps<typeof
|
|
94
|
+
type SheetDescriptionProps = ComponentProps<typeof Dialog.Description>;
|
|
96
95
|
/**
|
|
97
96
|
* @since 0.3.16-canary.0
|
|
98
97
|
*/
|
|
@@ -103,7 +102,7 @@ declare function SheetDescription({
|
|
|
103
102
|
/**
|
|
104
103
|
* @since 0.3.16-canary.0
|
|
105
104
|
*/
|
|
106
|
-
interface SheetCloseProps extends ComponentProps<typeof
|
|
105
|
+
interface SheetCloseProps extends ComponentProps<typeof Dialog.Close> {
|
|
107
106
|
size?: ButtonVariants["size"];
|
|
108
107
|
variant?: ButtonVariants["variant"];
|
|
109
108
|
}
|
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { cn } from "../lib/utils.mjs";
|
|
3
2
|
import { buttonVariants } from "../variants/button.mjs";
|
|
4
3
|
import { sheetContentVariants } from "../variants/sheet.mjs";
|
|
5
4
|
import { XIcon } from "lucide-react";
|
|
5
|
+
import { Dialog } from "radix-ui";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
-
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
8
7
|
//#region src/components/sheet.tsx
|
|
9
8
|
/**
|
|
10
9
|
* @since 0.3.16-canary.0
|
|
11
10
|
*/
|
|
12
|
-
function Sheet({
|
|
13
|
-
return /* @__PURE__ */ jsx(
|
|
11
|
+
function Sheet({ ...props }) {
|
|
12
|
+
return /* @__PURE__ */ jsx(Dialog.Root, {
|
|
14
13
|
"data-slot": "sheet",
|
|
15
|
-
...props
|
|
16
|
-
children
|
|
14
|
+
...props
|
|
17
15
|
});
|
|
18
16
|
}
|
|
19
17
|
/**
|
|
20
18
|
* @since 0.3.16-canary.0
|
|
21
19
|
*/
|
|
22
20
|
function SheetTrigger({ ...props }) {
|
|
23
|
-
return /* @__PURE__ */ jsx(
|
|
21
|
+
return /* @__PURE__ */ jsx(Dialog.Trigger, {
|
|
24
22
|
"data-slot": "sheet-trigger",
|
|
25
23
|
...props
|
|
26
24
|
});
|
|
@@ -28,37 +26,41 @@ function SheetTrigger({ ...props }) {
|
|
|
28
26
|
/**
|
|
29
27
|
* @since 0.3.16-canary.0
|
|
30
28
|
*/
|
|
31
|
-
function SheetContent({ children, className,
|
|
32
|
-
return /* @__PURE__ */ jsxs(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
...props,
|
|
42
|
-
children: [children, /* @__PURE__ */ jsxs(SheetPrimitive.Close, {
|
|
43
|
-
className: buttonVariants({
|
|
44
|
-
className: ["absolute top-4 right-4 size-7", classNames?.close],
|
|
45
|
-
size: "icon",
|
|
46
|
-
variant: "ghost"
|
|
29
|
+
function SheetContent({ children, className, showCloseButton = true, side = "right", ...props }) {
|
|
30
|
+
return /* @__PURE__ */ jsxs(Dialog.Portal, {
|
|
31
|
+
"data-slot": "sheet-portal",
|
|
32
|
+
children: [/* @__PURE__ */ jsx(Dialog.Overlay, {
|
|
33
|
+
className: "fixed inset-0 z-50 bg-black/10 ease-gentle supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:animation-duration-panel-in data-open:fade-in-0 data-closed:animate-out data-closed:ease-exit data-closed:animation-duration-panel-out data-closed:fade-out-0",
|
|
34
|
+
"data-slot": "sheet-overlay"
|
|
35
|
+
}), /* @__PURE__ */ jsxs(Dialog.Content, {
|
|
36
|
+
className: sheetContentVariants({
|
|
37
|
+
className,
|
|
38
|
+
side
|
|
47
39
|
}),
|
|
48
|
-
"data-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
40
|
+
"data-side": side,
|
|
41
|
+
"data-slot": "sheet-content",
|
|
42
|
+
...props,
|
|
43
|
+
children: [children, showCloseButton ? /* @__PURE__ */ jsxs(Dialog.Close, {
|
|
44
|
+
className: buttonVariants({
|
|
45
|
+
className: "absolute top-4 right-4",
|
|
46
|
+
size: "icon-sm",
|
|
47
|
+
variant: "ghost"
|
|
48
|
+
}),
|
|
49
|
+
"data-slot": "sheet-close",
|
|
50
|
+
children: [/* @__PURE__ */ jsx(XIcon, {}), /* @__PURE__ */ jsx("span", {
|
|
51
|
+
className: "sr-only",
|
|
52
|
+
children: "Close"
|
|
53
|
+
})]
|
|
54
|
+
}) : null]
|
|
53
55
|
})]
|
|
54
|
-
})
|
|
56
|
+
});
|
|
55
57
|
}
|
|
56
58
|
/**
|
|
57
59
|
* @since 0.3.16-canary.0
|
|
58
60
|
*/
|
|
59
61
|
function SheetHeader({ className, ...props }) {
|
|
60
|
-
return /* @__PURE__ */ jsx("
|
|
61
|
-
className: cn("flex shrink-0 flex-col gap-1.5
|
|
62
|
+
return /* @__PURE__ */ jsx("div", {
|
|
63
|
+
className: cn("flex shrink-0 flex-col gap-1.5 p-4", className),
|
|
62
64
|
"data-slot": "sheet-header",
|
|
63
65
|
...props
|
|
64
66
|
});
|
|
@@ -67,8 +69,8 @@ function SheetHeader({ className, ...props }) {
|
|
|
67
69
|
* @since 0.3.16-canary.0
|
|
68
70
|
*/
|
|
69
71
|
function SheetBody({ className, ...props }) {
|
|
70
|
-
return /* @__PURE__ */ jsx("
|
|
71
|
-
className: cn("overflow-auto
|
|
72
|
+
return /* @__PURE__ */ jsx("div", {
|
|
73
|
+
className: cn("min-h-0 flex-1 overflow-y-auto px-4", className),
|
|
72
74
|
"data-slot": "sheet-body",
|
|
73
75
|
...props
|
|
74
76
|
});
|
|
@@ -77,8 +79,8 @@ function SheetBody({ className, ...props }) {
|
|
|
77
79
|
* @since 0.3.16-canary.0
|
|
78
80
|
*/
|
|
79
81
|
function SheetFooter({ className, ...props }) {
|
|
80
|
-
return /* @__PURE__ */ jsx("
|
|
81
|
-
className: cn("flex shrink-0 flex-col
|
|
82
|
+
return /* @__PURE__ */ jsx("div", {
|
|
83
|
+
className: cn("mt-auto flex shrink-0 flex-col gap-2 p-4", className),
|
|
82
84
|
"data-slot": "sheet-footer",
|
|
83
85
|
...props
|
|
84
86
|
});
|
|
@@ -87,8 +89,8 @@ function SheetFooter({ className, ...props }) {
|
|
|
87
89
|
* @since 0.3.16-canary.0
|
|
88
90
|
*/
|
|
89
91
|
function SheetTitle({ className, ...props }) {
|
|
90
|
-
return /* @__PURE__ */ jsx(
|
|
91
|
-
className: cn("
|
|
92
|
+
return /* @__PURE__ */ jsx(Dialog.Title, {
|
|
93
|
+
className: cn("font-heading font-medium text-foreground", className),
|
|
92
94
|
"data-slot": "sheet-title",
|
|
93
95
|
...props
|
|
94
96
|
});
|
|
@@ -97,7 +99,7 @@ function SheetTitle({ className, ...props }) {
|
|
|
97
99
|
* @since 0.3.16-canary.0
|
|
98
100
|
*/
|
|
99
101
|
function SheetDescription({ className, ...props }) {
|
|
100
|
-
return /* @__PURE__ */ jsx(
|
|
102
|
+
return /* @__PURE__ */ jsx(Dialog.Description, {
|
|
101
103
|
className: cn("text-sm text-muted-foreground", className),
|
|
102
104
|
"data-slot": "sheet-description",
|
|
103
105
|
...props
|
|
@@ -107,7 +109,7 @@ function SheetDescription({ className, ...props }) {
|
|
|
107
109
|
* @since 0.3.16-canary.0
|
|
108
110
|
*/
|
|
109
111
|
function SheetClose({ className, size, variant, ...props }) {
|
|
110
|
-
return /* @__PURE__ */ jsx(
|
|
112
|
+
return /* @__PURE__ */ jsx(Dialog.Close, {
|
|
111
113
|
className: buttonVariants({
|
|
112
114
|
className,
|
|
113
115
|
size,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Separator } from "./separator.mjs";
|
|
2
1
|
import { Button } from "./button.mjs";
|
|
2
|
+
import { Separator } from "./separator.mjs";
|
|
3
3
|
import { Input } from "./input.mjs";
|
|
4
|
-
import { SidebarMenuButtonVariants } from "../variants/sidebar.mjs";
|
|
5
4
|
import { TooltipContent } from "./tooltip.mjs";
|
|
5
|
+
import { SidebarMenuButtonVariants } from "../variants/sidebar.mjs";
|
|
6
6
|
import { ComponentProps, Dispatch, JSX, SetStateAction } from "react";
|
|
7
7
|
|
|
8
8
|
//#region src/components/sidebar.d.ts
|
|
@@ -63,7 +63,6 @@ type SidebarTriggerProps = ComponentProps<typeof Button>;
|
|
|
63
63
|
* @since 0.3.16-canary.0
|
|
64
64
|
*/
|
|
65
65
|
declare function SidebarTrigger({
|
|
66
|
-
className,
|
|
67
66
|
onClick,
|
|
68
67
|
...props
|
|
69
68
|
}: SidebarTriggerProps): JSX.Element;
|