simple-table-core 2.0.8 → 2.1.0

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.
Files changed (62) hide show
  1. package/dist/{Animate-3a7fcf5d.js → Animate-c3857efa.js} +2 -2
  2. package/dist/Animate-c3857efa.js.map +1 -0
  3. package/dist/{DatePicker-63405e18.js → DatePicker-d14cbf9a.js} +2 -2
  4. package/dist/DatePicker-d14cbf9a.js.map +1 -0
  5. package/dist/cjs/{Animate-b233af03.js → Animate-a43bf1cb.js} +2 -2
  6. package/dist/cjs/Animate-a43bf1cb.js.map +1 -0
  7. package/dist/cjs/{DatePicker-53dd311c.js → DatePicker-12f18810.js} +2 -2
  8. package/dist/cjs/DatePicker-12f18810.js.map +1 -0
  9. package/dist/cjs/components/Checkbox.d.ts +2 -1
  10. package/dist/cjs/context/TableContext.d.ts +7 -3
  11. package/dist/cjs/hooks/useAriaAnnouncements.d.ts +9 -0
  12. package/dist/cjs/hooks/useExpandedDepths.d.ts +14 -0
  13. package/dist/cjs/hooks/useFilterableData.d.ts +4 -2
  14. package/dist/cjs/hooks/useFlattenedRows.d.ts +4 -3
  15. package/dist/cjs/hooks/useHeaderLookup.d.ts +8 -0
  16. package/dist/cjs/hooks/useSortableData.d.ts +2 -1
  17. package/dist/cjs/hooks/useTableAPI.d.ts +6 -1
  18. package/dist/cjs/hooks/useTableDimensions.d.ts +1 -0
  19. package/dist/cjs/index-0c555f61.js +2 -0
  20. package/dist/cjs/index-0c555f61.js.map +1 -0
  21. package/dist/cjs/index.js +1 -1
  22. package/dist/cjs/styles.css +1 -1
  23. package/dist/cjs/types/OnRowGroupExpandProps.d.ts +2 -2
  24. package/dist/cjs/types/RowButton.d.ts +2 -0
  25. package/dist/cjs/types/TableRefType.d.ts +18 -0
  26. package/dist/cjs/utils/headerUtils.d.ts +13 -0
  27. package/dist/cjs/utils/rowUtils.d.ts +10 -7
  28. package/dist/components/Checkbox.d.ts +2 -1
  29. package/dist/context/TableContext.d.ts +7 -3
  30. package/dist/hooks/useAriaAnnouncements.d.ts +9 -0
  31. package/dist/hooks/useExpandedDepths.d.ts +14 -0
  32. package/dist/hooks/useFilterableData.d.ts +4 -2
  33. package/dist/hooks/useFlattenedRows.d.ts +4 -3
  34. package/dist/hooks/useHeaderLookup.d.ts +8 -0
  35. package/dist/hooks/useSortableData.d.ts +2 -1
  36. package/dist/hooks/useTableAPI.d.ts +6 -1
  37. package/dist/hooks/useTableDimensions.d.ts +1 -0
  38. package/dist/index-e35d0f44.js +2 -0
  39. package/dist/index-e35d0f44.js.map +1 -0
  40. package/dist/index.es.js +1 -1
  41. package/dist/styles.css +1 -1
  42. package/dist/types/OnRowGroupExpandProps.d.ts +2 -2
  43. package/dist/types/RowButton.d.ts +2 -0
  44. package/dist/types/TableRefType.d.ts +18 -0
  45. package/dist/utils/headerUtils.d.ts +13 -0
  46. package/dist/utils/rowUtils.d.ts +10 -7
  47. package/package.json +1 -1
  48. package/src/styles/base.css +47 -1
  49. package/src/styles/themes/dark.css +1 -0
  50. package/src/styles/themes/frost.css +1 -0
  51. package/src/styles/themes/light.css +1 -0
  52. package/src/styles/themes/neutral.css +1 -0
  53. package/src/styles/themes/sky.css +1 -0
  54. package/src/styles/themes/violet.css +1 -0
  55. package/dist/Animate-3a7fcf5d.js.map +0 -1
  56. package/dist/DatePicker-63405e18.js.map +0 -1
  57. package/dist/cjs/Animate-b233af03.js.map +0 -1
  58. package/dist/cjs/DatePicker-53dd311c.js.map +0 -1
  59. package/dist/cjs/index-85f9b4fe.js +0 -2
  60. package/dist/cjs/index-85f9b4fe.js.map +0 -1
  61. package/dist/index-3ee6f1b1.js +0 -2
  62. package/dist/index-3ee6f1b1.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{_ as n,u as i,a as t,c as e,b as o,A as a,d as r,f as l,R as d}from"./index-3ee6f1b1.js";import{jsx as u}from"react/jsx-runtime";import{useRef as f,useMemo as s,useLayoutEffect as v}from"react";var m=function(m){var p=m.children,h=m.id,M=m.parentRef,c=m.tableRow,Y=n(m,["children","id","parentRef","tableRow"]),C=i(),g=C.allowAnimations,b=C.isResizing,x=C.isScrolling,R=C.rowHeight,j=f(null),A=f(null),B=t(x),w=t(b),_=s(function(){return e(R)},[R]);return v(function(){var n,i,t,e;if(g&&j.current&&!b){var u=j.current.getBoundingClientRect(),f=A.current;if(!x)if(!B||x)if(!w||b){if(A.current=u,f){var s=u.x-f.x,v=u.y-f.y;if((Math.abs(s)>=50||Math.abs(v)>5)&&(Math.abs(s)>5||Math.abs(v)>5)){var m=o(o({},a.ROW_REORDER),{onComplete:function(){j.current&&(j.current.style.zIndex="",j.current.style.position="",j.current.style.top="")}}),p=null===(n=null==M?void 0:M.current)||void 0===n?void 0:n.scrollTop,h=null===(i=null==M?void 0:M.current)||void 0===i?void 0:i.clientHeight,Y=null===(t=null==M?void 0:M.current)||void 0===t?void 0:t.scrollHeight;if(void 0!==p&&void 0!==h&&void 0!==Y){var C=_*(R+d),k=p-C,q=p+h+C,y=f.y>k&&q>f.y,z=u.y>k&&q>u.y,D=p>u.y,E=null!==(e=null==c?void 0:c.position)&&void 0!==e?e:0,F=.6*R,G=function(n,i,t){return Math.min(900,Math.max(100,100+80*Math.log10(Math.max(1,Math.min(Math.abs(n-i),Math.abs(n-t))))))};if(y&&!z&&u.y>p+h){var H=G(u.y,p,p+h);return void r({element:j.current,options:{startY:f.y,endY:p+h+H+E%15*F*2.5+E%7*.4*R,finalY:u.y,duration:m.duration,easing:m.easing,onComplete:m.onComplete}})}if(y&&!z&&D)return H=G(u.y,p,p+h),void r({element:j.current,options:{startY:f.y,endY:p-H-E%15*F*2.5-E%7*.4*R,finalY:u.y,duration:m.duration,easing:m.easing,onComplete:m.onComplete}});if(!y&&z&&f.y>p+h)return H=G(f.y,p,p+h),void r({element:j.current,options:{startY:p+h+H+E%10*F*1,endY:u.y,duration:m.duration,easing:m.easing,onComplete:m.onComplete}});if(!y&&z&&p>f.y)return H=G(f.y,p,p+h),void r({element:j.current,options:{startY:p-H-E%10*F*1,endY:u.y,duration:m.duration,easing:m.easing,onComplete:m.onComplete}})}l({element:j.current,fromBounds:f,toBounds:u,finalConfig:m})}}}else A.current=u;else A.current=u}},[g,_,b,x,M,B,w,R,null==c?void 0:c.position,c]),u("div",o({ref:j,"data-animate-id":h,id:h+""},Y,{children:p}))};m.displayName="Animate";export{m as Animate,m as default};
2
- //# sourceMappingURL=Animate-3a7fcf5d.js.map
1
+ import{_ as n,u as i,a as t,c as e,b as o,A as a,d as r,f as l,R as d}from"./index-e35d0f44.js";import{jsx as u}from"react/jsx-runtime";import{useRef as f,useMemo as s,useLayoutEffect as v}from"react";var m=function(m){var p=m.children,h=m.id,M=m.parentRef,c=m.tableRow,Y=n(m,["children","id","parentRef","tableRow"]),C=i(),g=C.allowAnimations,x=C.isResizing,R=C.isScrolling,b=C.rowHeight,j=f(null),A=f(null),B=t(R),w=t(x),_=s(function(){return e(b)},[b]);return v(function(){var n,i,t,e;if(g&&j.current&&!x){var u=j.current.getBoundingClientRect(),f=A.current;if(!R)if(!B||R)if(!w||x){if(A.current=u,f){var s=u.x-f.x,v=u.y-f.y;if((Math.abs(s)>=50||Math.abs(v)>5)&&(Math.abs(s)>5||Math.abs(v)>5)){var m=o(o({},a.ROW_REORDER),{onComplete:function(){j.current&&(j.current.style.zIndex="",j.current.style.position="",j.current.style.top="")}}),p=null===(n=null==M?void 0:M.current)||void 0===n?void 0:n.scrollTop,h=null===(i=null==M?void 0:M.current)||void 0===i?void 0:i.clientHeight,Y=null===(t=null==M?void 0:M.current)||void 0===t?void 0:t.scrollHeight;if(void 0!==p&&void 0!==h&&void 0!==Y){var C=_*(b+d),k=p-C,q=p+h+C,y=f.y>k&&q>f.y,z=u.y>k&&q>u.y,D=p>u.y,E=null!==(e=null==c?void 0:c.position)&&void 0!==e?e:0,F=.6*b,G=function(n,i,t){return Math.min(900,Math.max(100,100+80*Math.log10(Math.max(1,Math.min(Math.abs(n-i),Math.abs(n-t))))))};if(y&&!z&&u.y>p+h){var H=G(u.y,p,p+h);return void r({element:j.current,options:{startY:f.y,endY:p+h+H+E%15*F*2.5+E%7*.4*b,finalY:u.y,duration:m.duration,easing:m.easing,onComplete:m.onComplete}})}if(y&&!z&&D)return H=G(u.y,p,p+h),void r({element:j.current,options:{startY:f.y,endY:p-H-E%15*F*2.5-E%7*.4*b,finalY:u.y,duration:m.duration,easing:m.easing,onComplete:m.onComplete}});if(!y&&z&&f.y>p+h)return H=G(f.y,p,p+h),void r({element:j.current,options:{startY:p+h+H+E%10*F*1,endY:u.y,duration:m.duration,easing:m.easing,onComplete:m.onComplete}});if(!y&&z&&p>f.y)return H=G(f.y,p,p+h),void r({element:j.current,options:{startY:p-H-E%10*F*1,endY:u.y,duration:m.duration,easing:m.easing,onComplete:m.onComplete}})}l({element:j.current,fromBounds:f,toBounds:u,finalConfig:m})}}}else A.current=u;else A.current=u}},[g,_,x,R,M,B,w,b,null==c?void 0:c.position,c]),u("div",o({ref:j,"data-animate-id":h,id:h+""},Y,{children:p}))};m.displayName="Animate";export{m as Animate,m as default};
2
+ //# sourceMappingURL=Animate-c3857efa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Animate-c3857efa.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{u as e,b as n}from"./index-3ee6f1b1.js";import{jsxs as t,Fragment as a,jsx as r}from"react/jsx-runtime";import{useState as c}from"react";var i=function(i){var d,o,s=i.onChange,l=i.onClose,u=i.value,f=e(),h=f.nextIcon,m=f.prevIcon,v=c(u||new Date),k=v[0],p=v[1],w=c("days"),y=w[0],D=w[1],N=function(e,n){return new Date(e,n+1,0).getDate()};return t("div",n({className:"st-datepicker"},{children:[t("div",n({className:"st-datepicker-header"},{children:["days"===y&&t(a,{children:[r("button",n({onClick:function(){p(new Date(k.getFullYear(),k.getMonth()-1,1))},className:"st-datepicker-nav-btn"},{children:m})),t("div",n({className:"st-datepicker-header-label",onClick:function(){return D("months")}},{children:[(o=k,o.toLocaleString("default",{month:"long"}))," ",k.getFullYear()]})),r("button",n({onClick:function(){p(new Date(k.getFullYear(),k.getMonth()+1,1))},className:"st-datepicker-nav-btn"},{children:h}))]}),"months"===y&&r("div",n({className:"st-datepicker-header-label",onClick:function(){return D("years")}},{children:k.getFullYear()})),"years"===y&&r("div",n({className:"st-datepicker-header-label"},{children:"Select Year"}))]})),t("div",n({className:"st-datepicker-grid st-datepicker-".concat(y,"-grid")},{children:["days"===y&&function(){var e=[],t=k.getFullYear(),a=k.getMonth(),c=N(t,a),i=function(e,n){return new Date(e,n,1).getDay()}(t,a),d=N(t,a-1);["Su","Mo","Tu","We","Th","Fr","Sa"].forEach(function(t,a){e.push(r("div",n({className:"st-datepicker-weekday"},{children:t}),"header-".concat(a)))});for(var o=function(t){var a=d-i+t+1;e.push(r("div",n({className:"st-datepicker-day other-month",onClick:function(){return function(e){var n=new Date(k.getFullYear(),k.getMonth()-1,e,12,0,0);p(n),s(n),null==l||l()}(a)}},{children:a}),"prev-".concat(a)))},f=0;i>f;f++)o(f);for(var h=function(c){var i=c===(new Date).getDate()&&a===(new Date).getMonth()&&t===(new Date).getFullYear(),d=new Date(u),o=c===d.getDate()&&a===d.getMonth()&&t===d.getFullYear();e.push(r("div",n({className:"st-datepicker-day ".concat(i?"today":""," ").concat(o?"selected":""),onClick:function(){return function(e){var n=k.getFullYear(),t=k.getMonth(),a=new Date(n,t,e,12,0,0);p(a),s(a),null==l||l()}(c)}},{children:c}),"day-".concat(c)))},m=1;c>=m;m++)h(m);var v=35-(i+c),w=function(t){e.push(r("div",n({className:"st-datepicker-day other-month",onClick:function(){return function(e){var n=new Date(k.getFullYear(),k.getMonth()+1,e,12,0,0);p(n),s(n),null==l||l()}(t)}},{children:t}),"next-".concat(t)))};for(m=1;v>=m;m++)w(m);return e}(),"months"===y&&(d=[],Array.from({length:12},function(e,n){return new Date(2e3,n,1).toLocaleString("default",{month:"short"})}).forEach(function(e,t){var a=t===k.getMonth();d.push(r("div",n({className:"st-datepicker-month ".concat(a?"selected":""),onClick:function(){return function(e){p(new Date(k.getFullYear(),e,1)),D("days")}(t)}},{children:e}),"month-".concat(t)))}),d),"years"===y&&function(){for(var e=[],t=k.getFullYear(),a=t-6,c=function(a){e.push(r("div",n({className:"st-datepicker-year ".concat(a===t?"selected":""),onClick:function(){return function(e){p(new Date(e,k.getMonth(),1)),D("months")}(a)}},{children:a}),"year-".concat(a)))},i=a;a+12>i;i++)c(i);return e}()]})),r("div",n({className:"st-datepicker-footer"},{children:r("button",n({className:"st-datepicker-today-btn",onClick:function(){var e=new Date,n=new Date(e.getFullYear(),e.getMonth(),e.getDate(),12,0,0);p(n),s(n),null==l||l()}},{children:"Today"}))}))]}))};export{i as default};
2
- //# sourceMappingURL=DatePicker-63405e18.js.map
1
+ import{u as e,b as n}from"./index-e35d0f44.js";import{jsxs as t,Fragment as a,jsx as r}from"react/jsx-runtime";import{useState as c}from"react";var i=function(i){var d,o,s=i.onChange,l=i.onClose,u=i.value,f=e(),h=f.nextIcon,m=f.prevIcon,v=c(u||new Date),k=v[0],p=v[1],w=c("days"),y=w[0],D=w[1],N=function(e,n){return new Date(e,n+1,0).getDate()};return t("div",n({className:"st-datepicker"},{children:[t("div",n({className:"st-datepicker-header"},{children:["days"===y&&t(a,{children:[r("button",n({onClick:function(){p(new Date(k.getFullYear(),k.getMonth()-1,1))},className:"st-datepicker-nav-btn"},{children:m})),t("div",n({className:"st-datepicker-header-label",onClick:function(){return D("months")}},{children:[(o=k,o.toLocaleString("default",{month:"long"}))," ",k.getFullYear()]})),r("button",n({onClick:function(){p(new Date(k.getFullYear(),k.getMonth()+1,1))},className:"st-datepicker-nav-btn"},{children:h}))]}),"months"===y&&r("div",n({className:"st-datepicker-header-label",onClick:function(){return D("years")}},{children:k.getFullYear()})),"years"===y&&r("div",n({className:"st-datepicker-header-label"},{children:"Select Year"}))]})),t("div",n({className:"st-datepicker-grid st-datepicker-".concat(y,"-grid")},{children:["days"===y&&function(){var e=[],t=k.getFullYear(),a=k.getMonth(),c=N(t,a),i=function(e,n){return new Date(e,n,1).getDay()}(t,a),d=N(t,a-1);["Su","Mo","Tu","We","Th","Fr","Sa"].forEach(function(t,a){e.push(r("div",n({className:"st-datepicker-weekday"},{children:t}),"header-".concat(a)))});for(var o=function(t){var a=d-i+t+1;e.push(r("div",n({className:"st-datepicker-day other-month",onClick:function(){return function(e){var n=new Date(k.getFullYear(),k.getMonth()-1,e,12,0,0);p(n),s(n),null==l||l()}(a)}},{children:a}),"prev-".concat(a)))},f=0;i>f;f++)o(f);for(var h=function(c){var i=c===(new Date).getDate()&&a===(new Date).getMonth()&&t===(new Date).getFullYear(),d=new Date(u),o=c===d.getDate()&&a===d.getMonth()&&t===d.getFullYear();e.push(r("div",n({className:"st-datepicker-day ".concat(i?"today":""," ").concat(o?"selected":""),onClick:function(){return function(e){var n=k.getFullYear(),t=k.getMonth(),a=new Date(n,t,e,12,0,0);p(a),s(a),null==l||l()}(c)}},{children:c}),"day-".concat(c)))},m=1;c>=m;m++)h(m);var v=35-(i+c),w=function(t){e.push(r("div",n({className:"st-datepicker-day other-month",onClick:function(){return function(e){var n=new Date(k.getFullYear(),k.getMonth()+1,e,12,0,0);p(n),s(n),null==l||l()}(t)}},{children:t}),"next-".concat(t)))};for(m=1;v>=m;m++)w(m);return e}(),"months"===y&&(d=[],Array.from({length:12},function(e,n){return new Date(2e3,n,1).toLocaleString("default",{month:"short"})}).forEach(function(e,t){var a=t===k.getMonth();d.push(r("div",n({className:"st-datepicker-month ".concat(a?"selected":""),onClick:function(){return function(e){p(new Date(k.getFullYear(),e,1)),D("days")}(t)}},{children:e}),"month-".concat(t)))}),d),"years"===y&&function(){for(var e=[],t=k.getFullYear(),a=t-6,c=function(a){e.push(r("div",n({className:"st-datepicker-year ".concat(a===t?"selected":""),onClick:function(){return function(e){p(new Date(e,k.getMonth(),1)),D("months")}(a)}},{children:a}),"year-".concat(a)))},i=a;a+12>i;i++)c(i);return e}()]})),r("div",n({className:"st-datepicker-footer"},{children:r("button",n({className:"st-datepicker-today-btn",onClick:function(){var e=new Date,n=new Date(e.getFullYear(),e.getMonth(),e.getDate(),12,0,0);p(n),s(n),null==l||l()}},{children:"Today"}))}))]}))};export{i as default};
2
+ //# sourceMappingURL=DatePicker-d14cbf9a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker-d14cbf9a.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- "use strict";var n=require("./index-85f9b4fe.js"),e=require("react/jsx-runtime"),i=require("react"),t=function(t){var o=t.children,r=t.id,a=t.parentRef,l=t.tableRow,d=n.__rest(t,["children","id","parentRef","tableRow"]),u=n.useTableContext(),v=u.allowAnimations,f=u.isResizing,s=u.isScrolling,m=u.rowHeight,h=i.useRef(null),p=i.useRef(null),M=n.usePrevious(s),c=n.usePrevious(f),Y=i.useMemo(function(){return n.calculateBufferRowCount(m)},[m]);return i.useLayoutEffect(function(){var e,i,t,o;if(v&&h.current&&!f){var r=h.current.getBoundingClientRect(),d=p.current;if(!s)if(!M||s)if(!c||f){if(p.current=r,d){var u=r.x-d.x,C=r.y-d.y;if((Math.abs(u)>=50||Math.abs(C)>5)&&(Math.abs(u)>5||Math.abs(C)>5)){var g=n.__assign(n.__assign({},n.ANIMATION_CONFIGS.ROW_REORDER),{onComplete:function(){h.current&&(h.current.style.zIndex="",h.current.style.position="",h.current.style.top="")}}),x=null===(e=null==a?void 0:a.current)||void 0===e?void 0:e.scrollTop,q=null===(i=null==a?void 0:a.current)||void 0===i?void 0:i.clientHeight,b=null===(t=null==a?void 0:a.current)||void 0===t?void 0:t.scrollHeight;if(void 0!==x&&void 0!==q&&void 0!==b){var j=Y*(m+n.ROW_SEPARATOR_WIDTH),B=x-j,R=x+q+j,w=d.y>B&&R>d.y,A=r.y>B&&R>r.y,k=x>r.y,y=null!==(o=null==l?void 0:l.position)&&void 0!==o?o:0,z=.6*m,D=function(n,e,i){return Math.min(900,Math.max(100,100+80*Math.log10(Math.max(1,Math.min(Math.abs(n-e),Math.abs(n-i))))))};if(w&&!A&&r.y>x+q){var E=D(r.y,x,x+q);return void n.animateWithCustomCoordinates({element:h.current,options:{startY:d.y,endY:x+q+E+y%15*z*2.5+y%7*.4*m,finalY:r.y,duration:g.duration,easing:g.easing,onComplete:g.onComplete}})}if(w&&!A&&k)return E=D(r.y,x,x+q),void n.animateWithCustomCoordinates({element:h.current,options:{startY:d.y,endY:x-E-y%15*z*2.5-y%7*.4*m,finalY:r.y,duration:g.duration,easing:g.easing,onComplete:g.onComplete}});if(!w&&A&&d.y>x+q)return E=D(d.y,x,x+q),void n.animateWithCustomCoordinates({element:h.current,options:{startY:x+q+E+y%10*z*1,endY:r.y,duration:g.duration,easing:g.easing,onComplete:g.onComplete}});if(!w&&A&&x>d.y)return E=D(d.y,x,x+q),void n.animateWithCustomCoordinates({element:h.current,options:{startY:x-E-y%10*z*1,endY:r.y,duration:g.duration,easing:g.easing,onComplete:g.onComplete}})}n.flipElement({element:h.current,fromBounds:d,toBounds:r,finalConfig:g})}}}else p.current=r;else p.current=r}},[v,Y,f,s,a,M,c,m,null==l?void 0:l.position,l]),e.jsx("div",n.__assign({ref:h,"data-animate-id":r,id:r+""},d,{children:o}))};t.displayName="Animate",exports.Animate=t,exports.default=t;
2
- //# sourceMappingURL=Animate-b233af03.js.map
1
+ "use strict";var n=require("./index-0c555f61.js"),e=require("react/jsx-runtime"),i=require("react"),t=function(t){var o=t.children,r=t.id,a=t.parentRef,l=t.tableRow,d=n.__rest(t,["children","id","parentRef","tableRow"]),u=n.useTableContext(),v=u.allowAnimations,f=u.isResizing,s=u.isScrolling,m=u.rowHeight,h=i.useRef(null),p=i.useRef(null),c=n.usePrevious(s),M=n.usePrevious(f),Y=i.useMemo(function(){return n.calculateBufferRowCount(m)},[m]);return i.useLayoutEffect(function(){var e,i,t,o;if(v&&h.current&&!f){var r=h.current.getBoundingClientRect(),d=p.current;if(!s)if(!c||s)if(!M||f){if(p.current=r,d){var u=r.x-d.x,C=r.y-d.y;if((Math.abs(u)>=50||Math.abs(C)>5)&&(Math.abs(u)>5||Math.abs(C)>5)){var g=n.__assign(n.__assign({},n.ANIMATION_CONFIGS.ROW_REORDER),{onComplete:function(){h.current&&(h.current.style.zIndex="",h.current.style.position="",h.current.style.top="")}}),x=null===(e=null==a?void 0:a.current)||void 0===e?void 0:e.scrollTop,q=null===(i=null==a?void 0:a.current)||void 0===i?void 0:i.clientHeight,j=null===(t=null==a?void 0:a.current)||void 0===t?void 0:t.scrollHeight;if(void 0!==x&&void 0!==q&&void 0!==j){var B=Y*(m+n.ROW_SEPARATOR_WIDTH),R=x-B,b=x+q+B,w=d.y>R&&b>d.y,A=r.y>R&&b>r.y,k=x>r.y,y=null!==(o=null==l?void 0:l.position)&&void 0!==o?o:0,z=.6*m,D=function(n,e,i){return Math.min(900,Math.max(100,100+80*Math.log10(Math.max(1,Math.min(Math.abs(n-e),Math.abs(n-i))))))};if(w&&!A&&r.y>x+q){var E=D(r.y,x,x+q);return void n.animateWithCustomCoordinates({element:h.current,options:{startY:d.y,endY:x+q+E+y%15*z*2.5+y%7*.4*m,finalY:r.y,duration:g.duration,easing:g.easing,onComplete:g.onComplete}})}if(w&&!A&&k)return E=D(r.y,x,x+q),void n.animateWithCustomCoordinates({element:h.current,options:{startY:d.y,endY:x-E-y%15*z*2.5-y%7*.4*m,finalY:r.y,duration:g.duration,easing:g.easing,onComplete:g.onComplete}});if(!w&&A&&d.y>x+q)return E=D(d.y,x,x+q),void n.animateWithCustomCoordinates({element:h.current,options:{startY:x+q+E+y%10*z*1,endY:r.y,duration:g.duration,easing:g.easing,onComplete:g.onComplete}});if(!w&&A&&x>d.y)return E=D(d.y,x,x+q),void n.animateWithCustomCoordinates({element:h.current,options:{startY:x-E-y%10*z*1,endY:r.y,duration:g.duration,easing:g.easing,onComplete:g.onComplete}})}n.flipElement({element:h.current,fromBounds:d,toBounds:r,finalConfig:g})}}}else p.current=r;else p.current=r}},[v,Y,f,s,a,c,M,m,null==l?void 0:l.position,l]),e.jsx("div",n.__assign({ref:h,"data-animate-id":r,id:r+""},d,{children:o}))};t.displayName="Animate",exports.Animate=t,exports.default=t;
2
+ //# sourceMappingURL=Animate-a43bf1cb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Animate-a43bf1cb.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./index-85f9b4fe.js"),n=require("react/jsx-runtime"),t=require("react");exports.default=function(a){var r,c,i=a.onChange,d=a.onClose,s=a.value,l=e.useTableContext(),o=l.nextIcon,u=l.prevIcon,h=t.useState(s||new Date),f=h[0],v=h[1],k=t.useState("days"),m=k[0],p=k[1],w=function(e,n){return new Date(e,n+1,0).getDate()};return n.jsxs("div",e.__assign({className:"st-datepicker"},{children:[n.jsxs("div",e.__assign({className:"st-datepicker-header"},{children:["days"===m&&n.jsxs(n.Fragment,{children:[n.jsx("button",e.__assign({onClick:function(){v(new Date(f.getFullYear(),f.getMonth()-1,1))},className:"st-datepicker-nav-btn"},{children:u})),n.jsxs("div",e.__assign({className:"st-datepicker-header-label",onClick:function(){return p("months")}},{children:[(c=f,c.toLocaleString("default",{month:"long"}))," ",f.getFullYear()]})),n.jsx("button",e.__assign({onClick:function(){v(new Date(f.getFullYear(),f.getMonth()+1,1))},className:"st-datepicker-nav-btn"},{children:o}))]}),"months"===m&&n.jsx("div",e.__assign({className:"st-datepicker-header-label",onClick:function(){return p("years")}},{children:f.getFullYear()})),"years"===m&&n.jsx("div",e.__assign({className:"st-datepicker-header-label"},{children:"Select Year"}))]})),n.jsxs("div",e.__assign({className:"st-datepicker-grid st-datepicker-".concat(m,"-grid")},{children:["days"===m&&function(){var t=[],a=f.getFullYear(),r=f.getMonth(),c=w(a,r),l=function(e,n){return new Date(e,n,1).getDay()}(a,r),o=w(a,r-1);["Su","Mo","Tu","We","Th","Fr","Sa"].forEach(function(a,r){t.push(n.jsx("div",e.__assign({className:"st-datepicker-weekday"},{children:a}),"header-".concat(r)))});for(var u=function(a){var r=o-l+a+1;t.push(n.jsx("div",e.__assign({className:"st-datepicker-day other-month",onClick:function(){return function(e){var n=new Date(f.getFullYear(),f.getMonth()-1,e,12,0,0);v(n),i(n),null==d||d()}(r)}},{children:r}),"prev-".concat(r)))},h=0;l>h;h++)u(h);for(var k=function(c){var l=c===(new Date).getDate()&&r===(new Date).getMonth()&&a===(new Date).getFullYear(),o=new Date(s),u=c===o.getDate()&&r===o.getMonth()&&a===o.getFullYear();t.push(n.jsx("div",e.__assign({className:"st-datepicker-day ".concat(l?"today":""," ").concat(u?"selected":""),onClick:function(){return function(e){var n=f.getFullYear(),t=f.getMonth(),a=new Date(n,t,e,12,0,0);v(a),i(a),null==d||d()}(c)}},{children:c}),"day-".concat(c)))},m=1;c>=m;m++)k(m);var p=35-(l+c),y=function(a){t.push(n.jsx("div",e.__assign({className:"st-datepicker-day other-month",onClick:function(){return function(e){var n=new Date(f.getFullYear(),f.getMonth()+1,e,12,0,0);v(n),i(n),null==d||d()}(a)}},{children:a}),"next-".concat(a)))};for(m=1;p>=m;m++)y(m);return t}(),"months"===m&&(r=[],Array.from({length:12},function(e,n){return new Date(2e3,n,1).toLocaleString("default",{month:"short"})}).forEach(function(t,a){var c=a===f.getMonth();r.push(n.jsx("div",e.__assign({className:"st-datepicker-month ".concat(c?"selected":""),onClick:function(){return function(e){v(new Date(f.getFullYear(),e,1)),p("days")}(a)}},{children:t}),"month-".concat(a)))}),r),"years"===m&&function(){for(var t=[],a=f.getFullYear(),r=a-6,c=function(r){t.push(n.jsx("div",e.__assign({className:"st-datepicker-year ".concat(r===a?"selected":""),onClick:function(){return function(e){v(new Date(e,f.getMonth(),1)),p("months")}(r)}},{children:r}),"year-".concat(r)))},i=r;r+12>i;i++)c(i);return t}()]})),n.jsx("div",e.__assign({className:"st-datepicker-footer"},{children:n.jsx("button",e.__assign({className:"st-datepicker-today-btn",onClick:function(){var e=new Date,n=new Date(e.getFullYear(),e.getMonth(),e.getDate(),12,0,0);v(n),i(n),null==d||d()}},{children:"Today"}))}))]}))};
2
- //# sourceMappingURL=DatePicker-53dd311c.js.map
1
+ "use strict";var e=require("./index-0c555f61.js"),n=require("react/jsx-runtime"),t=require("react");exports.default=function(a){var r,c,i=a.onChange,d=a.onClose,s=a.value,l=e.useTableContext(),o=l.nextIcon,u=l.prevIcon,h=t.useState(s||new Date),f=h[0],v=h[1],k=t.useState("days"),m=k[0],p=k[1],w=function(e,n){return new Date(e,n+1,0).getDate()};return n.jsxs("div",e.__assign({className:"st-datepicker"},{children:[n.jsxs("div",e.__assign({className:"st-datepicker-header"},{children:["days"===m&&n.jsxs(n.Fragment,{children:[n.jsx("button",e.__assign({onClick:function(){v(new Date(f.getFullYear(),f.getMonth()-1,1))},className:"st-datepicker-nav-btn"},{children:u})),n.jsxs("div",e.__assign({className:"st-datepicker-header-label",onClick:function(){return p("months")}},{children:[(c=f,c.toLocaleString("default",{month:"long"}))," ",f.getFullYear()]})),n.jsx("button",e.__assign({onClick:function(){v(new Date(f.getFullYear(),f.getMonth()+1,1))},className:"st-datepicker-nav-btn"},{children:o}))]}),"months"===m&&n.jsx("div",e.__assign({className:"st-datepicker-header-label",onClick:function(){return p("years")}},{children:f.getFullYear()})),"years"===m&&n.jsx("div",e.__assign({className:"st-datepicker-header-label"},{children:"Select Year"}))]})),n.jsxs("div",e.__assign({className:"st-datepicker-grid st-datepicker-".concat(m,"-grid")},{children:["days"===m&&function(){var t=[],a=f.getFullYear(),r=f.getMonth(),c=w(a,r),l=function(e,n){return new Date(e,n,1).getDay()}(a,r),o=w(a,r-1);["Su","Mo","Tu","We","Th","Fr","Sa"].forEach(function(a,r){t.push(n.jsx("div",e.__assign({className:"st-datepicker-weekday"},{children:a}),"header-".concat(r)))});for(var u=function(a){var r=o-l+a+1;t.push(n.jsx("div",e.__assign({className:"st-datepicker-day other-month",onClick:function(){return function(e){var n=new Date(f.getFullYear(),f.getMonth()-1,e,12,0,0);v(n),i(n),null==d||d()}(r)}},{children:r}),"prev-".concat(r)))},h=0;l>h;h++)u(h);for(var k=function(c){var l=c===(new Date).getDate()&&r===(new Date).getMonth()&&a===(new Date).getFullYear(),o=new Date(s),u=c===o.getDate()&&r===o.getMonth()&&a===o.getFullYear();t.push(n.jsx("div",e.__assign({className:"st-datepicker-day ".concat(l?"today":""," ").concat(u?"selected":""),onClick:function(){return function(e){var n=f.getFullYear(),t=f.getMonth(),a=new Date(n,t,e,12,0,0);v(a),i(a),null==d||d()}(c)}},{children:c}),"day-".concat(c)))},m=1;c>=m;m++)k(m);var p=35-(l+c),y=function(a){t.push(n.jsx("div",e.__assign({className:"st-datepicker-day other-month",onClick:function(){return function(e){var n=new Date(f.getFullYear(),f.getMonth()+1,e,12,0,0);v(n),i(n),null==d||d()}(a)}},{children:a}),"next-".concat(a)))};for(m=1;p>=m;m++)y(m);return t}(),"months"===m&&(r=[],Array.from({length:12},function(e,n){return new Date(2e3,n,1).toLocaleString("default",{month:"short"})}).forEach(function(t,a){var c=a===f.getMonth();r.push(n.jsx("div",e.__assign({className:"st-datepicker-month ".concat(c?"selected":""),onClick:function(){return function(e){v(new Date(f.getFullYear(),e,1)),p("days")}(a)}},{children:t}),"month-".concat(a)))}),r),"years"===m&&function(){for(var t=[],a=f.getFullYear(),r=a-6,c=function(r){t.push(n.jsx("div",e.__assign({className:"st-datepicker-year ".concat(r===a?"selected":""),onClick:function(){return function(e){v(new Date(e,f.getMonth(),1)),p("months")}(r)}},{children:r}),"year-".concat(r)))},i=r;r+12>i;i++)c(i);return t}()]})),n.jsx("div",e.__assign({className:"st-datepicker-footer"},{children:n.jsx("button",e.__assign({className:"st-datepicker-today-btn",onClick:function(){var e=new Date,n=new Date(e.getFullYear(),e.getMonth(),e.getDate(),12,0,0);v(n),i(n),null==d||d()}},{children:"Today"}))}))]}))};
2
+ //# sourceMappingURL=DatePicker-12f18810.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker-12f18810.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -3,6 +3,7 @@ interface CheckboxProps {
3
3
  checked?: boolean;
4
4
  children?: ReactNode;
5
5
  onChange?: (checked: boolean) => void;
6
+ ariaLabel?: string;
6
7
  }
7
- declare const Checkbox: ({ checked, children, onChange }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
8
+ declare const Checkbox: ({ checked, children, onChange, ariaLabel }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
8
9
  export default Checkbox;
@@ -37,7 +37,7 @@ interface TableContextType {
37
37
  editColumns?: boolean;
38
38
  enableHeaderEditing?: boolean;
39
39
  enableRowSelection?: boolean;
40
- expandAll: boolean;
40
+ expandedDepths: Set<number>;
41
41
  expandIcon?: ReactNode;
42
42
  filterIcon?: ReactNode;
43
43
  filters: TableFilterState;
@@ -65,6 +65,7 @@ interface TableContextType {
65
65
  headerRegistry?: Map<string, HeaderRegistryEntry>;
66
66
  headers: HeaderObject[];
67
67
  hoveredHeaderRef: MutableRefObject<HeaderObject | null>;
68
+ maxHeaderDepth: number;
68
69
  isAnimating: boolean;
69
70
  isCopyFlashing: (cell: Cell) => boolean;
70
71
  isInitialFocusedCell: (cell: Cell) => boolean;
@@ -111,7 +112,9 @@ interface TableContextType {
111
112
  setSelectedCells: Dispatch<SetStateAction<Set<string>>>;
112
113
  setSelectedColumns: Dispatch<SetStateAction<Set<number>>>;
113
114
  setSelectedRows?: Dispatch<SetStateAction<Set<string>>>;
114
- setUnexpandedRows: Dispatch<SetStateAction<Set<string>>>;
115
+ setExpandedDepths: Dispatch<SetStateAction<Set<number>>>;
116
+ setExpandedRows: Dispatch<SetStateAction<Map<string, number>>>;
117
+ setCollapsedRows: Dispatch<SetStateAction<Map<string, number>>>;
115
118
  shouldPaginate: boolean;
116
119
  sortDownIcon: ReactNode;
117
120
  sortUpIcon: ReactNode;
@@ -119,7 +122,8 @@ interface TableContextType {
119
122
  tableEmptyStateRenderer?: ReactNode;
120
123
  tableRows: TableRow[];
121
124
  theme: Theme;
122
- unexpandedRows: Set<string>;
125
+ expandedRows: Map<string, number>;
126
+ collapsedRows: Map<string, number>;
123
127
  useHoverRowBackground: boolean;
124
128
  useOddColumnBackground: boolean;
125
129
  useOddEvenRowBackground: boolean;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Custom hook to manage aria-live announcements for screen readers
3
+ * Provides a way to announce dynamic content changes to assistive technologies
4
+ */
5
+ declare const useAriaAnnouncements: () => {
6
+ announcement: string;
7
+ announce: (message: string) => void;
8
+ };
9
+ export default useAriaAnnouncements;
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { Accessor } from "../types/HeaderObject";
3
+ /**
4
+ * Initialize expandedDepths based on expandAll prop and rowGrouping
5
+ */
6
+ export declare const initializeExpandedDepths: (expandAll: boolean, rowGrouping?: Accessor[]) => Set<number>;
7
+ /**
8
+ * Hook to manage expandedDepths state and sync with rowGrouping changes
9
+ */
10
+ declare const useExpandedDepths: (expandAll: boolean, rowGrouping?: Accessor[]) => {
11
+ expandedDepths: Set<number>;
12
+ setExpandedDepths: import("react").Dispatch<import("react").SetStateAction<Set<number>>>;
13
+ };
14
+ export default useExpandedDepths;
@@ -1,10 +1,12 @@
1
1
  import { TableFilterState, FilterCondition } from "../types/FilterTypes";
2
2
  import Row from "../types/Row";
3
- import { Accessor } from "../types/HeaderObject";
3
+ import HeaderObject, { Accessor } from "../types/HeaderObject";
4
4
  interface UseFilterableDataProps {
5
5
  rows: Row[];
6
+ headers: HeaderObject[];
6
7
  externalFilterHandling: boolean;
7
8
  onFilterChange?: (filters: TableFilterState) => void;
9
+ announce?: (message: string) => void;
8
10
  }
9
11
  interface UseFilterableDataReturn {
10
12
  filteredRows: Row[];
@@ -14,5 +16,5 @@ interface UseFilterableDataReturn {
14
16
  filters: TableFilterState;
15
17
  computeFilteredRowsPreview: (filter: FilterCondition) => Row[];
16
18
  }
17
- declare const useFilterableData: ({ rows, externalFilterHandling, onFilterChange, }: UseFilterableDataProps) => UseFilterableDataReturn;
19
+ declare const useFilterableData: ({ rows, headers, externalFilterHandling, onFilterChange, announce, }: UseFilterableDataProps) => UseFilterableDataReturn;
18
20
  export default useFilterableData;
@@ -6,8 +6,9 @@ interface UseFlattenedRowsProps {
6
6
  rows: Row[];
7
7
  rowGrouping?: Accessor[];
8
8
  rowIdAccessor: Accessor;
9
- unexpandedRows: Set<string>;
10
- expandAll: boolean;
9
+ expandedRows: Map<string, number>;
10
+ collapsedRows: Map<string, number>;
11
+ expandedDepths: Set<number>;
11
12
  rowStateMap: Map<string | number, RowState>;
12
13
  hasLoadingRenderer: boolean;
13
14
  hasErrorRenderer: boolean;
@@ -19,5 +20,5 @@ interface UseFlattenedRowsProps {
19
20
  * can all operate on the flat structure, fixing issues where rowsPerPage
20
21
  * didn't account for nested children.
21
22
  */
22
- declare const useFlattenedRows: ({ rows, rowGrouping, rowIdAccessor, unexpandedRows, expandAll, rowStateMap, hasLoadingRenderer, hasErrorRenderer, hasEmptyRenderer, }: UseFlattenedRowsProps) => TableRow[];
23
+ declare const useFlattenedRows: ({ rows, rowGrouping, rowIdAccessor, expandedRows, collapsedRows, expandedDepths, rowStateMap, hasLoadingRenderer, hasErrorRenderer, hasEmptyRenderer, }: UseFlattenedRowsProps) => TableRow[];
23
24
  export default useFlattenedRows;
@@ -0,0 +1,8 @@
1
+ import HeaderObject, { Accessor } from "../types/HeaderObject";
2
+ /**
3
+ * Creates a memoized O(1) lookup map for headers by accessor
4
+ * @param headers The headers array to create lookup from
5
+ * @returns Map of accessor to HeaderObject
6
+ */
7
+ declare const useHeaderLookup: (headers: HeaderObject[]) => Map<Accessor, HeaderObject>;
8
+ export default useHeaderLookup;
@@ -1,7 +1,7 @@
1
1
  import HeaderObject, { Accessor } from "../types/HeaderObject";
2
2
  import Row from "../types/Row";
3
3
  import SortColumn, { SortDirection } from "../types/SortColumn";
4
- declare const useSortableData: ({ headers, tableRows, externalSortHandling, onSortChange, rowGrouping, initialSortColumn, initialSortDirection, }: {
4
+ declare const useSortableData: ({ headers, tableRows, externalSortHandling, onSortChange, rowGrouping, initialSortColumn, initialSortDirection, announce, }: {
5
5
  headers: HeaderObject[];
6
6
  tableRows: Row[];
7
7
  externalSortHandling: boolean;
@@ -9,6 +9,7 @@ declare const useSortableData: ({ headers, tableRows, externalSortHandling, onSo
9
9
  rowGrouping?: string[] | undefined;
10
10
  initialSortColumn?: string | undefined;
11
11
  initialSortDirection?: SortDirection | undefined;
12
+ announce?: ((message: string) => void) | undefined;
12
13
  }) => {
13
14
  sort: SortColumn | null;
14
15
  sortedRows: Row[];
@@ -6,22 +6,27 @@ import TableRow from "../types/TableRow";
6
6
  import HeaderObject from "../types/HeaderObject";
7
7
  import { TableFilterState, FilterCondition } from "../types/FilterTypes";
8
8
  import { SortDirection } from "../types/SortColumn";
9
- declare const useTableAPI: ({ cellRegistryRef, clearAllFilters, clearFilter, currentPage, filters, flattenedRows, headerRegistryRef, headers, includeHeadersInCSVExport, rowIdAccessor, rowIndexMap, rows, rowsPerPage, serverSidePagination, setCurrentPage, setRows, shouldPaginate, sort, tableRef, updateFilter, updateSort, visibleRows, }: {
9
+ declare const useTableAPI: ({ cellRegistryRef, clearAllFilters, clearFilter, currentPage, expandedDepths, filters, flattenedRows, headerRegistryRef, headers, includeHeadersInCSVExport, rowGrouping, rowIdAccessor, rowIndexMap, rows, rowsPerPage, serverSidePagination, setCollapsedRows, setCurrentPage, setExpandedDepths, setExpandedRows, setRows, shouldPaginate, sort, tableRef, updateFilter, updateSort, visibleRows, }: {
10
10
  cellRegistryRef: MutableRefObject<Map<string, CellRegistryEntry>>;
11
11
  clearAllFilters: () => void;
12
12
  clearFilter: (accessor: Accessor) => void;
13
13
  currentPage: number;
14
+ expandedDepths: Set<number>;
14
15
  filters: TableFilterState;
15
16
  flattenedRows: TableRow[];
16
17
  headerRegistryRef: MutableRefObject<Map<string, HeaderRegistryEntry>>;
17
18
  headers: HeaderObject[];
18
19
  includeHeadersInCSVExport: boolean;
20
+ rowGrouping?: string[] | undefined;
19
21
  rowIdAccessor: Accessor;
20
22
  rowIndexMap: MutableRefObject<Map<string | number, number>>;
21
23
  rows: Row[];
22
24
  rowsPerPage: number;
23
25
  serverSidePagination: boolean;
26
+ setCollapsedRows: (rows: Map<string, number> | ((prev: Map<string, number>) => Map<string, number>)) => void;
24
27
  setCurrentPage: (page: number) => void;
28
+ setExpandedDepths: (depths: Set<number> | ((prev: Set<number>) => Set<number>)) => void;
29
+ setExpandedRows: (rows: Map<string, number> | ((prev: Map<string, number>) => Map<string, number>)) => void;
25
30
  setRows: (rows: Row[]) => void;
26
31
  shouldPaginate: boolean;
27
32
  sort: SortColumn | null;
@@ -9,6 +9,7 @@ interface UseTableDimensionsProps {
9
9
  interface UseTableDimensionsReturn {
10
10
  containerWidth: number;
11
11
  calculatedHeaderHeight: number;
12
+ maxHeaderDepth: number;
12
13
  }
13
14
  export declare const useTableDimensions: ({ effectiveHeaders, headerHeight, rowHeight, tableBodyContainerRef, }: UseTableDimensionsProps) => UseTableDimensionsReturn;
14
15
  export {};