primereact
Version:
A rich set of premium UI Components for React.
4 lines (2 loc) • 1.87 kB
JavaScript
'use client';
import{Component as y,withComponent as O}from"@primereact/core/component";import{useMenuCheckboxItem as g}from"@primereact/headless/menu/checkboxitem";import{mergeProps as R}from"@primeuix/utils";import*as o from"react";import{createOptionalContext as P}from"@primereact/core/utils";var[E,l]=P();import{createOptionalContext as k}from"@primereact/core/utils";var[q,f]=k();import{createOptionalContext as v}from"@primereact/core/utils";var[D,x]=v();import{createOptionalContext as S}from"@primereact/core/utils";var[b,z]=S();var C={as:"div",disabled:void 0,value:void 0,checked:void 0,defaultChecked:void 0,closeOnSelect:void 0,onSelect:void 0,onCheckedChange:void 0,indeterminate:void 0,trueValue:!0,falseValue:!1,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 Y=O({name:"Menu.CheckboxItem",defaultProps:C,setup(n){let{props:e,inProps:u}=n,t=l(),m=x(),r=f(),c=o.useId(),d=e.value!=null?String(e.value):c,s=t?.getItemId?.(d),i=g({...u,disabled:e.disabled,closeOnSelect:e.closeOnSelect,onSelect:a=>{e.onSelect?.(a),t?.props.onSelect?.(a)},onCheckedChange:e.onCheckedChange}),p=!!i.state.checked,I=!!e.disabled,h=s?t?.isFocused(s)??!1:!1,M=t?.getItemProps({value:d,disabled:e.disabled,type:"checkbox",checked:p,inPortal:!!r,closeOnSelect:i.closeOnSelect,onSelect:i.onSelect});return{...i,menu:t,submenu:m,portal:r,itemId:s,focused:h,isDisabled:I,checked:p,itemProps:M}},render(n){let{props:e,ptmi:u,menu:t,focused:m,itemProps:r}=n,c=R(r,{className:t?.cx("item",{disabled:e.disabled,focused:m})},t?.ptm("item"),u("root"));return o.createElement(b,{value:n},o.createElement(y,{instance:n,attrs:c,children:e.children}))}});export{Y as MenuCheckboxItem,b as MenuCheckboxItemProvider,C as defaultCheckboxItemProps,z as useMenuCheckboxItemContext};