UNPKG

primereact

Version:

A rich set of premium UI Components for React.

4 lines (2 loc) 1.19 kB
'use client'; import{Component as x,withComponent as T}from"@primereact/core/component";import{mergeProps as S}from"@primeuix/utils";import*as e from"react";import{createOptionalContext as f}from"@primereact/core/utils";var[D,i]=f();import{createOptionalContext as b}from"@primereact/core/utils";var[O,p]=b();import{createOptionalContext as u}from"@primereact/core/utils";var[d,g]=u();var m={field:void 0,as:"button"};var j=T({name:"DataTable.Sort",defaultProps:m,setup({props:n}){let o=i(),a=p(),t=n.field??"",r=o?.sort?.isSorted(t)??!1,l=o?.sort?.getSortOrder(t)??0,s=o?.sort?.getSortIndex(t)??-1,c=e.useMemo(()=>({field:t,isSorted:r,sortOrder:l,sortIndex:s}),[t,r,l,s]);return e.useEffect(()=>{a?.setSorted(r)},[a,r]),e.useEffect(()=>()=>a?.setSorted(!1),[a]),{datatable:o,isSorted:r,sortOrder:l,sortIndex:s,contextValue:c}},render(n){let{props:o,ptmi:a,datatable:t,contextValue:r}=n,l=o.field??"",s=S(t?.sort?.getSortProps(l),{className:t?.cx("sort")},t?.ptm("sort"),a("root"));return e.createElement(d,{value:r},e.createElement(x,{instance:n,attrs:s,children:o.children}))}});export{j as DataTableSort,d as DataTableSortProvider,m as defaultSortProps,g as useDataTableSortContext};