UNPKG

primereact

Version:

A rich set of premium UI Components for React.

4 lines (2 loc) 1.24 kB
'use client'; import{Component as x,withComponent as N}from"@primereact/core/component";import{mergeProps as h}from"@primeuix/utils";import*as s from"react";import{createOptionalContext as T}from"@primereact/core/utils";var[C,m]=T();var u={as:"ul"};function K(t,n){let o=t.findNodeByKey?.(n);if(!o)return null;let e=t.findNodeInfo?.(n)??{level:1,posInSet:1,setSize:1,parentKey:null},i=(t.state?.expandedKeys??{})[n]===!0,c=o.leaf??!o.children?.length,l=o.loading===!0,r=o.disabled===!0,d=t.props.selectionMode==="checkbox",a=(t.state?.selectionKeys??{})[n],f=!!(d?a?.checked:a),y=d?!!a?.partialChecked:!1;return{node:o,level:e.level,posInSet:e.posInSet,setSize:e.setSize,parentKey:e.parentKey,expanded:i,leaf:c,loading:l,selected:f,partiallySelected:y,disabled:r}}var I=N({name:"Tree.Nodes",defaultProps:u,setup(){return{tree:m()}},render(t){let{props:n,ptmi:o,tree:e}=t;if(!e)return null;let p=typeof n.children=="function"?n.children:null,i=e.visibleKeys??[],c=h(e.getNodesProps?.(),{className:e.cx("nodes")},e.ptm("nodes"),o("root")),l=i.map(r=>K(e,r)).filter(r=>r!==null);return s.createElement(x,{instance:t,attrs:c},p?l.map(r=>s.createElement(s.Fragment,{key:r.node.key},p(r))):null)}});export{I as TreeNodes,u as defaultNodesProps};