@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
package/src/react/menubar.tsx
DELETED
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { CheckIcon, ChevronRightIcon, DotFilledIcon } from '@radix-ui/react-icons';
|
|
5
|
-
import * as MenubarPrimitive from '@radix-ui/react-menubar';
|
|
6
|
-
import { cn } from '../lib/utils';
|
|
7
|
-
|
|
8
|
-
/* -----------------------------------------------------------------------------
|
|
9
|
-
* Component: MenubarMenu
|
|
10
|
-
* -------------------------------------------------------------------------- */
|
|
11
|
-
|
|
12
|
-
type MenubarMenuProps = React.ComponentProps<typeof MenubarPrimitive.Menu>;
|
|
13
|
-
const MenubarMenu = MenubarPrimitive.Menu;
|
|
14
|
-
|
|
15
|
-
/* -----------------------------------------------------------------------------
|
|
16
|
-
* Component: MenubarGroup
|
|
17
|
-
* -------------------------------------------------------------------------- */
|
|
18
|
-
|
|
19
|
-
type MenubarGroupProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Group>;
|
|
20
|
-
const MenubarGroup = MenubarPrimitive.Group;
|
|
21
|
-
|
|
22
|
-
/* -----------------------------------------------------------------------------
|
|
23
|
-
* Component: MenubarSub
|
|
24
|
-
* -------------------------------------------------------------------------- */
|
|
25
|
-
|
|
26
|
-
type MenubarSubProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Sub>;
|
|
27
|
-
const MenubarSub = MenubarPrimitive.Sub;
|
|
28
|
-
|
|
29
|
-
/* -----------------------------------------------------------------------------
|
|
30
|
-
* Component: MenubarRadioGroup
|
|
31
|
-
* -------------------------------------------------------------------------- */
|
|
32
|
-
|
|
33
|
-
type MenubarRadioGroupProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioGroup>;
|
|
34
|
-
const MenubarRadioGroup = MenubarPrimitive.RadioGroup;
|
|
35
|
-
|
|
36
|
-
/* -----------------------------------------------------------------------------
|
|
37
|
-
* Component: Menubar
|
|
38
|
-
* -------------------------------------------------------------------------- */
|
|
39
|
-
|
|
40
|
-
type MenubarElement = React.ElementRef<typeof MenubarPrimitive.Root>;
|
|
41
|
-
type MenubarProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>;
|
|
42
|
-
|
|
43
|
-
const Menubar = React.forwardRef<MenubarElement, MenubarProps>(({ className, ...props }, ref) => (
|
|
44
|
-
<MenubarPrimitive.Root
|
|
45
|
-
ref={ref}
|
|
46
|
-
className={cn('bg-background flex h-10 items-center space-x-1 rounded-md border p-1 shadow-sm', className)}
|
|
47
|
-
{...props}
|
|
48
|
-
/>
|
|
49
|
-
));
|
|
50
|
-
|
|
51
|
-
Menubar.displayName = MenubarPrimitive.Root.displayName;
|
|
52
|
-
|
|
53
|
-
/* -----------------------------------------------------------------------------
|
|
54
|
-
* Component: MenubarTrigger
|
|
55
|
-
* -------------------------------------------------------------------------- */
|
|
56
|
-
|
|
57
|
-
type MenubarTriggerElement = React.ElementRef<typeof MenubarPrimitive.Trigger>;
|
|
58
|
-
type MenubarTriggerProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>;
|
|
59
|
-
|
|
60
|
-
const MenubarTrigger = React.forwardRef<MenubarTriggerElement, MenubarTriggerProps>(({ className, ...props }, ref) => (
|
|
61
|
-
<MenubarPrimitive.Trigger
|
|
62
|
-
ref={ref}
|
|
63
|
-
className={cn(
|
|
64
|
-
'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-3 py-1 text-sm font-medium focus:outline-none',
|
|
65
|
-
className,
|
|
66
|
-
)}
|
|
67
|
-
{...props}
|
|
68
|
-
/>
|
|
69
|
-
));
|
|
70
|
-
|
|
71
|
-
MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
|
|
72
|
-
|
|
73
|
-
/* -----------------------------------------------------------------------------
|
|
74
|
-
* Component: MenubarSubTrigger
|
|
75
|
-
* -------------------------------------------------------------------------- */
|
|
76
|
-
|
|
77
|
-
type MenubarSubTriggerElement = React.ElementRef<typeof MenubarPrimitive.SubTrigger>;
|
|
78
|
-
|
|
79
|
-
interface MenubarSubTriggerProps extends React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> {
|
|
80
|
-
inset?: boolean;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
const MenubarSubTrigger = React.forwardRef<MenubarSubTriggerElement, MenubarSubTriggerProps>(
|
|
84
|
-
({ children, className, inset, ...props }, ref) => (
|
|
85
|
-
<MenubarPrimitive.SubTrigger
|
|
86
|
-
ref={ref}
|
|
87
|
-
className={cn(
|
|
88
|
-
'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',
|
|
89
|
-
inset && 'pl-8',
|
|
90
|
-
className,
|
|
91
|
-
)}
|
|
92
|
-
{...props}
|
|
93
|
-
>
|
|
94
|
-
{children}
|
|
95
|
-
<ChevronRightIcon className="ml-auto size-4" />
|
|
96
|
-
</MenubarPrimitive.SubTrigger>
|
|
97
|
-
),
|
|
98
|
-
);
|
|
99
|
-
|
|
100
|
-
MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
|
|
101
|
-
|
|
102
|
-
/* -----------------------------------------------------------------------------
|
|
103
|
-
* Component: MenubarSubContent
|
|
104
|
-
* -------------------------------------------------------------------------- */
|
|
105
|
-
|
|
106
|
-
type MenubarSubContentElement = React.ElementRef<typeof MenubarPrimitive.SubContent>;
|
|
107
|
-
type MenubarSubContentProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>;
|
|
108
|
-
|
|
109
|
-
const MenubarSubContent = React.forwardRef<MenubarSubContentElement, MenubarSubContentProps>(
|
|
110
|
-
({ className, ...props }, ref) => (
|
|
111
|
-
<MenubarPrimitive.Portal>
|
|
112
|
-
<MenubarPrimitive.SubContent
|
|
113
|
-
ref={ref}
|
|
114
|
-
className={cn(
|
|
115
|
-
'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=left]:slide-out-to-right-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 z-50 min-w-32 rounded-md border p-1 shadow-md',
|
|
116
|
-
className,
|
|
117
|
-
)}
|
|
118
|
-
{...props}
|
|
119
|
-
/>
|
|
120
|
-
</MenubarPrimitive.Portal>
|
|
121
|
-
),
|
|
122
|
-
);
|
|
123
|
-
|
|
124
|
-
MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
|
|
125
|
-
|
|
126
|
-
/* -----------------------------------------------------------------------------
|
|
127
|
-
* Component: MenubarContent
|
|
128
|
-
* -------------------------------------------------------------------------- */
|
|
129
|
-
|
|
130
|
-
type MenubarContentElement = React.ElementRef<typeof MenubarPrimitive.Content>;
|
|
131
|
-
type MenubarContentProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>;
|
|
132
|
-
|
|
133
|
-
const MenubarContent = React.forwardRef<MenubarContentElement, MenubarContentProps>(
|
|
134
|
-
({ className, align = 'start', alignOffset = -4, sideOffset = 8, ...props }, ref) => (
|
|
135
|
-
<MenubarPrimitive.Portal>
|
|
136
|
-
<MenubarPrimitive.Content
|
|
137
|
-
ref={ref}
|
|
138
|
-
align={align}
|
|
139
|
-
alignOffset={alignOffset}
|
|
140
|
-
className={cn(
|
|
141
|
-
'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',
|
|
142
|
-
className,
|
|
143
|
-
)}
|
|
144
|
-
sideOffset={sideOffset}
|
|
145
|
-
{...props}
|
|
146
|
-
/>
|
|
147
|
-
</MenubarPrimitive.Portal>
|
|
148
|
-
),
|
|
149
|
-
);
|
|
150
|
-
|
|
151
|
-
MenubarContent.displayName = MenubarPrimitive.Content.displayName;
|
|
152
|
-
|
|
153
|
-
/* -----------------------------------------------------------------------------
|
|
154
|
-
* Component: MenubarItem
|
|
155
|
-
* -------------------------------------------------------------------------- */
|
|
156
|
-
|
|
157
|
-
type MenubarItemElement = React.ElementRef<typeof MenubarPrimitive.Item>;
|
|
158
|
-
|
|
159
|
-
interface MenubarItemProps extends React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> {
|
|
160
|
-
inset?: boolean;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
const MenubarItem = React.forwardRef<MenubarItemElement, MenubarItemProps>(({ className, inset, ...props }, ref) => (
|
|
164
|
-
<MenubarPrimitive.Item
|
|
165
|
-
ref={ref}
|
|
166
|
-
className={cn(
|
|
167
|
-
'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',
|
|
168
|
-
inset && 'pl-8',
|
|
169
|
-
className,
|
|
170
|
-
)}
|
|
171
|
-
{...props}
|
|
172
|
-
/>
|
|
173
|
-
));
|
|
174
|
-
|
|
175
|
-
MenubarItem.displayName = MenubarPrimitive.Item.displayName;
|
|
176
|
-
|
|
177
|
-
/* -----------------------------------------------------------------------------
|
|
178
|
-
* Component: MenubarCheckboxItem
|
|
179
|
-
* -------------------------------------------------------------------------- */
|
|
180
|
-
|
|
181
|
-
type MenubarCheckboxItemElement = React.ElementRef<typeof MenubarPrimitive.CheckboxItem>;
|
|
182
|
-
type MenubarCheckboxItemProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>;
|
|
183
|
-
|
|
184
|
-
const MenubarCheckboxItem = React.forwardRef<MenubarCheckboxItemElement, MenubarCheckboxItemProps>(
|
|
185
|
-
({ children, className, checked, ...props }, ref) => (
|
|
186
|
-
<MenubarPrimitive.CheckboxItem
|
|
187
|
-
ref={ref}
|
|
188
|
-
checked={checked}
|
|
189
|
-
className={cn(
|
|
190
|
-
'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',
|
|
191
|
-
className,
|
|
192
|
-
)}
|
|
193
|
-
{...props}
|
|
194
|
-
>
|
|
195
|
-
<span className="absolute left-2 flex size-3.5 items-center justify-center">
|
|
196
|
-
<MenubarPrimitive.ItemIndicator>
|
|
197
|
-
<CheckIcon className="size-4" />
|
|
198
|
-
</MenubarPrimitive.ItemIndicator>
|
|
199
|
-
</span>
|
|
200
|
-
{children}
|
|
201
|
-
</MenubarPrimitive.CheckboxItem>
|
|
202
|
-
),
|
|
203
|
-
);
|
|
204
|
-
|
|
205
|
-
MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
|
|
206
|
-
|
|
207
|
-
/* -----------------------------------------------------------------------------
|
|
208
|
-
* Component: MenubarRadioItem
|
|
209
|
-
* -------------------------------------------------------------------------- */
|
|
210
|
-
|
|
211
|
-
type MenubarRadioItemElement = React.ElementRef<typeof MenubarPrimitive.RadioItem>;
|
|
212
|
-
type MenubarRadioItemProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>;
|
|
213
|
-
|
|
214
|
-
const MenubarRadioItem = React.forwardRef<MenubarRadioItemElement, MenubarRadioItemProps>(
|
|
215
|
-
({ children, className, ...props }, ref) => (
|
|
216
|
-
<MenubarPrimitive.RadioItem
|
|
217
|
-
ref={ref}
|
|
218
|
-
className={cn(
|
|
219
|
-
'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',
|
|
220
|
-
className,
|
|
221
|
-
)}
|
|
222
|
-
{...props}
|
|
223
|
-
>
|
|
224
|
-
<span className="absolute left-2 flex size-3.5 items-center justify-center">
|
|
225
|
-
<MenubarPrimitive.ItemIndicator>
|
|
226
|
-
<DotFilledIcon className="size-4 fill-current" />
|
|
227
|
-
</MenubarPrimitive.ItemIndicator>
|
|
228
|
-
</span>
|
|
229
|
-
{children}
|
|
230
|
-
</MenubarPrimitive.RadioItem>
|
|
231
|
-
),
|
|
232
|
-
);
|
|
233
|
-
|
|
234
|
-
MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
|
|
235
|
-
|
|
236
|
-
/* -----------------------------------------------------------------------------
|
|
237
|
-
* Component: MenubarLabel
|
|
238
|
-
* -------------------------------------------------------------------------- */
|
|
239
|
-
|
|
240
|
-
type MenubarLabelElement = React.ElementRef<typeof MenubarPrimitive.Label>;
|
|
241
|
-
|
|
242
|
-
interface MenubarLabelProps extends React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> {
|
|
243
|
-
inset?: boolean;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
const MenubarLabel = React.forwardRef<MenubarLabelElement, MenubarLabelProps>(({ className, inset, ...props }, ref) => (
|
|
247
|
-
<MenubarPrimitive.Label
|
|
248
|
-
ref={ref}
|
|
249
|
-
className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}
|
|
250
|
-
{...props}
|
|
251
|
-
/>
|
|
252
|
-
));
|
|
253
|
-
|
|
254
|
-
MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
|
|
255
|
-
|
|
256
|
-
/* -----------------------------------------------------------------------------
|
|
257
|
-
* Component: MenubarSeparator
|
|
258
|
-
* -------------------------------------------------------------------------- */
|
|
259
|
-
|
|
260
|
-
type MenubarSeparatorElement = React.ElementRef<typeof MenubarPrimitive.Separator>;
|
|
261
|
-
type MenubarSeparatorProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>;
|
|
262
|
-
|
|
263
|
-
const MenubarSeparator = React.forwardRef<MenubarSeparatorElement, MenubarSeparatorProps>(
|
|
264
|
-
({ className, ...props }, ref) => (
|
|
265
|
-
<MenubarPrimitive.Separator ref={ref} className={cn('bg-muted -mx-1 my-1 h-px', className)} {...props} />
|
|
266
|
-
),
|
|
267
|
-
);
|
|
268
|
-
|
|
269
|
-
MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
|
|
270
|
-
|
|
271
|
-
/* -----------------------------------------------------------------------------
|
|
272
|
-
* Component: MenubarShortcut
|
|
273
|
-
* -------------------------------------------------------------------------- */
|
|
274
|
-
|
|
275
|
-
type MenubarShortcutProps = React.HTMLAttributes<HTMLSpanElement>;
|
|
276
|
-
|
|
277
|
-
function MenubarShortcut({ className, ...props }: MenubarShortcutProps): React.JSX.Element {
|
|
278
|
-
return <span className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)} {...props} />;
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
/* -----------------------------------------------------------------------------
|
|
282
|
-
* Exports
|
|
283
|
-
* -------------------------------------------------------------------------- */
|
|
284
|
-
|
|
285
|
-
export {
|
|
286
|
-
Menubar,
|
|
287
|
-
MenubarMenu,
|
|
288
|
-
MenubarTrigger,
|
|
289
|
-
MenubarContent,
|
|
290
|
-
MenubarItem,
|
|
291
|
-
MenubarSeparator,
|
|
292
|
-
MenubarLabel,
|
|
293
|
-
MenubarCheckboxItem,
|
|
294
|
-
MenubarRadioGroup,
|
|
295
|
-
MenubarRadioItem,
|
|
296
|
-
MenubarSubContent,
|
|
297
|
-
MenubarSubTrigger,
|
|
298
|
-
MenubarGroup,
|
|
299
|
-
MenubarSub,
|
|
300
|
-
MenubarShortcut,
|
|
301
|
-
type MenubarProps,
|
|
302
|
-
type MenubarMenuProps,
|
|
303
|
-
type MenubarTriggerProps,
|
|
304
|
-
type MenubarContentProps,
|
|
305
|
-
type MenubarItemProps,
|
|
306
|
-
type MenubarSeparatorProps,
|
|
307
|
-
type MenubarLabelProps,
|
|
308
|
-
type MenubarCheckboxItemProps,
|
|
309
|
-
type MenubarRadioGroupProps,
|
|
310
|
-
type MenubarRadioItemProps,
|
|
311
|
-
type MenubarSubContentProps,
|
|
312
|
-
type MenubarSubTriggerProps,
|
|
313
|
-
type MenubarGroupProps,
|
|
314
|
-
type MenubarSubProps,
|
|
315
|
-
type MenubarShortcutProps,
|
|
316
|
-
};
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { ChevronDownIcon } from '@radix-ui/react-icons';
|
|
5
|
-
import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
|
|
6
|
-
import { tv } from 'tailwind-variants';
|
|
7
|
-
import { cn } from '../lib/utils';
|
|
8
|
-
|
|
9
|
-
/* -----------------------------------------------------------------------------
|
|
10
|
-
* Variant: NavigationMenu
|
|
11
|
-
* -------------------------------------------------------------------------- */
|
|
12
|
-
|
|
13
|
-
const navigationMenuTriggerVariants = tv({
|
|
14
|
-
base: 'bg-background hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent/50 data-[active]:bg-accent/50 group inline-flex h-10 w-max items-center justify-center rounded-md px-3 py-2 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
|
-
});
|
|
16
|
-
|
|
17
|
-
/* -----------------------------------------------------------------------------
|
|
18
|
-
* Component: NavigationMenu
|
|
19
|
-
* -------------------------------------------------------------------------- */
|
|
20
|
-
|
|
21
|
-
type NavigationMenuElement = React.ElementRef<typeof NavigationMenuPrimitive.Root>;
|
|
22
|
-
type NavigationMenuProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>;
|
|
23
|
-
|
|
24
|
-
const NavigationMenu = React.forwardRef<NavigationMenuElement, NavigationMenuProps>(
|
|
25
|
-
({ children, className, ...props }, ref) => (
|
|
26
|
-
<NavigationMenuPrimitive.Root
|
|
27
|
-
ref={ref}
|
|
28
|
-
className={cn('relative z-10 flex max-w-max flex-1 items-center justify-center', className)}
|
|
29
|
-
{...props}
|
|
30
|
-
>
|
|
31
|
-
{children}
|
|
32
|
-
<NavigationMenuViewport />
|
|
33
|
-
</NavigationMenuPrimitive.Root>
|
|
34
|
-
),
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
|
38
|
-
|
|
39
|
-
/* -----------------------------------------------------------------------------
|
|
40
|
-
* Component: NavigationMenuList
|
|
41
|
-
* -------------------------------------------------------------------------- */
|
|
42
|
-
|
|
43
|
-
type NavigationMenuListElement = React.ElementRef<typeof NavigationMenuPrimitive.List>;
|
|
44
|
-
type NavigationMenuListProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>;
|
|
45
|
-
|
|
46
|
-
const NavigationMenuList = React.forwardRef<NavigationMenuListElement, NavigationMenuListProps>(
|
|
47
|
-
({ children, className, ...props }, ref) => (
|
|
48
|
-
<NavigationMenuPrimitive.List
|
|
49
|
-
ref={ref}
|
|
50
|
-
className={cn('group flex flex-1 list-none items-center justify-center space-x-1', className)}
|
|
51
|
-
{...props}
|
|
52
|
-
>
|
|
53
|
-
{children}
|
|
54
|
-
<NavigationMenuIndicator />
|
|
55
|
-
</NavigationMenuPrimitive.List>
|
|
56
|
-
),
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
|
|
60
|
-
|
|
61
|
-
/* -----------------------------------------------------------------------------
|
|
62
|
-
* Component: NavigationMenuItem
|
|
63
|
-
* -------------------------------------------------------------------------- */
|
|
64
|
-
|
|
65
|
-
type NavigationMenuItemProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Item>;
|
|
66
|
-
|
|
67
|
-
const NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
68
|
-
|
|
69
|
-
/* -----------------------------------------------------------------------------
|
|
70
|
-
* Component: NavigationMenuContent
|
|
71
|
-
* -------------------------------------------------------------------------- */
|
|
72
|
-
|
|
73
|
-
type NavigationMenuTriggerElement = React.ElementRef<typeof NavigationMenuPrimitive.Trigger>;
|
|
74
|
-
type NavigationMenuTriggerProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>;
|
|
75
|
-
|
|
76
|
-
const NavigationMenuTrigger = React.forwardRef<NavigationMenuTriggerElement, NavigationMenuTriggerProps>(
|
|
77
|
-
({ children, className, ...props }, ref) => (
|
|
78
|
-
<NavigationMenuPrimitive.Trigger
|
|
79
|
-
ref={ref}
|
|
80
|
-
className={navigationMenuTriggerVariants({
|
|
81
|
-
className: ['group', className],
|
|
82
|
-
})}
|
|
83
|
-
{...props}
|
|
84
|
-
>
|
|
85
|
-
{children}
|
|
86
|
-
<ChevronDownIcon
|
|
87
|
-
aria-hidden="true"
|
|
88
|
-
className="relative top-px ml-1 size-3 transition group-data-[state=open]:rotate-180"
|
|
89
|
-
/>
|
|
90
|
-
</NavigationMenuPrimitive.Trigger>
|
|
91
|
-
),
|
|
92
|
-
);
|
|
93
|
-
|
|
94
|
-
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
95
|
-
|
|
96
|
-
/* -----------------------------------------------------------------------------
|
|
97
|
-
* Component: NavigationMenuContent
|
|
98
|
-
* -------------------------------------------------------------------------- */
|
|
99
|
-
|
|
100
|
-
type NavigationMenuContentElement = React.ElementRef<typeof NavigationMenuPrimitive.Content>;
|
|
101
|
-
type NavigationMenuContentProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>;
|
|
102
|
-
|
|
103
|
-
const NavigationMenuContent = React.forwardRef<NavigationMenuContentElement, NavigationMenuContentProps>(
|
|
104
|
-
({ className, ...props }, ref) => (
|
|
105
|
-
<NavigationMenuPrimitive.Content
|
|
106
|
-
ref={ref}
|
|
107
|
-
className={cn(
|
|
108
|
-
'data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 left-0 top-0 w-full md:absolute md:w-auto',
|
|
109
|
-
className,
|
|
110
|
-
)}
|
|
111
|
-
{...props}
|
|
112
|
-
/>
|
|
113
|
-
),
|
|
114
|
-
);
|
|
115
|
-
|
|
116
|
-
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
|
117
|
-
|
|
118
|
-
/* -----------------------------------------------------------------------------
|
|
119
|
-
* Component: NavigationMenuLink
|
|
120
|
-
* -------------------------------------------------------------------------- */
|
|
121
|
-
|
|
122
|
-
type NavigationMenuLinkProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Link>;
|
|
123
|
-
|
|
124
|
-
const NavigationMenuLink = NavigationMenuPrimitive.Link;
|
|
125
|
-
|
|
126
|
-
/* -----------------------------------------------------------------------------
|
|
127
|
-
* Component: NavigationMenuViewport
|
|
128
|
-
* -------------------------------------------------------------------------- */
|
|
129
|
-
|
|
130
|
-
type NavigationMenuViewportElement = React.ElementRef<typeof NavigationMenuPrimitive.Viewport>;
|
|
131
|
-
type NavigationMenuViewportProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>;
|
|
132
|
-
|
|
133
|
-
const NavigationMenuViewport = React.forwardRef<NavigationMenuViewportElement, NavigationMenuViewportProps>(
|
|
134
|
-
({ className, ...props }, ref) => (
|
|
135
|
-
<div className="perspective-[125rem] absolute left-0 top-full flex justify-center">
|
|
136
|
-
<NavigationMenuPrimitive.Viewport
|
|
137
|
-
ref={ref}
|
|
138
|
-
className={cn(
|
|
139
|
-
'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-90 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full origin-[top_center] overflow-hidden rounded-md border transition-[width,height] sm:w-[var(--radix-navigation-menu-viewport-width)]',
|
|
140
|
-
className,
|
|
141
|
-
)}
|
|
142
|
-
{...props}
|
|
143
|
-
/>
|
|
144
|
-
</div>
|
|
145
|
-
),
|
|
146
|
-
);
|
|
147
|
-
|
|
148
|
-
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
|
149
|
-
|
|
150
|
-
/* -----------------------------------------------------------------------------
|
|
151
|
-
* Component: NavigationMenuIndicator
|
|
152
|
-
* -------------------------------------------------------------------------- */
|
|
153
|
-
|
|
154
|
-
type NavigationMenuIndicatorElement = React.ElementRef<typeof NavigationMenuPrimitive.Indicator>;
|
|
155
|
-
type NavigationMenuIndicatorProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>;
|
|
156
|
-
|
|
157
|
-
const NavigationMenuIndicator = React.forwardRef<NavigationMenuIndicatorElement, NavigationMenuIndicatorProps>(
|
|
158
|
-
({ className, ...props }, ref) => (
|
|
159
|
-
<NavigationMenuPrimitive.Indicator
|
|
160
|
-
ref={ref}
|
|
161
|
-
className={cn(
|
|
162
|
-
'data-[state=visible]:animate-fade-in data-[state=hidden]:animate-fade-out top-full z-10 flex h-1.5 items-center justify-center overflow-hidden transition',
|
|
163
|
-
className,
|
|
164
|
-
)}
|
|
165
|
-
{...props}
|
|
166
|
-
>
|
|
167
|
-
<div className="bg-border relative top-[60%] size-2 rotate-45 rounded-tl-sm" />
|
|
168
|
-
</NavigationMenuPrimitive.Indicator>
|
|
169
|
-
),
|
|
170
|
-
);
|
|
171
|
-
|
|
172
|
-
NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
|
|
173
|
-
|
|
174
|
-
/* -----------------------------------------------------------------------------
|
|
175
|
-
* Exports
|
|
176
|
-
* -------------------------------------------------------------------------- */
|
|
177
|
-
|
|
178
|
-
export {
|
|
179
|
-
navigationMenuTriggerVariants,
|
|
180
|
-
NavigationMenu,
|
|
181
|
-
NavigationMenuList,
|
|
182
|
-
NavigationMenuItem,
|
|
183
|
-
NavigationMenuContent,
|
|
184
|
-
NavigationMenuTrigger,
|
|
185
|
-
NavigationMenuLink,
|
|
186
|
-
type NavigationMenuProps,
|
|
187
|
-
type NavigationMenuListProps,
|
|
188
|
-
type NavigationMenuItemProps,
|
|
189
|
-
type NavigationMenuContentProps,
|
|
190
|
-
type NavigationMenuTriggerProps,
|
|
191
|
-
type NavigationMenuLinkProps,
|
|
192
|
-
};
|
package/src/react/pagination.tsx
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { ChevronLeftIcon, ChevronRightIcon, DotsHorizontalIcon } from '@radix-ui/react-icons';
|
|
3
|
-
import { cn } from '../lib/utils';
|
|
4
|
-
import { buttonVariants, type ButtonProps } from './button';
|
|
5
|
-
|
|
6
|
-
/* -----------------------------------------------------------------------------
|
|
7
|
-
* Component: Pagination
|
|
8
|
-
* -------------------------------------------------------------------------- */
|
|
9
|
-
|
|
10
|
-
type PaginationProps = React.HTMLAttributes<HTMLElement>;
|
|
11
|
-
|
|
12
|
-
function Pagination({ className, ...props }: PaginationProps): React.JSX.Element {
|
|
13
|
-
return (
|
|
14
|
-
<nav
|
|
15
|
-
aria-label="pagination"
|
|
16
|
-
className={cn('mx-auto flex w-full justify-center', className)}
|
|
17
|
-
role="navigation"
|
|
18
|
-
{...props}
|
|
19
|
-
/>
|
|
20
|
-
);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/* -----------------------------------------------------------------------------
|
|
24
|
-
* Component: PaginationContent
|
|
25
|
-
* -------------------------------------------------------------------------- */
|
|
26
|
-
|
|
27
|
-
type PaginationContentElement = HTMLUListElement;
|
|
28
|
-
type PaginationContentProps = React.HTMLAttributes<HTMLUListElement>;
|
|
29
|
-
|
|
30
|
-
const PaginationContent = React.forwardRef<PaginationContentElement, PaginationContentProps>(
|
|
31
|
-
({ className, ...props }, ref) => (
|
|
32
|
-
<ul ref={ref} className={cn('flex flex-row items-center gap-1', className)} {...props} />
|
|
33
|
-
),
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
PaginationContent.displayName = 'PaginationContent';
|
|
37
|
-
|
|
38
|
-
/* -----------------------------------------------------------------------------
|
|
39
|
-
* Component: PaginationItem
|
|
40
|
-
* -------------------------------------------------------------------------- */
|
|
41
|
-
|
|
42
|
-
type PaginationItemElement = HTMLLIElement;
|
|
43
|
-
type PaginationItemProps = React.LiHTMLAttributes<HTMLLIElement>;
|
|
44
|
-
|
|
45
|
-
const PaginationItem = React.forwardRef<PaginationItemElement, PaginationItemProps>((props, ref) => (
|
|
46
|
-
<li ref={ref} {...props} />
|
|
47
|
-
));
|
|
48
|
-
|
|
49
|
-
PaginationItem.displayName = 'PaginationItem';
|
|
50
|
-
|
|
51
|
-
/* -----------------------------------------------------------------------------
|
|
52
|
-
* Component: PaginationLink
|
|
53
|
-
* -------------------------------------------------------------------------- */
|
|
54
|
-
|
|
55
|
-
interface PaginationLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement>, Pick<ButtonProps, 'size'> {
|
|
56
|
-
isActive?: boolean;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function PaginationLink({
|
|
60
|
-
className,
|
|
61
|
-
isActive,
|
|
62
|
-
size = 'icon',
|
|
63
|
-
children,
|
|
64
|
-
...props
|
|
65
|
-
}: PaginationLinkProps): React.JSX.Element {
|
|
66
|
-
return (
|
|
67
|
-
<a
|
|
68
|
-
aria-current={isActive ? 'page' : undefined}
|
|
69
|
-
className={buttonVariants({
|
|
70
|
-
variant: isActive ? 'outline' : 'ghost',
|
|
71
|
-
size,
|
|
72
|
-
className,
|
|
73
|
-
})}
|
|
74
|
-
{...props}
|
|
75
|
-
>
|
|
76
|
-
{children}
|
|
77
|
-
</a>
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/* -----------------------------------------------------------------------------
|
|
82
|
-
* Component: PaginationPrevious
|
|
83
|
-
* -------------------------------------------------------------------------- */
|
|
84
|
-
|
|
85
|
-
type PaginationPreviousProps = PaginationLinkProps;
|
|
86
|
-
|
|
87
|
-
function PaginationPrevious({ className, ...props }: PaginationPreviousProps): React.JSX.Element {
|
|
88
|
-
return (
|
|
89
|
-
<PaginationLink
|
|
90
|
-
aria-label="Go to previous page"
|
|
91
|
-
className={cn('gap-1 pl-2.5', className)}
|
|
92
|
-
size="default"
|
|
93
|
-
{...props}
|
|
94
|
-
>
|
|
95
|
-
<ChevronLeftIcon className="size-4" />
|
|
96
|
-
<span>Previous</span>
|
|
97
|
-
</PaginationLink>
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/* -----------------------------------------------------------------------------
|
|
102
|
-
* Component: PaginationNext
|
|
103
|
-
* -------------------------------------------------------------------------- */
|
|
104
|
-
|
|
105
|
-
type PaginationNextProps = PaginationLinkProps;
|
|
106
|
-
|
|
107
|
-
function PaginationNext({ className, ...props }: PaginationNextProps): React.JSX.Element {
|
|
108
|
-
return (
|
|
109
|
-
<PaginationLink aria-label="Go to next page" className={cn('gap-1 pr-2.5', className)} size="default" {...props}>
|
|
110
|
-
<span>Next</span>
|
|
111
|
-
<ChevronRightIcon className="size-4" />
|
|
112
|
-
</PaginationLink>
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/* -----------------------------------------------------------------------------
|
|
117
|
-
* Component: PaginationEllipsis
|
|
118
|
-
* -------------------------------------------------------------------------- */
|
|
119
|
-
|
|
120
|
-
type PaginationEllipsisProps = React.HTMLAttributes<HTMLSpanElement>;
|
|
121
|
-
|
|
122
|
-
function PaginationEllipsis({ className, ...props }: PaginationEllipsisProps): React.JSX.Element {
|
|
123
|
-
return (
|
|
124
|
-
<span aria-hidden className={cn('flex size-10 items-center justify-center', className)} {...props}>
|
|
125
|
-
<DotsHorizontalIcon className="size-4" />
|
|
126
|
-
<span className="sr-only">More pages</span>
|
|
127
|
-
</span>
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/* -----------------------------------------------------------------------------
|
|
132
|
-
* Exports
|
|
133
|
-
* -------------------------------------------------------------------------- */
|
|
134
|
-
|
|
135
|
-
export {
|
|
136
|
-
Pagination,
|
|
137
|
-
PaginationContent,
|
|
138
|
-
PaginationLink,
|
|
139
|
-
PaginationItem,
|
|
140
|
-
PaginationPrevious,
|
|
141
|
-
PaginationNext,
|
|
142
|
-
PaginationEllipsis,
|
|
143
|
-
type PaginationProps,
|
|
144
|
-
type PaginationContentProps,
|
|
145
|
-
type PaginationLinkProps,
|
|
146
|
-
type PaginationItemProps,
|
|
147
|
-
type PaginationPreviousProps,
|
|
148
|
-
type PaginationNextProps,
|
|
149
|
-
type PaginationEllipsisProps,
|
|
150
|
-
};
|