@codefast/ui 0.0.65 → 0.0.67
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-ZMF2SRE5.js → chunk-26W5NJTU.js} +1 -1
- package/dist/chunk-26W5NJTU.js.map +1 -0
- package/dist/chunk-3COHZ24E.cjs +2 -0
- package/dist/chunk-3COHZ24E.cjs.map +1 -0
- package/dist/{chunk-QEWITXOV.cjs → chunk-4MTN7WZ2.cjs} +1 -1
- package/dist/chunk-4MTN7WZ2.cjs.map +1 -0
- package/dist/chunk-5QETIFO4.js +2 -0
- package/dist/chunk-5QETIFO4.js.map +1 -0
- package/dist/{chunk-WECV77JD.cjs → chunk-5RJANBDJ.cjs} +1 -1
- package/dist/chunk-5RJANBDJ.cjs.map +1 -0
- package/dist/chunk-6UQKMUZG.cjs +2 -0
- package/dist/chunk-6UQKMUZG.cjs.map +1 -0
- package/dist/chunk-AVEDWLNQ.js +2 -0
- package/dist/chunk-AVEDWLNQ.js.map +1 -0
- package/dist/{chunk-YLE5XFEO.cjs → chunk-EW7DAPDC.cjs} +1 -1
- package/dist/chunk-EW7DAPDC.cjs.map +1 -0
- package/dist/{chunk-RSNKUKY7.js → chunk-HDHZESSG.js} +1 -1
- package/dist/chunk-HDHZESSG.js.map +1 -0
- package/dist/{chunk-GCHNSK5O.cjs → chunk-JMM2MTPI.cjs} +1 -1
- package/dist/chunk-JMM2MTPI.cjs.map +1 -0
- package/dist/{chunk-WRO3QIWH.js → chunk-JNOLIDCD.js} +1 -1
- package/dist/chunk-JNOLIDCD.js.map +1 -0
- package/dist/{chunk-F5TIIJJJ.cjs → chunk-LOJBMYTH.cjs} +1 -1
- package/dist/chunk-LOJBMYTH.cjs.map +1 -0
- package/dist/{chunk-A5ILA637.js → chunk-RBP4PBCK.js} +1 -1
- package/dist/chunk-RBP4PBCK.js.map +1 -0
- package/dist/{chunk-L7IASKCH.js → chunk-RVGKUNXC.js} +1 -1
- package/dist/{chunk-L7IASKCH.js.map → chunk-RVGKUNXC.js.map} +1 -1
- package/dist/{chunk-72NPDP3X.cjs → chunk-T3G5USVY.cjs} +1 -1
- package/dist/chunk-T3G5USVY.cjs.map +1 -0
- package/dist/chunk-VDVLCSO4.js +2 -0
- package/dist/chunk-VDVLCSO4.js.map +1 -0
- package/dist/{chunk-2OBTJ7SD.cjs → chunk-WKKCZQNO.cjs} +2 -2
- package/dist/chunk-WKKCZQNO.cjs.map +1 -0
- package/dist/{chunk-FNQFZJUG.js → chunk-WQFHFTYS.js} +1 -1
- package/dist/chunk-WQFHFTYS.js.map +1 -0
- package/dist/react/accordion.cjs.map +1 -1
- package/dist/react/accordion.js.map +1 -1
- package/dist/react/alert-dialog.cjs +1 -1
- package/dist/react/alert-dialog.cjs.map +1 -1
- package/dist/react/alert-dialog.js +1 -1
- package/dist/react/alert-dialog.js.map +1 -1
- package/dist/react/alert.cjs.map +1 -1
- package/dist/react/alert.js.map +1 -1
- package/dist/react/avatar.cjs.map +1 -1
- package/dist/react/avatar.js.map +1 -1
- package/dist/react/blockquote.cjs.map +1 -1
- package/dist/react/blockquote.js.map +1 -1
- package/dist/react/box.cjs.map +1 -1
- package/dist/react/box.js.map +1 -1
- package/dist/react/breadcrumb.cjs.map +1 -1
- package/dist/react/breadcrumb.js.map +1 -1
- package/dist/react/button.cjs +1 -1
- package/dist/react/button.js +1 -1
- package/dist/react/calendar.cjs +1 -1
- package/dist/react/calendar.js +1 -1
- package/dist/react/card.cjs.map +1 -1
- package/dist/react/card.js.map +1 -1
- package/dist/react/carousel.cjs +1 -1
- package/dist/react/carousel.cjs.map +1 -1
- package/dist/react/carousel.js +1 -1
- package/dist/react/carousel.js.map +1 -1
- package/dist/react/checkbox-cards.cjs +1 -1
- package/dist/react/checkbox-cards.cjs.map +1 -1
- package/dist/react/checkbox-cards.js +1 -1
- package/dist/react/checkbox-cards.js.map +1 -1
- package/dist/react/checkbox-group.cjs +1 -1
- package/dist/react/checkbox-group.cjs.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.primitive.cjs +1 -1
- package/dist/react/checkbox-group.primitive.js +1 -1
- package/dist/react/checkbox.cjs +1 -1
- package/dist/react/checkbox.cjs.map +1 -1
- package/dist/react/checkbox.js +1 -1
- package/dist/react/checkbox.js.map +1 -1
- package/dist/react/code.cjs.map +1 -1
- package/dist/react/code.js.map +1 -1
- package/dist/react/collapsible.cjs.map +1 -1
- package/dist/react/collapsible.js.map +1 -1
- package/dist/react/command.cjs +1 -1
- package/dist/react/command.cjs.map +1 -1
- package/dist/react/command.js +1 -1
- package/dist/react/command.js.map +1 -1
- package/dist/react/container.cjs.map +1 -1
- package/dist/react/container.js.map +1 -1
- package/dist/react/context-menu.cjs.map +1 -1
- package/dist/react/context-menu.js.map +1 -1
- package/dist/react/data-table.cjs +1 -1
- package/dist/react/data-table.js +1 -1
- package/dist/react/dialog.cjs +1 -1
- package/dist/react/dialog.js +1 -1
- package/dist/react/drawer.cjs.map +1 -1
- package/dist/react/drawer.js.map +1 -1
- package/dist/react/dropdown-menu.cjs +1 -1
- package/dist/react/dropdown-menu.js +1 -1
- package/dist/react/em.cjs.map +1 -1
- package/dist/react/em.js.map +1 -1
- package/dist/react/form.cjs +1 -1
- package/dist/react/form.cjs.map +1 -1
- package/dist/react/form.js +1 -1
- package/dist/react/form.js.map +1 -1
- package/dist/react/heading.cjs.map +1 -1
- package/dist/react/heading.js.map +1 -1
- package/dist/react/hover-card.cjs.map +1 -1
- package/dist/react/hover-card.js.map +1 -1
- package/dist/react/input-otp.cjs +1 -1
- package/dist/react/input-otp.cjs.map +1 -1
- package/dist/react/input-otp.js +1 -1
- package/dist/react/input-otp.js.map +1 -1
- package/dist/react/input.cjs +1 -1
- package/dist/react/input.cjs.map +1 -1
- package/dist/react/input.d.cts +113 -34
- package/dist/react/input.d.ts +113 -34
- package/dist/react/input.js +1 -1
- package/dist/react/input.js.map +1 -1
- package/dist/react/kbd.cjs.map +1 -1
- package/dist/react/kbd.js.map +1 -1
- package/dist/react/label.cjs +1 -1
- package/dist/react/label.js +1 -1
- package/dist/react/menubar.cjs.map +1 -1
- package/dist/react/menubar.js.map +1 -1
- package/dist/react/navigation-menu.cjs.map +1 -1
- package/dist/react/navigation-menu.js.map +1 -1
- package/dist/react/pagination.cjs +1 -1
- package/dist/react/pagination.cjs.map +1 -1
- package/dist/react/pagination.js +1 -1
- package/dist/react/pagination.js.map +1 -1
- package/dist/react/popover.cjs.map +1 -1
- package/dist/react/popover.js.map +1 -1
- package/dist/react/pre.cjs.map +1 -1
- package/dist/react/pre.js.map +1 -1
- package/dist/react/progress.cjs.map +1 -1
- package/dist/react/progress.js.map +1 -1
- package/dist/react/quote.cjs.map +1 -1
- package/dist/react/quote.js.map +1 -1
- package/dist/react/radio-cards.cjs +1 -1
- package/dist/react/radio-cards.cjs.map +1 -1
- package/dist/react/radio-cards.js +1 -1
- package/dist/react/radio-cards.js.map +1 -1
- package/dist/react/radio-group.cjs.map +1 -1
- package/dist/react/radio-group.js.map +1 -1
- package/dist/react/radio.cjs.map +1 -1
- package/dist/react/radio.js.map +1 -1
- package/dist/react/scroll-area.cjs.map +1 -1
- package/dist/react/scroll-area.js.map +1 -1
- package/dist/react/section.cjs.map +1 -1
- package/dist/react/section.js.map +1 -1
- package/dist/react/select.cjs +1 -1
- package/dist/react/select.js +1 -1
- package/dist/react/separator.cjs.map +1 -1
- package/dist/react/separator.js.map +1 -1
- package/dist/react/sheet.cjs.map +1 -1
- package/dist/react/sheet.js.map +1 -1
- package/dist/react/slider.cjs.map +1 -1
- package/dist/react/slider.js.map +1 -1
- package/dist/react/spinner.cjs +1 -1
- package/dist/react/spinner.js +1 -1
- package/dist/react/strong.cjs.map +1 -1
- package/dist/react/strong.js.map +1 -1
- package/dist/react/switch.cjs +1 -1
- package/dist/react/switch.cjs.map +1 -1
- package/dist/react/switch.js +1 -1
- package/dist/react/switch.js.map +1 -1
- package/dist/react/table.cjs.map +1 -1
- package/dist/react/table.js.map +1 -1
- package/dist/react/tabs.cjs.map +1 -1
- package/dist/react/tabs.js.map +1 -1
- package/dist/react/text-input.cjs +2 -0
- package/dist/react/text-input.cjs.map +1 -0
- package/dist/react/text-input.d.cts +11 -0
- package/dist/react/text-input.d.ts +11 -0
- package/dist/react/text-input.js +2 -0
- package/dist/react/text-input.js.map +1 -0
- package/dist/react/text.cjs.map +1 -1
- package/dist/react/text.js.map +1 -1
- package/dist/react/textarea.cjs +1 -1
- package/dist/react/textarea.cjs.map +1 -1
- package/dist/react/textarea.js +1 -1
- package/dist/react/textarea.js.map +1 -1
- package/dist/react/toggle-group.cjs +1 -1
- package/dist/react/toggle-group.cjs.map +1 -1
- package/dist/react/toggle-group.js +1 -1
- package/dist/react/toggle-group.js.map +1 -1
- package/dist/react/toggle.cjs +1 -1
- package/dist/react/toggle.js +1 -1
- package/dist/react/tooltip.cjs.map +1 -1
- package/dist/react/tooltip.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/package.json +76 -102
- package/dist/chunk-2OBTJ7SD.cjs.map +0 -1
- package/dist/chunk-3OEPCFBF.cjs +0 -2
- package/dist/chunk-3OEPCFBF.cjs.map +0 -1
- package/dist/chunk-6AFJCDFU.js +0 -2
- package/dist/chunk-6AFJCDFU.js.map +0 -1
- package/dist/chunk-72NPDP3X.cjs.map +0 -1
- package/dist/chunk-7CHCTEST.js +0 -2
- package/dist/chunk-7CHCTEST.js.map +0 -1
- package/dist/chunk-A5ILA637.js.map +0 -1
- package/dist/chunk-DH3YP4ZC.cjs +0 -2
- package/dist/chunk-DH3YP4ZC.cjs.map +0 -1
- package/dist/chunk-DTSAQICV.js +0 -2
- package/dist/chunk-DTSAQICV.js.map +0 -1
- package/dist/chunk-F5TIIJJJ.cjs.map +0 -1
- package/dist/chunk-FNQFZJUG.js.map +0 -1
- package/dist/chunk-GCHNSK5O.cjs.map +0 -1
- package/dist/chunk-NH6X3FON.js +0 -2
- package/dist/chunk-NH6X3FON.js.map +0 -1
- package/dist/chunk-P563ILDJ.cjs +0 -2
- package/dist/chunk-P563ILDJ.cjs.map +0 -1
- package/dist/chunk-QEWITXOV.cjs.map +0 -1
- package/dist/chunk-RSNKUKY7.js.map +0 -1
- package/dist/chunk-VVA2EE5V.js +0 -2
- package/dist/chunk-VVA2EE5V.js.map +0 -1
- package/dist/chunk-VZ6P3BCB.cjs +0 -2
- package/dist/chunk-VZ6P3BCB.cjs.map +0 -1
- package/dist/chunk-WECV77JD.cjs.map +0 -1
- package/dist/chunk-WRO3QIWH.js.map +0 -1
- package/dist/chunk-YLE5XFEO.cjs.map +0 -1
- package/dist/chunk-ZMF2SRE5.js.map +0 -1
- package/dist/hooks/use-media-query.cjs +0 -2
- package/dist/hooks/use-media-query.cjs.map +0 -1
- package/dist/hooks/use-media-query.d.cts +0 -3
- package/dist/hooks/use-media-query.d.ts +0 -3
- package/dist/hooks/use-media-query.js +0 -2
- package/dist/hooks/use-media-query.js.map +0 -1
- package/dist/hooks/use-mutation-observer.cjs +0 -2
- package/dist/hooks/use-mutation-observer.cjs.map +0 -1
- package/dist/hooks/use-mutation-observer.d.cts +0 -5
- package/dist/hooks/use-mutation-observer.d.ts +0 -5
- package/dist/hooks/use-mutation-observer.js +0 -2
- package/dist/hooks/use-mutation-observer.js.map +0 -1
- package/dist/lib/colors.cjs +0 -2
- package/dist/lib/colors.cjs.map +0 -1
- package/dist/lib/colors.d.cts +0 -1759
- package/dist/lib/colors.d.ts +0 -1759
- package/dist/lib/colors.js +0 -2
- package/dist/lib/colors.js.map +0 -1
- package/dist/plugin/animate.plugin.cjs +0 -2
- package/dist/plugin/animate.plugin.cjs.map +0 -1
- package/dist/plugin/animate.plugin.js +0 -2
- package/dist/plugin/animate.plugin.js.map +0 -1
- package/dist/plugin/base.plugin.cjs +0 -2
- package/dist/plugin/base.plugin.cjs.map +0 -1
- package/dist/plugin/base.plugin.js +0 -2
- package/dist/plugin/base.plugin.js.map +0 -1
- package/dist/plugin/perspective.plugin.cjs +0 -2
- package/dist/plugin/perspective.plugin.cjs.map +0 -1
- package/dist/plugin/perspective.plugin.js +0 -2
- package/dist/plugin/perspective.plugin.js.map +0 -1
- package/dist/tailwind.config.cjs +0 -2
- package/dist/tailwind.config.cjs.map +0 -1
- package/dist/tailwind.config.js +0 -2
- package/dist/tailwind.config.js.map +0 -1
- package/plugin/animate.plugin.ts +0 -319
- package/plugin/base.plugin.ts +0 -21
- package/plugin/perspective.plugin.ts +0 -11
- package/src/hooks/use-media-query.ts +0 -22
- package/src/hooks/use-mutation-observer.ts +0 -26
- package/src/lib/colors.ts +0 -1757
- package/src/lib/utils.ts +0 -6
- package/src/react/accordion.tsx +0 -86
- package/src/react/alert-dialog.tsx +0 -177
- package/src/react/alert.tsx +0 -71
- package/src/react/aspect-ratio.tsx +0 -17
- package/src/react/avatar.tsx +0 -58
- package/src/react/badge.tsx +0 -39
- package/src/react/blockquote.tsx +0 -26
- package/src/react/box.tsx +0 -34
- package/src/react/breadcrumb.tsx +0 -148
- package/src/react/button.tsx +0 -95
- package/src/react/calendar.tsx +0 -79
- package/src/react/card.tsx +0 -103
- package/src/react/carousel.tsx +0 -299
- package/src/react/checkbox-cards.tsx +0 -59
- package/src/react/checkbox-group.primitive.tsx +0 -200
- package/src/react/checkbox-group.tsx +0 -53
- package/src/react/checkbox.tsx +0 -36
- package/src/react/code.tsx +0 -26
- package/src/react/collapsible.tsx +0 -54
- package/src/react/command.tsx +0 -199
- package/src/react/container.tsx +0 -27
- package/src/react/context-menu.tsx +0 -302
- package/src/react/data-table.tsx +0 -249
- package/src/react/dialog.tsx +0 -156
- package/src/react/drawer.tsx +0 -132
- package/src/react/dropdown-menu.tsx +0 -286
- package/src/react/em.tsx +0 -26
- package/src/react/form.tsx +0 -218
- package/src/react/heading.tsx +0 -27
- package/src/react/hover-card.tsx +0 -73
- package/src/react/input-otp.tsx +0 -114
- package/src/react/input.tsx +0 -42
- package/src/react/kbd.tsx +0 -36
- package/src/react/label.tsx +0 -31
- package/src/react/menubar.tsx +0 -316
- package/src/react/navigation-menu.tsx +0 -192
- package/src/react/pagination.tsx +0 -150
- package/src/react/popover.tsx +0 -82
- package/src/react/pre.tsx +0 -26
- package/src/react/progress.tsx +0 -35
- package/src/react/quote.tsx +0 -26
- package/src/react/radio-cards.tsx +0 -46
- package/src/react/radio-group.tsx +0 -48
- package/src/react/radio.tsx +0 -38
- package/src/react/resizable.tsx +0 -62
- package/src/react/scroll-area.tsx +0 -106
- package/src/react/section.tsx +0 -26
- package/src/react/select.tsx +0 -217
- package/src/react/separator.tsx +0 -32
- package/src/react/sheet.tsx +0 -170
- package/src/react/skeleton.tsx +0 -18
- package/src/react/slider.tsx +0 -41
- package/src/react/sonner.tsx +0 -40
- package/src/react/spinner.tsx +0 -68
- package/src/react/strong.tsx +0 -26
- package/src/react/switch.tsx +0 -33
- package/src/react/table.tsx +0 -142
- package/src/react/tabs.tsx +0 -87
- package/src/react/text.tsx +0 -34
- package/src/react/textarea.tsx +0 -30
- package/src/react/toggle-group.tsx +0 -81
- package/src/react/toggle.tsx +0 -49
- package/src/react/tooltip.tsx +0 -81
- package/src/styles/styles.css +0 -3
- package/tailwind.config.ts +0 -126
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
|
|
5
|
-
import { CheckIcon, ChevronRightIcon, DotFilledIcon } from '@radix-ui/react-icons';
|
|
6
|
-
import { cn } from '../lib/utils';
|
|
7
|
-
|
|
8
|
-
/* -----------------------------------------------------------------------------
|
|
9
|
-
* Component: ContextMenu
|
|
10
|
-
* -------------------------------------------------------------------------- */
|
|
11
|
-
|
|
12
|
-
type ContextMenuProps = React.ComponentProps<typeof ContextMenuPrimitive.Root>;
|
|
13
|
-
const ContextMenu = ContextMenuPrimitive.Root;
|
|
14
|
-
|
|
15
|
-
/* -----------------------------------------------------------------------------
|
|
16
|
-
* Component: ContextMenuTrigger
|
|
17
|
-
* -------------------------------------------------------------------------- */
|
|
18
|
-
|
|
19
|
-
type ContextMenuTriggerProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Trigger>;
|
|
20
|
-
const ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
21
|
-
|
|
22
|
-
/* -----------------------------------------------------------------------------
|
|
23
|
-
* Component: ContextMenuGroup
|
|
24
|
-
* -------------------------------------------------------------------------- */
|
|
25
|
-
|
|
26
|
-
type ContextMenuGroupProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Group>;
|
|
27
|
-
const ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
28
|
-
|
|
29
|
-
/* -----------------------------------------------------------------------------
|
|
30
|
-
* Component: ContextMenuSub
|
|
31
|
-
* -------------------------------------------------------------------------- */
|
|
32
|
-
|
|
33
|
-
type ContextMenuSubProps = React.ComponentProps<typeof ContextMenuPrimitive.Sub>;
|
|
34
|
-
const ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
35
|
-
|
|
36
|
-
/* -----------------------------------------------------------------------------
|
|
37
|
-
* Component: ContextMenuRadioGroup
|
|
38
|
-
* -------------------------------------------------------------------------- */
|
|
39
|
-
|
|
40
|
-
type ContextMenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioGroup>;
|
|
41
|
-
const ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
42
|
-
|
|
43
|
-
/* -----------------------------------------------------------------------------
|
|
44
|
-
* Component: ContextMenuSubTrigger
|
|
45
|
-
* -------------------------------------------------------------------------- */
|
|
46
|
-
|
|
47
|
-
type ContextMenuSubTriggerElement = React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>;
|
|
48
|
-
|
|
49
|
-
interface ContextMenuSubTriggerProps extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> {
|
|
50
|
-
inset?: boolean;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const ContextMenuSubTrigger = React.forwardRef<ContextMenuSubTriggerElement, ContextMenuSubTriggerProps>(
|
|
54
|
-
({ children, className, inset, ...props }, ref) => (
|
|
55
|
-
<ContextMenuPrimitive.SubTrigger
|
|
56
|
-
ref={ref}
|
|
57
|
-
className={cn(
|
|
58
|
-
'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none',
|
|
59
|
-
inset && 'pl-8',
|
|
60
|
-
className,
|
|
61
|
-
)}
|
|
62
|
-
{...props}
|
|
63
|
-
>
|
|
64
|
-
{children}
|
|
65
|
-
<ChevronRightIcon className="ml-auto size-4" />
|
|
66
|
-
</ContextMenuPrimitive.SubTrigger>
|
|
67
|
-
),
|
|
68
|
-
);
|
|
69
|
-
|
|
70
|
-
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
71
|
-
|
|
72
|
-
/* -----------------------------------------------------------------------------
|
|
73
|
-
* Component: ContextMenuSubContent
|
|
74
|
-
* -------------------------------------------------------------------------- */
|
|
75
|
-
|
|
76
|
-
type ContextMenuSubContentElement = React.ElementRef<typeof ContextMenuPrimitive.SubContent>;
|
|
77
|
-
type ContextMenuSubContentProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>;
|
|
78
|
-
|
|
79
|
-
const ContextMenuSubContent = React.forwardRef<ContextMenuSubContentElement, ContextMenuSubContentProps>(
|
|
80
|
-
({ className, ...props }, ref) => (
|
|
81
|
-
<ContextMenuPrimitive.Portal>
|
|
82
|
-
<ContextMenuPrimitive.SubContent
|
|
83
|
-
ref={ref}
|
|
84
|
-
className={cn(
|
|
85
|
-
'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',
|
|
86
|
-
className,
|
|
87
|
-
)}
|
|
88
|
-
{...props}
|
|
89
|
-
/>
|
|
90
|
-
</ContextMenuPrimitive.Portal>
|
|
91
|
-
),
|
|
92
|
-
);
|
|
93
|
-
|
|
94
|
-
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
95
|
-
|
|
96
|
-
/* -----------------------------------------------------------------------------
|
|
97
|
-
* Component: ContextMenuContent
|
|
98
|
-
* -------------------------------------------------------------------------- */
|
|
99
|
-
|
|
100
|
-
type ContextMenuContentElement = React.ElementRef<typeof ContextMenuPrimitive.Content>;
|
|
101
|
-
type ContextMenuContentProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>;
|
|
102
|
-
|
|
103
|
-
const ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(
|
|
104
|
-
({ className, ...props }, ref) => (
|
|
105
|
-
<ContextMenuPrimitive.Portal>
|
|
106
|
-
<ContextMenuPrimitive.Content
|
|
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 z-50 min-w-32 rounded-md border p-1 shadow-md',
|
|
110
|
-
className,
|
|
111
|
-
)}
|
|
112
|
-
{...props}
|
|
113
|
-
/>
|
|
114
|
-
</ContextMenuPrimitive.Portal>
|
|
115
|
-
),
|
|
116
|
-
);
|
|
117
|
-
|
|
118
|
-
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
119
|
-
|
|
120
|
-
/* -----------------------------------------------------------------------------
|
|
121
|
-
* Component: ContextMenuItem
|
|
122
|
-
* -------------------------------------------------------------------------- */
|
|
123
|
-
|
|
124
|
-
type ContextMenuItemElement = React.ElementRef<typeof ContextMenuPrimitive.Item>;
|
|
125
|
-
|
|
126
|
-
interface ContextMenuItemProps extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> {
|
|
127
|
-
inset?: boolean;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
const ContextMenuItem = React.forwardRef<ContextMenuItemElement, ContextMenuItemProps>(
|
|
131
|
-
({ className, inset, ...props }, ref) => (
|
|
132
|
-
<ContextMenuPrimitive.Item
|
|
133
|
-
ref={ref}
|
|
134
|
-
className={cn(
|
|
135
|
-
'focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer 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',
|
|
136
|
-
inset && 'pl-8',
|
|
137
|
-
className,
|
|
138
|
-
)}
|
|
139
|
-
{...props}
|
|
140
|
-
/>
|
|
141
|
-
),
|
|
142
|
-
);
|
|
143
|
-
|
|
144
|
-
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
145
|
-
|
|
146
|
-
/* -----------------------------------------------------------------------------
|
|
147
|
-
* Component: ContextMenuCheckboxItem
|
|
148
|
-
* -------------------------------------------------------------------------- */
|
|
149
|
-
|
|
150
|
-
type ContextMenuCheckboxItemElement = React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>;
|
|
151
|
-
type ContextMenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>;
|
|
152
|
-
|
|
153
|
-
const ContextMenuCheckboxItem = React.forwardRef<ContextMenuCheckboxItemElement, ContextMenuCheckboxItemProps>(
|
|
154
|
-
({ children, className, checked, ...props }, ref) => (
|
|
155
|
-
<ContextMenuPrimitive.CheckboxItem
|
|
156
|
-
ref={ref}
|
|
157
|
-
checked={checked}
|
|
158
|
-
className={cn(
|
|
159
|
-
'focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer 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',
|
|
160
|
-
className,
|
|
161
|
-
)}
|
|
162
|
-
{...props}
|
|
163
|
-
>
|
|
164
|
-
<span className="absolute left-2 flex size-3.5 items-center justify-center">
|
|
165
|
-
<ContextMenuPrimitive.ItemIndicator>
|
|
166
|
-
<CheckIcon className="size-4" />
|
|
167
|
-
</ContextMenuPrimitive.ItemIndicator>
|
|
168
|
-
</span>
|
|
169
|
-
{children}
|
|
170
|
-
</ContextMenuPrimitive.CheckboxItem>
|
|
171
|
-
),
|
|
172
|
-
);
|
|
173
|
-
|
|
174
|
-
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
175
|
-
|
|
176
|
-
/* -----------------------------------------------------------------------------
|
|
177
|
-
* Component: ContextMenuRadioItem
|
|
178
|
-
* -------------------------------------------------------------------------- */
|
|
179
|
-
|
|
180
|
-
type ContextMenuRadioItemElement = React.ElementRef<typeof ContextMenuPrimitive.RadioItem>;
|
|
181
|
-
type ContextMenuRadioItemProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>;
|
|
182
|
-
|
|
183
|
-
const ContextMenuRadioItem = React.forwardRef<ContextMenuRadioItemElement, ContextMenuRadioItemProps>(
|
|
184
|
-
({ children, className, ...props }, ref) => (
|
|
185
|
-
<ContextMenuPrimitive.RadioItem
|
|
186
|
-
ref={ref}
|
|
187
|
-
className={cn(
|
|
188
|
-
'focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer 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',
|
|
189
|
-
className,
|
|
190
|
-
)}
|
|
191
|
-
{...props}
|
|
192
|
-
>
|
|
193
|
-
<span className="absolute left-2 flex size-3.5 items-center justify-center">
|
|
194
|
-
<ContextMenuPrimitive.ItemIndicator>
|
|
195
|
-
<DotFilledIcon className="size-4 fill-current" />
|
|
196
|
-
</ContextMenuPrimitive.ItemIndicator>
|
|
197
|
-
</span>
|
|
198
|
-
{children}
|
|
199
|
-
</ContextMenuPrimitive.RadioItem>
|
|
200
|
-
),
|
|
201
|
-
);
|
|
202
|
-
|
|
203
|
-
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
204
|
-
|
|
205
|
-
/* -----------------------------------------------------------------------------
|
|
206
|
-
* Component: ContextMenuLabel
|
|
207
|
-
* -------------------------------------------------------------------------- */
|
|
208
|
-
|
|
209
|
-
type ContextMenuLabelElement = React.ElementRef<typeof ContextMenuPrimitive.Label>;
|
|
210
|
-
|
|
211
|
-
interface ContextMenuLabelProps extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> {
|
|
212
|
-
inset?: boolean;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
const ContextMenuLabel = React.forwardRef<ContextMenuLabelElement, ContextMenuLabelProps>(
|
|
216
|
-
({ className, inset, ...props }, ref) => (
|
|
217
|
-
<ContextMenuPrimitive.Label
|
|
218
|
-
ref={ref}
|
|
219
|
-
className={cn('text-foreground px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}
|
|
220
|
-
{...props}
|
|
221
|
-
/>
|
|
222
|
-
),
|
|
223
|
-
);
|
|
224
|
-
|
|
225
|
-
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
226
|
-
|
|
227
|
-
/* -----------------------------------------------------------------------------
|
|
228
|
-
* Component: ContextMenuSeparator
|
|
229
|
-
* -------------------------------------------------------------------------- */
|
|
230
|
-
|
|
231
|
-
type ContextMenuSeparatorElement = React.ElementRef<typeof ContextMenuPrimitive.Separator>;
|
|
232
|
-
type ContextMenuSeparatorProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>;
|
|
233
|
-
|
|
234
|
-
const ContextMenuSeparator = React.forwardRef<ContextMenuSeparatorElement, ContextMenuSeparatorProps>(
|
|
235
|
-
({ className, ...props }, ref) => (
|
|
236
|
-
<ContextMenuPrimitive.Separator ref={ref} className={cn('bg-border -mx-1 my-1 h-px', className)} {...props} />
|
|
237
|
-
),
|
|
238
|
-
);
|
|
239
|
-
|
|
240
|
-
ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
|
241
|
-
|
|
242
|
-
/* -----------------------------------------------------------------------------
|
|
243
|
-
* Component: ContextMenuShortcut
|
|
244
|
-
* -------------------------------------------------------------------------- */
|
|
245
|
-
|
|
246
|
-
type ContextMenuShortcutProps = React.HTMLAttributes<HTMLSpanElement>;
|
|
247
|
-
|
|
248
|
-
function ContextMenuShortcut({ className, ...props }: ContextMenuShortcutProps): React.JSX.Element {
|
|
249
|
-
return <span className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)} {...props} />;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
/* -----------------------------------------------------------------------------
|
|
253
|
-
* Component: ContextMenuArrow
|
|
254
|
-
* -------------------------------------------------------------------------- */
|
|
255
|
-
|
|
256
|
-
type ContextMenuArrowElement = React.ElementRef<typeof ContextMenuPrimitive.Arrow>;
|
|
257
|
-
type ContextMenuArrowProps = ContextMenuPrimitive.ContextMenuArrowProps;
|
|
258
|
-
|
|
259
|
-
const ContextMenuArrow = React.forwardRef<ContextMenuArrowElement, ContextMenuArrowProps>(
|
|
260
|
-
({ className, ...props }, ref) => (
|
|
261
|
-
<ContextMenuPrimitive.Arrow ref={ref} className={cn('fill-popover', className)} {...props} />
|
|
262
|
-
),
|
|
263
|
-
);
|
|
264
|
-
|
|
265
|
-
ContextMenuArrow.displayName = ContextMenuPrimitive.Arrow.displayName;
|
|
266
|
-
|
|
267
|
-
/* -----------------------------------------------------------------------------
|
|
268
|
-
* Exports
|
|
269
|
-
* -------------------------------------------------------------------------- */
|
|
270
|
-
|
|
271
|
-
export {
|
|
272
|
-
ContextMenu,
|
|
273
|
-
ContextMenuTrigger,
|
|
274
|
-
ContextMenuContent,
|
|
275
|
-
ContextMenuItem,
|
|
276
|
-
ContextMenuCheckboxItem,
|
|
277
|
-
ContextMenuRadioItem,
|
|
278
|
-
ContextMenuLabel,
|
|
279
|
-
ContextMenuSeparator,
|
|
280
|
-
ContextMenuShortcut,
|
|
281
|
-
ContextMenuGroup,
|
|
282
|
-
ContextMenuSub,
|
|
283
|
-
ContextMenuSubContent,
|
|
284
|
-
ContextMenuSubTrigger,
|
|
285
|
-
ContextMenuRadioGroup,
|
|
286
|
-
ContextMenuArrow,
|
|
287
|
-
type ContextMenuProps,
|
|
288
|
-
type ContextMenuTriggerProps,
|
|
289
|
-
type ContextMenuContentProps,
|
|
290
|
-
type ContextMenuItemProps,
|
|
291
|
-
type ContextMenuCheckboxItemProps,
|
|
292
|
-
type ContextMenuRadioItemProps,
|
|
293
|
-
type ContextMenuLabelProps,
|
|
294
|
-
type ContextMenuSeparatorProps,
|
|
295
|
-
type ContextMenuShortcutProps,
|
|
296
|
-
type ContextMenuGroupProps,
|
|
297
|
-
type ContextMenuSubProps,
|
|
298
|
-
type ContextMenuSubContentProps,
|
|
299
|
-
type ContextMenuSubTriggerProps,
|
|
300
|
-
type ContextMenuRadioGroupProps,
|
|
301
|
-
type ContextMenuArrowProps,
|
|
302
|
-
};
|
package/src/react/data-table.tsx
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import {
|
|
5
|
-
ArrowDownIcon,
|
|
6
|
-
ArrowUpIcon,
|
|
7
|
-
CaretSortIcon,
|
|
8
|
-
ChevronLeftIcon,
|
|
9
|
-
ChevronRightIcon,
|
|
10
|
-
DoubleArrowLeftIcon,
|
|
11
|
-
DoubleArrowRightIcon,
|
|
12
|
-
EyeNoneIcon,
|
|
13
|
-
MixerHorizontalIcon,
|
|
14
|
-
} from '@radix-ui/react-icons';
|
|
15
|
-
import type * as ReactTable from '@tanstack/react-table';
|
|
16
|
-
import { cn } from '../lib/utils';
|
|
17
|
-
import {
|
|
18
|
-
DropdownMenu,
|
|
19
|
-
DropdownMenuCheckboxItem,
|
|
20
|
-
DropdownMenuContent,
|
|
21
|
-
DropdownMenuItem,
|
|
22
|
-
DropdownMenuLabel,
|
|
23
|
-
DropdownMenuSeparator,
|
|
24
|
-
DropdownMenuTrigger,
|
|
25
|
-
} from './dropdown-menu';
|
|
26
|
-
import { Button } from './button';
|
|
27
|
-
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './select';
|
|
28
|
-
|
|
29
|
-
/* -----------------------------------------------------------------------------
|
|
30
|
-
* Component: DataTableViewOptions
|
|
31
|
-
* -------------------------------------------------------------------------- */
|
|
32
|
-
|
|
33
|
-
interface DataTableViewOptionsProps<TData> {
|
|
34
|
-
table: ReactTable.Table<TData>;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>): React.JSX.Element {
|
|
38
|
-
return (
|
|
39
|
-
<DropdownMenu>
|
|
40
|
-
<DropdownMenuTrigger asChild>
|
|
41
|
-
<Button className="ml-auto hidden h-8 lg:flex" size="sm" variant="outline">
|
|
42
|
-
<MixerHorizontalIcon className="mr-2 size-4" />
|
|
43
|
-
View
|
|
44
|
-
</Button>
|
|
45
|
-
</DropdownMenuTrigger>
|
|
46
|
-
<DropdownMenuContent align="end" className="w-36">
|
|
47
|
-
<DropdownMenuLabel>Toggle columns</DropdownMenuLabel>
|
|
48
|
-
<DropdownMenuSeparator />
|
|
49
|
-
{table
|
|
50
|
-
.getAllColumns()
|
|
51
|
-
.filter((column) => typeof column.accessorFn !== 'undefined' && column.getCanHide())
|
|
52
|
-
.map((column) => {
|
|
53
|
-
return (
|
|
54
|
-
<DropdownMenuCheckboxItem
|
|
55
|
-
key={column.id}
|
|
56
|
-
checked={column.getIsVisible()}
|
|
57
|
-
className="capitalize"
|
|
58
|
-
onCheckedChange={(value) => {
|
|
59
|
-
column.toggleVisibility(Boolean(value));
|
|
60
|
-
}}
|
|
61
|
-
>
|
|
62
|
-
{column.id}
|
|
63
|
-
</DropdownMenuCheckboxItem>
|
|
64
|
-
);
|
|
65
|
-
})}
|
|
66
|
-
</DropdownMenuContent>
|
|
67
|
-
</DropdownMenu>
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/* -----------------------------------------------------------------------------
|
|
72
|
-
* Component: DataTablePagination
|
|
73
|
-
* -------------------------------------------------------------------------- */
|
|
74
|
-
|
|
75
|
-
interface DataTablePaginationProps<TData> extends React.HTMLAttributes<HTMLDivElement> {
|
|
76
|
-
table: ReactTable.Table<TData>;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
function DataTablePagination<TData>({
|
|
80
|
-
table,
|
|
81
|
-
className,
|
|
82
|
-
...props
|
|
83
|
-
}: DataTablePaginationProps<TData>): React.JSX.Element {
|
|
84
|
-
return (
|
|
85
|
-
<div className={cn('flex items-center justify-between px-2', className)} {...props}>
|
|
86
|
-
<div className="text-muted-foreground flex-1 text-sm">
|
|
87
|
-
{table.getFilteredSelectedRowModel().rows.length} of {table.getFilteredRowModel().rows.length} row(s) selected.
|
|
88
|
-
</div>
|
|
89
|
-
<div className="flex items-center space-x-6 lg:space-x-8">
|
|
90
|
-
<div className="flex items-center space-x-2">
|
|
91
|
-
<p className="text-sm font-medium">Rows per page</p>
|
|
92
|
-
<Select
|
|
93
|
-
value={String(table.getState().pagination.pageSize)}
|
|
94
|
-
onValueChange={(value) => {
|
|
95
|
-
table.setPageSize(Number(value));
|
|
96
|
-
}}
|
|
97
|
-
>
|
|
98
|
-
<SelectTrigger className="w-18 h-8">
|
|
99
|
-
<SelectValue placeholder={table.getState().pagination.pageSize} />
|
|
100
|
-
</SelectTrigger>
|
|
101
|
-
<SelectContent side="top">
|
|
102
|
-
{[10, 20, 30, 40, 50].map((pageSize) => (
|
|
103
|
-
<SelectItem key={pageSize} value={String(pageSize)}>
|
|
104
|
-
{pageSize}
|
|
105
|
-
</SelectItem>
|
|
106
|
-
))}
|
|
107
|
-
</SelectContent>
|
|
108
|
-
</Select>
|
|
109
|
-
</div>
|
|
110
|
-
<div className="flex w-28 items-center justify-center text-sm font-medium">
|
|
111
|
-
Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount()}
|
|
112
|
-
</div>
|
|
113
|
-
<div className="flex items-center space-x-2">
|
|
114
|
-
<Button
|
|
115
|
-
className="hidden lg:flex"
|
|
116
|
-
disabled={!table.getCanPreviousPage()}
|
|
117
|
-
size="icon-xs"
|
|
118
|
-
variant="outline"
|
|
119
|
-
onClick={() => {
|
|
120
|
-
table.setPageIndex(0);
|
|
121
|
-
}}
|
|
122
|
-
>
|
|
123
|
-
<span className="sr-only">Go to first page</span>
|
|
124
|
-
<DoubleArrowLeftIcon className="size-4" />
|
|
125
|
-
</Button>
|
|
126
|
-
<Button
|
|
127
|
-
disabled={!table.getCanPreviousPage()}
|
|
128
|
-
size="icon-xs"
|
|
129
|
-
variant="outline"
|
|
130
|
-
onClick={() => {
|
|
131
|
-
table.previousPage();
|
|
132
|
-
}}
|
|
133
|
-
>
|
|
134
|
-
<span className="sr-only">Go to previous page</span>
|
|
135
|
-
<ChevronLeftIcon className="size-4" />
|
|
136
|
-
</Button>
|
|
137
|
-
<Button
|
|
138
|
-
disabled={!table.getCanNextPage()}
|
|
139
|
-
size="icon-xs"
|
|
140
|
-
variant="outline"
|
|
141
|
-
onClick={() => {
|
|
142
|
-
table.nextPage();
|
|
143
|
-
}}
|
|
144
|
-
>
|
|
145
|
-
<span className="sr-only">Go to next page</span>
|
|
146
|
-
<ChevronRightIcon className="size-4" />
|
|
147
|
-
</Button>
|
|
148
|
-
<Button
|
|
149
|
-
className="hidden lg:flex"
|
|
150
|
-
disabled={!table.getCanNextPage()}
|
|
151
|
-
size="icon-xs"
|
|
152
|
-
variant="outline"
|
|
153
|
-
onClick={() => {
|
|
154
|
-
table.setPageIndex(table.getPageCount() - 1);
|
|
155
|
-
}}
|
|
156
|
-
>
|
|
157
|
-
<span className="sr-only">Go to last page</span>
|
|
158
|
-
<DoubleArrowRightIcon className="size-4" />
|
|
159
|
-
</Button>
|
|
160
|
-
</div>
|
|
161
|
-
</div>
|
|
162
|
-
</div>
|
|
163
|
-
);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/* -----------------------------------------------------------------------------
|
|
167
|
-
* Component: DataTableColumnHeader
|
|
168
|
-
* -------------------------------------------------------------------------- */
|
|
169
|
-
|
|
170
|
-
interface DataTableColumnHeaderProps<TData, TValue> extends React.HTMLAttributes<HTMLDivElement> {
|
|
171
|
-
column: ReactTable.Column<TData, TValue>;
|
|
172
|
-
title: string;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
function DataTableColumnHeader<TData, TValue>({
|
|
176
|
-
column,
|
|
177
|
-
title,
|
|
178
|
-
className,
|
|
179
|
-
}: DataTableColumnHeaderProps<TData, TValue>): React.JSX.Element {
|
|
180
|
-
if (!column.getCanSort()) {
|
|
181
|
-
return <div className={className}>{title}</div>;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
return (
|
|
185
|
-
<div className={cn('flex items-center space-x-2', className)}>
|
|
186
|
-
<DropdownMenu>
|
|
187
|
-
<DropdownMenuTrigger asChild>
|
|
188
|
-
<Button className="data-[state=open]:bg-accent -ml-3" size="xs" variant="ghost">
|
|
189
|
-
<span>{title}</span>
|
|
190
|
-
<SortIcon sorted={column.getIsSorted()} />
|
|
191
|
-
</Button>
|
|
192
|
-
</DropdownMenuTrigger>
|
|
193
|
-
<DropdownMenuContent align="start">
|
|
194
|
-
<DropdownMenuItem
|
|
195
|
-
onClick={() => {
|
|
196
|
-
column.toggleSorting(false);
|
|
197
|
-
}}
|
|
198
|
-
>
|
|
199
|
-
<ArrowUpIcon className="text-muted-foreground/70 mr-2 size-3.5" />
|
|
200
|
-
Asc
|
|
201
|
-
</DropdownMenuItem>
|
|
202
|
-
<DropdownMenuItem
|
|
203
|
-
onClick={() => {
|
|
204
|
-
column.toggleSorting(true);
|
|
205
|
-
}}
|
|
206
|
-
>
|
|
207
|
-
<ArrowDownIcon className="text-muted-foreground/70 mr-2 size-3.5" />
|
|
208
|
-
Desc
|
|
209
|
-
</DropdownMenuItem>
|
|
210
|
-
<DropdownMenuSeparator />
|
|
211
|
-
<DropdownMenuItem
|
|
212
|
-
onClick={() => {
|
|
213
|
-
column.toggleVisibility(false);
|
|
214
|
-
}}
|
|
215
|
-
>
|
|
216
|
-
<EyeNoneIcon className="text-muted-foreground/70 mr-2 size-3.5" />
|
|
217
|
-
Hide
|
|
218
|
-
</DropdownMenuItem>
|
|
219
|
-
</DropdownMenuContent>
|
|
220
|
-
</DropdownMenu>
|
|
221
|
-
</div>
|
|
222
|
-
);
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
function SortIcon({ sorted }: { sorted: false | ReactTable.SortDirection }): React.JSX.Element {
|
|
226
|
-
switch (sorted) {
|
|
227
|
-
case 'desc':
|
|
228
|
-
return <ArrowDownIcon className="ml-2 size-4" />;
|
|
229
|
-
|
|
230
|
-
case 'asc':
|
|
231
|
-
return <ArrowUpIcon className="ml-2 size-4" />;
|
|
232
|
-
|
|
233
|
-
default:
|
|
234
|
-
return <CaretSortIcon className="ml-2 size-4" />;
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/* -----------------------------------------------------------------------------
|
|
239
|
-
* Exports
|
|
240
|
-
* -------------------------------------------------------------------------- */
|
|
241
|
-
|
|
242
|
-
export {
|
|
243
|
-
DataTableViewOptions,
|
|
244
|
-
DataTablePagination,
|
|
245
|
-
DataTableColumnHeader,
|
|
246
|
-
type DataTableViewOptionsProps,
|
|
247
|
-
type DataTablePaginationProps,
|
|
248
|
-
type DataTableColumnHeaderProps,
|
|
249
|
-
};
|