UNPKG

@radix-ui/themes

Version:

[![Radix Themes Logo](https://radix-ui.com/social/themes.png)](https://radix-ui.com/themes)

3 lines (2 loc) 5.41 kB
"use client";import*as e from"react";import s from"classnames";import{ContextMenu as r,Slot as P}from"radix-ui";import{ScrollArea as d}from"./scroll-area.js";import{contextMenuContentPropDefs as p,contextMenuItemPropDefs as D,contextMenuCheckboxItemPropDefs as O,contextMenuRadioItemPropDefs as V}from"./context-menu.props.js";import{Theme as f,useThemeContext as z}from"./theme.js";import{ThickCheckIcon as I,ThickChevronRightIcon as A}from"./icons.js";import{extractProps as b}from"../helpers/extract-props.js";import{requireReactElement as j}from"../helpers/require-react-element.js";const h=t=>e.createElement(r.Root,{...t});h.displayName="ContextMenu.Root";const S=e.forwardRef(({children:t,...n},o)=>e.createElement(r.Trigger,{...n,ref:o,asChild:!0},j(t)));S.displayName="ContextMenu.Trigger";const g=e.createContext({}),v=e.forwardRef((t,n)=>{const o=z(),{size:a=p.size.default,variant:u=p.variant.default,highContrast:i=p.highContrast.default}=t,{className:C,children:m,color:x,container:M,forceMount:l,...L}=b(t,p),c=x||o.accentColor;return e.createElement(r.Portal,{container:M,forceMount:l},e.createElement(f,{asChild:!0},e.createElement(r.Content,{"data-accent-color":c,alignOffset:-Number(a)*4,collisionPadding:10,...L,asChild:!1,ref:n,className:s("rt-PopperContent","rt-BaseMenuContent","rt-ContextMenuContent",C)},e.createElement(d,{type:"auto"},e.createElement("div",{className:s("rt-BaseMenuViewport","rt-ContextMenuViewport")},e.createElement(g.Provider,{value:e.useMemo(()=>({size:a,variant:u,color:c,highContrast:i}),[a,u,c,i])},m))))))});v.displayName="ContextMenu.Content";const y=e.forwardRef(({className:t,...n},o)=>e.createElement(r.Label,{...n,asChild:!1,ref:o,className:s("rt-BaseMenuLabel","rt-ContextMenuLabel",t)}));y.displayName="ContextMenu.Label";const R=e.forwardRef((t,n)=>{const{className:o,children:a,color:u=D.color.default,shortcut:i,...C}=t;return e.createElement(r.Item,{"data-accent-color":u,...C,ref:n,className:s("rt-reset","rt-BaseMenuItem","rt-ContextMenuItem",o)},e.createElement(P.Slottable,null,a),i&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-ContextMenuShortcut"},i))});R.displayName="ContextMenu.Item";const N=e.forwardRef(({className:t,...n},o)=>e.createElement(r.Group,{...n,asChild:!1,ref:o,className:s("rt-BaseMenuGroup","rt-ContextMenuGroup",t)}));N.displayName="ContextMenu.Group";const T=e.forwardRef(({className:t,...n},o)=>e.createElement(r.RadioGroup,{...n,asChild:!1,ref:o,className:s("rt-BaseMenuRadioGroup","rt-ContextMenuRadioGroup",t)}));T.displayName="ContextMenu.RadioGroup";const E=e.forwardRef((t,n)=>{const{children:o,className:a,color:u=V.color.default,...i}=t;return e.createElement(r.RadioItem,{...i,asChild:!1,ref:n,"data-accent-color":u,className:s("rt-BaseMenuItem","rt-BaseMenuRadioItem","rt-ContextMenuItem","rt-ContextMenuRadioItem",a)},e.createElement(P.Slottable,null,o),e.createElement(r.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator"},e.createElement(I,{className:"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon"})))});E.displayName="ContextMenu.RadioItem";const G=e.forwardRef((t,n)=>{const{children:o,className:a,shortcut:u,color:i=O.color.default,...C}=t;return e.createElement(r.CheckboxItem,{...C,asChild:!1,ref:n,"data-accent-color":i,className:s("rt-BaseMenuItem","rt-BaseMenuCheckboxItem","rt-ContextMenuItem","rt-ContextMenuCheckboxItem",a)},e.createElement(P.Slottable,null,o),e.createElement(r.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator"},e.createElement(I,{className:"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon"})),u&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-ContextMenuShortcut"},u))});G.displayName="ContextMenu.CheckboxItem";const w=t=>e.createElement(r.Sub,{...t});w.displayName="ContextMenu.Sub";const B=e.forwardRef((t,n)=>{const{className:o,children:a,...u}=t;return e.createElement(r.SubTrigger,{...u,asChild:!1,ref:n,className:s("rt-BaseMenuItem","rt-BaseMenuSubTrigger","rt-ContextMenuItem","rt-ContextMenuSubTrigger",o)},a,e.createElement("div",{className:"rt-BaseMenuShortcut rt-ContextMenuShortcut"},e.createElement(A,{className:"rt-BaseMenuSubTriggerIcon rt-ContextMenuSubTriggerIcon"})))});B.displayName="ContextMenu.SubTrigger";const k=e.forwardRef((t,n)=>{const{size:o,variant:a,color:u,highContrast:i}=e.useContext(g),{className:C,children:m,container:x,forceMount:M,...l}=b({size:o,variant:a,color:u,highContrast:i,...t},p);return e.createElement(r.Portal,{container:x,forceMount:M},e.createElement(f,{asChild:!0},e.createElement(r.SubContent,{"data-accent-color":u,alignOffset:-Number(o)*4,sideOffset:1,collisionPadding:10,...l,asChild:!1,ref:n,className:s("rt-PopperContent","rt-BaseMenuContent","rt-BaseMenuSubContent","rt-ContextMenuContent","rt-ContextMenuSubContent",C)},e.createElement(d,{type:"auto"},e.createElement("div",{className:s("rt-BaseMenuViewport","rt-ContextMenuViewport")},m)))))});k.displayName="ContextMenu.SubContent";const W=e.forwardRef(({className:t,...n},o)=>e.createElement(r.Separator,{...n,asChild:!1,ref:o,className:s("rt-BaseMenuSeparator","rt-ContextMenuSeparator",t)}));W.displayName="ContextMenu.Separator";export{G as CheckboxItem,v as Content,N as Group,R as Item,y as Label,T as RadioGroup,E as RadioItem,h as Root,W as Separator,w as Sub,k as SubContent,B as SubTrigger,S as Trigger}; //# sourceMappingURL=context-menu.js.map