primereact
Version:
A rich set of premium UI Components for React.
4 lines (2 loc) • 1.95 kB
JavaScript
'use client';
import{Component as G,withComponent as E}from"@primereact/core/component";import{useMenuRadioItem as F}from"@primereact/headless/menu/radioitem";import{mergeProps as L}from"@primeuix/utils";import*as r from"react";import{createOptionalContext as y}from"@primereact/core/utils";var[w,l]=y();import{createOptionalContext as h}from"@primereact/core/utils";var[N,x]=h();import{createOptionalContext as O}from"@primereact/core/utils";var[A,C]=O();import{createOptionalContext as g}from"@primereact/core/utils";var[K,f]=g();import{createOptionalContext as k}from"@primereact/core/utils";var[I,U]=k();var M={as:"div",value:void 0,disabled:void 0,checked:void 0,defaultChecked:void 0,closeOnSelect:void 0,onSelect:void 0,onCheckedChange:void 0,name:void 0,readOnly:void 0,required:void 0,tabIndex:void 0,invalid:void 0,inputId:void 0,ariaLabel:void 0,ariaLabelledby:void 0,onFocus:void 0,onBlur:void 0};var ie=E({name:"ContextMenu.RadioItem",defaultProps:M,setup(n){let{props:e,inProps:u}=n,t=l(),m=f(),d=x(),o=t?.menu,a=C()?.context??null,v=r.useId(),c=e.value!=null?String(e.value):v,s=o?.getItemId?.(c),i=F({...u,value:e.value,disabled:e.disabled,closeOnSelect:e.closeOnSelect,group:a,onSelect:S=>{e.onSelect?.(S)},onCheckedChange:e.onCheckedChange}),p=!!i.state.checked,P=!!e.disabled,R=s?o?.isFocused(s)??!1:!1,b=t?.getItemProps({value:c,disabled:e.disabled,type:"radio",checked:p,closeOnSelect:i.closeOnSelect,onSelect:i.onSelect});return{...i,contextmenu:t,menu:o,submenu:m,portal:d,group:a,itemId:s,focused:R,isDisabled:P,checked:p,itemProps:b}},render(n){let{props:e,ptmi:u,contextmenu:t,focused:m,itemProps:d}=n,o=L(d,{className:t?.cx("item",{disabled:e.disabled,focused:m})},t?.ptm("item"),u("root"));return r.createElement(I,{value:n},r.createElement(G,{instance:n,attrs:o,children:e.children}))}});export{ie as ContextMenuRadioItem,I as ContextMenuRadioItemProvider,M as defaultRadioItemProps,U as useContextMenuRadioItemContext};