@codefast/ui 0.0.8 → 0.0.10
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/dist/accordion.d.mts +8 -4
- package/dist/accordion.d.ts +8 -4
- package/dist/accordion.js +42 -32
- package/dist/accordion.js.map +1 -1
- package/dist/accordion.mjs +42 -32
- package/dist/accordion.mjs.map +1 -1
- package/dist/alert-dialog.d.mts +17 -8
- package/dist/alert-dialog.d.ts +17 -8
- package/dist/alert-dialog.js +47 -75
- package/dist/alert-dialog.js.map +1 -1
- package/dist/alert-dialog.mjs +47 -75
- package/dist/alert-dialog.mjs.map +1 -1
- package/dist/alert.d.mts +10 -5
- package/dist/alert.d.ts +10 -5
- package/dist/alert.js +5 -26
- package/dist/alert.js.map +1 -1
- package/dist/alert.mjs +5 -26
- package/dist/alert.mjs.map +1 -1
- package/dist/aspect-ratio.d.mts +2 -1
- package/dist/aspect-ratio.d.ts +2 -1
- package/dist/aspect-ratio.js.map +1 -1
- package/dist/aspect-ratio.mjs.map +1 -1
- package/dist/avatar.d.mts +7 -4
- package/dist/avatar.d.ts +7 -4
- package/dist/avatar.js +3 -16
- package/dist/avatar.js.map +1 -1
- package/dist/avatar.mjs +3 -16
- package/dist/avatar.mjs.map +1 -1
- package/dist/badge.d.mts +5 -2
- package/dist/badge.d.ts +5 -2
- package/dist/badge.js +1 -5
- package/dist/badge.js.map +1 -1
- package/dist/badge.mjs +1 -5
- package/dist/badge.mjs.map +1 -1
- package/dist/blockquote.d.mts +5 -4
- package/dist/blockquote.d.ts +5 -4
- package/dist/blockquote.js.map +1 -1
- package/dist/blockquote.mjs.map +1 -1
- package/dist/box.d.mts +1 -1
- package/dist/box.d.ts +1 -1
- package/dist/box.js +4 -6
- package/dist/box.js.map +1 -1
- package/dist/box.mjs +4 -6
- package/dist/box.mjs.map +1 -1
- package/dist/breadcrumb.d.mts +18 -11
- package/dist/breadcrumb.d.ts +18 -11
- package/dist/breadcrumb.js +12 -39
- package/dist/breadcrumb.js.map +1 -1
- package/dist/breadcrumb.mjs +12 -39
- package/dist/breadcrumb.mjs.map +1 -1
- package/dist/button.d.mts +4 -2
- package/dist/button.d.ts +4 -2
- package/dist/button.js +3 -2
- package/dist/button.mjs +2 -1
- package/dist/calendar.d.mts +3 -2
- package/dist/calendar.d.ts +3 -2
- package/dist/calendar.js +7 -19
- package/dist/calendar.js.map +1 -1
- package/dist/calendar.mjs +6 -18
- package/dist/calendar.mjs.map +1 -1
- package/dist/card.d.mts +13 -7
- package/dist/card.d.ts +13 -7
- package/dist/card.js +7 -44
- package/dist/card.js.map +1 -1
- package/dist/card.mjs +7 -44
- package/dist/card.mjs.map +1 -1
- package/dist/carousel.d.mts +13 -8
- package/dist/carousel.d.ts +13 -8
- package/dist/carousel.js +104 -104
- package/dist/carousel.js.map +1 -1
- package/dist/carousel.mjs +104 -104
- package/dist/carousel.mjs.map +1 -1
- package/dist/checkbox-cards.d.mts +15 -0
- package/dist/checkbox-cards.d.ts +15 -0
- package/dist/checkbox-cards.js +56 -0
- package/dist/checkbox-cards.js.map +1 -0
- package/dist/checkbox-cards.mjs +56 -0
- package/dist/checkbox-cards.mjs.map +1 -0
- package/dist/checkbox-group.d.mts +13 -0
- package/dist/checkbox-group.d.ts +13 -0
- package/dist/checkbox-group.js +44 -0
- package/dist/checkbox-group.js.map +1 -0
- package/dist/checkbox-group.mjs +44 -0
- package/dist/checkbox-group.mjs.map +1 -0
- package/dist/checkbox-group.primitive.d.mts +38 -0
- package/dist/checkbox-group.primitive.d.ts +38 -0
- package/dist/checkbox-group.primitive.js +19 -0
- package/dist/checkbox-group.primitive.js.map +1 -0
- package/dist/checkbox-group.primitive.mjs +19 -0
- package/dist/checkbox-group.primitive.mjs.map +1 -0
- package/dist/checkbox.d.mts +3 -2
- package/dist/checkbox.d.ts +3 -2
- package/dist/checkbox.js +5 -1
- package/dist/checkbox.js.map +1 -1
- package/dist/checkbox.mjs +5 -1
- package/dist/checkbox.mjs.map +1 -1
- package/dist/chunk-3ZZ3SRTJ.js +148 -0
- package/dist/chunk-3ZZ3SRTJ.js.map +1 -0
- package/dist/chunk-5UHPKXF4.mjs +60 -0
- package/dist/chunk-5UHPKXF4.mjs.map +1 -0
- package/dist/chunk-EWS3N4OZ.mjs +148 -0
- package/dist/chunk-EWS3N4OZ.mjs.map +1 -0
- package/dist/{chunk-PTD4AMHI.mjs → chunk-FGI3JA75.mjs} +1 -1
- package/dist/chunk-FGI3JA75.mjs.map +1 -0
- package/dist/{chunk-RTKEO347.js → chunk-IVYGBU4G.js} +1 -1
- package/dist/chunk-IVYGBU4G.js.map +1 -0
- package/dist/chunk-IXEJO7ZP.js +86 -0
- package/dist/chunk-IXEJO7ZP.js.map +1 -0
- package/dist/chunk-J6COVJTP.js +60 -0
- package/dist/chunk-J6COVJTP.js.map +1 -0
- package/dist/chunk-JULVZPCS.mjs +120 -0
- package/dist/chunk-JULVZPCS.mjs.map +1 -0
- package/dist/chunk-LNSEYAPJ.js +121 -0
- package/dist/chunk-LNSEYAPJ.js.map +1 -0
- package/dist/chunk-MOJNV3XZ.js +120 -0
- package/dist/chunk-MOJNV3XZ.js.map +1 -0
- package/dist/{chunk-U2WDUCW3.js → chunk-NEP3JDVQ.js} +31 -6
- package/dist/chunk-NEP3JDVQ.js.map +1 -0
- package/dist/chunk-OK63Q6EJ.mjs +121 -0
- package/dist/chunk-OK63Q6EJ.mjs.map +1 -0
- package/dist/{chunk-5GHZ6EXI.js → chunk-ORAVN37L.js} +6 -10
- package/dist/chunk-ORAVN37L.js.map +1 -0
- package/dist/{chunk-T52N6ZBP.mjs → chunk-XCBBSHAK.mjs} +6 -10
- package/dist/chunk-XCBBSHAK.mjs.map +1 -0
- package/dist/chunk-XCKLBP2V.mjs +86 -0
- package/dist/chunk-XCKLBP2V.mjs.map +1 -0
- package/dist/chunk-XHZUPL2U.mjs +81 -0
- package/dist/chunk-XHZUPL2U.mjs.map +1 -0
- package/dist/code.d.mts +5 -4
- package/dist/code.d.ts +5 -4
- package/dist/code.js.map +1 -1
- package/dist/code.mjs.map +1 -1
- package/dist/collapsible.d.mts +4 -1
- package/dist/collapsible.d.ts +4 -1
- package/dist/collapsible.js.map +1 -1
- package/dist/collapsible.mjs.map +1 -1
- package/dist/command.d.mts +24 -12
- package/dist/command.d.ts +24 -12
- package/dist/command.js +9 -40
- package/dist/command.js.map +1 -1
- package/dist/command.mjs +9 -40
- package/dist/command.mjs.map +1 -1
- package/dist/container.d.mts +5 -4
- package/dist/container.d.ts +5 -4
- package/dist/container.js.map +1 -1
- package/dist/container.mjs.map +1 -1
- package/dist/context-menu.d.mts +31 -16
- package/dist/context-menu.d.ts +31 -16
- package/dist/context-menu.js +108 -124
- package/dist/context-menu.js.map +1 -1
- package/dist/context-menu.mjs +109 -125
- package/dist/context-menu.mjs.map +1 -1
- package/dist/data-table.d.mts +10 -7
- package/dist/data-table.d.ts +10 -7
- package/dist/data-table.js +131 -149
- package/dist/data-table.js.map +1 -1
- package/dist/data-table.mjs +120 -138
- package/dist/data-table.mjs.map +1 -1
- package/dist/dialog.d.mts +14 -6
- package/dist/dialog.d.ts +14 -6
- package/dist/dialog.js +2 -2
- package/dist/dialog.mjs +1 -1
- package/dist/drawer.d.mts +12 -4
- package/dist/drawer.d.ts +12 -4
- package/dist/drawer.js +30 -63
- package/dist/drawer.js.map +1 -1
- package/dist/drawer.mjs +30 -63
- package/dist/drawer.mjs.map +1 -1
- package/dist/dropdown-menu.d.mts +29 -15
- package/dist/dropdown-menu.d.ts +29 -15
- package/dist/dropdown-menu.js +2 -2
- package/dist/dropdown-menu.mjs +1 -1
- package/dist/em.d.mts +5 -4
- package/dist/em.d.ts +5 -4
- package/dist/em.js.map +1 -1
- package/dist/em.mjs.map +1 -1
- package/dist/form.d.mts +14 -6
- package/dist/form.d.ts +14 -6
- package/dist/form.js +13 -40
- package/dist/form.js.map +1 -1
- package/dist/form.mjs +13 -40
- package/dist/form.mjs.map +1 -1
- package/dist/heading.d.mts +6 -5
- package/dist/heading.d.ts +6 -5
- package/dist/heading.js.map +1 -1
- package/dist/heading.mjs.map +1 -1
- package/dist/hover-card.d.mts +5 -2
- package/dist/hover-card.d.ts +5 -2
- package/dist/hover-card.js +15 -13
- package/dist/hover-card.js.map +1 -1
- package/dist/hover-card.mjs +15 -13
- package/dist/hover-card.mjs.map +1 -1
- package/dist/input-otp.d.mts +12 -32
- package/dist/input-otp.d.ts +12 -32
- package/dist/input-otp.js +16 -13
- package/dist/input-otp.js.map +1 -1
- package/dist/input-otp.mjs +15 -12
- package/dist/input-otp.mjs.map +1 -1
- package/dist/input.d.mts +6 -3
- package/dist/input.d.ts +6 -3
- package/dist/input.js +8 -10
- package/dist/input.js.map +1 -1
- package/dist/input.mjs +8 -10
- package/dist/input.mjs.map +1 -1
- package/dist/kbd.d.mts +5 -4
- package/dist/kbd.d.ts +5 -4
- package/dist/kbd.js.map +1 -1
- package/dist/kbd.mjs.map +1 -1
- package/dist/label.d.mts +3 -2
- package/dist/label.d.ts +3 -2
- package/dist/label.js +2 -2
- package/dist/label.mjs +1 -1
- package/dist/menubar.d.mts +32 -17
- package/dist/menubar.d.ts +32 -17
- package/dist/menubar.js +73 -93
- package/dist/menubar.js.map +1 -1
- package/dist/menubar.mjs +74 -94
- package/dist/menubar.mjs.map +1 -1
- package/dist/navigation-menu.d.mts +16 -8
- package/dist/navigation-menu.d.ts +16 -8
- package/dist/navigation-menu.js +89 -93
- package/dist/navigation-menu.js.map +1 -1
- package/dist/navigation-menu.mjs +89 -93
- package/dist/navigation-menu.mjs.map +1 -1
- package/dist/pagination.d.mts +13 -7
- package/dist/pagination.d.ts +13 -7
- package/dist/pagination.js +18 -55
- package/dist/pagination.js.map +1 -1
- package/dist/pagination.mjs +18 -55
- package/dist/pagination.mjs.map +1 -1
- package/dist/popover.d.mts +8 -3
- package/dist/popover.d.ts +8 -3
- package/dist/popover.js +16 -21
- package/dist/popover.js.map +1 -1
- package/dist/popover.mjs +16 -21
- package/dist/popover.mjs.map +1 -1
- package/dist/pre.d.mts +5 -4
- package/dist/pre.d.ts +5 -4
- package/dist/pre.js.map +1 -1
- package/dist/pre.mjs.map +1 -1
- package/dist/progress.d.mts +3 -2
- package/dist/progress.d.ts +3 -2
- package/dist/progress.js +2 -5
- package/dist/progress.js.map +1 -1
- package/dist/progress.mjs +2 -5
- package/dist/progress.mjs.map +1 -1
- package/dist/quote.d.mts +5 -4
- package/dist/quote.d.ts +5 -4
- package/dist/quote.js.map +1 -1
- package/dist/quote.mjs.map +1 -1
- package/dist/radio-cards.d.mts +9 -0
- package/dist/radio-cards.d.ts +9 -0
- package/dist/radio-cards.js +36 -0
- package/dist/radio-cards.js.map +1 -0
- package/dist/radio-cards.mjs +36 -0
- package/dist/radio-cards.mjs.map +1 -0
- package/dist/radio-group.d.mts +5 -3
- package/dist/radio-group.d.ts +5 -3
- package/dist/radio-group.js +3 -9
- package/dist/radio-group.js.map +1 -1
- package/dist/radio-group.mjs +3 -9
- package/dist/radio-group.mjs.map +1 -1
- package/dist/radio.d.mts +8 -0
- package/dist/radio.d.ts +8 -0
- package/dist/radio.js +35 -0
- package/dist/radio.js.map +1 -0
- package/dist/radio.mjs +35 -0
- package/dist/radio.mjs.map +1 -0
- package/dist/resizable.d.mts +6 -6
- package/dist/resizable.d.ts +6 -6
- package/dist/resizable.js +4 -6
- package/dist/resizable.js.map +1 -1
- package/dist/resizable.mjs +4 -6
- package/dist/resizable.mjs.map +1 -1
- package/dist/scroll-area.d.mts +5 -3
- package/dist/scroll-area.d.ts +5 -3
- package/dist/scroll-area.js +25 -31
- package/dist/scroll-area.js.map +1 -1
- package/dist/scroll-area.mjs +25 -31
- package/dist/scroll-area.mjs.map +1 -1
- package/dist/section.d.mts +5 -4
- package/dist/section.d.ts +5 -4
- package/dist/section.js.map +1 -1
- package/dist/section.mjs.map +1 -1
- package/dist/select.d.mts +18 -8
- package/dist/select.d.ts +18 -8
- package/dist/select.js +2 -2
- package/dist/select.mjs +1 -1
- package/dist/separator.d.mts +3 -2
- package/dist/separator.d.ts +3 -2
- package/dist/separator.js +1 -5
- package/dist/separator.js.map +1 -1
- package/dist/separator.mjs +1 -5
- package/dist/separator.mjs.map +1 -1
- package/dist/sheet.d.mts +20 -10
- package/dist/sheet.d.ts +20 -10
- package/dist/sheet.js +35 -76
- package/dist/sheet.js.map +1 -1
- package/dist/sheet.mjs +35 -76
- package/dist/sheet.mjs.map +1 -1
- package/dist/skeleton.d.mts +3 -2
- package/dist/skeleton.d.ts +3 -2
- package/dist/skeleton.js +2 -11
- package/dist/skeleton.js.map +1 -1
- package/dist/skeleton.mjs +2 -11
- package/dist/skeleton.mjs.map +1 -1
- package/dist/slider.d.mts +3 -2
- package/dist/slider.d.ts +3 -2
- package/dist/slider.js +10 -5
- package/dist/slider.js.map +1 -1
- package/dist/slider.mjs +10 -5
- package/dist/slider.mjs.map +1 -1
- package/dist/sonner.d.mts +1 -1
- package/dist/sonner.d.ts +1 -1
- package/dist/sonner.js +1 -6
- package/dist/sonner.js.map +1 -1
- package/dist/sonner.mjs +1 -6
- package/dist/sonner.mjs.map +1 -1
- package/dist/spinner.d.mts +8 -0
- package/dist/spinner.d.ts +8 -0
- package/dist/spinner.js +8 -0
- package/dist/spinner.js.map +1 -0
- package/dist/spinner.mjs +8 -0
- package/dist/spinner.mjs.map +1 -0
- package/dist/strong.d.mts +5 -4
- package/dist/strong.d.ts +5 -4
- package/dist/strong.js.map +1 -1
- package/dist/strong.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/switch.d.mts +3 -2
- package/dist/switch.d.ts +3 -2
- package/dist/switch.js +2 -1
- package/dist/switch.js.map +1 -1
- package/dist/switch.mjs +2 -1
- package/dist/switch.mjs.map +1 -1
- package/dist/table.d.mts +17 -9
- package/dist/table.d.ts +17 -9
- package/dist/table.js +6 -47
- package/dist/table.js.map +1 -1
- package/dist/table.mjs +6 -47
- package/dist/table.mjs.map +1 -1
- package/dist/tabs.d.mts +8 -4
- package/dist/tabs.d.ts +8 -4
- package/dist/tabs.js +4 -2
- package/dist/tabs.js.map +1 -1
- package/dist/tabs.mjs +4 -2
- package/dist/tabs.mjs.map +1 -1
- package/dist/text.d.mts +1 -1
- package/dist/text.d.ts +1 -1
- package/dist/text.js +4 -6
- package/dist/text.js.map +1 -1
- package/dist/text.mjs +4 -6
- package/dist/text.mjs.map +1 -1
- package/dist/textarea.d.mts +3 -2
- package/dist/textarea.d.ts +3 -2
- package/dist/textarea.js +2 -1
- package/dist/textarea.js.map +1 -1
- package/dist/textarea.mjs +2 -1
- package/dist/textarea.mjs.map +1 -1
- package/dist/toggle-group.d.mts +5 -3
- package/dist/toggle-group.d.ts +5 -3
- package/dist/toggle-group.js +41 -34
- package/dist/toggle-group.js.map +1 -1
- package/dist/toggle-group.mjs +40 -33
- package/dist/toggle-group.mjs.map +1 -1
- package/dist/toggle.d.mts +3 -2
- package/dist/toggle.d.ts +3 -2
- package/dist/toggle.js +2 -2
- package/dist/toggle.mjs +1 -1
- package/dist/tooltip.d.mts +8 -3
- package/dist/tooltip.d.ts +8 -3
- package/dist/tooltip.js +15 -20
- package/dist/tooltip.js.map +1 -1
- package/dist/tooltip.mjs +15 -20
- package/dist/tooltip.mjs.map +1 -1
- package/package.json +40 -9
- package/src/accordion.tsx +63 -40
- package/src/alert-dialog.tsx +84 -84
- package/src/alert.tsx +25 -32
- package/src/aspect-ratio.tsx +3 -1
- package/src/avatar.tsx +19 -26
- package/src/badge.tsx +8 -9
- package/src/blockquote.tsx +9 -7
- package/src/box.tsx +8 -7
- package/src/breadcrumb.tsx +55 -54
- package/src/button.tsx +44 -15
- package/src/calendar.tsx +8 -23
- package/src/card.tsx +44 -53
- package/src/carousel.tsx +152 -134
- package/src/checkbox-cards.tsx +68 -0
- package/src/checkbox-group.primitive.tsx +199 -0
- package/src/checkbox-group.tsx +57 -0
- package/src/checkbox.tsx +11 -6
- package/src/code.tsx +9 -5
- package/src/collapsible.tsx +12 -1
- package/src/command.tsx +65 -65
- package/src/container.tsx +9 -7
- package/src/context-menu.tsx +184 -160
- package/src/data-table.tsx +43 -48
- package/src/dialog.tsx +68 -71
- package/src/drawer.tsx +59 -67
- package/src/dropdown-menu.tsx +164 -139
- package/src/em.tsx +9 -5
- package/src/form.tsx +61 -69
- package/src/heading.tsx +10 -8
- package/src/hover-card.tsx +30 -18
- package/src/input-otp.tsx +40 -26
- package/src/input.tsx +16 -15
- package/src/kbd.tsx +9 -5
- package/src/label.tsx +6 -5
- package/src/menubar.tsx +154 -139
- package/src/navigation-menu.tsx +118 -102
- package/src/pagination.tsx +39 -49
- package/src/popover.tsx +41 -27
- package/src/pre.tsx +9 -5
- package/src/progress.tsx +8 -10
- package/src/quote.tsx +9 -5
- package/src/radio-cards.tsx +50 -0
- package/src/radio-group.tsx +14 -17
- package/src/radio.tsx +44 -0
- package/src/resizable.tsx +7 -8
- package/src/scroll-area.tsx +33 -37
- package/src/section.tsx +9 -7
- package/src/select.tsx +116 -105
- package/src/separator.tsx +8 -14
- package/src/sheet.tsx +62 -70
- package/src/skeleton.tsx +5 -11
- package/src/slider.tsx +13 -10
- package/src/sonner.tsx +4 -8
- package/src/spinner.tsx +75 -0
- package/src/strong.tsx +9 -5
- package/src/switch.tsx +8 -6
- package/src/table.tsx +54 -64
- package/src/tabs.tsx +30 -15
- package/src/text.tsx +9 -9
- package/src/textarea.tsx +8 -6
- package/src/toggle-group.tsx +59 -48
- package/src/toggle.tsx +12 -13
- package/src/tooltip.tsx +33 -25
- package/dist/chunk-2D7SRYKN.js +0 -135
- package/dist/chunk-2D7SRYKN.js.map +0 -1
- package/dist/chunk-5GHZ6EXI.js.map +0 -1
- package/dist/chunk-EDVCMWDT.mjs +0 -158
- package/dist/chunk-EDVCMWDT.mjs.map +0 -1
- package/dist/chunk-EIHWTXQ4.mjs +0 -112
- package/dist/chunk-EIHWTXQ4.mjs.map +0 -1
- package/dist/chunk-ESWGFN3R.mjs +0 -135
- package/dist/chunk-ESWGFN3R.mjs.map +0 -1
- package/dist/chunk-KW5FJ62U.mjs +0 -56
- package/dist/chunk-KW5FJ62U.mjs.map +0 -1
- package/dist/chunk-LDYBRDAY.js +0 -112
- package/dist/chunk-LDYBRDAY.js.map +0 -1
- package/dist/chunk-OCLLX7EY.js +0 -158
- package/dist/chunk-OCLLX7EY.js.map +0 -1
- package/dist/chunk-PTD4AMHI.mjs.map +0 -1
- package/dist/chunk-RTKEO347.js.map +0 -1
- package/dist/chunk-T52N6ZBP.mjs.map +0 -1
- package/dist/chunk-U2WDUCW3.js.map +0 -1
package/src/form.tsx
CHANGED
|
@@ -14,19 +14,7 @@ import { cn } from "./utils";
|
|
|
14
14
|
import { Label } from "./label";
|
|
15
15
|
|
|
16
16
|
/* -----------------------------------------------------------------------------
|
|
17
|
-
* Context:
|
|
18
|
-
* -------------------------------------------------------------------------- */
|
|
19
|
-
|
|
20
|
-
interface FormItemContextValue {
|
|
21
|
-
id: string;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const FormItemContext = React.createContext<FormItemContextValue>(
|
|
25
|
-
{} as FormItemContextValue,
|
|
26
|
-
);
|
|
27
|
-
|
|
28
|
-
/* -----------------------------------------------------------------------------
|
|
29
|
-
* Context: FormFieldContext
|
|
17
|
+
* Context: Form
|
|
30
18
|
* -------------------------------------------------------------------------- */
|
|
31
19
|
|
|
32
20
|
interface FormFieldContextValue<
|
|
@@ -36,9 +24,13 @@ interface FormFieldContextValue<
|
|
|
36
24
|
name: TName;
|
|
37
25
|
}
|
|
38
26
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
27
|
+
interface FormItemContextValue {
|
|
28
|
+
id: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const FormFieldContext = React.createContext<FormFieldContextValue | null>(null);
|
|
32
|
+
|
|
33
|
+
const FormItemContext = React.createContext<FormItemContextValue | null>(null);
|
|
42
34
|
|
|
43
35
|
const useFormField = (): {
|
|
44
36
|
invalid: boolean;
|
|
@@ -56,12 +48,12 @@ const useFormField = (): {
|
|
|
56
48
|
const itemContext = React.useContext(FormItemContext);
|
|
57
49
|
const { getFieldState, formState } = useFormContext();
|
|
58
50
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (!fieldContext) {
|
|
51
|
+
if (!fieldContext || !itemContext) {
|
|
62
52
|
throw new Error("useFormField should be used within <FormField>");
|
|
63
53
|
}
|
|
64
54
|
|
|
55
|
+
const fieldState = getFieldState(fieldContext.name, formState);
|
|
56
|
+
|
|
65
57
|
const { id } = itemContext;
|
|
66
58
|
|
|
67
59
|
return {
|
|
@@ -78,16 +70,22 @@ const useFormField = (): {
|
|
|
78
70
|
* Component: Form
|
|
79
71
|
* -------------------------------------------------------------------------- */
|
|
80
72
|
|
|
73
|
+
type FormProps = React.ComponentProps<typeof FormProvider>;
|
|
81
74
|
const Form = FormProvider;
|
|
82
75
|
|
|
83
76
|
/* -----------------------------------------------------------------------------
|
|
84
77
|
* Component: FormField
|
|
85
78
|
* -------------------------------------------------------------------------- */
|
|
86
79
|
|
|
80
|
+
type FormFieldProps<
|
|
81
|
+
TFieldValues extends FieldValues = FieldValues,
|
|
82
|
+
TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
|
|
83
|
+
> = ControllerProps<TFieldValues, TName>;
|
|
84
|
+
|
|
87
85
|
function FormField<
|
|
88
86
|
TFieldValues extends FieldValues = FieldValues,
|
|
89
87
|
TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
|
|
90
|
-
>({ ...props }:
|
|
88
|
+
>({ ...props }: FormFieldProps<TFieldValues, TName>): React.JSX.Element {
|
|
91
89
|
return (
|
|
92
90
|
<FormFieldContext.Provider value={{ name: props.name }}>
|
|
93
91
|
<Controller {...props} />
|
|
@@ -99,10 +97,10 @@ function FormField<
|
|
|
99
97
|
* Component: FormItem
|
|
100
98
|
* -------------------------------------------------------------------------- */
|
|
101
99
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
>(({ className, ...props }, ref) => {
|
|
100
|
+
type FormItemElement = HTMLDivElement;
|
|
101
|
+
type FormItemProps = React.HTMLAttributes<HTMLDivElement>;
|
|
102
|
+
|
|
103
|
+
const FormItem = React.forwardRef<FormItemElement, FormItemProps>(({ className, ...props }, ref) => {
|
|
106
104
|
const id = React.useId();
|
|
107
105
|
|
|
108
106
|
return (
|
|
@@ -111,83 +109,74 @@ const FormItem = React.forwardRef<
|
|
|
111
109
|
</FormItemContext.Provider>
|
|
112
110
|
);
|
|
113
111
|
});
|
|
112
|
+
|
|
114
113
|
FormItem.displayName = "FormItem";
|
|
115
114
|
|
|
116
115
|
/* -----------------------------------------------------------------------------
|
|
117
116
|
* Component: FormLabel
|
|
118
117
|
* -------------------------------------------------------------------------- */
|
|
119
118
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
>(({ className, ...props }, ref) => {
|
|
119
|
+
type FormFieldElement = React.ElementRef<typeof LabelPrimitive.Root>;
|
|
120
|
+
type FormLabelProps = React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>;
|
|
121
|
+
|
|
122
|
+
const FormLabel = React.forwardRef<FormFieldElement, FormLabelProps>(({ className, ...props }, ref) => {
|
|
124
123
|
const { error, formItemId } = useFormField();
|
|
125
124
|
|
|
126
|
-
return (
|
|
127
|
-
<Label
|
|
128
|
-
ref={ref}
|
|
129
|
-
className={cn(error && "text-destructive", className)}
|
|
130
|
-
htmlFor={formItemId}
|
|
131
|
-
{...props}
|
|
132
|
-
/>
|
|
133
|
-
);
|
|
125
|
+
return <Label ref={ref} className={cn(error && "text-destructive", className)} htmlFor={formItemId} {...props} />;
|
|
134
126
|
});
|
|
127
|
+
|
|
135
128
|
FormLabel.displayName = "FormLabel";
|
|
136
129
|
|
|
137
130
|
/* -----------------------------------------------------------------------------
|
|
138
131
|
* Component: FormControl
|
|
139
132
|
* -------------------------------------------------------------------------- */
|
|
140
133
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
>(({ ...props }, ref) => {
|
|
145
|
-
const { error, formItemId, formDescriptionId, formMessageId } =
|
|
146
|
-
useFormField();
|
|
134
|
+
type FormControlElement = React.ElementRef<typeof Slot>;
|
|
135
|
+
type FormControlProps = React.ComponentPropsWithoutRef<typeof Slot>;
|
|
136
|
+
|
|
137
|
+
const FormControl = React.forwardRef<FormControlElement, FormControlProps>(({ ...props }, ref) => {
|
|
138
|
+
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
147
139
|
|
|
148
140
|
return (
|
|
149
141
|
<Slot
|
|
150
142
|
ref={ref}
|
|
151
143
|
id={formItemId}
|
|
152
|
-
aria-describedby={
|
|
153
|
-
!error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`
|
|
154
|
-
}
|
|
144
|
+
aria-describedby={!error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`}
|
|
155
145
|
aria-invalid={Boolean(error)}
|
|
156
146
|
{...props}
|
|
157
147
|
/>
|
|
158
148
|
);
|
|
159
149
|
});
|
|
150
|
+
|
|
160
151
|
FormControl.displayName = "FormControl";
|
|
161
152
|
|
|
162
153
|
/* -----------------------------------------------------------------------------
|
|
163
154
|
* Component: FormDescription
|
|
164
155
|
* -------------------------------------------------------------------------- */
|
|
165
156
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
157
|
+
type FormDescriptionElement = HTMLParagraphElement;
|
|
158
|
+
type FormDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;
|
|
159
|
+
|
|
160
|
+
const FormDescription = React.forwardRef<FormDescriptionElement, FormDescriptionProps>(
|
|
161
|
+
({ className, ...props }, ref) => {
|
|
162
|
+
const { formDescriptionId } = useFormField();
|
|
163
|
+
|
|
164
|
+
return (
|
|
165
|
+
<p ref={ref} id={formDescriptionId} className={cn("text-muted-foreground text-[0.8rem]", className)} {...props} />
|
|
166
|
+
);
|
|
167
|
+
},
|
|
168
|
+
);
|
|
171
169
|
|
|
172
|
-
return (
|
|
173
|
-
<p
|
|
174
|
-
ref={ref}
|
|
175
|
-
id={formDescriptionId}
|
|
176
|
-
className={cn("text-muted-foreground text-[0.8rem]", className)}
|
|
177
|
-
{...props}
|
|
178
|
-
/>
|
|
179
|
-
);
|
|
180
|
-
});
|
|
181
170
|
FormDescription.displayName = "FormDescription";
|
|
182
171
|
|
|
183
172
|
/* -----------------------------------------------------------------------------
|
|
184
173
|
* Component: FormMessage
|
|
185
174
|
* -------------------------------------------------------------------------- */
|
|
186
175
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
>(({ className, children, ...props }, ref) => {
|
|
176
|
+
type FormMessageElement = HTMLParagraphElement;
|
|
177
|
+
type FormMessageProps = React.HTMLAttributes<HTMLParagraphElement>;
|
|
178
|
+
|
|
179
|
+
const FormMessage = React.forwardRef<FormMessageElement, FormMessageProps>(({ className, children, ...props }, ref) => {
|
|
191
180
|
const { error, formMessageId } = useFormField();
|
|
192
181
|
const body = error ? String(error.message) : children;
|
|
193
182
|
|
|
@@ -196,16 +185,12 @@ const FormMessage = React.forwardRef<
|
|
|
196
185
|
}
|
|
197
186
|
|
|
198
187
|
return (
|
|
199
|
-
<p
|
|
200
|
-
ref={ref}
|
|
201
|
-
id={formMessageId}
|
|
202
|
-
className={cn("text-destructive text-[0.8rem] font-medium", className)}
|
|
203
|
-
{...props}
|
|
204
|
-
>
|
|
188
|
+
<p ref={ref} id={formMessageId} className={cn("text-destructive text-[0.8rem] font-medium", className)} {...props}>
|
|
205
189
|
{body}
|
|
206
190
|
</p>
|
|
207
191
|
);
|
|
208
192
|
});
|
|
193
|
+
|
|
209
194
|
FormMessage.displayName = "FormMessage";
|
|
210
195
|
|
|
211
196
|
/* -----------------------------------------------------------------------------
|
|
@@ -221,4 +206,11 @@ export {
|
|
|
221
206
|
FormDescription,
|
|
222
207
|
FormMessage,
|
|
223
208
|
FormField,
|
|
209
|
+
type FormProps,
|
|
210
|
+
type FormItemProps,
|
|
211
|
+
type FormLabelProps,
|
|
212
|
+
type FormControlProps,
|
|
213
|
+
type FormDescriptionProps,
|
|
214
|
+
type FormMessageProps,
|
|
215
|
+
type FormFieldProps,
|
|
224
216
|
};
|
package/src/heading.tsx
CHANGED
|
@@ -5,21 +5,23 @@ import { Slot } from "@radix-ui/react-slot";
|
|
|
5
5
|
* Component: Heading
|
|
6
6
|
* -------------------------------------------------------------------------- */
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
type HeadingElement = HTMLHeadingElement;
|
|
9
|
+
|
|
10
|
+
interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
|
|
11
|
+
as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
|
|
12
|
+
asChild?: boolean;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const Heading = React.forwardRef<HeadingElement, HeadingProps>(({ asChild, as: Tag = "h1", ...props }, ref) => {
|
|
15
16
|
const Com = asChild ? Slot : Tag;
|
|
16
17
|
|
|
17
18
|
return <Com ref={ref} {...props} />;
|
|
18
19
|
});
|
|
20
|
+
|
|
19
21
|
Heading.displayName = "Heading";
|
|
20
22
|
|
|
21
23
|
/* -----------------------------------------------------------------------------
|
|
22
24
|
* Exports
|
|
23
25
|
* -------------------------------------------------------------------------- */
|
|
24
26
|
|
|
25
|
-
export { Heading };
|
|
27
|
+
export { Heading, type HeadingProps };
|
package/src/hover-card.tsx
CHANGED
|
@@ -8,39 +8,51 @@ import { cn } from "./utils";
|
|
|
8
8
|
* Component: HoverCard
|
|
9
9
|
* -------------------------------------------------------------------------- */
|
|
10
10
|
|
|
11
|
+
type HoverCardProps = React.ComponentProps<typeof HoverCardPrimitive.Root>;
|
|
11
12
|
const HoverCard = HoverCardPrimitive.Root;
|
|
12
13
|
|
|
13
14
|
/* -----------------------------------------------------------------------------
|
|
14
15
|
* Component: HoverCardTrigger
|
|
15
16
|
* -------------------------------------------------------------------------- */
|
|
16
17
|
|
|
18
|
+
type HoverCardTriggerProps = React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Trigger>;
|
|
17
19
|
const HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
18
20
|
|
|
19
21
|
/* -----------------------------------------------------------------------------
|
|
20
22
|
* Component: HoverCardContent
|
|
21
23
|
* -------------------------------------------------------------------------- */
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<HoverCardPrimitive.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
25
|
+
type HoverCardContentElement = React.ElementRef<typeof HoverCardPrimitive.Content>;
|
|
26
|
+
type HoverCardContentProps = React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>;
|
|
27
|
+
|
|
28
|
+
const HoverCardContent = React.forwardRef<HoverCardContentElement, HoverCardContentProps>(
|
|
29
|
+
({ className, align = "center", sideOffset = 4, ...props }, ref) => (
|
|
30
|
+
<HoverCardPrimitive.Portal>
|
|
31
|
+
<HoverCardPrimitive.Content
|
|
32
|
+
ref={ref}
|
|
33
|
+
align={align}
|
|
34
|
+
sideOffset={sideOffset}
|
|
35
|
+
className={cn(
|
|
36
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 z-50 min-w-[8rem] rounded-md border p-4 shadow-md focus:outline-none",
|
|
37
|
+
className,
|
|
38
|
+
)}
|
|
39
|
+
{...props}
|
|
40
|
+
/>
|
|
41
|
+
</HoverCardPrimitive.Portal>
|
|
42
|
+
),
|
|
43
|
+
);
|
|
44
|
+
|
|
40
45
|
HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
41
46
|
|
|
42
47
|
/* -----------------------------------------------------------------------------
|
|
43
48
|
* Exports
|
|
44
49
|
* -------------------------------------------------------------------------- */
|
|
45
50
|
|
|
46
|
-
export {
|
|
51
|
+
export {
|
|
52
|
+
HoverCard,
|
|
53
|
+
HoverCardTrigger,
|
|
54
|
+
HoverCardContent,
|
|
55
|
+
type HoverCardProps,
|
|
56
|
+
type HoverCardTriggerProps,
|
|
57
|
+
type HoverCardContentProps,
|
|
58
|
+
};
|
package/src/input-otp.tsx
CHANGED
|
@@ -5,6 +5,8 @@ import { DotFilledIcon } from "@radix-ui/react-icons";
|
|
|
5
5
|
import {
|
|
6
6
|
OTPInput,
|
|
7
7
|
OTPInputContext,
|
|
8
|
+
REGEXP_ONLY_CHARS,
|
|
9
|
+
REGEXP_ONLY_DIGITS,
|
|
8
10
|
REGEXP_ONLY_DIGITS_AND_CHARS,
|
|
9
11
|
} from "input-otp";
|
|
10
12
|
import { cn } from "./utils";
|
|
@@ -13,42 +15,46 @@ import { cn } from "./utils";
|
|
|
13
15
|
* Component: InputOtp
|
|
14
16
|
* -------------------------------------------------------------------------- */
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"flex items-center gap-2 has-[:disabled]:opacity-50",
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
type InputOTPElement = React.ElementRef<typeof OTPInput>;
|
|
19
|
+
type InputOTPProps = React.ComponentPropsWithoutRef<typeof OTPInput>;
|
|
20
|
+
|
|
21
|
+
const InputOTP = React.forwardRef<InputOTPElement, InputOTPProps>(
|
|
22
|
+
({ className, containerClassName, ...props }, ref) => (
|
|
23
|
+
<OTPInput
|
|
24
|
+
ref={ref}
|
|
25
|
+
containerClassName={cn("flex items-center gap-2 has-[:disabled]:opacity-50", containerClassName)}
|
|
26
|
+
className={cn("disabled:cursor-not-allowed", className)}
|
|
27
|
+
{...props}
|
|
28
|
+
/>
|
|
29
|
+
),
|
|
30
|
+
);
|
|
31
|
+
|
|
30
32
|
InputOTP.displayName = "InputOTP";
|
|
31
33
|
|
|
32
34
|
/* -----------------------------------------------------------------------------
|
|
33
35
|
* Component: InputOTPGroup
|
|
34
36
|
* -------------------------------------------------------------------------- */
|
|
35
37
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
>(({ className, ...props }, ref) => (
|
|
38
|
+
type InputOTPGroupElement = HTMLDivElement;
|
|
39
|
+
type InputOTPGroupProps = React.HTMLAttributes<HTMLDivElement>;
|
|
40
|
+
|
|
41
|
+
const InputOTPGroup = React.forwardRef<InputOTPGroupElement, InputOTPGroupProps>(({ className, ...props }, ref) => (
|
|
40
42
|
<div ref={ref} className={cn("flex items-center", className)} {...props} />
|
|
41
43
|
));
|
|
44
|
+
|
|
42
45
|
InputOTPGroup.displayName = "InputOTPGroup";
|
|
43
46
|
|
|
44
47
|
/* -----------------------------------------------------------------------------
|
|
45
48
|
* Component: InputOTPSlot
|
|
46
49
|
* -------------------------------------------------------------------------- */
|
|
47
50
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
type InputOTPSlotElement = HTMLDivElement;
|
|
52
|
+
|
|
53
|
+
interface InputOTPSlotProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
54
|
+
index: number;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const InputOTPSlot = React.forwardRef<InputOTPSlotElement, InputOTPSlotProps>(({ index, className, ...props }, ref) => {
|
|
52
58
|
const inputOTPContext = React.useContext(OTPInputContext);
|
|
53
59
|
const slot = inputOTPContext.slots[index];
|
|
54
60
|
|
|
@@ -71,20 +77,22 @@ const InputOTPSlot = React.forwardRef<
|
|
|
71
77
|
</div>
|
|
72
78
|
);
|
|
73
79
|
});
|
|
80
|
+
|
|
74
81
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
75
82
|
|
|
76
83
|
/* -----------------------------------------------------------------------------
|
|
77
84
|
* Component: InputOTPSeparator
|
|
78
85
|
* -------------------------------------------------------------------------- */
|
|
79
86
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
>(({ ...props }, ref) => (
|
|
87
|
+
type InputOTPSeparatorElement = HTMLDivElement;
|
|
88
|
+
type InputOTPSeparatorProps = React.HTMLAttributes<HTMLDivElement>;
|
|
89
|
+
|
|
90
|
+
const InputOTPSeparator = React.forwardRef<InputOTPSeparatorElement, InputOTPSeparatorProps>(({ ...props }, ref) => (
|
|
84
91
|
<div ref={ref} role="separator" {...props}>
|
|
85
92
|
<DotFilledIcon />
|
|
86
93
|
</div>
|
|
87
94
|
));
|
|
95
|
+
|
|
88
96
|
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
89
97
|
|
|
90
98
|
/* -----------------------------------------------------------------------------
|
|
@@ -96,5 +104,11 @@ export {
|
|
|
96
104
|
InputOTPGroup,
|
|
97
105
|
InputOTPSlot,
|
|
98
106
|
InputOTPSeparator,
|
|
107
|
+
type InputOTPProps,
|
|
108
|
+
type InputOTPGroupProps,
|
|
109
|
+
type InputOTPSlotProps,
|
|
110
|
+
type InputOTPSeparatorProps,
|
|
99
111
|
REGEXP_ONLY_DIGITS_AND_CHARS,
|
|
112
|
+
REGEXP_ONLY_CHARS,
|
|
113
|
+
REGEXP_ONLY_DIGITS,
|
|
100
114
|
};
|
package/src/input.tsx
CHANGED
|
@@ -7,7 +7,13 @@ import { cva } from "./utils";
|
|
|
7
7
|
* -------------------------------------------------------------------------- */
|
|
8
8
|
|
|
9
9
|
const inputVariants = cva({
|
|
10
|
-
base:
|
|
10
|
+
base: [
|
|
11
|
+
"border-input flex w-full rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm transition-colors",
|
|
12
|
+
"file:border-0 file:bg-transparent file:text-sm file:font-medium",
|
|
13
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
14
|
+
"placeholder:text-muted-foreground",
|
|
15
|
+
"focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
16
|
+
],
|
|
11
17
|
variants: {
|
|
12
18
|
inputSize: {
|
|
13
19
|
default: "h-10",
|
|
@@ -21,28 +27,23 @@ const inputVariants = cva({
|
|
|
21
27
|
},
|
|
22
28
|
});
|
|
23
29
|
|
|
30
|
+
type InputVariantsProps = VariantProps<typeof inputVariants>;
|
|
31
|
+
|
|
24
32
|
/* -----------------------------------------------------------------------------
|
|
25
33
|
* Component: Input
|
|
26
34
|
* -------------------------------------------------------------------------- */
|
|
27
35
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return (
|
|
34
|
-
<input
|
|
35
|
-
type="text"
|
|
36
|
-
className={inputVariants({ className, inputSize })}
|
|
37
|
-
ref={ref}
|
|
38
|
-
{...props}
|
|
39
|
-
/>
|
|
40
|
-
);
|
|
36
|
+
type InputElement = HTMLInputElement;
|
|
37
|
+
type InputProps = React.InputHTMLAttributes<HTMLInputElement> & InputVariantsProps;
|
|
38
|
+
|
|
39
|
+
const Input = React.forwardRef<InputElement, InputProps>(({ className, inputSize, ...props }, ref) => {
|
|
40
|
+
return <input type="text" className={inputVariants({ className, inputSize })} ref={ref} {...props} />;
|
|
41
41
|
});
|
|
42
|
+
|
|
42
43
|
Input.displayName = "Input";
|
|
43
44
|
|
|
44
45
|
/* -----------------------------------------------------------------------------
|
|
45
46
|
* Exports
|
|
46
47
|
* -------------------------------------------------------------------------- */
|
|
47
48
|
|
|
48
|
-
export { Input };
|
|
49
|
+
export { Input, type InputProps };
|
package/src/kbd.tsx
CHANGED
|
@@ -6,10 +6,13 @@ import { cn } from "./utils";
|
|
|
6
6
|
* Component: Kbd
|
|
7
7
|
* -------------------------------------------------------------------------- */
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
type KbdElement = HTMLElement;
|
|
10
|
+
|
|
11
|
+
interface KbdProps extends React.HTMLAttributes<HTMLElement> {
|
|
12
|
+
asChild?: boolean;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const Kbd = React.forwardRef<KbdElement, KbdProps>(({ asChild, className, ...props }, ref) => {
|
|
13
16
|
const Comp = asChild ? Slot : "kbd";
|
|
14
17
|
|
|
15
18
|
return (
|
|
@@ -23,10 +26,11 @@ const Kbd = React.forwardRef<
|
|
|
23
26
|
/>
|
|
24
27
|
);
|
|
25
28
|
});
|
|
29
|
+
|
|
26
30
|
Kbd.displayName = "Kbd";
|
|
27
31
|
|
|
28
32
|
/* -----------------------------------------------------------------------------
|
|
29
33
|
* Exports
|
|
30
34
|
* -------------------------------------------------------------------------- */
|
|
31
35
|
|
|
32
|
-
export { Kbd };
|
|
36
|
+
export { Kbd, type KbdProps };
|
package/src/label.tsx
CHANGED
|
@@ -7,10 +7,10 @@ import { cn } from "./utils";
|
|
|
7
7
|
* Component: Label
|
|
8
8
|
* -------------------------------------------------------------------------- */
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
>(({ className, ...props }, ref) => (
|
|
10
|
+
type LabelElement = React.ElementRef<typeof LabelPrimitive.Root>;
|
|
11
|
+
type LabelProps = React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>;
|
|
12
|
+
|
|
13
|
+
const Label = React.forwardRef<LabelElement, LabelProps>(({ className, ...props }, ref) => (
|
|
14
14
|
<LabelPrimitive.Root
|
|
15
15
|
ref={ref}
|
|
16
16
|
className={cn(
|
|
@@ -20,10 +20,11 @@ const Label = React.forwardRef<
|
|
|
20
20
|
{...props}
|
|
21
21
|
/>
|
|
22
22
|
));
|
|
23
|
+
|
|
23
24
|
Label.displayName = LabelPrimitive.Root.displayName;
|
|
24
25
|
|
|
25
26
|
/* -----------------------------------------------------------------------------
|
|
26
27
|
* Exports
|
|
27
28
|
* -------------------------------------------------------------------------- */
|
|
28
29
|
|
|
29
|
-
export { Label };
|
|
30
|
+
export { Label, type LabelProps };
|