@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,46 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
import { cn, tv } from "../lib/utils.mjs";
|
|
1
|
+
import { cn } from "../lib/utils.mjs";
|
|
3
2
|
import { Separator } from "./separator.mjs";
|
|
4
3
|
import { Label } from "./label.mjs";
|
|
4
|
+
import { fieldVariants } from "../variants/field.mjs";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { useMemo } from "react";
|
|
7
7
|
//#region src/components/field.tsx
|
|
8
8
|
/**
|
|
9
9
|
* @since 0.3.16-canary.0
|
|
10
10
|
*/
|
|
11
|
-
const fieldVariants = tv({
|
|
12
|
-
base: ["group/field flex w-full gap-3", "data-[invalid=true]:text-destructive"],
|
|
13
|
-
defaultVariants: { orientation: "vertical" },
|
|
14
|
-
variants: { orientation: {
|
|
15
|
-
horizontal: [
|
|
16
|
-
"flex-row items-center",
|
|
17
|
-
"has-[>[data-slot=field-content]]:items-start",
|
|
18
|
-
"[&>[data-slot=field-label]]:flex-auto",
|
|
19
|
-
"has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
20
|
-
],
|
|
21
|
-
responsive: [
|
|
22
|
-
"flex-col",
|
|
23
|
-
"@md/field-group:flex-row @md/field-group:items-center",
|
|
24
|
-
"@md/field-group:has-[>[data-slot=field-content]]:items-start",
|
|
25
|
-
"[&>*]:w-full",
|
|
26
|
-
"@md/field-group:[&>*]:w-auto",
|
|
27
|
-
"[&>.sr-only]:w-auto",
|
|
28
|
-
"@md/field-group:[&>[data-slot=field-label]]:flex-auto",
|
|
29
|
-
"@md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
30
|
-
],
|
|
31
|
-
vertical: [
|
|
32
|
-
"flex-col",
|
|
33
|
-
"[&>*]:w-full",
|
|
34
|
-
"[&>.sr-only]:w-auto"
|
|
35
|
-
]
|
|
36
|
-
} }
|
|
37
|
-
});
|
|
38
|
-
/**
|
|
39
|
-
* @since 0.3.16-canary.0
|
|
40
|
-
*/
|
|
41
11
|
function FieldSet({ className, ...props }) {
|
|
42
12
|
return /* @__PURE__ */ jsx("fieldset", {
|
|
43
|
-
className: cn("flex flex-col gap-6
|
|
13
|
+
className: cn("flex flex-col gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3", className),
|
|
44
14
|
"data-slot": "field-set",
|
|
45
15
|
...props
|
|
46
16
|
});
|
|
@@ -50,7 +20,7 @@ function FieldSet({ className, ...props }) {
|
|
|
50
20
|
*/
|
|
51
21
|
function FieldLegend({ className, variant = "legend", ...props }) {
|
|
52
22
|
return /* @__PURE__ */ jsx("legend", {
|
|
53
|
-
className: cn("mb-3
|
|
23
|
+
className: cn("mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base", className),
|
|
54
24
|
"data-slot": "field-legend",
|
|
55
25
|
"data-variant": variant,
|
|
56
26
|
...props
|
|
@@ -61,7 +31,7 @@ function FieldLegend({ className, variant = "legend", ...props }) {
|
|
|
61
31
|
*/
|
|
62
32
|
function FieldGroup({ className, ...props }) {
|
|
63
33
|
return /* @__PURE__ */ jsx("div", {
|
|
64
|
-
className: cn("group/field-group @container/field-group flex w-full flex-col gap-7
|
|
34
|
+
className: cn("group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4", className),
|
|
65
35
|
"data-slot": "field-group",
|
|
66
36
|
...props
|
|
67
37
|
});
|
|
@@ -86,7 +56,7 @@ function Field({ className, orientation = "vertical", ...props }) {
|
|
|
86
56
|
*/
|
|
87
57
|
function FieldContent({ className, ...props }) {
|
|
88
58
|
return /* @__PURE__ */ jsx("div", {
|
|
89
|
-
className: cn("group/field-content flex flex-1 flex-col gap-1
|
|
59
|
+
className: cn("group/field-content flex flex-1 flex-col gap-1 leading-snug", className),
|
|
90
60
|
"data-slot": "field-content",
|
|
91
61
|
...props
|
|
92
62
|
});
|
|
@@ -96,7 +66,7 @@ function FieldContent({ className, ...props }) {
|
|
|
96
66
|
*/
|
|
97
67
|
function FieldLabel({ className, ...props }) {
|
|
98
68
|
return /* @__PURE__ */ jsx(Label, {
|
|
99
|
-
className: cn("group/field-label peer/field-label flex w-fit gap-2 leading-snug
|
|
69
|
+
className: cn("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-disabled/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border *:data-[slot=field]:p-3 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10", "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col", className),
|
|
100
70
|
"data-slot": "field-label",
|
|
101
71
|
...props
|
|
102
72
|
});
|
|
@@ -106,7 +76,7 @@ function FieldLabel({ className, ...props }) {
|
|
|
106
76
|
*/
|
|
107
77
|
function FieldTitle({ className, ...props }) {
|
|
108
78
|
return /* @__PURE__ */ jsx("div", {
|
|
109
|
-
className: cn("flex w-fit items-center gap-2 text-sm
|
|
79
|
+
className: cn("flex w-fit items-center gap-2 text-sm font-medium group-data-disabled/field:opacity-50", className),
|
|
110
80
|
"data-slot": "field-label",
|
|
111
81
|
...props
|
|
112
82
|
});
|
|
@@ -116,7 +86,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
116
86
|
*/
|
|
117
87
|
function FieldDescription({ className, ...props }) {
|
|
118
88
|
return /* @__PURE__ */ jsx("p", {
|
|
119
|
-
className: cn("text-sm leading-normal font-normal text-muted-foreground
|
|
89
|
+
className: cn("text-left text-sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5", "last:mt-0 nth-last-2:-mt-1", "[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className),
|
|
120
90
|
"data-slot": "field-description",
|
|
121
91
|
...props
|
|
122
92
|
});
|
|
@@ -127,12 +97,12 @@ function FieldDescription({ className, ...props }) {
|
|
|
127
97
|
function FieldSeparator({ children, className, ...props }) {
|
|
128
98
|
const hasContent = Boolean(children);
|
|
129
99
|
return /* @__PURE__ */ jsxs("div", {
|
|
130
|
-
className: cn("relative
|
|
100
|
+
className: cn("relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2", className),
|
|
131
101
|
"data-content": hasContent,
|
|
132
102
|
"data-slot": "field-separator",
|
|
133
103
|
...props,
|
|
134
|
-
children: [/* @__PURE__ */ jsx(Separator, { className:
|
|
135
|
-
className:
|
|
104
|
+
children: [/* @__PURE__ */ jsx(Separator, { className: "absolute inset-0 top-1/2" }), hasContent ? /* @__PURE__ */ jsx("span", {
|
|
105
|
+
className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground",
|
|
136
106
|
"data-slot": "field-separator-content",
|
|
137
107
|
children
|
|
138
108
|
}) : null]
|
|
@@ -147,7 +117,7 @@ function FieldError({ children, className, errors, ...props }) {
|
|
|
147
117
|
const uniqueErrors = [...new Map(errors.map((error) => [error?.message, error])).values()];
|
|
148
118
|
if (uniqueErrors.length === 1) return uniqueErrors[0]?.message ?? null;
|
|
149
119
|
return /* @__PURE__ */ jsx("ul", {
|
|
150
|
-
className:
|
|
120
|
+
className: "ml-4 flex list-disc flex-col gap-1",
|
|
151
121
|
children: uniqueErrors.map((error) => error?.message ? /* @__PURE__ */ jsx("li", { children: error.message }, error.message) : null)
|
|
152
122
|
});
|
|
153
123
|
}, [errors]);
|
|
@@ -162,4 +132,4 @@ function FieldError({ children, className, errors, ...props }) {
|
|
|
162
132
|
});
|
|
163
133
|
}
|
|
164
134
|
//#endregion
|
|
165
|
-
export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle
|
|
135
|
+
export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle };
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { Slot } from "
|
|
1
|
+
import { Label, Slot } from "radix-ui";
|
|
2
2
|
import { ComponentProps, JSX, ReactNode } from "react";
|
|
3
|
-
import
|
|
4
|
-
import { Scope } from "@radix-ui/react-context";
|
|
5
|
-
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
6
|
-
import * as _$react_hook_form0 from "react-hook-form";
|
|
3
|
+
import { Context } from "radix-ui/internal";
|
|
7
4
|
import { ControllerProps, FieldPath, FieldValues, FormProvider } from "react-hook-form";
|
|
8
5
|
|
|
9
6
|
//#region src/components/form.d.ts
|
|
@@ -14,11 +11,11 @@ type FormProps = ComponentProps<typeof FormProvider>;
|
|
|
14
11
|
/**
|
|
15
12
|
* @since 0.3.16-canary.0
|
|
16
13
|
*/
|
|
17
|
-
declare const Form:
|
|
14
|
+
declare const Form: typeof FormProvider;
|
|
18
15
|
type ScopedProps<P> = P & {
|
|
19
|
-
__scopeFormField?: Scope;
|
|
16
|
+
__scopeFormField?: Context.Scope;
|
|
20
17
|
};
|
|
21
|
-
declare const createFormFieldScope:
|
|
18
|
+
declare const createFormFieldScope: Context.CreateScope;
|
|
22
19
|
/**
|
|
23
20
|
* @since 0.3.16-canary.0
|
|
24
21
|
*/
|
|
@@ -42,7 +39,7 @@ declare function FormItem({
|
|
|
42
39
|
/**
|
|
43
40
|
* @since 0.3.16-canary.0
|
|
44
41
|
*/
|
|
45
|
-
type FormLabelProps = ComponentProps<typeof
|
|
42
|
+
type FormLabelProps = ComponentProps<typeof Label.Root>;
|
|
46
43
|
/**
|
|
47
44
|
* @since 0.3.16-canary.0
|
|
48
45
|
*/
|
|
@@ -53,7 +50,7 @@ declare function FormLabel({
|
|
|
53
50
|
/**
|
|
54
51
|
* @since 0.3.16-canary.0
|
|
55
52
|
*/
|
|
56
|
-
type FormControlProps = ComponentProps<typeof Slot>;
|
|
53
|
+
type FormControlProps = ComponentProps<typeof Slot.Root>;
|
|
57
54
|
/**
|
|
58
55
|
* @since 0.3.16-canary.0
|
|
59
56
|
*/
|
package/dist/components/form.mjs
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { cn } from "../lib/utils.mjs";
|
|
3
|
-
import { Label } from "./label.mjs";
|
|
4
|
-
import { Slot } from "
|
|
2
|
+
import { Label as Label$1 } from "./label.mjs";
|
|
3
|
+
import { Slot } from "radix-ui";
|
|
5
4
|
import { jsx } from "react/jsx-runtime";
|
|
6
5
|
import { useId } from "react";
|
|
7
|
-
import {
|
|
6
|
+
import { Context } from "radix-ui/internal";
|
|
8
7
|
import { Controller, FormProvider, useFormContext, useFormState } from "react-hook-form";
|
|
9
8
|
//#region src/components/form.tsx
|
|
10
9
|
/**
|
|
@@ -12,7 +11,7 @@ import { Controller, FormProvider, useFormContext, useFormState } from "react-ho
|
|
|
12
11
|
*/
|
|
13
12
|
const Form = FormProvider;
|
|
14
13
|
const FORM_FIELD_NAME = "FormField";
|
|
15
|
-
const [createFormFieldContext, createFormFieldScope] = createContextScope(FORM_FIELD_NAME);
|
|
14
|
+
const [createFormFieldContext, createFormFieldScope] = Context.createContextScope(FORM_FIELD_NAME);
|
|
16
15
|
const [FormFieldContextProvider, useFormFieldContext] = createFormFieldContext(FORM_FIELD_NAME);
|
|
17
16
|
function useFormItem(consumerName, scope) {
|
|
18
17
|
const { id } = useFormItemContext(consumerName, scope);
|
|
@@ -60,7 +59,7 @@ const FORM_LABEL_NAME = "FormLabel";
|
|
|
60
59
|
*/
|
|
61
60
|
function FormLabel({ __scopeFormField, ...props }) {
|
|
62
61
|
const { error, formItemId } = useFormItem(FORM_LABEL_NAME, __scopeFormField);
|
|
63
|
-
return /* @__PURE__ */ jsx(Label, {
|
|
62
|
+
return /* @__PURE__ */ jsx(Label$1, {
|
|
64
63
|
"data-invalid": error ? true : void 0,
|
|
65
64
|
"data-slot": "form-label",
|
|
66
65
|
htmlFor: formItemId,
|
|
@@ -73,7 +72,7 @@ const FORM_CONTROL_NAME = "FormControl";
|
|
|
73
72
|
*/
|
|
74
73
|
function FormControl({ __scopeFormField, ...props }) {
|
|
75
74
|
const { error, formDescriptionId, formItemId, formMessageId } = useFormItem(FORM_CONTROL_NAME, __scopeFormField);
|
|
76
|
-
return /* @__PURE__ */ jsx(Slot, {
|
|
75
|
+
return /* @__PURE__ */ jsx(Slot.Root, {
|
|
77
76
|
"aria-describedby": error ? `${formDescriptionId} ${formMessageId}` : formDescriptionId,
|
|
78
77
|
"aria-invalid": Boolean(error),
|
|
79
78
|
"data-slot": "form-control",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import { HoverCard as HoverCard$1 } from "radix-ui";
|
|
1
2
|
import { ComponentProps, JSX } from "react";
|
|
2
|
-
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
3
3
|
|
|
4
4
|
//#region src/components/hover-card.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* @since 0.3.16-canary.0
|
|
7
7
|
*/
|
|
8
|
-
type HoverCardProps = ComponentProps<typeof
|
|
8
|
+
type HoverCardProps = ComponentProps<typeof HoverCard$1.Root>;
|
|
9
9
|
/**
|
|
10
10
|
* @since 0.3.16-canary.0
|
|
11
11
|
*/
|
|
@@ -15,7 +15,7 @@ declare function HoverCard({
|
|
|
15
15
|
/**
|
|
16
16
|
* @since 0.3.16-canary.0
|
|
17
17
|
*/
|
|
18
|
-
type HoverCardTriggerProps = ComponentProps<typeof
|
|
18
|
+
type HoverCardTriggerProps = ComponentProps<typeof HoverCard$1.Trigger>;
|
|
19
19
|
/**
|
|
20
20
|
* @since 0.3.16-canary.0
|
|
21
21
|
*/
|
|
@@ -25,7 +25,7 @@ declare function HoverCardTrigger({
|
|
|
25
25
|
/**
|
|
26
26
|
* @since 0.3.16-canary.0
|
|
27
27
|
*/
|
|
28
|
-
type HoverCardContentProps = ComponentProps<typeof
|
|
28
|
+
type HoverCardContentProps = ComponentProps<typeof HoverCard$1.Content>;
|
|
29
29
|
/**
|
|
30
30
|
* @since 0.3.16-canary.0
|
|
31
31
|
*/
|
|
@@ -38,7 +38,7 @@ declare function HoverCardContent({
|
|
|
38
38
|
/**
|
|
39
39
|
* @since 0.3.16-canary.0
|
|
40
40
|
*/
|
|
41
|
-
type HoverCardArrowProps = ComponentProps<typeof
|
|
41
|
+
type HoverCardArrowProps = ComponentProps<typeof HoverCard$1.Arrow>;
|
|
42
42
|
/**
|
|
43
43
|
* @since 0.3.16-canary.0
|
|
44
44
|
*/
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { cn } from "../lib/utils.mjs";
|
|
2
|
+
import { HoverCard as HoverCard$1 } from "radix-ui";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
5
4
|
//#region src/components/hover-card.tsx
|
|
6
5
|
/**
|
|
7
6
|
* @since 0.3.16-canary.0
|
|
8
7
|
*/
|
|
9
8
|
function HoverCard({ ...props }) {
|
|
10
|
-
return /* @__PURE__ */ jsx(
|
|
9
|
+
return /* @__PURE__ */ jsx(HoverCard$1.Root, {
|
|
11
10
|
"data-slot": "hover-card",
|
|
12
11
|
...props
|
|
13
12
|
});
|
|
@@ -16,7 +15,7 @@ function HoverCard({ ...props }) {
|
|
|
16
15
|
* @since 0.3.16-canary.0
|
|
17
16
|
*/
|
|
18
17
|
function HoverCardTrigger({ ...props }) {
|
|
19
|
-
return /* @__PURE__ */ jsx(
|
|
18
|
+
return /* @__PURE__ */ jsx(HoverCard$1.Trigger, {
|
|
20
19
|
"data-slot": "hover-card-trigger",
|
|
21
20
|
...props
|
|
22
21
|
});
|
|
@@ -25,19 +24,22 @@ function HoverCardTrigger({ ...props }) {
|
|
|
25
24
|
* @since 0.3.16-canary.0
|
|
26
25
|
*/
|
|
27
26
|
function HoverCardContent({ align = "center", className, sideOffset = 4, ...props }) {
|
|
28
|
-
return /* @__PURE__ */ jsx(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
return /* @__PURE__ */ jsx(HoverCard$1.Portal, {
|
|
28
|
+
"data-slot": "hover-card-portal",
|
|
29
|
+
children: /* @__PURE__ */ jsx(HoverCard$1.Content, {
|
|
30
|
+
align,
|
|
31
|
+
className: cn("z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-lg bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden ease-snappy data-open:animate-in data-open:animation-duration-popup-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-popup-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),
|
|
32
|
+
"data-slot": "hover-card-content",
|
|
33
|
+
sideOffset,
|
|
34
|
+
...props
|
|
35
|
+
})
|
|
36
|
+
});
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
39
|
* @since 0.3.16-canary.0
|
|
38
40
|
*/
|
|
39
41
|
function HoverCardArrow({ className, ...props }) {
|
|
40
|
-
return /* @__PURE__ */ jsx(
|
|
42
|
+
return /* @__PURE__ */ jsx(HoverCard$1.Arrow, {
|
|
41
43
|
className: cn("fill-popover", className),
|
|
42
44
|
"data-slot": "hover-card-arrow",
|
|
43
45
|
...props
|
|
@@ -1,37 +1,10 @@
|
|
|
1
|
-
import { VariantProps } from "../lib/utils.mjs";
|
|
2
1
|
import { ButtonProps } from "./button.mjs";
|
|
3
2
|
import { InputProps } from "./input.mjs";
|
|
4
3
|
import { TextareaProps } from "./textarea.mjs";
|
|
5
|
-
import
|
|
4
|
+
import { InputGroupAddonVariants, InputGroupButtonVariants } from "../variants/input-group.mjs";
|
|
6
5
|
import { ComponentProps, JSX } from "react";
|
|
7
6
|
|
|
8
7
|
//#region src/components/input-group.d.ts
|
|
9
|
-
/**
|
|
10
|
-
* @since 0.3.16-canary.0
|
|
11
|
-
*/
|
|
12
|
-
declare const inputGroupVariants: _$_codefast_tailwind_variants0.VariantResolver<_$_codefast_tailwind_variants0.VariantSchema, Record<string, never>>;
|
|
13
|
-
/**
|
|
14
|
-
* @since 0.3.16-canary.0
|
|
15
|
-
*/
|
|
16
|
-
declare const inputGroupAddonVariants: _$_codefast_tailwind_variants0.VariantResolver<{
|
|
17
|
-
align: {
|
|
18
|
-
"block-end": string[];
|
|
19
|
-
"block-start": string[];
|
|
20
|
-
"inline-end": string[];
|
|
21
|
-
"inline-start": string[];
|
|
22
|
-
};
|
|
23
|
-
}, Record<string, never>>;
|
|
24
|
-
/**
|
|
25
|
-
* @since 0.3.16-canary.0
|
|
26
|
-
*/
|
|
27
|
-
declare const inputGroupButtonVariants: _$_codefast_tailwind_variants0.VariantResolver<{
|
|
28
|
-
size: {
|
|
29
|
-
"icon-sm": string[];
|
|
30
|
-
"icon-xs": string[];
|
|
31
|
-
sm: string[];
|
|
32
|
-
xs: string[];
|
|
33
|
-
};
|
|
34
|
-
}, Record<string, never>>;
|
|
35
8
|
/**
|
|
36
9
|
* @since 0.3.16-canary.0
|
|
37
10
|
*/
|
|
@@ -46,7 +19,7 @@ declare function InputGroup({
|
|
|
46
19
|
/**
|
|
47
20
|
* @since 0.3.16-canary.0
|
|
48
21
|
*/
|
|
49
|
-
type InputGroupAddonProps = ComponentProps<"div"> &
|
|
22
|
+
type InputGroupAddonProps = ComponentProps<"div"> & InputGroupAddonVariants;
|
|
50
23
|
/**
|
|
51
24
|
* @since 0.3.16-canary.0
|
|
52
25
|
*/
|
|
@@ -58,7 +31,7 @@ declare function InputGroupAddon({
|
|
|
58
31
|
/**
|
|
59
32
|
* @since 0.3.16-canary.0
|
|
60
33
|
*/
|
|
61
|
-
type InputGroupButtonProps = Omit<ButtonProps, "size"> &
|
|
34
|
+
type InputGroupButtonProps = Omit<ButtonProps, "size"> & InputGroupButtonVariants;
|
|
62
35
|
/**
|
|
63
36
|
* @since 0.3.16-canary.0
|
|
64
37
|
*/
|
|
@@ -103,4 +76,4 @@ declare function InputGroupTextarea({
|
|
|
103
76
|
...props
|
|
104
77
|
}: InputGroupTextareaProps): JSX.Element;
|
|
105
78
|
//#endregion
|
|
106
|
-
export { InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, InputGroupInput, type InputGroupInputProps, type InputGroupProps, InputGroupText, type InputGroupTextProps, InputGroupTextarea, type InputGroupTextareaProps
|
|
79
|
+
export { InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, InputGroupInput, type InputGroupInputProps, type InputGroupProps, InputGroupText, type InputGroupTextProps, InputGroupTextarea, type InputGroupTextareaProps };
|
|
@@ -1,101 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
import { cn, tv } from "../lib/utils.mjs";
|
|
1
|
+
import { cn } from "../lib/utils.mjs";
|
|
3
2
|
import { Button } from "./button.mjs";
|
|
4
3
|
import { Input } from "./input.mjs";
|
|
5
4
|
import { Textarea } from "./textarea.mjs";
|
|
5
|
+
import { inputGroupAddonVariants, inputGroupButtonVariants, inputGroupVariants } from "../variants/input-group.mjs";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
7
|
//#region src/components/input-group.tsx
|
|
8
8
|
/**
|
|
9
9
|
* @since 0.3.16-canary.0
|
|
10
10
|
*/
|
|
11
|
-
const inputGroupVariants = tv({ base: [
|
|
12
|
-
"group/input-group relative flex h-9 w-full min-w-0 items-center",
|
|
13
|
-
"rounded-lg border border-input shadow-xs outline-none",
|
|
14
|
-
"transition-[color,box-shadow]",
|
|
15
|
-
"dark:bg-input/30",
|
|
16
|
-
"has-[>textarea]:h-auto",
|
|
17
|
-
"has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col",
|
|
18
|
-
"has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col",
|
|
19
|
-
"has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50",
|
|
20
|
-
"has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-destructive/20",
|
|
21
|
-
"dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",
|
|
22
|
-
"has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:pt-3",
|
|
23
|
-
"has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:pb-3",
|
|
24
|
-
"has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:pr-2",
|
|
25
|
-
"has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:pl-2"
|
|
26
|
-
] });
|
|
27
|
-
/**
|
|
28
|
-
* @since 0.3.16-canary.0
|
|
29
|
-
*/
|
|
30
|
-
const inputGroupAddonVariants = tv({
|
|
31
|
-
base: [
|
|
32
|
-
"flex h-auto items-center justify-center gap-2 py-1.5",
|
|
33
|
-
"text-sm font-medium text-muted-foreground",
|
|
34
|
-
"cursor-text select-none",
|
|
35
|
-
"group-data-disabled/input-group:opacity-50",
|
|
36
|
-
"[&>kbd]:rounded-[calc(var(--radius)-5px)]",
|
|
37
|
-
"[&>svg:not([class*='size-'])]:size-4"
|
|
38
|
-
],
|
|
39
|
-
defaultVariants: { align: "inline-start" },
|
|
40
|
-
variants: { align: {
|
|
41
|
-
"block-end": [
|
|
42
|
-
"order-last w-full justify-start px-3 pb-3",
|
|
43
|
-
"group-has-[>input]/input-group:pb-2.5",
|
|
44
|
-
"[.border-t]:pt-3"
|
|
45
|
-
],
|
|
46
|
-
"block-start": [
|
|
47
|
-
"order-first w-full justify-start px-3 pt-3",
|
|
48
|
-
"group-has-[>input]/input-group:pt-2.5",
|
|
49
|
-
"[.border-b]:pb-3"
|
|
50
|
-
],
|
|
51
|
-
"inline-end": [
|
|
52
|
-
"order-last",
|
|
53
|
-
"pr-3",
|
|
54
|
-
"has-[>button]:mr-[-0.45rem]",
|
|
55
|
-
"has-[>kbd]:mr-[-0.35rem]"
|
|
56
|
-
],
|
|
57
|
-
"inline-start": [
|
|
58
|
-
"order-first",
|
|
59
|
-
"pl-3",
|
|
60
|
-
"has-[>button]:ml-[-0.45rem]",
|
|
61
|
-
"has-[>kbd]:ml-[-0.35rem]"
|
|
62
|
-
]
|
|
63
|
-
} }
|
|
64
|
-
});
|
|
65
|
-
/**
|
|
66
|
-
* @since 0.3.16-canary.0
|
|
67
|
-
*/
|
|
68
|
-
const inputGroupButtonVariants = tv({
|
|
69
|
-
base: [
|
|
70
|
-
"flex items-center gap-2",
|
|
71
|
-
"shadow-none",
|
|
72
|
-
"text-sm",
|
|
73
|
-
"[&>svg:not([class*='size-'])]:size-4"
|
|
74
|
-
],
|
|
75
|
-
defaultVariants: { size: "xs" },
|
|
76
|
-
variants: { size: {
|
|
77
|
-
"icon-sm": ["size-8 p-0", "has-[>svg]:p-0"],
|
|
78
|
-
"icon-xs": [
|
|
79
|
-
"size-6 p-0",
|
|
80
|
-
"rounded-[calc(var(--radius)-5px)]",
|
|
81
|
-
"has-[>svg]:p-0"
|
|
82
|
-
],
|
|
83
|
-
sm: [
|
|
84
|
-
"h-8 gap-1.5 px-2.5",
|
|
85
|
-
"rounded-md",
|
|
86
|
-
"has-[>svg]:px-2.5"
|
|
87
|
-
],
|
|
88
|
-
xs: [
|
|
89
|
-
"h-6 gap-1 px-2",
|
|
90
|
-
"rounded-[calc(var(--radius)-5px)]",
|
|
91
|
-
"has-[>svg]:px-2",
|
|
92
|
-
"[&>svg]:size-3.5"
|
|
93
|
-
]
|
|
94
|
-
} }
|
|
95
|
-
});
|
|
96
|
-
/**
|
|
97
|
-
* @since 0.3.16-canary.0
|
|
98
|
-
*/
|
|
99
11
|
function InputGroup({ className, ...props }) {
|
|
100
12
|
return /* @__PURE__ */ jsx("div", {
|
|
101
13
|
className: inputGroupVariants({ className }),
|
|
@@ -109,7 +21,10 @@ function InputGroup({ className, ...props }) {
|
|
|
109
21
|
*/
|
|
110
22
|
function InputGroupAddon({ align = "inline-start", className, ...props }) {
|
|
111
23
|
return /* @__PURE__ */ jsx("div", {
|
|
112
|
-
className:
|
|
24
|
+
className: inputGroupAddonVariants({
|
|
25
|
+
align,
|
|
26
|
+
className
|
|
27
|
+
}),
|
|
113
28
|
"data-align": align,
|
|
114
29
|
"data-slot": "input-group-addon",
|
|
115
30
|
role: "group",
|
|
@@ -127,7 +42,10 @@ function InputGroupAddon({ align = "inline-start", className, ...props }) {
|
|
|
127
42
|
*/
|
|
128
43
|
function InputGroupButton({ className, size = "xs", type = "button", variant = "ghost", ...props }) {
|
|
129
44
|
return /* @__PURE__ */ jsx(Button, {
|
|
130
|
-
className:
|
|
45
|
+
className: inputGroupButtonVariants({
|
|
46
|
+
size,
|
|
47
|
+
className
|
|
48
|
+
}),
|
|
131
49
|
"data-size": size,
|
|
132
50
|
"data-slot": "input-group-button",
|
|
133
51
|
type,
|
|
@@ -140,7 +58,7 @@ function InputGroupButton({ className, size = "xs", type = "button", variant = "
|
|
|
140
58
|
*/
|
|
141
59
|
function InputGroupText({ className, ...props }) {
|
|
142
60
|
return /* @__PURE__ */ jsx("span", {
|
|
143
|
-
className: cn("flex items-center gap-2 text-sm text-muted-foreground
|
|
61
|
+
className: cn("flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className),
|
|
144
62
|
"data-slot": "input-group-text",
|
|
145
63
|
...props
|
|
146
64
|
});
|
|
@@ -150,7 +68,7 @@ function InputGroupText({ className, ...props }) {
|
|
|
150
68
|
*/
|
|
151
69
|
function InputGroupInput({ className, ...props }) {
|
|
152
70
|
return /* @__PURE__ */ jsx(Input, {
|
|
153
|
-
className: cn("flex-1
|
|
71
|
+
className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent", className),
|
|
154
72
|
"data-slot": "input-group-control",
|
|
155
73
|
...props
|
|
156
74
|
});
|
|
@@ -160,10 +78,10 @@ function InputGroupInput({ className, ...props }) {
|
|
|
160
78
|
*/
|
|
161
79
|
function InputGroupTextarea({ className, ...props }) {
|
|
162
80
|
return /* @__PURE__ */ jsx(Textarea, {
|
|
163
|
-
className: cn("flex-1
|
|
81
|
+
className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent", className),
|
|
164
82
|
"data-slot": "input-group-control",
|
|
165
83
|
...props
|
|
166
84
|
});
|
|
167
85
|
}
|
|
168
86
|
//#endregion
|
|
169
|
-
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea
|
|
87
|
+
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Field as InputNumberField, InputNumber as InputNumber$1 } from "../primitives/input-number.mjs";
|
|
2
|
+
import { InputNumberVariants } from "../variants/input-number.mjs";
|
|
2
3
|
import { ComponentProps, JSX } from "react";
|
|
3
4
|
|
|
4
5
|
//#region src/components/input-number.d.ts
|
|
5
6
|
/**
|
|
6
7
|
* @since 0.3.16-canary.0
|
|
7
8
|
*/
|
|
8
|
-
interface InputNumberProps extends ComponentProps<typeof InputNumberField>, ComponentProps<typeof InputNumber$1
|
|
9
|
+
interface InputNumberProps extends ComponentProps<typeof InputNumberField>, ComponentProps<typeof InputNumber$1>, InputNumberVariants {}
|
|
9
10
|
/**
|
|
10
11
|
* @since 0.3.16-canary.0
|
|
11
12
|
*/
|
|
@@ -28,6 +29,7 @@ declare function InputNumber({
|
|
|
28
29
|
step,
|
|
29
30
|
suffix,
|
|
30
31
|
value,
|
|
32
|
+
variant,
|
|
31
33
|
...props
|
|
32
34
|
}: InputNumberProps): JSX.Element;
|
|
33
35
|
//#endregion
|