@pravinrd/awesome-grid 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist-lib/index.cjs +4 -4
- package/dist-lib/index.js +68 -67
- package/dist-lib/style.css +1 -0
- package/package.json +8 -2
package/README.md
CHANGED
package/dist-lib/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react");var Pe={exports:{}},ve={};/**
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),Rt="_container_dihwe_1",Tt="_themeLight_dihwe_10",Et="_themeDark_dihwe_29",Ot="_themePurple_dihwe_48",At="_headerRow_dihwe_67",Mt="_flexRow_dihwe_76",Dt="_toolbarGroup_dihwe_82",Pt="_dropdown_dihwe_86",It="_buttonBase_dihwe_90",$t="_buttonPrimary_dihwe_101",Lt="_buttonDanger_dihwe_111",Bt="_buttonMuted_dihwe_121",Wt="_dropdownToggle_dihwe_142",Ft="_dropdownMenu_dihwe_147",Gt="_dropdownMenuOpen_dihwe_163",zt="_menuItemButton_dihwe_167",Vt="_labelMuted_dihwe_185",Ut="_selectSmall_dihwe_190",Ht="_selectAuto_dihwe_199",Yt="_switchRow_dihwe_203",Jt="_groupingSummary_dihwe_210",qt="_relative_dihwe_217",Xt="_overlay_dihwe_221",Kt="_overlayInner_dihwe_229",Zt="_spinner_dihwe_236",Qt="_tableWrap_dihwe_252",er="_tableWrapAll_dihwe_256",tr="_table_dihwe_252",rr="_tableHead_dihwe_278",nr="_thCellTop_dihwe_282",or="_thCellFilter_dihwe_290",sr="_thInner_dihwe_297",ar="_resizeHandle_dihwe_303",lr="_sortButton_dihwe_328",ir="_iconMuted_dihwe_338",cr="_inlineGroup_dihwe_342",ur="_input_dihwe_350",dr="_rowInteractive_dihwe_362",hr="_groupRow_dihwe_375",mr="_groupRowAnimated_dihwe_382",pr="_groupChildRow_dihwe_386",fr="_groupToggle_dihwe_390",gr="_groupMeta_dihwe_430",wr="_checkbox_dihwe_438",_r="_tfoot_dihwe_447",br="_textCenter_dihwe_455",yr="_paginationWrap_dihwe_459",xr="_pagination_dihwe_459",vr="_pageButton_dihwe_473",kr="_pageButtonActive_dihwe_488",Sr="_backdrop_dihwe_494",Nr="_drawer_dihwe_500",jr="_drawerTitle_dihwe_515",Cr="_drawerSection_dihwe_521",Rr="_drawerSubtitle_dihwe_527",Tr="_sectionToggle_dihwe_534",Er="_sectionBody_dihwe_547",Or="_drawerRow_dihwe_551",Ar="_spacerAuto_dihwe_558",Mr="_srOnly_dihwe_570",s={container:Rt,themeLight:Tt,themeDark:Et,themePurple:Ot,headerRow:At,flexRow:Mt,toolbarGroup:Dt,dropdown:Pt,buttonBase:It,buttonPrimary:$t,buttonDanger:Lt,buttonMuted:Bt,dropdownToggle:Wt,dropdownMenu:Ft,dropdownMenuOpen:Gt,menuItemButton:zt,labelMuted:Vt,selectSmall:Ut,selectAuto:Ht,switchRow:Yt,groupingSummary:Jt,relative:qt,overlay:Xt,overlayInner:Kt,spinner:Zt,tableWrap:Qt,tableWrapAll:er,table:tr,tableHead:rr,thCellTop:nr,thCellFilter:or,thInner:sr,resizeHandle:ar,sortButton:lr,iconMuted:ir,inlineGroup:cr,input:ur,rowInteractive:dr,groupRow:hr,groupRowAnimated:mr,groupChildRow:pr,groupToggle:fr,groupMeta:gr,checkbox:wr,tfoot:_r,textCenter:br,paginationWrap:yr,pagination:xr,pageButton:vr,pageButtonActive:kr,backdrop:Sr,drawer:Nr,drawerTitle:jr,drawerSection:Cr,drawerSubtitle:Rr,sectionToggle:Tr,sectionBody:Er,drawerRow:Or,spacerAuto:Ar,srOnly:Mr};var Pe={exports:{}},ve={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.js
|
|
4
4
|
*
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var at;function
|
|
9
|
+
*/var at;function Dr(){if(at)return ve;at=1;var u=Symbol.for("react.transitional.element"),x=Symbol.for("react.fragment");function v(O,k,S){var F=null;if(S!==void 0&&(F=""+S),k.key!==void 0&&(F=""+k.key),"key"in k){S={};for(var U in k)U!=="key"&&(S[U]=k[U])}else S=k;return k=S.ref,{$$typeof:u,type:O,key:F,ref:k!==void 0?k:null,props:S}}return ve.Fragment=x,ve.jsx=v,ve.jsxs=v,ve}var ke={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react-jsx-runtime.development.js
|
|
12
12
|
*
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var lt;function
|
|
17
|
+
*/var lt;function Pr(){return lt||(lt=1,process.env.NODE_ENV!=="production"&&(function(){function u(n){if(n==null)return null;if(typeof n=="function")return n.$$typeof===N?null:n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case fe:return"Fragment";case Le:return"Profiler";case f:return"StrictMode";case we:return"Suspense";case Y:return"SuspenseList";case Be:return"Activity"}if(typeof n=="object")switch(typeof n.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),n.$$typeof){case se:return"Portal";case Z:return n.displayName||"Context";case W:return(n._context.displayName||"Context")+".Consumer";case ge:var c=n.render;return n=n.displayName,n||(n=c.displayName||c.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case G:return c=n.displayName||null,c!==null?c:u(n.type)||"Memo";case Q:c=n._payload,n=n._init;try{return u(n(c))}catch{}}return null}function x(n){return""+n}function v(n){try{x(n);var c=!1}catch{c=!0}if(c){c=console;var g=c.error,_=typeof Symbol=="function"&&Symbol.toStringTag&&n[Symbol.toStringTag]||n.constructor.name||"Object";return g.call(c,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",_),x(n)}}function O(n){if(n===fe)return"<>";if(typeof n=="object"&&n!==null&&n.$$typeof===Q)return"<...>";try{var c=u(n);return c?"<"+c+">":"<...>"}catch{return"<...>"}}function k(){var n=_e.A;return n===null?null:n.getOwner()}function S(){return Error("react-stack-top-frame")}function F(n){if(Ce.call(n,"key")){var c=Object.getOwnPropertyDescriptor(n,"key").get;if(c&&c.isReactWarning)return!1}return n.key!==void 0}function U(n,c){function g(){ee||(ee=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",c))}g.isReactWarning=!0,Object.defineProperty(n,"key",{get:g,configurable:!0})}function pe(){var n=u(this.type);return ae[n]||(ae[n]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),n=this.props.ref,n!==void 0?n:null}function ne(n,c,g,_,$,ie){var b=g.ref;return n={$$typeof:je,type:n,key:c,props:g,_owner:_},(b!==void 0?b:null)!==null?Object.defineProperty(n,"ref",{enumerable:!1,get:pe}):Object.defineProperty(n,"ref",{enumerable:!1,value:null}),n._store={},Object.defineProperty(n._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(n,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(n,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:$}),Object.defineProperty(n,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ie}),Object.freeze&&(Object.freeze(n.props),Object.freeze(n)),n}function K(n,c,g,_,$,ie){var b=c.children;if(b!==void 0)if(_)if(Re(b)){for(_=0;_<b.length;_++)oe(b[_]);Object.freeze&&Object.freeze(b)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else oe(b);if(Ce.call(c,"key")){b=u(n);var j=Object.keys(c).filter(function(V){return V!=="key"});_=0<j.length?"{key: someKey, "+j.join(": ..., ")+": ...}":"{key: someKey}",te[b+_]||(j=0<j.length?"{"+j.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
18
|
let props = %s;
|
|
19
19
|
<%s {...props} />
|
|
20
20
|
React keys must be passed directly to JSX without using spread:
|
|
21
21
|
let props = %s;
|
|
22
|
-
<%s key={someKey} {...props} />`,_,b,j,b),te[b+_]=!0)}if(b=null,g!==void 0&&(v(g),b=""+g),F(c)&&(v(c.key),b=""+c.key),"key"in c){g={};for(var be in c)be!=="key"&&(g[be]=c[be])}else g=c;return b&&U(g,typeof n=="function"?n.displayName||n.name||"Unknown":n),ne(n,b,g,k(),$,ie)}function oe(n){Ne(n)?n._store&&(n._store.validated=1):typeof n=="object"&&n!==null&&n.$$typeof===Q&&(n._payload.status==="fulfilled"?Ne(n._payload.value)&&n._payload.value._store&&(n._payload.value._store.validated=1):n._store&&(n._store.validated=1))}function Ne(n){return typeof n=="object"&&n!==null&&n.$$typeof===je}var H=l,je=Symbol.for("react.transitional.element"),se=Symbol.for("react.portal"),fe=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),Le=Symbol.for("react.profiler"),W=Symbol.for("react.consumer"),Z=Symbol.for("react.context"),ge=Symbol.for("react.forward_ref"),we=Symbol.for("react.suspense"),Y=Symbol.for("react.suspense_list"),G=Symbol.for("react.memo"),Q=Symbol.for("react.lazy"),Be=Symbol.for("react.activity"),N=Symbol.for("react.client.reference"),_e=H.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ce=Object.prototype.hasOwnProperty,Re=Array.isArray,T=console.createTask?console.createTask:function(){return null};H={react_stack_bottom_frame:function(n){return n()}};var ee,ae={},le=H.react_stack_bottom_frame.bind(H,S)(),z=T(O(S)),te={};ke.Fragment=fe,ke.jsx=function(n,c,g){var _=1e4>_e.recentlyCreatedOwnerStacks++;return K(n,c,g,!1,_?Error("react-stack-top-frame"):le,_?T(O(n)):z)},ke.jsxs=function(n,c,g){var _=1e4>_e.recentlyCreatedOwnerStacks++;return K(n,c,g,!0,_?Error("react-stack-top-frame"):le,_?T(O(n)):z)}})()),ke}var it;function Et(){return it||(it=1,process.env.NODE_ENV==="production"?Pe.exports=Rt():Pe.exports=Tt()),Pe.exports}var r=Et();const Ot="_container_dihwe_1",At="_themeLight_dihwe_10",Mt="_themeDark_dihwe_29",Dt="_themePurple_dihwe_48",Pt="_headerRow_dihwe_67",It="_flexRow_dihwe_76",$t="_toolbarGroup_dihwe_82",Lt="_dropdown_dihwe_86",Bt="_buttonBase_dihwe_90",Wt="_buttonPrimary_dihwe_101",Ft="_buttonDanger_dihwe_111",Gt="_buttonMuted_dihwe_121",zt="_dropdownToggle_dihwe_142",Vt="_dropdownMenu_dihwe_147",Ut="_dropdownMenuOpen_dihwe_163",Ht="_menuItemButton_dihwe_167",Yt="_labelMuted_dihwe_185",Jt="_selectSmall_dihwe_190",qt="_selectAuto_dihwe_199",Xt="_switchRow_dihwe_203",Kt="_groupingSummary_dihwe_210",Zt="_relative_dihwe_217",Qt="_overlay_dihwe_221",er="_overlayInner_dihwe_229",tr="_spinner_dihwe_236",rr="_tableWrap_dihwe_252",nr="_tableWrapAll_dihwe_256",or="_table_dihwe_252",sr="_tableHead_dihwe_278",ar="_thCellTop_dihwe_282",lr="_thCellFilter_dihwe_290",ir="_thInner_dihwe_297",cr="_resizeHandle_dihwe_303",ur="_sortButton_dihwe_328",dr="_iconMuted_dihwe_338",hr="_inlineGroup_dihwe_342",mr="_input_dihwe_350",pr="_rowInteractive_dihwe_362",fr="_groupRow_dihwe_375",gr="_groupRowAnimated_dihwe_382",wr="_groupChildRow_dihwe_386",_r="_groupToggle_dihwe_390",br="_groupMeta_dihwe_430",yr="_checkbox_dihwe_438",xr="_tfoot_dihwe_447",vr="_textCenter_dihwe_455",kr="_paginationWrap_dihwe_459",Sr="_pagination_dihwe_459",Nr="_pageButton_dihwe_473",jr="_pageButtonActive_dihwe_488",Cr="_backdrop_dihwe_494",Rr="_drawer_dihwe_500",Tr="_drawerTitle_dihwe_515",Er="_drawerSection_dihwe_521",Or="_drawerSubtitle_dihwe_527",Ar="_sectionToggle_dihwe_534",Mr="_sectionBody_dihwe_547",Dr="_drawerRow_dihwe_551",Pr="_spacerAuto_dihwe_558",Ir="_srOnly_dihwe_570",s={container:Ot,themeLight:At,themeDark:Mt,themePurple:Dt,headerRow:Pt,flexRow:It,toolbarGroup:$t,dropdown:Lt,buttonBase:Bt,buttonPrimary:Wt,buttonDanger:Ft,buttonMuted:Gt,dropdownToggle:zt,dropdownMenu:Vt,dropdownMenuOpen:Ut,menuItemButton:Ht,labelMuted:Yt,selectSmall:Jt,selectAuto:qt,switchRow:Xt,groupingSummary:Kt,relative:Zt,overlay:Qt,overlayInner:er,spinner:tr,tableWrap:rr,tableWrapAll:nr,table:or,tableHead:sr,thCellTop:ar,thCellFilter:lr,thInner:ir,resizeHandle:cr,sortButton:ur,iconMuted:dr,inlineGroup:hr,input:mr,rowInteractive:pr,groupRow:fr,groupRowAnimated:gr,groupChildRow:wr,groupToggle:_r,groupMeta:br,checkbox:yr,tfoot:xr,textCenter:vr,paginationWrap:kr,pagination:Sr,pageButton:Nr,pageButtonActive:jr,backdrop:Cr,drawer:Rr,drawerTitle:Tr,drawerSection:Er,drawerSubtitle:Or,sectionToggle:Ar,sectionBody:Mr,drawerRow:Dr,spacerAuto:Pr,srOnly:Ir},E=(...u)=>u.filter(Boolean).join(" ");function ct({label:u,children:x}){const[v,O]=l.useState(!1),k=l.useRef(null);return l.useEffect(()=>{const S=F=>{k.current&&!k.current.contains(F.target)&&O(!1)};return document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[]),r.jsxs("div",{className:s.dropdown,ref:k,children:[r.jsx("button",{className:E(s.buttonBase,s.buttonPrimary,s.dropdownToggle),type:"button","aria-haspopup":"menu","aria-expanded":v,onClick:()=>O(!v),children:u}),r.jsx("ul",{className:E(s.dropdownMenu,v&&s.dropdownMenuOpen),role:"menu",onClick:()=>O(!1),children:x})]})}const Ve=(u,x="14px system-ui")=>{const O=(Ve.canvas||(Ve.canvas=document.createElement("canvas"))).getContext("2d");return O.font=x,O.measureText(u).width},Se=u=>u.toLowerCase().replace(/[_\s]+(.)?/g,(x,v)=>v?v.toUpperCase():"").replace(/^(.)/,x=>x.toLowerCase()),$r=u=>{if(!u||typeof u!="object")return u;const x={};return Object.keys(u).forEach(v=>{x[Se(v)]=u[v]}),x},q=0,Ie=38,ut=10,Lr=[],$e=80;function Br({apiEndpoint:u,rowKey:x,theme:v="light",computedColumns:O=Lr,currency:k="INR",dateFormat:S={locale:"en-US",options:{year:"numeric",month:"2-digit",day:"2-digit"}},dateSeparator:F="/",pageSizeOptions:U=[50,100,500,1e3,0],defaultPageSize:pe}){const ne=l.useRef(!1),K=l.useRef(!1),oe=l.useRef(!1),Ne=50,[H,je]=l.useState(!0),[se,fe]=l.useState([]),[f,Le]=l.useState([]),[W,Z]=l.useState([]),[ge,we]=l.useState(!1),[Y,G]=l.useState(1),Q=Array.isArray(U)&&U.length>0?U:[50,100,500,1e3,0],Be=pe!==void 0&&Q.includes(pe)?pe:Q[0]||50,[N,_e]=l.useState(Be),[Ce,Re]=l.useState(!1),[T,ee]=l.useState([]),[ae,le]=l.useState({}),[z,te]=l.useState([]),[n,c]=l.useState(()=>{const e=String(v||"light").toLowerCase();return e==="dark"||e==="purple"?e:"light"}),[g,_]=l.useState({groupBy:!1,aggregates:!1}),[$,ie]=l.useState({}),b=l.useDeferredValue($),[j,be]=l.useState({key:null,direction:"asc"}),[V,ye]=l.useState([]),[Te,Ee]=l.useState({}),[dt,M]=l.useTransition(),Ue=l.useRef(null),[ht,mt]=l.useState(0),Oe=l.useRef(null),[He,Ye]=l.useState(0),[Je,pt]=l.useState(0),ce=l.useRef(null),[ft,qe]=l.useState(()=>typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(max-width: 767.98px)").matches),We=String(k||"INR").toUpperCase()==="USD"?"USD":"INR",Xe=We==="USD"?"en-US":"en-IN",Ke=S?.locale||"en-US",Ze=l.useMemo(()=>S?.options||{year:"numeric",month:"2-digit",day:"2-digit"},[S]);l.useEffect(()=>{N>100&&we(!0)},[N]),l.useEffect(()=>{let e=!0;const t=new AbortController;return(async()=>{try{we(!0);const o=new URLSearchParams({page:String(Y),pageSize:String(N)}),a=await fetch(`${u}?${o.toString()}`,{signal:t.signal});if(!a.ok)throw new Error(`Request failed: ${a.status} ${a.statusText}`);const i=await a.json();if(!e)return;const h=(Array.isArray(i?.data)?i.data:[]).map(p=>$r(p)),w=i?.columns||[],y=O.filter(p=>p&&p.key&&typeof p.formula=="function").map(p=>({key:Se(p.key),label:p.label||p.key,formula:p.formula})),m=w.map(p=>{const R=typeof p=="string"?p:p.key;return{key:Se(R),label:p.label||R.replace(/_/g," ").replace(/\b\w/g,B=>B.toUpperCase())}}),C=[...m,...y.filter(p=>!m.some(R=>R.key===p.key)).map(({key:p,label:R})=>({key:p,label:R}))],A=h.map(p=>{const R={...p};return y.forEach(B=>{try{R[B.key]=B.formula(p)}catch(me){R[B.key]="",console.error(`Failed computed column formula for '${B.key}'`,me)}}),R});if(fe(A),Le(C),!ne.current){const p=C.map(R=>R.key);Z(p),ye(p),ne.current=!0}}catch(o){if(o?.name==="AbortError")return;console.error("Failed to load grid data",o)}finally{e&&we(!1)}})(),()=>{e=!1,t.abort()}},[u,Y,N,O]),l.useEffect(()=>{if(f.length>0&&W.length===0){const e=f.map(t=>t.key);Z(e),ye(e),ne.current=!0}},[f,W]),l.useEffect(()=>{if(!f.length)return;const e=f.map(t=>t.key);ye(t=>{const o=t.filter(i=>e.includes(i)),a=e.filter(i=>!o.includes(i));return[...o,...a]}),Z(t=>{if(!t.length)return e;const o=t.filter(i=>e.includes(i)),a=e.filter(i=>!o.includes(i));return[...o,...a]})},[f]),l.useEffect(()=>{if(!f.length)return;const e=new Set(f.map(t=>t.key));ee(t=>t.filter(o=>e.has(o)))},[f]),l.useEffect(()=>{const e=()=>G(1);return window.addEventListener("refreshTable",e),()=>window.removeEventListener("refreshTable",e)},[]),l.useEffect(()=>{if(!u)return;K.current=!1,oe.current=!1;const e=localStorage.getItem(`columnOrder_${u}`),t=localStorage.getItem(`visibleColumns_${u}`),o=localStorage.getItem(`groupByColumns_${u}`),a=localStorage.getItem(`totalColumns_${u}`),i=localStorage.getItem(`theme_${u}`),d=localStorage.getItem(`columnWidths_${u}`);if(e&&(ye(JSON.parse(e)),ne.current=!0),t&&Z(JSON.parse(t)),o&&ee(JSON.parse(o)),a&&(te(JSON.parse(a)),K.current=!0),d&&Ee(JSON.parse(d)),i==="light"||i==="dark"||i==="purple")c(i);else{const h=String(v||"light").toLowerCase();c(h==="dark"||h==="purple"?h:"light")}oe.current=!0},[u,v]),l.useEffect(()=>{u&&oe.current&&(V.length>0&&localStorage.setItem(`columnOrder_${u}`,JSON.stringify(V)),W.length>0&&localStorage.setItem(`visibleColumns_${u}`,JSON.stringify(W)),localStorage.setItem(`groupByColumns_${u}`,JSON.stringify(T)),localStorage.setItem(`totalColumns_${u}`,JSON.stringify(z)),localStorage.setItem(`theme_${u}`,n),localStorage.setItem(`columnWidths_${u}`,JSON.stringify(Te)))},[u,V,W,T,z,n,Te]);const re=(e,t)=>e[t]??"",ue=l.useCallback(e=>{const t=Number(e);return Number.isNaN(t)?"":new Intl.NumberFormat(Xe,{style:"currency",currency:We,maximumFractionDigits:2}).format(t)},[Xe,We]),gt=l.useCallback(e=>{const t=new Date(e);return Number.isNaN(t.getTime())?e??"":new Intl.DateTimeFormat(Ke,Ze).formatToParts(t).filter(a=>a.type==="year"||a.type==="month"||a.type==="day").map(a=>a.value).join(F)},[Ke,Ze,F]),J=l.useCallback(e=>{const t=se[0]?.[e];return t==null?"text":isNaN(Number(t))?isNaN(Date.parse(t))?"text":"date":"number"},[se]),Qe=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?null:`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`},Ae=l.useMemo(()=>f.filter(e=>J(e.key)==="number"),[f,J]);l.useEffect(()=>{if(!f.length)return;const e=Ae.map(t=>t.key);if(!e.length){te([]);return}te(t=>{const o=new Set(e);return K.current?t.filter(a=>o.has(a)):(K.current=!0,e)})},[f.length,Ae]);const xe=(e,t)=>{M(()=>{ie(o=>({...o,[e]:{...o[e],...t}})),G(1)})},wt=()=>{M(()=>{ie({}),G(1)})},Fe=l.useMemo(()=>se.filter(e=>Object.entries(b).every(([t,o])=>{if(!(o?.value!==void 0&&o?.value!==null&&String(o.value).trim()!==""))return!0;const i=re(e,t);if(o.type==="number"){const d=Number(i),h=Number(o.value),w=o.op||"=";return Number.isNaN(d)||Number.isNaN(h)?!0:w==="="?d===h:w===">"?d>h:w==="<"?d<h:w==="!="?d!==h:!0}if(o.type==="date"){const d=Qe(i),h=Qe(o.value),w=o.op||"=";return!d||!h?!0:w==="="?d===h:w===">"?d>h:w==="<"?d<h:w==="!="?d!==h:!0}return String(i).toLowerCase().includes(String(o.value).toLowerCase())})),[se,b]),_t=e=>{M(()=>{be(t=>({key:e,direction:t.key===e&&t.direction==="asc"?"desc":"asc"}))})},D=l.useMemo(()=>{if(!j.key)return Fe;const e=J(j.key);return[...Fe].sort((t,o)=>{const a=re(t,j.key),i=re(o,j.key),d=e==="date"?new Date(a).getTime():isNaN(Number(a))?a:Number(a),h=e==="date"?new Date(i).getTime():isNaN(Number(i))?i:Number(i);return d<h?j.direction==="asc"?-1:1:d>h?j.direction==="asc"?1:-1:0})},[Fe,j,J]),Me=l.useMemo(()=>{if(!H)return null;const e={};return f.forEach(t=>{J(t.key)==="number"&&z.includes(t.key)&&(e[t.key]=D.reduce((o,a)=>o+Number(a[t.key]||0),0))}),e},[H,D,f,J,z]),De=N===q?D.length:Math.min(N,Ne),Ge=N===q?1:Math.ceil(D.length/De),X=l.useMemo(()=>{if(N===q)return D;const e=(Y-1)*De;return D.slice(e,e+De)},[D,Y,N,De]),P=T.length>0,L=!P&&N===q&&!ft,bt=e=>{M(()=>{ee(t=>t.includes(e)?t.filter(o=>o!==e):[...t,e]),le({}),G(1)})},yt=e=>{le(t=>({...t,[e]:!t[e]}))},xt=e=>{M(()=>{te(t=>t.includes(e)?t.filter(o=>o!==e):[...t,e])})},et=l.useCallback(e=>{const t={};return z.forEach(o=>{const a=e.map(y=>Number(y[o])).filter(y=>!Number.isNaN(y));if(!a.length)return;const i=a.reduce((y,m)=>y+m,0),d=Math.min(...a),h=Math.max(...a),w=i/a.length;t[o]={count:a.length,sum:i,avg:w,min:d,max:h}}),t},[z]),ze=l.useMemo(()=>{if(!P)return[];const e=[],t=D,o=(a,i,d)=>{const h=T[i],w=new Map;a.forEach(y=>{const m=re(y,h),C=m==null||m===""?"(Blank)":String(m);w.has(C)||w.set(C,[]),w.get(C).push(y)}),Array.from(w.entries()).forEach(([y,m],C)=>{const A=`${d}${h}:${y}:${C}`;if(e.push({type:"group",id:A,groupKey:h,groupValue:y,level:i,count:m.length,aggregates:et(m)}),!ae[A]){if(i<T.length-1){o(m,i+1,`${A}|`);return}m.forEach((p,R)=>{const B=p[Se(x)]??p[x]??R;e.push({type:"row",id:`${A}|row:${B}:${R}`,row:p})})}})};return o(t,0,""),e},[P,D,T,ae,et,x]),vt=l.useCallback(e=>{L&&Ye(e.currentTarget.scrollTop)},[L]);l.useLayoutEffect(()=>{if(!L)return;const e=Oe.current;if(!e)return;const t=()=>pt(e.clientHeight||0);return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[L]),l.useEffect(()=>{Ye(0),Oe.current&&(Oe.current.scrollTop=0)},[L,D.length]);const de=l.useMemo(()=>{if(!L)return{start:0,end:X.length,rows:X,topSpacer:0,bottomSpacer:0};const e=X.length,t=Math.ceil((Je||1)/Ie),o=Math.max(0,Math.floor(He/Ie)-ut),a=Math.min(e,o+t+ut*2);return{start:o,end:a,rows:X.slice(o,a),topSpacer:o*Ie,bottomSpacer:Math.max(0,(e-a)*Ie)}},[L,X,He,Je]),tt=l.useCallback(e=>Object.entries(e||{}).map(([t,o])=>`${f.find(i=>i.key===t)?.label||t}: Σ ${ue(o.sum)} | Avg ${ue(o.avg)} | Min ${ue(o.min)} | Max ${ue(o.max)}`),[f,ue]),kt=()=>{try{const e=I.filter(m=>W.includes(m.key)),t=m=>{const A=String(m??"").replace(/"/g,'""');return/[",\n\r]/.test(A)?`"${A}"`:A},o=P?ze.map(m=>{if(m.type==="group"){const p=f.find(me=>me.key===m.groupKey)?.label||m.groupKey,R=tt(m.aggregates).join(" || "),B={};return e.forEach((me,st)=>{if(st===0){B[me.key]=`GROUP ${p}: ${m.groupValue} (${m.count})`;return}B[me.key]=st===1?R:""}),B}const C={},A=m.row;return e.forEach(p=>{C[p.key]=re(A,p.key)}),C}):D.map(m=>{const C={};return e.forEach(A=>{C[A.key]=re(m,A.key)}),C}),a=e.map(m=>t(m.label)).join(","),i=o.map(m=>e.map(C=>t(m[C.key])).join(",")).join(`\r
|
|
22
|
+
<%s key={someKey} {...props} />`,_,b,j,b),te[b+_]=!0)}if(b=null,g!==void 0&&(v(g),b=""+g),F(c)&&(v(c.key),b=""+c.key),"key"in c){g={};for(var be in c)be!=="key"&&(g[be]=c[be])}else g=c;return b&&U(g,typeof n=="function"?n.displayName||n.name||"Unknown":n),ne(n,b,g,k(),$,ie)}function oe(n){Ne(n)?n._store&&(n._store.validated=1):typeof n=="object"&&n!==null&&n.$$typeof===Q&&(n._payload.status==="fulfilled"?Ne(n._payload.value)&&n._payload.value._store&&(n._payload.value._store.validated=1):n._store&&(n._store.validated=1))}function Ne(n){return typeof n=="object"&&n!==null&&n.$$typeof===je}var H=l,je=Symbol.for("react.transitional.element"),se=Symbol.for("react.portal"),fe=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),Le=Symbol.for("react.profiler"),W=Symbol.for("react.consumer"),Z=Symbol.for("react.context"),ge=Symbol.for("react.forward_ref"),we=Symbol.for("react.suspense"),Y=Symbol.for("react.suspense_list"),G=Symbol.for("react.memo"),Q=Symbol.for("react.lazy"),Be=Symbol.for("react.activity"),N=Symbol.for("react.client.reference"),_e=H.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ce=Object.prototype.hasOwnProperty,Re=Array.isArray,T=console.createTask?console.createTask:function(){return null};H={react_stack_bottom_frame:function(n){return n()}};var ee,ae={},le=H.react_stack_bottom_frame.bind(H,S)(),z=T(O(S)),te={};ke.Fragment=fe,ke.jsx=function(n,c,g){var _=1e4>_e.recentlyCreatedOwnerStacks++;return K(n,c,g,!1,_?Error("react-stack-top-frame"):le,_?T(O(n)):z)},ke.jsxs=function(n,c,g){var _=1e4>_e.recentlyCreatedOwnerStacks++;return K(n,c,g,!0,_?Error("react-stack-top-frame"):le,_?T(O(n)):z)}})()),ke}var it;function Ir(){return it||(it=1,process.env.NODE_ENV==="production"?Pe.exports=Dr():Pe.exports=Pr()),Pe.exports}var r=Ir();const E=(...u)=>u.filter(Boolean).join(" ");function ct({label:u,children:x}){const[v,O]=l.useState(!1),k=l.useRef(null);return l.useEffect(()=>{const S=F=>{k.current&&!k.current.contains(F.target)&&O(!1)};return document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[]),r.jsxs("div",{className:s.dropdown,ref:k,children:[r.jsx("button",{className:E(s.buttonBase,s.buttonPrimary,s.dropdownToggle),type:"button","aria-haspopup":"menu","aria-expanded":v,onClick:()=>O(!v),children:u}),r.jsx("ul",{className:E(s.dropdownMenu,v&&s.dropdownMenuOpen),role:"menu",onClick:()=>O(!1),children:x})]})}const Ve=(u,x="14px system-ui")=>{const O=(Ve.canvas||(Ve.canvas=document.createElement("canvas"))).getContext("2d");return O.font=x,O.measureText(u).width},Se=u=>u.toLowerCase().replace(/[_\s]+(.)?/g,(x,v)=>v?v.toUpperCase():"").replace(/^(.)/,x=>x.toLowerCase()),$r=u=>{if(!u||typeof u!="object")return u;const x={};return Object.keys(u).forEach(v=>{x[Se(v)]=u[v]}),x},q=0,Ie=38,ut=10,Lr=[],$e=80;function Br({apiEndpoint:u,rowKey:x,theme:v="light",computedColumns:O=Lr,currency:k="INR",dateFormat:S={locale:"en-US",options:{year:"numeric",month:"2-digit",day:"2-digit"}},dateSeparator:F="/",pageSizeOptions:U=[50,100,500,1e3,0],defaultPageSize:pe}){const ne=l.useRef(!1),K=l.useRef(!1),oe=l.useRef(!1),Ne=50,[H,je]=l.useState(!0),[se,fe]=l.useState([]),[f,Le]=l.useState([]),[W,Z]=l.useState([]),[ge,we]=l.useState(!1),[Y,G]=l.useState(1),Q=Array.isArray(U)&&U.length>0?U:[50,100,500,1e3,0],Be=pe!==void 0&&Q.includes(pe)?pe:Q[0]||50,[N,_e]=l.useState(Be),[Ce,Re]=l.useState(!1),[T,ee]=l.useState([]),[ae,le]=l.useState({}),[z,te]=l.useState([]),[n,c]=l.useState(()=>{const e=String(v||"light").toLowerCase();return e==="dark"||e==="purple"?e:"light"}),[g,_]=l.useState({groupBy:!1,aggregates:!1}),[$,ie]=l.useState({}),b=l.useDeferredValue($),[j,be]=l.useState({key:null,direction:"asc"}),[V,ye]=l.useState([]),[Te,Ee]=l.useState({}),[dt,M]=l.useTransition(),Ue=l.useRef(null),[ht,mt]=l.useState(0),Oe=l.useRef(null),[He,Ye]=l.useState(0),[Je,pt]=l.useState(0),ce=l.useRef(null),[ft,qe]=l.useState(()=>typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(max-width: 767.98px)").matches),We=String(k||"INR").toUpperCase()==="USD"?"USD":"INR",Xe=We==="USD"?"en-US":"en-IN",Ke=S?.locale||"en-US",Ze=l.useMemo(()=>S?.options||{year:"numeric",month:"2-digit",day:"2-digit"},[S]);l.useEffect(()=>{N>100&&we(!0)},[N]),l.useEffect(()=>{let e=!0;const t=new AbortController;return(async()=>{try{we(!0);const o=new URLSearchParams({page:String(Y),pageSize:String(N)}),a=await fetch(`${u}?${o.toString()}`,{signal:t.signal});if(!a.ok)throw new Error(`Request failed: ${a.status} ${a.statusText}`);const i=await a.json();if(!e)return;const h=(Array.isArray(i?.data)?i.data:[]).map(p=>$r(p)),w=i?.columns||[],y=O.filter(p=>p&&p.key&&typeof p.formula=="function").map(p=>({key:Se(p.key),label:p.label||p.key,formula:p.formula})),m=w.map(p=>{const R=typeof p=="string"?p:p.key;return{key:Se(R),label:p.label||R.replace(/_/g," ").replace(/\b\w/g,B=>B.toUpperCase())}}),C=[...m,...y.filter(p=>!m.some(R=>R.key===p.key)).map(({key:p,label:R})=>({key:p,label:R}))],A=h.map(p=>{const R={...p};return y.forEach(B=>{try{R[B.key]=B.formula(p)}catch(me){R[B.key]="",console.error(`Failed computed column formula for '${B.key}'`,me)}}),R});if(fe(A),Le(C),!ne.current){const p=C.map(R=>R.key);Z(p),ye(p),ne.current=!0}}catch(o){if(o?.name==="AbortError")return;console.error("Failed to load grid data",o)}finally{e&&we(!1)}})(),()=>{e=!1,t.abort()}},[u,Y,N,O]),l.useEffect(()=>{if(f.length>0&&W.length===0){const e=f.map(t=>t.key);Z(e),ye(e),ne.current=!0}},[f,W]),l.useEffect(()=>{if(!f.length)return;const e=f.map(t=>t.key);ye(t=>{const o=t.filter(i=>e.includes(i)),a=e.filter(i=>!o.includes(i));return[...o,...a]}),Z(t=>{if(!t.length)return e;const o=t.filter(i=>e.includes(i)),a=e.filter(i=>!o.includes(i));return[...o,...a]})},[f]),l.useEffect(()=>{if(!f.length)return;const e=new Set(f.map(t=>t.key));ee(t=>t.filter(o=>e.has(o)))},[f]),l.useEffect(()=>{const e=()=>G(1);return window.addEventListener("refreshTable",e),()=>window.removeEventListener("refreshTable",e)},[]),l.useEffect(()=>{if(!u)return;K.current=!1,oe.current=!1;const e=localStorage.getItem(`columnOrder_${u}`),t=localStorage.getItem(`visibleColumns_${u}`),o=localStorage.getItem(`groupByColumns_${u}`),a=localStorage.getItem(`totalColumns_${u}`),i=localStorage.getItem(`theme_${u}`),d=localStorage.getItem(`columnWidths_${u}`);if(e&&(ye(JSON.parse(e)),ne.current=!0),t&&Z(JSON.parse(t)),o&&ee(JSON.parse(o)),a&&(te(JSON.parse(a)),K.current=!0),d&&Ee(JSON.parse(d)),i==="light"||i==="dark"||i==="purple")c(i);else{const h=String(v||"light").toLowerCase();c(h==="dark"||h==="purple"?h:"light")}oe.current=!0},[u,v]),l.useEffect(()=>{u&&oe.current&&(V.length>0&&localStorage.setItem(`columnOrder_${u}`,JSON.stringify(V)),W.length>0&&localStorage.setItem(`visibleColumns_${u}`,JSON.stringify(W)),localStorage.setItem(`groupByColumns_${u}`,JSON.stringify(T)),localStorage.setItem(`totalColumns_${u}`,JSON.stringify(z)),localStorage.setItem(`theme_${u}`,n),localStorage.setItem(`columnWidths_${u}`,JSON.stringify(Te)))},[u,V,W,T,z,n,Te]);const re=(e,t)=>e[t]??"",ue=l.useCallback(e=>{const t=Number(e);return Number.isNaN(t)?"":new Intl.NumberFormat(Xe,{style:"currency",currency:We,maximumFractionDigits:2}).format(t)},[Xe,We]),gt=l.useCallback(e=>{const t=new Date(e);return Number.isNaN(t.getTime())?e??"":new Intl.DateTimeFormat(Ke,Ze).formatToParts(t).filter(a=>a.type==="year"||a.type==="month"||a.type==="day").map(a=>a.value).join(F)},[Ke,Ze,F]),J=l.useCallback(e=>{const t=se[0]?.[e];return t==null?"text":isNaN(Number(t))?isNaN(Date.parse(t))?"text":"date":"number"},[se]),Qe=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?null:`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`},Ae=l.useMemo(()=>f.filter(e=>J(e.key)==="number"),[f,J]);l.useEffect(()=>{if(!f.length)return;const e=Ae.map(t=>t.key);if(!e.length){te([]);return}te(t=>{const o=new Set(e);return K.current?t.filter(a=>o.has(a)):(K.current=!0,e)})},[f.length,Ae]);const xe=(e,t)=>{M(()=>{ie(o=>({...o,[e]:{...o[e],...t}})),G(1)})},wt=()=>{M(()=>{ie({}),G(1)})},Fe=l.useMemo(()=>se.filter(e=>Object.entries(b).every(([t,o])=>{if(!(o?.value!==void 0&&o?.value!==null&&String(o.value).trim()!==""))return!0;const i=re(e,t);if(o.type==="number"){const d=Number(i),h=Number(o.value),w=o.op||"=";return Number.isNaN(d)||Number.isNaN(h)?!0:w==="="?d===h:w===">"?d>h:w==="<"?d<h:w==="!="?d!==h:!0}if(o.type==="date"){const d=Qe(i),h=Qe(o.value),w=o.op||"=";return!d||!h?!0:w==="="?d===h:w===">"?d>h:w==="<"?d<h:w==="!="?d!==h:!0}return String(i).toLowerCase().includes(String(o.value).toLowerCase())})),[se,b]),_t=e=>{M(()=>{be(t=>({key:e,direction:t.key===e&&t.direction==="asc"?"desc":"asc"}))})},D=l.useMemo(()=>{if(!j.key)return Fe;const e=J(j.key);return[...Fe].sort((t,o)=>{const a=re(t,j.key),i=re(o,j.key),d=e==="date"?new Date(a).getTime():isNaN(Number(a))?a:Number(a),h=e==="date"?new Date(i).getTime():isNaN(Number(i))?i:Number(i);return d<h?j.direction==="asc"?-1:1:d>h?j.direction==="asc"?1:-1:0})},[Fe,j,J]),Me=l.useMemo(()=>{if(!H)return null;const e={};return f.forEach(t=>{J(t.key)==="number"&&z.includes(t.key)&&(e[t.key]=D.reduce((o,a)=>o+Number(a[t.key]||0),0))}),e},[H,D,f,J,z]),De=N===q?D.length:Math.min(N,Ne),Ge=N===q?1:Math.ceil(D.length/De),X=l.useMemo(()=>{if(N===q)return D;const e=(Y-1)*De;return D.slice(e,e+De)},[D,Y,N,De]),P=T.length>0,L=!P&&N===q&&!ft,bt=e=>{M(()=>{ee(t=>t.includes(e)?t.filter(o=>o!==e):[...t,e]),le({}),G(1)})},yt=e=>{le(t=>({...t,[e]:!t[e]}))},xt=e=>{M(()=>{te(t=>t.includes(e)?t.filter(o=>o!==e):[...t,e])})},et=l.useCallback(e=>{const t={};return z.forEach(o=>{const a=e.map(y=>Number(y[o])).filter(y=>!Number.isNaN(y));if(!a.length)return;const i=a.reduce((y,m)=>y+m,0),d=Math.min(...a),h=Math.max(...a),w=i/a.length;t[o]={count:a.length,sum:i,avg:w,min:d,max:h}}),t},[z]),ze=l.useMemo(()=>{if(!P)return[];const e=[],t=D,o=(a,i,d)=>{const h=T[i],w=new Map;a.forEach(y=>{const m=re(y,h),C=m==null||m===""?"(Blank)":String(m);w.has(C)||w.set(C,[]),w.get(C).push(y)}),Array.from(w.entries()).forEach(([y,m],C)=>{const A=`${d}${h}:${y}:${C}`;if(e.push({type:"group",id:A,groupKey:h,groupValue:y,level:i,count:m.length,aggregates:et(m)}),!ae[A]){if(i<T.length-1){o(m,i+1,`${A}|`);return}m.forEach((p,R)=>{const B=p[Se(x)]??p[x]??R;e.push({type:"row",id:`${A}|row:${B}:${R}`,row:p})})}})};return o(t,0,""),e},[P,D,T,ae,et,x]),vt=l.useCallback(e=>{L&&Ye(e.currentTarget.scrollTop)},[L]);l.useLayoutEffect(()=>{if(!L)return;const e=Oe.current;if(!e)return;const t=()=>pt(e.clientHeight||0);return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[L]),l.useEffect(()=>{Ye(0),Oe.current&&(Oe.current.scrollTop=0)},[L,D.length]);const de=l.useMemo(()=>{if(!L)return{start:0,end:X.length,rows:X,topSpacer:0,bottomSpacer:0};const e=X.length,t=Math.ceil((Je||1)/Ie),o=Math.max(0,Math.floor(He/Ie)-ut),a=Math.min(e,o+t+ut*2);return{start:o,end:a,rows:X.slice(o,a),topSpacer:o*Ie,bottomSpacer:Math.max(0,(e-a)*Ie)}},[L,X,He,Je]),tt=l.useCallback(e=>Object.entries(e||{}).map(([t,o])=>`${f.find(i=>i.key===t)?.label||t}: Σ ${ue(o.sum)} | Avg ${ue(o.avg)} | Min ${ue(o.min)} | Max ${ue(o.max)}`),[f,ue]),kt=()=>{try{const e=I.filter(m=>W.includes(m.key)),t=m=>{const A=String(m??"").replace(/"/g,'""');return/[",\n\r]/.test(A)?`"${A}"`:A},o=P?ze.map(m=>{if(m.type==="group"){const p=f.find(me=>me.key===m.groupKey)?.label||m.groupKey,R=tt(m.aggregates).join(" || "),B={};return e.forEach((me,st)=>{if(st===0){B[me.key]=`GROUP ${p}: ${m.groupValue} (${m.count})`;return}B[me.key]=st===1?R:""}),B}const C={},A=m.row;return e.forEach(p=>{C[p.key]=re(A,p.key)}),C}):D.map(m=>{const C={};return e.forEach(A=>{C[A.key]=re(m,A.key)}),C}),a=e.map(m=>t(m.label)).join(","),i=o.map(m=>e.map(C=>t(m[C.key])).join(",")).join(`\r
|
|
23
23
|
`),d=`\uFEFF${a}\r
|
|
24
24
|
${i}`,h=new Blob([d],{type:"text/csv;charset=utf-8;"}),w=URL.createObjectURL(h),y=document.createElement("a");y.href=w,y.download="TableData.csv",document.body.appendChild(y),y.click(),document.body.removeChild(y),URL.revokeObjectURL(w)}catch(e){console.error("Failed to export CSV",e)}},rt=(e,t)=>{e.dataTransfer.setData("colKey",t)},nt=(e,t)=>{const o=e.dataTransfer.getData("colKey");!o||o===t||M(()=>{ye(a=>{const i=[...a],d=i.indexOf(o),h=i.indexOf(t);return i.splice(d,1),i.splice(h,0,o),i})})},ot=e=>e.preventDefault(),I=l.useMemo(()=>V.map(e=>f.find(t=>t.key===e)).filter(e=>e&&W.includes(e.key)),[f,V,W]),he=l.useMemo(()=>{const a="14px system-ui",i={};return I.forEach(d=>{const h=Ve(d.label,a),w=Math.min(320,Math.max($e,h+32+48));i[d.key]=Math.max($e,Te[d.key]??w)}),i},[I,Te]);l.useEffect(()=>{if(!f.length)return;const e=new Set(f.map(t=>t.key));Ee(t=>{const o={};return Object.entries(t).forEach(([a,i])=>{e.has(a)&&(o[a]=i)}),o})},[f]);const St=(e,t)=>{if(e.preventDefault(),e.stopPropagation(),e.button!==void 0&&e.button!==0)return;const o=e.clientX,a=he[t]||$e;ce.current={key:t,startX:o,startWidth:a},document.body.style.cursor="col-resize";const i=h=>{if(!ce.current)return;const w=h.clientX-ce.current.startX,y=Math.max($e,ce.current.startWidth+w);Ee(m=>({...m,[ce.current.key]:y}))},d=()=>{ce.current=null,document.body.style.cursor="",window.removeEventListener("pointermove",i),window.removeEventListener("pointerup",d)};window.addEventListener("pointermove",i),window.addEventListener("pointerup",d)},Nt=(e,t)=>{e.preventDefault(),e.stopPropagation(),Ee(o=>{const a={...o};return delete a[t],a})},jt=ge||dt,Ct=n==="dark"?s.themeDark:n==="purple"?s.themePurple:s.themeLight;return l.useLayoutEffect(()=>{const e=()=>{mt(Ue.current?.offsetHeight||0)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[I.length]),l.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const e=window.matchMedia("(max-width: 767.98px)"),t=o=>qe(o.matches);return qe(e.matches),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),r.jsxs("div",{className:E(s.container,Ct),children:[r.jsxs("div",{className:s.headerRow,children:[r.jsxs("div",{className:E(s.flexRow,s.toolbarGroup),children:[r.jsx("label",{className:s.labelMuted,children:"Rows:"}),r.jsx("select",{className:E(s.selectSmall,s.selectAuto),value:N,onChange:e=>M(()=>{_e(Number(e.target.value)),G(1)}),children:Q.map(e=>r.jsx("option",{value:e,children:e===q?"All":e},e))}),r.jsxs("div",{className:s.switchRow,children:[r.jsx("input",{className:s.checkbox,type:"checkbox",checked:H,onChange:e=>M(()=>je(e.target.checked))}),r.jsx("label",{className:s.labelMuted,children:"Show Totals"})]}),r.jsxs("div",{className:s.groupingSummary,children:[r.jsxs("span",{className:s.labelMuted,children:["Group By:"," ",T.length?T.map(e=>f.find(t=>t.key===e)?.label||e).join(" > "):"None"]}),T.length>0&&r.jsx("button",{className:E(s.buttonBase,s.buttonMuted),onClick:()=>{M(()=>{ee([]),le({})})},children:"Clear Groups"})]})]}),r.jsxs("div",{className:E(s.flexRow,s.toolbarGroup),children:[r.jsxs("button",{className:E(s.buttonBase,s.buttonDanger),disabled:!Object.values($).some(e=>e?.value),onClick:wt,children:["✕"," ","Clear Filters"]}),r.jsx(ct,{label:r.jsxs(r.Fragment,{children:["⬇"," Export"]}),children:r.jsx("li",{children:r.jsx("button",{className:s.menuItemButton,onClick:kt,children:"Export to CSV"})})}),r.jsxs("button",{className:E(s.buttonBase,s.buttonMuted),onClick:()=>Re(!0),children:["☰"," ","Columns"]}),r.jsxs(ct,{label:r.jsxs(r.Fragment,{children:["▣"," Theme"]}),children:[r.jsx("li",{children:r.jsxs("button",{className:s.menuItemButton,onClick:()=>c("light"),children:[n==="light"?"✓ ":"","Light"]})}),r.jsx("li",{children:r.jsxs("button",{className:s.menuItemButton,onClick:()=>c("dark"),children:[n==="dark"?"✓ ":"","Dark"]})}),r.jsx("li",{children:r.jsxs("button",{className:s.menuItemButton,onClick:()=>c("purple"),children:[n==="purple"?"✓ ":"","Purple"]})})]})]})]}),r.jsxs("div",{className:s.relative,children:[r.jsx("div",{className:s.srOnly,"aria-live":"polite",children:ge?"Loading table data":"Table updated"}),jt&&r.jsx("div",{className:s.overlay,children:r.jsxs("div",{className:s.overlayInner,style:{top:"15%"},children:[r.jsx("div",{className:s.spinner,role:"status"}),r.jsx("div",{className:s.labelMuted,children:ge?"Loading data...":"Updating..."})]})}),r.jsx("div",{className:E(s.tableWrap,N===q&&s.tableWrapAll),ref:Oe,style:N===q?{maxHeight:"70vh",overflowY:"auto"}:{},onScroll:vt,children:r.jsxs("table",{className:s.table,style:{tableLayout:"fixed"},role:"grid","aria-rowcount":P?ze.length:X.length,"aria-colcount":I.length,children:[r.jsxs("thead",{className:s.tableHead,children:[r.jsx("tr",{ref:Ue,children:I.map(e=>{const t=j.key===e.key,o=t?j.direction==="asc"?"↑":"↓":"⇅";return r.jsxs("th",{scope:"col","aria-sort":t?j.direction==="asc"?"ascending":"descending":"none",draggable:!0,onDragStart:a=>rt(a,e.key),onDragOver:ot,onDrop:a=>nt(a,e.key),style:{width:he[e.key]},className:s.thCellTop,children:[r.jsx("div",{className:s.thInner,children:r.jsxs("button",{type:"button",className:s.sortButton,"aria-label":`Sort by ${e.label}`,onClick:()=>_t(e.key),children:[e.label,r.jsxs("span",{className:s.iconMuted,children:[" ",o]})]})}),r.jsx("span",{className:s.resizeHandle,role:"separator","aria-orientation":"vertical","aria-label":`Resize ${e.label} column`,tabIndex:0,onPointerDown:a=>St(a,e.key),onDoubleClick:a=>Nt(a,e.key)})]},e.key)})}),r.jsx("tr",{children:I.map(e=>r.jsx("th",{style:{top:ht},className:s.thCellFilter,children:J(e.key)==="number"?r.jsxs("div",{className:s.inlineGroup,children:[r.jsxs("select",{className:E(s.selectSmall,s.selectAuto),value:$[e.key]?.op||"=",onChange:t=>xe(e.key,{type:"number",op:t.target.value}),children:[r.jsx("option",{value:"=",children:"="}),r.jsx("option",{value:">",children:">"}),r.jsx("option",{value:"<",children:"<"}),r.jsx("option",{value:"!=",children:"!="})]}),r.jsx("input",{type:"number",className:s.input,value:$[e.key]?.value||"",onChange:t=>xe(e.key,{type:"number",value:t.target.value})})]}):J(e.key)==="date"?r.jsxs("div",{className:s.inlineGroup,children:[r.jsxs("select",{className:E(s.selectSmall,s.selectAuto),value:$[e.key]?.op||"=",onChange:t=>xe(e.key,{type:"date",op:t.target.value}),children:[r.jsx("option",{value:"=",children:"="}),r.jsx("option",{value:">",children:">"}),r.jsx("option",{value:"<",children:"<"}),r.jsx("option",{value:"!=",children:"!="})]}),r.jsx("input",{type:"date",className:s.input,value:$[e.key]?.value||"",onChange:t=>xe(e.key,{type:"date",value:t.target.value})})]}):r.jsx("input",{type:"text",className:s.input,placeholder:"Filter...",value:$[e.key]?.value||"",onChange:t=>xe(e.key,{type:"text",value:t.target.value})})},e.key))})]}),r.jsxs("tbody",{children:[L&&de.topSpacer>0&&r.jsx("tr",{"aria-hidden":"true",children:r.jsx("td",{colSpan:I.length,style:{height:`${de.topSpacer}px`,padding:0}})}),(P?ze:L?de.rows:X).map(e=>{if(P&&e.type==="group"){const o=f.find(d=>d.key===e.groupKey)?.label||e.groupKey,a=!!ae[e.id],i=tt(e.aggregates).join(" || ");return r.jsx("tr",{className:E(s.groupRow,s.groupRowAnimated),children:r.jsx("td",{colSpan:I.length,children:r.jsxs("button",{type:"button",className:s.groupToggle,onClick:()=>yt(e.id),children:[r.jsxs("span",{style:{paddingLeft:`${e.level*18}px`},children:[a?"▶":"▼"," ",o,": ",e.groupValue," (",e.count,")"]}),i&&r.jsxs("span",{className:s.groupMeta,children:[" ",i]})]})})},e.id)}const t=P?e.row:e;return r.jsx("tr",{className:E(s.rowInteractive,P&&s.groupChildRow),tabIndex:0,children:I.map(o=>{const a=re(t,o.key);return typeof a=="boolean"?r.jsx("td",{"data-label":o.label,style:{width:he[o.key]},children:r.jsx("input",{type:"checkbox",checked:a,disabled:!0,className:s.checkbox})},o.key):J(o.key)==="date"?r.jsx("td",{"data-label":o.label,style:{width:he[o.key]},children:gt(a)},o.key):r.jsx("td",{"data-label":o.label,style:{width:he[o.key]},children:a},o.key)})},P?e.id:t[Se(x)]??t[x])}),L&&de.bottomSpacer>0&&r.jsx("tr",{"aria-hidden":"true",children:r.jsx("td",{colSpan:I.length,style:{height:`${de.bottomSpacer}px`,padding:0}})})]}),H&&Me&&Object.keys(Me).length>0&&r.jsxs("tfoot",{className:s.tfoot,children:[r.jsx("tr",{children:r.jsx("td",{colSpan:I.length,className:s.textCenter,children:"Totals"})}),r.jsx("tr",{children:I.map(e=>r.jsx("td",{"data-label":e.label,style:{width:he[e.key]},children:Me[e.key]!==void 0?ue(Me[e.key]):""},e.key))})]})]})})]}),!P&&N!==q&&Ge>1&&r.jsx("div",{className:s.paginationWrap,children:r.jsxs("ul",{className:s.pagination,children:[r.jsx("li",{children:r.jsx("button",{className:s.pageButton,disabled:Y===1,onClick:()=>M(()=>G(e=>e-1)),children:"Prev"})}),Array.from({length:Ge},(e,t)=>r.jsx("li",{children:r.jsx("button",{className:E(s.pageButton,Y===t+1&&s.pageButtonActive),onClick:()=>M(()=>G(t+1)),children:t+1})},t)),r.jsx("li",{children:r.jsx("button",{className:s.pageButton,disabled:Y===Ge,onClick:()=>M(()=>G(e=>e+1)),children:"Next"})})]})}),!P&&N===q&&r.jsxs("div",{className:s.labelMuted,children:["Showing"," ",(L?de.end:X.length).toLocaleString()," of"," ",D.length.toLocaleString()," rows",L?" (virtualized)":""]}),P&&r.jsxs("div",{className:s.labelMuted,children:["Grouped view: ",D.length.toLocaleString()," rows across"," ",T.length," level",T.length>1?"s":""]}),Ce&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:s.backdrop,onClick:()=>Re(!1)}),r.jsxs("div",{className:s.drawer,children:[r.jsx("h6",{className:s.drawerTitle,children:"Column Settings"}),r.jsx("h6",{className:s.drawerSubtitle,children:"Visible Columns"}),V.map(e=>{const t=f.find(o=>o.key===e);return t?r.jsxs("div",{className:s.drawerRow,draggable:!0,onDragStart:o=>rt(o,t.key),onDragOver:ot,onDrop:o=>nt(o,t.key),children:[r.jsx("input",{type:"checkbox",className:s.checkbox,checked:W.includes(t.key),onChange:()=>M(()=>Z(o=>o.includes(t.key)?o.filter(a=>a!==t.key):[...o,t.key]))}),r.jsx("label",{children:t.label}),r.jsx("span",{className:E(s.spacerAuto,s.iconMuted),children:"⋮"})]},t.key):null}),r.jsxs("div",{className:s.drawerSection,children:[r.jsxs("button",{type:"button",className:s.sectionToggle,"aria-expanded":g.groupBy,onClick:()=>_(e=>({...e,groupBy:!e.groupBy})),children:[r.jsx("span",{children:"Group By Columns"}),r.jsx("span",{className:s.iconMuted,children:g.groupBy?"▲":"▼"})]}),g.groupBy&&r.jsx("div",{className:s.sectionBody,children:V.map(e=>{const t=f.find(o=>o.key===e);return t?r.jsxs("div",{className:s.drawerRow,children:[r.jsx("input",{type:"checkbox",className:s.checkbox,checked:T.includes(t.key),onChange:()=>bt(t.key)}),r.jsx("label",{children:t.label})]},`group-${t.key}`):null})})]}),r.jsxs("div",{className:s.drawerSection,children:[r.jsxs("button",{type:"button",className:s.sectionToggle,"aria-expanded":g.aggregates,onClick:()=>_(e=>({...e,aggregates:!e.aggregates})),children:[r.jsx("span",{children:"Show Total/Aggregate For"}),r.jsx("span",{className:s.iconMuted,children:g.aggregates?"▲":"▼"})]}),g.aggregates&&r.jsxs("div",{className:s.sectionBody,children:[Ae.length===0&&r.jsx("div",{className:s.labelMuted,children:"No numeric columns available."}),V.map(e=>{const t=Ae.find(o=>o.key===e);return t?r.jsxs("div",{className:s.drawerRow,children:[r.jsx("input",{type:"checkbox",className:s.checkbox,checked:z.includes(t.key),onChange:()=>xt(t.key)}),r.jsx("label",{children:t.label})]},`total-${t.key}`):null})]})]})]})]})]})}exports.AwesomeGrid=Br;
|
package/dist-lib/index.js
CHANGED
|
@@ -1,4 +1,66 @@
|
|
|
1
1
|
import Mt, { useRef as ae, useState as y, useDeferredValue as Dt, useTransition as Pt, useMemo as H, useEffect as $, useCallback as we, useLayoutEffect as ut } from "react";
|
|
2
|
+
const It = "_container_dihwe_1", $t = "_themeLight_dihwe_10", Lt = "_themeDark_dihwe_29", Bt = "_themePurple_dihwe_48", Wt = "_headerRow_dihwe_67", Ft = "_flexRow_dihwe_76", zt = "_toolbarGroup_dihwe_82", Gt = "_dropdown_dihwe_86", Vt = "_buttonBase_dihwe_90", Ut = "_buttonPrimary_dihwe_101", Ht = "_buttonDanger_dihwe_111", Yt = "_buttonMuted_dihwe_121", Jt = "_dropdownToggle_dihwe_142", Xt = "_dropdownMenu_dihwe_147", qt = "_dropdownMenuOpen_dihwe_163", Kt = "_menuItemButton_dihwe_167", Zt = "_labelMuted_dihwe_185", Qt = "_selectSmall_dihwe_190", er = "_selectAuto_dihwe_199", tr = "_switchRow_dihwe_203", rr = "_groupingSummary_dihwe_210", nr = "_relative_dihwe_217", or = "_overlay_dihwe_221", ar = "_overlayInner_dihwe_229", sr = "_spinner_dihwe_236", lr = "_tableWrap_dihwe_252", ir = "_tableWrapAll_dihwe_256", cr = "_table_dihwe_252", ur = "_tableHead_dihwe_278", dr = "_thCellTop_dihwe_282", hr = "_thCellFilter_dihwe_290", mr = "_thInner_dihwe_297", pr = "_resizeHandle_dihwe_303", gr = "_sortButton_dihwe_328", fr = "_iconMuted_dihwe_338", wr = "_inlineGroup_dihwe_342", _r = "_input_dihwe_350", br = "_rowInteractive_dihwe_362", yr = "_groupRow_dihwe_375", xr = "_groupRowAnimated_dihwe_382", vr = "_groupChildRow_dihwe_386", kr = "_groupToggle_dihwe_390", Nr = "_groupMeta_dihwe_430", jr = "_checkbox_dihwe_438", Sr = "_tfoot_dihwe_447", Cr = "_textCenter_dihwe_455", Rr = "_paginationWrap_dihwe_459", Tr = "_pagination_dihwe_459", Er = "_pageButton_dihwe_473", Or = "_pageButtonActive_dihwe_488", Ar = "_backdrop_dihwe_494", Mr = "_drawer_dihwe_500", Dr = "_drawerTitle_dihwe_515", Pr = "_drawerSection_dihwe_521", Ir = "_drawerSubtitle_dihwe_527", $r = "_sectionToggle_dihwe_534", Lr = "_sectionBody_dihwe_547", Br = "_drawerRow_dihwe_551", Wr = "_spacerAuto_dihwe_558", Fr = "_srOnly_dihwe_570", a = {
|
|
3
|
+
container: It,
|
|
4
|
+
themeLight: $t,
|
|
5
|
+
themeDark: Lt,
|
|
6
|
+
themePurple: Bt,
|
|
7
|
+
headerRow: Wt,
|
|
8
|
+
flexRow: Ft,
|
|
9
|
+
toolbarGroup: zt,
|
|
10
|
+
dropdown: Gt,
|
|
11
|
+
buttonBase: Vt,
|
|
12
|
+
buttonPrimary: Ut,
|
|
13
|
+
buttonDanger: Ht,
|
|
14
|
+
buttonMuted: Yt,
|
|
15
|
+
dropdownToggle: Jt,
|
|
16
|
+
dropdownMenu: Xt,
|
|
17
|
+
dropdownMenuOpen: qt,
|
|
18
|
+
menuItemButton: Kt,
|
|
19
|
+
labelMuted: Zt,
|
|
20
|
+
selectSmall: Qt,
|
|
21
|
+
selectAuto: er,
|
|
22
|
+
switchRow: tr,
|
|
23
|
+
groupingSummary: rr,
|
|
24
|
+
relative: nr,
|
|
25
|
+
overlay: or,
|
|
26
|
+
overlayInner: ar,
|
|
27
|
+
spinner: sr,
|
|
28
|
+
tableWrap: lr,
|
|
29
|
+
tableWrapAll: ir,
|
|
30
|
+
table: cr,
|
|
31
|
+
tableHead: ur,
|
|
32
|
+
thCellTop: dr,
|
|
33
|
+
thCellFilter: hr,
|
|
34
|
+
thInner: mr,
|
|
35
|
+
resizeHandle: pr,
|
|
36
|
+
sortButton: gr,
|
|
37
|
+
iconMuted: fr,
|
|
38
|
+
inlineGroup: wr,
|
|
39
|
+
input: _r,
|
|
40
|
+
rowInteractive: br,
|
|
41
|
+
groupRow: yr,
|
|
42
|
+
groupRowAnimated: xr,
|
|
43
|
+
groupChildRow: vr,
|
|
44
|
+
groupToggle: kr,
|
|
45
|
+
groupMeta: Nr,
|
|
46
|
+
checkbox: jr,
|
|
47
|
+
tfoot: Sr,
|
|
48
|
+
textCenter: Cr,
|
|
49
|
+
paginationWrap: Rr,
|
|
50
|
+
pagination: Tr,
|
|
51
|
+
pageButton: Er,
|
|
52
|
+
pageButtonActive: Or,
|
|
53
|
+
backdrop: Ar,
|
|
54
|
+
drawer: Mr,
|
|
55
|
+
drawerTitle: Dr,
|
|
56
|
+
drawerSection: Pr,
|
|
57
|
+
drawerSubtitle: Ir,
|
|
58
|
+
sectionToggle: $r,
|
|
59
|
+
sectionBody: Lr,
|
|
60
|
+
drawerRow: Br,
|
|
61
|
+
spacerAuto: Wr,
|
|
62
|
+
srOnly: Fr
|
|
63
|
+
};
|
|
2
64
|
var Be = { exports: {} }, Se = {};
|
|
3
65
|
/**
|
|
4
66
|
* @license React
|
|
@@ -10,7 +72,7 @@ var Be = { exports: {} }, Se = {};
|
|
|
10
72
|
* LICENSE file in the root directory of this source tree.
|
|
11
73
|
*/
|
|
12
74
|
var dt;
|
|
13
|
-
function
|
|
75
|
+
function zr() {
|
|
14
76
|
if (dt) return Se;
|
|
15
77
|
dt = 1;
|
|
16
78
|
var c = Symbol.for("react.transitional.element"), x = Symbol.for("react.fragment");
|
|
@@ -42,7 +104,7 @@ var Ce = {};
|
|
|
42
104
|
* LICENSE file in the root directory of this source tree.
|
|
43
105
|
*/
|
|
44
106
|
var ht;
|
|
45
|
-
function
|
|
107
|
+
function Gr() {
|
|
46
108
|
return ht || (ht = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
47
109
|
function c(n) {
|
|
48
110
|
if (n == null) return null;
|
|
@@ -273,72 +335,11 @@ React keys must be passed directly to JSX without using spread:
|
|
|
273
335
|
})()), Ce;
|
|
274
336
|
}
|
|
275
337
|
var mt;
|
|
276
|
-
function
|
|
277
|
-
return mt || (mt = 1, process.env.NODE_ENV === "production" ? Be.exports =
|
|
338
|
+
function Vr() {
|
|
339
|
+
return mt || (mt = 1, process.env.NODE_ENV === "production" ? Be.exports = zr() : Be.exports = Gr()), Be.exports;
|
|
278
340
|
}
|
|
279
|
-
var r =
|
|
280
|
-
const
|
|
281
|
-
container: Bt,
|
|
282
|
-
themeLight: Wt,
|
|
283
|
-
themeDark: Ft,
|
|
284
|
-
themePurple: zt,
|
|
285
|
-
headerRow: Gt,
|
|
286
|
-
flexRow: Vt,
|
|
287
|
-
toolbarGroup: Ut,
|
|
288
|
-
dropdown: Ht,
|
|
289
|
-
buttonBase: Yt,
|
|
290
|
-
buttonPrimary: Jt,
|
|
291
|
-
buttonDanger: Xt,
|
|
292
|
-
buttonMuted: qt,
|
|
293
|
-
dropdownToggle: Kt,
|
|
294
|
-
dropdownMenu: Zt,
|
|
295
|
-
dropdownMenuOpen: Qt,
|
|
296
|
-
menuItemButton: er,
|
|
297
|
-
labelMuted: tr,
|
|
298
|
-
selectSmall: rr,
|
|
299
|
-
selectAuto: nr,
|
|
300
|
-
switchRow: or,
|
|
301
|
-
groupingSummary: ar,
|
|
302
|
-
relative: sr,
|
|
303
|
-
overlay: lr,
|
|
304
|
-
overlayInner: ir,
|
|
305
|
-
spinner: cr,
|
|
306
|
-
tableWrap: ur,
|
|
307
|
-
tableWrapAll: dr,
|
|
308
|
-
table: hr,
|
|
309
|
-
tableHead: mr,
|
|
310
|
-
thCellTop: pr,
|
|
311
|
-
thCellFilter: gr,
|
|
312
|
-
thInner: fr,
|
|
313
|
-
resizeHandle: wr,
|
|
314
|
-
sortButton: _r,
|
|
315
|
-
iconMuted: br,
|
|
316
|
-
inlineGroup: yr,
|
|
317
|
-
input: xr,
|
|
318
|
-
rowInteractive: vr,
|
|
319
|
-
groupRow: kr,
|
|
320
|
-
groupRowAnimated: Nr,
|
|
321
|
-
groupChildRow: jr,
|
|
322
|
-
groupToggle: Sr,
|
|
323
|
-
groupMeta: Cr,
|
|
324
|
-
checkbox: Rr,
|
|
325
|
-
tfoot: Tr,
|
|
326
|
-
textCenter: Er,
|
|
327
|
-
paginationWrap: Or,
|
|
328
|
-
pagination: Ar,
|
|
329
|
-
pageButton: Mr,
|
|
330
|
-
pageButtonActive: Dr,
|
|
331
|
-
backdrop: Pr,
|
|
332
|
-
drawer: Ir,
|
|
333
|
-
drawerTitle: $r,
|
|
334
|
-
drawerSection: Lr,
|
|
335
|
-
drawerSubtitle: Br,
|
|
336
|
-
sectionToggle: Wr,
|
|
337
|
-
sectionBody: Fr,
|
|
338
|
-
drawerRow: zr,
|
|
339
|
-
spacerAuto: Gr,
|
|
340
|
-
srOnly: Vr
|
|
341
|
-
}, E = (...c) => c.filter(Boolean).join(" ");
|
|
341
|
+
var r = Vr();
|
|
342
|
+
const E = (...c) => c.filter(Boolean).join(" ");
|
|
342
343
|
function pt({ label: c, children: x }) {
|
|
343
344
|
const [v, O] = y(!1), k = ae(null);
|
|
344
345
|
return $(() => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._container_dihwe_1{padding:12px;background:var(--gt-bg);border-radius:8px;position:relative;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--gt-text)}._themeLight_dihwe_10{--gt-bg: #f8f9fa;--gt-text: #212529;--gt-muted: #6c757d;--gt-border: #dee2e6;--gt-input-border: #ced4da;--gt-surface: #ffffff;--gt-surface-soft: #e9ecef;--gt-surface-soft-2: #f1f3f5;--gt-primary: #0d6efd;--gt-danger: #dc3545;--gt-success: #198754;--gt-warning: #fd7e14;--gt-overlay: rgba(255, 255, 255, .6);--gt-group-bg: #eef4ff;--gt-group-border: #cfe0ff;--gt-group-text: #244069}._themeDark_dihwe_29{--gt-bg: #111827;--gt-text: #e5e7eb;--gt-muted: #9ca3af;--gt-border: #374151;--gt-input-border: #4b5563;--gt-surface: #1f2937;--gt-surface-soft: #273346;--gt-surface-soft-2: #334155;--gt-primary: #60a5fa;--gt-danger: #f87171;--gt-success: #34d399;--gt-warning: #fbbf24;--gt-overlay: rgba(17, 24, 39, .55);--gt-group-bg: #1e293b;--gt-group-border: #334155;--gt-group-text: #bfdbfe}._themePurple_dihwe_48{--gt-bg: #f6f0ff;--gt-text: #2d1b4e;--gt-muted: #6f5c8f;--gt-border: #d4c5f6;--gt-input-border: #c8b3f1;--gt-surface: #ffffff;--gt-surface-soft: #efe6ff;--gt-surface-soft-2: #e7dbff;--gt-primary: #7c3aed;--gt-danger: #be185d;--gt-success: #0f766e;--gt-warning: #a16207;--gt-overlay: rgba(246, 240, 255, .6);--gt-group-bg: #ede2ff;--gt-group-border: #d7c3ff;--gt-group-text: #4c1d95}._headerRow_dihwe_67{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}._flexRow_dihwe_76{display:flex;align-items:center;gap:8px}._toolbarGroup_dihwe_82{width:100%}._dropdown_dihwe_86{position:relative}._buttonBase_dihwe_90{border:1px solid;border-radius:4px;font-size:14px;line-height:1.2;padding:10px 12px;cursor:pointer;background:var(--gt-surface);color:var(--gt-text)}._buttonPrimary_dihwe_101{color:var(--gt-primary);border-color:var(--gt-primary)}._buttonPrimary_dihwe_101:hover{background:var(--gt-primary);color:var(--gt-surface)}._buttonDanger_dihwe_111{color:var(--gt-danger);border-color:var(--gt-danger)}._buttonDanger_dihwe_111:hover{background:var(--gt-danger);color:var(--gt-surface)}._buttonMuted_dihwe_121{color:var(--gt-muted);border-color:var(--gt-muted)}._buttonMuted_dihwe_121:hover{background:var(--gt-muted);color:var(--gt-surface)}._buttonDelete_dihwe_131{color:#842029;background:#f8d7da;border-color:#f5c2c7}._buttonDelete_dihwe_131:disabled{opacity:.65;cursor:not-allowed}._dropdownToggle_dihwe_142:after{content:" ▾";font-size:10px}._dropdownMenu_dihwe_147{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;list-style:none;margin:0;padding:4px 0;border:1px solid var(--gt-border);border-radius:4px;background:var(--gt-surface);box-shadow:0 4px 12px #0000001f;z-index:1200;display:none}._dropdownMenuOpen_dihwe_163{display:block}._menuItemButton_dihwe_167{width:100%;border:0;background:transparent;text-align:left;padding:12px 14px;cursor:pointer;font-size:14px}._themeDark_dihwe_29 ._menuItemButton_dihwe_167{color:#fff}._menuItemButton_dihwe_167:hover{background:var(--gt-surface-soft-2)}._labelMuted_dihwe_185{font-size:12px;color:var(--gt-muted)}._selectSmall_dihwe_190{border:1px solid var(--gt-input-border);border-radius:4px;padding:8px 10px;font-size:14px;background:var(--gt-surface);color:var(--gt-text)}._selectAuto_dihwe_199{width:auto}._switchRow_dihwe_203{display:inline-flex;align-items:center;gap:6px;margin-left:8px}._groupingSummary_dihwe_210{display:inline-flex;align-items:center;gap:8px;margin-left:8px}._relative_dihwe_217{position:relative}._overlay_dihwe_221{position:absolute;inset:0;background:var(--gt-overlay);z-index:10;pointer-events:none}._overlayInner_dihwe_229{position:absolute;left:50%;transform:translate(-50%);text-align:center}._spinner_dihwe_236{width:20px;height:20px;border:3px solid color-mix(in srgb,var(--gt-primary) 20%,transparent);border-top-color:var(--gt-primary);border-radius:50%;margin:0 auto 4px;animation:_spin_dihwe_236 1s linear infinite}@keyframes _spin_dihwe_236{to{transform:rotate(360deg)}}._tableWrap_dihwe_252{overflow-x:auto}._tableWrapAll_dihwe_256{max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative;isolation:isolate}._table_dihwe_252{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--gt-surface)}._table_dihwe_252 th,._table_dihwe_252 td{border:1px solid var(--gt-border);padding:6px 8px;font-size:14px}._tableHead_dihwe_278 th{background:var(--gt-surface-soft)}._thCellTop_dihwe_282{position:sticky;top:0;z-index:7;background:var(--gt-surface-soft);background-clip:padding-box}._thCellFilter_dihwe_290{position:sticky;z-index:6;background:var(--gt-surface-soft);background-clip:padding-box}._thInner_dihwe_297{display:flex;justify-content:space-between;align-items:center}._resizeHandle_dihwe_303{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;touch-action:none}._resizeHandle_dihwe_303:after{content:"";position:absolute;right:2px;top:20%;width:2px;height:60%;border-radius:2px;background:color-mix(in srgb,var(--gt-muted) 40%,transparent)}._resizeHandle_dihwe_303:hover:after{background:var(--gt-primary)}._sortButton_dihwe_328{border:0;background:transparent;color:inherit;padding:0;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}._iconMuted_dihwe_338{color:var(--gt-muted)}._inlineGroup_dihwe_342{display:flex;gap:4px;align-items:center;flex-wrap:nowrap;min-width:0}._input_dihwe_350{border:1px solid var(--gt-input-border);border-radius:4px;padding:8px 10px;font-size:14px;width:100%;box-sizing:border-box;background:var(--gt-surface);color:var(--gt-text);min-width:0}._rowInteractive_dihwe_362,._table_dihwe_252 tbody tr:hover{cursor:pointer}._rowInteractive_dihwe_362:focus-visible{outline:2px solid var(--gt-primary);outline-offset:-2px}._groupRow_dihwe_375 td{background:var(--gt-group-bg);border-color:var(--gt-group-border);padding:0;white-space:nowrap}._groupRowAnimated_dihwe_382{animation:_groupReveal_dihwe_1 .2s ease-out both}._groupChildRow_dihwe_386{animation:_rowReveal_dihwe_1 .22s ease-out both}._groupToggle_dihwe_390{width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;font-weight:600;color:var(--gt-group-text);cursor:pointer;white-space:nowrap;overflow-x:auto;overflow-y:hidden}._groupToggle_dihwe_390:hover{background:color-mix(in srgb,var(--gt-group-bg) 88%,black 12%)}@keyframes _groupReveal_dihwe_1{0%{transform:translateY(-2px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _rowReveal_dihwe_1{0%{transform:translateY(-4px);opacity:0}to{transform:translateY(0);opacity:1}}._groupMeta_dihwe_430{margin-left:12px;font-weight:700;color:var(--gt-muted);font-size:12px;white-space:nowrap}._checkbox_dihwe_438{width:14px;height:14px}._dangerText_dihwe_443{color:var(--gt-danger)}._tfoot_dihwe_447{font-weight:600}._tfoot_dihwe_447 td{background:var(--gt-surface-soft)}._textCenter_dihwe_455{text-align:center}._paginationWrap_dihwe_459{display:flex;justify-content:center;margin-top:12px}._pagination_dihwe_459{display:flex;list-style:none;margin:0;padding:0;gap:4px}._pageButton_dihwe_473{border:1px solid var(--gt-border);border-radius:4px;background:var(--gt-surface);color:var(--gt-text);padding:8px 10px;font-size:14px;cursor:pointer}._pageButton_dihwe_473:disabled{opacity:.6;cursor:not-allowed}._pageButtonActive_dihwe_488{background:var(--gt-primary);color:var(--gt-surface);border-color:var(--gt-primary)}._backdrop_dihwe_494{position:fixed;inset:0;z-index:1040}._drawer_dihwe_500{position:fixed;right:0;bottom:0;width:100%;height:78vh;background:var(--gt-surface);box-shadow:-6px 0 16px #00000026;z-index:1050;overflow-y:auto;padding:12px;border-top-left-radius:14px;border-top-right-radius:14px}._drawerTitle_dihwe_515{margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid var(--gt-border)}._drawerSection_dihwe_521{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--gt-border)}._drawerSubtitle_dihwe_527{margin:0 0 8px;color:var(--gt-muted);font-size:13px;font-weight:600}._sectionToggle_dihwe_534{width:100%;border:0;background:transparent;padding:6px 0;display:flex;align-items:center;justify-content:space-between;font-weight:600;color:var(--gt-text);cursor:pointer}._sectionBody_dihwe_547{padding-top:4px}._drawerRow_dihwe_551{display:flex;align-items:center;gap:8px;padding:4px 0}._spacerAuto_dihwe_558{margin-left:auto}._successText_dihwe_562{color:var(--gt-success)}._warningText_dihwe_566{color:var(--gt-warning)}._srOnly_dihwe_570{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (max-width: 767.98px){._headerRow_dihwe_67{align-items:stretch}._flexRow_dihwe_76{flex-wrap:wrap;width:100%}._switchRow_dihwe_203,._groupingSummary_dihwe_210{margin-left:0;width:100%}._dropdown_dihwe_86{width:100%}._dropdown_dihwe_86>._buttonBase_dihwe_90,._flexRow_dihwe_76>._buttonBase_dihwe_90,._flexRow_dihwe_76>._selectSmall_dihwe_190{width:100%}._table_dihwe_252 thead{display:none}._table_dihwe_252,._table_dihwe_252 tbody{display:block;width:100%}._table_dihwe_252 tbody tr:not(._groupRow_dihwe_375){display:block;margin-bottom:10px;border:1px solid var(--gt-border);border-radius:8px;overflow:hidden;background:var(--gt-surface)}._table_dihwe_252 tbody tr:not(._groupRow_dihwe_375) td{display:flex;justify-content:space-between;align-items:center;width:100%!important;border:0;border-bottom:1px solid var(--gt-border);padding:10px 12px;gap:10px}._table_dihwe_252 tbody tr:not(._groupRow_dihwe_375) td:last-child{border-bottom:0}._table_dihwe_252 tbody tr:not(._groupRow_dihwe_375) td:before{content:attr(data-label);font-weight:700;color:var(--gt-muted);flex:0 0 42%}._groupRow_dihwe_375 td:before{content:none}._pagination_dihwe_459{flex-wrap:wrap;justify-content:center}}@media (min-width: 768px){._toolbarGroup_dihwe_82{width:auto}._buttonBase_dihwe_90{font-size:12px;padding:6px 10px}._selectSmall_dihwe_190,._input_dihwe_350,._pageButton_dihwe_473{padding:4px 8px;font-size:12px}._drawer_dihwe_500{top:0;right:0;bottom:auto;width:280px;height:100%;border-top-left-radius:0;border-top-right-radius:0}}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pravinrd/awesome-grid",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.7",
|
|
5
5
|
"description": "Awesome Data Grid Component!",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"react",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"build": "vite build",
|
|
21
21
|
"build:single": "vite build --config vite.single.config.js",
|
|
22
22
|
"build:lib": "vite build --config vite.lib.config.js",
|
|
23
|
+
"postbuild:lib": "node -e \"const fs=require('fs');fs.copyFileSync('dist-lib/awesome-grid.css','dist-lib/style.css');\"",
|
|
23
24
|
"lint": "eslint .",
|
|
24
25
|
"preview": "vite preview"
|
|
25
26
|
},
|
|
@@ -29,12 +30,17 @@
|
|
|
29
30
|
],
|
|
30
31
|
"main": "dist-lib/index.cjs",
|
|
31
32
|
"module": "dist-lib/index.js",
|
|
33
|
+
"style": "dist-lib/style.css",
|
|
32
34
|
"exports": {
|
|
33
35
|
".": {
|
|
34
36
|
"import": "./dist-lib/index.js",
|
|
35
37
|
"require": "./dist-lib/index.cjs"
|
|
36
|
-
}
|
|
38
|
+
},
|
|
39
|
+
"./style.css": "./dist-lib/style.css"
|
|
37
40
|
},
|
|
41
|
+
"sideEffects": [
|
|
42
|
+
"**/*.css"
|
|
43
|
+
],
|
|
38
44
|
"dependencies": {},
|
|
39
45
|
"peerDependencies": {
|
|
40
46
|
"react": ">=18 <20",
|