UNPKG

@progress/kendo-react-grid

Version:

React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package

10 lines (9 loc) 2.22 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use client"; "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("react");function v(s){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const u in s)if(u!=="default"){const f=Object.getOwnPropertyDescriptor(s,u);Object.defineProperty(c,u,f.get?f:{enumerable:!0,get:()=>s[u]})}}return c.default=s,Object.freeze(c)}const a=v(k);function r(s){const c=a.useMemo(()=>{var l;if(s!=null&&s.columnsRef&&Array.isArray(s.columnsRef)){const e=s.columnsRef,p=(l=s.hiddenColumnsRef)!=null?l:[];return[...e,...p].map(h=>{var m;return{id:h.id,field:h.field,values:(m=h.values)!=null?m:[]}})}return[]},[s==null?void 0:s.columnsRef,s==null?void 0:s.hiddenColumnsRef]),u=a.useMemo(()=>s?{sort:s.sort,filter:s.filter,group:s.group,highlight:s.highlight,select:s.select,columnsState:s.columnsState,skip:s.skip,take:s.take}:void 0,[s]),f=a.useMemo(()=>s?{getTotal:()=>s.getTotal(),getLeafDataItems:()=>s.getLeafDataItems(),exportAsPdf:()=>s.exportAsPdf(),props:{dataItemKey:s.dataItemKey}}:null,[s]),o=a.useCallback(l=>{var e,p;s&&(l.sort!==void 0&&l.sort!==s.sort&&s.sortChange(l.sort,{}),l.filter!==s.filter&&s.filterChange(l.filter,{}),l.group!==void 0&&l.group!==s.group&&s.groupChange(l.group,{}),l.highlight!==void 0&&l.highlight!==s.highlight&&s.applyHighlightDescriptor(l.highlight),l.select!==void 0&&l.select!==s.select&&s.applySelectionDescriptor(l.select),l.columnsState!==void 0&&l.columnsState!==s.columnsState&&s.onColumnsStateChange(l.columnsState),(l.skip!==void 0&&l.skip!==s.skip||l.take!==void 0&&l.take!==s.take)&&s.pagerPageChange({skip:(e=l.skip)!=null?e:0,take:(p=l.take)!=null?p:0,syntheticEvent:{}}))},[s]),i=a.useCallback(()=>{s==null||s.exportAsPdf()},[s]);return{columns:c,gridState:u,gridRef:f,handleStateChange:o,exportAsPdf:i}}exports.useSmartBoxGridState=r;