UNPKG

primereact

Version:

A rich set of premium UI Components for React.

4 lines (2 loc) 1.37 kB
'use client'; import{Component as O,withComponent as R}from"@primereact/core/component";import{mergeProps as g}from"@primeuix/utils";import*as t from"react";import{createOptionalContext as v}from"@primereact/core/utils";var[E,c]=v();import{createOptionalContext as S}from"@primereact/core/utils";var[w,p]=S();import{createOptionalContext as b}from"@primereact/core/utils";var[N,a]=b();import{createOptionalContext as y}from"@primereact/core/utils";var[l,z]=y();var x={as:"div",disabled:void 0,value:void 0,closeOnSelect:void 0,onSelect:void 0};var U=R({name:"ContextMenu.Item",defaultProps:x,setup({props:e}){let n=c(),u=a(),r=p(),o=n?.menu,i=t.useId(),m=e.value!=null?String(e.value):i,s=o?.getItemId?.(m),d=!!e.disabled,C=s?o?.isFocused(s)??!1:!1,f=e.closeOnSelect??!0,I=t.useCallback(P=>{e.onSelect?.(P)},[e.onSelect]),M=n?.getItemProps({value:m,disabled:e.disabled,type:"item",closeOnSelect:f,onSelect:I});return{contextmenu:n,menu:o,submenu:u,portal:r,itemId:s,focused:C,isDisabled:d,itemProps:M}},render(e){let{props:n,ptmi:u,contextmenu:r,focused:o,itemProps:i}=e,m=g(i,{className:r?.cx("item",{disabled:n.disabled,focused:o})},r?.ptm("item"),u("root"));return t.createElement(l,{value:e},t.createElement(O,{instance:e,attrs:m,children:n.children}))}});export{U as ContextMenuItem,l as ContextMenuItemProvider,x as defaultItemProps,z as useContextMenuItemContext};