@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
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
4
|
-
import * as ContextMenuPrimitive from
|
|
5
|
-
import {
|
|
6
|
-
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
|
|
5
|
+
import {
|
|
6
|
+
CheckIcon,
|
|
7
|
+
ChevronRightIcon,
|
|
8
|
+
DotFilledIcon,
|
|
9
|
+
} from '@radix-ui/react-icons';
|
|
10
|
+
import { cn } from '../lib/utils';
|
|
7
11
|
|
|
8
12
|
/* -----------------------------------------------------------------------------
|
|
9
13
|
* Component: ContextMenu
|
|
@@ -16,56 +20,70 @@ const ContextMenu = ContextMenuPrimitive.Root;
|
|
|
16
20
|
* Component: ContextMenuTrigger
|
|
17
21
|
* -------------------------------------------------------------------------- */
|
|
18
22
|
|
|
19
|
-
type ContextMenuTriggerProps = React.ComponentPropsWithoutRef<
|
|
23
|
+
type ContextMenuTriggerProps = React.ComponentPropsWithoutRef<
|
|
24
|
+
typeof ContextMenuPrimitive.Trigger
|
|
25
|
+
>;
|
|
20
26
|
const ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
21
27
|
|
|
22
28
|
/* -----------------------------------------------------------------------------
|
|
23
29
|
* Component: ContextMenuGroup
|
|
24
30
|
* -------------------------------------------------------------------------- */
|
|
25
31
|
|
|
26
|
-
type ContextMenuGroupProps = React.ComponentPropsWithoutRef<
|
|
32
|
+
type ContextMenuGroupProps = React.ComponentPropsWithoutRef<
|
|
33
|
+
typeof ContextMenuPrimitive.Group
|
|
34
|
+
>;
|
|
27
35
|
const ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
28
36
|
|
|
29
37
|
/* -----------------------------------------------------------------------------
|
|
30
38
|
* Component: ContextMenuSub
|
|
31
39
|
* -------------------------------------------------------------------------- */
|
|
32
40
|
|
|
33
|
-
type ContextMenuSubProps = React.ComponentProps<
|
|
41
|
+
type ContextMenuSubProps = React.ComponentProps<
|
|
42
|
+
typeof ContextMenuPrimitive.Sub
|
|
43
|
+
>;
|
|
34
44
|
const ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
35
45
|
|
|
36
46
|
/* -----------------------------------------------------------------------------
|
|
37
47
|
* Component: ContextMenuRadioGroup
|
|
38
48
|
* -------------------------------------------------------------------------- */
|
|
39
49
|
|
|
40
|
-
type ContextMenuRadioGroupProps = React.ComponentPropsWithoutRef<
|
|
50
|
+
type ContextMenuRadioGroupProps = React.ComponentPropsWithoutRef<
|
|
51
|
+
typeof ContextMenuPrimitive.RadioGroup
|
|
52
|
+
>;
|
|
41
53
|
const ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
42
54
|
|
|
43
55
|
/* -----------------------------------------------------------------------------
|
|
44
56
|
* Component: ContextMenuSubTrigger
|
|
45
57
|
* -------------------------------------------------------------------------- */
|
|
46
58
|
|
|
47
|
-
type ContextMenuSubTriggerElement = React.ElementRef<
|
|
59
|
+
type ContextMenuSubTriggerElement = React.ElementRef<
|
|
60
|
+
typeof ContextMenuPrimitive.SubTrigger
|
|
61
|
+
>;
|
|
48
62
|
|
|
49
|
-
interface ContextMenuSubTriggerProps
|
|
63
|
+
interface ContextMenuSubTriggerProps
|
|
64
|
+
extends React.ComponentPropsWithoutRef<
|
|
65
|
+
typeof ContextMenuPrimitive.SubTrigger
|
|
66
|
+
> {
|
|
50
67
|
inset?: boolean;
|
|
51
68
|
}
|
|
52
69
|
|
|
53
|
-
const ContextMenuSubTrigger = React.forwardRef<
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
const ContextMenuSubTrigger = React.forwardRef<
|
|
71
|
+
ContextMenuSubTriggerElement,
|
|
72
|
+
ContextMenuSubTriggerProps
|
|
73
|
+
>(({ children, className, inset, ...props }, ref) => (
|
|
74
|
+
<ContextMenuPrimitive.SubTrigger
|
|
75
|
+
ref={ref}
|
|
76
|
+
className={cn(
|
|
77
|
+
'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none',
|
|
78
|
+
inset && 'pl-8',
|
|
79
|
+
className,
|
|
80
|
+
)}
|
|
81
|
+
{...props}
|
|
82
|
+
>
|
|
83
|
+
{children}
|
|
84
|
+
<ChevronRightIcon className="ml-auto size-4" />
|
|
85
|
+
</ContextMenuPrimitive.SubTrigger>
|
|
86
|
+
));
|
|
69
87
|
|
|
70
88
|
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
71
89
|
|
|
@@ -73,23 +91,28 @@ ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
|
73
91
|
* Component: ContextMenuSubContent
|
|
74
92
|
* -------------------------------------------------------------------------- */
|
|
75
93
|
|
|
76
|
-
type ContextMenuSubContentElement = React.ElementRef<
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
type ContextMenuSubContentElement = React.ElementRef<
|
|
95
|
+
typeof ContextMenuPrimitive.SubContent
|
|
96
|
+
>;
|
|
97
|
+
type ContextMenuSubContentProps = React.ComponentPropsWithoutRef<
|
|
98
|
+
typeof ContextMenuPrimitive.SubContent
|
|
99
|
+
>;
|
|
100
|
+
|
|
101
|
+
const ContextMenuSubContent = React.forwardRef<
|
|
102
|
+
ContextMenuSubContentElement,
|
|
103
|
+
ContextMenuSubContentProps
|
|
104
|
+
>(({ className, ...props }, ref) => (
|
|
105
|
+
<ContextMenuPrimitive.Portal>
|
|
106
|
+
<ContextMenuPrimitive.SubContent
|
|
107
|
+
ref={ref}
|
|
108
|
+
className={cn(
|
|
109
|
+
'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 min-w-32 rounded-md border p-1 shadow-md',
|
|
110
|
+
className,
|
|
111
|
+
)}
|
|
112
|
+
{...props}
|
|
113
|
+
/>
|
|
114
|
+
</ContextMenuPrimitive.Portal>
|
|
115
|
+
));
|
|
93
116
|
|
|
94
117
|
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
95
118
|
|
|
@@ -97,23 +120,28 @@ ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
|
97
120
|
* Component: ContextMenuContent
|
|
98
121
|
* -------------------------------------------------------------------------- */
|
|
99
122
|
|
|
100
|
-
type ContextMenuContentElement = React.ElementRef<
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
123
|
+
type ContextMenuContentElement = React.ElementRef<
|
|
124
|
+
typeof ContextMenuPrimitive.Content
|
|
125
|
+
>;
|
|
126
|
+
type ContextMenuContentProps = React.ComponentPropsWithoutRef<
|
|
127
|
+
typeof ContextMenuPrimitive.Content
|
|
128
|
+
>;
|
|
129
|
+
|
|
130
|
+
const ContextMenuContent = React.forwardRef<
|
|
131
|
+
ContextMenuContentElement,
|
|
132
|
+
ContextMenuContentProps
|
|
133
|
+
>(({ className, ...props }, ref) => (
|
|
134
|
+
<ContextMenuPrimitive.Portal>
|
|
135
|
+
<ContextMenuPrimitive.Content
|
|
136
|
+
ref={ref}
|
|
137
|
+
className={cn(
|
|
138
|
+
'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 z-50 min-w-32 rounded-md border p-1 shadow-md',
|
|
139
|
+
className,
|
|
140
|
+
)}
|
|
141
|
+
{...props}
|
|
142
|
+
/>
|
|
143
|
+
</ContextMenuPrimitive.Portal>
|
|
144
|
+
));
|
|
117
145
|
|
|
118
146
|
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
119
147
|
|
|
@@ -121,25 +149,29 @@ ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
|
121
149
|
* Component: ContextMenuItem
|
|
122
150
|
* -------------------------------------------------------------------------- */
|
|
123
151
|
|
|
124
|
-
type ContextMenuItemElement = React.ElementRef<
|
|
152
|
+
type ContextMenuItemElement = React.ElementRef<
|
|
153
|
+
typeof ContextMenuPrimitive.Item
|
|
154
|
+
>;
|
|
125
155
|
|
|
126
|
-
interface ContextMenuItemProps
|
|
156
|
+
interface ContextMenuItemProps
|
|
157
|
+
extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> {
|
|
127
158
|
inset?: boolean;
|
|
128
159
|
}
|
|
129
160
|
|
|
130
|
-
const ContextMenuItem = React.forwardRef<
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
161
|
+
const ContextMenuItem = React.forwardRef<
|
|
162
|
+
ContextMenuItemElement,
|
|
163
|
+
ContextMenuItemProps
|
|
164
|
+
>(({ className, inset, ...props }, ref) => (
|
|
165
|
+
<ContextMenuPrimitive.Item
|
|
166
|
+
ref={ref}
|
|
167
|
+
className={cn(
|
|
168
|
+
'focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
|
|
169
|
+
inset && 'pl-8',
|
|
170
|
+
className,
|
|
171
|
+
)}
|
|
172
|
+
{...props}
|
|
173
|
+
/>
|
|
174
|
+
));
|
|
143
175
|
|
|
144
176
|
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
145
177
|
|
|
@@ -147,58 +179,69 @@ ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
|
147
179
|
* Component: ContextMenuCheckboxItem
|
|
148
180
|
* -------------------------------------------------------------------------- */
|
|
149
181
|
|
|
150
|
-
type ContextMenuCheckboxItemElement = React.ElementRef<
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
182
|
+
type ContextMenuCheckboxItemElement = React.ElementRef<
|
|
183
|
+
typeof ContextMenuPrimitive.CheckboxItem
|
|
184
|
+
>;
|
|
185
|
+
type ContextMenuCheckboxItemProps = React.ComponentPropsWithoutRef<
|
|
186
|
+
typeof ContextMenuPrimitive.CheckboxItem
|
|
187
|
+
>;
|
|
188
|
+
|
|
189
|
+
const ContextMenuCheckboxItem = React.forwardRef<
|
|
190
|
+
ContextMenuCheckboxItemElement,
|
|
191
|
+
ContextMenuCheckboxItemProps
|
|
192
|
+
>(({ children, className, checked, ...props }, ref) => (
|
|
193
|
+
<ContextMenuPrimitive.CheckboxItem
|
|
194
|
+
ref={ref}
|
|
195
|
+
className={cn(
|
|
196
|
+
'focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
|
|
197
|
+
className,
|
|
198
|
+
)}
|
|
199
|
+
checked={checked}
|
|
200
|
+
{...props}
|
|
201
|
+
>
|
|
202
|
+
<span className="absolute left-2 flex size-3.5 items-center justify-center">
|
|
203
|
+
<ContextMenuPrimitive.ItemIndicator>
|
|
204
|
+
<CheckIcon className="size-4" />
|
|
205
|
+
</ContextMenuPrimitive.ItemIndicator>
|
|
206
|
+
</span>
|
|
207
|
+
{children}
|
|
208
|
+
</ContextMenuPrimitive.CheckboxItem>
|
|
209
|
+
));
|
|
210
|
+
|
|
211
|
+
ContextMenuCheckboxItem.displayName =
|
|
212
|
+
ContextMenuPrimitive.CheckboxItem.displayName;
|
|
175
213
|
|
|
176
214
|
/* -----------------------------------------------------------------------------
|
|
177
215
|
* Component: ContextMenuRadioItem
|
|
178
216
|
* -------------------------------------------------------------------------- */
|
|
179
217
|
|
|
180
|
-
type ContextMenuRadioItemElement = React.ElementRef<
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
218
|
+
type ContextMenuRadioItemElement = React.ElementRef<
|
|
219
|
+
typeof ContextMenuPrimitive.RadioItem
|
|
220
|
+
>;
|
|
221
|
+
type ContextMenuRadioItemProps = React.ComponentPropsWithoutRef<
|
|
222
|
+
typeof ContextMenuPrimitive.RadioItem
|
|
223
|
+
>;
|
|
224
|
+
|
|
225
|
+
const ContextMenuRadioItem = React.forwardRef<
|
|
226
|
+
ContextMenuRadioItemElement,
|
|
227
|
+
ContextMenuRadioItemProps
|
|
228
|
+
>(({ children, className, ...props }, ref) => (
|
|
229
|
+
<ContextMenuPrimitive.RadioItem
|
|
230
|
+
ref={ref}
|
|
231
|
+
className={cn(
|
|
232
|
+
'focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
|
|
233
|
+
className,
|
|
234
|
+
)}
|
|
235
|
+
{...props}
|
|
236
|
+
>
|
|
237
|
+
<span className="absolute left-2 flex size-3.5 items-center justify-center">
|
|
238
|
+
<ContextMenuPrimitive.ItemIndicator>
|
|
239
|
+
<DotFilledIcon className="size-4 fill-current" />
|
|
240
|
+
</ContextMenuPrimitive.ItemIndicator>
|
|
241
|
+
</span>
|
|
242
|
+
{children}
|
|
243
|
+
</ContextMenuPrimitive.RadioItem>
|
|
244
|
+
));
|
|
202
245
|
|
|
203
246
|
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
204
247
|
|
|
@@ -206,21 +249,29 @@ ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
|
206
249
|
* Component: ContextMenuLabel
|
|
207
250
|
* -------------------------------------------------------------------------- */
|
|
208
251
|
|
|
209
|
-
type ContextMenuLabelElement = React.ElementRef<
|
|
252
|
+
type ContextMenuLabelElement = React.ElementRef<
|
|
253
|
+
typeof ContextMenuPrimitive.Label
|
|
254
|
+
>;
|
|
210
255
|
|
|
211
|
-
interface ContextMenuLabelProps
|
|
256
|
+
interface ContextMenuLabelProps
|
|
257
|
+
extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> {
|
|
212
258
|
inset?: boolean;
|
|
213
259
|
}
|
|
214
260
|
|
|
215
|
-
const ContextMenuLabel = React.forwardRef<
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
261
|
+
const ContextMenuLabel = React.forwardRef<
|
|
262
|
+
ContextMenuLabelElement,
|
|
263
|
+
ContextMenuLabelProps
|
|
264
|
+
>(({ className, inset, ...props }, ref) => (
|
|
265
|
+
<ContextMenuPrimitive.Label
|
|
266
|
+
ref={ref}
|
|
267
|
+
className={cn(
|
|
268
|
+
'text-foreground px-2 py-1.5 text-sm font-semibold',
|
|
269
|
+
inset && 'pl-8',
|
|
270
|
+
className,
|
|
271
|
+
)}
|
|
272
|
+
{...props}
|
|
273
|
+
/>
|
|
274
|
+
));
|
|
224
275
|
|
|
225
276
|
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
226
277
|
|
|
@@ -228,14 +279,23 @@ ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
|
228
279
|
* Component: ContextMenuSeparator
|
|
229
280
|
* -------------------------------------------------------------------------- */
|
|
230
281
|
|
|
231
|
-
type ContextMenuSeparatorElement = React.ElementRef<
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
282
|
+
type ContextMenuSeparatorElement = React.ElementRef<
|
|
283
|
+
typeof ContextMenuPrimitive.Separator
|
|
284
|
+
>;
|
|
285
|
+
type ContextMenuSeparatorProps = React.ComponentPropsWithoutRef<
|
|
286
|
+
typeof ContextMenuPrimitive.Separator
|
|
287
|
+
>;
|
|
288
|
+
|
|
289
|
+
const ContextMenuSeparator = React.forwardRef<
|
|
290
|
+
ContextMenuSeparatorElement,
|
|
291
|
+
ContextMenuSeparatorProps
|
|
292
|
+
>(({ className, ...props }, ref) => (
|
|
293
|
+
<ContextMenuPrimitive.Separator
|
|
294
|
+
ref={ref}
|
|
295
|
+
className={cn('bg-border -mx-1 my-1 h-px', className)}
|
|
296
|
+
{...props}
|
|
297
|
+
/>
|
|
298
|
+
));
|
|
239
299
|
|
|
240
300
|
ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
|
241
301
|
|
|
@@ -245,22 +305,40 @@ ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
|
|
245
305
|
|
|
246
306
|
type ContextMenuShortcutProps = React.HTMLAttributes<HTMLSpanElement>;
|
|
247
307
|
|
|
248
|
-
function ContextMenuShortcut({
|
|
249
|
-
|
|
308
|
+
function ContextMenuShortcut({
|
|
309
|
+
className,
|
|
310
|
+
...props
|
|
311
|
+
}: ContextMenuShortcutProps): React.JSX.Element {
|
|
312
|
+
return (
|
|
313
|
+
<span
|
|
314
|
+
className={cn(
|
|
315
|
+
'text-muted-foreground ml-auto text-xs tracking-widest',
|
|
316
|
+
className,
|
|
317
|
+
)}
|
|
318
|
+
{...props}
|
|
319
|
+
/>
|
|
320
|
+
);
|
|
250
321
|
}
|
|
251
322
|
|
|
252
323
|
/* -----------------------------------------------------------------------------
|
|
253
324
|
* Component: ContextMenuArrow
|
|
254
325
|
* -------------------------------------------------------------------------- */
|
|
255
326
|
|
|
256
|
-
type ContextMenuArrowElement = React.ElementRef<
|
|
327
|
+
type ContextMenuArrowElement = React.ElementRef<
|
|
328
|
+
typeof ContextMenuPrimitive.Arrow
|
|
329
|
+
>;
|
|
257
330
|
type ContextMenuArrowProps = ContextMenuPrimitive.ContextMenuArrowProps;
|
|
258
331
|
|
|
259
|
-
const ContextMenuArrow = React.forwardRef<
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
332
|
+
const ContextMenuArrow = React.forwardRef<
|
|
333
|
+
ContextMenuArrowElement,
|
|
334
|
+
ContextMenuArrowProps
|
|
335
|
+
>(({ className, ...props }, ref) => (
|
|
336
|
+
<ContextMenuPrimitive.Arrow
|
|
337
|
+
ref={ref}
|
|
338
|
+
className={cn('fill-popover', className)}
|
|
339
|
+
{...props}
|
|
340
|
+
/>
|
|
341
|
+
));
|
|
264
342
|
|
|
265
343
|
ContextMenuArrow.displayName = ContextMenuPrimitive.Arrow.displayName;
|
|
266
344
|
|
package/src/react/data-table.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
4
|
-
import type * as ReactTable from
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import type * as ReactTable from '@tanstack/react-table';
|
|
5
5
|
import {
|
|
6
6
|
ArrowDownIcon,
|
|
7
7
|
ArrowUpIcon,
|
|
@@ -12,8 +12,8 @@ import {
|
|
|
12
12
|
DoubleArrowRightIcon,
|
|
13
13
|
EyeNoneIcon,
|
|
14
14
|
MixerHorizontalIcon,
|
|
15
|
-
} from
|
|
16
|
-
import { cn } from
|
|
15
|
+
} from '@radix-ui/react-icons';
|
|
16
|
+
import { cn } from '../lib/utils';
|
|
17
17
|
import {
|
|
18
18
|
DropdownMenu,
|
|
19
19
|
DropdownMenuCheckboxItem,
|
|
@@ -22,9 +22,15 @@ import {
|
|
|
22
22
|
DropdownMenuLabel,
|
|
23
23
|
DropdownMenuSeparator,
|
|
24
24
|
DropdownMenuTrigger,
|
|
25
|
-
} from
|
|
26
|
-
import { Button } from
|
|
27
|
-
import {
|
|
25
|
+
} from './dropdown-menu';
|
|
26
|
+
import { Button } from './button';
|
|
27
|
+
import {
|
|
28
|
+
Select,
|
|
29
|
+
SelectContent,
|
|
30
|
+
SelectItem,
|
|
31
|
+
SelectTrigger,
|
|
32
|
+
SelectValue,
|
|
33
|
+
} from './select';
|
|
28
34
|
|
|
29
35
|
/* -----------------------------------------------------------------------------
|
|
30
36
|
* Component: DataTableViewOptions
|
|
@@ -34,11 +40,17 @@ interface DataTableViewOptionsProps<TData> {
|
|
|
34
40
|
table: ReactTable.Table<TData>;
|
|
35
41
|
}
|
|
36
42
|
|
|
37
|
-
function DataTableViewOptions<TData>({
|
|
43
|
+
function DataTableViewOptions<TData>({
|
|
44
|
+
table,
|
|
45
|
+
}: DataTableViewOptionsProps<TData>): React.JSX.Element {
|
|
38
46
|
return (
|
|
39
47
|
<DropdownMenu>
|
|
40
48
|
<DropdownMenuTrigger asChild>
|
|
41
|
-
<Button
|
|
49
|
+
<Button
|
|
50
|
+
variant="outline"
|
|
51
|
+
size="sm"
|
|
52
|
+
className="ml-auto hidden h-8 lg:flex"
|
|
53
|
+
>
|
|
42
54
|
<MixerHorizontalIcon className="mr-2 size-4" />
|
|
43
55
|
View
|
|
44
56
|
</Button>
|
|
@@ -48,7 +60,10 @@ function DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>
|
|
|
48
60
|
<DropdownMenuSeparator />
|
|
49
61
|
{table
|
|
50
62
|
.getAllColumns()
|
|
51
|
-
.filter(
|
|
63
|
+
.filter(
|
|
64
|
+
(column) =>
|
|
65
|
+
typeof column.accessorFn !== 'undefined' && column.getCanHide(),
|
|
66
|
+
)
|
|
52
67
|
.map((column) => {
|
|
53
68
|
return (
|
|
54
69
|
<DropdownMenuCheckboxItem
|
|
@@ -72,7 +87,8 @@ function DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>
|
|
|
72
87
|
* Component: DataTablePagination
|
|
73
88
|
* -------------------------------------------------------------------------- */
|
|
74
89
|
|
|
75
|
-
interface DataTablePaginationProps<TData>
|
|
90
|
+
interface DataTablePaginationProps<TData>
|
|
91
|
+
extends React.HTMLAttributes<HTMLDivElement> {
|
|
76
92
|
table: ReactTable.Table<TData>;
|
|
77
93
|
}
|
|
78
94
|
|
|
@@ -82,9 +98,13 @@ function DataTablePagination<TData>({
|
|
|
82
98
|
...props
|
|
83
99
|
}: DataTablePaginationProps<TData>): React.JSX.Element {
|
|
84
100
|
return (
|
|
85
|
-
<div
|
|
101
|
+
<div
|
|
102
|
+
className={cn('flex items-center justify-between px-2', className)}
|
|
103
|
+
{...props}
|
|
104
|
+
>
|
|
86
105
|
<div className="text-muted-foreground flex-1 text-sm">
|
|
87
|
-
{table.getFilteredSelectedRowModel().rows.length} of
|
|
106
|
+
{table.getFilteredSelectedRowModel().rows.length} of{' '}
|
|
107
|
+
{table.getFilteredRowModel().rows.length} row(s) selected.
|
|
88
108
|
</div>
|
|
89
109
|
<div className="flex items-center space-x-6 lg:space-x-8">
|
|
90
110
|
<div className="flex items-center space-x-2">
|
|
@@ -108,7 +128,8 @@ function DataTablePagination<TData>({
|
|
|
108
128
|
</Select>
|
|
109
129
|
</div>
|
|
110
130
|
<div className="flex w-28 items-center justify-center text-sm font-medium">
|
|
111
|
-
Page {table.getState().pagination.pageIndex + 1} of
|
|
131
|
+
Page {table.getState().pagination.pageIndex + 1} of{' '}
|
|
132
|
+
{table.getPageCount()}
|
|
112
133
|
</div>
|
|
113
134
|
<div className="flex items-center space-x-2">
|
|
114
135
|
<Button
|
|
@@ -167,7 +188,8 @@ function DataTablePagination<TData>({
|
|
|
167
188
|
* Component: DataTableColumnHeader
|
|
168
189
|
* -------------------------------------------------------------------------- */
|
|
169
190
|
|
|
170
|
-
interface DataTableColumnHeaderProps<TData, TValue>
|
|
191
|
+
interface DataTableColumnHeaderProps<TData, TValue>
|
|
192
|
+
extends React.HTMLAttributes<HTMLDivElement> {
|
|
171
193
|
column: ReactTable.Column<TData, TValue>;
|
|
172
194
|
title: string;
|
|
173
195
|
}
|
|
@@ -182,10 +204,14 @@ function DataTableColumnHeader<TData, TValue>({
|
|
|
182
204
|
}
|
|
183
205
|
|
|
184
206
|
return (
|
|
185
|
-
<div className={cn(
|
|
207
|
+
<div className={cn('flex items-center space-x-2', className)}>
|
|
186
208
|
<DropdownMenu>
|
|
187
209
|
<DropdownMenuTrigger asChild>
|
|
188
|
-
<Button
|
|
210
|
+
<Button
|
|
211
|
+
variant="ghost"
|
|
212
|
+
size="xs"
|
|
213
|
+
className="data-[state=open]:bg-accent -ml-3"
|
|
214
|
+
>
|
|
189
215
|
<span>{title}</span>
|
|
190
216
|
<SortIcon sorted={column.getIsSorted()} />
|
|
191
217
|
</Button>
|
|
@@ -222,11 +248,15 @@ function DataTableColumnHeader<TData, TValue>({
|
|
|
222
248
|
);
|
|
223
249
|
}
|
|
224
250
|
|
|
225
|
-
function SortIcon({
|
|
251
|
+
function SortIcon({
|
|
252
|
+
sorted,
|
|
253
|
+
}: {
|
|
254
|
+
sorted: false | ReactTable.SortDirection;
|
|
255
|
+
}): React.JSX.Element {
|
|
226
256
|
switch (sorted) {
|
|
227
|
-
case
|
|
257
|
+
case 'desc':
|
|
228
258
|
return <ArrowDownIcon className="ml-2 size-4" />;
|
|
229
|
-
case
|
|
259
|
+
case 'asc':
|
|
230
260
|
return <ArrowUpIcon className="ml-2 size-4" />;
|
|
231
261
|
default:
|
|
232
262
|
return <CaretSortIcon className="ml-2 size-4" />;
|