@mbao01/common 0.0.20 → 0.0.21

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.
Files changed (37) hide show
  1. package/dist/types/components/Command/Command.d.ts +5 -5
  2. package/dist/types/components/Menu/ContextMenu/ContextMenu.d.ts +36 -0
  3. package/dist/types/components/Menu/ContextMenu/constants.d.ts +0 -0
  4. package/dist/types/components/Menu/ContextMenu/index.d.ts +1 -0
  5. package/dist/types/components/Menu/ContextMenu/types.d.ts +14 -0
  6. package/dist/types/components/Menu/DropdownMenu/DropdownMenu.d.ts +36 -0
  7. package/dist/types/components/Menu/DropdownMenu/index.d.ts +1 -0
  8. package/dist/types/components/Menu/DropdownMenu/types.d.ts +14 -0
  9. package/dist/types/components/Menu/Menubar/Menubar.d.ts +43 -0
  10. package/dist/types/components/Menu/Menubar/constants.d.ts +25 -0
  11. package/dist/types/components/Menu/Menubar/index.d.ts +1 -0
  12. package/dist/types/components/Menu/Menubar/types.d.ts +15 -0
  13. package/dist/types/components/Menu/NavigationMenu/NavigationMenu.d.ts +17 -0
  14. package/dist/types/components/Menu/NavigationMenu/constants.d.ts +8 -0
  15. package/dist/types/components/Menu/NavigationMenu/index.d.ts +1 -0
  16. package/dist/types/components/Menu/NavigationMenu/types.d.ts +10 -0
  17. package/dist/types/components/Menu/index.d.ts +4 -0
  18. package/dist/types/components/Skeleton/constants.d.ts +2 -2
  19. package/dist/types/index.d.ts +1 -0
  20. package/package.json +6 -2
  21. package/src/components/Menu/ContextMenu/ContextMenu.tsx +180 -0
  22. package/src/components/Menu/ContextMenu/constants.ts +0 -0
  23. package/src/components/Menu/ContextMenu/index.ts +1 -0
  24. package/src/components/Menu/ContextMenu/types.ts +60 -0
  25. package/src/components/Menu/DropdownMenu/DropdownMenu.tsx +183 -0
  26. package/src/components/Menu/DropdownMenu/index.ts +1 -0
  27. package/src/components/Menu/DropdownMenu/types.ts +60 -0
  28. package/src/components/Menu/Menubar/Menubar.tsx +204 -0
  29. package/src/components/Menu/Menubar/constants.ts +107 -0
  30. package/src/components/Menu/Menubar/index.ts +1 -0
  31. package/src/components/Menu/Menubar/types.ts +66 -0
  32. package/src/components/Menu/NavigationMenu/NavigationMenu.tsx +117 -0
  33. package/src/components/Menu/NavigationMenu/constants.ts +47 -0
  34. package/src/components/Menu/NavigationMenu/index.ts +1 -0
  35. package/src/components/Menu/NavigationMenu/types.ts +40 -0
  36. package/src/components/Menu/index.ts +4 -0
  37. package/src/index.ts +1 -0
@@ -18,7 +18,7 @@ declare const Command: {
18
18
  ref?: React.Ref<HTMLDivElement> | undefined;
19
19
  } & {
20
20
  asChild?: boolean | undefined;
21
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
21
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
22
22
  label?: string | undefined;
23
23
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
24
24
  Empty: React.ForwardRefExoticComponent<Omit<{
@@ -27,14 +27,14 @@ declare const Command: {
27
27
  ref?: React.Ref<HTMLDivElement> | undefined;
28
28
  } & {
29
29
  asChild?: boolean | undefined;
30
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
30
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
31
31
  Group: React.ForwardRefExoticComponent<Omit<{
32
32
  children?: React.ReactNode;
33
33
  } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
34
34
  ref?: React.Ref<HTMLDivElement> | undefined;
35
35
  } & {
36
36
  asChild?: boolean | undefined;
37
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "heading" | "value"> & {
37
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "heading" | "value"> & {
38
38
  heading?: React.ReactNode;
39
39
  value?: string | undefined;
40
40
  forceMount?: boolean | undefined;
@@ -45,7 +45,7 @@ declare const Command: {
45
45
  ref?: React.Ref<HTMLDivElement> | undefined;
46
46
  } & {
47
47
  asChild?: boolean | undefined;
48
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "onSelect" | "disabled" | "value"> & {
48
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "disabled" | "value"> & {
49
49
  disabled?: boolean | undefined;
50
50
  onSelect?: ((value: string) => void) | undefined;
51
51
  value?: string | undefined;
@@ -60,7 +60,7 @@ declare const Command: {
60
60
  ref?: React.Ref<HTMLDivElement> | undefined;
61
61
  } & {
62
62
  asChild?: boolean | undefined;
63
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
63
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
64
64
  alwaysRender?: boolean | undefined;
65
65
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
66
66
  };
@@ -0,0 +1,36 @@
1
+ /// <reference types="react" />
2
+ import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
3
+ import type { ContextMenuProps, ContextMenuShortcutProps } from "./types";
4
+ declare const ContextMenu: {
5
+ (props: ContextMenuProps): import("react/jsx-runtime").JSX.Element;
6
+ Trigger: import("react").ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuTriggerProps & import("react").RefAttributes<HTMLSpanElement>>;
7
+ Group: import("react").ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuGroupProps & import("react").RefAttributes<HTMLDivElement>>;
8
+ Portal: import("react").FC<ContextMenuPrimitive.ContextMenuPortalProps>;
9
+ Sub: import("react").FC<ContextMenuPrimitive.ContextMenuSubProps>;
10
+ RadioGroup: import("react").ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuRadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
11
+ Content: import("react").ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {} & import("react").RefAttributes<HTMLDivElement>>;
12
+ Item: import("react").ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
13
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
14
+ inset?: boolean | undefined;
15
+ } & import("react").RefAttributes<HTMLDivElement>>;
16
+ CheckboxItem: import("react").ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuCheckboxItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
17
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
18
+ } & import("react").RefAttributes<HTMLDivElement>>;
19
+ RadioItem: import("react").ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuRadioItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
20
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
21
+ } & import("react").RefAttributes<HTMLDivElement>>;
22
+ Label: import("react").ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuLabelProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
23
+ inset?: boolean | undefined;
24
+ } & import("react").RefAttributes<HTMLDivElement>>;
25
+ Separator: import("react").ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSeparatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {} & import("react").RefAttributes<HTMLDivElement>>;
26
+ Shortcut: {
27
+ ({ className, ...props }: ContextMenuShortcutProps): import("react/jsx-runtime").JSX.Element;
28
+ displayName: string;
29
+ };
30
+ SubContent: import("react").ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {} & import("react").RefAttributes<HTMLDivElement>>;
31
+ SubTrigger: import("react").ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubTriggerProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
32
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
33
+ inset?: boolean | undefined;
34
+ } & import("react").RefAttributes<HTMLDivElement>>;
35
+ };
36
+ export { ContextMenu };
@@ -0,0 +1 @@
1
+ export { ContextMenu } from "./ContextMenu";
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
3
+ import { type VariantProps } from "../../../libs";
4
+ import { getMenubarCheckboxItemClasses, getMenubarContentClasses, getMenubarItemClasses, getMenubarLabelClasses, getMenubarRadioItemClasses, getMenubarSeparatorClasses, getMenubarShortcutClasses, getMenubarSubContentClasses, getMenubarSubTriggerClasses } from "../Menubar/constants";
5
+ export type ContextMenuProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Root>;
6
+ export type ContextMenuSubTriggerProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & VariantProps<typeof getMenubarSubTriggerClasses>;
7
+ export type ContextMenuContentProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content> & VariantProps<typeof getMenubarContentClasses>;
8
+ export type ContextMenuSubContentProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent> & VariantProps<typeof getMenubarSubContentClasses>;
9
+ export type ContextMenuItemProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & VariantProps<typeof getMenubarItemClasses>;
10
+ export type ContextMenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem> & VariantProps<typeof getMenubarCheckboxItemClasses>;
11
+ export type ContextMenuRadioItemProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem> & VariantProps<typeof getMenubarRadioItemClasses>;
12
+ export type ContextMenuLabelProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & VariantProps<typeof getMenubarLabelClasses>;
13
+ export type ContextMenuSeparatorProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator> & VariantProps<typeof getMenubarSeparatorClasses>;
14
+ export type ContextMenuShortcutProps = React.HTMLAttributes<HTMLSpanElement> & VariantProps<typeof getMenubarShortcutClasses>;
@@ -0,0 +1,36 @@
1
+ /// <reference types="react" />
2
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
3
+ import type { DropdownMenuProps, DropdownMenuShortcutProps } from "./types";
4
+ declare const DropdownMenu: {
5
+ (props: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
6
+ Trigger: import("react").ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
7
+ Content: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {} & import("react").RefAttributes<HTMLDivElement>>;
8
+ Item: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
9
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
10
+ inset?: boolean | undefined;
11
+ } & import("react").RefAttributes<HTMLDivElement>>;
12
+ CheckboxItem: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
13
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
14
+ } & import("react").RefAttributes<HTMLDivElement>>;
15
+ RadioItem: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuRadioItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
16
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
17
+ } & import("react").RefAttributes<HTMLDivElement>>;
18
+ Label: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
19
+ inset?: boolean | undefined;
20
+ } & import("react").RefAttributes<HTMLDivElement>>;
21
+ Separator: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {} & import("react").RefAttributes<HTMLDivElement>>;
22
+ Shortcut: {
23
+ ({ className, ...props }: DropdownMenuShortcutProps): import("react/jsx-runtime").JSX.Element;
24
+ displayName: string;
25
+ };
26
+ Group: import("react").ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & import("react").RefAttributes<HTMLDivElement>>;
27
+ Portal: import("react").FC<DropdownMenuPrimitive.DropdownMenuPortalProps>;
28
+ Sub: import("react").FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
29
+ SubContent: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {} & import("react").RefAttributes<HTMLDivElement>>;
30
+ SubTrigger: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
31
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
32
+ inset?: boolean | undefined;
33
+ } & import("react").RefAttributes<HTMLDivElement>>;
34
+ RadioGroup: import("react").ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
35
+ };
36
+ export { DropdownMenu };
@@ -0,0 +1 @@
1
+ export { DropdownMenu } from "./DropdownMenu";
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
3
+ import { type VariantProps } from "../../../libs";
4
+ import { getMenubarCheckboxItemClasses, getMenubarContentClasses, getMenubarItemClasses, getMenubarLabelClasses, getMenubarRadioItemClasses, getMenubarSeparatorClasses, getMenubarShortcutClasses, getMenubarSubContentClasses, getMenubarSubTriggerClasses } from "../Menubar/constants";
5
+ export type DropdownMenuProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Root>;
6
+ export type DropdownMenuSubTriggerProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & VariantProps<typeof getMenubarSubTriggerClasses>;
7
+ export type DropdownMenuContentProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> & VariantProps<typeof getMenubarContentClasses>;
8
+ export type DropdownMenuSubContentProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent> & VariantProps<typeof getMenubarSubContentClasses>;
9
+ export type DropdownMenuItemProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & VariantProps<typeof getMenubarItemClasses>;
10
+ export type DropdownMenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem> & VariantProps<typeof getMenubarCheckboxItemClasses>;
11
+ export type DropdownMenuRadioItemProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem> & VariantProps<typeof getMenubarRadioItemClasses>;
12
+ export type DropdownMenuLabelProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & VariantProps<typeof getMenubarLabelClasses>;
13
+ export type DropdownMenuSeparatorProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator> & VariantProps<typeof getMenubarSeparatorClasses>;
14
+ export type DropdownMenuShortcutProps = React.HTMLAttributes<HTMLSpanElement> & VariantProps<typeof getMenubarShortcutClasses>;
@@ -0,0 +1,43 @@
1
+ /// <reference types="react" />
2
+ import * as MenubarPrimitive from "@radix-ui/react-menubar";
3
+ import type { MenubarProps, MenubarShortcutProps } from "./types";
4
+ declare const Menubar: {
5
+ ({ className, ...props }: MenubarProps): import("react/jsx-runtime").JSX.Element;
6
+ displayName: string | undefined;
7
+ Menu: {
8
+ (props: MenubarPrimitive.ScopedProps<MenubarPrimitive.MenubarMenuProps>): JSX.Element;
9
+ displayName: string;
10
+ };
11
+ Group: import("react").ForwardRefExoticComponent<MenubarPrimitive.MenubarGroupProps & import("react").RefAttributes<HTMLDivElement>>;
12
+ Portal: import("react").FC<MenubarPrimitive.MenubarPortalProps>;
13
+ Sub: import("react").FC<MenubarPrimitive.MenubarSubProps>;
14
+ RadioGroup: import("react").ForwardRefExoticComponent<MenubarPrimitive.MenubarRadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
15
+ Trigger: import("react").ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & {
16
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
17
+ } & import("react").RefAttributes<HTMLButtonElement>>;
18
+ Content: import("react").ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {} & import("react").RefAttributes<HTMLDivElement>>;
19
+ Item: import("react").ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
20
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
21
+ inset?: boolean | undefined;
22
+ } & import("react").RefAttributes<HTMLDivElement>>;
23
+ Separator: import("react").ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarSeparatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {} & import("react").RefAttributes<HTMLDivElement>>;
24
+ Label: import("react").ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarLabelProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
25
+ inset?: boolean | undefined;
26
+ } & import("react").RefAttributes<HTMLDivElement>>;
27
+ CheckboxItem: import("react").ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarCheckboxItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
28
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
29
+ } & import("react").RefAttributes<HTMLDivElement>>;
30
+ RadioItem: import("react").ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarRadioItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
31
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
32
+ } & import("react").RefAttributes<HTMLDivElement>>;
33
+ SubContent: import("react").ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarSubContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {} & import("react").RefAttributes<HTMLDivElement>>;
34
+ SubTrigger: import("react").ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarSubTriggerProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
35
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
36
+ inset?: boolean | undefined;
37
+ } & import("react").RefAttributes<HTMLDivElement>>;
38
+ Shortcut: {
39
+ ({ className, ...props }: MenubarShortcutProps): import("react/jsx-runtime").JSX.Element;
40
+ displayname: string;
41
+ };
42
+ };
43
+ export { Menubar };
@@ -0,0 +1,25 @@
1
+ export declare const getMenubarClasses: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
2
+ export declare const getMenubarTriggerClasses: (props?: ({
3
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ export declare const getMenubarSubTriggerClasses: (props?: ({
6
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | null | undefined;
7
+ inset?: boolean | null | undefined;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ export declare const getMenubarContentClasses: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
10
+ export declare const getMenubarSubContentClasses: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
11
+ export declare const getMenubarItemClasses: (props?: ({
12
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | null | undefined;
13
+ inset?: boolean | null | undefined;
14
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
15
+ export declare const getMenubarCheckboxItemClasses: (props?: ({
16
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | null | undefined;
17
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
18
+ export declare const getMenubarRadioItemClasses: (props?: ({
19
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | null | undefined;
20
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
21
+ export declare const getMenubarLabelClasses: (props?: ({
22
+ inset?: boolean | null | undefined;
23
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
24
+ export declare const getMenubarSeparatorClasses: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
25
+ export declare const getMenubarShortcutClasses: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
@@ -0,0 +1 @@
1
+ export { Menubar } from "./Menubar";
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import * as MenubarPrimitive from "@radix-ui/react-menubar";
3
+ import { type VariantProps } from "../../../libs";
4
+ import { getMenubarCheckboxItemClasses, getMenubarContentClasses, getMenubarItemClasses, getMenubarLabelClasses, getMenubarRadioItemClasses, getMenubarSeparatorClasses, getMenubarShortcutClasses, getMenubarSubContentClasses, getMenubarSubTriggerClasses, getMenubarTriggerClasses } from "./constants";
5
+ export type MenubarProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>;
6
+ export type MenubarTriggerProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger> & VariantProps<typeof getMenubarTriggerClasses>;
7
+ export type MenubarSubTriggerProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & VariantProps<typeof getMenubarSubTriggerClasses>;
8
+ export type MenubarContentProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content> & VariantProps<typeof getMenubarContentClasses>;
9
+ export type MenubarSubContentProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent> & VariantProps<typeof getMenubarSubContentClasses>;
10
+ export type MenubarItemProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & VariantProps<typeof getMenubarItemClasses>;
11
+ export type MenubarCheckboxItemProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem> & VariantProps<typeof getMenubarCheckboxItemClasses>;
12
+ export type MenubarRadioItemProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem> & VariantProps<typeof getMenubarRadioItemClasses>;
13
+ export type MenubarLabelProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & VariantProps<typeof getMenubarLabelClasses>;
14
+ export type MenubarSeparatorProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator> & VariantProps<typeof getMenubarSeparatorClasses>;
15
+ export type MenubarShortcutProps = React.HTMLAttributes<HTMLSpanElement> & VariantProps<typeof getMenubarShortcutClasses>;
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
3
+ import type { NavigationMenuProps } from "./types";
4
+ declare const NavigationMenu: {
5
+ ({ className, children, ...props }: NavigationMenuProps): import("react/jsx-runtime").JSX.Element;
6
+ displayName: string | undefined;
7
+ List: import("react").ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuListProps & import("react").RefAttributes<HTMLUListElement>, "ref"> & {} & import("react").RefAttributes<HTMLUListElement>>;
8
+ Item: import("react").ForwardRefExoticComponent<NavigationMenuPrimitive.NavigationMenuItemProps & import("react").RefAttributes<HTMLLIElement>>;
9
+ Content: import("react").ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {} & import("react").RefAttributes<HTMLDivElement>>;
10
+ Trigger: import("react").ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & {
11
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | undefined;
12
+ } & import("react").RefAttributes<HTMLButtonElement>>;
13
+ Link: import("react").ForwardRefExoticComponent<NavigationMenuPrimitive.NavigationMenuLinkProps & import("react").RefAttributes<HTMLAnchorElement>>;
14
+ Indicator: import("react").ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuIndicatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {} & import("react").RefAttributes<HTMLDivElement>>;
15
+ Viewport: import("react").ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuViewportProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {} & import("react").RefAttributes<HTMLDivElement>>;
16
+ };
17
+ export { NavigationMenu };
@@ -0,0 +1,8 @@
1
+ export declare const getNavigationMenuClasses: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
2
+ export declare const getNavigationMenuListClasses: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
3
+ export declare const getNavigationMenuTriggerClasses: (props?: ({
4
+ variant?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | "base" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export declare const getNavigationMenuContentClasses: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
7
+ export declare const getNavigationMenuViewportClasses: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
+ export declare const getNavigationMenuIndicatorClasses: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
@@ -0,0 +1 @@
1
+ export { NavigationMenu } from "./NavigationMenu";
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
3
+ import { type VariantProps } from "../../../libs";
4
+ import { getNavigationMenuClasses, getNavigationMenuContentClasses, getNavigationMenuIndicatorClasses, getNavigationMenuListClasses, getNavigationMenuTriggerClasses, getNavigationMenuViewportClasses } from "./constants";
5
+ export type NavigationMenuProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root> & VariantProps<typeof getNavigationMenuClasses>;
6
+ export type NavigationMenuListProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List> & VariantProps<typeof getNavigationMenuListClasses>;
7
+ export type NavigationMenuTriggerProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger> & VariantProps<typeof getNavigationMenuTriggerClasses>;
8
+ export type NavigationMenuContentProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content> & VariantProps<typeof getNavigationMenuContentClasses>;
9
+ export type NavigationMenuViewportProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport> & VariantProps<typeof getNavigationMenuViewportClasses>;
10
+ export type NavigationMenuIndicatorProps = React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator> & VariantProps<typeof getNavigationMenuIndicatorClasses>;
@@ -0,0 +1,4 @@
1
+ export { ContextMenu } from "./ContextMenu";
2
+ export { DropdownMenu } from "./DropdownMenu";
3
+ export { Menubar } from "./Menubar";
4
+ export { NavigationMenu } from "./NavigationMenu";
@@ -1,6 +1,6 @@
1
1
  export declare const getSkeletonClasses: (props?: ({
2
2
  variant?: "pulse" | null | undefined;
3
- width?: 16 | 2 | 4 | 8 | 12 | 24 | 32 | 48 | 64 | "full" | null | undefined;
4
- height?: 16 | 2 | 4 | 8 | 12 | 24 | 32 | 48 | 64 | "full" | null | undefined;
3
+ width?: 16 | 4 | 8 | 2 | 12 | 24 | 32 | 48 | 64 | "full" | null | undefined;
4
+ height?: 16 | 4 | 8 | 2 | 12 | 24 | 32 | 48 | 64 | "full" | null | undefined;
5
5
  round?: boolean | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -1,6 +1,7 @@
1
1
  /** actions */
2
2
  export * from "./components/Button";
3
3
  export * from "./components/Breadcrumbs";
4
+ export * from "./components/Menu";
4
5
  export * from "./components/Pagination";
5
6
  export * from "./components/Toggle";
6
7
  export * from "./components/ToggleGroup";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mbao01/common",
3
3
  "private": false,
4
- "version": "0.0.20",
4
+ "version": "0.0.21",
5
5
  "type": "module",
6
6
  "author": "Ayomide Bakare",
7
7
  "license": "MIT",
@@ -65,10 +65,14 @@
65
65
  "@radix-ui/react-avatar": "^1.0.4",
66
66
  "@radix-ui/react-checkbox": "^1.0.4",
67
67
  "@radix-ui/react-collapsible": "^1.0.3",
68
+ "@radix-ui/react-context-menu": "^2.1.5",
68
69
  "@radix-ui/react-dialog": "^1.0.5",
70
+ "@radix-ui/react-dropdown-menu": "^2.0.6",
69
71
  "@radix-ui/react-hover-card": "^1.0.7",
70
72
  "@radix-ui/react-icons": "^1.3.0",
71
73
  "@radix-ui/react-label": "^2.0.2",
74
+ "@radix-ui/react-menubar": "^1.0.4",
75
+ "@radix-ui/react-navigation-menu": "^1.1.4",
72
76
  "@radix-ui/react-popover": "^1.0.7",
73
77
  "@radix-ui/react-progress": "^1.0.3",
74
78
  "@radix-ui/react-scroll-area": "^1.0.5",
@@ -138,5 +142,5 @@
138
142
  "react-dom": "^18.2.0",
139
143
  "typescript": "^5.2.2"
140
144
  },
141
- "gitHead": "957331eff1e44996fb087ad2feef3052d2e1a3f7"
145
+ "gitHead": "413c452e832fd947234ffac4d61aaa3dd20c7a0f"
142
146
  }
@@ -0,0 +1,180 @@
1
+ "use client";
2
+
3
+ import { forwardRef } 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 type {
11
+ ContextMenuCheckboxItemProps,
12
+ ContextMenuContentProps,
13
+ ContextMenuItemProps,
14
+ ContextMenuLabelProps,
15
+ ContextMenuProps,
16
+ ContextMenuRadioItemProps,
17
+ ContextMenuSeparatorProps,
18
+ ContextMenuShortcutProps,
19
+ ContextMenuSubContentProps,
20
+ ContextMenuSubTriggerProps,
21
+ } from "./types";
22
+ import { cn } from "../../../utilities";
23
+ import {
24
+ getMenubarCheckboxItemClasses,
25
+ getMenubarContentClasses,
26
+ getMenubarItemClasses,
27
+ getMenubarLabelClasses,
28
+ getMenubarRadioItemClasses,
29
+ getMenubarSeparatorClasses,
30
+ getMenubarShortcutClasses,
31
+ getMenubarSubContentClasses,
32
+ getMenubarSubTriggerClasses,
33
+ } from "../Menubar/constants";
34
+
35
+ const ContextMenu = (props: ContextMenuProps) => (
36
+ <ContextMenuPrimitive.Root {...props} />
37
+ );
38
+
39
+ const ContextMenuSubTrigger = forwardRef<
40
+ React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,
41
+ ContextMenuSubTriggerProps
42
+ >(({ className, inset, variant, children, ...props }, ref) => (
43
+ <ContextMenuPrimitive.SubTrigger
44
+ ref={ref}
45
+ className={cn(getMenubarSubTriggerClasses({ inset, variant }), className)}
46
+ {...props}
47
+ >
48
+ {children}
49
+ <ChevronRightIcon className="ml-auto h-4 w-4" />
50
+ </ContextMenuPrimitive.SubTrigger>
51
+ ));
52
+ ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
53
+
54
+ const ContextMenuSubContent = forwardRef<
55
+ React.ElementRef<typeof ContextMenuPrimitive.SubContent>,
56
+ ContextMenuSubContentProps
57
+ >(({ className, ...props }, ref) => (
58
+ <ContextMenuPrimitive.SubContent
59
+ ref={ref}
60
+ className={cn(getMenubarSubContentClasses(), className)}
61
+ {...props}
62
+ />
63
+ ));
64
+ ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
65
+
66
+ const ContextMenuContent = forwardRef<
67
+ React.ElementRef<typeof ContextMenuPrimitive.Content>,
68
+ ContextMenuContentProps
69
+ >(({ className, ...props }, ref) => (
70
+ <ContextMenuPrimitive.Portal>
71
+ <ContextMenuPrimitive.Content
72
+ ref={ref}
73
+ className={cn(getMenubarContentClasses(), className)}
74
+ {...props}
75
+ />
76
+ </ContextMenuPrimitive.Portal>
77
+ ));
78
+ ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
79
+
80
+ const ContextMenuItem = forwardRef<
81
+ React.ElementRef<typeof ContextMenuPrimitive.Item>,
82
+ ContextMenuItemProps
83
+ >(({ className, inset, variant, ...props }, ref) => (
84
+ <ContextMenuPrimitive.Item
85
+ ref={ref}
86
+ className={cn(getMenubarItemClasses({ inset, variant }), className)}
87
+ {...props}
88
+ />
89
+ ));
90
+ ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
91
+
92
+ const ContextMenuCheckboxItem = forwardRef<
93
+ React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,
94
+ ContextMenuCheckboxItemProps
95
+ >(({ className, children, variant, ...props }, ref) => (
96
+ <ContextMenuPrimitive.CheckboxItem
97
+ ref={ref}
98
+ className={cn(getMenubarCheckboxItemClasses({ variant }), className)}
99
+ {...props}
100
+ >
101
+ <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
102
+ <ContextMenuPrimitive.ItemIndicator>
103
+ <CheckIcon className="h-4 w-4" />
104
+ </ContextMenuPrimitive.ItemIndicator>
105
+ </span>
106
+ {children}
107
+ </ContextMenuPrimitive.CheckboxItem>
108
+ ));
109
+ ContextMenuCheckboxItem.displayName =
110
+ ContextMenuPrimitive.CheckboxItem.displayName;
111
+
112
+ const ContextMenuRadioItem = forwardRef<
113
+ React.ElementRef<typeof ContextMenuPrimitive.RadioItem>,
114
+ ContextMenuRadioItemProps
115
+ >(({ className, children, variant, ...props }, ref) => (
116
+ <ContextMenuPrimitive.RadioItem
117
+ ref={ref}
118
+ className={cn(getMenubarRadioItemClasses({ variant }), className)}
119
+ {...props}
120
+ >
121
+ <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
122
+ <ContextMenuPrimitive.ItemIndicator>
123
+ <DotFilledIcon className="h-4 w-4 fill-current" />
124
+ </ContextMenuPrimitive.ItemIndicator>
125
+ </span>
126
+ {children}
127
+ </ContextMenuPrimitive.RadioItem>
128
+ ));
129
+ ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
130
+
131
+ const ContextMenuLabel = forwardRef<
132
+ React.ElementRef<typeof ContextMenuPrimitive.Label>,
133
+ ContextMenuLabelProps
134
+ >(({ className, inset, ...props }, ref) => (
135
+ <ContextMenuPrimitive.Label
136
+ ref={ref}
137
+ className={cn(getMenubarLabelClasses({ inset }), className)}
138
+ {...props}
139
+ />
140
+ ));
141
+ ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
142
+
143
+ const ContextMenuSeparator = forwardRef<
144
+ React.ElementRef<typeof ContextMenuPrimitive.Separator>,
145
+ ContextMenuSeparatorProps
146
+ >(({ className, ...props }, ref) => (
147
+ <ContextMenuPrimitive.Separator
148
+ ref={ref}
149
+ className={cn(getMenubarSeparatorClasses(), className)}
150
+ {...props}
151
+ />
152
+ ));
153
+ ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
154
+
155
+ const ContextMenuShortcut = ({
156
+ className,
157
+ ...props
158
+ }: ContextMenuShortcutProps) => {
159
+ return (
160
+ <span className={cn(getMenubarShortcutClasses(), className)} {...props} />
161
+ );
162
+ };
163
+ ContextMenuShortcut.displayName = "ContextMenuShortcut";
164
+
165
+ ContextMenu.Trigger = ContextMenuPrimitive.Trigger;
166
+ ContextMenu.Group = ContextMenuPrimitive.Group;
167
+ ContextMenu.Portal = ContextMenuPrimitive.Portal;
168
+ ContextMenu.Sub = ContextMenuPrimitive.Sub;
169
+ ContextMenu.RadioGroup = ContextMenuPrimitive.RadioGroup;
170
+ ContextMenu.Content = ContextMenuContent;
171
+ ContextMenu.Item = ContextMenuItem;
172
+ ContextMenu.CheckboxItem = ContextMenuCheckboxItem;
173
+ ContextMenu.RadioItem = ContextMenuRadioItem;
174
+ ContextMenu.Label = ContextMenuLabel;
175
+ ContextMenu.Separator = ContextMenuSeparator;
176
+ ContextMenu.Shortcut = ContextMenuShortcut;
177
+ ContextMenu.SubContent = ContextMenuSubContent;
178
+ ContextMenu.SubTrigger = ContextMenuSubTrigger;
179
+
180
+ export { ContextMenu };
File without changes
@@ -0,0 +1 @@
1
+ export { ContextMenu } from "./ContextMenu";
@@ -0,0 +1,60 @@
1
+ import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
2
+ import { type VariantProps } from "../../../libs";
3
+ import {
4
+ getMenubarCheckboxItemClasses,
5
+ getMenubarContentClasses,
6
+ getMenubarItemClasses,
7
+ getMenubarLabelClasses,
8
+ getMenubarRadioItemClasses,
9
+ getMenubarSeparatorClasses,
10
+ getMenubarShortcutClasses,
11
+ getMenubarSubContentClasses,
12
+ getMenubarSubTriggerClasses,
13
+ } from "../Menubar/constants";
14
+
15
+ export type ContextMenuProps = React.ComponentPropsWithoutRef<
16
+ typeof ContextMenuPrimitive.Root
17
+ >;
18
+
19
+ export type ContextMenuSubTriggerProps = React.ComponentPropsWithoutRef<
20
+ typeof ContextMenuPrimitive.SubTrigger
21
+ > &
22
+ VariantProps<typeof getMenubarSubTriggerClasses>;
23
+
24
+ export type ContextMenuContentProps = React.ComponentPropsWithoutRef<
25
+ typeof ContextMenuPrimitive.Content
26
+ > &
27
+ VariantProps<typeof getMenubarContentClasses>;
28
+
29
+ export type ContextMenuSubContentProps = React.ComponentPropsWithoutRef<
30
+ typeof ContextMenuPrimitive.SubContent
31
+ > &
32
+ VariantProps<typeof getMenubarSubContentClasses>;
33
+
34
+ export type ContextMenuItemProps = React.ComponentPropsWithoutRef<
35
+ typeof ContextMenuPrimitive.Item
36
+ > &
37
+ VariantProps<typeof getMenubarItemClasses>;
38
+
39
+ export type ContextMenuCheckboxItemProps = React.ComponentPropsWithoutRef<
40
+ typeof ContextMenuPrimitive.CheckboxItem
41
+ > &
42
+ VariantProps<typeof getMenubarCheckboxItemClasses>;
43
+
44
+ export type ContextMenuRadioItemProps = React.ComponentPropsWithoutRef<
45
+ typeof ContextMenuPrimitive.RadioItem
46
+ > &
47
+ VariantProps<typeof getMenubarRadioItemClasses>;
48
+
49
+ export type ContextMenuLabelProps = React.ComponentPropsWithoutRef<
50
+ typeof ContextMenuPrimitive.Label
51
+ > &
52
+ VariantProps<typeof getMenubarLabelClasses>;
53
+
54
+ export type ContextMenuSeparatorProps = React.ComponentPropsWithoutRef<
55
+ typeof ContextMenuPrimitive.Separator
56
+ > &
57
+ VariantProps<typeof getMenubarSeparatorClasses>;
58
+
59
+ export type ContextMenuShortcutProps = React.HTMLAttributes<HTMLSpanElement> &
60
+ VariantProps<typeof getMenubarShortcutClasses>;