@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/separator.tsx
CHANGED
|
@@ -8,31 +8,25 @@ import { cn } from "./utils";
|
|
|
8
8
|
* Component: Separator
|
|
9
9
|
* -------------------------------------------------------------------------- */
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
>(
|
|
15
|
-
(
|
|
16
|
-
{ className, orientation = "horizontal", decorative = true, ...props },
|
|
17
|
-
ref,
|
|
18
|
-
) => (
|
|
11
|
+
type SeparatorElement = React.ElementRef<typeof SeparatorPrimitive.Root>;
|
|
12
|
+
type SeparatorProps = React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>;
|
|
13
|
+
|
|
14
|
+
const Separator = React.forwardRef<SeparatorElement, SeparatorProps>(
|
|
15
|
+
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => (
|
|
19
16
|
<SeparatorPrimitive.Root
|
|
20
17
|
ref={ref}
|
|
21
18
|
decorative={decorative}
|
|
22
19
|
orientation={orientation}
|
|
23
|
-
className={cn(
|
|
24
|
-
"bg-border shrink-0",
|
|
25
|
-
orientation === "horizontal" ? "h-px w-full" : "h-full w-px",
|
|
26
|
-
className,
|
|
27
|
-
)}
|
|
20
|
+
className={cn("bg-border shrink-0", orientation === "horizontal" ? "h-px w-full" : "h-full w-px", className)}
|
|
28
21
|
{...props}
|
|
29
22
|
/>
|
|
30
23
|
),
|
|
31
24
|
);
|
|
25
|
+
|
|
32
26
|
Separator.displayName = SeparatorPrimitive.Root.displayName;
|
|
33
27
|
|
|
34
28
|
/* -----------------------------------------------------------------------------
|
|
35
29
|
* Exports
|
|
36
30
|
* -------------------------------------------------------------------------- */
|
|
37
31
|
|
|
38
|
-
export { Separator };
|
|
32
|
+
export { Separator, type SeparatorProps };
|
package/src/sheet.tsx
CHANGED
|
@@ -27,126 +27,110 @@ const sheetVariants = cva({
|
|
|
27
27
|
},
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
+
type SheetVariantsProps = VariantProps<typeof sheetVariants>;
|
|
31
|
+
|
|
30
32
|
/* -----------------------------------------------------------------------------
|
|
31
33
|
* Component: Sheet
|
|
32
34
|
* -------------------------------------------------------------------------- */
|
|
33
35
|
|
|
36
|
+
type SheetProps = React.ComponentProps<typeof SheetPrimitive.Root>;
|
|
34
37
|
const Sheet = SheetPrimitive.Root;
|
|
35
38
|
|
|
36
39
|
/* -----------------------------------------------------------------------------
|
|
37
40
|
* Component: SheetTrigger
|
|
38
41
|
* -------------------------------------------------------------------------- */
|
|
39
42
|
|
|
43
|
+
type SheetTriggerProps = React.ComponentPropsWithoutRef<typeof SheetPrimitive.Trigger>;
|
|
40
44
|
const SheetTrigger = SheetPrimitive.Trigger;
|
|
41
45
|
|
|
42
46
|
/* -----------------------------------------------------------------------------
|
|
43
47
|
* Component: SheetClose
|
|
44
48
|
* -------------------------------------------------------------------------- */
|
|
45
49
|
|
|
50
|
+
type SheetCloseProps = React.ComponentPropsWithoutRef<typeof SheetPrimitive.Close>;
|
|
46
51
|
const SheetClose = SheetPrimitive.Close;
|
|
47
52
|
|
|
48
53
|
/* -----------------------------------------------------------------------------
|
|
49
54
|
* Component: SheetContent
|
|
50
55
|
* -------------------------------------------------------------------------- */
|
|
51
56
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
<SheetPrimitive.
|
|
58
|
-
|
|
59
|
-
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80",
|
|
60
|
-
)}
|
|
61
|
-
/>
|
|
62
|
-
<SheetPrimitive.Content
|
|
63
|
-
ref={ref}
|
|
64
|
-
className={cn(sheetVariants({ side }), className)}
|
|
65
|
-
{...props}
|
|
66
|
-
>
|
|
67
|
-
{children}
|
|
68
|
-
<SheetPrimitive.Close
|
|
57
|
+
type SheetContentElement = React.ElementRef<typeof SheetPrimitive.Content>;
|
|
58
|
+
type SheetContentProps = React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content> & SheetVariantsProps;
|
|
59
|
+
|
|
60
|
+
const SheetContent = React.forwardRef<SheetContentElement, SheetContentProps>(
|
|
61
|
+
({ side = "right", className, children, ...props }, ref) => (
|
|
62
|
+
<SheetPrimitive.Portal>
|
|
63
|
+
<SheetPrimitive.Overlay
|
|
69
64
|
className={cn(
|
|
70
|
-
"
|
|
65
|
+
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80",
|
|
71
66
|
)}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
67
|
+
/>
|
|
68
|
+
<SheetPrimitive.Content ref={ref} className={cn(sheetVariants({ side }), className)} {...props}>
|
|
69
|
+
{children}
|
|
70
|
+
<SheetPrimitive.Close
|
|
71
|
+
className={cn(
|
|
72
|
+
"data-[state=open]:bg-secondary absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 disabled:pointer-events-none",
|
|
73
|
+
"focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
74
|
+
)}
|
|
75
|
+
>
|
|
76
|
+
<Cross2Icon className="size-4" />
|
|
77
|
+
<span className="sr-only">Close</span>
|
|
78
|
+
</SheetPrimitive.Close>
|
|
79
|
+
</SheetPrimitive.Content>
|
|
80
|
+
</SheetPrimitive.Portal>
|
|
81
|
+
),
|
|
82
|
+
);
|
|
83
|
+
|
|
79
84
|
SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
80
85
|
|
|
81
86
|
/* -----------------------------------------------------------------------------
|
|
82
87
|
* Component: SheetHeader
|
|
83
88
|
* -------------------------------------------------------------------------- */
|
|
84
89
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
return (
|
|
90
|
-
<div
|
|
91
|
-
className={cn(
|
|
92
|
-
"flex flex-col space-y-2 text-center sm:text-left",
|
|
93
|
-
className,
|
|
94
|
-
)}
|
|
95
|
-
{...props}
|
|
96
|
-
/>
|
|
97
|
-
);
|
|
90
|
+
type SheetHeaderProps = React.HTMLAttributes<HTMLDivElement>;
|
|
91
|
+
|
|
92
|
+
function SheetHeader({ className, ...props }: SheetHeaderProps): React.JSX.Element {
|
|
93
|
+
return <div className={cn("flex flex-col space-y-2 text-center sm:text-left", className)} {...props} />;
|
|
98
94
|
}
|
|
99
95
|
|
|
100
96
|
/* -----------------------------------------------------------------------------
|
|
101
97
|
* Component: SheetFooter
|
|
102
98
|
* -------------------------------------------------------------------------- */
|
|
103
99
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
return (
|
|
109
|
-
<div
|
|
110
|
-
className={cn(
|
|
111
|
-
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
112
|
-
className,
|
|
113
|
-
)}
|
|
114
|
-
{...props}
|
|
115
|
-
/>
|
|
116
|
-
);
|
|
100
|
+
type SheetFooterProps = React.HTMLAttributes<HTMLDivElement>;
|
|
101
|
+
|
|
102
|
+
function SheetFooter({ className, ...props }: SheetFooterProps): React.JSX.Element {
|
|
103
|
+
return <div className={cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className)} {...props} />;
|
|
117
104
|
}
|
|
105
|
+
|
|
118
106
|
SheetFooter.displayName = "SheetFooter";
|
|
119
107
|
|
|
120
108
|
/* -----------------------------------------------------------------------------
|
|
121
109
|
* Component: SheetTitle
|
|
122
110
|
* -------------------------------------------------------------------------- */
|
|
123
111
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
>(({ className, ...props }, ref) => (
|
|
128
|
-
<SheetPrimitive.Title
|
|
129
|
-
ref={ref}
|
|
130
|
-
className={cn("text-foreground text-lg font-semibold", className)}
|
|
131
|
-
{...props}
|
|
132
|
-
/>
|
|
112
|
+
type SheetTitleElement = React.ElementRef<typeof SheetPrimitive.Title>;
|
|
113
|
+
type SheetTitleProps = React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>;
|
|
114
|
+
|
|
115
|
+
const SheetTitle = React.forwardRef<SheetTitleElement, SheetTitleProps>(({ className, ...props }, ref) => (
|
|
116
|
+
<SheetPrimitive.Title ref={ref} className={cn("text-foreground text-lg font-semibold", className)} {...props} />
|
|
133
117
|
));
|
|
118
|
+
|
|
134
119
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
135
120
|
|
|
136
121
|
/* -----------------------------------------------------------------------------
|
|
137
122
|
* Component: SheetDescription
|
|
138
123
|
* -------------------------------------------------------------------------- */
|
|
139
124
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
ref={ref}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
));
|
|
125
|
+
type SheetDescriptionElement = React.ElementRef<typeof SheetPrimitive.Description>;
|
|
126
|
+
type SheetDescriptionProps = React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>;
|
|
127
|
+
|
|
128
|
+
const SheetDescription = React.forwardRef<SheetDescriptionElement, SheetDescriptionProps>(
|
|
129
|
+
({ className, ...props }, ref) => (
|
|
130
|
+
<SheetPrimitive.Description ref={ref} className={cn("text-muted-foreground text-sm", className)} {...props} />
|
|
131
|
+
),
|
|
132
|
+
);
|
|
133
|
+
|
|
150
134
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
151
135
|
|
|
152
136
|
/* -----------------------------------------------------------------------------
|
|
@@ -162,4 +146,12 @@ export {
|
|
|
162
146
|
SheetFooter,
|
|
163
147
|
SheetTitle,
|
|
164
148
|
SheetDescription,
|
|
149
|
+
type SheetProps,
|
|
150
|
+
type SheetTriggerProps,
|
|
151
|
+
type SheetCloseProps,
|
|
152
|
+
type SheetContentProps,
|
|
153
|
+
type SheetHeaderProps,
|
|
154
|
+
type SheetFooterProps,
|
|
155
|
+
type SheetTitleProps,
|
|
156
|
+
type SheetDescriptionProps,
|
|
165
157
|
};
|
package/src/skeleton.tsx
CHANGED
|
@@ -5,20 +5,14 @@ import { cn } from "./utils";
|
|
|
5
5
|
* Component: Skeleton
|
|
6
6
|
* -------------------------------------------------------------------------- */
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return (
|
|
13
|
-
<div
|
|
14
|
-
className={cn("bg-primary/10 animate-pulse rounded-md", className)}
|
|
15
|
-
{...props}
|
|
16
|
-
/>
|
|
17
|
-
);
|
|
8
|
+
type SkeletonProps = React.HTMLAttributes<HTMLDivElement>;
|
|
9
|
+
|
|
10
|
+
function Skeleton({ className, ...props }: SkeletonProps): React.JSX.Element {
|
|
11
|
+
return <div className={cn("bg-primary/10 animate-pulse rounded-md", className)} {...props} />;
|
|
18
12
|
}
|
|
19
13
|
|
|
20
14
|
/* -----------------------------------------------------------------------------
|
|
21
15
|
* Exports
|
|
22
16
|
* -------------------------------------------------------------------------- */
|
|
23
17
|
|
|
24
|
-
export { Skeleton };
|
|
18
|
+
export { Skeleton, type SkeletonProps };
|
package/src/slider.tsx
CHANGED
|
@@ -8,28 +8,31 @@ import { cn } from "./utils";
|
|
|
8
8
|
* Component: Slider
|
|
9
9
|
* -------------------------------------------------------------------------- */
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
>(({ className, ...props }, ref) => (
|
|
11
|
+
type SliderElement = React.ElementRef<typeof SliderPrimitive.Root>;
|
|
12
|
+
type SliderProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>;
|
|
13
|
+
|
|
14
|
+
const Slider = React.forwardRef<SliderElement, SliderProps>(({ className, ...props }, ref) => (
|
|
15
15
|
<SliderPrimitive.Root
|
|
16
16
|
ref={ref}
|
|
17
|
-
className={cn(
|
|
18
|
-
"relative flex w-full touch-none select-none items-center",
|
|
19
|
-
className,
|
|
20
|
-
)}
|
|
17
|
+
className={cn("relative flex w-full touch-none select-none items-center", className)}
|
|
21
18
|
{...props}
|
|
22
19
|
>
|
|
23
20
|
<SliderPrimitive.Track className="bg-primary/20 relative h-1.5 w-full grow overflow-hidden rounded-full">
|
|
24
21
|
<SliderPrimitive.Range className="bg-primary absolute h-full" />
|
|
25
22
|
</SliderPrimitive.Track>
|
|
26
|
-
<SliderPrimitive.Thumb
|
|
23
|
+
<SliderPrimitive.Thumb
|
|
24
|
+
className={cn(
|
|
25
|
+
"border-primary/50 bg-background block size-4 rounded-full border shadow transition-colors disabled:pointer-events-none disabled:opacity-50",
|
|
26
|
+
"focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
27
|
+
)}
|
|
28
|
+
/>
|
|
27
29
|
</SliderPrimitive.Root>
|
|
28
30
|
));
|
|
31
|
+
|
|
29
32
|
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
30
33
|
|
|
31
34
|
/* -----------------------------------------------------------------------------
|
|
32
35
|
* Exports
|
|
33
36
|
* -------------------------------------------------------------------------- */
|
|
34
37
|
|
|
35
|
-
export { Slider };
|
|
38
|
+
export { Slider, type SliderProps };
|
package/src/sonner.tsx
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { useTheme } from "next-themes";
|
|
5
5
|
import { toast, Toaster as Sonner } from "sonner";
|
|
6
|
-
import { cn } from "./utils";
|
|
7
6
|
|
|
8
7
|
/* -----------------------------------------------------------------------------
|
|
9
8
|
* Component: Sonner
|
|
@@ -21,14 +20,11 @@ function Toaster({ ...props }: ToasterProps): React.JSX.Element {
|
|
|
21
20
|
className="toaster group"
|
|
22
21
|
toastOptions={{
|
|
23
22
|
classNames: {
|
|
24
|
-
toast:
|
|
23
|
+
toast:
|
|
25
24
|
"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
|
|
26
|
-
),
|
|
27
25
|
description: "group-[.toast]:text-muted-foreground",
|
|
28
|
-
actionButton:
|
|
29
|
-
|
|
30
|
-
cancelButton:
|
|
31
|
-
"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground",
|
|
26
|
+
actionButton: "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
|
|
27
|
+
cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground",
|
|
32
28
|
},
|
|
33
29
|
}}
|
|
34
30
|
{...props}
|
|
@@ -40,4 +36,4 @@ function Toaster({ ...props }: ToasterProps): React.JSX.Element {
|
|
|
40
36
|
* Exports
|
|
41
37
|
* -------------------------------------------------------------------------- */
|
|
42
38
|
|
|
43
|
-
export { Toaster, toast };
|
|
39
|
+
export { Toaster, toast, type ToasterProps };
|
package/src/spinner.tsx
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { cn } from "./utils";
|
|
3
|
+
|
|
4
|
+
/* -----------------------------------------------------------------------------
|
|
5
|
+
* Component: Spinner
|
|
6
|
+
* -------------------------------------------------------------------------- */
|
|
7
|
+
|
|
8
|
+
const spinnerCount = 8;
|
|
9
|
+
|
|
10
|
+
type SpinnerElement = HTMLSpanElement;
|
|
11
|
+
|
|
12
|
+
interface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
13
|
+
loading?: boolean;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const Spinner = React.forwardRef<SpinnerElement, SpinnerProps>(
|
|
17
|
+
({ className, loading = true, children, ...props }, ref) => {
|
|
18
|
+
if (!loading) {
|
|
19
|
+
return children;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const spinner = (
|
|
23
|
+
<span
|
|
24
|
+
ref={ref}
|
|
25
|
+
className={cn("relative flex size-4 items-center justify-center opacity-60", className)}
|
|
26
|
+
{...props}
|
|
27
|
+
>
|
|
28
|
+
{Array.from({ length: spinnerCount }, (_, i) => (
|
|
29
|
+
<span
|
|
30
|
+
key={i}
|
|
31
|
+
className={cn(
|
|
32
|
+
"absolute h-full rotate-[var(--spinner-rotate)]",
|
|
33
|
+
"before:fade-out-25 before:animate-out before:repeat-infinite before:block before:h-1/3 before:w-full before:rounded-full before:bg-current before:[animation-delay:var(--spinner-delay)] before:[animation-duration:var(--spinner-duration)]",
|
|
34
|
+
)}
|
|
35
|
+
style={
|
|
36
|
+
{
|
|
37
|
+
width: `${(100 / spinnerCount).toString()}%`,
|
|
38
|
+
"--spinner-delay": `-${((spinnerCount - i) * 100).toString()}ms`,
|
|
39
|
+
"--spinner-rotate": `${((360 / spinnerCount) * i).toString()}deg`,
|
|
40
|
+
"--spinner-duration": `${(spinnerCount * 100).toString()}ms`,
|
|
41
|
+
} as React.CSSProperties
|
|
42
|
+
}
|
|
43
|
+
/>
|
|
44
|
+
))}
|
|
45
|
+
</span>
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
if (children === undefined) {
|
|
49
|
+
return spinner;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return (
|
|
53
|
+
<span className="relative">
|
|
54
|
+
<span
|
|
55
|
+
aria-hidden
|
|
56
|
+
className="invisible contents"
|
|
57
|
+
// Workaround to use `inert` until https://github.com/facebook/react/pull/24730 is merged.
|
|
58
|
+
{...{ inert: "" }}
|
|
59
|
+
>
|
|
60
|
+
{children}
|
|
61
|
+
</span>
|
|
62
|
+
|
|
63
|
+
<span className="absolute inset-0 flex items-center justify-center">{spinner}</span>
|
|
64
|
+
</span>
|
|
65
|
+
);
|
|
66
|
+
},
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
Spinner.displayName = "Spinner";
|
|
70
|
+
|
|
71
|
+
/* -----------------------------------------------------------------------------
|
|
72
|
+
* Exports
|
|
73
|
+
* -------------------------------------------------------------------------- */
|
|
74
|
+
|
|
75
|
+
export { Spinner, type SpinnerProps };
|
package/src/strong.tsx
CHANGED
|
@@ -5,18 +5,22 @@ import { Slot } from "@radix-ui/react-slot";
|
|
|
5
5
|
* Component: Strong
|
|
6
6
|
* -------------------------------------------------------------------------- */
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
type StrongElement = HTMLElement;
|
|
9
|
+
|
|
10
|
+
interface StrongProps extends React.HTMLAttributes<HTMLElement> {
|
|
11
|
+
asChild?: boolean;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const Strong = React.forwardRef<StrongElement, StrongProps>(({ asChild, ...props }, ref) => {
|
|
12
15
|
const Comp = asChild ? Slot : "strong";
|
|
13
16
|
|
|
14
17
|
return <Comp ref={ref} {...props} />;
|
|
15
18
|
});
|
|
19
|
+
|
|
16
20
|
Strong.displayName = "Strong";
|
|
17
21
|
|
|
18
22
|
/* -----------------------------------------------------------------------------
|
|
19
23
|
* Exports
|
|
20
24
|
* -------------------------------------------------------------------------- */
|
|
21
25
|
|
|
22
|
-
export { Strong };
|
|
26
|
+
export { Strong, type StrongProps };
|
package/src/switch.tsx
CHANGED
|
@@ -8,13 +8,14 @@ import { cn } from "./utils";
|
|
|
8
8
|
* Component: Switch
|
|
9
9
|
* -------------------------------------------------------------------------- */
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
>(({ className, ...props }, ref) => (
|
|
11
|
+
type SwitchElement = React.ElementRef<typeof SwitchPrimitives.Root>;
|
|
12
|
+
type SwitchProps = React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>;
|
|
13
|
+
|
|
14
|
+
const Switch = React.forwardRef<SwitchElement, SwitchProps>(({ className, ...props }, ref) => (
|
|
15
15
|
<SwitchPrimitives.Root
|
|
16
16
|
className={cn(
|
|
17
|
-
"
|
|
17
|
+
"data-[state=checked]:bg-primary data-[state=unchecked]:bg-input peer inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent shadow-sm transition-colors disabled:cursor-not-allowed disabled:opacity-50",
|
|
18
|
+
"focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
18
19
|
className,
|
|
19
20
|
)}
|
|
20
21
|
{...props}
|
|
@@ -23,10 +24,11 @@ const Switch = React.forwardRef<
|
|
|
23
24
|
<SwitchPrimitives.Thumb className="bg-background pointer-events-none block size-4 rounded-full shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0" />
|
|
24
25
|
</SwitchPrimitives.Root>
|
|
25
26
|
));
|
|
27
|
+
|
|
26
28
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
27
29
|
|
|
28
30
|
/* -----------------------------------------------------------------------------
|
|
29
31
|
* Exports
|
|
30
32
|
* -------------------------------------------------------------------------- */
|
|
31
33
|
|
|
32
|
-
export { Switch };
|
|
34
|
+
export { Switch, type SwitchProps };
|
package/src/table.tsx
CHANGED
|
@@ -5,94 +5,81 @@ import { cn } from "./utils";
|
|
|
5
5
|
* Component: Table
|
|
6
6
|
* -------------------------------------------------------------------------- */
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
>(({ className, ...props }, ref) => (
|
|
8
|
+
type TableElement = HTMLTableElement;
|
|
9
|
+
type TableProps = React.HTMLAttributes<HTMLTableElement>;
|
|
10
|
+
|
|
11
|
+
const Table = React.forwardRef<TableElement, TableProps>(({ className, ...props }, ref) => (
|
|
12
12
|
<div className="relative w-full overflow-auto">
|
|
13
|
-
<table
|
|
14
|
-
ref={ref}
|
|
15
|
-
className={cn("w-full caption-bottom text-sm", className)}
|
|
16
|
-
{...props}
|
|
17
|
-
/>
|
|
13
|
+
<table ref={ref} className={cn("w-full caption-bottom text-sm", className)} {...props} />
|
|
18
14
|
</div>
|
|
19
15
|
));
|
|
16
|
+
|
|
20
17
|
Table.displayName = "Table";
|
|
21
18
|
|
|
22
19
|
/* -----------------------------------------------------------------------------
|
|
23
20
|
* Component: TableHeader
|
|
24
21
|
* -------------------------------------------------------------------------- */
|
|
25
22
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
>(({ className, ...props }, ref) => (
|
|
23
|
+
type TableHeaderElement = HTMLTableSectionElement;
|
|
24
|
+
type TableHeaderProps = React.HTMLAttributes<HTMLTableSectionElement>;
|
|
25
|
+
|
|
26
|
+
const TableHeader = React.forwardRef<TableHeaderElement, TableHeaderProps>(({ className, ...props }, ref) => (
|
|
30
27
|
<thead ref={ref} className={cn("[&_tr]:border-b", className)} {...props} />
|
|
31
28
|
));
|
|
29
|
+
|
|
32
30
|
TableHeader.displayName = "TableHeader";
|
|
33
31
|
|
|
34
32
|
/* -----------------------------------------------------------------------------
|
|
35
33
|
* Component: TableBody
|
|
36
34
|
* -------------------------------------------------------------------------- */
|
|
37
35
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
>(({ className, ...props }, ref) => (
|
|
42
|
-
<tbody
|
|
43
|
-
ref={ref}
|
|
44
|
-
className={cn("[&_tr:last-child]:border-0", className)}
|
|
45
|
-
{...props}
|
|
46
|
-
/>
|
|
36
|
+
type TableBodyElement = HTMLTableSectionElement;
|
|
37
|
+
type TableBodyProps = React.HTMLAttributes<HTMLTableSectionElement>;
|
|
38
|
+
|
|
39
|
+
const TableBody = React.forwardRef<TableBodyElement, TableBodyProps>(({ className, ...props }, ref) => (
|
|
40
|
+
<tbody ref={ref} className={cn("[&_tr:last-child]:border-0", className)} {...props} />
|
|
47
41
|
));
|
|
42
|
+
|
|
48
43
|
TableBody.displayName = "TableBody";
|
|
49
44
|
|
|
50
45
|
/* -----------------------------------------------------------------------------
|
|
51
46
|
* Component: TableFooter
|
|
52
47
|
* -------------------------------------------------------------------------- */
|
|
53
48
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
>(({ className, ...props }, ref) => (
|
|
58
|
-
<tfoot
|
|
59
|
-
ref={ref}
|
|
60
|
-
className={cn(
|
|
61
|
-
"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
|
|
62
|
-
className,
|
|
63
|
-
)}
|
|
64
|
-
{...props}
|
|
65
|
-
/>
|
|
49
|
+
type TableFooterElement = HTMLTableSectionElement;
|
|
50
|
+
type TableFooterProps = React.HTMLAttributes<HTMLTableSectionElement>;
|
|
51
|
+
|
|
52
|
+
const TableFooter = React.forwardRef<TableFooterElement, TableFooterProps>(({ className, ...props }, ref) => (
|
|
53
|
+
<tfoot ref={ref} className={cn("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", className)} {...props} />
|
|
66
54
|
));
|
|
55
|
+
|
|
67
56
|
TableFooter.displayName = "TableFooter";
|
|
68
57
|
|
|
69
58
|
/* -----------------------------------------------------------------------------
|
|
70
59
|
* Component: TableRow
|
|
71
60
|
* -------------------------------------------------------------------------- */
|
|
72
61
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
>(({ className, ...props }, ref) => (
|
|
62
|
+
type TableRowElement = HTMLTableRowElement;
|
|
63
|
+
type TableRowProps = React.HTMLAttributes<HTMLTableRowElement>;
|
|
64
|
+
|
|
65
|
+
const TableRow = React.forwardRef<TableRowElement, TableRowProps>(({ className, ...props }, ref) => (
|
|
77
66
|
<tr
|
|
78
67
|
ref={ref}
|
|
79
|
-
className={cn(
|
|
80
|
-
"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
|
|
81
|
-
className,
|
|
82
|
-
)}
|
|
68
|
+
className={cn("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", className)}
|
|
83
69
|
{...props}
|
|
84
70
|
/>
|
|
85
71
|
));
|
|
72
|
+
|
|
86
73
|
TableRow.displayName = "TableRow";
|
|
87
74
|
|
|
88
75
|
/* -----------------------------------------------------------------------------
|
|
89
76
|
* Component: TableHead
|
|
90
77
|
* -------------------------------------------------------------------------- */
|
|
91
78
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
>(({ className, ...props }, ref) => (
|
|
79
|
+
type TableHeadElement = HTMLTableCellElement;
|
|
80
|
+
type TableHeadProps = React.ThHTMLAttributes<HTMLTableCellElement>;
|
|
81
|
+
|
|
82
|
+
const TableHead = React.forwardRef<TableHeadElement, TableHeadProps>(({ className, ...props }, ref) => (
|
|
96
83
|
<th
|
|
97
84
|
ref={ref}
|
|
98
85
|
className={cn(
|
|
@@ -102,38 +89,33 @@ const TableHead = React.forwardRef<
|
|
|
102
89
|
{...props}
|
|
103
90
|
/>
|
|
104
91
|
));
|
|
92
|
+
|
|
105
93
|
TableHead.displayName = "TableHead";
|
|
106
94
|
|
|
107
95
|
/* -----------------------------------------------------------------------------
|
|
108
96
|
* Component: TableCell
|
|
109
97
|
* -------------------------------------------------------------------------- */
|
|
110
98
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
>(({ className, ...props }, ref) => (
|
|
115
|
-
<td
|
|
116
|
-
ref={ref}
|
|
117
|
-
className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)}
|
|
118
|
-
{...props}
|
|
119
|
-
/>
|
|
99
|
+
type TableCellElement = HTMLTableCellElement;
|
|
100
|
+
type TableCellProps = React.TdHTMLAttributes<HTMLTableCellElement>;
|
|
101
|
+
|
|
102
|
+
const TableCell = React.forwardRef<TableCellElement, TableCellProps>(({ className, ...props }, ref) => (
|
|
103
|
+
<td ref={ref} className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)} {...props} />
|
|
120
104
|
));
|
|
105
|
+
|
|
121
106
|
TableCell.displayName = "TableCell";
|
|
122
107
|
|
|
123
108
|
/* -----------------------------------------------------------------------------
|
|
124
109
|
* Component: TableCaption
|
|
125
110
|
* -------------------------------------------------------------------------- */
|
|
126
111
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
>(({ className, ...props }, ref) => (
|
|
131
|
-
<caption
|
|
132
|
-
ref={ref}
|
|
133
|
-
className={cn("text-muted-foreground mt-4 text-sm", className)}
|
|
134
|
-
{...props}
|
|
135
|
-
/>
|
|
112
|
+
type TableCaptionElement = HTMLTableCaptionElement;
|
|
113
|
+
type TableCaptionProps = React.HTMLAttributes<HTMLTableCaptionElement>;
|
|
114
|
+
|
|
115
|
+
const TableCaption = React.forwardRef<TableCaptionElement, TableCaptionProps>(({ className, ...props }, ref) => (
|
|
116
|
+
<caption ref={ref} className={cn("text-muted-foreground mt-4 text-sm", className)} {...props} />
|
|
136
117
|
));
|
|
118
|
+
|
|
137
119
|
TableCaption.displayName = "TableCaption";
|
|
138
120
|
|
|
139
121
|
/* -----------------------------------------------------------------------------
|
|
@@ -149,4 +131,12 @@ export {
|
|
|
149
131
|
TableRow,
|
|
150
132
|
TableCell,
|
|
151
133
|
TableCaption,
|
|
134
|
+
type TableProps,
|
|
135
|
+
type TableHeaderProps,
|
|
136
|
+
type TableBodyProps,
|
|
137
|
+
type TableFooterProps,
|
|
138
|
+
type TableHeadProps,
|
|
139
|
+
type TableRowProps,
|
|
140
|
+
type TableCellProps,
|
|
141
|
+
type TableCaptionProps,
|
|
152
142
|
};
|