@codefast/ui 0.0.40 → 0.0.42
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/{chunk-EVN2IB57.js → chunk-6EAQQBWG.js} +2 -2
- package/dist/chunk-6EAQQBWG.js.map +1 -0
- package/dist/{chunk-YR36SVVG.mjs → chunk-7HJV22OF.mjs} +1 -1
- package/dist/chunk-7HJV22OF.mjs.map +1 -0
- package/dist/{chunk-5WJB3UAO.js → chunk-CERSQE5J.js} +1 -1
- package/dist/chunk-CERSQE5J.js.map +1 -0
- package/dist/{chunk-UPZHCTQV.js → chunk-ELWITZPX.js} +2 -2
- package/dist/chunk-ELWITZPX.js.map +1 -0
- package/dist/{chunk-WLMYX3C7.mjs → chunk-GDMHMSJ2.mjs} +2 -2
- package/dist/chunk-GDMHMSJ2.mjs.map +1 -0
- package/dist/{chunk-UJJZZCAC.js → chunk-HQ4AUOQM.js} +1 -1
- package/dist/{chunk-UJJZZCAC.js.map → chunk-HQ4AUOQM.js.map} +1 -1
- package/dist/{chunk-HLXU3SQI.mjs → chunk-HWEFQSTC.mjs} +1 -1
- package/dist/chunk-HWEFQSTC.mjs.map +1 -0
- package/dist/{chunk-JTAXNFUM.mjs → chunk-HX5YKP4E.mjs} +2 -2
- package/dist/chunk-HX5YKP4E.mjs.map +1 -0
- package/dist/{chunk-PLX35IKX.mjs → chunk-I6QCJDIF.mjs} +1 -1
- package/dist/chunk-I6QCJDIF.mjs.map +1 -0
- package/dist/{chunk-466PAJCA.mjs → chunk-LEUB3C3L.mjs} +1 -1
- package/dist/chunk-LEUB3C3L.mjs.map +1 -0
- package/dist/{chunk-KJ77RPJ4.mjs → chunk-M5UKNISJ.mjs} +2 -2
- package/dist/chunk-M5UKNISJ.mjs.map +1 -0
- package/dist/{chunk-EYERINEJ.js → chunk-MZJL73RI.js} +1 -1
- package/dist/chunk-MZJL73RI.js.map +1 -0
- package/dist/{chunk-JCMRDCFT.js → chunk-NH6X3FON.js} +1 -1
- package/dist/{chunk-JCMRDCFT.js.map → chunk-NH6X3FON.js.map} +1 -1
- package/dist/{chunk-UDNWQQ3I.js → chunk-NSK74YTM.js} +2 -2
- package/dist/chunk-NSK74YTM.js.map +1 -0
- package/dist/{chunk-N6QGG4WS.mjs → chunk-P5AV3QU7.mjs} +2 -2
- package/dist/chunk-P5AV3QU7.mjs.map +1 -0
- package/dist/{chunk-GRQGCS7U.mjs → chunk-PWF46YXQ.mjs} +2 -2
- package/dist/chunk-PWF46YXQ.mjs.map +1 -0
- package/dist/{chunk-ZWGC5M4G.js → chunk-SCJ3W2VO.js} +2 -2
- package/dist/chunk-SCJ3W2VO.js.map +1 -0
- package/dist/{chunk-MSHUAEXI.js → chunk-SCPFGC2X.js} +2 -2
- package/dist/chunk-SCPFGC2X.js.map +1 -0
- package/dist/{chunk-JIHHUXA5.js → chunk-VXPAGNPJ.js} +2 -2
- package/dist/chunk-VXPAGNPJ.js.map +1 -0
- package/dist/{chunk-6B2PU2GG.mjs → chunk-WL65TBKJ.mjs} +2 -2
- package/dist/chunk-WL65TBKJ.mjs.map +1 -0
- package/dist/{chunk-4TJBMO2Y.mjs → chunk-WYYOCZNI.mjs} +2 -2
- package/dist/chunk-WYYOCZNI.mjs.map +1 -0
- package/dist/{chunk-FEE6PNWV.js → chunk-XM4Y2S5E.js} +2 -2
- package/dist/chunk-XM4Y2S5E.js.map +1 -0
- package/dist/{chunk-7PJR4WFR.mjs → chunk-ZEYIBYZP.mjs} +2 -2
- package/dist/chunk-ZEYIBYZP.mjs.map +1 -0
- package/dist/{chunk-AEWLL6A2.js → chunk-ZTEJNUH6.js} +2 -2
- package/dist/chunk-ZTEJNUH6.js.map +1 -0
- package/dist/lib/utils.js +1 -1
- package/dist/lib/utils.mjs +1 -1
- package/dist/plugin/animate.plugin.js +1 -1
- package/dist/plugin/animate.plugin.mjs +1 -1
- package/dist/plugin/base.plugin.js +1 -1
- package/dist/plugin/base.plugin.mjs +1 -1
- package/dist/plugin/perspective.plugin.js +1 -1
- package/dist/plugin/perspective.plugin.mjs +1 -1
- package/dist/react/accordion.js +1 -1
- package/dist/react/accordion.js.map +1 -1
- package/dist/react/accordion.mjs +1 -1
- package/dist/react/accordion.mjs.map +1 -1
- package/dist/react/alert-dialog.js +1 -1
- package/dist/react/alert-dialog.js.map +1 -1
- package/dist/react/alert-dialog.mjs +1 -1
- package/dist/react/alert-dialog.mjs.map +1 -1
- package/dist/react/alert.js +1 -1
- package/dist/react/alert.js.map +1 -1
- package/dist/react/alert.mjs +1 -1
- package/dist/react/alert.mjs.map +1 -1
- package/dist/react/aspect-ratio.js.map +1 -1
- package/dist/react/aspect-ratio.mjs.map +1 -1
- package/dist/react/avatar.js +1 -1
- package/dist/react/avatar.js.map +1 -1
- package/dist/react/avatar.mjs +1 -1
- package/dist/react/avatar.mjs.map +1 -1
- package/dist/react/badge.js +1 -1
- package/dist/react/badge.js.map +1 -1
- package/dist/react/badge.mjs +1 -1
- package/dist/react/badge.mjs.map +1 -1
- package/dist/react/blockquote.js.map +1 -1
- package/dist/react/blockquote.mjs.map +1 -1
- package/dist/react/box.d.mts +2 -2
- package/dist/react/box.d.ts +2 -2
- package/dist/react/box.js.map +1 -1
- package/dist/react/box.mjs.map +1 -1
- package/dist/react/breadcrumb.js +1 -1
- package/dist/react/breadcrumb.js.map +1 -1
- package/dist/react/breadcrumb.mjs +1 -1
- package/dist/react/breadcrumb.mjs.map +1 -1
- package/dist/react/button.js +1 -1
- package/dist/react/button.mjs +1 -1
- package/dist/react/calendar.js +1 -1
- package/dist/react/calendar.js.map +1 -1
- package/dist/react/calendar.mjs +1 -1
- package/dist/react/calendar.mjs.map +1 -1
- package/dist/react/card.js +1 -1
- package/dist/react/card.js.map +1 -1
- package/dist/react/card.mjs +1 -1
- package/dist/react/card.mjs.map +1 -1
- package/dist/react/carousel.d.mts +1 -1
- package/dist/react/carousel.d.ts +1 -1
- package/dist/react/carousel.js +1 -1
- package/dist/react/carousel.js.map +1 -1
- package/dist/react/carousel.mjs +1 -1
- package/dist/react/carousel.mjs.map +1 -1
- package/dist/react/checkbox-cards.js +1 -1
- package/dist/react/checkbox-cards.js.map +1 -1
- package/dist/react/checkbox-cards.mjs +1 -1
- package/dist/react/checkbox-cards.mjs.map +1 -1
- package/dist/react/checkbox-group.js +1 -1
- package/dist/react/checkbox-group.js.map +1 -1
- package/dist/react/checkbox-group.mjs +1 -1
- package/dist/react/checkbox-group.mjs.map +1 -1
- package/dist/react/checkbox-group.primitive.d.mts +8 -8
- package/dist/react/checkbox-group.primitive.d.ts +8 -8
- package/dist/react/checkbox-group.primitive.js +1 -1
- package/dist/react/checkbox-group.primitive.mjs +1 -1
- package/dist/react/checkbox.js +1 -1
- package/dist/react/checkbox.js.map +1 -1
- package/dist/react/checkbox.mjs +1 -1
- package/dist/react/checkbox.mjs.map +1 -1
- package/dist/react/code.js.map +1 -1
- package/dist/react/code.mjs.map +1 -1
- package/dist/react/collapsible.js +1 -1
- package/dist/react/collapsible.js.map +1 -1
- package/dist/react/collapsible.mjs +1 -1
- package/dist/react/collapsible.mjs.map +1 -1
- package/dist/react/command.js +1 -1
- package/dist/react/command.js.map +1 -1
- package/dist/react/command.mjs +1 -1
- package/dist/react/command.mjs.map +1 -1
- package/dist/react/container.js +1 -1
- package/dist/react/container.js.map +1 -1
- package/dist/react/container.mjs +1 -1
- package/dist/react/container.mjs.map +1 -1
- package/dist/react/context-menu.js +1 -1
- package/dist/react/context-menu.js.map +1 -1
- package/dist/react/context-menu.mjs +1 -1
- package/dist/react/context-menu.mjs.map +1 -1
- package/dist/react/data-table.d.mts +1 -1
- package/dist/react/data-table.d.ts +1 -1
- package/dist/react/data-table.js +1 -1
- package/dist/react/data-table.js.map +1 -1
- package/dist/react/data-table.mjs +1 -1
- package/dist/react/data-table.mjs.map +1 -1
- package/dist/react/dialog.js +1 -1
- package/dist/react/dialog.mjs +1 -1
- package/dist/react/drawer.js +1 -1
- package/dist/react/drawer.js.map +1 -1
- package/dist/react/drawer.mjs +1 -1
- package/dist/react/drawer.mjs.map +1 -1
- package/dist/react/dropdown-menu.js +1 -1
- package/dist/react/dropdown-menu.mjs +1 -1
- package/dist/react/em.js.map +1 -1
- package/dist/react/em.mjs.map +1 -1
- package/dist/react/form.js +1 -1
- package/dist/react/form.js.map +1 -1
- package/dist/react/form.mjs +1 -1
- package/dist/react/form.mjs.map +1 -1
- package/dist/react/heading.d.mts +1 -1
- package/dist/react/heading.d.ts +1 -1
- package/dist/react/heading.js.map +1 -1
- package/dist/react/heading.mjs.map +1 -1
- package/dist/react/hover-card.js +1 -1
- package/dist/react/hover-card.js.map +1 -1
- package/dist/react/hover-card.mjs +1 -1
- package/dist/react/hover-card.mjs.map +1 -1
- package/dist/react/input-otp.js +1 -1
- package/dist/react/input-otp.js.map +1 -1
- package/dist/react/input-otp.mjs +1 -1
- package/dist/react/input-otp.mjs.map +1 -1
- package/dist/react/input.js +1 -1
- package/dist/react/input.js.map +1 -1
- package/dist/react/input.mjs +1 -1
- package/dist/react/input.mjs.map +1 -1
- package/dist/react/kbd.js +1 -1
- package/dist/react/kbd.js.map +1 -1
- package/dist/react/kbd.mjs +1 -1
- package/dist/react/kbd.mjs.map +1 -1
- package/dist/react/label.js +1 -1
- package/dist/react/label.mjs +1 -1
- package/dist/react/menubar.js +1 -1
- package/dist/react/menubar.js.map +1 -1
- package/dist/react/menubar.mjs +1 -1
- package/dist/react/menubar.mjs.map +1 -1
- package/dist/react/navigation-menu.js +1 -1
- package/dist/react/navigation-menu.js.map +1 -1
- package/dist/react/navigation-menu.mjs +1 -1
- package/dist/react/navigation-menu.mjs.map +1 -1
- package/dist/react/pagination.d.mts +1 -1
- package/dist/react/pagination.d.ts +1 -1
- package/dist/react/pagination.js +1 -1
- package/dist/react/pagination.js.map +1 -1
- package/dist/react/pagination.mjs +1 -1
- package/dist/react/pagination.mjs.map +1 -1
- package/dist/react/popover.js +1 -1
- package/dist/react/popover.js.map +1 -1
- package/dist/react/popover.mjs +1 -1
- package/dist/react/popover.mjs.map +1 -1
- package/dist/react/pre.js.map +1 -1
- package/dist/react/pre.mjs.map +1 -1
- package/dist/react/progress.js +1 -1
- package/dist/react/progress.js.map +1 -1
- package/dist/react/progress.mjs +1 -1
- package/dist/react/progress.mjs.map +1 -1
- package/dist/react/quote.js.map +1 -1
- package/dist/react/quote.mjs.map +1 -1
- package/dist/react/radio-cards.js +1 -1
- package/dist/react/radio-cards.js.map +1 -1
- package/dist/react/radio-cards.mjs +1 -1
- package/dist/react/radio-cards.mjs.map +1 -1
- package/dist/react/radio-group.js +1 -1
- package/dist/react/radio-group.js.map +1 -1
- package/dist/react/radio-group.mjs +1 -1
- package/dist/react/radio-group.mjs.map +1 -1
- package/dist/react/radio.js +1 -1
- package/dist/react/radio.js.map +1 -1
- package/dist/react/radio.mjs +1 -1
- package/dist/react/radio.mjs.map +1 -1
- package/dist/react/resizable.js +1 -1
- package/dist/react/resizable.js.map +1 -1
- package/dist/react/resizable.mjs +1 -1
- package/dist/react/resizable.mjs.map +1 -1
- package/dist/react/scroll-area.js +1 -1
- package/dist/react/scroll-area.js.map +1 -1
- package/dist/react/scroll-area.mjs +1 -1
- package/dist/react/scroll-area.mjs.map +1 -1
- package/dist/react/section.js.map +1 -1
- package/dist/react/section.mjs.map +1 -1
- package/dist/react/select.js +1 -1
- package/dist/react/select.mjs +1 -1
- package/dist/react/separator.js +1 -1
- package/dist/react/separator.js.map +1 -1
- package/dist/react/separator.mjs +1 -1
- package/dist/react/separator.mjs.map +1 -1
- package/dist/react/sheet.js +1 -1
- package/dist/react/sheet.js.map +1 -1
- package/dist/react/sheet.mjs +1 -1
- package/dist/react/sheet.mjs.map +1 -1
- package/dist/react/skeleton.js +1 -1
- package/dist/react/skeleton.js.map +1 -1
- package/dist/react/skeleton.mjs +1 -1
- package/dist/react/skeleton.mjs.map +1 -1
- package/dist/react/slider.js +1 -1
- package/dist/react/slider.js.map +1 -1
- package/dist/react/slider.mjs +1 -1
- package/dist/react/slider.mjs.map +1 -1
- package/dist/react/sonner.js.map +1 -1
- package/dist/react/sonner.mjs.map +1 -1
- package/dist/react/spinner.js +1 -1
- package/dist/react/spinner.mjs +1 -1
- package/dist/react/strong.js.map +1 -1
- package/dist/react/strong.mjs.map +1 -1
- package/dist/react/switch.js +1 -1
- package/dist/react/switch.js.map +1 -1
- package/dist/react/switch.mjs +1 -1
- package/dist/react/switch.mjs.map +1 -1
- package/dist/react/table.js +1 -1
- package/dist/react/table.js.map +1 -1
- package/dist/react/table.mjs +1 -1
- package/dist/react/table.mjs.map +1 -1
- package/dist/react/tabs.js +1 -1
- package/dist/react/tabs.js.map +1 -1
- package/dist/react/tabs.mjs +1 -1
- package/dist/react/tabs.mjs.map +1 -1
- package/dist/react/text.d.mts +2 -2
- package/dist/react/text.d.ts +2 -2
- package/dist/react/text.js.map +1 -1
- package/dist/react/text.mjs.map +1 -1
- package/dist/react/textarea.js +1 -1
- package/dist/react/textarea.js.map +1 -1
- package/dist/react/textarea.mjs +1 -1
- package/dist/react/textarea.mjs.map +1 -1
- package/dist/react/toggle-group.js +1 -1
- package/dist/react/toggle-group.js.map +1 -1
- package/dist/react/toggle-group.mjs +1 -1
- package/dist/react/toggle-group.mjs.map +1 -1
- package/dist/react/toggle.js +1 -1
- package/dist/react/toggle.mjs +1 -1
- package/dist/react/tooltip.js +1 -1
- package/dist/react/tooltip.js.map +1 -1
- package/dist/react/tooltip.mjs +1 -1
- package/dist/react/tooltip.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/tailwind.config.js +1 -1
- package/dist/tailwind.config.js.map +1 -1
- package/dist/tailwind.config.mjs +1 -1
- package/dist/tailwind.config.mjs.map +1 -1
- package/package.json +7 -7
- package/plugin/animate.plugin.ts +114 -111
- package/plugin/base.plugin.ts +10 -7
- package/plugin/perspective.plugin.ts +1 -1
- package/src/lib/utils.ts +2 -2
- package/src/react/accordion.tsx +65 -41
- package/src/react/alert-dialog.tsx +130 -62
- package/src/react/alert.tsx +50 -24
- package/src/react/aspect-ratio.tsx +6 -4
- package/src/react/avatar.tsx +47 -19
- package/src/react/badge.tsx +15 -10
- package/src/react/blockquote.tsx +11 -8
- package/src/react/box.tsx +11 -9
- package/src/react/breadcrumb.tsx +62 -29
- package/src/react/button.tsx +47 -31
- package/src/react/calendar.tsx +54 -37
- package/src/react/card.tsx +64 -30
- package/src/react/carousel.tsx +101 -43
- package/src/react/checkbox-cards.tsx +60 -33
- package/src/react/checkbox-group.primitive.tsx +93 -38
- package/src/react/checkbox-group.tsx +57 -34
- package/src/react/checkbox.tsx +24 -20
- package/src/react/code.tsx +9 -7
- package/src/react/collapsible.tsx +33 -23
- package/src/react/command.tsx +140 -75
- package/src/react/container.tsx +12 -8
- package/src/react/context-menu.tsx +228 -150
- package/src/react/data-table.tsx +51 -21
- package/src/react/dialog.tsx +95 -50
- package/src/react/drawer.tsx +96 -49
- package/src/react/dropdown-menu.tsx +199 -131
- package/src/react/em.tsx +9 -7
- package/src/react/form.tsx +96 -61
- package/src/react/heading.tsx +10 -8
- package/src/react/hover-card.tsx +42 -26
- package/src/react/input-otp.tsx +48 -37
- package/src/react/input.tsx +25 -15
- package/src/react/kbd.tsx +21 -19
- package/src/react/label.tsx +16 -14
- package/src/react/menubar.tsx +214 -135
- package/src/react/navigation-menu.tsx +153 -111
- package/src/react/pagination.tsx +59 -26
- package/src/react/popover.tsx +44 -29
- package/src/react/pre.tsx +9 -7
- package/src/react/progress.tsx +26 -19
- package/src/react/quote.tsx +9 -7
- package/src/react/radio-cards.tsx +32 -12
- package/src/react/radio-group.tsx +32 -12
- package/src/react/radio.tsx +24 -20
- package/src/react/resizable.tsx +13 -8
- package/src/react/scroll-area.tsx +56 -34
- package/src/react/section.tsx +9 -7
- package/src/react/select.tsx +167 -114
- package/src/react/separator.tsx +16 -7
- package/src/react/sheet.tsx +84 -34
- package/src/react/skeleton.tsx +8 -3
- package/src/react/slider.tsx +31 -24
- package/src/react/sonner.tsx +12 -10
- package/src/react/spinner.tsx +14 -9
- package/src/react/strong.tsx +9 -7
- package/src/react/switch.tsx +18 -16
- package/src/react/table.tsx +97 -52
- package/src/react/tabs.tsx +48 -38
- package/src/react/text.tsx +13 -10
- package/src/react/textarea.tsx +17 -15
- package/src/react/toggle-group.tsx +66 -23
- package/src/react/toggle.tsx +26 -18
- package/src/react/tooltip.tsx +43 -28
- package/tailwind.config.ts +62 -62
- package/dist/chunk-466PAJCA.mjs.map +0 -1
- package/dist/chunk-4TJBMO2Y.mjs.map +0 -1
- package/dist/chunk-5WJB3UAO.js.map +0 -1
- package/dist/chunk-6B2PU2GG.mjs.map +0 -1
- package/dist/chunk-7PJR4WFR.mjs.map +0 -1
- package/dist/chunk-AEWLL6A2.js.map +0 -1
- package/dist/chunk-EVN2IB57.js.map +0 -1
- package/dist/chunk-EYERINEJ.js.map +0 -1
- package/dist/chunk-FEE6PNWV.js.map +0 -1
- package/dist/chunk-GRQGCS7U.mjs.map +0 -1
- package/dist/chunk-HLXU3SQI.mjs.map +0 -1
- package/dist/chunk-JIHHUXA5.js.map +0 -1
- package/dist/chunk-JTAXNFUM.mjs.map +0 -1
- package/dist/chunk-KJ77RPJ4.mjs.map +0 -1
- package/dist/chunk-MSHUAEXI.js.map +0 -1
- package/dist/chunk-N6QGG4WS.mjs.map +0 -1
- package/dist/chunk-PLX35IKX.mjs.map +0 -1
- package/dist/chunk-UDNWQQ3I.js.map +0 -1
- package/dist/chunk-UPZHCTQV.js.map +0 -1
- package/dist/chunk-WLMYX3C7.mjs.map +0 -1
- package/dist/chunk-YR36SVVG.mjs.map +0 -1
- package/dist/chunk-ZWGC5M4G.js.map +0 -1
- package/dist/plugin/animate.plugin.d.mts +0 -9
- package/dist/plugin/animate.plugin.d.ts +0 -9
- package/dist/plugin/base.plugin.d.mts +0 -8
- package/dist/plugin/base.plugin.d.ts +0 -8
- package/dist/plugin/perspective.plugin.d.mts +0 -8
- package/dist/plugin/perspective.plugin.d.ts +0 -8
- package/dist/tailwind.config.d.mts +0 -5
- package/dist/tailwind.config.d.ts +0 -5
package/src/react/breadcrumb.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as React from
|
|
2
|
-
import { Slot } from
|
|
3
|
-
import { ChevronRightIcon, DotsHorizontalIcon } from
|
|
4
|
-
import { cn } from
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
3
|
+
import { ChevronRightIcon, DotsHorizontalIcon } from '@radix-ui/react-icons';
|
|
4
|
+
import { cn } from '../lib/utils';
|
|
5
5
|
|
|
6
6
|
/* -----------------------------------------------------------------------------
|
|
7
7
|
* Component: Breadcrumb
|
|
@@ -13,11 +13,11 @@ interface BreadcrumbProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
13
13
|
separator?: React.ReactNode;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
const Breadcrumb = React.forwardRef<BreadcrumbElement, BreadcrumbProps>(
|
|
17
|
-
<nav ref={ref} aria-label="breadcrumb" {...props}
|
|
18
|
-
)
|
|
16
|
+
const Breadcrumb = React.forwardRef<BreadcrumbElement, BreadcrumbProps>(
|
|
17
|
+
({ ...props }, ref) => <nav ref={ref} aria-label="breadcrumb" {...props} />,
|
|
18
|
+
);
|
|
19
19
|
|
|
20
|
-
Breadcrumb.displayName =
|
|
20
|
+
Breadcrumb.displayName = 'Breadcrumb';
|
|
21
21
|
|
|
22
22
|
/* -----------------------------------------------------------------------------
|
|
23
23
|
* Component: BreadcrumbList
|
|
@@ -26,18 +26,21 @@ Breadcrumb.displayName = "Breadcrumb";
|
|
|
26
26
|
type BreadcrumbListElement = HTMLOListElement;
|
|
27
27
|
type BreadcrumbListProps = React.OlHTMLAttributes<HTMLOListElement>;
|
|
28
28
|
|
|
29
|
-
const BreadcrumbList = React.forwardRef<
|
|
29
|
+
const BreadcrumbList = React.forwardRef<
|
|
30
|
+
BreadcrumbListElement,
|
|
31
|
+
BreadcrumbListProps
|
|
32
|
+
>(({ className, ...props }, ref) => (
|
|
30
33
|
<ol
|
|
31
34
|
ref={ref}
|
|
32
35
|
className={cn(
|
|
33
|
-
|
|
36
|
+
'text-muted-foreground flex flex-wrap items-center gap-1.5 break-words text-sm sm:gap-2.5',
|
|
34
37
|
className,
|
|
35
38
|
)}
|
|
36
39
|
{...props}
|
|
37
40
|
/>
|
|
38
41
|
));
|
|
39
42
|
|
|
40
|
-
BreadcrumbList.displayName =
|
|
43
|
+
BreadcrumbList.displayName = 'BreadcrumbList';
|
|
41
44
|
|
|
42
45
|
/* -----------------------------------------------------------------------------
|
|
43
46
|
* Component: BreadcrumbItem
|
|
@@ -46,11 +49,18 @@ BreadcrumbList.displayName = "BreadcrumbList";
|
|
|
46
49
|
type BreadcrumbItemElement = HTMLLIElement;
|
|
47
50
|
type BreadcrumbItemProps = React.LiHTMLAttributes<HTMLLIElement>;
|
|
48
51
|
|
|
49
|
-
const BreadcrumbItem = React.forwardRef<
|
|
50
|
-
|
|
52
|
+
const BreadcrumbItem = React.forwardRef<
|
|
53
|
+
BreadcrumbItemElement,
|
|
54
|
+
BreadcrumbItemProps
|
|
55
|
+
>(({ className, ...props }, ref) => (
|
|
56
|
+
<li
|
|
57
|
+
ref={ref}
|
|
58
|
+
className={cn('inline-flex items-center gap-1.5', className)}
|
|
59
|
+
{...props}
|
|
60
|
+
/>
|
|
51
61
|
));
|
|
52
62
|
|
|
53
|
-
BreadcrumbItem.displayName =
|
|
63
|
+
BreadcrumbItem.displayName = 'BreadcrumbItem';
|
|
54
64
|
|
|
55
65
|
/* -----------------------------------------------------------------------------
|
|
56
66
|
* Component: BreadcrumbLink
|
|
@@ -58,19 +68,27 @@ BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
|
58
68
|
|
|
59
69
|
type BreadcrumbLinkElement = HTMLAnchorElement;
|
|
60
70
|
|
|
61
|
-
interface BreadcrumbLinkProps
|
|
71
|
+
interface BreadcrumbLinkProps
|
|
72
|
+
extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
62
73
|
asChild?: boolean;
|
|
63
74
|
}
|
|
64
75
|
|
|
65
|
-
const BreadcrumbLink = React.forwardRef<
|
|
66
|
-
|
|
67
|
-
|
|
76
|
+
const BreadcrumbLink = React.forwardRef<
|
|
77
|
+
BreadcrumbLinkElement,
|
|
78
|
+
BreadcrumbLinkProps
|
|
79
|
+
>(({ asChild, className, ...props }, ref) => {
|
|
80
|
+
const Component = asChild ? Slot : 'a';
|
|
68
81
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
82
|
+
return (
|
|
83
|
+
<Component
|
|
84
|
+
ref={ref}
|
|
85
|
+
className={cn('transition', 'hover:text-foreground', className)}
|
|
86
|
+
{...props}
|
|
87
|
+
/>
|
|
88
|
+
);
|
|
89
|
+
});
|
|
72
90
|
|
|
73
|
-
BreadcrumbLink.displayName =
|
|
91
|
+
BreadcrumbLink.displayName = 'BreadcrumbLink';
|
|
74
92
|
|
|
75
93
|
/* -----------------------------------------------------------------------------
|
|
76
94
|
* Component: BreadcrumbPage
|
|
@@ -79,18 +97,21 @@ BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
|
79
97
|
type BreadcrumbPageElement = HTMLSpanElement;
|
|
80
98
|
type BreadcrumbPageProps = React.HTMLAttributes<HTMLSpanElement>;
|
|
81
99
|
|
|
82
|
-
const BreadcrumbPage = React.forwardRef<
|
|
100
|
+
const BreadcrumbPage = React.forwardRef<
|
|
101
|
+
BreadcrumbPageElement,
|
|
102
|
+
BreadcrumbPageProps
|
|
103
|
+
>(({ className, ...props }, ref) => (
|
|
83
104
|
<span
|
|
84
105
|
ref={ref}
|
|
85
106
|
role="link"
|
|
86
107
|
aria-disabled="true"
|
|
87
108
|
aria-current="page"
|
|
88
|
-
className={cn(
|
|
109
|
+
className={cn('text-foreground font-normal', className)}
|
|
89
110
|
{...props}
|
|
90
111
|
/>
|
|
91
112
|
));
|
|
92
113
|
|
|
93
|
-
BreadcrumbPage.displayName =
|
|
114
|
+
BreadcrumbPage.displayName = 'BreadcrumbPage';
|
|
94
115
|
|
|
95
116
|
/* -----------------------------------------------------------------------------
|
|
96
117
|
* Component: BreadcrumbSeparator
|
|
@@ -98,9 +119,18 @@ BreadcrumbPage.displayName = "BreadcrumbPage";
|
|
|
98
119
|
|
|
99
120
|
type BreadcrumbSeparatorProps = React.LiHTMLAttributes<HTMLLIElement>;
|
|
100
121
|
|
|
101
|
-
function BreadcrumbSeparator({
|
|
122
|
+
function BreadcrumbSeparator({
|
|
123
|
+
children,
|
|
124
|
+
className,
|
|
125
|
+
...props
|
|
126
|
+
}: BreadcrumbSeparatorProps): React.JSX.Element {
|
|
102
127
|
return (
|
|
103
|
-
<li
|
|
128
|
+
<li
|
|
129
|
+
role="presentation"
|
|
130
|
+
aria-hidden="true"
|
|
131
|
+
className={cn('[&>svg]:size-3.5', className)}
|
|
132
|
+
{...props}
|
|
133
|
+
>
|
|
104
134
|
{children ?? <ChevronRightIcon />}
|
|
105
135
|
</li>
|
|
106
136
|
);
|
|
@@ -112,12 +142,15 @@ function BreadcrumbSeparator({ children, className, ...props }: BreadcrumbSepara
|
|
|
112
142
|
|
|
113
143
|
type BreadcrumbEllipsisProps = React.HTMLAttributes<HTMLSpanElement>;
|
|
114
144
|
|
|
115
|
-
function BreadcrumbEllipsis({
|
|
145
|
+
function BreadcrumbEllipsis({
|
|
146
|
+
className,
|
|
147
|
+
...props
|
|
148
|
+
}: BreadcrumbEllipsisProps): React.JSX.Element {
|
|
116
149
|
return (
|
|
117
150
|
<span
|
|
118
151
|
role="presentation"
|
|
119
152
|
aria-hidden="true"
|
|
120
|
-
className={cn(
|
|
153
|
+
className={cn('flex size-4 items-center justify-center', className)}
|
|
121
154
|
{...props}
|
|
122
155
|
>
|
|
123
156
|
<DotsHorizontalIcon className="size-4" />
|
package/src/react/button.tsx
CHANGED
|
@@ -1,43 +1,46 @@
|
|
|
1
|
-
import * as React from
|
|
2
|
-
import { Fragment } from
|
|
3
|
-
import { Slot } from
|
|
4
|
-
import { type VariantProps } from
|
|
5
|
-
import { VisuallyHidden } from
|
|
6
|
-
import { cva } from
|
|
7
|
-
import { Spinner } from
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Fragment } from 'react';
|
|
3
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
+
import { type VariantProps } from 'cva';
|
|
5
|
+
import { VisuallyHidden } from '@radix-ui/react-visually-hidden';
|
|
6
|
+
import { cva } from '../lib/utils';
|
|
7
|
+
import { Spinner } from './spinner';
|
|
8
8
|
|
|
9
9
|
/* -----------------------------------------------------------------------------
|
|
10
10
|
* Variant: Button
|
|
11
11
|
* -------------------------------------------------------------------------- */
|
|
12
12
|
|
|
13
13
|
const buttonVariants = cva({
|
|
14
|
-
base:
|
|
14
|
+
base: 'inline-flex select-none items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50',
|
|
15
15
|
variants: {
|
|
16
16
|
variant: {
|
|
17
|
-
default:
|
|
18
|
-
destructive:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
default: 'bg-primary text-primary-foreground hover:bg-primary/90 shadow',
|
|
18
|
+
destructive:
|
|
19
|
+
'bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm',
|
|
20
|
+
ghost: 'hover:bg-accent hover:text-accent-foreground',
|
|
21
|
+
link: 'text-primary underline-offset-4 hover:underline',
|
|
22
|
+
outline:
|
|
23
|
+
'border-input bg-background hover:bg-accent hover:text-accent-foreground border shadow-sm',
|
|
24
|
+
secondary:
|
|
25
|
+
'bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-sm',
|
|
23
26
|
},
|
|
24
27
|
size: {
|
|
25
|
-
default:
|
|
26
|
-
xs:
|
|
27
|
-
sm:
|
|
28
|
-
lg:
|
|
29
|
-
icon:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
default: 'h-10 px-4',
|
|
29
|
+
xs: 'h-8 px-2',
|
|
30
|
+
sm: 'h-9 px-3',
|
|
31
|
+
lg: 'h-11 px-8',
|
|
32
|
+
icon: 'size-10',
|
|
33
|
+
'icon-xs': 'size-8',
|
|
34
|
+
'icon-sm': 'size-9',
|
|
35
|
+
'icon-lg': 'size-11',
|
|
33
36
|
},
|
|
34
37
|
loading: {
|
|
35
|
-
true:
|
|
38
|
+
true: 'relative',
|
|
36
39
|
},
|
|
37
40
|
},
|
|
38
41
|
defaultVariants: {
|
|
39
|
-
size:
|
|
40
|
-
variant:
|
|
42
|
+
size: 'default',
|
|
43
|
+
variant: 'default',
|
|
41
44
|
loading: false,
|
|
42
45
|
},
|
|
43
46
|
});
|
|
@@ -50,20 +53,33 @@ type ButtonVariantsProps = VariantProps<typeof buttonVariants>;
|
|
|
50
53
|
|
|
51
54
|
type ButtonElement = HTMLButtonElement;
|
|
52
55
|
|
|
53
|
-
interface ButtonProps
|
|
56
|
+
interface ButtonProps
|
|
57
|
+
extends React.ButtonHTMLAttributes<HTMLButtonElement>,
|
|
58
|
+
ButtonVariantsProps {
|
|
54
59
|
asChild?: boolean;
|
|
55
60
|
}
|
|
56
61
|
|
|
57
62
|
const Button = React.forwardRef<ButtonElement, ButtonProps>(
|
|
58
|
-
(
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
(
|
|
64
|
+
{
|
|
65
|
+
children,
|
|
66
|
+
className,
|
|
67
|
+
variant,
|
|
68
|
+
size,
|
|
69
|
+
loading = false,
|
|
70
|
+
asChild = false,
|
|
71
|
+
...props
|
|
72
|
+
},
|
|
73
|
+
ref,
|
|
74
|
+
) => {
|
|
75
|
+
const Component = asChild ? Slot : 'button';
|
|
76
|
+
const ComponentLoading = asChild ? 'span' : Fragment;
|
|
61
77
|
const disabled = loading || props.disabled;
|
|
62
78
|
|
|
63
79
|
return (
|
|
64
80
|
<Component
|
|
65
81
|
ref={ref}
|
|
66
|
-
type={asChild ? undefined :
|
|
82
|
+
type={asChild ? undefined : 'button'}
|
|
67
83
|
className={buttonVariants({ variant, size, loading, className })}
|
|
68
84
|
{...props}
|
|
69
85
|
disabled={disabled}
|
|
@@ -86,7 +102,7 @@ const Button = React.forwardRef<ButtonElement, ButtonProps>(
|
|
|
86
102
|
},
|
|
87
103
|
);
|
|
88
104
|
|
|
89
|
-
Button.displayName =
|
|
105
|
+
Button.displayName = 'Button';
|
|
90
106
|
|
|
91
107
|
/* -----------------------------------------------------------------------------
|
|
92
108
|
* Exports
|
package/src/react/calendar.tsx
CHANGED
|
@@ -1,66 +1,83 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import {
|
|
5
|
+
type DateRange,
|
|
6
|
+
DayPicker,
|
|
7
|
+
type DayPickerProps,
|
|
8
|
+
type StyledComponent,
|
|
9
|
+
} from 'react-day-picker';
|
|
10
|
+
import { ChevronLeftIcon, ChevronRightIcon } from '@radix-ui/react-icons';
|
|
11
|
+
import { cn } from '../lib/utils';
|
|
12
|
+
import { buttonVariants } from './button';
|
|
8
13
|
|
|
9
14
|
/* -----------------------------------------------------------------------------
|
|
10
15
|
* Component: Calendar
|
|
11
16
|
* -------------------------------------------------------------------------- */
|
|
12
17
|
|
|
13
|
-
function ChevronLeft({
|
|
18
|
+
function ChevronLeft({
|
|
19
|
+
children: _,
|
|
20
|
+
...props
|
|
21
|
+
}: StyledComponent): React.JSX.Element {
|
|
14
22
|
return <ChevronLeftIcon className="size-4" {...props} />;
|
|
15
23
|
}
|
|
16
24
|
|
|
17
|
-
function ChevronRight({
|
|
25
|
+
function ChevronRight({
|
|
26
|
+
children: _,
|
|
27
|
+
...props
|
|
28
|
+
}: StyledComponent): React.JSX.Element {
|
|
18
29
|
return <ChevronRightIcon className="size-4" {...props} />;
|
|
19
30
|
}
|
|
20
31
|
|
|
21
32
|
type CalendarProps = DayPickerProps;
|
|
22
33
|
|
|
23
|
-
function Calendar({
|
|
34
|
+
function Calendar({
|
|
35
|
+
className,
|
|
36
|
+
classNames,
|
|
37
|
+
showOutsideDays = true,
|
|
38
|
+
...props
|
|
39
|
+
}: CalendarProps): React.JSX.Element {
|
|
24
40
|
return (
|
|
25
41
|
<DayPicker
|
|
26
42
|
showOutsideDays={showOutsideDays}
|
|
27
|
-
className={cn(
|
|
43
|
+
className={cn('p-3', className)}
|
|
28
44
|
classNames={{
|
|
29
|
-
months:
|
|
30
|
-
month:
|
|
31
|
-
caption:
|
|
32
|
-
caption_label:
|
|
33
|
-
nav:
|
|
45
|
+
months: 'flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0',
|
|
46
|
+
month: 'space-y-4',
|
|
47
|
+
caption: 'flex justify-center pt-1 relative items-center',
|
|
48
|
+
caption_label: 'text-sm font-medium',
|
|
49
|
+
nav: 'space-x-1 flex items-center',
|
|
34
50
|
nav_button: buttonVariants({
|
|
35
|
-
variant:
|
|
36
|
-
className:
|
|
51
|
+
variant: 'outline',
|
|
52
|
+
className: 'size-7 bg-transparent p-0 opacity-50 hover:opacity-100',
|
|
37
53
|
}),
|
|
38
|
-
nav_button_previous:
|
|
39
|
-
nav_button_next:
|
|
40
|
-
table:
|
|
41
|
-
head_row:
|
|
42
|
-
head_cell:
|
|
43
|
-
row:
|
|
54
|
+
nav_button_previous: 'absolute left-1',
|
|
55
|
+
nav_button_next: 'absolute right-1',
|
|
56
|
+
table: 'w-full border-collapse space-y-1',
|
|
57
|
+
head_row: 'flex',
|
|
58
|
+
head_cell: 'text-muted-foreground rounded-md w-8 font-normal text-xs',
|
|
59
|
+
row: 'flex w-full mt-2',
|
|
44
60
|
cell: cn(
|
|
45
|
-
|
|
46
|
-
props.mode ===
|
|
47
|
-
?
|
|
48
|
-
:
|
|
61
|
+
'relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected].day-range-end)]:rounded-r-md',
|
|
62
|
+
props.mode === 'range'
|
|
63
|
+
? '[&:has(>.day-range-start)]:rounded-l-md [&:has(>.day-range-end)]:rounded-r-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md'
|
|
64
|
+
: '[&:has([aria-selected])]:rounded-md',
|
|
49
65
|
),
|
|
50
66
|
day: buttonVariants({
|
|
51
|
-
variant:
|
|
52
|
-
className:
|
|
67
|
+
variant: 'ghost',
|
|
68
|
+
className: 'size-9 p-0 font-normal aria-selected:opacity-100',
|
|
53
69
|
}),
|
|
54
|
-
day_range_start:
|
|
55
|
-
day_range_end:
|
|
70
|
+
day_range_start: 'day-range-start',
|
|
71
|
+
day_range_end: 'day-range-end',
|
|
56
72
|
day_selected:
|
|
57
|
-
|
|
58
|
-
day_today:
|
|
73
|
+
'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground',
|
|
74
|
+
day_today: 'bg-accent text-accent-foreground',
|
|
59
75
|
day_outside:
|
|
60
|
-
|
|
61
|
-
day_disabled:
|
|
62
|
-
day_range_middle:
|
|
63
|
-
|
|
76
|
+
'day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30',
|
|
77
|
+
day_disabled: 'text-muted-foreground opacity-50',
|
|
78
|
+
day_range_middle:
|
|
79
|
+
'aria-selected:bg-accent aria-selected:text-accent-foreground',
|
|
80
|
+
day_hidden: 'invisible',
|
|
64
81
|
...classNames,
|
|
65
82
|
}}
|
|
66
83
|
components={{
|
package/src/react/card.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as React from
|
|
2
|
-
import { cn } from
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { cn } from '../lib/utils';
|
|
3
3
|
|
|
4
4
|
/* -----------------------------------------------------------------------------
|
|
5
5
|
* Component: Card
|
|
@@ -8,11 +8,20 @@ import { cn } from "../lib/utils";
|
|
|
8
8
|
type CardElement = HTMLDivElement;
|
|
9
9
|
type CardProps = React.HTMLAttributes<HTMLDivElement>;
|
|
10
10
|
|
|
11
|
-
const Card = React.forwardRef<CardElement, CardProps>(
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const Card = React.forwardRef<CardElement, CardProps>(
|
|
12
|
+
({ className, ...props }, ref) => (
|
|
13
|
+
<div
|
|
14
|
+
ref={ref}
|
|
15
|
+
className={cn(
|
|
16
|
+
'bg-card text-card-foreground rounded-lg border shadow-sm',
|
|
17
|
+
className,
|
|
18
|
+
)}
|
|
19
|
+
{...props}
|
|
20
|
+
/>
|
|
21
|
+
),
|
|
22
|
+
);
|
|
14
23
|
|
|
15
|
-
Card.displayName =
|
|
24
|
+
Card.displayName = 'Card';
|
|
16
25
|
|
|
17
26
|
/* -----------------------------------------------------------------------------
|
|
18
27
|
* Component: CardHeader
|
|
@@ -21,11 +30,17 @@ Card.displayName = "Card";
|
|
|
21
30
|
type CardHeaderElement = HTMLDivElement;
|
|
22
31
|
type CardHeaderProps = React.HTMLAttributes<HTMLDivElement>;
|
|
23
32
|
|
|
24
|
-
const CardHeader = React.forwardRef<CardHeaderElement, CardHeaderProps>(
|
|
25
|
-
|
|
26
|
-
|
|
33
|
+
const CardHeader = React.forwardRef<CardHeaderElement, CardHeaderProps>(
|
|
34
|
+
({ className, ...props }, ref) => (
|
|
35
|
+
<div
|
|
36
|
+
ref={ref}
|
|
37
|
+
className={cn('flex flex-col space-y-1.5 p-6', className)}
|
|
38
|
+
{...props}
|
|
39
|
+
/>
|
|
40
|
+
),
|
|
41
|
+
);
|
|
27
42
|
|
|
28
|
-
CardHeader.displayName =
|
|
43
|
+
CardHeader.displayName = 'CardHeader';
|
|
29
44
|
|
|
30
45
|
/* -----------------------------------------------------------------------------
|
|
31
46
|
* Component: CardTitle
|
|
@@ -34,13 +49,19 @@ CardHeader.displayName = "CardHeader";
|
|
|
34
49
|
type CardTitleElement = HTMLParagraphElement;
|
|
35
50
|
type CardTitleProps = React.HTMLAttributes<HTMLHeadingElement>;
|
|
36
51
|
|
|
37
|
-
const CardTitle = React.forwardRef<CardTitleElement, CardTitleProps>(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
)
|
|
52
|
+
const CardTitle = React.forwardRef<CardTitleElement, CardTitleProps>(
|
|
53
|
+
({ children, className, ...props }, ref) => (
|
|
54
|
+
<h3
|
|
55
|
+
ref={ref}
|
|
56
|
+
className={cn('font-semibold leading-none tracking-tight', className)}
|
|
57
|
+
{...props}
|
|
58
|
+
>
|
|
59
|
+
{children}
|
|
60
|
+
</h3>
|
|
61
|
+
),
|
|
62
|
+
);
|
|
42
63
|
|
|
43
|
-
CardTitle.displayName =
|
|
64
|
+
CardTitle.displayName = 'CardTitle';
|
|
44
65
|
|
|
45
66
|
/* -----------------------------------------------------------------------------
|
|
46
67
|
* Component: CardDescription
|
|
@@ -49,13 +70,18 @@ CardTitle.displayName = "CardTitle";
|
|
|
49
70
|
type CardDescriptionElement = HTMLParagraphElement;
|
|
50
71
|
type CardDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;
|
|
51
72
|
|
|
52
|
-
const CardDescription = React.forwardRef<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
73
|
+
const CardDescription = React.forwardRef<
|
|
74
|
+
CardDescriptionElement,
|
|
75
|
+
CardDescriptionProps
|
|
76
|
+
>(({ className, ...props }, ref) => (
|
|
77
|
+
<p
|
|
78
|
+
ref={ref}
|
|
79
|
+
className={cn('text-muted-foreground text-sm', className)}
|
|
80
|
+
{...props}
|
|
81
|
+
/>
|
|
82
|
+
));
|
|
57
83
|
|
|
58
|
-
CardDescription.displayName =
|
|
84
|
+
CardDescription.displayName = 'CardDescription';
|
|
59
85
|
|
|
60
86
|
/* -----------------------------------------------------------------------------
|
|
61
87
|
* Component: CardContent
|
|
@@ -64,11 +90,13 @@ CardDescription.displayName = "CardDescription";
|
|
|
64
90
|
type CardContentElement = HTMLDivElement;
|
|
65
91
|
type CardContentProps = React.HTMLAttributes<HTMLDivElement>;
|
|
66
92
|
|
|
67
|
-
const CardContent = React.forwardRef<CardContentElement, CardContentProps>(
|
|
68
|
-
|
|
69
|
-
)
|
|
93
|
+
const CardContent = React.forwardRef<CardContentElement, CardContentProps>(
|
|
94
|
+
({ className, ...props }, ref) => (
|
|
95
|
+
<div ref={ref} className={cn('p-6 pt-0', className)} {...props} />
|
|
96
|
+
),
|
|
97
|
+
);
|
|
70
98
|
|
|
71
|
-
CardContent.displayName =
|
|
99
|
+
CardContent.displayName = 'CardContent';
|
|
72
100
|
|
|
73
101
|
/* -----------------------------------------------------------------------------
|
|
74
102
|
* Component: CardFooter
|
|
@@ -77,11 +105,17 @@ CardContent.displayName = "CardContent";
|
|
|
77
105
|
type CardFooterElement = HTMLDivElement;
|
|
78
106
|
type CardFooterProps = React.HTMLAttributes<HTMLDivElement>;
|
|
79
107
|
|
|
80
|
-
const CardFooter = React.forwardRef<CardFooterElement, CardFooterProps>(
|
|
81
|
-
|
|
82
|
-
|
|
108
|
+
const CardFooter = React.forwardRef<CardFooterElement, CardFooterProps>(
|
|
109
|
+
({ className, ...props }, ref) => (
|
|
110
|
+
<div
|
|
111
|
+
ref={ref}
|
|
112
|
+
className={cn('flex items-center p-6 pt-0', className)}
|
|
113
|
+
{...props}
|
|
114
|
+
/>
|
|
115
|
+
),
|
|
116
|
+
);
|
|
83
117
|
|
|
84
|
-
CardFooter.displayName =
|
|
118
|
+
CardFooter.displayName = 'CardFooter';
|
|
85
119
|
|
|
86
120
|
/* -----------------------------------------------------------------------------
|
|
87
121
|
* Exports
|