primereact
Version:
A rich set of premium UI Components for React.
4 lines (2 loc) • 1.89 kB
JavaScript
'use client';
import{Component as w,withComponent as R}from"@primereact/core/component";import{mergeProps as D}from"@primeuix/utils";import*as s from"react";import{createOptionalContext as x}from"@primereact/core/utils";var[V,p]=x();import{createOptionalContext as b}from"@primereact/core/utils";var[O,m]=b();import{createOptionalContext as f}from"@primereact/core/utils";var[c,g]=f();var d={as:"button"},T={as:"span",match:"always"};var P=R({name:"DataTable.RowToggle",defaultProps:d,setup(){let t=p(),o=m(),e=o?.item,n=o?.index??0,a=e?t?.getRowKey?.(e,n):void 0,r=t?.expansion?.getRowToggleProps(a,e),l=r&&!r.isSpacer?r.isExpanded??!1:!1,i=s.useMemo(()=>({isExpanded:l}),[l]);return{datatable:t,bodyItem:o,headlessToggle:r,contextValue:i}},render(t){let{props:o,ptmi:e,datatable:n,headlessToggle:a,contextValue:r}=t;if(!a)return null;if(a.isSpacer)return s.createElement("span",{...a.spacerProps});let l=D(a.rootProps,{className:n?.cx("rowToggle")},n?.ptm("rowToggle"),e("root"));return s.createElement(c,{value:r},s.createElement(w,{instance:t,attrs:l,children:o.children}))}});import{Component as C,withComponent as I}from"@primereact/core/component";import{mergeProps as y}from"@primeuix/utils";import*as u from"react";var h=I({name:"DataTable.RowToggleIndicator",defaultProps:T,setup(){let t=p(),o=g();return{datatable:t,toggleContext:o}},render(t){let{id:o,props:e,ptmi:n,datatable:a,toggleContext:r}=t;if(e.match&&e.match!=="always"){let i=r?.isExpanded?"expanded":"collapsed";if(e.match!==i)return null}let l=y({id:o,"data-scope":"datatable","data-part":"row-toggle-indicator"},a?.ptm("rowToggleIndicator"),n("root"));return u.createElement(C,{instance:t,attrs:l,children:e.children})}});export{P as DataTableRowToggle,h as DataTableRowToggleIndicator,c as DataTableRowToggleProvider,T as defaultRowToggleIndicatorProps,d as defaultRowToggleProps,g as useDataTableRowToggleContext};