@codefast/ui 0.3.16-canary.2 → 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 +81 -0
- package/README.md +28 -17
- 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 +14 -14
- package/dist/components/alert.mjs +17 -28
- 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.d.mts +3 -15
- package/dist/components/badge.mjs +6 -48
- package/dist/components/breadcrumb.d.mts +1 -0
- package/dist/components/breadcrumb.mjs +11 -10
- package/dist/components/button-group.d.mts +3 -13
- package/dist/components/button-group.mjs +9 -31
- package/dist/components/button.d.mts +3 -26
- package/dist/components/button.mjs +9 -79
- package/dist/components/calendar.d.mts +6 -2
- package/dist/components/calendar.mjs +41 -44
- package/dist/components/card.d.mts +4 -2
- package/dist/components/card.mjs +9 -9
- package/dist/components/carousel.d.mts +16 -5
- package/dist/components/carousel.mjs +24 -11
- package/dist/components/chart.d.mts +9 -6
- 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 +3 -21
- package/dist/components/drawer.mjs +19 -27
- package/dist/components/dropdown-menu.d.mts +22 -15
- package/dist/components/dropdown-menu.mjs +41 -37
- package/dist/components/empty.d.mts +3 -13
- package/dist/components/empty.mjs +8 -23
- package/dist/components/field.d.mts +3 -14
- package/dist/components/field.mjs +14 -44
- package/dist/components/form.d.mts +7 -10
- 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 +4 -31
- package/dist/components/input-group.mjs +14 -96
- package/dist/components/input-number.d.mts +3 -1
- package/dist/components/input-number.mjs +50 -28
- 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.d.mts +4 -29
- package/dist/components/item.mjs +12 -65
- 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 -13
- package/dist/components/navigation-menu.mjs +35 -32
- package/dist/components/pagination.d.mts +7 -1
- package/dist/components/pagination.mjs +27 -12
- package/dist/components/popover.d.mts +40 -7
- package/dist/components/popover.mjs +46 -14
- package/dist/components/progress-circle.d.mts +3 -47
- package/dist/components/progress-circle.mjs +2 -48
- 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 +8 -24
- package/dist/components/scroll-area.mjs +16 -70
- package/dist/components/select.d.mts +14 -14
- package/dist/components/select.mjs +47 -47
- package/dist/components/separator.d.mts +4 -19
- package/dist/components/separator.mjs +6 -27
- package/dist/components/sheet.d.mts +18 -31
- package/dist/components/sheet.mjs +46 -87
- package/dist/components/sidebar.d.mts +3 -19
- package/dist/components/sidebar.mjs +48 -84
- 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 +11 -7
- package/dist/components/toggle-group.mjs +20 -21
- package/dist/components/toggle.d.mts +4 -24
- package/dist/components/toggle.mjs +6 -45
- 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 +38 -21
- package/dist/index.mjs +40 -23
- package/dist/lib/utils.d.mts +1 -12
- package/dist/lib/utils.mjs +1 -9
- package/dist/primitives/checkbox-group.d.mts +9 -11
- package/dist/primitives/checkbox-group.mjs +14 -19
- package/dist/primitives/input-number.d.mts +3 -4
- package/dist/primitives/input-number.mjs +3 -5
- package/dist/primitives/input.d.mts +4 -5
- package/dist/primitives/input.mjs +2 -3
- package/dist/primitives/progress-circle.d.mts +3 -4
- package/dist/primitives/progress-circle.mjs +2 -3
- package/dist/variants/alert.d.mts +18 -0
- package/dist/variants/alert.mjs +15 -0
- package/dist/variants/badge.d.mts +22 -0
- package/dist/variants/badge.mjs +19 -0
- package/dist/variants/button-group.d.mts +18 -0
- package/dist/variants/button-group.mjs +15 -0
- package/dist/variants/button.d.mts +32 -0
- package/dist/variants/button.mjs +34 -0
- package/dist/variants/empty.d.mts +18 -0
- package/dist/variants/empty.mjs +15 -0
- package/dist/variants/field.d.mts +19 -0
- package/dist/variants/field.mjs +16 -0
- package/dist/variants/input-group.d.mts +43 -0
- package/dist/variants/input-group.mjs +34 -0
- package/dist/variants/input-number.d.mts +45 -0
- package/dist/variants/input-number.mjs +40 -0
- package/dist/variants/item.d.mts +38 -0
- package/dist/variants/item.mjs +38 -0
- package/dist/variants/navigation-menu.d.mts +13 -0
- package/dist/variants/navigation-menu.mjs +8 -0
- package/dist/variants/progress-circle.d.mts +52 -0
- package/dist/variants/progress-circle.mjs +45 -0
- package/dist/variants/scroll-area.d.mts +24 -0
- package/dist/variants/scroll-area.mjs +58 -0
- package/dist/variants/separator.d.mts +23 -0
- package/dist/variants/separator.mjs +25 -0
- package/dist/variants/sheet.d.mts +20 -0
- package/dist/variants/sheet.mjs +17 -0
- package/dist/variants/sidebar.d.mts +23 -0
- package/dist/variants/sidebar.mjs +25 -0
- package/dist/variants/tabs.d.mts +18 -0
- package/dist/variants/tabs.mjs +15 -0
- package/dist/variants/toggle.d.mts +23 -0
- package/dist/variants/toggle.mjs +25 -0
- package/package.json +186 -55
- package/src/components/accordion.tsx +114 -0
- package/src/components/alert-dialog.tsx +298 -0
- package/src/components/alert.tsx +94 -0
- package/src/components/aspect-ratio.tsx +25 -0
- package/src/components/avatar.tsx +171 -0
- package/src/components/badge.tsx +35 -0
- package/src/components/breadcrumb.tsx +191 -0
- package/src/components/button-group.tsx +97 -0
- package/src/components/button.tsx +55 -0
- package/src/components/calendar.tsx +222 -0
- package/src/components/card.tsx +169 -0
- package/src/components/carousel.tsx +349 -0
- package/src/components/chart.tsx +536 -0
- package/src/components/checkbox-cards.tsx +72 -0
- package/src/components/checkbox-group.tsx +60 -0
- package/src/components/checkbox.tsx +44 -0
- package/src/components/collapsible.tsx +57 -0
- package/src/components/command.tsx +298 -0
- package/src/components/context-menu.tsx +410 -0
- package/src/components/dialog.tsx +243 -0
- package/src/components/direction.tsx +32 -0
- package/src/components/drawer.tsx +209 -0
- package/src/components/dropdown-menu.tsx +419 -0
- package/src/components/empty.tsx +155 -0
- package/src/components/field.tsx +329 -0
- package/src/components/form.tsx +258 -0
- package/src/components/hover-card.tsx +93 -0
- package/src/components/input-group.tsx +185 -0
- package/src/components/input-number.tsx +141 -0
- package/src/components/input-otp.tsx +132 -0
- package/src/components/input-password.tsx +50 -0
- package/src/components/input-search.tsx +81 -0
- package/src/components/input.tsx +36 -0
- package/src/components/item.tsx +266 -0
- package/src/components/kbd.tsx +47 -0
- package/src/components/label.tsx +36 -0
- package/src/components/menubar.tsx +440 -0
- package/src/components/native-select.tsx +87 -0
- package/src/components/navigation-menu.tsx +235 -0
- package/src/components/pagination.tsx +198 -0
- package/src/components/popover.tsx +170 -0
- package/src/components/progress-circle.tsx +185 -0
- package/src/components/progress.tsx +41 -0
- package/src/components/radio-cards.tsx +66 -0
- package/src/components/radio-group.tsx +59 -0
- package/src/components/radio.tsx +40 -0
- package/src/components/resizable.tsx +78 -0
- package/src/components/scroll-area.tsx +95 -0
- package/src/components/select.tsx +296 -0
- package/src/components/separator.tsx +60 -0
- package/src/components/sheet.tsx +241 -0
- package/src/components/sidebar.tsx +926 -0
- package/src/components/skeleton.tsx +35 -0
- package/src/components/slider.tsx +66 -0
- package/src/components/sonner.tsx +57 -0
- package/src/components/spinner.tsx +66 -0
- package/src/components/switch.tsx +44 -0
- package/src/components/table.tsx +183 -0
- package/src/components/tabs.tsx +110 -0
- package/src/components/textarea.tsx +35 -0
- package/src/components/toggle-group.tsx +137 -0
- package/src/components/toggle.tsx +30 -0
- package/src/components/tooltip.tsx +115 -0
- 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 -195
- package/src/css/style.css +1 -1
- package/src/css/{amber.css → themes/amber.css} +59 -22
- package/src/css/{blue.css → themes/blue.css} +59 -22
- package/src/css/{cyan.css → themes/cyan.css} +59 -22
- package/src/css/{emerald.css → themes/emerald.css} +59 -22
- package/src/css/{fuchsia.css → themes/fuchsia.css} +59 -22
- package/src/css/{gray.css → themes/gray.css} +59 -22
- package/src/css/{green.css → themes/green.css} +59 -22
- package/src/css/{indigo.css → themes/indigo.css} +59 -22
- package/src/css/{lime.css → themes/lime.css} +59 -22
- package/src/css/{neutral.css → themes/neutral.css} +59 -22
- package/src/css/{orange.css → themes/orange.css} +59 -22
- package/src/css/{pink.css → themes/pink.css} +59 -22
- package/src/css/{purple.css → themes/purple.css} +59 -22
- package/src/css/{red.css → themes/red.css} +59 -22
- package/src/css/{rose.css → themes/rose.css} +59 -22
- package/src/css/{sky.css → themes/sky.css} +59 -22
- package/src/css/{slate.css → themes/slate.css} +59 -22
- package/src/css/{stone.css → themes/stone.css} +59 -22
- package/src/css/{teal.css → themes/teal.css} +59 -22
- package/src/css/{violet.css → themes/violet.css} +59 -22
- package/src/css/{yellow.css → themes/yellow.css} +59 -22
- package/src/css/{zinc.css → themes/zinc.css} +59 -22
- package/src/hooks/use-animated-value.ts +91 -0
- package/src/hooks/use-copy-to-clipboard.ts +58 -0
- package/src/hooks/use-is-mobile.ts +25 -0
- package/src/hooks/use-media-query.ts +69 -0
- package/src/hooks/use-mutation-observer.ts +51 -0
- package/src/hooks/use-pagination.ts +164 -0
- package/src/index.ts +679 -0
- package/src/lib/utils.ts +5 -0
- package/src/primitives/checkbox-group.tsx +346 -0
- package/src/primitives/input-number.tsx +967 -0
- package/src/primitives/input.tsx +227 -0
- package/src/primitives/progress-circle.tsx +507 -0
- package/src/variants/alert.ts +34 -0
- package/src/variants/badge.ts +39 -0
- package/src/variants/button-group.ts +36 -0
- package/src/variants/button.ts +56 -0
- package/src/variants/empty.ts +34 -0
- package/src/variants/field.ts +37 -0
- package/src/variants/input-group.ts +80 -0
- package/src/variants/input-number.ts +65 -0
- package/src/variants/item.ts +68 -0
- package/src/variants/navigation-menu.ts +25 -0
- package/src/variants/progress-circle.ts +46 -0
- package/src/variants/scroll-area.ts +73 -0
- package/src/variants/separator.ts +40 -0
- package/src/variants/sheet.ts +37 -0
- package/src/variants/sidebar.ts +41 -0
- package/src/variants/tabs.ts +34 -0
- package/src/variants/toggle.ts +40 -0
- package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/clsx.d.mts +0 -6
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import { ContextMenu as ContextMenu$1 } from "radix-ui";
|
|
1
2
|
import { ComponentProps, JSX } from "react";
|
|
2
|
-
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
3
3
|
|
|
4
4
|
//#region src/components/context-menu.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* @since 0.3.16-canary.0
|
|
7
7
|
*/
|
|
8
|
-
type ContextMenuProps = ComponentProps<typeof
|
|
8
|
+
type ContextMenuProps = ComponentProps<typeof ContextMenu$1.Root>;
|
|
9
9
|
/**
|
|
10
10
|
* @since 0.3.16-canary.0
|
|
11
11
|
*/
|
|
@@ -15,17 +15,18 @@ declare function ContextMenu({
|
|
|
15
15
|
/**
|
|
16
16
|
* @since 0.3.16-canary.0
|
|
17
17
|
*/
|
|
18
|
-
type ContextMenuTriggerProps = ComponentProps<typeof
|
|
18
|
+
type ContextMenuTriggerProps = ComponentProps<typeof ContextMenu$1.Trigger>;
|
|
19
19
|
/**
|
|
20
20
|
* @since 0.3.16-canary.0
|
|
21
21
|
*/
|
|
22
22
|
declare function ContextMenuTrigger({
|
|
23
|
+
className,
|
|
23
24
|
...props
|
|
24
25
|
}: ContextMenuTriggerProps): JSX.Element;
|
|
25
26
|
/**
|
|
26
27
|
* @since 0.3.16-canary.0
|
|
27
28
|
*/
|
|
28
|
-
type ContextMenuGroupProps = ComponentProps<typeof
|
|
29
|
+
type ContextMenuGroupProps = ComponentProps<typeof ContextMenu$1.Group>;
|
|
29
30
|
/**
|
|
30
31
|
* @since 0.3.16-canary.0
|
|
31
32
|
*/
|
|
@@ -35,7 +36,7 @@ declare function ContextMenuGroup({
|
|
|
35
36
|
/**
|
|
36
37
|
* @since 0.3.16-canary.0
|
|
37
38
|
*/
|
|
38
|
-
type ContextMenuSubProps = ComponentProps<typeof
|
|
39
|
+
type ContextMenuSubProps = ComponentProps<typeof ContextMenu$1.Sub>;
|
|
39
40
|
/**
|
|
40
41
|
* @since 0.3.16-canary.0
|
|
41
42
|
*/
|
|
@@ -45,7 +46,7 @@ declare function ContextMenuSub({
|
|
|
45
46
|
/**
|
|
46
47
|
* @since 0.3.16-canary.0
|
|
47
48
|
*/
|
|
48
|
-
type ContextMenuRadioGroupProps = ComponentProps<typeof
|
|
49
|
+
type ContextMenuRadioGroupProps = ComponentProps<typeof ContextMenu$1.RadioGroup>;
|
|
49
50
|
/**
|
|
50
51
|
* @since 0.3.16-canary.0
|
|
51
52
|
*/
|
|
@@ -55,7 +56,7 @@ declare function ContextMenuRadioGroup({
|
|
|
55
56
|
/**
|
|
56
57
|
* @since 0.3.16-canary.0
|
|
57
58
|
*/
|
|
58
|
-
interface ContextMenuSubTriggerProps extends ComponentProps<typeof
|
|
59
|
+
interface ContextMenuSubTriggerProps extends ComponentProps<typeof ContextMenu$1.SubTrigger> {
|
|
59
60
|
inset?: boolean;
|
|
60
61
|
}
|
|
61
62
|
/**
|
|
@@ -70,7 +71,7 @@ declare function ContextMenuSubTrigger({
|
|
|
70
71
|
/**
|
|
71
72
|
* @since 0.3.16-canary.0
|
|
72
73
|
*/
|
|
73
|
-
type ContextMenuSubContentProps = ComponentProps<typeof
|
|
74
|
+
type ContextMenuSubContentProps = ComponentProps<typeof ContextMenu$1.SubContent>;
|
|
74
75
|
/**
|
|
75
76
|
* @since 0.3.16-canary.0
|
|
76
77
|
*/
|
|
@@ -81,7 +82,7 @@ declare function ContextMenuSubContent({
|
|
|
81
82
|
/**
|
|
82
83
|
* @since 0.3.16-canary.0
|
|
83
84
|
*/
|
|
84
|
-
type ContextMenuContentProps = ComponentProps<typeof
|
|
85
|
+
type ContextMenuContentProps = ComponentProps<typeof ContextMenu$1.Content>;
|
|
85
86
|
/**
|
|
86
87
|
* @since 0.3.16-canary.0
|
|
87
88
|
*/
|
|
@@ -92,7 +93,7 @@ declare function ContextMenuContent({
|
|
|
92
93
|
/**
|
|
93
94
|
* @since 0.3.16-canary.0
|
|
94
95
|
*/
|
|
95
|
-
interface ContextMenuItemProps extends ComponentProps<typeof
|
|
96
|
+
interface ContextMenuItemProps extends ComponentProps<typeof ContextMenu$1.Item> {
|
|
96
97
|
inset?: boolean;
|
|
97
98
|
variant?: "default" | "destructive";
|
|
98
99
|
}
|
|
@@ -108,7 +109,9 @@ declare function ContextMenuItem({
|
|
|
108
109
|
/**
|
|
109
110
|
* @since 0.3.16-canary.0
|
|
110
111
|
*/
|
|
111
|
-
|
|
112
|
+
interface ContextMenuCheckboxItemProps extends ComponentProps<typeof ContextMenu$1.CheckboxItem> {
|
|
113
|
+
inset?: boolean;
|
|
114
|
+
}
|
|
112
115
|
/**
|
|
113
116
|
* @since 0.3.16-canary.0
|
|
114
117
|
*/
|
|
@@ -116,24 +119,28 @@ declare function ContextMenuCheckboxItem({
|
|
|
116
119
|
checked,
|
|
117
120
|
children,
|
|
118
121
|
className,
|
|
122
|
+
inset,
|
|
119
123
|
...props
|
|
120
124
|
}: ContextMenuCheckboxItemProps): JSX.Element;
|
|
121
125
|
/**
|
|
122
126
|
* @since 0.3.16-canary.0
|
|
123
127
|
*/
|
|
124
|
-
|
|
128
|
+
interface ContextMenuRadioItemProps extends ComponentProps<typeof ContextMenu$1.RadioItem> {
|
|
129
|
+
inset?: boolean;
|
|
130
|
+
}
|
|
125
131
|
/**
|
|
126
132
|
* @since 0.3.16-canary.0
|
|
127
133
|
*/
|
|
128
134
|
declare function ContextMenuRadioItem({
|
|
129
135
|
children,
|
|
130
136
|
className,
|
|
137
|
+
inset,
|
|
131
138
|
...props
|
|
132
139
|
}: ContextMenuRadioItemProps): JSX.Element;
|
|
133
140
|
/**
|
|
134
141
|
* @since 0.3.16-canary.0
|
|
135
142
|
*/
|
|
136
|
-
interface ContextMenuLabelProps extends ComponentProps<typeof
|
|
143
|
+
interface ContextMenuLabelProps extends ComponentProps<typeof ContextMenu$1.Label> {
|
|
137
144
|
inset?: boolean;
|
|
138
145
|
}
|
|
139
146
|
/**
|
|
@@ -147,7 +154,7 @@ declare function ContextMenuLabel({
|
|
|
147
154
|
/**
|
|
148
155
|
* @since 0.3.16-canary.0
|
|
149
156
|
*/
|
|
150
|
-
type ContextMenuSeparatorProps = ComponentProps<typeof
|
|
157
|
+
type ContextMenuSeparatorProps = ComponentProps<typeof ContextMenu$1.Separator>;
|
|
151
158
|
/**
|
|
152
159
|
* @since 0.3.16-canary.0
|
|
153
160
|
*/
|
|
@@ -169,7 +176,7 @@ declare function ContextMenuShortcut({
|
|
|
169
176
|
/**
|
|
170
177
|
* @since 0.3.16-canary.0
|
|
171
178
|
*/
|
|
172
|
-
type ContextMenuArrowProps = ComponentProps<typeof
|
|
179
|
+
type ContextMenuArrowProps = ComponentProps<typeof ContextMenu$1.Arrow>;
|
|
173
180
|
/**
|
|
174
181
|
* @since 0.3.16-canary.0
|
|
175
182
|
*/
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { cn } from "../lib/utils.mjs";
|
|
3
|
-
import { CheckIcon, ChevronRightIcon
|
|
2
|
+
import { CheckIcon, ChevronRightIcon } from "lucide-react";
|
|
3
|
+
import { ContextMenu as ContextMenu$1 } from "radix-ui";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
-
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
6
5
|
//#region src/components/context-menu.tsx
|
|
7
6
|
/**
|
|
8
7
|
* @since 0.3.16-canary.0
|
|
9
8
|
*/
|
|
10
9
|
function ContextMenu({ ...props }) {
|
|
11
|
-
return /* @__PURE__ */ jsx(
|
|
10
|
+
return /* @__PURE__ */ jsx(ContextMenu$1.Root, {
|
|
12
11
|
"data-slot": "context-menu",
|
|
13
12
|
...props
|
|
14
13
|
});
|
|
@@ -16,8 +15,9 @@ function ContextMenu({ ...props }) {
|
|
|
16
15
|
/**
|
|
17
16
|
* @since 0.3.16-canary.0
|
|
18
17
|
*/
|
|
19
|
-
function ContextMenuTrigger({ ...props }) {
|
|
20
|
-
return /* @__PURE__ */ jsx(
|
|
18
|
+
function ContextMenuTrigger({ className, ...props }) {
|
|
19
|
+
return /* @__PURE__ */ jsx(ContextMenu$1.Trigger, {
|
|
20
|
+
className: cn("select-none", className),
|
|
21
21
|
"data-slot": "context-menu-trigger",
|
|
22
22
|
...props
|
|
23
23
|
});
|
|
@@ -26,7 +26,7 @@ function ContextMenuTrigger({ ...props }) {
|
|
|
26
26
|
* @since 0.3.16-canary.0
|
|
27
27
|
*/
|
|
28
28
|
function ContextMenuGroup({ ...props }) {
|
|
29
|
-
return /* @__PURE__ */ jsx(
|
|
29
|
+
return /* @__PURE__ */ jsx(ContextMenu$1.Group, {
|
|
30
30
|
"data-slot": "context-menu-group",
|
|
31
31
|
...props
|
|
32
32
|
});
|
|
@@ -35,7 +35,7 @@ function ContextMenuGroup({ ...props }) {
|
|
|
35
35
|
* @since 0.3.16-canary.0
|
|
36
36
|
*/
|
|
37
37
|
function ContextMenuSub({ ...props }) {
|
|
38
|
-
return /* @__PURE__ */ jsx(
|
|
38
|
+
return /* @__PURE__ */ jsx(ContextMenu$1.Sub, {
|
|
39
39
|
"data-slot": "context-menu-sub",
|
|
40
40
|
...props
|
|
41
41
|
});
|
|
@@ -44,7 +44,7 @@ function ContextMenuSub({ ...props }) {
|
|
|
44
44
|
* @since 0.3.16-canary.0
|
|
45
45
|
*/
|
|
46
46
|
function ContextMenuRadioGroup({ ...props }) {
|
|
47
|
-
return /* @__PURE__ */ jsx(
|
|
47
|
+
return /* @__PURE__ */ jsx(ContextMenu$1.RadioGroup, {
|
|
48
48
|
"data-slot": "context-menu-radio-group",
|
|
49
49
|
...props
|
|
50
50
|
});
|
|
@@ -53,40 +53,43 @@ function ContextMenuRadioGroup({ ...props }) {
|
|
|
53
53
|
* @since 0.3.16-canary.0
|
|
54
54
|
*/
|
|
55
55
|
function ContextMenuSubTrigger({ children, className, inset, ...props }) {
|
|
56
|
-
return /* @__PURE__ */ jsxs(
|
|
57
|
-
className: cn("flex items-center gap-
|
|
56
|
+
return /* @__PURE__ */ jsxs(ContextMenu$1.SubTrigger, {
|
|
57
|
+
className: cn("flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-8 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
58
58
|
"data-inset": inset,
|
|
59
59
|
"data-slot": "context-menu-sub-trigger",
|
|
60
60
|
...props,
|
|
61
|
-
children: [children, /* @__PURE__ */ jsx(ChevronRightIcon, { className:
|
|
61
|
+
children: [children, /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto rtl:rotate-180" })]
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* @since 0.3.16-canary.0
|
|
66
66
|
*/
|
|
67
67
|
function ContextMenuSubContent({ className, ...props }) {
|
|
68
|
-
return /* @__PURE__ */ jsx(
|
|
69
|
-
className: cn("z-50
|
|
68
|
+
return /* @__PURE__ */ jsx(ContextMenu$1.SubContent, {
|
|
69
|
+
className: cn("z-50 min-w-32 origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg ease-snappy 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", className),
|
|
70
70
|
"data-slot": "context-menu-sub-content",
|
|
71
71
|
...props
|
|
72
|
-
})
|
|
72
|
+
});
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
75
|
* @since 0.3.16-canary.0
|
|
76
76
|
*/
|
|
77
77
|
function ContextMenuContent({ className, ...props }) {
|
|
78
|
-
return /* @__PURE__ */ jsx(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
return /* @__PURE__ */ jsx(ContextMenu$1.Portal, {
|
|
79
|
+
"data-slot": "context-menu-portal",
|
|
80
|
+
children: /* @__PURE__ */ jsx(ContextMenu$1.Content, {
|
|
81
|
+
className: cn("z-50 max-h-(--radix-context-menu-content-available-height) min-w-36 origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 ease-snappy 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:ease-exit", className),
|
|
82
|
+
"data-slot": "context-menu-content",
|
|
83
|
+
...props
|
|
84
|
+
})
|
|
85
|
+
});
|
|
83
86
|
}
|
|
84
87
|
/**
|
|
85
88
|
* @since 0.3.16-canary.0
|
|
86
89
|
*/
|
|
87
|
-
function ContextMenuItem({ className, inset, variant, ...props }) {
|
|
88
|
-
return /* @__PURE__ */ jsx(
|
|
89
|
-
className: cn("group/context-menu-item relative flex items-center gap-
|
|
90
|
+
function ContextMenuItem({ className, inset, variant = "default", ...props }) {
|
|
91
|
+
return /* @__PURE__ */ jsx(ContextMenu$1.Item, {
|
|
92
|
+
className: cn("group/context-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive", className),
|
|
90
93
|
"data-inset": inset,
|
|
91
94
|
"data-slot": "context-menu-item",
|
|
92
95
|
"data-variant": variant,
|
|
@@ -96,29 +99,31 @@ function ContextMenuItem({ className, inset, variant, ...props }) {
|
|
|
96
99
|
/**
|
|
97
100
|
* @since 0.3.16-canary.0
|
|
98
101
|
*/
|
|
99
|
-
function ContextMenuCheckboxItem({ checked, children, className, ...props }) {
|
|
100
|
-
return /* @__PURE__ */ jsxs(
|
|
102
|
+
function ContextMenuCheckboxItem({ checked, children, className, inset, ...props }) {
|
|
103
|
+
return /* @__PURE__ */ jsxs(ContextMenu$1.CheckboxItem, {
|
|
101
104
|
checked,
|
|
102
|
-
className: cn("
|
|
105
|
+
className: cn("relative flex 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 data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
106
|
+
"data-inset": inset,
|
|
103
107
|
"data-slot": "context-menu-checkbox-item",
|
|
104
108
|
...props,
|
|
105
109
|
children: [/* @__PURE__ */ jsx("span", {
|
|
106
|
-
className:
|
|
107
|
-
children: /* @__PURE__ */ jsx(
|
|
110
|
+
className: "pointer-events-none absolute right-2",
|
|
111
|
+
children: /* @__PURE__ */ jsx(ContextMenu$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
|
|
108
112
|
}), children]
|
|
109
113
|
});
|
|
110
114
|
}
|
|
111
115
|
/**
|
|
112
116
|
* @since 0.3.16-canary.0
|
|
113
117
|
*/
|
|
114
|
-
function ContextMenuRadioItem({ children, className, ...props }) {
|
|
115
|
-
return /* @__PURE__ */ jsxs(
|
|
116
|
-
className: cn("
|
|
118
|
+
function ContextMenuRadioItem({ children, className, inset, ...props }) {
|
|
119
|
+
return /* @__PURE__ */ jsxs(ContextMenu$1.RadioItem, {
|
|
120
|
+
className: cn("relative flex 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 data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
121
|
+
"data-inset": inset,
|
|
117
122
|
"data-slot": "context-menu-radio-item",
|
|
118
123
|
...props,
|
|
119
124
|
children: [/* @__PURE__ */ jsx("span", {
|
|
120
|
-
className:
|
|
121
|
-
children: /* @__PURE__ */ jsx(
|
|
125
|
+
className: "pointer-events-none absolute right-2",
|
|
126
|
+
children: /* @__PURE__ */ jsx(ContextMenu$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
|
|
122
127
|
}), children]
|
|
123
128
|
});
|
|
124
129
|
}
|
|
@@ -126,8 +131,8 @@ function ContextMenuRadioItem({ children, className, ...props }) {
|
|
|
126
131
|
* @since 0.3.16-canary.0
|
|
127
132
|
*/
|
|
128
133
|
function ContextMenuLabel({ className, inset, ...props }) {
|
|
129
|
-
return /* @__PURE__ */ jsx(
|
|
130
|
-
className: cn("
|
|
134
|
+
return /* @__PURE__ */ jsx(ContextMenu$1.Label, {
|
|
135
|
+
className: cn("px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8", className),
|
|
131
136
|
"data-inset": inset,
|
|
132
137
|
"data-slot": "context-menu-label",
|
|
133
138
|
...props
|
|
@@ -137,8 +142,8 @@ function ContextMenuLabel({ className, inset, ...props }) {
|
|
|
137
142
|
* @since 0.3.16-canary.0
|
|
138
143
|
*/
|
|
139
144
|
function ContextMenuSeparator({ className, ...props }) {
|
|
140
|
-
return /* @__PURE__ */ jsx(
|
|
141
|
-
className: cn("mx-
|
|
145
|
+
return /* @__PURE__ */ jsx(ContextMenu$1.Separator, {
|
|
146
|
+
className: cn("-mx-1 my-1 h-px bg-border", className),
|
|
142
147
|
"data-slot": "context-menu-separator",
|
|
143
148
|
...props
|
|
144
149
|
});
|
|
@@ -148,7 +153,7 @@ function ContextMenuSeparator({ className, ...props }) {
|
|
|
148
153
|
*/
|
|
149
154
|
function ContextMenuShortcut({ className, ...props }) {
|
|
150
155
|
return /* @__PURE__ */ jsx("span", {
|
|
151
|
-
className: cn("ml-auto
|
|
156
|
+
className: cn("ml-auto text-xs tracking-widest text-muted-foreground group-focus/context-menu-item:text-accent-foreground", className),
|
|
152
157
|
"data-slot": "context-menu-shortcut",
|
|
153
158
|
...props
|
|
154
159
|
});
|
|
@@ -157,7 +162,7 @@ function ContextMenuShortcut({ className, ...props }) {
|
|
|
157
162
|
* @since 0.3.16-canary.0
|
|
158
163
|
*/
|
|
159
164
|
function ContextMenuArrow({ className, ...props }) {
|
|
160
|
-
return /* @__PURE__ */ jsx(
|
|
165
|
+
return /* @__PURE__ */ jsx(ContextMenu$1.Arrow, {
|
|
161
166
|
className: cn("fill-popover", className),
|
|
162
167
|
"data-slot": "context-menu-arrow",
|
|
163
168
|
...props
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { buttonVariants } from "./button.mjs";
|
|
1
|
+
import { Dialog as Dialog$1 } from "radix-ui";
|
|
3
2
|
import { ComponentProps, JSX } from "react";
|
|
4
|
-
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
5
3
|
|
|
6
4
|
//#region src/components/dialog.d.ts
|
|
7
5
|
/**
|
|
8
6
|
* @since 0.3.16-canary.0
|
|
9
7
|
*/
|
|
10
|
-
type DialogProps = ComponentProps<typeof
|
|
8
|
+
type DialogProps = ComponentProps<typeof Dialog$1.Root>;
|
|
11
9
|
/**
|
|
12
10
|
* @since 0.3.16-canary.0
|
|
13
11
|
*/
|
|
@@ -17,7 +15,7 @@ declare function Dialog({
|
|
|
17
15
|
/**
|
|
18
16
|
* @since 0.3.16-canary.0
|
|
19
17
|
*/
|
|
20
|
-
type DialogTriggerProps = ComponentProps<typeof
|
|
18
|
+
type DialogTriggerProps = ComponentProps<typeof Dialog$1.Trigger>;
|
|
21
19
|
/**
|
|
22
20
|
* @since 0.3.16-canary.0
|
|
23
21
|
*/
|
|
@@ -27,13 +25,8 @@ declare function DialogTrigger({
|
|
|
27
25
|
/**
|
|
28
26
|
* @since 0.3.16-canary.0
|
|
29
27
|
*/
|
|
30
|
-
interface DialogContentProps extends ComponentProps<typeof
|
|
31
|
-
|
|
32
|
-
close?: string;
|
|
33
|
-
content?: string;
|
|
34
|
-
overlay?: string;
|
|
35
|
-
wrapper?: string;
|
|
36
|
-
};
|
|
28
|
+
interface DialogContentProps extends ComponentProps<typeof Dialog$1.Content> {
|
|
29
|
+
showCloseButton?: boolean;
|
|
37
30
|
}
|
|
38
31
|
/**
|
|
39
32
|
* @since 0.3.16-canary.0
|
|
@@ -41,7 +34,7 @@ interface DialogContentProps extends ComponentProps<typeof DialogPrimitive.Conte
|
|
|
41
34
|
declare function DialogContent({
|
|
42
35
|
children,
|
|
43
36
|
className,
|
|
44
|
-
|
|
37
|
+
showCloseButton,
|
|
45
38
|
...props
|
|
46
39
|
}: DialogContentProps): JSX.Element;
|
|
47
40
|
/**
|
|
@@ -56,6 +49,11 @@ declare function DialogHeader({
|
|
|
56
49
|
...props
|
|
57
50
|
}: DialogHeaderProps): JSX.Element;
|
|
58
51
|
/**
|
|
52
|
+
* Optional scrollable region for long content. When used, the Header and Footer
|
|
53
|
+
* stay pinned (shrink-0) and only this body scrolls; without it, the whole
|
|
54
|
+
* Content scrolls via its own max-height. This is a codefast enhancement over
|
|
55
|
+
* radix-vega, which has no scroll handling for tall dialogs.
|
|
56
|
+
*
|
|
59
57
|
* @since 0.3.16-canary.0
|
|
60
58
|
*/
|
|
61
59
|
type DialogBodyProps = ComponentProps<"div">;
|
|
@@ -69,18 +67,22 @@ declare function DialogBody({
|
|
|
69
67
|
/**
|
|
70
68
|
* @since 0.3.16-canary.0
|
|
71
69
|
*/
|
|
72
|
-
|
|
70
|
+
interface DialogFooterProps extends ComponentProps<"div"> {
|
|
71
|
+
showCloseButton?: boolean;
|
|
72
|
+
}
|
|
73
73
|
/**
|
|
74
74
|
* @since 0.3.16-canary.0
|
|
75
75
|
*/
|
|
76
76
|
declare function DialogFooter({
|
|
77
|
+
children,
|
|
77
78
|
className,
|
|
79
|
+
showCloseButton,
|
|
78
80
|
...props
|
|
79
81
|
}: DialogFooterProps): JSX.Element;
|
|
80
82
|
/**
|
|
81
83
|
* @since 0.3.16-canary.0
|
|
82
84
|
*/
|
|
83
|
-
type DialogTitleProps = ComponentProps<typeof
|
|
85
|
+
type DialogTitleProps = ComponentProps<typeof Dialog$1.Title>;
|
|
84
86
|
/**
|
|
85
87
|
* @since 0.3.16-canary.0
|
|
86
88
|
*/
|
|
@@ -91,7 +93,7 @@ declare function DialogTitle({
|
|
|
91
93
|
/**
|
|
92
94
|
* @since 0.3.16-canary.0
|
|
93
95
|
*/
|
|
94
|
-
type DialogDescriptionProps = ComponentProps<typeof
|
|
96
|
+
type DialogDescriptionProps = ComponentProps<typeof Dialog$1.Description>;
|
|
95
97
|
/**
|
|
96
98
|
* @since 0.3.16-canary.0
|
|
97
99
|
*/
|
|
@@ -102,17 +104,11 @@ declare function DialogDescription({
|
|
|
102
104
|
/**
|
|
103
105
|
* @since 0.3.16-canary.0
|
|
104
106
|
*/
|
|
105
|
-
|
|
106
|
-
size?: VariantProps<typeof buttonVariants>["size"];
|
|
107
|
-
variant?: VariantProps<typeof buttonVariants>["variant"];
|
|
108
|
-
}
|
|
107
|
+
type DialogCloseProps = ComponentProps<typeof Dialog$1.Close>;
|
|
109
108
|
/**
|
|
110
109
|
* @since 0.3.16-canary.0
|
|
111
110
|
*/
|
|
112
111
|
declare function DialogClose({
|
|
113
|
-
className,
|
|
114
|
-
size,
|
|
115
|
-
variant,
|
|
116
112
|
...props
|
|
117
113
|
}: DialogCloseProps): JSX.Element;
|
|
118
114
|
//#endregion
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { cn } from "../lib/utils.mjs";
|
|
3
|
-
import {
|
|
2
|
+
import { Button } from "./button.mjs";
|
|
4
3
|
import { XIcon } from "lucide-react";
|
|
4
|
+
import { Dialog as Dialog$1 } from "radix-ui";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
7
6
|
//#region src/components/dialog.tsx
|
|
8
7
|
/**
|
|
9
8
|
* @since 0.3.16-canary.0
|
|
10
9
|
*/
|
|
11
10
|
function Dialog({ ...props }) {
|
|
12
|
-
return /* @__PURE__ */ jsx(
|
|
11
|
+
return /* @__PURE__ */ jsx(Dialog$1.Root, {
|
|
13
12
|
"data-slot": "dialog",
|
|
14
13
|
...props
|
|
15
14
|
});
|
|
@@ -18,7 +17,7 @@ function Dialog({ ...props }) {
|
|
|
18
17
|
* @since 0.3.16-canary.0
|
|
19
18
|
*/
|
|
20
19
|
function DialogTrigger({ ...props }) {
|
|
21
|
-
return /* @__PURE__ */ jsx(
|
|
20
|
+
return /* @__PURE__ */ jsx(Dialog$1.Trigger, {
|
|
22
21
|
"data-slot": "dialog-trigger",
|
|
23
22
|
...props
|
|
24
23
|
});
|
|
@@ -26,38 +25,38 @@ function DialogTrigger({ ...props }) {
|
|
|
26
25
|
/**
|
|
27
26
|
* @since 0.3.16-canary.0
|
|
28
27
|
*/
|
|
29
|
-
function DialogContent({ children, className,
|
|
30
|
-
return /* @__PURE__ */ jsxs(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
38
|
-
className: cn("relative row-start-2 flex w-full flex-col", "rounded-t-2xl border", "bg-popover text-popover-foreground shadow-lg", "sm:max-w-lg sm:rounded-2xl", classNames?.content, className),
|
|
28
|
+
function DialogContent({ children, className, showCloseButton = true, ...props }) {
|
|
29
|
+
return /* @__PURE__ */ jsxs(Dialog$1.Portal, {
|
|
30
|
+
"data-slot": "dialog-portal",
|
|
31
|
+
children: [/* @__PURE__ */ jsx(Dialog$1.Overlay, {
|
|
32
|
+
className: "fixed inset-0 isolate z-50 bg-black/10 ease-gentle supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:animation-duration-overlay-in data-open:fade-in-0 data-closed:animate-out data-closed:ease-exit data-closed:animation-duration-overlay-out data-closed:fade-out-0",
|
|
33
|
+
"data-slot": "dialog-overlay"
|
|
34
|
+
}), /* @__PURE__ */ jsxs(Dialog$1.Content, {
|
|
35
|
+
className: cn("fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-6 overflow-y-auto rounded-xl bg-popover p-6 text-sm text-popover-foreground ring-1 ring-foreground/10 ease-ui outline-none sm:max-w-md data-open:animate-in data-open:animation-duration-overlay-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:ease-exit data-closed:animation-duration-overlay-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
|
|
39
36
|
"data-slot": "dialog-content",
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
size: "icon",
|
|
44
|
-
variant: "ghost"
|
|
45
|
-
}),
|
|
37
|
+
...props,
|
|
38
|
+
children: [children, showCloseButton ? /* @__PURE__ */ jsx(Dialog$1.Close, {
|
|
39
|
+
asChild: true,
|
|
46
40
|
"data-slot": "dialog-close",
|
|
47
|
-
children:
|
|
48
|
-
className: "
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
41
|
+
children: /* @__PURE__ */ jsxs(Button, {
|
|
42
|
+
className: "absolute top-4 right-4",
|
|
43
|
+
size: "icon-sm",
|
|
44
|
+
variant: "ghost",
|
|
45
|
+
children: [/* @__PURE__ */ jsx(XIcon, {}), /* @__PURE__ */ jsx("span", {
|
|
46
|
+
className: "sr-only",
|
|
47
|
+
children: "Close"
|
|
48
|
+
})]
|
|
49
|
+
})
|
|
50
|
+
}) : null]
|
|
51
|
+
})]
|
|
52
|
+
});
|
|
54
53
|
}
|
|
55
54
|
/**
|
|
56
55
|
* @since 0.3.16-canary.0
|
|
57
56
|
*/
|
|
58
57
|
function DialogHeader({ className, ...props }) {
|
|
59
|
-
return /* @__PURE__ */ jsx("
|
|
60
|
-
className: cn("flex shrink-0 flex-col gap-
|
|
58
|
+
return /* @__PURE__ */ jsx("div", {
|
|
59
|
+
className: cn("flex shrink-0 flex-col gap-2", className),
|
|
61
60
|
"data-slot": "dialog-header",
|
|
62
61
|
...props
|
|
63
62
|
});
|
|
@@ -66,8 +65,8 @@ function DialogHeader({ className, ...props }) {
|
|
|
66
65
|
* @since 0.3.16-canary.0
|
|
67
66
|
*/
|
|
68
67
|
function DialogBody({ className, ...props }) {
|
|
69
|
-
return /* @__PURE__ */ jsx("
|
|
70
|
-
className: cn("overflow-auto
|
|
68
|
+
return /* @__PURE__ */ jsx("div", {
|
|
69
|
+
className: cn("-mx-6 min-h-0 flex-1 overflow-y-auto px-6", className),
|
|
71
70
|
"data-slot": "dialog-body",
|
|
72
71
|
...props
|
|
73
72
|
});
|
|
@@ -75,19 +74,26 @@ function DialogBody({ className, ...props }) {
|
|
|
75
74
|
/**
|
|
76
75
|
* @since 0.3.16-canary.0
|
|
77
76
|
*/
|
|
78
|
-
function DialogFooter({ className, ...props }) {
|
|
79
|
-
return /* @__PURE__ */
|
|
80
|
-
className: cn("flex shrink-0 flex-col-reverse gap-2
|
|
77
|
+
function DialogFooter({ children, className, showCloseButton = false, ...props }) {
|
|
78
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
79
|
+
className: cn("flex shrink-0 flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
|
|
81
80
|
"data-slot": "dialog-footer",
|
|
82
|
-
...props
|
|
81
|
+
...props,
|
|
82
|
+
children: [children, showCloseButton ? /* @__PURE__ */ jsx(Dialog$1.Close, {
|
|
83
|
+
asChild: true,
|
|
84
|
+
children: /* @__PURE__ */ jsx(Button, {
|
|
85
|
+
variant: "outline",
|
|
86
|
+
children: "Close"
|
|
87
|
+
})
|
|
88
|
+
}) : null]
|
|
83
89
|
});
|
|
84
90
|
}
|
|
85
91
|
/**
|
|
86
92
|
* @since 0.3.16-canary.0
|
|
87
93
|
*/
|
|
88
94
|
function DialogTitle({ className, ...props }) {
|
|
89
|
-
return /* @__PURE__ */ jsx(
|
|
90
|
-
className: cn("
|
|
95
|
+
return /* @__PURE__ */ jsx(Dialog$1.Title, {
|
|
96
|
+
className: cn("font-heading leading-none font-medium", className),
|
|
91
97
|
"data-slot": "dialog-title",
|
|
92
98
|
...props
|
|
93
99
|
});
|
|
@@ -96,8 +102,8 @@ function DialogTitle({ className, ...props }) {
|
|
|
96
102
|
* @since 0.3.16-canary.0
|
|
97
103
|
*/
|
|
98
104
|
function DialogDescription({ className, ...props }) {
|
|
99
|
-
return /* @__PURE__ */ jsx(
|
|
100
|
-
className: cn("text-sm text-muted-foreground", className),
|
|
105
|
+
return /* @__PURE__ */ jsx(Dialog$1.Description, {
|
|
106
|
+
className: cn("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className),
|
|
101
107
|
"data-slot": "dialog-description",
|
|
102
108
|
...props
|
|
103
109
|
});
|
|
@@ -105,13 +111,8 @@ function DialogDescription({ className, ...props }) {
|
|
|
105
111
|
/**
|
|
106
112
|
* @since 0.3.16-canary.0
|
|
107
113
|
*/
|
|
108
|
-
function DialogClose({
|
|
109
|
-
return /* @__PURE__ */ jsx(
|
|
110
|
-
className: buttonVariants({
|
|
111
|
-
className,
|
|
112
|
-
size,
|
|
113
|
-
variant
|
|
114
|
-
}),
|
|
114
|
+
function DialogClose({ ...props }) {
|
|
115
|
+
return /* @__PURE__ */ jsx(Dialog$1.Close, {
|
|
115
116
|
"data-slot": "dialog-close",
|
|
116
117
|
...props
|
|
117
118
|
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Direction } from "radix-ui";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/direction.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* @since 0.4.0-canary.4
|
|
7
|
+
*/
|
|
8
|
+
type DirectionProviderProps = ComponentProps<typeof Direction.DirectionProvider> & {
|
|
9
|
+
direction?: ComponentProps<typeof Direction.DirectionProvider>["dir"];
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* @since 0.4.0-canary.4
|
|
13
|
+
*/
|
|
14
|
+
declare function DirectionProvider({
|
|
15
|
+
dir,
|
|
16
|
+
direction,
|
|
17
|
+
children
|
|
18
|
+
}: DirectionProviderProps): import("react").JSX.Element;
|
|
19
|
+
/**
|
|
20
|
+
* @since 0.4.0-canary.4
|
|
21
|
+
*/
|
|
22
|
+
declare const useDirection: typeof Direction.useDirection;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { DirectionProvider, type DirectionProviderProps, useDirection };
|