UNPKG

primereact

Version:

A rich set of premium UI Components for React.

4 lines (2 loc) 980 B
'use client'; import{Component as P,withComponent as R}from"@primereact/core/component";import*as o from"react";import{createOptionalContext as y}from"@primereact/core/utils";var[A,a]=y();import{createOptionalContext as C}from"@primereact/core/utils";var[k,p]=C();var d={};var H=R({name:"Tree.Selection",defaultProps:d,setup({props:n}){let r=p(),i=a(),s=!i,e=r?.selection,m=s?e?.isAllSelected()??!1:!1,f=s?e?.isSomeSelected()??!1:!1,u=o.useCallback(c=>e?.toggleAll(c),[e]),t=i?.node?.key,S=t!==void 0?e?.isSelected(t)??!1:!1,g=t!==void 0?e?.isPartiallySelected(t)??!1:!1,T=r?.props.selectionMode==="single"?"single":"checkbox",l=n.mode??T,x=o.useCallback(c=>{t!==void 0&&e?.toggleSelection(c,t,l)},[e,t,l]);return{tree:r,isHeader:s,isAllSelected:m,isSomeSelected:f,toggleAll:u,isSelected:S,isPartiallySelected:g,toggle:x}},render(n){let{props:r}=n;return o.createElement(P,{instance:n,as:o.Fragment,children:r.children})}});export{H as TreeSelection,d as defaultSelectionProps};