react-open-source-grid 1.7.0 → 1.7.3
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/dist/assets/index-B400HUc-.css +1 -0
- package/dist/assets/{index-Ds2EPIvF.js → index-C0q2L2oR.js} +4 -4
- package/dist/assets/index.js +1 -1
- package/dist/assets/{layoutPersistence-CTemzqZG.js → layoutPersistence-DC8vyocg.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/lib/charts/rangeToChart.d.ts +6 -0
- package/dist/lib/components/DataGrid/types.d.ts +2 -0
- package/dist/lib/index.cjs +97 -34
- package/dist/lib/index.css +30 -0
- package/dist/lib/index.js +97 -34
- package/package.json +2 -2
- package/dist/assets/index-90D-dENa.css +0 -1
|
@@ -37,11 +37,11 @@ use chrome, FireFox or Internet Explorer 11`)}var a=e(`safe-buffer`),o=e(`random
|
|
|
37
37
|
`,n.NAME_START_CHAR=`:A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-`,n.NAME_CHAR=`-`+n.NAME_START_CHAR+`.0-9·̀-ͯ‿-⁀`,n.CHAR_RE=RegExp(`^[`+n.CHAR+`]$`,`u`),n.S_RE=RegExp(`^[`+n.S+`]+$`,`u`),n.NAME_START_CHAR_RE=RegExp(`^[`+n.NAME_START_CHAR+`]$`,`u`),n.NAME_CHAR_RE=RegExp(`^[`+n.NAME_CHAR+`]$`,`u`),n.NAME_RE=RegExp(`^[`+n.NAME_START_CHAR+`][`+n.NAME_CHAR+`]*$`,`u`),n.NMTOKEN_RE=RegExp(`^[`+n.NAME_CHAR+`]+$`,`u`);function r(e){return e>=65&&e<=90||e>=97&&e<=122||e===58||e===95||e===8204||e===8205||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}n.S_LIST=[32,10,13,9],n.isChar=function(e){return e>=32&&e<=55295||e===10||e===13||e===9||e>=57344&&e<=65533||e>=65536&&e<=1114111},n.isS=function(e){return e===32||e===10||e===13||e===9},n.isNameStartChar=r,n.isNameChar=function(e){return r(e)||e>=48&&e<=57||e===45||e===46||e===183||e>=768&&e<=879||e>=8255&&e<=8256}},{}],544:[function(e,t,n){Object.defineProperty(n,`__esModule`,{value:!0}),n.CHAR=`--�𐀀-`,n.RESTRICTED_CHAR=`-\b\v\f---`,n.S=` \r
|
|
38
38
|
`,n.NAME_START_CHAR=`:A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-`,n.NAME_CHAR=`-`+n.NAME_START_CHAR+`.0-9·̀-ͯ‿-⁀`,n.CHAR_RE=RegExp(`^[`+n.CHAR+`]$`,`u`),n.RESTRICTED_CHAR_RE=RegExp(`^[`+n.RESTRICTED_CHAR+`]$`,`u`),n.S_RE=RegExp(`^[`+n.S+`]+$`,`u`),n.NAME_START_CHAR_RE=RegExp(`^[`+n.NAME_START_CHAR+`]$`,`u`),n.NAME_CHAR_RE=RegExp(`^[`+n.NAME_CHAR+`]$`,`u`),n.NAME_RE=RegExp(`^[`+n.NAME_START_CHAR+`][`+n.NAME_CHAR+`]*$`,`u`),n.NMTOKEN_RE=RegExp(`^[`+n.NAME_CHAR+`]+$`,`u`);function r(e){return e>=65&&e<=90||e>=97&&e<=122||e===58||e===95||e===8204||e===8205||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}n.S_LIST=[32,10,13,9],n.isChar=function(e){return e>=1&&e<=55295||e>=57344&&e<=65533||e>=65536&&e<=1114111},n.isRestrictedChar=function(e){return e>=1&&e<=8||e===11||e===12||e>=14&&e<=31||e>=127&&e<=132||e>=134&&e<=159},n.isCharAndNotRestricted=function(e){return e===9||e===10||e===13||e>31&&e<127||e===133||e>159&&e<=55295||e>=57344&&e<=65533||e>=65536&&e<=1114111},n.isS=function(e){return e===32||e===10||e===13||e===9},n.isNameStartChar=r,n.isNameChar=function(e){return r(e)||e>=48&&e<=57||e===45||e===46||e===183||e>=768&&e<=879||e>=8255&&e<=8256}},{}],545:[function(e,t,n){function r(e){return e>=65&&e<=90||e===95||e>=97&&e<=122||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}Object.defineProperty(n,`__esModule`,{value:!0}),n.NC_NAME_START_CHAR=`A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ--⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-`,n.NC_NAME_CHAR=`-`+n.NC_NAME_START_CHAR+`.0-9·̀-ͯ‿-⁀`,n.NC_NAME_START_CHAR_RE=RegExp(`^[`+n.NC_NAME_START_CHAR+`]$`,`u`),n.NC_NAME_CHAR_RE=RegExp(`^[`+n.NC_NAME_CHAR+`]$`,`u`),n.NC_NAME_RE=RegExp(`^[`+n.NC_NAME_START_CHAR+`][`+n.NC_NAME_CHAR+`]*$`,`u`),n.isNCNameStartChar=r,n.isNCNameChar=function(e){return r(e)||e===45||e===46||e>=48&&e<=57||e===183||e>=768&&e<=879||e>=8255&&e<=8256}},{}]},{},[15])(15)}))}))(),1);const Un=(e,t,n=`export.csv`)=>{let r=t.map(e=>e.headerName),i=e.map(e=>t.map(t=>{let n=e[t.field];if(n==null)return``;let r=String(n);return r.includes(`,`)||r.includes(`
|
|
39
39
|
`)||r.includes(`"`)?`"${r.replace(/"/g,`""`)}"`:r}).join(`,`)),a=[r.join(`,`),...i].join(`
|
|
40
|
-
`);Kn(new Blob([a],{type:`text/csv;charset=utf-8;`}),n)},Wn=async(e,t,n={})=>{let{filename:r=`export.xlsx`,styling:i=`basic`}=n,a=new Hn.default.Workbook,o=a.addWorksheet(`Sheet1`),s=t.map(e=>e.headerName);o.addRow(s),e.forEach(e=>{let n=t.map(t=>e[t.field]??``);o.addRow(n)}),o.columns=t.map(t=>{let n=t.headerName.length,r=Math.max(...e.map(e=>String(e[t.field]??``).length)),i=Math.max(n,r)+2;return{width:Math.min(i,50)}}),i===`professional`&&Gn(o,t);let c=await a.xlsx.writeBuffer();Kn(new Blob([c],{type:`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`}),r)};var Gn=(e,t)=>{let n=e.getRow(1);n.font={bold:!0,color:{argb:`FFFFFFFF`},size:11},n.fill={type:`pattern`,pattern:`solid`,fgColor:{argb:`FF2F5496`}},n.alignment={horizontal:`center`,vertical:`middle`,wrapText:!0},n.height=20,e.eachRow((e,t)=>{e.eachCell(e=>{e.border={top:{style:`thin`,color:{argb:`FFD3D3D3`}},left:{style:`thin`,color:{argb:`FFD3D3D3`}},bottom:{style:`thin`,color:{argb:`FFD3D3D3`}},right:{style:`thin`,color:{argb:`FFD3D3D3`}}},t>1&&t%2==0&&(e.fill={type:`pattern`,pattern:`solid`,fgColor:{argb:`FFF2F2F2`}}),t>1&&(e.alignment={horizontal:`left`,vertical:`middle`})})}),e.views=[{state:`frozen`,ySplit:1}]},Kn=(e,t)=>{let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)};const qn=(e,t)=>{let n=new Date().toISOString().replace(/[:.]/g,`-`).slice(0,-5);return`data_export_${t===`all`?`full`:t}_${n}.${e}`},Jn=async(e,t,n)=>{if(e.length===0){alert(`No data to export`);return}let r=n.filename||qn(n.format,n.scope);n.format===`csv`?Un(e,t,r):n.format===`xlsx`&&await Wn(e,t,{filename:r,styling:n.styling})},Yn=({columns:e,fullDataset:t,filteredData:n,selectedRows:r,currentPageData:i,onExport:a})=>{let[o,s]=(0,b.useState)(!1),[c,l]=(0,b.useState)(`csv`),[u,d]=(0,b.useState)(`filtered`),[f,p]=(0,b.useState)(`basic`),[m,h]=(0,b.useState)(null),g=b.useRef(null),_=()=>{switch(u){case`all`:return t;case`filtered`:return n;case`selected`:return r.size>0?n.filter(e=>r.has(e.id)):[];case`page`:return i;default:return n}},v=()=>{let t=_();if(t.length===0){alert(`No ${u===`selected`?`selected`:u} data to export`);return}Jn(t,e,{format:c,scope:u,styling:c===`xlsx`?f:void 0}),a?.(!0),s(!1)},y=[{value:`all`,label:`Full Dataset`,disabled:!1},{value:`filtered`,label:`Filtered Data`,disabled:n.length===0},{value:`selected`,label:`Selected Rows (${r.size})`,disabled:r.size===0},{value:`page`,label:`Current Page`,disabled:i.length===0}];return(0,Y.jsxs)(`div`,{style:{position:`relative`},children:[(0,Y.jsxs)(`button`,{ref:g,onClick:()=>{if(!o){let e=g.current?.getBoundingClientRect();e&&h(e)}s(!o)},style:{padding:`8px 12px`,backgroundColor:`#2563eb`,color:`white`,borderRadius:`6px`,border:`none`,fontSize:`14px`,fontWeight:`500`,display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`,transition:`background-color 0.2s`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`#1d4ed8`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`#2563eb`},title:`Export data to CSV or XLSX format`,children:[(0,Y.jsx)(`svg`,{style:{width:`16px`,height:`16px`},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M12 19l9 2-9-18-9 18 9-2m0 0v-8m0 8l-6-4m6 4l6-4`})}),`Export`]}),o&&m&&(0,Y.jsxs)(`div`,{style:{position:`fixed`,left:`${m.left}px`,top:`${m.bottom+8}px`,backgroundColor:`#ffffff`,border:`1px solid #e5e7eb`,borderRadius:`8px`,boxShadow:`0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.05)`,zIndex:50,padding:`20px`,width:`420px`,minWidth:`420px`,maxWidth:`420px`,maxHeight:`90vh`,overflowY:`auto`},children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`20px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`14px`,fontWeight:`600`,color:`#1f2937`,marginBottom:`12px`},children:`Format`}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`16px`},children:[(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`},children:[(0,Y.jsx)(`input`,{type:`radio`,name:`format`,value:`csv`,checked:c===`csv`,onChange:e=>l(e.target.value),style:{width:`16px`,height:`16px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`14px`,color:`#374151`},children:`CSV`})]}),(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`},children:[(0,Y.jsx)(`input`,{type:`radio`,name:`format`,value:`xlsx`,checked:c===`xlsx`,onChange:e=>l(e.target.value),style:{width:`16px`,height:`16px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`14px`,color:`#374151`},children:`XLSX (Excel)`})]})]})]}),(0,Y.jsxs)(`div`,{style:{marginBottom:`20px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`14px`,fontWeight:`600`,color:`#1f2937`,marginBottom:`12px`},children:`Data Scope`}),(0,Y.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`10px`},children:y.map(e=>(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`10px`,padding:`10px 12px`,borderRadius:`6px`,cursor:e.disabled?`not-allowed`:`pointer`,opacity:e.disabled?.5:1,backgroundColor:`transparent`,transition:`background-color 0.15s`,userSelect:`none`},onMouseEnter:t=>{e.disabled||(t.currentTarget.style.backgroundColor=`#f3f4f6`)},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`transparent`},children:[(0,Y.jsx)(`input`,{type:`radio`,name:`scope`,value:e.value,checked:u===e.value,onChange:e=>d(e.target.value),disabled:e.disabled,style:{width:`16px`,height:`16px`,cursor:e.disabled?`not-allowed`:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`14px`,color:`#374151`},children:e.label})]},e.value))})]}),c===`xlsx`&&(0,Y.jsxs)(`div`,{style:{marginBottom:`20px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`14px`,fontWeight:`600`,color:`#1f2937`,marginBottom:`12px`},children:`Styling`}),(0,Y.jsx)(`div`,{style:{marginBottom:`10px`},children:(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`16px`},children:[(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`},children:[(0,Y.jsx)(`input`,{type:`radio`,name:`styling`,value:`basic`,checked:f===`basic`,onChange:e=>p(e.target.value),style:{width:`16px`,height:`16px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`14px`,color:`#374151`},children:`Basic`})]}),(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`},children:[(0,Y.jsx)(`input`,{type:`radio`,name:`styling`,value:`professional`,checked:f===`professional`,onChange:e=>p(e.target.value),style:{width:`16px`,height:`16px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`14px`,color:`#374151`},children:`Professional`})]})]})}),(0,Y.jsx)(`p`,{style:{fontSize:`12px`,color:`#6b7280`,margin:`0`},children:`Professional adds colors, borders, and frozen header row`})]}),(0,Y.jsxs)(`div`,{style:{backgroundColor:`#f3f4f6`,borderRadius:`6px`,padding:`12px`,marginBottom:`20px`,fontSize:`13px`,color:`#4b5563`},children:[(0,Y.jsxs)(`p`,{style:{margin:`6px 0`},children:[(0,Y.jsx)(`strong`,{children:`Data to export:`}),` `,_().length,` row(s)`]}),(0,Y.jsxs)(`p`,{style:{margin:`6px 0`},children:[(0,Y.jsx)(`strong`,{children:`Columns:`}),` `,e.length]})]}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`10px`,justifyContent:`flex-end`},children:[(0,Y.jsx)(`button`,{onClick:()=>s(!1),style:{padding:`10px 16px`,border:`1px solid #d1d5db`,color:`#374151`,backgroundColor:`#ffffff`,borderRadius:`6px`,fontSize:`14px`,fontWeight:`500`,cursor:`pointer`,transition:`background-color 0.2s`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`#f9fafb`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`#ffffff`},children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:v,disabled:_().length===0,style:{padding:`10px 16px`,backgroundColor:_().length===0?`#9ca3af`:`#2563eb`,color:`#ffffff`,borderRadius:`6px`,border:`none`,fontSize:`14px`,fontWeight:`500`,cursor:_().length===0?`not-allowed`:`pointer`,opacity:_().length===0?.6:1,transition:`background-color 0.2s`},onMouseEnter:e=>{_().length>0&&(e.currentTarget.style.backgroundColor=`#1d4ed8`)},onMouseLeave:e=>{_().length>0&&(e.currentTarget.style.backgroundColor=`#2563eb`)},children:`Export Now`})]})]}),o&&(0,Y.jsx)(`div`,{style:{position:`fixed`,inset:0,zIndex:40},onClick:()=>s(!1)})]})};var Xn=e=>{if(e.filterType)return e.filterType===`multi`?`set`:e.filterType;let t=e.field.toLowerCase();return t.includes(`date`)||t.includes(`time`)?`date`:t.includes(`salary`)||t.includes(`price`)||t.includes(`amount`)||t.includes(`count`)?`number`:t.includes(`status`)||t.includes(`department`)||t.includes(`category`)?`set`:`text`},Zn=e=>{switch(e){case`text`:return[{value:`contains`,label:`Contains`},{value:`notContains`,label:`Not Contains`},{value:`equals`,label:`Equals`},{value:`notEquals`,label:`Not Equals`},{value:`startsWith`,label:`Starts With`},{value:`endsWith`,label:`Ends With`},{value:`isEmpty`,label:`Is Empty`},{value:`isNotEmpty`,label:`Is Not Empty`}];case`number`:return[{value:`equals`,label:`Equals`},{value:`notEquals`,label:`Not Equals`},{value:`greaterThan`,label:`Greater Than`},{value:`greaterThanOrEqual`,label:`Greater Than or Equal`},{value:`lessThan`,label:`Less Than`},{value:`lessThanOrEqual`,label:`Less Than or Equal`},{value:`inRange`,label:`In Range`},{value:`isEmpty`,label:`Is Empty`},{value:`isNotEmpty`,label:`Is Not Empty`}];case`date`:return[{value:`equals`,label:`Equals`},{value:`before`,label:`Before`},{value:`after`,label:`After`},{value:`inRange`,label:`In Range`},{value:`isEmpty`,label:`Is Empty`},{value:`isNotEmpty`,label:`Is Not Empty`}];case`set`:return[{value:`in`,label:`In`},{value:`notIn`,label:`Not In`}];default:return[]}},Qn=e=>![`isEmpty`,`isNotEmpty`].includes(e),$n=e=>e===`inRange`,er=e=>[`in`,`notIn`].includes(e);const tr=({column:e,filterValue:t,onApply:n,onClose:r,rows:i,anchorEl:a})=>{let o=Xn(e),s=Zn(o),c=t?.conditions||[{type:s[0]?.value||`contains`,value:``,value2:``,values:[]}],[l,u]=(0,b.useState)(t?.operator||`AND`),[d,f]=(0,b.useState)(c),[p,m]=(0,b.useState)({}),h=o===`set`?Array.from(new Set(i.map(t=>t[e.field]).filter(e=>e!=null))):[],g=()=>{f([...d,{type:s[0]?.value||`contains`,value:``,value2:``,values:[]}])},_=e=>{if(d.length>1){f(d.filter((t,n)=>n!==e));let t={...p};delete t[e],m(t)}},v=(e,t)=>{f(d.map((n,r)=>r===e?{...n,...t}:n))},y=(e,t)=>{m({...p,[e]:t})},x=()=>{let e=d.filter(e=>Qn(e.type)?er(e.type)?e.values&&e.values.length>0:$n(e.type)?e.value!=null&&e.value!==``&&e.value2!=null&&e.value2!==``:e.value!=null&&e.value!==``:!0);e.length===0?n(null):n({operator:l,conditions:e}),r()},S=()=>{f([{type:s[0]?.value||`contains`,value:``,value2:``,values:[]}]),m({}),n(null)},C=()=>{f([{type:s[0]?.value||`contains`,value:``,value2:``,values:[]}]),u(`AND`),m({})},w=(e,t)=>{if(er(e.type)){let n=new Set(e.values||[]),r=p[t]?.searchTerm||``,i=h.filter(e=>String(e).toLowerCase().includes(r.toLowerCase())),a=e=>{let r=new Set(n);r.has(e)?r.delete(e):r.add(e),v(t,{values:Array.from(r)})};return(0,Y.jsxs)(`div`,{style:{marginTop:`8px`},children:[(0,Y.jsx)(`input`,{type:`text`,style:{width:`100%`,padding:`6px 10px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,fontSize:`var(--grid-font-size-sm, 12px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`,marginBottom:`8px`},value:r,onChange:e=>y(t,{searchTerm:e.target.value}),placeholder:`Search values...`}),(0,Y.jsxs)(`div`,{style:{maxHeight:`150px`,overflowY:`auto`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,padding:`4px`},children:[(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`6px`,cursor:`pointer`,padding:`4px 6px`,fontSize:`var(--grid-font-size-sm, 12px)`},children:[(0,Y.jsx)(`input`,{type:`checkbox`,checked:n.size===i.length&&i.length>0,onChange:()=>{n.size===i.length?v(t,{values:[]}):v(t,{values:i})},style:{width:`14px`,height:`14px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontWeight:500,color:`var(--grid-text)`},children:`(Select All)`})]}),i.map((e,t)=>(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`6px`,cursor:`pointer`,padding:`4px 6px`,fontSize:`var(--grid-font-size-sm, 12px)`},children:[(0,Y.jsx)(`input`,{type:`checkbox`,checked:n.has(e),onChange:()=>a(e),style:{width:`14px`,height:`14px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{color:`var(--grid-text)`},children:String(e)})]},t))]}),n.size>0&&(0,Y.jsxs)(`div`,{style:{marginTop:`6px`,fontSize:`var(--grid-font-size-sm, 12px)`,color:`var(--grid-primary)`,fontWeight:500},children:[n.size,` selected`]})]})}return Qn(e.type)?$n(e.type)?(0,Y.jsxs)(`div`,{style:{marginTop:`8px`,display:`flex`,gap:`8px`,alignItems:`center`},children:[(0,Y.jsx)(`input`,{type:o===`date`?`date`:o===`number`?`number`:`text`,style:{flex:1,padding:`6px 10px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,fontSize:`var(--grid-font-size-sm, 12px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:e.value||``,onChange:e=>v(t,{value:e.target.value}),placeholder:`From`}),(0,Y.jsx)(`span`,{style:{color:`var(--grid-text-secondary)`,fontSize:`var(--grid-font-size-sm, 12px)`},children:`to`}),(0,Y.jsx)(`input`,{type:o===`date`?`date`:o===`number`?`number`:`text`,style:{flex:1,padding:`6px 10px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,fontSize:`var(--grid-font-size-sm, 12px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:e.value2||``,onChange:e=>v(t,{value2:e.target.value}),placeholder:`To`})]}):(0,Y.jsx)(`div`,{style:{marginTop:`8px`},children:(0,Y.jsx)(`input`,{type:o===`date`?`date`:o===`number`?`number`:`text`,style:{width:`100%`,padding:`6px 10px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,fontSize:`var(--grid-font-size-sm, 12px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:e.value||``,onChange:e=>v(t,{value:e.target.value}),placeholder:`Enter ${o}...`})}):null};return(0,Y.jsxs)(`div`,{style:{position:`fixed`,top:a?a.getBoundingClientRect().bottom+5:0,left:a?a.getBoundingClientRect().left:0,minWidth:`380px`,maxWidth:`450px`,maxHeight:`600px`,backgroundColor:`var(--grid-bg)`,boxShadow:`0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.1)`,borderRadius:`var(--grid-border-radius, 8px)`,border:`1px solid var(--grid-border)`,padding:`16px`,zIndex:1001,display:`flex`,flexDirection:`column`,overflowY:`auto`},onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`16px`,paddingBottom:`12px`,borderBottom:`1px solid var(--grid-border)`},children:[(0,Y.jsxs)(`h4`,{style:{margin:0,fontSize:`var(--grid-font-size, 14px)`,fontWeight:600,color:`var(--grid-text)`},children:[`Advanced Filter: `,e.headerName]}),(0,Y.jsx)(`p`,{style:{margin:`4px 0 0 0`,fontSize:`var(--grid-font-size-sm, 12px)`,color:`var(--grid-text-secondary)`},children:`Add multiple conditions with AND/OR logic`})]}),d.length>1&&(0,Y.jsxs)(`div`,{style:{marginBottom:`16px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`6px`},children:`Combine Conditions`}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`8px`},children:[(0,Y.jsx)(`button`,{style:{flex:1,padding:`6px 12px`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:l===`AND`?`var(--grid-text-inverse)`:`var(--grid-text)`,backgroundColor:l===`AND`?`var(--grid-primary)`:`var(--grid-bg-alt)`,border:l===`AND`?`none`:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`,transition:`all 0.15s`},onClick:()=>u(`AND`),children:`AND`}),(0,Y.jsx)(`button`,{style:{flex:1,padding:`6px 12px`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:l===`OR`?`var(--grid-text-inverse)`:`var(--grid-text)`,backgroundColor:l===`OR`?`var(--grid-primary)`:`var(--grid-bg-alt)`,border:l===`OR`?`none`:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`,transition:`all 0.15s`},onClick:()=>u(`OR`),children:`OR`})]})]}),(0,Y.jsx)(`div`,{style:{flex:1,overflowY:`auto`,marginBottom:`12px`},children:d.map((e,t)=>(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`,padding:`12px`,backgroundColor:`var(--grid-bg-alt)`,borderRadius:`var(--grid-border-radius, 6px)`,border:`1px solid var(--grid-border)`},children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:`8px`},children:[(0,Y.jsxs)(`label`,{style:{fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:`var(--grid-text)`},children:[`Condition `,t+1]}),d.length>1&&(0,Y.jsx)(`button`,{style:{padding:`2px 8px`,fontSize:`var(--grid-font-size-sm, 12px)`,color:`var(--grid-danger, #dc2626)`,backgroundColor:`transparent`,border:`none`,cursor:`pointer`,borderRadius:`var(--grid-border-radius, 4px)`},onClick:()=>_(t),onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-danger-bg, rgba(220, 38, 38, 0.1))`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`transparent`,title:`Remove condition`,children:`✕`})]}),(0,Y.jsx)(`select`,{style:{width:`100%`,padding:`6px 10px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,fontSize:`var(--grid-font-size-sm, 12px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:e.type,onChange:e=>v(t,{type:e.target.value,value:``,value2:``,values:[]}),children:s.map(e=>(0,Y.jsx)(`option`,{value:e.value,children:e.label},e.value))}),w(e,t),t<d.length-1&&d.length>1&&(0,Y.jsx)(`div`,{style:{marginTop:`12px`,padding:`4px 8px`,textAlign:`center`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:600,color:`var(--grid-primary)`,backgroundColor:`var(--grid-primary-bg)`,borderRadius:`var(--grid-border-radius, 4px)`},children:l})]},t))}),(0,Y.jsx)(`button`,{style:{width:`100%`,padding:`8px 12px`,marginBottom:`12px`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:`var(--grid-primary)`,backgroundColor:`var(--grid-primary-bg)`,border:`1px dashed var(--grid-primary)`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`,transition:`all 0.15s`},onClick:g,onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-hover-bg)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-bg)`,children:`+ Add Condition`}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`8px`,paddingTop:`12px`,borderTop:`1px solid var(--grid-border)`},children:[(0,Y.jsx)(`button`,{style:{flex:1,padding:`8px 12px`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:`var(--grid-text)`,backgroundColor:`var(--grid-bg-alt)`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`,transition:`all 0.15s`},onClick:C,onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-bg-alt)`,children:`Reset`}),(0,Y.jsx)(`button`,{style:{flex:1,padding:`8px 12px`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:`var(--grid-text)`,backgroundColor:`var(--grid-bg-alt)`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`,transition:`all 0.15s`},onClick:S,onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-bg-alt)`,children:`Clear`}),(0,Y.jsx)(`button`,{style:{flex:1,padding:`8px 12px`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:`var(--grid-text-inverse)`,backgroundColor:`var(--grid-primary)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`,transition:`all 0.15s`},onClick:x,onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary)`,children:`Apply`})]})]})};var nr=e=>e!=null&&`operator`in e&&`conditions`in e,rr=({filterValue:e,onApplyFilter:t,onClose:n,anchorEl:r,showAdvancedButton:i,onSwitchToAdvanced:a})=>{let o=nr(e)?null:e,s=o?.type||`contains`,c=o?.value||``,[l,u]=(0,b.useState)(s),[d,f]=(0,b.useState)(c);return(0,Y.jsxs)(`div`,{style:{position:`fixed`,top:r?r.getBoundingClientRect().bottom+5:0,left:r?r.getBoundingClientRect().left:0,minWidth:`280px`,backgroundColor:`var(--grid-bg)`,boxShadow:`var(--grid-shadow-medium, 0 10px 15px -3px rgba(0, 0, 0, 0.1))`,borderRadius:`var(--grid-border-radius, 8px)`,border:`var(--grid-border-width, 1px) solid var(--grid-border)`,padding:`16px`,zIndex:1e3},onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`Filter Type`}),(0,Y.jsxs)(`select`,{style:{width:`100%`,padding:`8px 12px`,border:`var(--grid-border-width, 1px) solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:l,onChange:e=>u(e.target.value),children:[(0,Y.jsx)(`option`,{value:`contains`,children:`Contains`}),(0,Y.jsx)(`option`,{value:`notContains`,children:`Not Contains`}),(0,Y.jsx)(`option`,{value:`equals`,children:`Equals`}),(0,Y.jsx)(`option`,{value:`startsWith`,children:`Starts With`}),(0,Y.jsx)(`option`,{value:`endsWith`,children:`Ends With`})]})]}),(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`Value`}),(0,Y.jsx)(`input`,{type:`text`,style:{width:`100%`,padding:`8px 12px`,border:`var(--grid-border-width, 1px) solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:d,onChange:e=>f(e.target.value),placeholder:`Enter text...`,autoFocus:!0})]}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`8px`,justifyContent:`flex-end`},children:[(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text)`,backgroundColor:`var(--grid-bg-alt)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{f(``),t(null),n()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-bg-alt)`,children:`Clear`}),(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text-inverse)`,backgroundColor:`var(--grid-primary)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{t(d?{type:l,value:d}:null),n()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary)`,children:`Apply`})]})]})},ir=({filterValue:e,onApplyFilter:t,onClose:n,anchorEl:r,showAdvancedButton:i,onSwitchToAdvanced:a})=>{let o=nr(e)?null:e,s=o?.type||`equals`,c=o?.value||``,l=o?.value2||``,[u,d]=(0,b.useState)(s),[f,p]=(0,b.useState)(c),[m,h]=(0,b.useState)(l);return(0,Y.jsxs)(`div`,{style:{position:`fixed`,top:r?r.getBoundingClientRect().bottom+5:0,left:r?r.getBoundingClientRect().left:0,minWidth:`280px`,backgroundColor:`var(--grid-bg)`,boxShadow:`var(--grid-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05))`,borderRadius:`var(--grid-border-radius, 8px)`,border:`1px solid var(--grid-border)`,padding:`16px`,zIndex:1e3},onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`Filter Type`}),(0,Y.jsxs)(`select`,{style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:u,onChange:e=>d(e.target.value),children:[(0,Y.jsx)(`option`,{value:`equals`,children:`Equals`}),(0,Y.jsx)(`option`,{value:`notEquals`,children:`Not Equals`}),(0,Y.jsx)(`option`,{value:`greaterThan`,children:`Greater Than`}),(0,Y.jsx)(`option`,{value:`greaterThanOrEqual`,children:`Greater Than or Equal`}),(0,Y.jsx)(`option`,{value:`lessThan`,children:`Less Than`}),(0,Y.jsx)(`option`,{value:`lessThanOrEqual`,children:`Less Than or Equal`}),(0,Y.jsx)(`option`,{value:`inRange`,children:`In Range`})]})]}),(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`Value`}),(0,Y.jsx)(`input`,{type:`number`,style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:f,onChange:e=>p(e.target.value),placeholder:`Enter number...`,autoFocus:!0})]}),u===`inRange`&&(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`To`}),(0,Y.jsx)(`input`,{type:`number`,style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:m,onChange:e=>h(e.target.value),placeholder:`Enter max value...`})]}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`8px`,justifyContent:`flex-end`},children:[(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text)`,backgroundColor:`var(--grid-bg-alt)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{p(``),h(``),t(null),n()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-bg-alt)`,children:`Clear`}),(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text-inverse)`,backgroundColor:`var(--grid-primary)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{if(f){let e={type:u,value:parseFloat(f)};u===`inRange`&&m&&(e.value2=parseFloat(m)),t(e)}else t(null);n()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary)`,children:`Apply`})]})]})},ar=({filterValue:e,onApplyFilter:t,onClose:n,anchorEl:r,showAdvancedButton:i,onSwitchToAdvanced:a})=>{let o=nr(e)?null:e,s=o?.type||`equals`,c=o?.value||``,l=o?.value2||``,[u,d]=(0,b.useState)(s),[f,p]=(0,b.useState)(c),[m,h]=(0,b.useState)(l);return(0,Y.jsxs)(`div`,{style:{position:`fixed`,top:r?r.getBoundingClientRect().bottom+5:0,left:r?r.getBoundingClientRect().left:0,minWidth:`280px`,backgroundColor:`var(--grid-bg)`,boxShadow:`var(--grid-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05))`,borderRadius:`var(--grid-border-radius, 8px)`,border:`1px solid var(--grid-border)`,padding:`16px`,zIndex:1e3},onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`Filter Type`}),(0,Y.jsxs)(`select`,{style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:u,onChange:e=>d(e.target.value),children:[(0,Y.jsx)(`option`,{value:`equals`,children:`Equals`}),(0,Y.jsx)(`option`,{value:`before`,children:`Before`}),(0,Y.jsx)(`option`,{value:`after`,children:`After`}),(0,Y.jsx)(`option`,{value:`inRange`,children:`In Range`})]})]}),(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`Date`}),(0,Y.jsx)(`input`,{type:`date`,style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:f,onChange:e=>p(e.target.value),autoFocus:!0})]}),u===`inRange`&&(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`To`}),(0,Y.jsx)(`input`,{type:`date`,style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:m,onChange:e=>h(e.target.value)})]}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`8px`,justifyContent:`flex-end`},children:[(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text)`,backgroundColor:`var(--grid-bg-alt)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{p(``),h(``),t(null),n()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-bg-alt)`,children:`Clear`}),(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text-inverse)`,backgroundColor:`var(--grid-primary)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{if(f){let e={type:u,value:f};u===`inRange`&&m&&(e.value2=m),t(e)}else t(null);n()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary)`,children:`Apply`})]})]})},or=({column:e,filterValue:t,onApplyFilter:n,onClose:r,rows:i,anchorEl:a,showAdvancedButton:o,onSwitchToAdvanced:s})=>{let c=Array.from(new Set(i.map(t=>t[e.field]).filter(e=>e!=null))),l=nr(t)?null:t,[u,d]=(0,b.useState)(l&&l.values?new Set(l.values):new Set),[f,p]=(0,b.useState)(``),m=c.filter(e=>String(e).toLowerCase().includes(f.toLowerCase())),h=e=>{let t=new Set(u);t.has(e)?t.delete(e):t.add(e),d(t)};return(0,Y.jsxs)(`div`,{style:{position:`fixed`,top:a?a.getBoundingClientRect().bottom+5:0,left:a?a.getBoundingClientRect().left:0,minWidth:`280px`,maxHeight:`400px`,backgroundColor:`var(--grid-bg)`,boxShadow:`var(--grid-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05))`,borderRadius:`var(--grid-border-radius, 8px)`,border:`1px solid var(--grid-border)`,padding:`16px`,zIndex:1e3,display:`flex`,flexDirection:`column`},onClick:e=>e.stopPropagation(),children:[(0,Y.jsx)(`div`,{style:{marginBottom:`12px`},children:(0,Y.jsx)(`input`,{type:`text`,style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:f,onChange:e=>p(e.target.value),placeholder:`Search values...`,autoFocus:!0})}),(0,Y.jsx)(`div`,{style:{marginBottom:`8px`},children:(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`,padding:`8px`,borderRadius:`4px`},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`transparent`,children:[(0,Y.jsx)(`input`,{type:`checkbox`,checked:u.size===m.length&&m.length>0,onChange:()=>{u.size===m.length?d(new Set):d(new Set(m))},style:{width:`16px`,height:`16px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`},children:`(Select All)`})]})}),(0,Y.jsx)(`div`,{style:{flex:1,overflowY:`auto`,marginBottom:`12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,maxHeight:`200px`},children:m.map((e,t)=>(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`,padding:`8px`},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`transparent`,children:[(0,Y.jsx)(`input`,{type:`checkbox`,checked:u.has(e),onChange:()=>h(e),style:{width:`16px`,height:`16px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text)`},children:String(e)})]},t))}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`8px`,justifyContent:`flex-end`,paddingTop:`8px`,borderTop:`1px solid var(--grid-border)`},children:[(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text)`,backgroundColor:`var(--grid-bg-alt)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{d(new Set),n(null),r()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-bg-alt)`,children:`Clear`}),(0,Y.jsxs)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text-inverse)`,backgroundColor:`var(--grid-primary)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{u.size>0?n({type:`set`,values:Array.from(u)}):n(null),r()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary)`,children:[`Apply (`,u.size,`)`]})]})]})},sr=({column:e,filterValue:t,onApplyFilter:n,onClose:r,rows:i,anchorEl:a})=>(0,Y.jsx)(or,{column:e,filterValue:t,onApplyFilter:n,onClose:r,rows:i,anchorEl:a});const cr=({columns:e,displayColumnOrder:t,columnWidths:n,filterConfig:r,dispatch:i,pinnedLeft:a,pinnedRight:o,rows:s})=>{let[c,l]=(0,b.useState)(null),[u,d]=(0,b.useState)({}),[f,p]=(0,b.useState)(null),m=new Set(a),h=new Set(o),g={},_=0;a.forEach(e=>{g[e]=_,_+=n[e]||150});let v={},y=0;[...o].reverse().forEach(e=>{v[e]=y,y+=n[e]||150});let x=new Map(e.map(e=>[e.field,e])),S=e=>{let t={width:`${n[e]||150}px`};return m.has(e)?(t.position=`sticky`,t.left=`${g[e]}px`,t.zIndex=20,t.backgroundColor=`var(--grid-header-bg)`):h.has(e)&&(t.position=`sticky`,t.right=`${v[e]}px`,t.zIndex=20,t.backgroundColor=`var(--grid-header-bg)`),t},C=e=>{if(e.filterType)return e.filterType;let t=e.field.toLowerCase();return t.includes(`date`)||t.includes(`time`)?`date`:t.includes(`salary`)||t.includes(`price`)||t.includes(`amount`)||t.includes(`count`)?`number`:t.includes(`status`)||t.includes(`department`)||t.includes(`category`)?`set`:`text`},w=(e,t)=>{t.stopPropagation();let n=r[e];nr(n)||t.shiftKey?(d({...u,[e]:t.currentTarget}),p(e),l(null)):(d({...u,[e]:t.currentTarget}),l(e),p(null))},T=()=>{l(null),p(null)},E=(e,t)=>{i({type:`SET_FILTER`,payload:{field:e,value:t}})},D=e=>{l(null),p(e)};(0,b.useEffect)(()=>{let e=()=>{c&&l(null)};if(c)return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)},[c]);let O=e=>{let t=C(e),n={column:e,filterValue:r[e.field],onApplyFilter:t=>E(e.field,t),onClose:T,rows:s,anchorEl:u[e.field],showAdvancedButton:!0,onSwitchToAdvanced:()=>D(e.field)};switch(t){case`number`:return(0,Y.jsx)(ir,{...n});case`date`:return(0,Y.jsx)(ar,{...n});case`set`:return(0,Y.jsx)(or,{...n});case`multi`:return(0,Y.jsx)(sr,{...n});default:return(0,Y.jsx)(rr,{...n})}},k=e=>{let t=r[e.field],n=u[e.field];return(0,Y.jsx)(tr,{column:e,filterValue:nr(t)?t:null,onApply:t=>E(e.field,t),onClose:T,rows:s,anchorEl:n})},A=e=>{let t=r[e];if(!t)return``;if(nr(t)){let e=t.conditions.length;return`${e} condition${e>1?`s`:``} (${t.operator})`}return t.type===`set`&&t.values?`${t.values.length} selected`:t.type===`inRange`?`${t.value} - ${t.value2}`:String(t.value||``)},j=e=>!!r[e];return(0,Y.jsx)(Y.Fragment,{children:(0,Y.jsx)(`div`,{style:{display:`flex`,minWidth:`100%`,borderBottom:`1px solid var(--grid-border)`,backgroundColor:`var(--grid-header-bg)`},children:t.map(e=>{let t=x.get(e);if(!t||t.filterable===!1)return(0,Y.jsx)(`div`,{style:{...S(e),borderRight:`1px solid var(--grid-border)`,flexShrink:0,minHeight:`38px`}},e);let n=j(e);return(0,Y.jsxs)(`div`,{style:{...S(e),borderRight:`1px solid var(--grid-border)`,flexShrink:0,padding:`6px 8px`,position:`relative`,display:`flex`,alignItems:`center`},children:[(0,Y.jsx)(`div`,{style:{width:`100%`,cursor:`pointer`},onClick:t=>w(e,t),title:`Click to filter, Shift+Click for advanced filter`,children:(0,Y.jsxs)(`div`,{style:{width:`100%`,padding:`4px 8px`,fontSize:`var(--grid-font-size-sm, 12px)`,border:`1px solid`,borderColor:n?`var(--grid-primary)`:`var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,backgroundColor:n?`var(--grid-primary-bg)`:`var(--grid-bg)`,color:n?`var(--grid-primary)`:`var(--grid-text-secondary)`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`6px`,transition:`border-color 0.15s`},onMouseEnter:e=>{n||(e.currentTarget.style.borderColor=`var(--grid-border-hover)`)},onMouseLeave:e=>{n||(e.currentTarget.style.borderColor=`var(--grid-border)`)},children:[(0,Y.jsx)(`span`,{style:{flex:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:n?A(e):`Filter...`}),(0,Y.jsx)(`svg`,{style:{flexShrink:0,color:n?`var(--grid-primary)`:`var(--grid-text-muted)`},width:`12`,height:`12`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,strokeWidth:`2.5`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M3 4h18v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V20l-4-2v-3.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z`})})]})}),c===e&&O(t),f===e&&k(t)]},e)})})})},lr=({manager:e,currentLayout:t,onLoadPreset:n,onResetLayout:r})=>{let[i,a]=(0,b.useState)([]),[o,s]=(0,b.useState)(!1),[c,l]=(0,b.useState)(!1),[u,d]=(0,b.useState)(``),[f,p]=(0,b.useState)(``),[m,h]=(0,b.useState)(!1),[g,_]=(0,b.useState)(null),v=(0,b.useCallback)(async()=>{try{h(!0),a((await e.listPresets()).filter(e=>e.id!==`__autosave__`)),_(null)}catch(e){_(`Failed to load presets`),console.error(e)}finally{h(!1)}},[e]);(0,b.useEffect)(()=>{v()},[v]);let y=async()=>{if(!u.trim()){_(`Please enter a preset name`);return}try{h(!0);let{createPreset:n}=await w(async()=>{let{createPreset:e}=await import(`./layoutPersistence-CTemzqZG.js`);return{createPreset:e}},[]),r=n(u.trim(),t,f.trim());await e.savePreset(r),await v(),l(!1),d(``),p(``),_(null)}catch(e){_(`Failed to save preset`),console.error(e)}finally{h(!1)}},x=async t=>{try{h(!0);let r=await e.loadPreset(t);r&&(n(r.layout),s(!1),_(null))}catch(e){_(`Failed to load preset`),console.error(e)}finally{h(!1)}},S=async(t,n)=>{if(n.stopPropagation(),confirm(`Are you sure you want to delete this preset?`))try{h(!0),await e.deletePreset(t),await v(),_(null)}catch(e){_(`Failed to delete preset`),console.error(e)}finally{h(!1)}},C=async(n,r)=>{if(r.stopPropagation(),confirm(`Update this preset with current layout?`))try{h(!0);let r={...n,layout:t};await e.savePreset(r),await v(),_(null)}catch(e){_(`Failed to update preset`),console.error(e)}finally{h(!1)}},T=e=>new Date(e).toLocaleString();return(0,Y.jsxs)(`div`,{className:`relative inline-block`,children:[(0,Y.jsxs)(`button`,{onClick:()=>s(!o),style:{padding:`6px 12px`,fontSize:`14px`,backgroundColor:`white`,border:`1px solid #d1d5db`,borderRadius:`4px`,cursor:`pointer`,display:`flex`,alignItems:`center`,gap:`8px`},disabled:m,children:[(0,Y.jsx)(`svg`,{style:{width:`14px`,height:`14px`,flexShrink:0},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M4 7h16M4 12h16M4 17h16`})}),`Layout Presets`,(0,Y.jsx)(`svg`,{style:{width:`14px`,height:`14px`,flexShrink:0,transform:o?`rotate(180deg)`:`rotate(0deg)`,transition:`transform 0.2s`},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M19 9l-7 7-7-7`})})]}),o&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{style:{position:`fixed`,inset:0,zIndex:10},onClick:()=>s(!1)}),(0,Y.jsxs)(`div`,{style:{position:`absolute`,right:0,marginTop:`8px`,width:`320px`,backgroundColor:`white`,border:`1px solid #d1d5db`,borderRadius:`8px`,boxShadow:`0 10px 15px -3px rgba(0, 0, 0, 0.1)`,zIndex:20,maxHeight:`384px`,overflowY:`auto`},children:[(0,Y.jsx)(`div`,{style:{padding:`12px`,borderBottom:`1px solid #e5e7eb`,backgroundColor:`#f9fafb`},children:(0,Y.jsx)(`h3`,{style:{fontWeight:`600`,fontSize:`14px`,color:`#111827`},children:`Layout Presets`})}),g&&(0,Y.jsx)(`div`,{style:{padding:`12px`,backgroundColor:`#fef2f2`,borderBottom:`1px solid #fecaca`},children:(0,Y.jsx)(`p`,{style:{fontSize:`14px`,color:`#dc2626`},children:g})}),(0,Y.jsxs)(`div`,{style:{padding:`8px`,borderBottom:`1px solid #e5e7eb`,display:`flex`,gap:`8px`},children:[(0,Y.jsxs)(`button`,{onClick:()=>{l(!0),s(!1)},style:{flex:1,padding:`8px 12px`,fontSize:`14px`,backgroundColor:`#2563eb`,color:`white`,border:`none`,borderRadius:`4px`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:`8px`},children:[(0,Y.jsx)(`svg`,{style:{width:`14px`,height:`14px`,flexShrink:0},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4`})}),`Save Current`]}),(0,Y.jsxs)(`button`,{onClick:()=>{r(),s(!1)},style:{flex:1,padding:`8px 12px`,fontSize:`14px`,backgroundColor:`#4b5563`,color:`white`,border:`none`,borderRadius:`4px`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:`8px`},children:[(0,Y.jsx)(`svg`,{style:{width:`14px`,height:`14px`,flexShrink:0},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15`})}),`Reset`]})]}),(0,Y.jsx)(`div`,{style:{maxHeight:`256px`,overflowY:`auto`},children:m&&i.length===0?(0,Y.jsx)(`div`,{style:{padding:`16px`,textAlign:`center`,color:`#6b7280`,fontSize:`14px`},children:`Loading presets...`}):i.length===0?(0,Y.jsx)(`div`,{style:{padding:`16px`,textAlign:`center`,color:`#6b7280`,fontSize:`14px`},children:`No saved presets. Save your current layout to get started.`}):(0,Y.jsx)(`div`,{children:i.map(e=>(0,Y.jsx)(`div`,{style:{padding:`12px`,cursor:`pointer`,borderBottom:`1px solid #e5e7eb`},onClick:()=>x(e.id),onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`#f9fafb`;let t=e.currentTarget.querySelector(`.preset-actions`);t&&(t.style.opacity=`1`)},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`transparent`;let t=e.currentTarget.querySelector(`.preset-actions`);t&&(t.style.opacity=`0`)},children:(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`flex-start`,justifyContent:`space-between`},children:[(0,Y.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,Y.jsx)(`h4`,{style:{fontSize:`14px`,fontWeight:`500`,color:`#111827`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name}),e.description&&(0,Y.jsx)(`p`,{style:{fontSize:`12px`,color:`#6b7280`,marginTop:`4px`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.description}),(0,Y.jsxs)(`p`,{style:{fontSize:`12px`,color:`#9ca3af`,marginTop:`4px`},children:[`Updated: `,T(e.updatedAt)]})]}),(0,Y.jsxs)(`div`,{className:`preset-actions`,style:{display:`flex`,gap:`4px`,marginLeft:`8px`,opacity:0,transition:`opacity 0.2s`},children:[(0,Y.jsx)(`button`,{onClick:t=>C(e,t),style:{padding:`4px`,color:`#2563eb`,backgroundColor:`transparent`,border:`none`,borderRadius:`4px`,cursor:`pointer`},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`#eff6ff`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`transparent`,title:`Update with current layout`,children:(0,Y.jsx)(`svg`,{style:{width:`14px`,height:`14px`},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15`})})}),(0,Y.jsx)(`button`,{onClick:t=>S(e.id,t),style:{padding:`4px`,color:`#dc2626`,backgroundColor:`transparent`,border:`none`,borderRadius:`4px`,cursor:`pointer`},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`#fef2f2`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`transparent`,title:`Delete preset`,children:(0,Y.jsx)(`svg`,{style:{width:`14px`,height:`14px`},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})})})]})]})},e.id))})})]})]}),c&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{style:{position:`fixed`,inset:0,backgroundColor:`rgba(0, 0, 0, 0.5)`,zIndex:30,display:`flex`,alignItems:`center`,justifyContent:`center`},onClick:()=>l(!1)}),(0,Y.jsx)(`div`,{style:{position:`fixed`,inset:0,zIndex:40,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`16px`},children:(0,Y.jsxs)(`div`,{style:{backgroundColor:`white`,borderRadius:`8px`,boxShadow:`0 25px 50px -12px rgba(0, 0, 0, 0.25)`,maxWidth:`448px`,width:`100%`,padding:`24px`},onClick:e=>e.stopPropagation(),children:[(0,Y.jsx)(`h2`,{style:{fontSize:`20px`,fontWeight:`600`,marginBottom:`16px`},children:`Save Layout Preset`}),g&&(0,Y.jsx)(`div`,{style:{marginBottom:`16px`,padding:`12px`,backgroundColor:`#fef2f2`,border:`1px solid #fecaca`,borderRadius:`4px`},children:(0,Y.jsx)(`p`,{style:{fontSize:`14px`,color:`#dc2626`},children:g})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`16px`},children:[(0,Y.jsx)(`label`,{htmlFor:`preset-name`,style:{display:`block`,fontSize:`14px`,fontWeight:`500`,color:`#374151`,marginBottom:`4px`},children:`Preset Name *`}),(0,Y.jsx)(`input`,{id:`preset-name`,type:`text`,value:u,onChange:e=>d(e.target.value),style:{width:`100%`,padding:`8px 12px`,border:`1px solid #d1d5db`,borderRadius:`4px`,fontSize:`14px`},placeholder:`e.g., Sales Dashboard Layout`,autoFocus:!0})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{htmlFor:`preset-description`,style:{display:`block`,fontSize:`14px`,fontWeight:`500`,color:`#374151`,marginBottom:`4px`},children:`Description (optional)`}),(0,Y.jsx)(`textarea`,{id:`preset-description`,value:f,onChange:e=>p(e.target.value),style:{width:`100%`,padding:`8px 12px`,border:`1px solid #d1d5db`,borderRadius:`4px`,fontSize:`14px`},placeholder:`Add a description...`,rows:3})]})]}),(0,Y.jsxs)(`div`,{style:{marginTop:`24px`,display:`flex`,gap:`12px`,justifyContent:`flex-end`},children:[(0,Y.jsx)(`button`,{onClick:()=>{l(!1),d(``),p(``),_(null)},style:{padding:`8px 16px`,fontSize:`14px`,color:`#374151`,backgroundColor:`#f3f4f6`,border:`none`,borderRadius:`4px`,cursor:`pointer`},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`#e5e7eb`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`#f3f4f6`,disabled:m,children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:y,style:{padding:`8px 16px`,fontSize:`14px`,color:`white`,backgroundColor:`#2563eb`,border:`none`,borderRadius:`4px`,cursor:`pointer`},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`#1d4ed8`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`#2563eb`,disabled:m,children:m?`Saving...`:`Save Preset`})]})]})})]})]})},ur=({x:e,y:t,items:n,onClose:r})=>{let i=(0,b.useRef)(null);(0,b.useEffect)(()=>{let e=e=>{i.current&&!i.current.contains(e.target)&&r()},t=e=>{i.current&&!i.current.contains(e.target)&&(e.preventDefault(),r())},n=setTimeout(()=>{document.addEventListener(`mousedown`,e),document.addEventListener(`contextmenu`,t)},100);return()=>{clearTimeout(n),document.removeEventListener(`mousedown`,e),document.removeEventListener(`contextmenu`,t)}},[r]),(0,b.useEffect)(()=>{let e=e=>{e.key===`Escape`&&r()};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[r]),(0,b.useEffect)(()=>{if(i.current){let n=i.current,r=n.getBoundingClientRect(),a=window.innerWidth,o=window.innerHeight,s=e,c=t;r.right>a&&(s=a-r.width-10),r.bottom>o&&(c=o-r.height-10),(s!==e||c!==t)&&(n.style.left=`${s}px`,n.style.top=`${c}px`)}},[e,t]);let a=(0,b.useCallback)(e=>{e.disabled||e.type===`separator`||(e.onClick&&e.onClick(),e.submenu||r())},[r]),o=(e,t)=>e.type===`separator`?(0,Y.jsx)(`div`,{className:`context-menu-separator`,role:`separator`},`separator-${t}`):(0,Y.jsxs)(`div`,{className:`context-menu-item ${e.disabled?`disabled`:``} ${e.danger?`danger`:``}`,onClick:()=>a(e),role:`menuitem`,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,children:[e.icon&&(0,Y.jsx)(`span`,{className:`context-menu-icon`,children:e.icon}),(0,Y.jsx)(`span`,{className:`context-menu-label`,children:e.label}),e.shortcut&&(0,Y.jsx)(`span`,{className:`context-menu-shortcut`,children:e.shortcut}),e.submenu&&(0,Y.jsx)(`span`,{className:`context-menu-arrow`,children:`▶`})]},e.id||t);return(0,Y.jsx)(`div`,{ref:i,className:`context-menu`,style:{left:e,top:t},role:`menu`,"aria-label":`Context menu`,children:n.map((e,t)=>o(e,t))})},dr=async(e,t,n,r=!1)=>{let i=Array.from(e),a=n.filter(e=>i.includes(e.id));if(a.length===0)return;let o=``;r&&(o+=t.map(e=>e.headerName).join(` `)+`
|
|
40
|
+
`);Kn(new Blob([a],{type:`text/csv;charset=utf-8;`}),n)},Wn=async(e,t,n={})=>{let{filename:r=`export.xlsx`,styling:i=`basic`}=n,a=new Hn.default.Workbook,o=a.addWorksheet(`Sheet1`),s=t.map(e=>e.headerName);o.addRow(s),e.forEach(e=>{let n=t.map(t=>e[t.field]??``);o.addRow(n)}),o.columns=t.map(t=>{let n=t.headerName.length,r=Math.max(...e.map(e=>String(e[t.field]??``).length)),i=Math.max(n,r)+2;return{width:Math.min(i,50)}}),i===`professional`&&Gn(o,t);let c=await a.xlsx.writeBuffer();Kn(new Blob([c],{type:`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`}),r)};var Gn=(e,t)=>{let n=e.getRow(1);n.font={bold:!0,color:{argb:`FFFFFFFF`},size:11},n.fill={type:`pattern`,pattern:`solid`,fgColor:{argb:`FF2F5496`}},n.alignment={horizontal:`center`,vertical:`middle`,wrapText:!0},n.height=20,e.eachRow((e,t)=>{e.eachCell(e=>{e.border={top:{style:`thin`,color:{argb:`FFD3D3D3`}},left:{style:`thin`,color:{argb:`FFD3D3D3`}},bottom:{style:`thin`,color:{argb:`FFD3D3D3`}},right:{style:`thin`,color:{argb:`FFD3D3D3`}}},t>1&&t%2==0&&(e.fill={type:`pattern`,pattern:`solid`,fgColor:{argb:`FFF2F2F2`}}),t>1&&(e.alignment={horizontal:`left`,vertical:`middle`})})}),e.views=[{state:`frozen`,ySplit:1}]},Kn=(e,t)=>{let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)};const qn=(e,t)=>{let n=new Date().toISOString().replace(/[:.]/g,`-`).slice(0,-5);return`data_export_${t===`all`?`full`:t}_${n}.${e}`},Jn=async(e,t,n)=>{if(e.length===0){alert(`No data to export`);return}let r=n.filename||qn(n.format,n.scope);n.format===`csv`?Un(e,t,r):n.format===`xlsx`&&await Wn(e,t,{filename:r,styling:n.styling})},Yn=({columns:e,fullDataset:t,filteredData:n,selectedRows:r,currentPageData:i,onExport:a})=>{let[o,s]=(0,b.useState)(!1),[c,l]=(0,b.useState)(`csv`),[u,d]=(0,b.useState)(`filtered`),[f,p]=(0,b.useState)(`basic`),[m,h]=(0,b.useState)(null),g=b.useRef(null),_=()=>{switch(u){case`all`:return t;case`filtered`:return n;case`selected`:return r.size>0?n.filter(e=>r.has(e.id)):[];case`page`:return i;default:return n}},v=()=>{let t=_();if(t.length===0){alert(`No ${u===`selected`?`selected`:u} data to export`);return}Jn(t,e,{format:c,scope:u,styling:c===`xlsx`?f:void 0}),a?.(!0),s(!1)},y=[{value:`all`,label:`Full Dataset`,disabled:!1},{value:`filtered`,label:`Filtered Data`,disabled:n.length===0},{value:`selected`,label:`Selected Rows (${r.size})`,disabled:r.size===0},{value:`page`,label:`Current Page`,disabled:i.length===0}];return(0,Y.jsxs)(`div`,{style:{position:`relative`},children:[(0,Y.jsxs)(`button`,{ref:g,onClick:()=>{if(!o){let e=g.current?.getBoundingClientRect();e&&h(e)}s(!o)},style:{padding:`8px 12px`,backgroundColor:`#2563eb`,color:`white`,borderRadius:`6px`,border:`none`,fontSize:`14px`,fontWeight:`500`,display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`,transition:`background-color 0.2s`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`#1d4ed8`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`#2563eb`},title:`Export data to CSV or XLSX format`,children:[(0,Y.jsx)(`svg`,{style:{width:`16px`,height:`16px`},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M12 19l9 2-9-18-9 18 9-2m0 0v-8m0 8l-6-4m6 4l6-4`})}),`Export`]}),o&&m&&(0,Y.jsxs)(`div`,{style:{position:`fixed`,left:`${m.left}px`,top:`${m.bottom+8}px`,backgroundColor:`#ffffff`,border:`1px solid #e5e7eb`,borderRadius:`8px`,boxShadow:`0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.05)`,zIndex:50,padding:`20px`,width:`420px`,minWidth:`420px`,maxWidth:`420px`,maxHeight:`90vh`,overflowY:`auto`},children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`20px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`14px`,fontWeight:`600`,color:`#1f2937`,marginBottom:`12px`},children:`Format`}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`16px`},children:[(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`},children:[(0,Y.jsx)(`input`,{type:`radio`,name:`format`,value:`csv`,checked:c===`csv`,onChange:e=>l(e.target.value),style:{width:`16px`,height:`16px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`14px`,color:`#374151`},children:`CSV`})]}),(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`},children:[(0,Y.jsx)(`input`,{type:`radio`,name:`format`,value:`xlsx`,checked:c===`xlsx`,onChange:e=>l(e.target.value),style:{width:`16px`,height:`16px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`14px`,color:`#374151`},children:`XLSX (Excel)`})]})]})]}),(0,Y.jsxs)(`div`,{style:{marginBottom:`20px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`14px`,fontWeight:`600`,color:`#1f2937`,marginBottom:`12px`},children:`Data Scope`}),(0,Y.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`10px`},children:y.map(e=>(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`10px`,padding:`10px 12px`,borderRadius:`6px`,cursor:e.disabled?`not-allowed`:`pointer`,opacity:e.disabled?.5:1,backgroundColor:`transparent`,transition:`background-color 0.15s`,userSelect:`none`},onMouseEnter:t=>{e.disabled||(t.currentTarget.style.backgroundColor=`#f3f4f6`)},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`transparent`},children:[(0,Y.jsx)(`input`,{type:`radio`,name:`scope`,value:e.value,checked:u===e.value,onChange:e=>d(e.target.value),disabled:e.disabled,style:{width:`16px`,height:`16px`,cursor:e.disabled?`not-allowed`:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`14px`,color:`#374151`},children:e.label})]},e.value))})]}),c===`xlsx`&&(0,Y.jsxs)(`div`,{style:{marginBottom:`20px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`14px`,fontWeight:`600`,color:`#1f2937`,marginBottom:`12px`},children:`Styling`}),(0,Y.jsx)(`div`,{style:{marginBottom:`10px`},children:(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`16px`},children:[(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`},children:[(0,Y.jsx)(`input`,{type:`radio`,name:`styling`,value:`basic`,checked:f===`basic`,onChange:e=>p(e.target.value),style:{width:`16px`,height:`16px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`14px`,color:`#374151`},children:`Basic`})]}),(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`},children:[(0,Y.jsx)(`input`,{type:`radio`,name:`styling`,value:`professional`,checked:f===`professional`,onChange:e=>p(e.target.value),style:{width:`16px`,height:`16px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`14px`,color:`#374151`},children:`Professional`})]})]})}),(0,Y.jsx)(`p`,{style:{fontSize:`12px`,color:`#6b7280`,margin:`0`},children:`Professional adds colors, borders, and frozen header row`})]}),(0,Y.jsxs)(`div`,{style:{backgroundColor:`#f3f4f6`,borderRadius:`6px`,padding:`12px`,marginBottom:`20px`,fontSize:`13px`,color:`#4b5563`},children:[(0,Y.jsxs)(`p`,{style:{margin:`6px 0`},children:[(0,Y.jsx)(`strong`,{children:`Data to export:`}),` `,_().length,` row(s)`]}),(0,Y.jsxs)(`p`,{style:{margin:`6px 0`},children:[(0,Y.jsx)(`strong`,{children:`Columns:`}),` `,e.length]})]}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`10px`,justifyContent:`flex-end`},children:[(0,Y.jsx)(`button`,{onClick:()=>s(!1),style:{padding:`10px 16px`,border:`1px solid #d1d5db`,color:`#374151`,backgroundColor:`#ffffff`,borderRadius:`6px`,fontSize:`14px`,fontWeight:`500`,cursor:`pointer`,transition:`background-color 0.2s`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`#f9fafb`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`#ffffff`},children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:v,disabled:_().length===0,style:{padding:`10px 16px`,backgroundColor:_().length===0?`#9ca3af`:`#2563eb`,color:`#ffffff`,borderRadius:`6px`,border:`none`,fontSize:`14px`,fontWeight:`500`,cursor:_().length===0?`not-allowed`:`pointer`,opacity:_().length===0?.6:1,transition:`background-color 0.2s`},onMouseEnter:e=>{_().length>0&&(e.currentTarget.style.backgroundColor=`#1d4ed8`)},onMouseLeave:e=>{_().length>0&&(e.currentTarget.style.backgroundColor=`#2563eb`)},children:`Export Now`})]})]}),o&&(0,Y.jsx)(`div`,{style:{position:`fixed`,inset:0,zIndex:40},onClick:()=>s(!1)})]})};var Xn=e=>{if(e.filterType)return e.filterType===`multi`?`set`:e.filterType;let t=e.field.toLowerCase();return t.includes(`date`)||t.includes(`time`)?`date`:t.includes(`salary`)||t.includes(`price`)||t.includes(`amount`)||t.includes(`count`)?`number`:t.includes(`status`)||t.includes(`department`)||t.includes(`category`)?`set`:`text`},Zn=e=>{switch(e){case`text`:return[{value:`contains`,label:`Contains`},{value:`notContains`,label:`Not Contains`},{value:`equals`,label:`Equals`},{value:`notEquals`,label:`Not Equals`},{value:`startsWith`,label:`Starts With`},{value:`endsWith`,label:`Ends With`},{value:`isEmpty`,label:`Is Empty`},{value:`isNotEmpty`,label:`Is Not Empty`}];case`number`:return[{value:`equals`,label:`Equals`},{value:`notEquals`,label:`Not Equals`},{value:`greaterThan`,label:`Greater Than`},{value:`greaterThanOrEqual`,label:`Greater Than or Equal`},{value:`lessThan`,label:`Less Than`},{value:`lessThanOrEqual`,label:`Less Than or Equal`},{value:`inRange`,label:`In Range`},{value:`isEmpty`,label:`Is Empty`},{value:`isNotEmpty`,label:`Is Not Empty`}];case`date`:return[{value:`equals`,label:`Equals`},{value:`before`,label:`Before`},{value:`after`,label:`After`},{value:`inRange`,label:`In Range`},{value:`isEmpty`,label:`Is Empty`},{value:`isNotEmpty`,label:`Is Not Empty`}];case`set`:return[{value:`in`,label:`In`},{value:`notIn`,label:`Not In`}];default:return[]}},Qn=e=>![`isEmpty`,`isNotEmpty`].includes(e),$n=e=>e===`inRange`,er=e=>[`in`,`notIn`].includes(e);const tr=({column:e,filterValue:t,onApply:n,onClose:r,rows:i,anchorEl:a})=>{let o=Xn(e),s=Zn(o),c=t?.conditions||[{type:s[0]?.value||`contains`,value:``,value2:``,values:[]}],[l,u]=(0,b.useState)(t?.operator||`AND`),[d,f]=(0,b.useState)(c),[p,m]=(0,b.useState)({}),h=o===`set`?Array.from(new Set(i.map(t=>t[e.field]).filter(e=>e!=null))):[],g=()=>{f([...d,{type:s[0]?.value||`contains`,value:``,value2:``,values:[]}])},_=e=>{if(d.length>1){f(d.filter((t,n)=>n!==e));let t={...p};delete t[e],m(t)}},v=(e,t)=>{f(d.map((n,r)=>r===e?{...n,...t}:n))},y=(e,t)=>{m({...p,[e]:t})},x=()=>{let e=d.filter(e=>Qn(e.type)?er(e.type)?e.values&&e.values.length>0:$n(e.type)?e.value!=null&&e.value!==``&&e.value2!=null&&e.value2!==``:e.value!=null&&e.value!==``:!0);e.length===0?n(null):n({operator:l,conditions:e}),r()},S=()=>{f([{type:s[0]?.value||`contains`,value:``,value2:``,values:[]}]),m({}),n(null)},C=()=>{f([{type:s[0]?.value||`contains`,value:``,value2:``,values:[]}]),u(`AND`),m({})},w=(e,t)=>{if(er(e.type)){let n=new Set(e.values||[]),r=p[t]?.searchTerm||``,i=h.filter(e=>String(e).toLowerCase().includes(r.toLowerCase())),a=e=>{let r=new Set(n);r.has(e)?r.delete(e):r.add(e),v(t,{values:Array.from(r)})};return(0,Y.jsxs)(`div`,{style:{marginTop:`8px`},children:[(0,Y.jsx)(`input`,{type:`text`,style:{width:`100%`,padding:`6px 10px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,fontSize:`var(--grid-font-size-sm, 12px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`,marginBottom:`8px`},value:r,onChange:e=>y(t,{searchTerm:e.target.value}),placeholder:`Search values...`}),(0,Y.jsxs)(`div`,{style:{maxHeight:`150px`,overflowY:`auto`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,padding:`4px`},children:[(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`6px`,cursor:`pointer`,padding:`4px 6px`,fontSize:`var(--grid-font-size-sm, 12px)`},children:[(0,Y.jsx)(`input`,{type:`checkbox`,checked:n.size===i.length&&i.length>0,onChange:()=>{n.size===i.length?v(t,{values:[]}):v(t,{values:i})},style:{width:`14px`,height:`14px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontWeight:500,color:`var(--grid-text)`},children:`(Select All)`})]}),i.map((e,t)=>(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`6px`,cursor:`pointer`,padding:`4px 6px`,fontSize:`var(--grid-font-size-sm, 12px)`},children:[(0,Y.jsx)(`input`,{type:`checkbox`,checked:n.has(e),onChange:()=>a(e),style:{width:`14px`,height:`14px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{color:`var(--grid-text)`},children:String(e)})]},t))]}),n.size>0&&(0,Y.jsxs)(`div`,{style:{marginTop:`6px`,fontSize:`var(--grid-font-size-sm, 12px)`,color:`var(--grid-primary)`,fontWeight:500},children:[n.size,` selected`]})]})}return Qn(e.type)?$n(e.type)?(0,Y.jsxs)(`div`,{style:{marginTop:`8px`,display:`flex`,gap:`8px`,alignItems:`center`},children:[(0,Y.jsx)(`input`,{type:o===`date`?`date`:o===`number`?`number`:`text`,style:{flex:1,padding:`6px 10px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,fontSize:`var(--grid-font-size-sm, 12px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:e.value||``,onChange:e=>v(t,{value:e.target.value}),placeholder:`From`}),(0,Y.jsx)(`span`,{style:{color:`var(--grid-text-secondary)`,fontSize:`var(--grid-font-size-sm, 12px)`},children:`to`}),(0,Y.jsx)(`input`,{type:o===`date`?`date`:o===`number`?`number`:`text`,style:{flex:1,padding:`6px 10px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,fontSize:`var(--grid-font-size-sm, 12px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:e.value2||``,onChange:e=>v(t,{value2:e.target.value}),placeholder:`To`})]}):(0,Y.jsx)(`div`,{style:{marginTop:`8px`},children:(0,Y.jsx)(`input`,{type:o===`date`?`date`:o===`number`?`number`:`text`,style:{width:`100%`,padding:`6px 10px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,fontSize:`var(--grid-font-size-sm, 12px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:e.value||``,onChange:e=>v(t,{value:e.target.value}),placeholder:`Enter ${o}...`})}):null};return(0,Y.jsxs)(`div`,{style:{position:`fixed`,top:a?a.getBoundingClientRect().bottom+5:0,left:a?a.getBoundingClientRect().left:0,minWidth:`380px`,maxWidth:`450px`,maxHeight:`600px`,backgroundColor:`var(--grid-bg)`,boxShadow:`0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.1)`,borderRadius:`var(--grid-border-radius, 8px)`,border:`1px solid var(--grid-border)`,padding:`16px`,zIndex:1001,display:`flex`,flexDirection:`column`,overflowY:`auto`},onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`16px`,paddingBottom:`12px`,borderBottom:`1px solid var(--grid-border)`},children:[(0,Y.jsxs)(`h4`,{style:{margin:0,fontSize:`var(--grid-font-size, 14px)`,fontWeight:600,color:`var(--grid-text)`},children:[`Advanced Filter: `,e.headerName]}),(0,Y.jsx)(`p`,{style:{margin:`4px 0 0 0`,fontSize:`var(--grid-font-size-sm, 12px)`,color:`var(--grid-text-secondary)`},children:`Add multiple conditions with AND/OR logic`})]}),d.length>1&&(0,Y.jsxs)(`div`,{style:{marginBottom:`16px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`6px`},children:`Combine Conditions`}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`8px`},children:[(0,Y.jsx)(`button`,{style:{flex:1,padding:`6px 12px`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:l===`AND`?`var(--grid-text-inverse)`:`var(--grid-text)`,backgroundColor:l===`AND`?`var(--grid-primary)`:`var(--grid-bg-alt)`,border:l===`AND`?`none`:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`,transition:`all 0.15s`},onClick:()=>u(`AND`),children:`AND`}),(0,Y.jsx)(`button`,{style:{flex:1,padding:`6px 12px`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:l===`OR`?`var(--grid-text-inverse)`:`var(--grid-text)`,backgroundColor:l===`OR`?`var(--grid-primary)`:`var(--grid-bg-alt)`,border:l===`OR`?`none`:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`,transition:`all 0.15s`},onClick:()=>u(`OR`),children:`OR`})]})]}),(0,Y.jsx)(`div`,{style:{flex:1,overflowY:`auto`,marginBottom:`12px`},children:d.map((e,t)=>(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`,padding:`12px`,backgroundColor:`var(--grid-bg-alt)`,borderRadius:`var(--grid-border-radius, 6px)`,border:`1px solid var(--grid-border)`},children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:`8px`},children:[(0,Y.jsxs)(`label`,{style:{fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:`var(--grid-text)`},children:[`Condition `,t+1]}),d.length>1&&(0,Y.jsx)(`button`,{style:{padding:`2px 8px`,fontSize:`var(--grid-font-size-sm, 12px)`,color:`var(--grid-danger, #dc2626)`,backgroundColor:`transparent`,border:`none`,cursor:`pointer`,borderRadius:`var(--grid-border-radius, 4px)`},onClick:()=>_(t),onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-danger-bg, rgba(220, 38, 38, 0.1))`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`transparent`,title:`Remove condition`,children:`✕`})]}),(0,Y.jsx)(`select`,{style:{width:`100%`,padding:`6px 10px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,fontSize:`var(--grid-font-size-sm, 12px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:e.type,onChange:e=>v(t,{type:e.target.value,value:``,value2:``,values:[]}),children:s.map(e=>(0,Y.jsx)(`option`,{value:e.value,children:e.label},e.value))}),w(e,t),t<d.length-1&&d.length>1&&(0,Y.jsx)(`div`,{style:{marginTop:`12px`,padding:`4px 8px`,textAlign:`center`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:600,color:`var(--grid-primary)`,backgroundColor:`var(--grid-primary-bg)`,borderRadius:`var(--grid-border-radius, 4px)`},children:l})]},t))}),(0,Y.jsx)(`button`,{style:{width:`100%`,padding:`8px 12px`,marginBottom:`12px`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:`var(--grid-primary)`,backgroundColor:`var(--grid-primary-bg)`,border:`1px dashed var(--grid-primary)`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`,transition:`all 0.15s`},onClick:g,onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-hover-bg)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-bg)`,children:`+ Add Condition`}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`8px`,paddingTop:`12px`,borderTop:`1px solid var(--grid-border)`},children:[(0,Y.jsx)(`button`,{style:{flex:1,padding:`8px 12px`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:`var(--grid-text)`,backgroundColor:`var(--grid-bg-alt)`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`,transition:`all 0.15s`},onClick:C,onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-bg-alt)`,children:`Reset`}),(0,Y.jsx)(`button`,{style:{flex:1,padding:`8px 12px`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:`var(--grid-text)`,backgroundColor:`var(--grid-bg-alt)`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`,transition:`all 0.15s`},onClick:S,onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-bg-alt)`,children:`Clear`}),(0,Y.jsx)(`button`,{style:{flex:1,padding:`8px 12px`,fontSize:`var(--grid-font-size-sm, 12px)`,fontWeight:500,color:`var(--grid-text-inverse)`,backgroundColor:`var(--grid-primary)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`,transition:`all 0.15s`},onClick:x,onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary)`,children:`Apply`})]})]})};var nr=e=>e!=null&&`operator`in e&&`conditions`in e,rr=({filterValue:e,onApplyFilter:t,onClose:n,anchorEl:r,showAdvancedButton:i,onSwitchToAdvanced:a})=>{let o=nr(e)?null:e,s=o?.type||`contains`,c=o?.value||``,[l,u]=(0,b.useState)(s),[d,f]=(0,b.useState)(c);return(0,Y.jsxs)(`div`,{style:{position:`fixed`,top:r?r.getBoundingClientRect().bottom+5:0,left:r?r.getBoundingClientRect().left:0,minWidth:`280px`,backgroundColor:`var(--grid-bg)`,boxShadow:`var(--grid-shadow-medium, 0 10px 15px -3px rgba(0, 0, 0, 0.1))`,borderRadius:`var(--grid-border-radius, 8px)`,border:`var(--grid-border-width, 1px) solid var(--grid-border)`,padding:`16px`,zIndex:1e3},onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`Filter Type`}),(0,Y.jsxs)(`select`,{style:{width:`100%`,padding:`8px 12px`,border:`var(--grid-border-width, 1px) solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:l,onChange:e=>u(e.target.value),children:[(0,Y.jsx)(`option`,{value:`contains`,children:`Contains`}),(0,Y.jsx)(`option`,{value:`notContains`,children:`Not Contains`}),(0,Y.jsx)(`option`,{value:`equals`,children:`Equals`}),(0,Y.jsx)(`option`,{value:`startsWith`,children:`Starts With`}),(0,Y.jsx)(`option`,{value:`endsWith`,children:`Ends With`})]})]}),(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`Value`}),(0,Y.jsx)(`input`,{type:`text`,style:{width:`100%`,padding:`8px 12px`,border:`var(--grid-border-width, 1px) solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:d,onChange:e=>f(e.target.value),placeholder:`Enter text...`,autoFocus:!0})]}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`8px`,justifyContent:`flex-end`},children:[(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text)`,backgroundColor:`var(--grid-bg-alt)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{f(``),t(null),n()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-bg-alt)`,children:`Clear`}),(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text-inverse)`,backgroundColor:`var(--grid-primary)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{t(d?{type:l,value:d}:null),n()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary)`,children:`Apply`})]})]})},ir=({filterValue:e,onApplyFilter:t,onClose:n,anchorEl:r,showAdvancedButton:i,onSwitchToAdvanced:a})=>{let o=nr(e)?null:e,s=o?.type||`equals`,c=o?.value||``,l=o?.value2||``,[u,d]=(0,b.useState)(s),[f,p]=(0,b.useState)(c),[m,h]=(0,b.useState)(l);return(0,Y.jsxs)(`div`,{style:{position:`fixed`,top:r?r.getBoundingClientRect().bottom+5:0,left:r?r.getBoundingClientRect().left:0,minWidth:`280px`,backgroundColor:`var(--grid-bg)`,boxShadow:`var(--grid-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05))`,borderRadius:`var(--grid-border-radius, 8px)`,border:`1px solid var(--grid-border)`,padding:`16px`,zIndex:1e3},onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`Filter Type`}),(0,Y.jsxs)(`select`,{style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:u,onChange:e=>d(e.target.value),children:[(0,Y.jsx)(`option`,{value:`equals`,children:`Equals`}),(0,Y.jsx)(`option`,{value:`notEquals`,children:`Not Equals`}),(0,Y.jsx)(`option`,{value:`greaterThan`,children:`Greater Than`}),(0,Y.jsx)(`option`,{value:`greaterThanOrEqual`,children:`Greater Than or Equal`}),(0,Y.jsx)(`option`,{value:`lessThan`,children:`Less Than`}),(0,Y.jsx)(`option`,{value:`lessThanOrEqual`,children:`Less Than or Equal`}),(0,Y.jsx)(`option`,{value:`inRange`,children:`In Range`})]})]}),(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`Value`}),(0,Y.jsx)(`input`,{type:`number`,style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:f,onChange:e=>p(e.target.value),placeholder:`Enter number...`,autoFocus:!0})]}),u===`inRange`&&(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`To`}),(0,Y.jsx)(`input`,{type:`number`,style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:m,onChange:e=>h(e.target.value),placeholder:`Enter max value...`})]}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`8px`,justifyContent:`flex-end`},children:[(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text)`,backgroundColor:`var(--grid-bg-alt)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{p(``),h(``),t(null),n()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-bg-alt)`,children:`Clear`}),(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text-inverse)`,backgroundColor:`var(--grid-primary)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{if(f){let e={type:u,value:parseFloat(f)};u===`inRange`&&m&&(e.value2=parseFloat(m)),t(e)}else t(null);n()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary)`,children:`Apply`})]})]})},ar=({filterValue:e,onApplyFilter:t,onClose:n,anchorEl:r,showAdvancedButton:i,onSwitchToAdvanced:a})=>{let o=nr(e)?null:e,s=o?.type||`equals`,c=o?.value||``,l=o?.value2||``,[u,d]=(0,b.useState)(s),[f,p]=(0,b.useState)(c),[m,h]=(0,b.useState)(l);return(0,Y.jsxs)(`div`,{style:{position:`fixed`,top:r?r.getBoundingClientRect().bottom+5:0,left:r?r.getBoundingClientRect().left:0,minWidth:`280px`,backgroundColor:`var(--grid-bg)`,boxShadow:`var(--grid-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05))`,borderRadius:`var(--grid-border-radius, 8px)`,border:`1px solid var(--grid-border)`,padding:`16px`,zIndex:1e3},onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`Filter Type`}),(0,Y.jsxs)(`select`,{style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:u,onChange:e=>d(e.target.value),children:[(0,Y.jsx)(`option`,{value:`equals`,children:`Equals`}),(0,Y.jsx)(`option`,{value:`before`,children:`Before`}),(0,Y.jsx)(`option`,{value:`after`,children:`After`}),(0,Y.jsx)(`option`,{value:`inRange`,children:`In Range`})]})]}),(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`Date`}),(0,Y.jsx)(`input`,{type:`date`,style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:f,onChange:e=>p(e.target.value),autoFocus:!0})]}),u===`inRange`&&(0,Y.jsxs)(`div`,{style:{marginBottom:`12px`},children:[(0,Y.jsx)(`label`,{style:{display:`block`,fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`,marginBottom:`4px`},children:`To`}),(0,Y.jsx)(`input`,{type:`date`,style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:m,onChange:e=>h(e.target.value)})]}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`8px`,justifyContent:`flex-end`},children:[(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text)`,backgroundColor:`var(--grid-bg-alt)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{p(``),h(``),t(null),n()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-bg-alt)`,children:`Clear`}),(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text-inverse)`,backgroundColor:`var(--grid-primary)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{if(f){let e={type:u,value:f};u===`inRange`&&m&&(e.value2=m),t(e)}else t(null);n()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary)`,children:`Apply`})]})]})},or=({column:e,filterValue:t,onApplyFilter:n,onClose:r,rows:i,anchorEl:a,showAdvancedButton:o,onSwitchToAdvanced:s})=>{let c=Array.from(new Set(i.map(t=>t[e.field]).filter(e=>e!=null))),l=nr(t)?null:t,[u,d]=(0,b.useState)(l&&l.values?new Set(l.values):new Set),[f,p]=(0,b.useState)(``),m=c.filter(e=>String(e).toLowerCase().includes(f.toLowerCase())),h=e=>{let t=new Set(u);t.has(e)?t.delete(e):t.add(e),d(t)};return(0,Y.jsxs)(`div`,{style:{position:`fixed`,top:a?a.getBoundingClientRect().bottom+5:0,left:a?a.getBoundingClientRect().left:0,minWidth:`280px`,maxHeight:`400px`,backgroundColor:`var(--grid-bg)`,boxShadow:`var(--grid-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05))`,borderRadius:`var(--grid-border-radius, 8px)`,border:`1px solid var(--grid-border)`,padding:`16px`,zIndex:1e3,display:`flex`,flexDirection:`column`},onClick:e=>e.stopPropagation(),children:[(0,Y.jsx)(`div`,{style:{marginBottom:`12px`},children:(0,Y.jsx)(`input`,{type:`text`,style:{width:`100%`,padding:`8px 12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,fontSize:`var(--grid-font-size, 14px)`,outline:`none`,backgroundColor:`var(--grid-bg)`,color:`var(--grid-text)`},value:f,onChange:e=>p(e.target.value),placeholder:`Search values...`,autoFocus:!0})}),(0,Y.jsx)(`div`,{style:{marginBottom:`8px`},children:(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`,padding:`8px`,borderRadius:`4px`},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`transparent`,children:[(0,Y.jsx)(`input`,{type:`checkbox`,checked:u.size===m.length&&m.length>0,onChange:()=>{u.size===m.length?d(new Set):d(new Set(m))},style:{width:`16px`,height:`16px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`var(--grid-font-size, 14px)`,fontWeight:500,color:`var(--grid-text)`},children:`(Select All)`})]})}),(0,Y.jsx)(`div`,{style:{flex:1,overflowY:`auto`,marginBottom:`12px`,border:`1px solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,maxHeight:`200px`},children:m.map((e,t)=>(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`,padding:`8px`},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`transparent`,children:[(0,Y.jsx)(`input`,{type:`checkbox`,checked:u.has(e),onChange:()=>h(e),style:{width:`16px`,height:`16px`,cursor:`pointer`}}),(0,Y.jsx)(`span`,{style:{fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text)`},children:String(e)})]},t))}),(0,Y.jsxs)(`div`,{style:{display:`flex`,gap:`8px`,justifyContent:`flex-end`,paddingTop:`8px`,borderTop:`1px solid var(--grid-border)`},children:[(0,Y.jsx)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text)`,backgroundColor:`var(--grid-bg-alt)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{d(new Set),n(null),r()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-bg-alt)`,children:`Clear`}),(0,Y.jsxs)(`button`,{style:{padding:`6px 12px`,fontSize:`var(--grid-font-size, 14px)`,color:`var(--grid-text-inverse)`,backgroundColor:`var(--grid-primary)`,border:`none`,borderRadius:`var(--grid-border-radius, 6px)`,cursor:`pointer`},onClick:()=>{u.size>0?n({type:`set`,values:Array.from(u)}):n(null),r()},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary-hover)`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`var(--grid-primary)`,children:[`Apply (`,u.size,`)`]})]})]})},sr=({column:e,filterValue:t,onApplyFilter:n,onClose:r,rows:i,anchorEl:a})=>(0,Y.jsx)(or,{column:e,filterValue:t,onApplyFilter:n,onClose:r,rows:i,anchorEl:a});const cr=({columns:e,displayColumnOrder:t,columnWidths:n,filterConfig:r,dispatch:i,pinnedLeft:a,pinnedRight:o,rows:s})=>{let[c,l]=(0,b.useState)(null),[u,d]=(0,b.useState)({}),[f,p]=(0,b.useState)(null),m=new Set(a),h=new Set(o),g={},_=0;a.forEach(e=>{g[e]=_,_+=n[e]||150});let v={},y=0;[...o].reverse().forEach(e=>{v[e]=y,y+=n[e]||150});let x=new Map(e.map(e=>[e.field,e])),S=e=>{let t={width:`${n[e]||150}px`};return m.has(e)?(t.position=`sticky`,t.left=`${g[e]}px`,t.zIndex=20,t.backgroundColor=`var(--grid-header-bg)`):h.has(e)&&(t.position=`sticky`,t.right=`${v[e]}px`,t.zIndex=20,t.backgroundColor=`var(--grid-header-bg)`),t},C=e=>{if(e.filterType)return e.filterType;let t=e.field.toLowerCase();return t.includes(`date`)||t.includes(`time`)?`date`:t.includes(`salary`)||t.includes(`price`)||t.includes(`amount`)||t.includes(`count`)?`number`:t.includes(`status`)||t.includes(`department`)||t.includes(`category`)?`set`:`text`},w=(e,t)=>{t.stopPropagation();let n=r[e];nr(n)||t.shiftKey?(d({...u,[e]:t.currentTarget}),p(e),l(null)):(d({...u,[e]:t.currentTarget}),l(e),p(null))},T=()=>{l(null),p(null)},E=(e,t)=>{i({type:`SET_FILTER`,payload:{field:e,value:t}})},D=e=>{l(null),p(e)};(0,b.useEffect)(()=>{let e=()=>{c&&l(null)};if(c)return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)},[c]);let O=e=>{let t=C(e),n={column:e,filterValue:r[e.field],onApplyFilter:t=>E(e.field,t),onClose:T,rows:s,anchorEl:u[e.field],showAdvancedButton:!0,onSwitchToAdvanced:()=>D(e.field)};switch(t){case`number`:return(0,Y.jsx)(ir,{...n});case`date`:return(0,Y.jsx)(ar,{...n});case`set`:return(0,Y.jsx)(or,{...n});case`multi`:return(0,Y.jsx)(sr,{...n});default:return(0,Y.jsx)(rr,{...n})}},k=e=>{let t=r[e.field],n=u[e.field];return(0,Y.jsx)(tr,{column:e,filterValue:nr(t)?t:null,onApply:t=>E(e.field,t),onClose:T,rows:s,anchorEl:n})},A=e=>{let t=r[e];if(!t)return``;if(nr(t)){let e=t.conditions.length;return`${e} condition${e>1?`s`:``} (${t.operator})`}return t.type===`set`&&t.values?`${t.values.length} selected`:t.type===`inRange`?`${t.value} - ${t.value2}`:String(t.value||``)},j=e=>!!r[e];return(0,Y.jsx)(Y.Fragment,{children:(0,Y.jsx)(`div`,{style:{display:`flex`,minWidth:`100%`,borderBottom:`1px solid var(--grid-border)`,backgroundColor:`var(--grid-header-bg)`},children:t.map(e=>{let t=x.get(e);if(!t||t.filterable===!1)return(0,Y.jsx)(`div`,{style:{...S(e),borderRight:`1px solid var(--grid-border)`,flexShrink:0,minHeight:`38px`}},e);let n=j(e);return(0,Y.jsxs)(`div`,{style:{...S(e),borderRight:`1px solid var(--grid-border)`,flexShrink:0,padding:`6px 8px`,position:`relative`,display:`flex`,alignItems:`center`},children:[(0,Y.jsx)(`div`,{style:{width:`100%`,cursor:`pointer`},onClick:t=>w(e,t),title:`Click to filter, Shift+Click for advanced filter`,children:(0,Y.jsxs)(`div`,{style:{width:`100%`,padding:`4px 8px`,fontSize:`var(--grid-font-size-sm, 12px)`,border:`1px solid`,borderColor:n?`var(--grid-primary)`:`var(--grid-border)`,borderRadius:`var(--grid-border-radius, 4px)`,backgroundColor:n?`var(--grid-primary-bg)`:`var(--grid-bg)`,color:n?`var(--grid-primary)`:`var(--grid-text-secondary)`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`6px`,transition:`border-color 0.15s`},onMouseEnter:e=>{n||(e.currentTarget.style.borderColor=`var(--grid-border-hover)`)},onMouseLeave:e=>{n||(e.currentTarget.style.borderColor=`var(--grid-border)`)},children:[(0,Y.jsx)(`span`,{style:{flex:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:n?A(e):`Filter...`}),(0,Y.jsx)(`svg`,{style:{flexShrink:0,color:n?`var(--grid-primary)`:`var(--grid-text-muted)`},width:`12`,height:`12`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,strokeWidth:`2.5`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M3 4h18v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V20l-4-2v-3.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z`})})]})}),c===e&&O(t),f===e&&k(t)]},e)})})})},lr=({manager:e,currentLayout:t,onLoadPreset:n,onResetLayout:r})=>{let[i,a]=(0,b.useState)([]),[o,s]=(0,b.useState)(!1),[c,l]=(0,b.useState)(!1),[u,d]=(0,b.useState)(``),[f,p]=(0,b.useState)(``),[m,h]=(0,b.useState)(!1),[g,_]=(0,b.useState)(null),v=(0,b.useCallback)(async()=>{try{h(!0),a((await e.listPresets()).filter(e=>e.id!==`__autosave__`)),_(null)}catch(e){_(`Failed to load presets`),console.error(e)}finally{h(!1)}},[e]);(0,b.useEffect)(()=>{v()},[v]);let y=async()=>{if(!u.trim()){_(`Please enter a preset name`);return}try{h(!0);let{createPreset:n}=await w(async()=>{let{createPreset:e}=await import(`./layoutPersistence-DC8vyocg.js`);return{createPreset:e}},[]),r=n(u.trim(),t,f.trim());await e.savePreset(r),await v(),l(!1),d(``),p(``),_(null)}catch(e){_(`Failed to save preset`),console.error(e)}finally{h(!1)}},x=async t=>{try{h(!0);let r=await e.loadPreset(t);r&&(n(r.layout),s(!1),_(null))}catch(e){_(`Failed to load preset`),console.error(e)}finally{h(!1)}},S=async(t,n)=>{if(n.stopPropagation(),confirm(`Are you sure you want to delete this preset?`))try{h(!0),await e.deletePreset(t),await v(),_(null)}catch(e){_(`Failed to delete preset`),console.error(e)}finally{h(!1)}},C=async(n,r)=>{if(r.stopPropagation(),confirm(`Update this preset with current layout?`))try{h(!0);let r={...n,layout:t};await e.savePreset(r),await v(),_(null)}catch(e){_(`Failed to update preset`),console.error(e)}finally{h(!1)}},T=e=>new Date(e).toLocaleString();return(0,Y.jsxs)(`div`,{className:`relative inline-block`,children:[(0,Y.jsxs)(`button`,{onClick:()=>s(!o),style:{padding:`6px 12px`,fontSize:`14px`,backgroundColor:`white`,border:`1px solid #d1d5db`,borderRadius:`4px`,cursor:`pointer`,display:`flex`,alignItems:`center`,gap:`8px`},disabled:m,children:[(0,Y.jsx)(`svg`,{style:{width:`14px`,height:`14px`,flexShrink:0},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M4 7h16M4 12h16M4 17h16`})}),`Layout Presets`,(0,Y.jsx)(`svg`,{style:{width:`14px`,height:`14px`,flexShrink:0,transform:o?`rotate(180deg)`:`rotate(0deg)`,transition:`transform 0.2s`},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M19 9l-7 7-7-7`})})]}),o&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{style:{position:`fixed`,inset:0,zIndex:10},onClick:()=>s(!1)}),(0,Y.jsxs)(`div`,{style:{position:`absolute`,right:0,marginTop:`8px`,width:`320px`,backgroundColor:`white`,border:`1px solid #d1d5db`,borderRadius:`8px`,boxShadow:`0 10px 15px -3px rgba(0, 0, 0, 0.1)`,zIndex:20,maxHeight:`384px`,overflowY:`auto`},children:[(0,Y.jsx)(`div`,{style:{padding:`12px`,borderBottom:`1px solid #e5e7eb`,backgroundColor:`#f9fafb`},children:(0,Y.jsx)(`h3`,{style:{fontWeight:`600`,fontSize:`14px`,color:`#111827`},children:`Layout Presets`})}),g&&(0,Y.jsx)(`div`,{style:{padding:`12px`,backgroundColor:`#fef2f2`,borderBottom:`1px solid #fecaca`},children:(0,Y.jsx)(`p`,{style:{fontSize:`14px`,color:`#dc2626`},children:g})}),(0,Y.jsxs)(`div`,{style:{padding:`8px`,borderBottom:`1px solid #e5e7eb`,display:`flex`,gap:`8px`},children:[(0,Y.jsxs)(`button`,{onClick:()=>{l(!0),s(!1)},style:{flex:1,padding:`8px 12px`,fontSize:`14px`,backgroundColor:`#2563eb`,color:`white`,border:`none`,borderRadius:`4px`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:`8px`},children:[(0,Y.jsx)(`svg`,{style:{width:`14px`,height:`14px`,flexShrink:0},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4`})}),`Save Current`]}),(0,Y.jsxs)(`button`,{onClick:()=>{r(),s(!1)},style:{flex:1,padding:`8px 12px`,fontSize:`14px`,backgroundColor:`#4b5563`,color:`white`,border:`none`,borderRadius:`4px`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:`8px`},children:[(0,Y.jsx)(`svg`,{style:{width:`14px`,height:`14px`,flexShrink:0},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15`})}),`Reset`]})]}),(0,Y.jsx)(`div`,{style:{maxHeight:`256px`,overflowY:`auto`},children:m&&i.length===0?(0,Y.jsx)(`div`,{style:{padding:`16px`,textAlign:`center`,color:`#6b7280`,fontSize:`14px`},children:`Loading presets...`}):i.length===0?(0,Y.jsx)(`div`,{style:{padding:`16px`,textAlign:`center`,color:`#6b7280`,fontSize:`14px`},children:`No saved presets. Save your current layout to get started.`}):(0,Y.jsx)(`div`,{children:i.map(e=>(0,Y.jsx)(`div`,{style:{padding:`12px`,cursor:`pointer`,borderBottom:`1px solid #e5e7eb`},onClick:()=>x(e.id),onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`#f9fafb`;let t=e.currentTarget.querySelector(`.preset-actions`);t&&(t.style.opacity=`1`)},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`transparent`;let t=e.currentTarget.querySelector(`.preset-actions`);t&&(t.style.opacity=`0`)},children:(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`flex-start`,justifyContent:`space-between`},children:[(0,Y.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,Y.jsx)(`h4`,{style:{fontSize:`14px`,fontWeight:`500`,color:`#111827`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name}),e.description&&(0,Y.jsx)(`p`,{style:{fontSize:`12px`,color:`#6b7280`,marginTop:`4px`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.description}),(0,Y.jsxs)(`p`,{style:{fontSize:`12px`,color:`#9ca3af`,marginTop:`4px`},children:[`Updated: `,T(e.updatedAt)]})]}),(0,Y.jsxs)(`div`,{className:`preset-actions`,style:{display:`flex`,gap:`4px`,marginLeft:`8px`,opacity:0,transition:`opacity 0.2s`},children:[(0,Y.jsx)(`button`,{onClick:t=>C(e,t),style:{padding:`4px`,color:`#2563eb`,backgroundColor:`transparent`,border:`none`,borderRadius:`4px`,cursor:`pointer`},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`#eff6ff`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`transparent`,title:`Update with current layout`,children:(0,Y.jsx)(`svg`,{style:{width:`14px`,height:`14px`},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15`})})}),(0,Y.jsx)(`button`,{onClick:t=>S(e.id,t),style:{padding:`4px`,color:`#dc2626`,backgroundColor:`transparent`,border:`none`,borderRadius:`4px`,cursor:`pointer`},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`#fef2f2`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`transparent`,title:`Delete preset`,children:(0,Y.jsx)(`svg`,{style:{width:`14px`,height:`14px`},fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Y.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})})})]})]})},e.id))})})]})]}),c&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{style:{position:`fixed`,inset:0,backgroundColor:`rgba(0, 0, 0, 0.5)`,zIndex:30,display:`flex`,alignItems:`center`,justifyContent:`center`},onClick:()=>l(!1)}),(0,Y.jsx)(`div`,{style:{position:`fixed`,inset:0,zIndex:40,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`16px`},children:(0,Y.jsxs)(`div`,{style:{backgroundColor:`white`,borderRadius:`8px`,boxShadow:`0 25px 50px -12px rgba(0, 0, 0, 0.25)`,maxWidth:`448px`,width:`100%`,padding:`24px`},onClick:e=>e.stopPropagation(),children:[(0,Y.jsx)(`h2`,{style:{fontSize:`20px`,fontWeight:`600`,marginBottom:`16px`},children:`Save Layout Preset`}),g&&(0,Y.jsx)(`div`,{style:{marginBottom:`16px`,padding:`12px`,backgroundColor:`#fef2f2`,border:`1px solid #fecaca`,borderRadius:`4px`},children:(0,Y.jsx)(`p`,{style:{fontSize:`14px`,color:`#dc2626`},children:g})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`16px`},children:[(0,Y.jsx)(`label`,{htmlFor:`preset-name`,style:{display:`block`,fontSize:`14px`,fontWeight:`500`,color:`#374151`,marginBottom:`4px`},children:`Preset Name *`}),(0,Y.jsx)(`input`,{id:`preset-name`,type:`text`,value:u,onChange:e=>d(e.target.value),style:{width:`100%`,padding:`8px 12px`,border:`1px solid #d1d5db`,borderRadius:`4px`,fontSize:`14px`},placeholder:`e.g., Sales Dashboard Layout`,autoFocus:!0})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{htmlFor:`preset-description`,style:{display:`block`,fontSize:`14px`,fontWeight:`500`,color:`#374151`,marginBottom:`4px`},children:`Description (optional)`}),(0,Y.jsx)(`textarea`,{id:`preset-description`,value:f,onChange:e=>p(e.target.value),style:{width:`100%`,padding:`8px 12px`,border:`1px solid #d1d5db`,borderRadius:`4px`,fontSize:`14px`},placeholder:`Add a description...`,rows:3})]})]}),(0,Y.jsxs)(`div`,{style:{marginTop:`24px`,display:`flex`,gap:`12px`,justifyContent:`flex-end`},children:[(0,Y.jsx)(`button`,{onClick:()=>{l(!1),d(``),p(``),_(null)},style:{padding:`8px 16px`,fontSize:`14px`,color:`#374151`,backgroundColor:`#f3f4f6`,border:`none`,borderRadius:`4px`,cursor:`pointer`},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`#e5e7eb`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`#f3f4f6`,disabled:m,children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:y,style:{padding:`8px 16px`,fontSize:`14px`,color:`white`,backgroundColor:`#2563eb`,border:`none`,borderRadius:`4px`,cursor:`pointer`},onMouseEnter:e=>e.currentTarget.style.backgroundColor=`#1d4ed8`,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`#2563eb`,disabled:m,children:m?`Saving...`:`Save Preset`})]})]})})]})]})},ur=({x:e,y:t,items:n,onClose:r})=>{let i=(0,b.useRef)(null),[a,o]=b.useState(null);(0,b.useEffect)(()=>{let e=e=>{i.current&&!i.current.contains(e.target)&&r()},t=e=>{i.current&&!i.current.contains(e.target)&&(e.preventDefault(),r())},n=setTimeout(()=>{document.addEventListener(`mousedown`,e),document.addEventListener(`contextmenu`,t)},100);return()=>{clearTimeout(n),document.removeEventListener(`mousedown`,e),document.removeEventListener(`contextmenu`,t)}},[r]),(0,b.useEffect)(()=>{let e=e=>{e.key===`Escape`&&r()};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[r]),(0,b.useEffect)(()=>{if(i.current){let n=i.current,r=n.getBoundingClientRect(),a=window.innerWidth,o=window.innerHeight,s=e,c=t;r.right>a&&(s=a-r.width-10),r.bottom>o&&(c=o-r.height-10),(s!==e||c!==t)&&(n.style.left=`${s}px`,n.style.top=`${c}px`)}},[e,t]);let s=(0,b.useCallback)(e=>{if(!e.disabled){if(e.submenu){o(a===e.id?null:e.id||null);return}e.onClick&&e.onClick(),r()}},[r,a]),c=(e,t)=>e.type===`separator`?(0,Y.jsx)(`div`,{className:`context-menu-separator`,role:`separator`},`separator-${t}`):(0,Y.jsxs)(`div`,{className:`context-menu-item-wrapper`,children:[(0,Y.jsxs)(`div`,{className:`context-menu-item ${e.disabled?`disabled`:``} ${e.danger?`danger`:``} ${e.submenu?`has-submenu`:``}`,onClick:()=>s(e),role:`menuitem`,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,children:[e.icon&&(0,Y.jsx)(`span`,{className:`context-menu-icon`,children:e.icon}),(0,Y.jsx)(`span`,{className:`context-menu-label`,children:e.label}),e.shortcut&&(0,Y.jsx)(`span`,{className:`context-menu-shortcut`,children:e.shortcut}),e.submenu&&(0,Y.jsx)(`span`,{className:`context-menu-arrow`,children:`▶`})]}),e.submenu&&a===e.id&&(0,Y.jsx)(`div`,{className:`context-menu-submenu`,children:e.submenu.map((e,t)=>c(e,t))})]},e.id||t);return(0,Y.jsx)(`div`,{ref:i,className:`context-menu`,style:{left:e,top:t},role:`menu`,"aria-label":`Context menu`,children:n.map((e,t)=>c(e,t))})},dr=async(e,t,n,r=!1)=>{let i=Array.from(e),a=n.filter(e=>i.includes(e.id));if(a.length===0)return;let o=``;r&&(o+=t.map(e=>e.headerName).join(` `)+`
|
|
41
41
|
`),o+=a.map(e=>t.map(t=>{let n=e[t.field];return n==null?``:typeof n==`object`?JSON.stringify(n):String(n)}).join(` `)).join(`
|
|
42
42
|
`);try{await navigator.clipboard.writeText(o)}catch(e){console.error(`Failed to copy to clipboard:`,e);let t=document.createElement(`textarea`);t.value=o,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}},fr=(e,t,n,r=`export.csv`)=>{let i=Array.from(e),a=n.filter(e=>i.includes(e.id));if(a.length===0)return;let o=``;o+=t.map(e=>`"${e.headerName}"`).join(`,`)+`
|
|
43
43
|
`,o+=a.map(e=>t.map(t=>{let n=e[t.field];return n==null?`""`:typeof n==`object`?`"${JSON.stringify(n).replace(/"/g,`""`)}"`:`"${String(n).replace(/"/g,`""`)}"`}).join(`,`)).join(`
|
|
44
|
-
`);let s=new Blob([o],{type:`text/csv;charset=utf-8;`}),c=document.createElement(`a`),l=URL.createObjectURL(s);c.setAttribute(`href`,l),c.setAttribute(`download`,r),c.style.visibility=`hidden`,document.body.appendChild(c),c.click(),document.body.removeChild(c),URL.revokeObjectURL(l)},pr=(e,t,n=60,r=500,i=32)=>{let a=document.createElement(`canvas`).getContext(`2d`);if(!a)return e.width||150;a.font=`14px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`;let o=a.measureText(e.headerName).width+i,s=Math.min(t.length,100),c=t.slice(0,s),l=0;for(let t of c){let n=t[e.field],r=n==null?``:String(n),o=a.measureText(r).width+i;l=Math.max(l,o)}let u=Math.max(o,l);return Math.max(n,Math.min(r,u))},mr=(e,t)=>{let n={};return e.forEach(e=>{n[e.field]=pr(e,t)}),n},hr=e=>({type:`equals`,value:e}),gr=(e,t,n=100)=>{let r=new Set;for(let i of t){let t=i[e.field];if(t!=null&&r.add(t),r.size>=n)break}return Array.from(r).sort((e,t)=>{if(typeof e==`string`&&typeof t==`string`)return e.localeCompare(t);if(typeof e==`number`&&typeof t==`number`)return e-t;let n=String(e),r=String(t);return n.localeCompare(r)})},_r=({config:e={},columns:t,rows:n,selectedRows:r,onPinColumn:i,onUnpinColumn:a,onToggleColumnVisibility:o,onResizeColumn:s,onAutoSizeAllColumns:c,onSetFilter:l,onPinRowTop:u,onPinRowBottom:d,onUnpinRow:f,pinnedColumnsLeft:p=[],pinnedColumnsRight:m=[],pinnedRowsTop:h=[],pinnedRowsBottom:g=[]})=>{let[_,v]=(0,b.useState)({isOpen:!1,x:0,y:0,items:[],contextType:null}),y=(0,b.useMemo)(()=>({enabled:e?.enabled!==!1,showCopy:e?.showCopy!==!1,showExport:e?.showExport!==!1,showColumnOptions:e?.showColumnOptions!==!1,showFilterByValue:e?.showFilterByValue!==!1,customItems:e?.customItems||[],onBeforeShow:e?.onBeforeShow}),[e?.enabled,e?.showCopy,e?.showExport,e?.showColumnOptions,e?.showFilterByValue,e?.customItems,e?.onBeforeShow]),x=(0,b.useCallback)((e,i)=>{let a=[],o=r.size>0,s=e.id,c=h.includes(s),p=g.includes(s);if(u&&d&&f&&(c||p?a.push({id:`unpin-row`,label:`Unpin Row`,icon:`📍`,onClick:()=>f(s)}):(a.push({id:`pin-row-top`,label:`Pin Row to Top`,icon:`📌`,onClick:()=>u(s)}),a.push({id:`pin-row-bottom`,label:`Pin Row to Bottom`,icon:`📌`,onClick:()=>d(s)})),a.push({type:`separator`})),y.showCopy&&(a.push({id:`copy`,label:`Copy`,icon:`📋`,shortcut:`Ctrl+C`,onClick:()=>{if(o)dr(r,t,n,!1);else{let t=e[i.field],n=t==null?``:String(t);navigator.clipboard.writeText(n)}}}),a.push({id:`copy-with-headers`,label:`Copy with Headers`,icon:`📋`,onClick:()=>{o&&dr(r,t,n,!0)},disabled:!o})),y.showExport&&o&&a.push({id:`export-selected`,label:`Export Selected Range`,icon:`📤`,onClick:()=>{fr(r,t,n)}}),a.length>0&&(y.showFilterByValue||y.customItems.length>0)&&a.push({type:`separator`}),y.showFilterByValue&&l){let t=e[i.field];a.push({id:`filter-by-value`,label:`Filter by "${String(t)}"`,icon:`🔍`,onClick:()=>{l(i.field,hr(t))},disabled:t==null})}return y.customItems.length>0&&(a.length>0&&a.push({type:`separator`}),a.push(...y.customItems)),a},[y,r,t,n,l,u,d,f,h,g]),S=(0,b.useCallback)(e=>{let r=[],u=p.includes(e.field),d=m.includes(e.field),f=u||d;if(y.showColumnOptions&&e.pinnable!==!1&&(f?r.push({id:`unpin`,label:`Unpin Column`,icon:`📍`,onClick:()=>a?.(e.field)}):(r.push({id:`pin-left`,label:`Pin Left`,icon:`📌`,onClick:()=>i?.(e.field,`left`)}),r.push({id:`pin-right`,label:`Pin Right`,icon:`📌`,onClick:()=>i?.(e.field,`right`)})),r.push({type:`separator`})),y.showColumnOptions&&(r.push({id:`auto-size`,label:`Auto-size This Column`,icon:`↔️`,onClick:()=>{let t=pr(e,n);s?.(e.field,t)}}),r.push({id:`resize-to-fit`,label:`Resize to Fit`,icon:`↔️`,onClick:()=>{let t=pr(e,n);s?.(e.field,t)}}),r.push({id:`auto-size-all`,label:`Auto-size All Columns`,icon:`⇔`,onClick:()=>{let e=mr(t,n);c?.(e)}}),r.push({type:`separator`})),y.showColumnOptions&&r.push({id:`hide`,label:`Hide Column`,icon:`👁️`,onClick:()=>o?.(e.field)}),y.showFilterByValue&&l&&e.filterable!==!1){r.push({type:`separator`});let t=gr(e,n,10);t.length>0&&r.push({id:`filter-by-value-header`,label:`Filter by Value`,icon:`🔍`,submenu:t.map((t,n)=>({id:`filter-value-${n}`,label:String(t),onClick:()=>{l(e.field,hr(t))}}))})}return y.customItems.length>0&&(r.push({type:`separator`}),r.push(...y.customItems)),r},[y,p,m,t,n,i,a,s,c,o,l]);return{contextMenu:_,handleContextMenu:(0,b.useCallback)(e=>{if(!y.enabled)return;e.event.preventDefault();let t=[];if(e.type===`cell`&&e.row&&e.column?t=x(e.row,e.column):e.type===`header`&&e.column&&(t=S(e.column)),y.onBeforeShow){let n=y.onBeforeShow(e);n!==null&&(t=n)}t.length>0&&v({isOpen:!0,x:e.event.clientX,y:e.event.clientY,items:t,contextType:e.type,targetRow:e.row,targetColumn:e.column,targetRowIndex:e.rowIndex,targetColumnIndex:e.columnIndex})},[y,x,S]),closeContextMenu:(0,b.useCallback)(()=>{v({isOpen:!1,x:0,y:0,items:[],contextType:null})},[])}};var vr=g();const yr=({state:e,maxWidth:t=300,offset:n=8})=>{let r=(0,b.useRef)(null),[i,a]=(0,b.useState)({x:0,y:0}),[o,s]=(0,b.useState)(e.placement);if((0,b.useLayoutEffect)(()=>{if(!e.isVisible||!r.current||!e.targetRect)return;let t=r.current.getBoundingClientRect(),i=window.innerWidth,o=window.innerHeight,c=e.targetRect,l=e.x,u=e.y,d=e.placement;if(e.placement===`auto`||e.placement===`top`||e.placement===`bottom`){let r=c.top,a=o-c.bottom,s=c.left,f=i-c.right;e.placement===`auto`&&(d=a>=t.height+n?`bottom`:r>=t.height+n?`top`:f>=t.width+n?`right`:s>=t.width+n?`left`:`bottom`),d===`top`?(l=c.left+c.width/2-t.width/2,u=c.top-t.height-n):d===`bottom`?(l=c.left+c.width/2-t.width/2,u=c.bottom+n):d===`left`?(l=c.left-t.width-n,u=c.top+c.height/2-t.height/2):d===`right`&&(l=c.right+n,u=c.top+c.height/2-t.height/2),l<10?l=10:l+t.width>i-10&&(l=i-t.width-10),u<10?u=10:u+t.height>o-10&&(u=o-t.height-10)}else e.placement===`left`?(l=c.left-t.width-n,u=c.top+c.height/2-t.height/2):e.placement===`right`&&(l=c.right+n,u=c.top+c.height/2-t.height/2),u<10?u=10:u+t.height>o-10&&(u=o-t.height-10),l<10?l=10:l+t.width>i-10&&(l=i-t.width-10);setTimeout(()=>a({x:l,y:u}),0),setTimeout(()=>s(d),0)},[e.isVisible,e.x,e.y,e.targetRect,e.placement,n]),!e.isVisible||!e.content)return null;let c=typeof e.content==`string`?{content:e.content}:e.content;return(0,vr.createPortal)((0,Y.jsxs)(`div`,{ref:r,role:`tooltip`,"aria-live":`polite`,style:{position:`fixed`,left:`${i.x}px`,top:`${i.y}px`,maxWidth:`${t}px`,zIndex:99999,pointerEvents:`none`,opacity:e.isVisible?1:0,transition:`opacity 0.15s ease-in-out`},children:[(0,Y.jsxs)(`div`,{style:{backgroundColor:`rgba(0, 0, 0, 0.9)`,color:`white`,padding:`8px 12px`,borderRadius:`6px`,fontSize:`13px`,lineHeight:`1.5`,boxShadow:`0 4px 12px rgba(0, 0, 0, 0.3)`,wordWrap:`break-word`},children:[c.title&&(0,Y.jsx)(`div`,{style:{fontWeight:`600`,marginBottom:`4px`,fontSize:`14px`},children:c.title}),(0,Y.jsx)(`div`,{children:c.content})]}),(0,Y.jsx)(`div`,{style:{position:`absolute`,width:0,height:0,borderStyle:`solid`,...o===`top`&&{bottom:`-6px`,left:`50%`,transform:`translateX(-50%)`,borderWidth:`6px 6px 0 6px`,borderColor:`rgba(0, 0, 0, 0.9) transparent transparent transparent`},...o===`bottom`&&{top:`-6px`,left:`50%`,transform:`translateX(-50%)`,borderWidth:`0 6px 6px 6px`,borderColor:`transparent transparent rgba(0, 0, 0, 0.9) transparent`},...o===`left`&&{right:`-6px`,top:`50%`,transform:`translateY(-50%)`,borderWidth:`6px 0 6px 6px`,borderColor:`transparent transparent transparent rgba(0, 0, 0, 0.9)`},...o===`right`&&{left:`-6px`,top:`50%`,transform:`translateY(-50%)`,borderWidth:`6px 6px 6px 0`,borderColor:`transparent rgba(0, 0, 0, 0.9) transparent transparent`}}})]}),document.body)},br=({config:e={}}={})=>{let[t,n]=(0,b.useState)({isVisible:!1,x:0,y:0,placement:e.placement||`auto`,content:null,targetRect:null}),r=(0,b.useRef)(null),i=(0,b.useRef)(null),a=(0,b.useRef)(!1),{enabled:o=!0,showDelay:s=500,hideDelay:c=0,placement:l=`auto`,showCellTooltips:u=!1,showRowTooltips:d=!1,getCellTooltip:f,getRowTooltip:p}=e,m=(0,b.useCallback)(()=>{r.current&&=(clearTimeout(r.current),null),i.current&&=(clearTimeout(i.current),null)},[]),h=(0,b.useCallback)((e,t)=>{if(!o||!t)return;m(),a.current=!0;let i=e.currentTarget.getBoundingClientRect(),c=typeof t==`string`?{content:t}:t;r.current=setTimeout(()=>{a.current&&n({isVisible:!0,x:i.left+i.width/2,y:i.top,placement:l,content:c,targetRect:i})},s)},[o,s,l,m]),g=(0,b.useCallback)(()=>{m(),a.current=!1,c>0?i.current=setTimeout(()=>{n(e=>({...e,isVisible:!1}))},c):n(e=>({...e,isVisible:!1}))},[c,m]),_=(0,b.useCallback)((e,t,n,r)=>{if(!o||!u||!f)return;let i=f(t,n,r);i&&h(e,i)},[o,u,f,h]),v=(0,b.useCallback)(()=>{g()},[g]),y=(0,b.useCallback)((e,t,n)=>{if(!o||!d||!p)return;let r=p(t,n);r&&h(e,r)},[o,d,p,h]),x=(0,b.useCallback)(()=>{g()},[g]);return(0,b.useEffect)(()=>()=>{m()},[m]),(0,b.useEffect)(()=>{let e=()=>{t.isVisible&&g()};return window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`scroll`,e,!0)}},[t.isVisible,g]),{tooltipState:t,tooltipHandlers:{onCellMouseEnter:_,onCellMouseLeave:v,onRowMouseEnter:y,onRowMouseLeave:x},hideTooltip:g}},xr={ultraCompact:{mode:`ultraCompact`,rowHeight:`24px`,cellPadding:`2px 6px`,headerPadding:`4px 6px`,fontSize:`12px`,fontSizeSmall:`10px`},compact:{mode:`compact`,rowHeight:`32px`,cellPadding:`4px 8px`,headerPadding:`6px 8px`,fontSize:`13px`,fontSizeSmall:`11px`},normal:{mode:`normal`,rowHeight:`44px`,cellPadding:`10px 12px`,headerPadding:`10px 12px`,fontSize:`14px`,fontSizeSmall:`12px`},comfortable:{mode:`comfortable`,rowHeight:`56px`,cellPadding:`14px 16px`,headerPadding:`14px 16px`,fontSize:`15px`,fontSizeSmall:`13px`}};function Sr(e=`normal`){return xr[e]}function Cr(e){let t=Sr(e);return{"--grid-row-height":t.rowHeight,"--grid-cell-padding":t.cellPadding,"--grid-header-padding":t.headerPadding,"--grid-font-size":t.fontSize,"--grid-font-size-sm":t.fontSizeSmall}}function wr(e){return{ultraCompact:`Ultra Compact`,compact:`Compact`,normal:`Normal`,comfortable:`Comfortable`}[e]}function Tr(e,t=`grid-density-mode`){try{localStorage.setItem(t,e)}catch(e){console.warn(`Failed to save density mode:`,e)}}function Er(e=`grid-density-mode`){try{let t=localStorage.getItem(e);if(t&&(t===`ultraCompact`||t===`compact`||t===`normal`||t===`comfortable`))return t}catch(e){console.warn(`Failed to load density mode:`,e)}return null}const Dr=({value:e,onChange:t,className:n=``,disabled:r=!1})=>{let i=[`ultraCompact`,`compact`,`normal`,`comfortable`];return(0,Y.jsx)(`div`,{className:`density-toggle ${n}`,style:{display:`inline-flex`,backgroundColor:`var(--grid-bg-alt, #f3f4f6)`,borderRadius:`6px`,padding:`2px`,border:`1px solid var(--grid-border, #e5e7eb)`,gap:`2px`},role:`group`,"aria-label":`Density mode selector`,children:i.map(n=>(0,Y.jsx)(`button`,{onClick:()=>t(n),disabled:r,className:`density-toggle-button ${e===n?`active`:``}`,style:{padding:`6px 14px`,fontSize:`13px`,fontWeight:e===n?`600`:`500`,color:e===n?`var(--grid-primary, #3b82f6)`:`var(--grid-text-secondary, #6b7280)`,backgroundColor:e===n?`var(--grid-bg, #ffffff)`:`transparent`,border:`none`,borderRadius:`4px`,cursor:r?`not-allowed`:`pointer`,transition:`all 0.2s ease`,opacity:r?.5:1,outline:`none`,whiteSpace:`nowrap`,boxShadow:e===n?`0 1px 2px rgba(0, 0, 0, 0.05)`:`none`},onMouseEnter:t=>{!r&&e!==n&&(t.currentTarget.style.color=`var(--grid-text, #111827)`,t.currentTarget.style.backgroundColor=`rgba(0, 0, 0, 0.02)`)},onMouseLeave:t=>{!r&&e!==n&&(t.currentTarget.style.color=`var(--grid-text-secondary, #6b7280)`,t.currentTarget.style.backgroundColor=`transparent`)},onFocus:e=>{e.currentTarget.style.boxShadow=`0 0 0 2px var(--grid-primary-light, #93c5fd)`},onBlur:t=>{t.currentTarget.style.boxShadow=e===n?`0 1px 2px rgba(0, 0, 0, 0.05)`:`none`},"aria-pressed":e===n,"aria-label":`${wr(n)} density mode`,type:`button`,children:wr(n)},n))})};function Or(e={}){let{initialMode:t=`normal`,persist:n=!0,persistenceKey:r=`grid-density-mode`,onChange:i}=e,[a,o]=(0,b.useState)(()=>{if(n){let e=Er(r);if(e)return e}return t});return{densityMode:a,setDensityMode:e=>{o(e),n&&Tr(e,r),i?.(e)},densityConfig:Sr(a),densityStyles:Cr(a)}}var kr=(e,t)=>{if(t.type===`isEmpty`)return e==null||String(e).trim()===``;if(t.type===`isNotEmpty`)return e!=null&&String(e).trim()!==``;if(e==null)return!1;let n=String(e).toLowerCase(),r=String(t.value||``).toLowerCase();switch(t.type){case`contains`:return n.includes(r);case`notContains`:return!n.includes(r);case`equals`:return n===r;case`notEquals`:return n!==r;case`startsWith`:return n.startsWith(r);case`endsWith`:return n.endsWith(r);default:return n.includes(r)}},Ar=(e,t)=>{if(t.type===`isEmpty`)return e==null||typeof e==`number`&&isNaN(e);if(t.type===`isNotEmpty`)return e!=null&&!(typeof e==`number`&&isNaN(e));if(e==null)return!1;let n=typeof e==`number`?e:parseFloat(e);if(isNaN(n))return!1;let r=parseFloat(t.value);if(isNaN(r))return!1;switch(t.type){case`equals`:return n===r;case`notEquals`:return n!==r;case`greaterThan`:return n>r;case`greaterThanOrEqual`:return n>=r;case`lessThan`:return n<r;case`lessThanOrEqual`:return n<=r;case`inRange`:{let e=parseFloat(t.value2);return isNaN(e)?n>=r:n>=r&&n<=e}default:return n===r}},jr=(e,t)=>{if(t.type===`isEmpty`)return e==null;if(t.type===`isNotEmpty`)return e!=null;if(e==null)return!1;let n;if(n=e instanceof Date?e:new Date(e),isNaN(n.getTime()))return!1;let r=new Date(t.value);if(isNaN(r.getTime()))return!1;let i=new Date(n.getFullYear(),n.getMonth(),n.getDate()),a=new Date(r.getFullYear(),r.getMonth(),r.getDate());switch(t.type){case`equals`:return i.getTime()===a.getTime();case`before`:return i.getTime()<a.getTime();case`after`:return i.getTime()>a.getTime();case`inRange`:{let e=new Date(t.value2);if(isNaN(e.getTime()))return i.getTime()>=a.getTime();let n=new Date(e.getFullYear(),e.getMonth(),e.getDate());return i.getTime()>=a.getTime()&&i.getTime()<=n.getTime()}default:return i.getTime()===a.getTime()}},Mr=(e,t)=>{if(!t.values||t.values.length===0)return!0;let n=t.values.includes(e);return t.type===`notIn`?!n:n},Nr=e=>e.type===`set`||e.type===`in`||e.type===`notIn`||e.values?`set`:[`equals`,`notEquals`,`greaterThan`,`lessThan`,`greaterThanOrEqual`,`lessThanOrEqual`,`inRange`].includes(e.type||``)&&(typeof e.value==`number`||!isNaN(parseFloat(e.value)))?`number`:[`before`,`after`].includes(e.type||``)||e.value&&!isNaN(new Date(e.value).getTime())&&String(e.value).match(/\d{4}-\d{2}-\d{2}|\\d{1,2}\/\d{1,2}\/\d{4}/)?`date`:`text`,Pr=e=>e!=null&&`operator`in e&&`conditions`in e,Fr=(e,t,n)=>{let r=e[t];switch(Nr(n)){case`number`:return Ar(r,n);case`date`:return jr(r,n);case`set`:return Mr(r,n);default:return kr(r,n)}},Ir=(e,t,n)=>{let{operator:r,conditions:i}=n;return!i||i.length===0?!0:r===`AND`?i.every(n=>Fr(e,t,n)):i.some(n=>Fr(e,t,n))},Lr=(e,t,n)=>{if(!n)return!0;if(Pr(n))return Ir(e,t,n);let r=e[t];switch(Nr(n)){case`number`:return Ar(r,n);case`date`:return jr(r,n);case`set`:return Mr(r,n);default:return kr(r,n)}};const Rr=(e,t)=>!t||Object.keys(t).length===0?e:e.filter(e=>Object.entries(t).every(([t,n])=>n?Lr(e,t,n):!0)),zr=e=>Object.values(e).some(e=>e!=null);var Br=class{async save(e,t){try{let n=localStorage.getItem(e),r=n?JSON.parse(n):[],i=r.findIndex(e=>e.id===t.id);i===-1?r.push(t):r[i]=t,localStorage.setItem(e,JSON.stringify(r))}catch(e){throw console.error(`Failed to save preset to localStorage:`,e),e}}async load(e,t){try{let n=localStorage.getItem(e);if(!n)return null;let r=JSON.parse(n);return t?r.find(e=>e.id===t)||null:r}catch(e){throw console.error(`Failed to load preset from localStorage:`,e),e}}async delete(e,t){try{let n=localStorage.getItem(e);if(!n)return;let r=JSON.parse(n).filter(e=>e.id!==t);localStorage.setItem(e,JSON.stringify(r))}catch(e){throw console.error(`Failed to delete preset from localStorage:`,e),e}}async list(e){try{let t=localStorage.getItem(e);return t?JSON.parse(t):[]}catch(e){throw console.error(`Failed to list presets from localStorage:`,e),e}}},Vr=class{constructor(e){this.config=e}async save(e,t){let n=this.config.saveEndpoint||`${this.config.baseUrl}/layouts`;try{let r=await fetch(n,{method:`POST`,headers:{"Content-Type":`application/json`,...this.config.headers},body:JSON.stringify({key:e,preset:t})});if(!r.ok)throw Error(`Server responded with ${r.status}`)}catch(e){throw console.error(`Failed to save preset to server:`,e),e}}async load(e,t){let n=this.config.loadEndpoint||`${this.config.baseUrl}/layouts`,r=t?`${n}/${e}/${t}`:`${n}/${e}`;try{let e=await fetch(r,{method:`GET`,headers:{"Content-Type":`application/json`,...this.config.headers}});if(e.status===404)return null;if(!e.ok)throw Error(`Server responded with ${e.status}`);return await e.json()}catch(e){throw console.error(`Failed to load preset from server:`,e),e}}async delete(e,t){let n=`${this.config.deleteEndpoint||`${this.config.baseUrl}/layouts`}/${e}/${t}`;try{let e=await fetch(n,{method:`DELETE`,headers:this.config.headers});if(!e.ok)throw Error(`Server responded with ${e.status}`)}catch(e){throw console.error(`Failed to delete preset from server:`,e),e}}async list(e){let t=`${this.config.listEndpoint||`${this.config.baseUrl}/layouts`}/${e}`;try{let e=await fetch(t,{method:`GET`,headers:{"Content-Type":`application/json`,...this.config.headers}});if(e.status===404)return[];if(!e.ok)throw Error(`Server responded with ${e.status}`);return await e.json()}catch(e){throw console.error(`Failed to list presets from server:`,e),e}}},Hr=class{constructor(e){this.config=e,this.baseAdapter=e.adapter||new Br}getUserKey(e){return`${this.config.profileKey||`user-layouts`}:${this.config.userId}:${e}`}async save(e,t){return this.baseAdapter.save(this.getUserKey(e),t)}async load(e,t){return this.baseAdapter.load(this.getUserKey(e),t)}async delete(e,t){return this.baseAdapter.delete(this.getUserKey(e),t)}async list(e){return this.baseAdapter.list(this.getUserKey(e))}};function Ur(e){if(e.customAdapter)return e.customAdapter;switch(e.strategy){case`server`:if(!e.serverConfig)throw Error(`Server configuration is required for server storage strategy`);return new Vr(e.serverConfig);case`userProfile`:if(!e.userProfileConfig)throw Error(`User profile configuration is required for userProfile storage strategy`);return new Hr(e.userProfileConfig);case`localStorage`:default:return new Br}}function Wr(){return`preset_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function Gr(e,t,n,r){let i=Date.now();return{id:r||Wr(),name:e,description:n,createdAt:i,updatedAt:i,layout:t}}var Kr=class{constructor(e){this.adapter=Ur(e),this.storageKey=e.storageKey}async savePreset(e){let t={...e,updatedAt:Date.now()};await this.adapter.save(this.storageKey,t)}async loadPreset(e){let t=await this.adapter.load(this.storageKey,e);return Array.isArray(t)?t.find(t=>t.id===e)||null:t}async loadLastPreset(){let e=await this.listPresets();return e.length===0?null:e.reduce((e,t)=>t.updatedAt>e.updatedAt?t:e)}async deletePreset(e){await this.adapter.delete(this.storageKey,e)}async listPresets(){return await this.adapter.list(this.storageKey)}async hasPreset(e){return await this.loadPreset(e)!==null}async autoSave(e){let t=Gr(`Auto-saved Layout`,e,`Automatically saved layout`,`__autosave__`);await this.savePreset(t)}async loadAutoSave(){return await this.loadPreset(`__autosave__`)}};function qr(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,r),n=null},t)}}const Jr={name:`quartz`,displayName:`Quartz (Modern White)`,colors:{background:`#ffffff`,backgroundAlt:`#f9fafb`,headerBackground:`#f3f4f6`,footerBackground:`#f9fafb`,border:`#e5e7eb`,borderLight:`#f3f4f6`,text:`#111827`,textSecondary:`#6b7280`,textInverse:`#ffffff`,headerText:`#374151`,hover:`#f3f4f6`,active:`#e5e7eb`,selected:`#dbeafe`,primary:`#3b82f6`,primaryHover:`#2563eb`,primaryLight:`#93c5fd`,primaryDark:`#1e40af`,primaryBackground:`#eff6ff`,textMuted:`#6b7280`,borderHover:`#9ca3af`,success:`#10b981`,warning:`#f59e0b`,error:`#ef4444`,info:`#3b82f6`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`8px`,style:`solid`},shadows:{light:`0 1px 2px 0 rgba(0, 0, 0, 0.05)`,medium:`0 4px 6px -1px rgba(0, 0, 0, 0.1)`,heavy:`0 10px 15px -3px rgba(0, 0, 0, 0.1)`}},Yr={name:`alpine`,displayName:`Alpine (Classic Business)`,colors:{background:`#ffffff`,backgroundAlt:`#fafafa`,headerBackground:`#f5f5f5`,footerBackground:`#f5f5f5`,border:`#d9d9d9`,borderLight:`#e8e8e8`,text:`#262626`,textSecondary:`#595959`,textInverse:`#ffffff`,headerText:`#262626`,hover:`#f5f5f5`,active:`#e8e8e8`,selected:`#e6f7ff`,primary:`#1890ff`,primaryHover:`#096dd9`,primaryLight:`#91d5ff`,primaryDark:`#0050b3`,primaryBackground:`#e6f7ff`,textMuted:`#8c8c8c`,borderHover:`#bfbfbf`,success:`#52c41a`,warning:`#faad14`,error:`#f5222d`,info:`#1890ff`},spacing:{cellPadding:`10px 12px`,headerPadding:`10px 12px`,rowHeight:`44px`},typography:{fontFamily:`"Segoe UI", Tahoma, Geneva, Verdana, sans-serif`,fontSize:`13px`,fontSizeSmall:`11px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`4px`,style:`solid`},shadows:{light:`0 1px 2px rgba(0, 0, 0, 0.08)`,medium:`0 2px 8px rgba(0, 0, 0, 0.12)`,heavy:`0 4px 12px rgba(0, 0, 0, 0.15)`}},Xr={name:`material`,displayName:`Material`,colors:{background:`#ffffff`,backgroundAlt:`#fafafa`,headerBackground:`#f5f5f5`,footerBackground:`#f5f5f5`,border:`#e0e0e0`,borderLight:`#eeeeee`,text:`#212121`,textSecondary:`#757575`,textInverse:`#ffffff`,headerText:`#424242`,hover:`#f5f5f5`,active:`#eeeeee`,selected:`#e3f2fd`,primary:`#2196f3`,primaryHover:`#1976d2`,primaryLight:`#90caf9`,primaryDark:`#0d47a1`,primaryBackground:`#e3f2fd`,textMuted:`#757575`,borderHover:`#bdbdbd`,success:`#4caf50`,warning:`#ff9800`,error:`#f44336`,info:`#2196f3`},spacing:{cellPadding:`14px 16px`,headerPadding:`14px 16px`,rowHeight:`52px`},typography:{fontFamily:`Roboto, "Helvetica Neue", Arial, sans-serif`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`500`},borders:{width:`1px`,radius:`4px`,style:`solid`},shadows:{light:`0 2px 1px -1px rgba(0,0,0,.2), 0 1px 1px 0 rgba(0,0,0,.14), 0 1px 3px 0 rgba(0,0,0,.12)`,medium:`0 3px 3px -2px rgba(0,0,0,.2), 0 3px 4px 0 rgba(0,0,0,.14), 0 1px 8px 0 rgba(0,0,0,.12)`,heavy:`0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12)`}},Zr={name:`dark`,displayName:`Dark Mode`,colors:{background:`#1e1e1e`,backgroundAlt:`#252526`,headerBackground:`#2d2d30`,footerBackground:`#252526`,border:`#3e3e42`,borderLight:`#333333`,text:`#d4d4d4`,textSecondary:`#969696`,textInverse:`#1e1e1e`,headerText:`#e0e0e0`,hover:`#2a2d2e`,active:`#37373d`,selected:`#264f78`,primary:`#4a9eff`,primaryHover:`#6eb4ff`,primaryLight:`#80b9ff`,primaryDark:`#2d7dd2`,primaryBackground:`#1e3a5f`,textMuted:`#858585`,borderHover:`#505050`,success:`#4ec9b0`,warning:`#dcdcaa`,error:`#f48771`,info:`#4a9eff`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`6px`,style:`solid`},shadows:{light:`0 2px 4px rgba(0, 0, 0, 0.3)`,medium:`0 4px 8px rgba(0, 0, 0, 0.4)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.5)`}},Qr={name:`nord`,displayName:`Nord (Arctic)`,colors:{background:`#eceff4`,backgroundAlt:`#e5e9f0`,headerBackground:`#d8dee9`,footerBackground:`#e5e9f0`,border:`#d8dee9`,borderLight:`#e5e9f0`,text:`#2e3440`,textSecondary:`#4c566a`,textInverse:`#eceff4`,headerText:`#2e3440`,hover:`#e5e9f0`,active:`#d8dee9`,selected:`#d8dee9`,primary:`#5e81ac`,primaryHover:`#81a1c1`,primaryLight:`#88c0d0`,primaryDark:`#5e81ac`,primaryBackground:`#d8dee9`,textMuted:`#4c566a`,borderHover:`#4c566a`,success:`#a3be8c`,warning:`#ebcb8b`,error:`#bf616a`,info:`#88c0d0`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`6px`,style:`solid`},shadows:{light:`0 1px 3px rgba(0, 0, 0, 0.12)`,medium:`0 3px 6px rgba(0, 0, 0, 0.15)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.18)`}},$r={name:`dracula`,displayName:`Dracula`,colors:{background:`#282a36`,backgroundAlt:`#21222c`,headerBackground:`#44475a`,footerBackground:`#21222c`,border:`#44475a`,borderLight:`#6272a4`,text:`#f8f8f2`,textSecondary:`#6272a4`,textInverse:`#282a36`,headerText:`#f8f8f2`,hover:`#44475a`,active:`#6272a4`,selected:`#44475a`,primary:`#bd93f9`,primaryHover:`#caa9fa`,primaryLight:`#d6bcfb`,primaryDark:`#9b72dd`,primaryBackground:`#44475a`,textMuted:`#6272a4`,borderHover:`#bd93f9`,success:`#50fa7b`,warning:`#f1fa8c`,error:`#ff5555`,info:`#8be9fd`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`"Fira Code", "Consolas", monospace, -apple-system, BlinkMacSystemFont, "Segoe UI"`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`8px`,style:`solid`},shadows:{light:`0 2px 4px rgba(0, 0, 0, 0.4)`,medium:`0 4px 8px rgba(0, 0, 0, 0.5)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.6)`}},ei={name:`solarized-light`,displayName:`Solarized Light`,colors:{background:`#fdf6e3`,backgroundAlt:`#eee8d5`,headerBackground:`#eee8d5`,footerBackground:`#eee8d5`,border:`#93a1a1`,borderLight:`#eee8d5`,text:`#657b83`,textSecondary:`#93a1a1`,textInverse:`#fdf6e3`,headerText:`#586e75`,hover:`#eee8d5`,active:`#93a1a1`,selected:`#d3cbb7`,primary:`#268bd2`,primaryHover:`#2aa198`,primaryLight:`#6c71c4`,primaryDark:`#073642`,primaryBackground:`#eee8d5`,textMuted:`#93a1a1`,borderHover:`#657b83`,success:`#859900`,warning:`#b58900`,error:`#dc322f`,info:`#268bd2`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`"Source Code Pro", "Menlo", "Monaco", monospace`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`4px`,style:`solid`},shadows:{light:`0 1px 3px rgba(0, 0, 0, 0.08)`,medium:`0 3px 6px rgba(0, 0, 0, 0.12)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.15)`}},ti={name:`solarized-dark`,displayName:`Solarized Dark`,colors:{background:`#002b36`,backgroundAlt:`#073642`,headerBackground:`#073642`,footerBackground:`#073642`,border:`#586e75`,borderLight:`#073642`,text:`#839496`,textSecondary:`#657b83`,textInverse:`#002b36`,headerText:`#93a1a1`,hover:`#073642`,active:`#586e75`,selected:`#094757`,primary:`#268bd2`,primaryHover:`#2aa198`,primaryLight:`#6c71c4`,primaryDark:`#073642`,primaryBackground:`#073642`,textMuted:`#657b83`,borderHover:`#839496`,success:`#859900`,warning:`#b58900`,error:`#dc322f`,info:`#268bd2`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`"Source Code Pro", "Menlo", "Monaco", monospace`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`4px`,style:`solid`},shadows:{light:`0 2px 4px rgba(0, 0, 0, 0.3)`,medium:`0 4px 8px rgba(0, 0, 0, 0.4)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.5)`}},ni={name:`monokai`,displayName:`Monokai`,colors:{background:`#272822`,backgroundAlt:`#1e1f1c`,headerBackground:`#3e3d32`,footerBackground:`#1e1f1c`,border:`#49483e`,borderLight:`#3e3d32`,text:`#f8f8f2`,textSecondary:`#75715e`,textInverse:`#272822`,headerText:`#f8f8f2`,hover:`#3e3d32`,active:`#49483e`,selected:`#49483e`,primary:`#66d9ef`,primaryHover:`#a6e22e`,primaryLight:`#e6db74`,primaryDark:`#ae81ff`,primaryBackground:`#3e3d32`,textMuted:`#75715e`,borderHover:`#66d9ef`,success:`#a6e22e`,warning:`#e6db74`,error:`#f92672`,info:`#66d9ef`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`"Fira Code", "Monaco", "Consolas", monospace`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`6px`,style:`solid`},shadows:{light:`0 2px 4px rgba(0, 0, 0, 0.5)`,medium:`0 4px 8px rgba(0, 0, 0, 0.6)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.7)`}},ri={name:`one-dark`,displayName:`One Dark`,colors:{background:`#282c34`,backgroundAlt:`#21252b`,headerBackground:`#2c313c`,footerBackground:`#21252b`,border:`#3e4451`,borderLight:`#2c313c`,text:`#abb2bf`,textSecondary:`#5c6370`,textInverse:`#282c34`,headerText:`#abb2bf`,hover:`#2c313c`,active:`#3e4451`,selected:`#3e4451`,primary:`#61afef`,primaryHover:`#528bff`,primaryLight:`#84b9f0`,primaryDark:`#4e88c7`,primaryBackground:`#2c313c`,textMuted:`#5c6370`,borderHover:`#528bff`,success:`#98c379`,warning:`#e5c07b`,error:`#e06c75`,info:`#61afef`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`"Fira Code", "Menlo", "Monaco", "Consolas", monospace`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`6px`,style:`solid`},shadows:{light:`0 2px 4px rgba(0, 0, 0, 0.4)`,medium:`0 4px 8px rgba(0, 0, 0, 0.5)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.6)`}},ii={quartz:Jr,alpine:Yr,material:Xr,dark:Zr,nord:Qr,dracula:$r,"solarized-light":ei,"solarized-dark":ti,monokai:ni,"one-dark":ri};function ai(e){return ii[e]||Jr}function oi(e){return{"--grid-bg":e.colors.background,"--grid-bg-alt":e.colors.backgroundAlt,"--grid-header-bg":e.colors.headerBackground,"--grid-footer-bg":e.colors.footerBackground,"--grid-border":e.colors.border,"--grid-border-light":e.colors.borderLight,"--grid-text":e.colors.text,"--grid-text-secondary":e.colors.textSecondary,"--grid-text-inverse":e.colors.textInverse,"--grid-header-text":e.colors.headerText,"--grid-hover":e.colors.hover,"--grid-active":e.colors.active,"--grid-selected":e.colors.selected,"--grid-primary":e.colors.primary,"--grid-primary-hover":e.colors.primaryHover,"--grid-primary-light":e.colors.primaryLight,"--grid-primary-dark":e.colors.primaryDark,"--grid-primary-bg":e.colors.primaryBackground,"--grid-text-muted":e.colors.textMuted,"--grid-border-hover":e.colors.borderHover,"--grid-success":e.colors.success,"--grid-warning":e.colors.warning,"--grid-error":e.colors.error,"--grid-info":e.colors.info,"--grid-cell-padding":e.spacing.cellPadding,"--grid-header-padding":e.spacing.headerPadding,"--grid-row-height":e.spacing.rowHeight,"--grid-font-family":e.typography.fontFamily,"--grid-font-size":e.typography.fontSize,"--grid-font-size-sm":e.typography.fontSizeSmall,"--grid-font-weight":e.typography.fontWeight,"--grid-header-font-weight":e.typography.headerFontWeight,"--grid-border-width":e.borders.width,"--grid-border-radius":e.borders.radius,"--grid-border-style":e.borders.style,"--grid-shadow-light":e.shadows.light,"--grid-shadow-medium":e.shadows.medium,"--grid-shadow-heavy":e.shadows.heavy}}const si=()=>{let e=b.useRef(``),t=(0,b.useRef)(null);(0,b.useEffect)(()=>()=>{t.current&&clearTimeout(t.current)},[]);let n=(0,b.useCallback)((n,r={})=>{let{delay:i=0}=r;t.current&&clearTimeout(t.current),i>0?t.current=setTimeout(()=>{e.current=n},i):e.current=n},[]);return{announcementRef:e,announce:n,announceSorting:(0,b.useCallback)((e,t)=>{n(t?`Sorted by ${e} ${t===`asc`?`ascending`:`descending`}`:`Sorting cleared`)},[n]),announceSelection:(0,b.useCallback)(e=>{n(e===0?`All rows deselected`:e===1?`1 row selected`:`${e} rows selected`)},[n]),announceFiltering:(0,b.useCallback)((e,t,r)=>{n(t?`Filter applied to ${e}${r===void 0?``:`, ${r} results found`}`:`Filter cleared from ${e}`)},[n]),announcePagination:(0,b.useCallback)((e,t,r)=>{n(`Page ${e+1} of ${t}, showing ${r} rows`)},[n]),announceFocus:(0,b.useCallback)((e,t,r)=>{let i=r==null?``:`, value: ${r}`;n(`Row ${e+1}, ${t}${i}`,{delay:100})},[n]),announceEditing:(0,b.useCallback)((e,t)=>{n(t?`Editing ${e}. Press Enter to save, Escape to cancel`:`Edit saved for ${e}`)},[n]),announceRowReorder:(0,b.useCallback)((e,t)=>{n(`Row moved from position ${e+1} to position ${t+1}`)},[n]),announceColumnVisibility:(0,b.useCallback)((e,t)=>{n(t?`${e} column shown`:`${e} column hidden`)},[n]),announceLoading:(0,b.useCallback)((e,t)=>{e?n(t||`Loading data...`,{priority:`assertive`}):n(`Data loaded`,{priority:`polite`})},[n])}},ci=({message:e,priority:t=`polite`})=>(0,Y.jsx)(`div`,{role:t===`assertive`?`alert`:`status`,"aria-live":t,"aria-atomic":`true`,style:{position:`absolute`,left:`-10000px`,width:`1px`,height:`1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`},children:e});var li=class{constructor(e,t,n,r,i,a,o){this.persistenceManager=null,this.destroyed=!1,this.eventListeners=new Map,this.state=e,this.dispatch=t,this.columns=n,this.rows=r,this.containerRef=i,this.persistenceManager=a||null,this.setInternalRows=o}updateState(e){this.state=e}updateData(e,t){this.columns=e,this.rows=t}updateCallbacks(e){this.setInternalRows=e}setRowData(e){this.ensureNotDestroyed(),this.rows=e,this.setInternalRows&&this.setInternalRows(e),this.dispatch({type:`SET_ROW_DATA`,payload:e}),this.fireEvent(`rowDataChanged`,{api:this,rows:e})}applyTransaction(e){this.ensureNotDestroyed();let t={add:[],remove:[],update:[]},n=[...this.rows];if(e.remove&&e.remove.length>0){let r=new Set(e.remove.map(e=>e.id)),i=n.filter(e=>r.has(e.id));n=n.filter(e=>!r.has(e.id)),t.remove=i.map((e,t)=>this.createRowNode(e,t))}if(e.update&&e.update.length>0){let r=new Map(e.update.map(e=>[e.id,e]));n=n.map(e=>{let n=r.get(e.id);return n?(t.update.push(this.createRowNode(n,0)),{...e,...n}):e})}if(e.add&&e.add.length>0){let r=e.addIndex??n.length;n.splice(r,0,...e.add),t.add=e.add.map((e,t)=>this.createRowNode(e,r+t))}return this.setRowData(n),this.fireEvent(`rowDataUpdated`,{api:this,transaction:t}),t}async applyTransactionAsync(e){return Promise.resolve(this.applyTransaction(e))}getModel(){return{getRowCount:()=>this.rows.length,getRow:e=>{let t=this.rows[e];return t?this.createRowNode(t,e):null},forEachNode:e=>{this.rows.forEach((t,n)=>{e(this.createRowNode(t,n),n)})}}}getDisplayedRowCount(){return this.ensureNotDestroyed(),this.getDisplayedRows().length}getDisplayedRowAtIndex(e){this.ensureNotDestroyed();let t=this.getDisplayedRows()[e];return t?this.createRowNode(t,e):null}forEachNode(e){this.ensureNotDestroyed(),this.rows.forEach((t,n)=>{e(this.createRowNode(t,n),n)})}forEachNodeAfterFilter(e){this.ensureNotDestroyed(),this.getFilteredRows().forEach((t,n)=>{e(this.createRowNode(t,n),n)})}forEachNodeAfterFilterAndSort(e){this.ensureNotDestroyed(),this.getDisplayedRows().forEach((t,n)=>{e(this.createRowNode(t,n),n)})}getFirstDisplayedRow(){return 0}getLastDisplayedRow(){return Math.max(0,this.getDisplayedRowCount()-1)}getColumnDefs(){return this.ensureNotDestroyed(),[...this.columns]}setColumnDefs(e){this.ensureNotDestroyed(),this.columns=e,this.dispatch({type:`SET_COLUMN_DEFS`,payload:e}),this.fireEvent(`columnDefsChanged`,{api:this,columnDefs:e})}getAllColumns(){return this.getColumnDefs()}getDisplayedCenterColumns(){this.ensureNotDestroyed();let e=new Set(this.state.pinnedColumnsLeft),t=new Set(this.state.pinnedColumnsRight),n=new Set(this.state.hiddenColumns);return this.state.columnOrder.filter(r=>!e.has(r)&&!t.has(r)&&!n.has(r)).map(e=>this.columns.find(t=>t.field===e)).filter(e=>e!==void 0)}getDisplayedLeftColumns(){this.ensureNotDestroyed();let e=new Set(this.state.hiddenColumns);return this.state.pinnedColumnsLeft.filter(t=>!e.has(t)).map(e=>this.columns.find(t=>t.field===e)).filter(e=>e!==void 0)}getDisplayedRightColumns(){this.ensureNotDestroyed();let e=new Set(this.state.hiddenColumns);return this.state.pinnedColumnsRight.filter(t=>!e.has(t)).map(e=>this.columns.find(t=>t.field===e)).filter(e=>e!==void 0)}setColumnVisible(e,t){this.ensureNotDestroyed();let n=this.resolveColKey(e);n&&(this.dispatch({type:`SET_COLUMN_VISIBILITY`,payload:{field:n,visible:t}}),this.fireEvent(`columnVisible`,{api:this,column:n,visible:t}))}setColumnsVisible(e,t){this.ensureNotDestroyed(),e.forEach(e=>this.setColumnVisible(e,t))}setColumnPinned(e,t){this.ensureNotDestroyed();let n=this.resolveColKey(e);n&&(t?this.dispatch({type:`PIN_COLUMN`,payload:{field:n,side:t}}):this.dispatch({type:`UNPIN_COLUMN`,payload:n}),this.fireEvent(`columnPinned`,{api:this,column:n,pinned:t}))}autoSizeColumns(e){if(this.ensureNotDestroyed(),!e||e.length===0){this.autoSizeAllColumns();return}e.forEach(e=>{let t=this.resolveColKey(e);if(t){let e=this.calculateColumnWidth(t);this.dispatch({type:`RESIZE_COLUMN`,payload:{field:t,width:e}})}}),this.fireEvent(`columnResized`,{api:this,columns:e})}autoSizeAllColumns(){this.ensureNotDestroyed();let e={};this.columns.forEach(t=>{e[t.field]=this.calculateColumnWidth(t.field)}),Object.entries(e).forEach(([e,t])=>{this.dispatch({type:`RESIZE_COLUMN`,payload:{field:e,width:t}})}),this.fireEvent(`columnResized`,{api:this,columns:Object.keys(e)})}moveColumn(e,t){this.ensureNotDestroyed();let n=this.resolveColKey(e);if(n){let e=this.state.columnOrder.indexOf(n);e!==-1&&(this.dispatch({type:`REORDER_COLUMNS`,payload:{fromIndex:e,toIndex:t}}),this.fireEvent(`columnMoved`,{api:this,column:n,toIndex:t}))}}moveColumns(e,t){this.ensureNotDestroyed(),e.forEach((e,n)=>{this.moveColumn(e,t+n)})}getColumnState(){this.ensureNotDestroyed();let e=new Set(this.state.pinnedColumnsLeft),t=new Set(this.state.pinnedColumnsRight);return this.state.columnOrder.map(n=>{let r=this.state.hiddenColumns.includes(n),i=this.state.sortConfig.field===n;return{colId:n,width:this.state.columnWidths[n],hide:r,pinned:e.has(n)?`left`:t.has(n)?`right`:null,sort:i?this.state.sortConfig.direction:null,sortIndex:i?0:void 0}})}applyColumnState(e){this.ensureNotDestroyed(),e.forEach(e=>{let{colId:t,width:n,hide:r,pinned:i,sort:a}=e;n!==void 0&&this.dispatch({type:`RESIZE_COLUMN`,payload:{field:t,width:n}}),r!==void 0&&r!==this.state.hiddenColumns.includes(t)&&this.dispatch({type:`TOGGLE_COLUMN_VISIBILITY`,payload:t}),i!==void 0&&this.setColumnPinned(t,i),a!=null&&this.dispatch({type:`SORT_COLUMN`,payload:t})}),this.fireEvent(`columnStateChanged`,{api:this,state:e})}resetColumnState(){this.ensureNotDestroyed(),this.dispatch({type:`RESET_COLUMN_STATE`}),this.fireEvent(`columnStateReset`,{api:this})}getColumn(e){let t=this.resolveColKey(e);return t&&this.columns.find(e=>e.field===t)||null}isAnyFilterPresent(){return this.ensureNotDestroyed(),Object.keys(this.state.filterConfig).length>0}getFilterModel(){return this.ensureNotDestroyed(),{...this.state.filterConfig}}setFilterModel(e){this.ensureNotDestroyed(),Object.entries(e).forEach(([e,t])=>{this.dispatch({type:`SET_FILTER`,payload:{field:e,value:t}})}),this.fireEvent(`filterChanged`,{api:this,filterModel:e})}onFilterChanged(){this.ensureNotDestroyed(),this.fireEvent(`filterChanged`,{api:this,filterModel:this.getFilterModel()})}destroyFilter(e){this.ensureNotDestroyed();let t=this.resolveColKey(e);t&&this.dispatch({type:`SET_FILTER`,payload:{field:t,value:null}})}getFilterInstance(e){return null}clearAllFilters(){this.ensureNotDestroyed(),this.dispatch({type:`CLEAR_FILTERS`}),this.fireEvent(`filterChanged`,{api:this,filterModel:{}})}getSortModel(){return this.ensureNotDestroyed(),this.state.sortConfig.field&&this.state.sortConfig.direction?[this.state.sortConfig]:[]}setSortModel(e){this.ensureNotDestroyed();let t=e.length>0?e[0]:{field:``,direction:null};this.dispatch({type:`SET_SORT`,payload:t}),this.fireEvent(`sortChanged`,{api:this,sortModel:e})}onSortChanged(){this.ensureNotDestroyed(),this.fireEvent(`sortChanged`,{api:this,sortModel:this.getSortModel()})}clearAllSorting(){this.ensureNotDestroyed(),this.dispatch({type:`SET_SORT`,payload:{field:``,direction:null}}),this.fireEvent(`sortChanged`,{api:this,sortModel:[]})}getSelectedNodes(){this.ensureNotDestroyed();let e=Array.from(this.state.selection.selectedRows);return this.rows.filter(t=>e.includes(t.id)).map((e,t)=>this.createRowNode(e,t,!0))}getSelectedRows(){this.ensureNotDestroyed();let e=Array.from(this.state.selection.selectedRows);return this.rows.filter(t=>e.includes(t.id))}selectAll(){this.ensureNotDestroyed();let e=this.rows.map(e=>e.id);this.dispatch({type:`SELECT_RANGE`,payload:{startIndex:0,endIndex:this.rows.length-1,rowIds:e}}),this.fireEvent(`selectionChanged`,{api:this})}deselectAll(){this.ensureNotDestroyed(),this.dispatch({type:`DESELECT_ALL_ROWS`}),this.fireEvent(`selectionChanged`,{api:this})}selectAllFiltered(){this.ensureNotDestroyed();let e=this.getFilteredRows(),t=e.map(e=>e.id);this.dispatch({type:`SELECT_RANGE`,payload:{startIndex:0,endIndex:e.length-1,rowIds:t}}),this.fireEvent(`selectionChanged`,{api:this})}deselectAllFiltered(){this.ensureNotDestroyed();let e=this.getFilteredRows(),t=new Set(e.map(e=>e.id));Array.from(this.state.selection.selectedRows).forEach(e=>{t.has(e)&&this.dispatch({type:`DESELECT_ROW`,payload:e})}),this.fireEvent(`selectionChanged`,{api:this})}getSelectedRowCount(){return this.state.selection.selectedRows.size}ensureIndexVisible(e,t){if(this.ensureNotDestroyed(),!this.containerRef.current)return;let n=this.containerRef.current.querySelector(`[data-row-index="${e}"]`);if(n){let e={behavior:`smooth`,block:t===`top`?`start`:t===`bottom`?`end`:`center`};n.scrollIntoView(e)}}ensureNodeVisible(e,t){this.ensureIndexVisible(e.rowIndex,t)}setFocusedCell(e,t){this.ensureNotDestroyed();let n=this.resolveColKey(t);if(n){let t=this.state.columnOrder.indexOf(n);t!==-1&&(this.dispatch({type:`SET_FOCUS`,payload:{rowIndex:e,columnIndex:t}}),this.fireEvent(`cellFocused`,{api:this,rowIndex:e,column:n}))}}clearFocusedCell(){this.ensureNotDestroyed(),this.dispatch({type:`CLEAR_FOCUS`}),this.fireEvent(`cellFocusCleared`,{api:this})}getFocusedCell(){if(!this.state.focusState)return null;let e=this.state.columnOrder[this.state.focusState.columnIndex],t=this.columns.find(t=>t.field===e);return t?{rowIndex:this.state.focusState.rowIndex,column:t}:null}startEditingCell(e){this.ensureNotDestroyed();let t=this.resolveColKey(e.colKey);if(t){let n=this.getDisplayedRowAtIndex(e.rowIndex);n&&(this.dispatch({type:`START_EDITING`,payload:{rowId:n.id,field:t,value:n.data[t]}}),this.fireEvent(`cellEditingStarted`,{api:this,...e}))}}stopEditing(e=!1){this.ensureNotDestroyed(),e?this.dispatch({type:`CANCEL_EDITING`}):this.dispatch({type:`SAVE_EDIT`}),this.fireEvent(`cellEditingStopped`,{api:this,cancel:e})}getEditingCells(){if(!this.state.editState.rowId)return[];let e=this.columns.find(e=>e.field===this.state.editState.field);if(!e)return[];let t=this.rows.findIndex(e=>e.id===this.state.editState.rowId);return t===-1?[]:[{rowIndex:t,column:e}]}refreshCells(e){this.ensureNotDestroyed(),this.dispatch({type:`REFRESH_CELLS`,payload:e}),this.fireEvent(`cellsRefreshed`,{api:this,params:e})}refreshHeader(){this.ensureNotDestroyed(),this.dispatch({type:`REFRESH_HEADER`}),this.fireEvent(`headerRefreshed`,{api:this})}refreshToolPanel(){this.ensureNotDestroyed(),this.fireEvent(`toolPanelRefreshed`,{api:this})}redrawRows(e){this.ensureNotDestroyed(),this.dispatch({type:`REDRAW_ROWS`,payload:e}),this.fireEvent(`rowsRedrawn`,{api:this,params:e})}sizeColumnsToFit(){if(this.ensureNotDestroyed(),!this.containerRef.current)return;let e=this.containerRef.current.clientWidth,t=this.getDisplayedCenterColumns().concat(this.getDisplayedLeftColumns()).concat(this.getDisplayedRightColumns());if(t.length===0)return;let n=e/t.reduce((e,t)=>e+(this.state.columnWidths[t.field]||t.width||150),0);t.forEach(e=>{let t=this.state.columnWidths[e.field]||e.width||150,r=Math.max(50,Math.floor(t*n));this.dispatch({type:`RESIZE_COLUMN`,payload:{field:e.field,width:r}})}),this.fireEvent(`columnResized`,{api:this,reason:`sizeColumnsToFit`})}doLayout(){this.ensureNotDestroyed(),this.dispatch({type:`RECALCULATE_LAYOUT`}),this.fireEvent(`layoutChanged`,{api:this})}exportDataAsCsv(e){this.ensureNotDestroyed();let t=this.getDataAsCsv(e),n=(e?.fileName||`export`)+`.csv`,r=new Blob([t],{type:`text/csv;charset=utf-8;`}),i=document.createElement(`a`),a=URL.createObjectURL(r);i.setAttribute(`href`,a),i.setAttribute(`download`,n),i.style.visibility=`hidden`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(a),this.fireEvent(`csvExported`,{api:this,params:e})}getDataAsCsv(e){this.ensureNotDestroyed();let t=e?.columnSeparator||`,`,n=e?.suppressQuotes||!1,r=this.columns;e?.columnKeys&&(r=e.columnKeys.map(e=>this.resolveColKey(e)).filter(Boolean).map(e=>this.columns.find(t=>t.field===e)).filter(e=>e!==void 0));let i=e?.onlySelected?this.getSelectedRows():e?.onlyFiltered?this.getFilteredRows():this.rows,a=[];if(!e?.skipHeader){let e=r.map(e=>this.formatCsvValue(e.headerName,n)).join(t);a.push(e)}return i.forEach((i,o)=>{let s=this.createRowNode(i,o),c=r.map(t=>{let r=i[t.field],a=r;return e?.processCellCallback&&(a=e.processCellCallback({value:r,column:t,node:s})),this.formatCsvValue(a,n)}).join(t);a.push(c)}),a.join(`
|
|
44
|
+
`);let s=new Blob([o],{type:`text/csv;charset=utf-8;`}),c=document.createElement(`a`),l=URL.createObjectURL(s);c.setAttribute(`href`,l),c.setAttribute(`download`,r),c.style.visibility=`hidden`,document.body.appendChild(c),c.click(),document.body.removeChild(c),URL.revokeObjectURL(l)},pr=(e,t,n=60,r=500,i=32)=>{let a=document.createElement(`canvas`).getContext(`2d`);if(!a)return e.width||150;a.font=`14px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`;let o=a.measureText(e.headerName).width+i,s=Math.min(t.length,100),c=t.slice(0,s),l=0;for(let t of c){let n=t[e.field],r=n==null?``:String(n),o=a.measureText(r).width+i;l=Math.max(l,o)}let u=Math.max(o,l);return Math.max(n,Math.min(r,u))},mr=(e,t)=>{let n={};return e.forEach(e=>{n[e.field]=pr(e,t)}),n},hr=e=>({type:`equals`,value:e}),gr=(e,t,n=100)=>{let r=new Set;for(let i of t){let t=i[e.field];if(t!=null&&r.add(t),r.size>=n)break}return Array.from(r).sort((e,t)=>{if(typeof e==`string`&&typeof t==`string`)return e.localeCompare(t);if(typeof e==`number`&&typeof t==`number`)return e-t;let n=String(e),r=String(t);return n.localeCompare(r)})},_r=({config:e={},columns:t,rows:n,selectedRows:r,onPinColumn:i,onUnpinColumn:a,onToggleColumnVisibility:o,onResizeColumn:s,onAutoSizeAllColumns:c,onSetFilter:l,onPinRowTop:u,onPinRowBottom:d,onUnpinRow:f,pinnedColumnsLeft:p=[],pinnedColumnsRight:m=[],pinnedRowsTop:h=[],pinnedRowsBottom:g=[]})=>{let[_,v]=(0,b.useState)({isOpen:!1,x:0,y:0,items:[],contextType:null}),y=(0,b.useMemo)(()=>({enabled:e?.enabled!==!1,showCopy:e?.showCopy!==!1,showExport:e?.showExport!==!1,showColumnOptions:e?.showColumnOptions!==!1,showFilterByValue:e?.showFilterByValue!==!1,showChartOptions:e?.showChartOptions!==!1,customItems:e?.customItems||[],onBeforeShow:e?.onBeforeShow,onCreateChart:e?.onCreateChart}),[e?.enabled,e?.showCopy,e?.showExport,e?.showColumnOptions,e?.showFilterByValue,e?.showChartOptions,e?.customItems,e?.onBeforeShow,e?.onCreateChart]),x=(0,b.useCallback)((e,i)=>{let a=[],o=r.size>0,s=e.id,c=h.includes(s),p=g.includes(s);if(u&&d&&f&&(c||p?a.push({id:`unpin-row`,label:`Unpin Row`,icon:`📍`,onClick:()=>f(s)}):(a.push({id:`pin-row-top`,label:`Pin Row to Top`,icon:`📌`,onClick:()=>u(s)}),a.push({id:`pin-row-bottom`,label:`Pin Row to Bottom`,icon:`📌`,onClick:()=>d(s)})),a.push({type:`separator`})),y.showCopy&&(a.push({id:`copy`,label:`Copy`,icon:`📋`,shortcut:`Ctrl+C`,onClick:()=>{if(o)dr(r,t,n,!1);else{let t=e[i.field],n=t==null?``:String(t);navigator.clipboard.writeText(n)}}}),a.push({id:`copy-with-headers`,label:`Copy with Headers`,icon:`📋`,onClick:()=>{o&&dr(r,t,n,!0)},disabled:!o})),y.showExport&&o&&a.push({id:`export-selected`,label:`Export Selected Range`,icon:`📤`,onClick:()=>{fr(r,t,n)}}),a.length>0&&(y.showFilterByValue||y.customItems.length>0)&&a.push({type:`separator`}),y.showFilterByValue&&l){let t=e[i.field];a.push({id:`filter-by-value`,label:`Filter by "${String(t)}"`,icon:`🔍`,onClick:()=>{l(i.field,hr(t))},disabled:t==null})}return y.showChartOptions!==!1&&o&&(a.length>0&&a.push({type:`separator`}),a.push({id:`create-chart`,label:`Create Chart`,icon:`📊`,submenu:[{id:`chart-line`,label:`Line Chart`,icon:`📈`,onClick:()=>{y.onCreateChart&&y.onCreateChart(`line`,r,e,i)}},{id:`chart-bar`,label:`Bar Chart`,icon:`📊`,onClick:()=>{y.onCreateChart&&y.onCreateChart(`bar`,r,e,i)}},{id:`chart-area`,label:`Area Chart`,icon:`📉`,onClick:()=>{y.onCreateChart&&y.onCreateChart(`area`,r,e,i)}},{id:`chart-pie`,label:`Pie Chart`,icon:`🥧`,onClick:()=>{y.onCreateChart&&y.onCreateChart(`pie`,r,e,i)}}]})),y.customItems.length>0&&(a.length>0&&a.push({type:`separator`}),a.push(...y.customItems)),a},[y,r,t,n,l,u,d,f,h,g]),S=(0,b.useCallback)(e=>{let r=[],u=p.includes(e.field),d=m.includes(e.field),f=u||d;if(y.showColumnOptions&&e.pinnable!==!1&&(f?r.push({id:`unpin`,label:`Unpin Column`,icon:`📍`,onClick:()=>a?.(e.field)}):(r.push({id:`pin-left`,label:`Pin Left`,icon:`📌`,onClick:()=>i?.(e.field,`left`)}),r.push({id:`pin-right`,label:`Pin Right`,icon:`📌`,onClick:()=>i?.(e.field,`right`)})),r.push({type:`separator`})),y.showColumnOptions&&(r.push({id:`auto-size`,label:`Auto-size This Column`,icon:`↔️`,onClick:()=>{let t=pr(e,n);s?.(e.field,t)}}),r.push({id:`resize-to-fit`,label:`Resize to Fit`,icon:`↔️`,onClick:()=>{let t=pr(e,n);s?.(e.field,t)}}),r.push({id:`auto-size-all`,label:`Auto-size All Columns`,icon:`⇔`,onClick:()=>{let e=mr(t,n);c?.(e)}}),r.push({type:`separator`})),y.showColumnOptions&&r.push({id:`hide`,label:`Hide Column`,icon:`👁️`,onClick:()=>o?.(e.field)}),y.showFilterByValue&&l&&e.filterable!==!1){r.push({type:`separator`});let t=gr(e,n,10);t.length>0&&r.push({id:`filter-by-value-header`,label:`Filter by Value`,icon:`🔍`,submenu:t.map((t,n)=>({id:`filter-value-${n}`,label:String(t),onClick:()=>{l(e.field,hr(t))}}))})}return y.customItems.length>0&&(r.push({type:`separator`}),r.push(...y.customItems)),r},[y,p,m,t,n,i,a,s,c,o,l]);return{contextMenu:_,handleContextMenu:(0,b.useCallback)(e=>{if(!y.enabled)return;e.event.preventDefault();let t=[];if(e.type===`cell`&&e.row&&e.column?t=x(e.row,e.column):e.type===`header`&&e.column&&(t=S(e.column)),y.onBeforeShow){let n=y.onBeforeShow(e);n!==null&&(t=n)}t.length>0&&v({isOpen:!0,x:e.event.clientX,y:e.event.clientY,items:t,contextType:e.type,targetRow:e.row,targetColumn:e.column,targetRowIndex:e.rowIndex,targetColumnIndex:e.columnIndex})},[y,x,S]),closeContextMenu:(0,b.useCallback)(()=>{v({isOpen:!1,x:0,y:0,items:[],contextType:null})},[])}};var vr=g();const yr=({state:e,maxWidth:t=300,offset:n=8})=>{let r=(0,b.useRef)(null),[i,a]=(0,b.useState)({x:0,y:0}),[o,s]=(0,b.useState)(e.placement);if((0,b.useLayoutEffect)(()=>{if(!e.isVisible||!r.current||!e.targetRect)return;let t=r.current.getBoundingClientRect(),i=window.innerWidth,o=window.innerHeight,c=e.targetRect,l=e.x,u=e.y,d=e.placement;if(e.placement===`auto`||e.placement===`top`||e.placement===`bottom`){let r=c.top,a=o-c.bottom,s=c.left,f=i-c.right;e.placement===`auto`&&(d=a>=t.height+n?`bottom`:r>=t.height+n?`top`:f>=t.width+n?`right`:s>=t.width+n?`left`:`bottom`),d===`top`?(l=c.left+c.width/2-t.width/2,u=c.top-t.height-n):d===`bottom`?(l=c.left+c.width/2-t.width/2,u=c.bottom+n):d===`left`?(l=c.left-t.width-n,u=c.top+c.height/2-t.height/2):d===`right`&&(l=c.right+n,u=c.top+c.height/2-t.height/2),l<10?l=10:l+t.width>i-10&&(l=i-t.width-10),u<10?u=10:u+t.height>o-10&&(u=o-t.height-10)}else e.placement===`left`?(l=c.left-t.width-n,u=c.top+c.height/2-t.height/2):e.placement===`right`&&(l=c.right+n,u=c.top+c.height/2-t.height/2),u<10?u=10:u+t.height>o-10&&(u=o-t.height-10),l<10?l=10:l+t.width>i-10&&(l=i-t.width-10);setTimeout(()=>a({x:l,y:u}),0),setTimeout(()=>s(d),0)},[e.isVisible,e.x,e.y,e.targetRect,e.placement,n]),!e.isVisible||!e.content)return null;let c=typeof e.content==`string`?{content:e.content}:e.content;return(0,vr.createPortal)((0,Y.jsxs)(`div`,{ref:r,role:`tooltip`,"aria-live":`polite`,style:{position:`fixed`,left:`${i.x}px`,top:`${i.y}px`,maxWidth:`${t}px`,zIndex:99999,pointerEvents:`none`,opacity:e.isVisible?1:0,transition:`opacity 0.15s ease-in-out`},children:[(0,Y.jsxs)(`div`,{style:{backgroundColor:`rgba(0, 0, 0, 0.9)`,color:`white`,padding:`8px 12px`,borderRadius:`6px`,fontSize:`13px`,lineHeight:`1.5`,boxShadow:`0 4px 12px rgba(0, 0, 0, 0.3)`,wordWrap:`break-word`},children:[c.title&&(0,Y.jsx)(`div`,{style:{fontWeight:`600`,marginBottom:`4px`,fontSize:`14px`},children:c.title}),(0,Y.jsx)(`div`,{children:c.content})]}),(0,Y.jsx)(`div`,{style:{position:`absolute`,width:0,height:0,borderStyle:`solid`,...o===`top`&&{bottom:`-6px`,left:`50%`,transform:`translateX(-50%)`,borderWidth:`6px 6px 0 6px`,borderColor:`rgba(0, 0, 0, 0.9) transparent transparent transparent`},...o===`bottom`&&{top:`-6px`,left:`50%`,transform:`translateX(-50%)`,borderWidth:`0 6px 6px 6px`,borderColor:`transparent transparent rgba(0, 0, 0, 0.9) transparent`},...o===`left`&&{right:`-6px`,top:`50%`,transform:`translateY(-50%)`,borderWidth:`6px 0 6px 6px`,borderColor:`transparent transparent transparent rgba(0, 0, 0, 0.9)`},...o===`right`&&{left:`-6px`,top:`50%`,transform:`translateY(-50%)`,borderWidth:`6px 6px 6px 0`,borderColor:`transparent rgba(0, 0, 0, 0.9) transparent transparent`}}})]}),document.body)},br=({config:e={}}={})=>{let[t,n]=(0,b.useState)({isVisible:!1,x:0,y:0,placement:e.placement||`auto`,content:null,targetRect:null}),r=(0,b.useRef)(null),i=(0,b.useRef)(null),a=(0,b.useRef)(!1),{enabled:o=!0,showDelay:s=500,hideDelay:c=0,placement:l=`auto`,showCellTooltips:u=!1,showRowTooltips:d=!1,getCellTooltip:f,getRowTooltip:p}=e,m=(0,b.useCallback)(()=>{r.current&&=(clearTimeout(r.current),null),i.current&&=(clearTimeout(i.current),null)},[]),h=(0,b.useCallback)((e,t)=>{if(!o||!t)return;m(),a.current=!0;let i=e.currentTarget.getBoundingClientRect(),c=typeof t==`string`?{content:t}:t;r.current=setTimeout(()=>{a.current&&n({isVisible:!0,x:i.left+i.width/2,y:i.top,placement:l,content:c,targetRect:i})},s)},[o,s,l,m]),g=(0,b.useCallback)(()=>{m(),a.current=!1,c>0?i.current=setTimeout(()=>{n(e=>({...e,isVisible:!1}))},c):n(e=>({...e,isVisible:!1}))},[c,m]),_=(0,b.useCallback)((e,t,n,r)=>{if(!o||!u||!f)return;let i=f(t,n,r);i&&h(e,i)},[o,u,f,h]),v=(0,b.useCallback)(()=>{g()},[g]),y=(0,b.useCallback)((e,t,n)=>{if(!o||!d||!p)return;let r=p(t,n);r&&h(e,r)},[o,d,p,h]),x=(0,b.useCallback)(()=>{g()},[g]);return(0,b.useEffect)(()=>()=>{m()},[m]),(0,b.useEffect)(()=>{let e=()=>{t.isVisible&&g()};return window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`scroll`,e,!0)}},[t.isVisible,g]),{tooltipState:t,tooltipHandlers:{onCellMouseEnter:_,onCellMouseLeave:v,onRowMouseEnter:y,onRowMouseLeave:x},hideTooltip:g}},xr={ultraCompact:{mode:`ultraCompact`,rowHeight:`24px`,cellPadding:`2px 6px`,headerPadding:`4px 6px`,fontSize:`12px`,fontSizeSmall:`10px`},compact:{mode:`compact`,rowHeight:`32px`,cellPadding:`4px 8px`,headerPadding:`6px 8px`,fontSize:`13px`,fontSizeSmall:`11px`},normal:{mode:`normal`,rowHeight:`44px`,cellPadding:`10px 12px`,headerPadding:`10px 12px`,fontSize:`14px`,fontSizeSmall:`12px`},comfortable:{mode:`comfortable`,rowHeight:`56px`,cellPadding:`14px 16px`,headerPadding:`14px 16px`,fontSize:`15px`,fontSizeSmall:`13px`}};function Sr(e=`normal`){return xr[e]}function Cr(e){let t=Sr(e);return{"--grid-row-height":t.rowHeight,"--grid-cell-padding":t.cellPadding,"--grid-header-padding":t.headerPadding,"--grid-font-size":t.fontSize,"--grid-font-size-sm":t.fontSizeSmall}}function wr(e){return{ultraCompact:`Ultra Compact`,compact:`Compact`,normal:`Normal`,comfortable:`Comfortable`}[e]}function Tr(e,t=`grid-density-mode`){try{localStorage.setItem(t,e)}catch(e){console.warn(`Failed to save density mode:`,e)}}function Er(e=`grid-density-mode`){try{let t=localStorage.getItem(e);if(t&&(t===`ultraCompact`||t===`compact`||t===`normal`||t===`comfortable`))return t}catch(e){console.warn(`Failed to load density mode:`,e)}return null}const Dr=({value:e,onChange:t,className:n=``,disabled:r=!1})=>{let i=[`ultraCompact`,`compact`,`normal`,`comfortable`];return(0,Y.jsx)(`div`,{className:`density-toggle ${n}`,style:{display:`inline-flex`,backgroundColor:`var(--grid-bg-alt, #f3f4f6)`,borderRadius:`6px`,padding:`2px`,border:`1px solid var(--grid-border, #e5e7eb)`,gap:`2px`},role:`group`,"aria-label":`Density mode selector`,children:i.map(n=>(0,Y.jsx)(`button`,{onClick:()=>t(n),disabled:r,className:`density-toggle-button ${e===n?`active`:``}`,style:{padding:`6px 14px`,fontSize:`13px`,fontWeight:e===n?`600`:`500`,color:e===n?`var(--grid-primary, #3b82f6)`:`var(--grid-text-secondary, #6b7280)`,backgroundColor:e===n?`var(--grid-bg, #ffffff)`:`transparent`,border:`none`,borderRadius:`4px`,cursor:r?`not-allowed`:`pointer`,transition:`all 0.2s ease`,opacity:r?.5:1,outline:`none`,whiteSpace:`nowrap`,boxShadow:e===n?`0 1px 2px rgba(0, 0, 0, 0.05)`:`none`},onMouseEnter:t=>{!r&&e!==n&&(t.currentTarget.style.color=`var(--grid-text, #111827)`,t.currentTarget.style.backgroundColor=`rgba(0, 0, 0, 0.02)`)},onMouseLeave:t=>{!r&&e!==n&&(t.currentTarget.style.color=`var(--grid-text-secondary, #6b7280)`,t.currentTarget.style.backgroundColor=`transparent`)},onFocus:e=>{e.currentTarget.style.boxShadow=`0 0 0 2px var(--grid-primary-light, #93c5fd)`},onBlur:t=>{t.currentTarget.style.boxShadow=e===n?`0 1px 2px rgba(0, 0, 0, 0.05)`:`none`},"aria-pressed":e===n,"aria-label":`${wr(n)} density mode`,type:`button`,children:wr(n)},n))})};function Or(e={}){let{initialMode:t=`normal`,persist:n=!0,persistenceKey:r=`grid-density-mode`,onChange:i}=e,[a,o]=(0,b.useState)(()=>{if(n){let e=Er(r);if(e)return e}return t});return{densityMode:a,setDensityMode:e=>{o(e),n&&Tr(e,r),i?.(e)},densityConfig:Sr(a),densityStyles:Cr(a)}}var kr=(e,t)=>{if(t.type===`isEmpty`)return e==null||String(e).trim()===``;if(t.type===`isNotEmpty`)return e!=null&&String(e).trim()!==``;if(e==null)return!1;let n=String(e).toLowerCase(),r=String(t.value||``).toLowerCase();switch(t.type){case`contains`:return n.includes(r);case`notContains`:return!n.includes(r);case`equals`:return n===r;case`notEquals`:return n!==r;case`startsWith`:return n.startsWith(r);case`endsWith`:return n.endsWith(r);default:return n.includes(r)}},Ar=(e,t)=>{if(t.type===`isEmpty`)return e==null||typeof e==`number`&&isNaN(e);if(t.type===`isNotEmpty`)return e!=null&&!(typeof e==`number`&&isNaN(e));if(e==null)return!1;let n=typeof e==`number`?e:parseFloat(e);if(isNaN(n))return!1;let r=parseFloat(t.value);if(isNaN(r))return!1;switch(t.type){case`equals`:return n===r;case`notEquals`:return n!==r;case`greaterThan`:return n>r;case`greaterThanOrEqual`:return n>=r;case`lessThan`:return n<r;case`lessThanOrEqual`:return n<=r;case`inRange`:{let e=parseFloat(t.value2);return isNaN(e)?n>=r:n>=r&&n<=e}default:return n===r}},jr=(e,t)=>{if(t.type===`isEmpty`)return e==null;if(t.type===`isNotEmpty`)return e!=null;if(e==null)return!1;let n;if(n=e instanceof Date?e:new Date(e),isNaN(n.getTime()))return!1;let r=new Date(t.value);if(isNaN(r.getTime()))return!1;let i=new Date(n.getFullYear(),n.getMonth(),n.getDate()),a=new Date(r.getFullYear(),r.getMonth(),r.getDate());switch(t.type){case`equals`:return i.getTime()===a.getTime();case`before`:return i.getTime()<a.getTime();case`after`:return i.getTime()>a.getTime();case`inRange`:{let e=new Date(t.value2);if(isNaN(e.getTime()))return i.getTime()>=a.getTime();let n=new Date(e.getFullYear(),e.getMonth(),e.getDate());return i.getTime()>=a.getTime()&&i.getTime()<=n.getTime()}default:return i.getTime()===a.getTime()}},Mr=(e,t)=>{if(!t.values||t.values.length===0)return!0;let n=t.values.includes(e);return t.type===`notIn`?!n:n},Nr=e=>e.type===`set`||e.type===`in`||e.type===`notIn`||e.values?`set`:[`equals`,`notEquals`,`greaterThan`,`lessThan`,`greaterThanOrEqual`,`lessThanOrEqual`,`inRange`].includes(e.type||``)&&(typeof e.value==`number`||!isNaN(parseFloat(e.value)))?`number`:[`before`,`after`].includes(e.type||``)||e.value&&!isNaN(new Date(e.value).getTime())&&String(e.value).match(/\d{4}-\d{2}-\d{2}|\\d{1,2}\/\d{1,2}\/\d{4}/)?`date`:`text`,Pr=e=>e!=null&&`operator`in e&&`conditions`in e,Fr=(e,t,n)=>{let r=e[t];switch(Nr(n)){case`number`:return Ar(r,n);case`date`:return jr(r,n);case`set`:return Mr(r,n);default:return kr(r,n)}},Ir=(e,t,n)=>{let{operator:r,conditions:i}=n;return!i||i.length===0?!0:r===`AND`?i.every(n=>Fr(e,t,n)):i.some(n=>Fr(e,t,n))},Lr=(e,t,n)=>{if(!n)return!0;if(Pr(n))return Ir(e,t,n);let r=e[t];switch(Nr(n)){case`number`:return Ar(r,n);case`date`:return jr(r,n);case`set`:return Mr(r,n);default:return kr(r,n)}};const Rr=(e,t)=>!t||Object.keys(t).length===0?e:e.filter(e=>Object.entries(t).every(([t,n])=>n?Lr(e,t,n):!0)),zr=e=>Object.values(e).some(e=>e!=null);var Br=class{async save(e,t){try{let n=localStorage.getItem(e),r=n?JSON.parse(n):[],i=r.findIndex(e=>e.id===t.id);i===-1?r.push(t):r[i]=t,localStorage.setItem(e,JSON.stringify(r))}catch(e){throw console.error(`Failed to save preset to localStorage:`,e),e}}async load(e,t){try{let n=localStorage.getItem(e);if(!n)return null;let r=JSON.parse(n);return t?r.find(e=>e.id===t)||null:r}catch(e){throw console.error(`Failed to load preset from localStorage:`,e),e}}async delete(e,t){try{let n=localStorage.getItem(e);if(!n)return;let r=JSON.parse(n).filter(e=>e.id!==t);localStorage.setItem(e,JSON.stringify(r))}catch(e){throw console.error(`Failed to delete preset from localStorage:`,e),e}}async list(e){try{let t=localStorage.getItem(e);return t?JSON.parse(t):[]}catch(e){throw console.error(`Failed to list presets from localStorage:`,e),e}}},Vr=class{constructor(e){this.config=e}async save(e,t){let n=this.config.saveEndpoint||`${this.config.baseUrl}/layouts`;try{let r=await fetch(n,{method:`POST`,headers:{"Content-Type":`application/json`,...this.config.headers},body:JSON.stringify({key:e,preset:t})});if(!r.ok)throw Error(`Server responded with ${r.status}`)}catch(e){throw console.error(`Failed to save preset to server:`,e),e}}async load(e,t){let n=this.config.loadEndpoint||`${this.config.baseUrl}/layouts`,r=t?`${n}/${e}/${t}`:`${n}/${e}`;try{let e=await fetch(r,{method:`GET`,headers:{"Content-Type":`application/json`,...this.config.headers}});if(e.status===404)return null;if(!e.ok)throw Error(`Server responded with ${e.status}`);return await e.json()}catch(e){throw console.error(`Failed to load preset from server:`,e),e}}async delete(e,t){let n=`${this.config.deleteEndpoint||`${this.config.baseUrl}/layouts`}/${e}/${t}`;try{let e=await fetch(n,{method:`DELETE`,headers:this.config.headers});if(!e.ok)throw Error(`Server responded with ${e.status}`)}catch(e){throw console.error(`Failed to delete preset from server:`,e),e}}async list(e){let t=`${this.config.listEndpoint||`${this.config.baseUrl}/layouts`}/${e}`;try{let e=await fetch(t,{method:`GET`,headers:{"Content-Type":`application/json`,...this.config.headers}});if(e.status===404)return[];if(!e.ok)throw Error(`Server responded with ${e.status}`);return await e.json()}catch(e){throw console.error(`Failed to list presets from server:`,e),e}}},Hr=class{constructor(e){this.config=e,this.baseAdapter=e.adapter||new Br}getUserKey(e){return`${this.config.profileKey||`user-layouts`}:${this.config.userId}:${e}`}async save(e,t){return this.baseAdapter.save(this.getUserKey(e),t)}async load(e,t){return this.baseAdapter.load(this.getUserKey(e),t)}async delete(e,t){return this.baseAdapter.delete(this.getUserKey(e),t)}async list(e){return this.baseAdapter.list(this.getUserKey(e))}};function Ur(e){if(e.customAdapter)return e.customAdapter;switch(e.strategy){case`server`:if(!e.serverConfig)throw Error(`Server configuration is required for server storage strategy`);return new Vr(e.serverConfig);case`userProfile`:if(!e.userProfileConfig)throw Error(`User profile configuration is required for userProfile storage strategy`);return new Hr(e.userProfileConfig);case`localStorage`:default:return new Br}}function Wr(){return`preset_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function Gr(e,t,n,r){let i=Date.now();return{id:r||Wr(),name:e,description:n,createdAt:i,updatedAt:i,layout:t}}var Kr=class{constructor(e){this.adapter=Ur(e),this.storageKey=e.storageKey}async savePreset(e){let t={...e,updatedAt:Date.now()};await this.adapter.save(this.storageKey,t)}async loadPreset(e){let t=await this.adapter.load(this.storageKey,e);return Array.isArray(t)?t.find(t=>t.id===e)||null:t}async loadLastPreset(){let e=await this.listPresets();return e.length===0?null:e.reduce((e,t)=>t.updatedAt>e.updatedAt?t:e)}async deletePreset(e){await this.adapter.delete(this.storageKey,e)}async listPresets(){return await this.adapter.list(this.storageKey)}async hasPreset(e){return await this.loadPreset(e)!==null}async autoSave(e){let t=Gr(`Auto-saved Layout`,e,`Automatically saved layout`,`__autosave__`);await this.savePreset(t)}async loadAutoSave(){return await this.loadPreset(`__autosave__`)}};function qr(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,r),n=null},t)}}const Jr={name:`quartz`,displayName:`Quartz (Modern White)`,colors:{background:`#ffffff`,backgroundAlt:`#f9fafb`,headerBackground:`#f3f4f6`,footerBackground:`#f9fafb`,border:`#e5e7eb`,borderLight:`#f3f4f6`,text:`#111827`,textSecondary:`#6b7280`,textInverse:`#ffffff`,headerText:`#374151`,hover:`#f3f4f6`,active:`#e5e7eb`,selected:`#dbeafe`,primary:`#3b82f6`,primaryHover:`#2563eb`,primaryLight:`#93c5fd`,primaryDark:`#1e40af`,primaryBackground:`#eff6ff`,textMuted:`#6b7280`,borderHover:`#9ca3af`,success:`#10b981`,warning:`#f59e0b`,error:`#ef4444`,info:`#3b82f6`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`8px`,style:`solid`},shadows:{light:`0 1px 2px 0 rgba(0, 0, 0, 0.05)`,medium:`0 4px 6px -1px rgba(0, 0, 0, 0.1)`,heavy:`0 10px 15px -3px rgba(0, 0, 0, 0.1)`}},Yr={name:`alpine`,displayName:`Alpine (Classic Business)`,colors:{background:`#ffffff`,backgroundAlt:`#fafafa`,headerBackground:`#f5f5f5`,footerBackground:`#f5f5f5`,border:`#d9d9d9`,borderLight:`#e8e8e8`,text:`#262626`,textSecondary:`#595959`,textInverse:`#ffffff`,headerText:`#262626`,hover:`#f5f5f5`,active:`#e8e8e8`,selected:`#e6f7ff`,primary:`#1890ff`,primaryHover:`#096dd9`,primaryLight:`#91d5ff`,primaryDark:`#0050b3`,primaryBackground:`#e6f7ff`,textMuted:`#8c8c8c`,borderHover:`#bfbfbf`,success:`#52c41a`,warning:`#faad14`,error:`#f5222d`,info:`#1890ff`},spacing:{cellPadding:`10px 12px`,headerPadding:`10px 12px`,rowHeight:`44px`},typography:{fontFamily:`"Segoe UI", Tahoma, Geneva, Verdana, sans-serif`,fontSize:`13px`,fontSizeSmall:`11px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`4px`,style:`solid`},shadows:{light:`0 1px 2px rgba(0, 0, 0, 0.08)`,medium:`0 2px 8px rgba(0, 0, 0, 0.12)`,heavy:`0 4px 12px rgba(0, 0, 0, 0.15)`}},Xr={name:`material`,displayName:`Material`,colors:{background:`#ffffff`,backgroundAlt:`#fafafa`,headerBackground:`#f5f5f5`,footerBackground:`#f5f5f5`,border:`#e0e0e0`,borderLight:`#eeeeee`,text:`#212121`,textSecondary:`#757575`,textInverse:`#ffffff`,headerText:`#424242`,hover:`#f5f5f5`,active:`#eeeeee`,selected:`#e3f2fd`,primary:`#2196f3`,primaryHover:`#1976d2`,primaryLight:`#90caf9`,primaryDark:`#0d47a1`,primaryBackground:`#e3f2fd`,textMuted:`#757575`,borderHover:`#bdbdbd`,success:`#4caf50`,warning:`#ff9800`,error:`#f44336`,info:`#2196f3`},spacing:{cellPadding:`14px 16px`,headerPadding:`14px 16px`,rowHeight:`52px`},typography:{fontFamily:`Roboto, "Helvetica Neue", Arial, sans-serif`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`500`},borders:{width:`1px`,radius:`4px`,style:`solid`},shadows:{light:`0 2px 1px -1px rgba(0,0,0,.2), 0 1px 1px 0 rgba(0,0,0,.14), 0 1px 3px 0 rgba(0,0,0,.12)`,medium:`0 3px 3px -2px rgba(0,0,0,.2), 0 3px 4px 0 rgba(0,0,0,.14), 0 1px 8px 0 rgba(0,0,0,.12)`,heavy:`0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12)`}},Zr={name:`dark`,displayName:`Dark Mode`,colors:{background:`#1e1e1e`,backgroundAlt:`#252526`,headerBackground:`#2d2d30`,footerBackground:`#252526`,border:`#3e3e42`,borderLight:`#333333`,text:`#d4d4d4`,textSecondary:`#969696`,textInverse:`#1e1e1e`,headerText:`#e0e0e0`,hover:`#2a2d2e`,active:`#37373d`,selected:`#264f78`,primary:`#4a9eff`,primaryHover:`#6eb4ff`,primaryLight:`#80b9ff`,primaryDark:`#2d7dd2`,primaryBackground:`#1e3a5f`,textMuted:`#858585`,borderHover:`#505050`,success:`#4ec9b0`,warning:`#dcdcaa`,error:`#f48771`,info:`#4a9eff`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`6px`,style:`solid`},shadows:{light:`0 2px 4px rgba(0, 0, 0, 0.3)`,medium:`0 4px 8px rgba(0, 0, 0, 0.4)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.5)`}},Qr={name:`nord`,displayName:`Nord (Arctic)`,colors:{background:`#eceff4`,backgroundAlt:`#e5e9f0`,headerBackground:`#d8dee9`,footerBackground:`#e5e9f0`,border:`#d8dee9`,borderLight:`#e5e9f0`,text:`#2e3440`,textSecondary:`#4c566a`,textInverse:`#eceff4`,headerText:`#2e3440`,hover:`#e5e9f0`,active:`#d8dee9`,selected:`#d8dee9`,primary:`#5e81ac`,primaryHover:`#81a1c1`,primaryLight:`#88c0d0`,primaryDark:`#5e81ac`,primaryBackground:`#d8dee9`,textMuted:`#4c566a`,borderHover:`#4c566a`,success:`#a3be8c`,warning:`#ebcb8b`,error:`#bf616a`,info:`#88c0d0`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`6px`,style:`solid`},shadows:{light:`0 1px 3px rgba(0, 0, 0, 0.12)`,medium:`0 3px 6px rgba(0, 0, 0, 0.15)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.18)`}},$r={name:`dracula`,displayName:`Dracula`,colors:{background:`#282a36`,backgroundAlt:`#21222c`,headerBackground:`#44475a`,footerBackground:`#21222c`,border:`#44475a`,borderLight:`#6272a4`,text:`#f8f8f2`,textSecondary:`#6272a4`,textInverse:`#282a36`,headerText:`#f8f8f2`,hover:`#44475a`,active:`#6272a4`,selected:`#44475a`,primary:`#bd93f9`,primaryHover:`#caa9fa`,primaryLight:`#d6bcfb`,primaryDark:`#9b72dd`,primaryBackground:`#44475a`,textMuted:`#6272a4`,borderHover:`#bd93f9`,success:`#50fa7b`,warning:`#f1fa8c`,error:`#ff5555`,info:`#8be9fd`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`"Fira Code", "Consolas", monospace, -apple-system, BlinkMacSystemFont, "Segoe UI"`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`8px`,style:`solid`},shadows:{light:`0 2px 4px rgba(0, 0, 0, 0.4)`,medium:`0 4px 8px rgba(0, 0, 0, 0.5)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.6)`}},ei={name:`solarized-light`,displayName:`Solarized Light`,colors:{background:`#fdf6e3`,backgroundAlt:`#eee8d5`,headerBackground:`#eee8d5`,footerBackground:`#eee8d5`,border:`#93a1a1`,borderLight:`#eee8d5`,text:`#657b83`,textSecondary:`#93a1a1`,textInverse:`#fdf6e3`,headerText:`#586e75`,hover:`#eee8d5`,active:`#93a1a1`,selected:`#d3cbb7`,primary:`#268bd2`,primaryHover:`#2aa198`,primaryLight:`#6c71c4`,primaryDark:`#073642`,primaryBackground:`#eee8d5`,textMuted:`#93a1a1`,borderHover:`#657b83`,success:`#859900`,warning:`#b58900`,error:`#dc322f`,info:`#268bd2`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`"Source Code Pro", "Menlo", "Monaco", monospace`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`4px`,style:`solid`},shadows:{light:`0 1px 3px rgba(0, 0, 0, 0.08)`,medium:`0 3px 6px rgba(0, 0, 0, 0.12)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.15)`}},ti={name:`solarized-dark`,displayName:`Solarized Dark`,colors:{background:`#002b36`,backgroundAlt:`#073642`,headerBackground:`#073642`,footerBackground:`#073642`,border:`#586e75`,borderLight:`#073642`,text:`#839496`,textSecondary:`#657b83`,textInverse:`#002b36`,headerText:`#93a1a1`,hover:`#073642`,active:`#586e75`,selected:`#094757`,primary:`#268bd2`,primaryHover:`#2aa198`,primaryLight:`#6c71c4`,primaryDark:`#073642`,primaryBackground:`#073642`,textMuted:`#657b83`,borderHover:`#839496`,success:`#859900`,warning:`#b58900`,error:`#dc322f`,info:`#268bd2`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`"Source Code Pro", "Menlo", "Monaco", monospace`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`4px`,style:`solid`},shadows:{light:`0 2px 4px rgba(0, 0, 0, 0.3)`,medium:`0 4px 8px rgba(0, 0, 0, 0.4)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.5)`}},ni={name:`monokai`,displayName:`Monokai`,colors:{background:`#272822`,backgroundAlt:`#1e1f1c`,headerBackground:`#3e3d32`,footerBackground:`#1e1f1c`,border:`#49483e`,borderLight:`#3e3d32`,text:`#f8f8f2`,textSecondary:`#75715e`,textInverse:`#272822`,headerText:`#f8f8f2`,hover:`#3e3d32`,active:`#49483e`,selected:`#49483e`,primary:`#66d9ef`,primaryHover:`#a6e22e`,primaryLight:`#e6db74`,primaryDark:`#ae81ff`,primaryBackground:`#3e3d32`,textMuted:`#75715e`,borderHover:`#66d9ef`,success:`#a6e22e`,warning:`#e6db74`,error:`#f92672`,info:`#66d9ef`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`"Fira Code", "Monaco", "Consolas", monospace`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`6px`,style:`solid`},shadows:{light:`0 2px 4px rgba(0, 0, 0, 0.5)`,medium:`0 4px 8px rgba(0, 0, 0, 0.6)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.7)`}},ri={name:`one-dark`,displayName:`One Dark`,colors:{background:`#282c34`,backgroundAlt:`#21252b`,headerBackground:`#2c313c`,footerBackground:`#21252b`,border:`#3e4451`,borderLight:`#2c313c`,text:`#abb2bf`,textSecondary:`#5c6370`,textInverse:`#282c34`,headerText:`#abb2bf`,hover:`#2c313c`,active:`#3e4451`,selected:`#3e4451`,primary:`#61afef`,primaryHover:`#528bff`,primaryLight:`#84b9f0`,primaryDark:`#4e88c7`,primaryBackground:`#2c313c`,textMuted:`#5c6370`,borderHover:`#528bff`,success:`#98c379`,warning:`#e5c07b`,error:`#e06c75`,info:`#61afef`},spacing:{cellPadding:`12px 16px`,headerPadding:`12px 16px`,rowHeight:`48px`},typography:{fontFamily:`"Fira Code", "Menlo", "Monaco", "Consolas", monospace`,fontSize:`14px`,fontSizeSmall:`12px`,fontWeight:`400`,headerFontWeight:`600`},borders:{width:`1px`,radius:`6px`,style:`solid`},shadows:{light:`0 2px 4px rgba(0, 0, 0, 0.4)`,medium:`0 4px 8px rgba(0, 0, 0, 0.5)`,heavy:`0 8px 16px rgba(0, 0, 0, 0.6)`}},ii={quartz:Jr,alpine:Yr,material:Xr,dark:Zr,nord:Qr,dracula:$r,"solarized-light":ei,"solarized-dark":ti,monokai:ni,"one-dark":ri};function ai(e){return ii[e]||Jr}function oi(e){return{"--grid-bg":e.colors.background,"--grid-bg-alt":e.colors.backgroundAlt,"--grid-header-bg":e.colors.headerBackground,"--grid-footer-bg":e.colors.footerBackground,"--grid-border":e.colors.border,"--grid-border-light":e.colors.borderLight,"--grid-text":e.colors.text,"--grid-text-secondary":e.colors.textSecondary,"--grid-text-inverse":e.colors.textInverse,"--grid-header-text":e.colors.headerText,"--grid-hover":e.colors.hover,"--grid-active":e.colors.active,"--grid-selected":e.colors.selected,"--grid-primary":e.colors.primary,"--grid-primary-hover":e.colors.primaryHover,"--grid-primary-light":e.colors.primaryLight,"--grid-primary-dark":e.colors.primaryDark,"--grid-primary-bg":e.colors.primaryBackground,"--grid-text-muted":e.colors.textMuted,"--grid-border-hover":e.colors.borderHover,"--grid-success":e.colors.success,"--grid-warning":e.colors.warning,"--grid-error":e.colors.error,"--grid-info":e.colors.info,"--grid-cell-padding":e.spacing.cellPadding,"--grid-header-padding":e.spacing.headerPadding,"--grid-row-height":e.spacing.rowHeight,"--grid-font-family":e.typography.fontFamily,"--grid-font-size":e.typography.fontSize,"--grid-font-size-sm":e.typography.fontSizeSmall,"--grid-font-weight":e.typography.fontWeight,"--grid-header-font-weight":e.typography.headerFontWeight,"--grid-border-width":e.borders.width,"--grid-border-radius":e.borders.radius,"--grid-border-style":e.borders.style,"--grid-shadow-light":e.shadows.light,"--grid-shadow-medium":e.shadows.medium,"--grid-shadow-heavy":e.shadows.heavy}}const si=()=>{let e=b.useRef(``),t=(0,b.useRef)(null);(0,b.useEffect)(()=>()=>{t.current&&clearTimeout(t.current)},[]);let n=(0,b.useCallback)((n,r={})=>{let{delay:i=0}=r;t.current&&clearTimeout(t.current),i>0?t.current=setTimeout(()=>{e.current=n},i):e.current=n},[]);return{announcementRef:e,announce:n,announceSorting:(0,b.useCallback)((e,t)=>{n(t?`Sorted by ${e} ${t===`asc`?`ascending`:`descending`}`:`Sorting cleared`)},[n]),announceSelection:(0,b.useCallback)(e=>{n(e===0?`All rows deselected`:e===1?`1 row selected`:`${e} rows selected`)},[n]),announceFiltering:(0,b.useCallback)((e,t,r)=>{n(t?`Filter applied to ${e}${r===void 0?``:`, ${r} results found`}`:`Filter cleared from ${e}`)},[n]),announcePagination:(0,b.useCallback)((e,t,r)=>{n(`Page ${e+1} of ${t}, showing ${r} rows`)},[n]),announceFocus:(0,b.useCallback)((e,t,r)=>{let i=r==null?``:`, value: ${r}`;n(`Row ${e+1}, ${t}${i}`,{delay:100})},[n]),announceEditing:(0,b.useCallback)((e,t)=>{n(t?`Editing ${e}. Press Enter to save, Escape to cancel`:`Edit saved for ${e}`)},[n]),announceRowReorder:(0,b.useCallback)((e,t)=>{n(`Row moved from position ${e+1} to position ${t+1}`)},[n]),announceColumnVisibility:(0,b.useCallback)((e,t)=>{n(t?`${e} column shown`:`${e} column hidden`)},[n]),announceLoading:(0,b.useCallback)((e,t)=>{e?n(t||`Loading data...`,{priority:`assertive`}):n(`Data loaded`,{priority:`polite`})},[n])}},ci=({message:e,priority:t=`polite`})=>(0,Y.jsx)(`div`,{role:t===`assertive`?`alert`:`status`,"aria-live":t,"aria-atomic":`true`,style:{position:`absolute`,left:`-10000px`,width:`1px`,height:`1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`},children:e});var li=class{constructor(e,t,n,r,i,a,o){this.persistenceManager=null,this.destroyed=!1,this.eventListeners=new Map,this.state=e,this.dispatch=t,this.columns=n,this.rows=r,this.containerRef=i,this.persistenceManager=a||null,this.setInternalRows=o}updateState(e){this.state=e}updateData(e,t){this.columns=e,this.rows=t}updateCallbacks(e){this.setInternalRows=e}setRowData(e){this.ensureNotDestroyed(),this.rows=e,this.setInternalRows&&this.setInternalRows(e),this.dispatch({type:`SET_ROW_DATA`,payload:e}),this.fireEvent(`rowDataChanged`,{api:this,rows:e})}applyTransaction(e){this.ensureNotDestroyed();let t={add:[],remove:[],update:[]},n=[...this.rows];if(e.remove&&e.remove.length>0){let r=new Set(e.remove.map(e=>e.id)),i=n.filter(e=>r.has(e.id));n=n.filter(e=>!r.has(e.id)),t.remove=i.map((e,t)=>this.createRowNode(e,t))}if(e.update&&e.update.length>0){let r=new Map(e.update.map(e=>[e.id,e]));n=n.map(e=>{let n=r.get(e.id);return n?(t.update.push(this.createRowNode(n,0)),{...e,...n}):e})}if(e.add&&e.add.length>0){let r=e.addIndex??n.length;n.splice(r,0,...e.add),t.add=e.add.map((e,t)=>this.createRowNode(e,r+t))}return this.setRowData(n),this.fireEvent(`rowDataUpdated`,{api:this,transaction:t}),t}async applyTransactionAsync(e){return Promise.resolve(this.applyTransaction(e))}getModel(){return{getRowCount:()=>this.rows.length,getRow:e=>{let t=this.rows[e];return t?this.createRowNode(t,e):null},forEachNode:e=>{this.rows.forEach((t,n)=>{e(this.createRowNode(t,n),n)})}}}getDisplayedRowCount(){return this.ensureNotDestroyed(),this.getDisplayedRows().length}getDisplayedRowAtIndex(e){this.ensureNotDestroyed();let t=this.getDisplayedRows()[e];return t?this.createRowNode(t,e):null}forEachNode(e){this.ensureNotDestroyed(),this.rows.forEach((t,n)=>{e(this.createRowNode(t,n),n)})}forEachNodeAfterFilter(e){this.ensureNotDestroyed(),this.getFilteredRows().forEach((t,n)=>{e(this.createRowNode(t,n),n)})}forEachNodeAfterFilterAndSort(e){this.ensureNotDestroyed(),this.getDisplayedRows().forEach((t,n)=>{e(this.createRowNode(t,n),n)})}getFirstDisplayedRow(){return 0}getLastDisplayedRow(){return Math.max(0,this.getDisplayedRowCount()-1)}getColumnDefs(){return this.ensureNotDestroyed(),[...this.columns]}setColumnDefs(e){this.ensureNotDestroyed(),this.columns=e,this.dispatch({type:`SET_COLUMN_DEFS`,payload:e}),this.fireEvent(`columnDefsChanged`,{api:this,columnDefs:e})}getAllColumns(){return this.getColumnDefs()}getDisplayedCenterColumns(){this.ensureNotDestroyed();let e=new Set(this.state.pinnedColumnsLeft),t=new Set(this.state.pinnedColumnsRight),n=new Set(this.state.hiddenColumns);return this.state.columnOrder.filter(r=>!e.has(r)&&!t.has(r)&&!n.has(r)).map(e=>this.columns.find(t=>t.field===e)).filter(e=>e!==void 0)}getDisplayedLeftColumns(){this.ensureNotDestroyed();let e=new Set(this.state.hiddenColumns);return this.state.pinnedColumnsLeft.filter(t=>!e.has(t)).map(e=>this.columns.find(t=>t.field===e)).filter(e=>e!==void 0)}getDisplayedRightColumns(){this.ensureNotDestroyed();let e=new Set(this.state.hiddenColumns);return this.state.pinnedColumnsRight.filter(t=>!e.has(t)).map(e=>this.columns.find(t=>t.field===e)).filter(e=>e!==void 0)}setColumnVisible(e,t){this.ensureNotDestroyed();let n=this.resolveColKey(e);n&&(this.dispatch({type:`SET_COLUMN_VISIBILITY`,payload:{field:n,visible:t}}),this.fireEvent(`columnVisible`,{api:this,column:n,visible:t}))}setColumnsVisible(e,t){this.ensureNotDestroyed(),e.forEach(e=>this.setColumnVisible(e,t))}setColumnPinned(e,t){this.ensureNotDestroyed();let n=this.resolveColKey(e);n&&(t?this.dispatch({type:`PIN_COLUMN`,payload:{field:n,side:t}}):this.dispatch({type:`UNPIN_COLUMN`,payload:n}),this.fireEvent(`columnPinned`,{api:this,column:n,pinned:t}))}autoSizeColumns(e){if(this.ensureNotDestroyed(),!e||e.length===0){this.autoSizeAllColumns();return}e.forEach(e=>{let t=this.resolveColKey(e);if(t){let e=this.calculateColumnWidth(t);this.dispatch({type:`RESIZE_COLUMN`,payload:{field:t,width:e}})}}),this.fireEvent(`columnResized`,{api:this,columns:e})}autoSizeAllColumns(){this.ensureNotDestroyed();let e={};this.columns.forEach(t=>{e[t.field]=this.calculateColumnWidth(t.field)}),Object.entries(e).forEach(([e,t])=>{this.dispatch({type:`RESIZE_COLUMN`,payload:{field:e,width:t}})}),this.fireEvent(`columnResized`,{api:this,columns:Object.keys(e)})}moveColumn(e,t){this.ensureNotDestroyed();let n=this.resolveColKey(e);if(n){let e=this.state.columnOrder.indexOf(n);e!==-1&&(this.dispatch({type:`REORDER_COLUMNS`,payload:{fromIndex:e,toIndex:t}}),this.fireEvent(`columnMoved`,{api:this,column:n,toIndex:t}))}}moveColumns(e,t){this.ensureNotDestroyed(),e.forEach((e,n)=>{this.moveColumn(e,t+n)})}getColumnState(){this.ensureNotDestroyed();let e=new Set(this.state.pinnedColumnsLeft),t=new Set(this.state.pinnedColumnsRight);return this.state.columnOrder.map(n=>{let r=this.state.hiddenColumns.includes(n),i=this.state.sortConfig.field===n;return{colId:n,width:this.state.columnWidths[n],hide:r,pinned:e.has(n)?`left`:t.has(n)?`right`:null,sort:i?this.state.sortConfig.direction:null,sortIndex:i?0:void 0}})}applyColumnState(e){this.ensureNotDestroyed(),e.forEach(e=>{let{colId:t,width:n,hide:r,pinned:i,sort:a}=e;n!==void 0&&this.dispatch({type:`RESIZE_COLUMN`,payload:{field:t,width:n}}),r!==void 0&&r!==this.state.hiddenColumns.includes(t)&&this.dispatch({type:`TOGGLE_COLUMN_VISIBILITY`,payload:t}),i!==void 0&&this.setColumnPinned(t,i),a!=null&&this.dispatch({type:`SORT_COLUMN`,payload:t})}),this.fireEvent(`columnStateChanged`,{api:this,state:e})}resetColumnState(){this.ensureNotDestroyed(),this.dispatch({type:`RESET_COLUMN_STATE`}),this.fireEvent(`columnStateReset`,{api:this})}getColumn(e){let t=this.resolveColKey(e);return t&&this.columns.find(e=>e.field===t)||null}isAnyFilterPresent(){return this.ensureNotDestroyed(),Object.keys(this.state.filterConfig).length>0}getFilterModel(){return this.ensureNotDestroyed(),{...this.state.filterConfig}}setFilterModel(e){this.ensureNotDestroyed(),Object.entries(e).forEach(([e,t])=>{this.dispatch({type:`SET_FILTER`,payload:{field:e,value:t}})}),this.fireEvent(`filterChanged`,{api:this,filterModel:e})}onFilterChanged(){this.ensureNotDestroyed(),this.fireEvent(`filterChanged`,{api:this,filterModel:this.getFilterModel()})}destroyFilter(e){this.ensureNotDestroyed();let t=this.resolveColKey(e);t&&this.dispatch({type:`SET_FILTER`,payload:{field:t,value:null}})}getFilterInstance(e){return null}clearAllFilters(){this.ensureNotDestroyed(),this.dispatch({type:`CLEAR_FILTERS`}),this.fireEvent(`filterChanged`,{api:this,filterModel:{}})}getSortModel(){return this.ensureNotDestroyed(),this.state.sortConfig.field&&this.state.sortConfig.direction?[this.state.sortConfig]:[]}setSortModel(e){this.ensureNotDestroyed();let t=e.length>0?e[0]:{field:``,direction:null};this.dispatch({type:`SET_SORT`,payload:t}),this.fireEvent(`sortChanged`,{api:this,sortModel:e})}onSortChanged(){this.ensureNotDestroyed(),this.fireEvent(`sortChanged`,{api:this,sortModel:this.getSortModel()})}clearAllSorting(){this.ensureNotDestroyed(),this.dispatch({type:`SET_SORT`,payload:{field:``,direction:null}}),this.fireEvent(`sortChanged`,{api:this,sortModel:[]})}getSelectedNodes(){this.ensureNotDestroyed();let e=Array.from(this.state.selection.selectedRows);return this.rows.filter(t=>e.includes(t.id)).map((e,t)=>this.createRowNode(e,t,!0))}getSelectedRows(){this.ensureNotDestroyed();let e=Array.from(this.state.selection.selectedRows);return this.rows.filter(t=>e.includes(t.id))}selectAll(){this.ensureNotDestroyed();let e=this.rows.map(e=>e.id);this.dispatch({type:`SELECT_RANGE`,payload:{startIndex:0,endIndex:this.rows.length-1,rowIds:e}}),this.fireEvent(`selectionChanged`,{api:this})}deselectAll(){this.ensureNotDestroyed(),this.dispatch({type:`DESELECT_ALL_ROWS`}),this.fireEvent(`selectionChanged`,{api:this})}selectAllFiltered(){this.ensureNotDestroyed();let e=this.getFilteredRows(),t=e.map(e=>e.id);this.dispatch({type:`SELECT_RANGE`,payload:{startIndex:0,endIndex:e.length-1,rowIds:t}}),this.fireEvent(`selectionChanged`,{api:this})}deselectAllFiltered(){this.ensureNotDestroyed();let e=this.getFilteredRows(),t=new Set(e.map(e=>e.id));Array.from(this.state.selection.selectedRows).forEach(e=>{t.has(e)&&this.dispatch({type:`DESELECT_ROW`,payload:e})}),this.fireEvent(`selectionChanged`,{api:this})}getSelectedRowCount(){return this.state.selection.selectedRows.size}ensureIndexVisible(e,t){if(this.ensureNotDestroyed(),!this.containerRef.current)return;let n=this.containerRef.current.querySelector(`[data-row-index="${e}"]`);if(n){let e={behavior:`smooth`,block:t===`top`?`start`:t===`bottom`?`end`:`center`};n.scrollIntoView(e)}}ensureNodeVisible(e,t){this.ensureIndexVisible(e.rowIndex,t)}setFocusedCell(e,t){this.ensureNotDestroyed();let n=this.resolveColKey(t);if(n){let t=this.state.columnOrder.indexOf(n);t!==-1&&(this.dispatch({type:`SET_FOCUS`,payload:{rowIndex:e,columnIndex:t}}),this.fireEvent(`cellFocused`,{api:this,rowIndex:e,column:n}))}}clearFocusedCell(){this.ensureNotDestroyed(),this.dispatch({type:`CLEAR_FOCUS`}),this.fireEvent(`cellFocusCleared`,{api:this})}getFocusedCell(){if(!this.state.focusState)return null;let e=this.state.columnOrder[this.state.focusState.columnIndex],t=this.columns.find(t=>t.field===e);return t?{rowIndex:this.state.focusState.rowIndex,column:t}:null}startEditingCell(e){this.ensureNotDestroyed();let t=this.resolveColKey(e.colKey);if(t){let n=this.getDisplayedRowAtIndex(e.rowIndex);n&&(this.dispatch({type:`START_EDITING`,payload:{rowId:n.id,field:t,value:n.data[t]}}),this.fireEvent(`cellEditingStarted`,{api:this,...e}))}}stopEditing(e=!1){this.ensureNotDestroyed(),e?this.dispatch({type:`CANCEL_EDITING`}):this.dispatch({type:`SAVE_EDIT`}),this.fireEvent(`cellEditingStopped`,{api:this,cancel:e})}getEditingCells(){if(!this.state.editState.rowId)return[];let e=this.columns.find(e=>e.field===this.state.editState.field);if(!e)return[];let t=this.rows.findIndex(e=>e.id===this.state.editState.rowId);return t===-1?[]:[{rowIndex:t,column:e}]}refreshCells(e){this.ensureNotDestroyed(),this.dispatch({type:`REFRESH_CELLS`,payload:e}),this.fireEvent(`cellsRefreshed`,{api:this,params:e})}refreshHeader(){this.ensureNotDestroyed(),this.dispatch({type:`REFRESH_HEADER`}),this.fireEvent(`headerRefreshed`,{api:this})}refreshToolPanel(){this.ensureNotDestroyed(),this.fireEvent(`toolPanelRefreshed`,{api:this})}redrawRows(e){this.ensureNotDestroyed(),this.dispatch({type:`REDRAW_ROWS`,payload:e}),this.fireEvent(`rowsRedrawn`,{api:this,params:e})}sizeColumnsToFit(){if(this.ensureNotDestroyed(),!this.containerRef.current)return;let e=this.containerRef.current.clientWidth,t=this.getDisplayedCenterColumns().concat(this.getDisplayedLeftColumns()).concat(this.getDisplayedRightColumns());if(t.length===0)return;let n=e/t.reduce((e,t)=>e+(this.state.columnWidths[t.field]||t.width||150),0);t.forEach(e=>{let t=this.state.columnWidths[e.field]||e.width||150,r=Math.max(50,Math.floor(t*n));this.dispatch({type:`RESIZE_COLUMN`,payload:{field:e.field,width:r}})}),this.fireEvent(`columnResized`,{api:this,reason:`sizeColumnsToFit`})}doLayout(){this.ensureNotDestroyed(),this.dispatch({type:`RECALCULATE_LAYOUT`}),this.fireEvent(`layoutChanged`,{api:this})}exportDataAsCsv(e){this.ensureNotDestroyed();let t=this.getDataAsCsv(e),n=(e?.fileName||`export`)+`.csv`,r=new Blob([t],{type:`text/csv;charset=utf-8;`}),i=document.createElement(`a`),a=URL.createObjectURL(r);i.setAttribute(`href`,a),i.setAttribute(`download`,n),i.style.visibility=`hidden`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(a),this.fireEvent(`csvExported`,{api:this,params:e})}getDataAsCsv(e){this.ensureNotDestroyed();let t=e?.columnSeparator||`,`,n=e?.suppressQuotes||!1,r=this.columns;e?.columnKeys&&(r=e.columnKeys.map(e=>this.resolveColKey(e)).filter(Boolean).map(e=>this.columns.find(t=>t.field===e)).filter(e=>e!==void 0));let i=e?.onlySelected?this.getSelectedRows():e?.onlyFiltered?this.getFilteredRows():this.rows,a=[];if(!e?.skipHeader){let e=r.map(e=>this.formatCsvValue(e.headerName,n)).join(t);a.push(e)}return i.forEach((i,o)=>{let s=this.createRowNode(i,o),c=r.map(t=>{let r=i[t.field],a=r;return e?.processCellCallback&&(a=e.processCellCallback({value:r,column:t,node:s})),this.formatCsvValue(a,n)}).join(t);a.push(c)}),a.join(`
|
|
45
45
|
`)}exportDataAsExcel(e){this.ensureNotDestroyed(),console.warn(`Excel export not fully implemented, exporting as CSV instead`),this.exportDataAsCsv(e)}copySelectedRowsToClipboard(){this.ensureNotDestroyed();let e=this.getDataAsCsv({onlySelected:!0});this.copyToClipboard(e),this.fireEvent(`clipboardCopy`,{api:this,type:`selectedRows`})}copySelectedRangeToClipboard(){this.ensureNotDestroyed(),this.copySelectedRowsToClipboard()}showLoadingOverlay(){this.ensureNotDestroyed(),this.dispatch({type:`SHOW_OVERLAY`,payload:`loading`}),this.fireEvent(`overlayChanged`,{api:this,overlay:`loading`})}showNoRowsOverlay(){this.ensureNotDestroyed(),this.dispatch({type:`SHOW_OVERLAY`,payload:`noRows`}),this.fireEvent(`overlayChanged`,{api:this,overlay:`noRows`})}hideOverlay(){this.ensureNotDestroyed(),this.dispatch({type:`HIDE_OVERLAY`}),this.fireEvent(`overlayChanged`,{api:this,overlay:null})}paginationGetCurrentPage(){return this.state.currentPage}paginationGoToPage(e){this.ensureNotDestroyed(),this.dispatch({type:`SET_PAGE`,payload:e}),this.fireEvent(`paginationChanged`,{api:this,currentPage:e})}paginationGoToNextPage(){let e=this.paginationGetTotalPages(),t=this.paginationGetCurrentPage();t<e-1&&this.paginationGoToPage(t+1)}paginationGoToPreviousPage(){let e=this.paginationGetCurrentPage();e>0&&this.paginationGoToPage(e-1)}paginationGetTotalPages(){let e=this.paginationGetPageSize(),t=this.getFilteredRows().length;return Math.ceil(t/e)}paginationGetPageSize(){return this.state.pageSize}paginationSetPageSize(e){this.ensureNotDestroyed(),this.dispatch({type:`SET_PAGE_SIZE`,payload:e}),this.fireEvent(`paginationChanged`,{api:this,pageSize:e})}setRowGroupColumns(e){this.ensureNotDestroyed();let t=e.map(e=>this.resolveColKey(e)).filter(Boolean);this.dispatch({type:`SET_GROUP_BY`,payload:t}),this.fireEvent(`columnRowGroupChanged`,{api:this,columns:t})}addRowGroupColumn(e){this.ensureNotDestroyed();let t=this.resolveColKey(e);t&&!this.state.groupBy.includes(t)&&(this.dispatch({type:`SET_GROUP_BY`,payload:[...this.state.groupBy,t]}),this.fireEvent(`columnRowGroupChanged`,{api:this,columns:this.state.groupBy}))}removeRowGroupColumn(e){this.ensureNotDestroyed();let t=this.resolveColKey(e);if(t){let e=this.state.groupBy.filter(e=>e!==t);this.dispatch({type:`SET_GROUP_BY`,payload:e}),this.fireEvent(`columnRowGroupChanged`,{api:this,columns:e})}}getRowGroupColumns(){return this.state.groupBy.map(e=>this.columns.find(t=>t.field===e)).filter(e=>e!==void 0)}expandAll(){this.ensureNotDestroyed(),this.dispatch({type:`EXPAND_ALL_NODES`}),this.fireEvent(`expandedChanged`,{api:this,expanded:!0})}collapseAll(){this.ensureNotDestroyed(),this.dispatch({type:`COLLAPSE_ALL_NODES`}),this.fireEvent(`expandedChanged`,{api:this,expanded:!1})}onGroupExpandedOrCollapsed(e){this.ensureNotDestroyed(),this.fireEvent(`rowGroupOpened`,{api:this,node:e})}async saveLayout(e){if(this.ensureNotDestroyed(),!this.persistenceManager)throw Error(`Persistence not enabled`);let t=this.getLayoutState(),n={id:Date.now().toString(),name:e,createdAt:Date.now(),updatedAt:Date.now(),layout:t};await this.persistenceManager.savePreset(n),this.fireEvent(`layoutSaved`,{api:this,name:e})}async loadLayout(e){if(this.ensureNotDestroyed(),!this.persistenceManager)throw Error(`Persistence not enabled`);let t=await this.persistenceManager.loadPreset(e);t&&(this.applyLayoutState(t.layout),this.fireEvent(`layoutLoaded`,{api:this,name:e}))}getLayoutState(){return{columnOrder:this.state.columnOrder,columnWidths:this.state.columnWidths,pinnedColumnsLeft:this.state.pinnedColumnsLeft,pinnedColumnsRight:this.state.pinnedColumnsRight,hiddenColumns:this.state.hiddenColumns,sortConfig:this.state.sortConfig,filterConfig:this.state.filterConfig,pageSize:this.state.pageSize,groupBy:this.state.groupBy}}applyLayoutState(e){this.ensureNotDestroyed(),this.dispatch({type:`LOAD_LAYOUT_PRESET`,payload:e}),this.fireEvent(`layoutApplied`,{api:this,layout:e})}destroy(){this.destroyed||(this.destroyed=!0,this.eventListeners.clear(),this.fireEvent(`gridDestroyed`,{api:this}))}isDestroyed(){return this.destroyed}addEventListener(e,t){this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e).add(t)}removeEventListener(e,t){let n=this.eventListeners.get(e);n&&n.delete(t)}ensureNotDestroyed(){if(this.destroyed)throw Error(`Grid API has been destroyed`)}createRowNode(e,t,n=!1){let r=n||this.state.selection.selectedRows.has(e.id);return{id:e.id,data:e,rowIndex:t,selected:r,setSelected:(t,n=!1)=>{n&&this.deselectAll(),t?this.dispatch({type:`SELECT_ROW`,payload:{rowId:e.id,ctrlKey:!0}}):this.dispatch({type:`DESELECT_ROW`,payload:e.id})}}}resolveColKey(e){return typeof e==`string`?e:typeof e==`number`&&this.state.columnOrder[e]||null}getDisplayedRows(){let e=this.getFilteredRows();return this.state.sortConfig.field&&this.state.sortConfig.direction&&(e=this.applySorting(e)),e}getFilteredRows(){return Object.keys(this.state.filterConfig).length===0?this.rows:this.rows.filter(e=>Object.entries(this.state.filterConfig).every(([t,n])=>{if(!n)return!0;let r=e[t];if(`operator`in n&&`conditions`in n)return!0;let i=n.value;return i==null?!0:r==null?!1:String(r).toLowerCase().includes(String(i).toLowerCase())}))}applySorting(e){let t=this.state.sortConfig;return!t.field||!t.direction?e:[...e].sort((e,n)=>{let r=e[t.field],i=n[t.field],a=0;return r<i&&(a=-1),r>i&&(a=1),t.direction===`asc`?a:-a})}calculateColumnWidth(e){let t=this.columns.find(t=>t.field===e);if(!t)return 150;let n=t.headerName.length*8+40,r=this.rows.slice(0,10).reduce((t,n)=>{let r=String(n[e]||``);return Math.max(t,r.length*8+20)},0);return Math.max(100,Math.min(400,Math.max(n,r)))}formatCsvValue(e,t){if(e==null)return``;let n=String(e);return t?n:n.includes(`,`)||n.includes(`"`)||n.includes(`
|
|
46
46
|
`)?`"${n.replace(/"/g,`""`)}"`:n}copyToClipboard(e){if(navigator.clipboard)navigator.clipboard.writeText(e).catch(e=>{console.error(`Failed to copy to clipboard:`,e)});else{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}}fireEvent(e,t){let n=this.eventListeners.get(e);n&&n.forEach(n=>{try{n(t)}catch(t){console.error(`Error in ${e} listener:`,t)}})}},ui={sum:e=>e.reduce((e,t)=>e+t,0),count:e=>e.length,avg:e=>e.length>0?e.reduce((e,t)=>e+t,0)/e.length:0,min:e=>e.length>0?Math.min(...e):0,max:e=>e.length>0?Math.max(...e):0};function di(e,t){let n=new Set;return e.forEach(e=>{let r=e[t];r!=null&&n.add(String(r))}),Array.from(n).sort()}function fi(e){return typeof e==`function`?e:ui[e]||ui.sum}function pi(e){if(typeof e==`number`)return e;if(typeof e==`string`){let t=parseFloat(e);return isNaN(t)?0:t}return 0}function mi(e,t){let{pivotColumn:n,valueColumn:r,rowGroupColumn:i,aggregator:a,showTotals:o=!1,showGrandTotal:s=!1}=t;if(!e||e.length===0)return{columns:[],rows:[],pivotValues:[]};let c=di(e,n),l=di(e,i),u=fi(a),d=new Map;l.forEach(e=>{let t=new Map;c.forEach(e=>{t.set(e,[])}),d.set(e,t)}),e.forEach(e=>{let t=String(e[i]??``),a=String(e[n]??``),o=pi(e[r]);if(d.has(t)){let e=d.get(t);e.has(a)&&e.get(a).push(o)}});let f=[{field:i,headerName:hi(i),width:180,sortable:!0,filterable:!0,isPivotColumn:!1}];c.forEach(e=>{f.push({field:e,headerName:e,width:120,sortable:!0,filterable:!0,isPivotColumn:!0})}),s&&f.push({field:`__grandTotal`,headerName:`Grand Total`,width:120,sortable:!0,filterable:!1,isTotalColumn:!0});let p=[];l.forEach(e=>{let t=d.get(e),n={[i]:e,__id:e},r=0;c.forEach(e=>{let i=u(t.get(e));n[e]=i,r+=i}),s&&(n.__grandTotal=r),p.push(n)});let m;if(o){m={[i]:`Total`,__id:`__totals`,__isTotal:!0};let e=0;c.forEach(t=>{let n=[];d.forEach(e=>{let r=e.get(t);n.push(...r)});let r=u(n);m[t]=r,e+=r}),s&&(m.__grandTotal=e)}return{columns:f,rows:p,pivotValues:c,totalsRow:m}}function hi(e){return e.split(/(?=[A-Z])|_|-/).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `)}function gi(e){let{columns:t,rows:n,totalsRow:r}=e,i=t.map(e=>e.headerName).join(`,`),a=n.map(e=>t.map(t=>{let n=e[t.field];return typeof n==`string`&&n.includes(`,`)?`"${n}"`:n??``}).join(`,`));if(r){let e=t.map(e=>{let t=r[e.field];return typeof t==`string`&&t.includes(`,`)?`"${t}"`:t??``}).join(`,`);a.push(e)}return[i,...a].join(`
|
|
47
47
|
`)}function _i(e,t=`pivot-table.csv`){let n=new Blob([e],{type:`text/csv;charset=utf-8;`}),r=document.createElement(`a`),i=URL.createObjectURL(n);r.setAttribute(`href`,i),r.setAttribute(`download`,t),r.style.visibility=`hidden`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(i)}const vi=(0,b.forwardRef)(({columns:e,rows:t,pageSize:n=10,showColumnPinning:r=!0,footerConfig:i,virtualScrollConfig:a,persistenceConfig:o,treeConfig:s,dragRowConfig:c,rowPinConfig:l,contextMenuConfig:u,tooltipConfig:d,pivotConfig:f,tableId:p,theme:m=`quartz`,densityMode:h=`normal`,showDensityToggle:g=!1,onDensityChange:_,onRowClick:v,onCellEdit:y,onSelectionChange:x,onLayoutChange:S,onRowReorder:C,onGridReady:w},T)=>{let[E]=(0,b.useState)(``),[D,O]=(0,b.useReducer)(mn,{columns:e,pageSize:n},e=>pn(e.columns,e.pageSize)),[k,A]=(0,b.useState)(null),j=k===null?t:k,{pivotedData:M,effectiveColumns:N}=(0,b.useMemo)(()=>{if(!f)return{pivotedData:j,effectiveColumns:e};let t=mi(j,f);console.log(`Pivot Result:`,{columnsCount:t.columns.length,columns:t.columns.map(e=>e.field),rowsCount:t.rows.length,sampleRow:t.rows[0]});let n=t.columns.map(e=>({field:e.field,headerName:e.headerName,width:e.width||120,sortable:e.sortable!==!1,filterable:e.filterable!==!1,editable:!1,renderCell:e.isTotalColumn||e.isPivotColumn?t=>{let n=t[e.field];return typeof n==`number`?(0,Y.jsx)(`span`,{style:{fontWeight:e.isTotalColumn?`700`:`600`,color:e.isTotalColumn?`#0f766e`:`#475569`},children:n.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})}):n}:void 0}));return{pivotedData:(t.totalsRow?[...t.rows,t.totalsRow]:t.rows).map((e,t)=>({...e,id:e.__id||e.id||`pivot-row-${t}`})),effectiveColumns:n}},[j,e,f]),P=(0,b.useRef)(t);(0,b.useEffect)(()=>{if(t!==P.current){P.current=t;let e=setTimeout(()=>A(null),0);return()=>clearTimeout(e)}},[t]);let F=(0,b.useRef)(null),I=(0,b.useRef)(null),{densityMode:L,setDensityMode:R,densityStyles:z}=Or({initialMode:h,persist:!0,onChange:_});(0,b.useEffect)(()=>{h&&h!==L&&R(h)},[h,L,R]);let ee=(0,b.useMemo)(()=>oi(ai(m)),[m]),{announceSorting:B,announceSelection:V,announcePagination:te}=si(),[H,U]=(0,b.useState)(null),ne=(0,b.useRef)(null),W=(0,b.useRef)(null),{tooltipState:G,tooltipHandlers:re}=br({config:d}),{contextMenu:K,handleContextMenu:ie,closeContextMenu:ae}=_r({config:u,columns:e,rows:t,selectedRows:D.selection.selectedRows,onPinColumn:(e,t)=>O({type:`PIN_COLUMN`,payload:{field:e,side:t}}),onUnpinColumn:e=>O({type:`UNPIN_COLUMN`,payload:e}),onToggleColumnVisibility:e=>O({type:`TOGGLE_COLUMN_VISIBILITY`,payload:e}),onResizeColumn:(e,t)=>O({type:`RESIZE_COLUMN`,payload:{field:e,width:t}}),onAutoSizeAllColumns:e=>{Object.entries(e).forEach(([e,t])=>{O({type:`RESIZE_COLUMN`,payload:{field:e,width:t}})})},onSetFilter:(e,t)=>O({type:`SET_FILTER`,payload:{field:e,value:t}}),onPinRowTop:l?.enabled?e=>O({type:`PIN_ROW_TOP`,payload:e}):void 0,onPinRowBottom:l?.enabled?e=>O({type:`PIN_ROW_BOTTOM`,payload:e}):void 0,onUnpinRow:l?.enabled?e=>O({type:`UNPIN_ROW`,payload:e}):void 0,pinnedColumnsLeft:D.pinnedColumnsLeft,pinnedColumnsRight:D.pinnedColumnsRight,pinnedRowsTop:D.pinnedRowsTop,pinnedRowsBottom:D.pinnedRowsBottom});(0,b.useEffect)(()=>{if(o?.enabled){let e=new Kr(o),t=setTimeout(()=>U(e),0);return o.autoLoad&&e.loadAutoSave().then(e=>{e&&O({type:`LOAD_LAYOUT_PRESET`,payload:e.layout})}).catch(e=>{console.error(`Failed to load auto-saved layout:`,e)}),()=>clearTimeout(t)}},[o]);let oe=(0,b.useMemo)(()=>JSON.stringify(D.sortConfig),[D.sortConfig]),q=(0,b.useMemo)(()=>JSON.stringify(D.filterConfig),[D.filterConfig]),se=(0,b.useCallback)(()=>({columnOrder:D.columnOrder,columnWidths:D.columnWidths,pinnedColumnsLeft:D.pinnedColumnsLeft,pinnedColumnsRight:D.pinnedColumnsRight,hiddenColumns:D.hiddenColumns,sortConfig:D.sortConfig,filterConfig:D.filterConfig,pageSize:D.pageSize,groupBy:D.groupBy}),[D.columnOrder,D.columnWidths,D.pinnedColumnsLeft,D.pinnedColumnsRight,D.hiddenColumns,D.sortConfig,D.filterConfig,D.pageSize,D.groupBy]);(0,b.useEffect)(()=>{(!I.current||I.current.isDestroyed())&&(I.current=new li(D,O,N,M,F,H,A))},[]),(0,b.useEffect)(()=>{I.current&&!I.current.isDestroyed()&&(I.current.updateState(D),I.current.updateData(N,M),I.current.updateCallbacks(A))},[D,N,M,A]),(0,b.useImperativeHandle)(T,()=>((!I.current||I.current.isDestroyed())&&(I.current=new li(D,O,N,M,F,H,A)),I.current),[D,N,M,H]);let ce=(0,b.useRef)(!1),le=(0,b.useRef)(w);(0,b.useEffect)(()=>{le.current=w},[w]),(0,b.useEffect)(()=>{I.current&&le.current&&!ce.current&&(ce.current=!0,le.current(I.current))},[]),(0,b.useEffect)(()=>()=>{I.current&&I.current.destroy()},[]),(0,b.useEffect)(()=>{if(!o?.enabled||!o.autoSave||!H)return;let e=qr(()=>{let e=se();H.autoSave(e).catch(e=>{console.error(`Failed to auto-save layout:`,e)})},o.autoSaveDelay||1e3);return ne.current=e,e(),()=>{ne.current=null}},[o,H,D.columnOrder,D.columnWidths,D.pinnedColumnsLeft,D.pinnedColumnsRight,D.hiddenColumns,oe,q,D.pageSize,D.groupBy]),(0,b.useEffect)(()=>{if(S){let e=se(),t=JSON.stringify(e);W.current!==t&&(W.current=t,S(e))}},[S,D.columnOrder,D.columnWidths,D.pinnedColumnsLeft,D.pinnedColumnsRight,D.hiddenColumns,oe,q,D.pageSize,D.groupBy]);let ue=new Set(D.hiddenColumns),de=D.columnOrder.filter(e=>!ue.has(e)),J=D.pinnedColumnsLeft.filter(e=>de.includes(e)),fe=D.pinnedColumnsRight.filter(e=>de.includes(e)),pe=new Set(J),me=new Set(fe),he=de.filter(e=>!pe.has(e)&&!me.has(e)),ge=[...J,...he,...fe];console.log(`Display column order:`,ge,`from state.columnOrder:`,D.columnOrder),(0,b.useEffect)(()=>{console.log(`Dispatching RESET_COLUMNS with`,N.length,`columns:`,N.map(e=>e.field)),O({type:`RESET_COLUMNS`,payload:N})},[N]),(0,b.useEffect)(()=>{x&&x(Array.from(D.selection.selectedRows)),V(D.selection.selectedRows.size)},[D.selection.selectedRows]);let _e=(0,b.useRef)(!1);(0,b.useEffect)(()=>{_e.current&&l?.onPinChange&&l.onPinChange(D.pinnedRowsTop,D.pinnedRowsBottom),_e.current=!0},[D.pinnedRowsTop,D.pinnedRowsBottom]),(0,b.useEffect)(()=>{if(D.sortConfig.field){let e=N.find(e=>e.field===D.sortConfig.field);e&&B(e.headerName,D.sortConfig.direction)}},[D.sortConfig.field,D.sortConfig.direction,N]);let ve=(0,b.useMemo)(()=>{if(!D.sortConfig.field||!D.sortConfig.direction)return M;let e=[...M].sort((e,t)=>{let n=e[D.sortConfig.field],r=t[D.sortConfig.field];return n==null&&r==null?0:n==null?1:r==null?-1:typeof n==`string`&&typeof r==`string`?n.localeCompare(r):n<r?-1:n>r?1:0});return D.sortConfig.direction===`desc`&&e.reverse(),e},[M,D.sortConfig]),ye=(0,b.useMemo)(()=>zr(D.filterConfig)?Rr(ve,D.filterConfig):ve,[ve,D.filterConfig]),be=(0,b.useMemo)(()=>s?.enabled?kn(On(ye,s),D.expandedNodes,s):ye,[ye,s,D.expandedNodes]),xe=(0,b.useMemo)(()=>s?.enabled?be:D.groupBy.length===0?ye:wn(ye,D.groupBy,D.expandedGroups),[ye,be,s,D.groupBy,D.expandedGroups]),Se=(0,b.useMemo)(()=>D.groupBy.length===0?xe:Tn(xe),[xe,D.groupBy]);(0,b.useEffect)(()=>{let e=Math.ceil(Se.length/D.pageSize),t=Math.min(D.pageSize,Se.length-D.currentPage*D.pageSize);t>0&&te(D.currentPage,e,t)},[D.currentPage,D.pageSize]);let{pinnedRowsTopData:Ce,pinnedRowsBottomData:we,unpinnedRows:Te}=(0,b.useMemo)(()=>{let e=new Set(D.pinnedRowsTop),t=new Set(D.pinnedRowsBottom),n=[],r=[],i=[];return Se.forEach(a=>{let o=`id`in a?a.id:`groupKey`in a?a.groupKey:null;o===null?i.push(a):e.has(o)?n.push(a):t.has(o)?r.push(a):i.push(a)}),{pinnedRowsTopData:D.pinnedRowsTop.map(e=>n.find(t=>(`id`in t?t.id:`groupKey`in t?t.groupKey:null)===e)).filter(e=>e!==void 0),pinnedRowsBottomData:D.pinnedRowsBottom.map(e=>r.find(t=>(`id`in t?t.id:`groupKey`in t?t.groupKey:null)===e)).filter(e=>e!==void 0),unpinnedRows:i}},[Se,D.pinnedRowsTop,D.pinnedRowsBottom]),Ee=(0,b.useMemo)(()=>{let e=D.currentPage*D.pageSize,t=e+D.pageSize;return Te.slice(e,t)},[Te,D.currentPage,D.pageSize]),De=(0,b.useMemo)(()=>!i?.show||!i.aggregates?{}:_n(ye.filter(e=>!(`isGroup`in e)),i.aggregates),[ye,i]),Oe=(0,b.useMemo)(()=>!i?.showGroupFooters||!i.aggregates||D.groupBy.length===0?new Map:vn(xe,i.aggregates),[xe,i,D.groupBy]);(0,b.useEffect)(()=>{let t={...D.columnWidths},n=!1;e.forEach(e=>{if(e.width)t[e.field]!==e.width&&(t[e.field]=e.width,n=!0);else{let r=e.headerName.length,i=Math.max(150,Math.min(300,r*10+50));t[e.field]||(t[e.field]=i,n=!0)}}),n&&e.forEach(e=>{O({type:`RESIZE_COLUMN`,payload:{field:e.field,width:t[e.field]}})})},[e]);let ke=(0,b.useCallback)((e,n,r)=>{if(y){let i=Ee[e];`id`in i&&y(t.findIndex(e=>e.id===i.id),n,r)}},[y,Ee,t]);return(0,Y.jsxs)(`div`,{ref:F,"data-testid":`data-grid`,role:`grid`,"aria-label":`Data Grid`,"aria-rowcount":Se.length,"aria-colcount":ge.length,style:{...ee,...z,border:`var(--grid-border-width, 1px) solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,overflow:`hidden`,backgroundColor:`var(--grid-bg)`,boxShadow:`var(--grid-shadow-light, 0 1px 3px 0 rgba(0, 0, 0, 0.08))`,fontFamily:`var(--grid-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)`},className:`data-grid density-${L}`,children:[(0,Y.jsx)(ci,{message:E,priority:`polite`}),(0,Y.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,paddingLeft:`16px`,paddingRight:`16px`,paddingTop:`10px`,paddingBottom:`10px`,backgroundColor:`var(--grid-bg-alt)`,borderBottom:`var(--grid-border-width, 1px) solid var(--grid-border)`,zIndex:30},children:[(0,Y.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,Y.jsx)(Vn,{columns:N,columnOrder:D.columnOrder,hiddenColumns:D.hiddenColumns,onToggleVisibility:e=>O({type:`TOGGLE_COLUMN_VISIBILITY`,payload:e}),onReorderColumns:(e,t)=>O({type:`REORDER_COLUMNS`,payload:{fromIndex:e,toIndex:t}}),onResetLayout:()=>O({type:`RESET_COLUMN_LAYOUT`})}),(0,Y.jsx)(Yn,{columns:N,fullDataset:t,filteredData:ye.filter(e=>!(`isGroup`in e)),selectedRows:D.selection.selectedRows,currentPageData:Ee.filter(e=>!(`isGroup`in e))}),o?.enabled&&H&&(0,Y.jsx)(lr,{manager:H,currentLayout:se(),onLoadPreset:e=>O({type:`LOAD_LAYOUT_PRESET`,payload:e}),onResetLayout:()=>O({type:`RESET_COLUMN_LAYOUT`})})]}),g&&(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,Y.jsx)(`span`,{style:{fontSize:`13px`,color:`var(--grid-text-secondary)`,fontWeight:`500`},children:`Density:`}),(0,Y.jsx)(Dr,{value:L,onChange:R})]})]}),(0,Y.jsx)(zn,{columns:N,groupBy:D.groupBy,dispatch:O}),(0,Y.jsxs)(`div`,{role:`rowgroup`,style:{position:`sticky`,top:0,zIndex:20,width:`100%`},children:[(0,Y.jsx)(hn,{columns:N,columnOrder:D.columnOrder,displayColumnOrder:ge,columnWidths:D.columnWidths,sortConfig:D.sortConfig,dispatch:O,pinnedLeft:J,pinnedRight:fe,showColumnPinning:r,onContextMenu:(e,t,n)=>ie({type:`header`,column:t,columnIndex:n,event:e})}),(0,Y.jsx)(cr,{columns:N,displayColumnOrder:ge,columnWidths:D.columnWidths,filterConfig:D.filterConfig,dispatch:O,pinnedLeft:J,pinnedRight:fe,rows:ye})]}),(0,Y.jsx)(Ln,{columns:N,rows:a?.enabled?Te:Ee,pinnedRowsTop:Ce,pinnedRowsBottom:we,columnOrder:D.columnOrder,displayColumnOrder:ge,columnWidths:D.columnWidths,selectedRows:D.selection.selectedRows,editState:D.editState,focusState:D.focusState,dispatch:O,onRowClick:v,onCellEdit:ke,pinnedLeft:J,pinnedRight:fe,showGroupFooters:i?.showGroupFooters,groupAggregates:Oe,aggregateConfigs:i?.aggregates,virtualScrollConfig:a,treeConfig:s,dragRowConfig:c,tableId:p,onRowReorder:C,currentPage:D.currentPage,pageSize:D.pageSize,totalRows:Te.length,onContextMenu:(e,t,n,r,i)=>ie({type:`cell`,row:t,column:n,rowIndex:r,columnIndex:i,event:e}),...re}),i?.show&&i.aggregates&&(0,Y.jsx)(Bn,{columns:N,displayColumnOrder:ge,columnWidths:D.columnWidths,aggregates:De,aggregateConfigs:i.aggregates,pinnedLeft:J,pinnedRight:fe}),!a?.enabled&&(0,Y.jsx)(Rn,{currentPage:D.currentPage,pageSize:D.pageSize,totalRows:Te.length,dispatch:O}),K.isOpen&&(0,Y.jsx)(ur,{x:K.x,y:K.y,items:K.items,onClose:ae}),d?.enabled&&(0,Y.jsx)(yr,{state:G,maxWidth:d.maxWidth,offset:d.offset})]})});vi.displayName=`DataGrid`;var yi=()=>(0,Y.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,Y.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]}),bi=()=>(0,Y.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,Y.jsx)(`path`,{d:`m21 21-4.35-4.35`})]}),xi=()=>(0,Y.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`polyline`,{points:`6 9 12 15 18 9`})}),Si=()=>(0,Y.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`polyline`,{points:`9 18 15 12 9 6`})}),Ci=()=>(0,Y.jsx)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`polygon`,{points:`22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3`})}),wi=(e,t,n,r)=>{let i=new Map;return e.filter(e=>Object.entries(n).every(([t,n])=>{if(t===r||!n)return!0;if(n&&`values`in n&&n.values){let r=e[t];return n.values.includes(r)}return!0})).forEach(e=>{let n=e[t];if(n!=null){let e=i.get(n)||0;i.set(n,e+1)}}),i},Ti=(e,t)=>{let n=[...e];switch(t){case`count`:n.sort((e,t)=>t.count===e.count?e.label.localeCompare(t.label):t.count-e.count);break;case`alpha`:n.sort((e,t)=>e.label.localeCompare(t.label));break;case`value`:n.sort((e,t)=>typeof e.value==`number`&&typeof t.value==`number`?e.value-t.value:String(e.value).localeCompare(String(t.value)));break}return n};const Ei=({columns:e,rows:t,facetConfigs:n,filterConfig:r,onFilterChange:i,onClearAll:a,className:o=``,showSearch:s=!0,collapsible:c=!0})=>{let[l,u]=(0,b.useState)(new Map),d=(0,b.useMemo)(()=>n.map(n=>{let i=e.find(e=>e.field===n.field),a=n.label||i?.headerName||n.field,o=r[n.field],s=o&&`values`in o?new Set(o.values||[]):new Set,c=wi(t,n.field,r,n.field),u=[];c.forEach((e,t)=>{u.push({value:t,label:String(t),count:e,selected:s.has(t)})});let d=Ti(u,n.sortBy||`count`),f=l.get(n.field)||{expanded:n.expanded!==!1,searchTerm:``,showAll:!1};return{field:n.field,label:a,values:d,expanded:f.expanded,searchTerm:f.searchTerm,showAll:f.showAll}}),[n,e,t,r,l]),f=(e,t)=>{u(n=>{let r=new Map(n),i=r.get(e)||{expanded:!0,searchTerm:``,showAll:!1};return r.set(e,{...i,...t}),r})},p=(e,t)=>{let n=r[e],a=n&&`values`in n?new Set(n.values||[]):new Set;a.has(t)?a.delete(t):a.add(t),a.size===0?i(e,null):i(e,Array.from(a))},m=(e,t)=>{i(e,t)},h=e=>{i(e,null)},g=(0,b.useMemo)(()=>Object.values(r).filter(e=>e?!!(`values`in e&&e.values&&e.values.length>0):!1).length,[r]);return(0,Y.jsxs)(`div`,{className:`faceted-search ${o||``}`,style:{backgroundColor:`#ffffff`,borderRight:`1px solid #e5e7eb`,display:`flex`,flexDirection:`column`,height:`100%`},children:[(0,Y.jsx)(`div`,{style:{position:`sticky`,top:0,zIndex:10,backgroundColor:`#ffffff`,borderBottom:`1px solid #e5e7eb`,padding:`16px`,flexShrink:0},children:(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:`8px`},children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,Y.jsx)(Ci,{}),(0,Y.jsx)(`h3`,{style:{fontSize:`18px`,fontWeight:600,color:`#111827`,margin:0},children:`Filters`}),g>0&&(0,Y.jsx)(`span`,{style:{padding:`2px 8px`,fontSize:`12px`,fontWeight:500,backgroundColor:`#dbeafe`,color:`#1e40af`,borderRadius:`9999px`},children:g})]}),g>0&&a&&(0,Y.jsx)(`button`,{onClick:a,style:{fontSize:`14px`,color:`#2563eb`,fontWeight:500,background:`none`,border:`none`,cursor:`pointer`,padding:0},onMouseOver:e=>e.currentTarget.style.color=`#1d4ed8`,onMouseOut:e=>e.currentTarget.style.color=`#2563eb`,children:`Clear All`})]})}),(0,Y.jsxs)(`div`,{style:{overflowY:`auto`,flex:1},children:[d.map(e=>{let t=n.find(t=>t.field===e.field)?.maxItems||10,r=e.searchTerm?e.values.filter(t=>t.label.toLowerCase().includes(e.searchTerm.toLowerCase())):e.values,i=e.showAll?r:r.slice(0,t),a=r.length>t,o=e.values.filter(e=>e.selected).length;return(0,Y.jsxs)(`div`,{style:{borderBottom:`1px solid #e5e7eb`},children:[(0,Y.jsxs)(`div`,{style:{padding:`16px`,backgroundColor:`#f9fafb`},children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,Y.jsxs)(`button`,{onClick:()=>f(e.field,{expanded:!e.expanded}),disabled:!c,style:{display:`flex`,alignItems:`center`,gap:`8px`,fontSize:`14px`,fontWeight:600,color:`#111827`,background:`none`,border:`none`,cursor:c?`pointer`:`default`,padding:0},onMouseOver:e=>c&&(e.currentTarget.style.color=`#374151`),onMouseOut:e=>c&&(e.currentTarget.style.color=`#111827`),children:[c&&(e.expanded?(0,Y.jsx)(xi,{}):(0,Y.jsx)(Si,{})),(0,Y.jsx)(`span`,{children:e.label}),o>0&&(0,Y.jsx)(`span`,{style:{padding:`2px 8px`,fontSize:`12px`,fontWeight:500,backgroundColor:`#dbeafe`,color:`#1e40af`,borderRadius:`9999px`},children:o})]}),o>0&&(0,Y.jsx)(`button`,{onClick:()=>h(e.field),style:{fontSize:`12px`,color:`#6b7280`,background:`none`,border:`none`,cursor:`pointer`,padding:0,display:`flex`,alignItems:`center`},onMouseOver:e=>e.currentTarget.style.color=`#374151`,onMouseOut:e=>e.currentTarget.style.color=`#6b7280`,children:(0,Y.jsx)(yi,{})})]}),s&&e.expanded&&e.values.length>5&&(0,Y.jsxs)(`div`,{style:{marginTop:`8px`,position:`relative`},children:[(0,Y.jsx)(`div`,{style:{position:`absolute`,left:`8px`,top:`8px`,color:`#9ca3af`},children:(0,Y.jsx)(bi,{})}),(0,Y.jsx)(`input`,{type:`text`,value:e.searchTerm,onChange:t=>f(e.field,{searchTerm:t.target.value}),placeholder:`Search...`,style:{width:`100%`,paddingLeft:`32px`,paddingRight:`12px`,paddingTop:`6px`,paddingBottom:`6px`,fontSize:`14px`,border:`1px solid #d1d5db`,borderRadius:`4px`,outline:`none`},onFocus:e=>e.currentTarget.style.boxShadow=`0 0 0 2px #3b82f6`,onBlur:e=>e.currentTarget.style.boxShadow=`none`})]})]}),e.expanded&&(0,Y.jsx)(`div`,{style:{padding:`16px`,display:`flex`,flexDirection:`column`,gap:`4px`},children:i.length===0?(0,Y.jsx)(`div`,{style:{fontSize:`14px`,color:`#6b7280`,fontStyle:`italic`},children:`No values found`}):(0,Y.jsxs)(Y.Fragment,{children:[r.length>1&&o<r.length&&(0,Y.jsxs)(`button`,{onClick:()=>m(e.field,r.map(e=>e.value)),style:{width:`100%`,textAlign:`left`,fontSize:`14px`,color:`#2563eb`,fontWeight:500,padding:`4px 0`,background:`none`,border:`none`,cursor:`pointer`},onMouseOver:e=>e.currentTarget.style.color=`#1d4ed8`,onMouseOut:e=>e.currentTarget.style.color=`#2563eb`,children:[`Select All (`,r.length,`)`]}),i.map((t,n)=>(0,Y.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,paddingTop:`6px`,paddingBottom:`6px`,paddingLeft:`8px`,paddingRight:`8px`,borderRadius:`4px`,cursor:`pointer`},onMouseOver:e=>e.currentTarget.style.backgroundColor=`#f9fafb`,onMouseOut:e=>e.currentTarget.style.backgroundColor=`transparent`,children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,flex:1,minWidth:0},children:[(0,Y.jsx)(`input`,{type:`checkbox`,checked:t.selected,onChange:()=>p(e.field,t.value),style:{width:`16px`,height:`16px`,cursor:`pointer`,accentColor:`#2563eb`}}),(0,Y.jsx)(`span`,{style:{fontSize:`14px`,color:`#374151`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flex:1},children:t.label})]}),(0,Y.jsx)(`span`,{style:{fontSize:`12px`,color:`#6b7280`,fontWeight:500,marginLeft:`8px`,flexShrink:0},children:t.count})]},`${t.value}-${n}`)),a&&!e.searchTerm&&(0,Y.jsx)(`button`,{onClick:()=>f(e.field,{showAll:!e.showAll}),style:{width:`100%`,textAlign:`left`,fontSize:`14px`,color:`#2563eb`,fontWeight:500,padding:`4px 0`,marginTop:`8px`,background:`none`,border:`none`,cursor:`pointer`},onMouseOver:e=>e.currentTarget.style.color=`#1d4ed8`,onMouseOut:e=>e.currentTarget.style.color=`#2563eb`,children:e.showAll?`Show Less`:`Show More (${r.length-t} more)`})]})})]},e.field)}),d.length===0&&(0,Y.jsxs)(`div`,{style:{padding:`32px`,textAlign:`center`,color:`#6b7280`},children:[(0,Y.jsx)(`div`,{style:{width:`48px`,height:`48px`,margin:`0 auto 12px`,color:`#9ca3af`},children:(0,Y.jsx)(`svg`,{width:`48`,height:`48`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Y.jsx)(`polygon`,{points:`22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3`})})}),(0,Y.jsx)(`p`,{style:{fontSize:`14px`,margin:0},children:`No facets configured`})]})]})]})};var Di,Oi=new Uint8Array(16);function ki(){if(!Di&&(Di=typeof crypto<`u`&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<`u`&&typeof msCrypto.getRandomValues==`function`&&msCrypto.getRandomValues.bind(msCrypto),!Di))throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);return Di(Oi)}var Ai=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function ji(e){return typeof e==`string`&&Ai.test(e)}for(var Mi=ji,Ni=[],Pi=0;Pi<256;++Pi)Ni.push((Pi+256).toString(16).substr(1));function Fi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=(Ni[e[t+0]]+Ni[e[t+1]]+Ni[e[t+2]]+Ni[e[t+3]]+`-`+Ni[e[t+4]]+Ni[e[t+5]]+`-`+Ni[e[t+6]]+Ni[e[t+7]]+`-`+Ni[e[t+8]]+Ni[e[t+9]]+`-`+Ni[e[t+10]]+Ni[e[t+11]]+Ni[e[t+12]]+Ni[e[t+13]]+Ni[e[t+14]]+Ni[e[t+15]]).toLowerCase();if(!Mi(n))throw TypeError(`Stringified UUID is invalid`);return n}var Ii=Fi;function Li(e,t,n){e||={};var r=e.random||(e.rng||ki)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n||=0;for(var i=0;i<16;++i)t[n+i]=r[i];return t}return Ii(r)}var Ri=Li;const zi=({filters:e,onSearch:t,placeholder:n=`Search or add filters...`,maxTokens:r=10})=>{let[i,a]=(0,b.useState)([]),[o,s]=(0,b.useState)(``),[c,l]=(0,b.useState)(!1),[u,d]=(0,b.useState)(null),f=b.useMemo(()=>{if(u){let t=e.find(e=>e.field===u);if(t?.type===`select`||t?.type===`multiselect`){let e=t.options?.filter(e=>e.toLowerCase().includes(o.toLowerCase()))||[];return[{...t,options:e}]}}else return e.filter(e=>e.label.toLowerCase().includes(o.toLowerCase())||e.field.toLowerCase().includes(o.toLowerCase()));return e},[o,u,e]),[p,m]=(0,b.useState)(0),h=(0,b.useRef)(null),g=(0,b.useRef)(null),_=(n,o)=>{let c=e.find(e=>e.field===n);if(!c||i.length>=r)return;let u={id:`${n}-${Ri()}`,field:n,label:c.label,value:o,operator:Array.isArray(o)?`in`:`contains`,color:c.color||C(e.indexOf(c))},f=[...i,u];a(f),t(f),s(``),d(null),l(!1)},v=e=>{let n=i.filter(t=>t.id!==e);a(n),t(n)},y=e=>{(e.type===`text`||e.type===`number`||e.type===`date`||e.type===`select`)&&(d(e.field),s(``),l(!0))},x=e=>{u&&_(u,e)},S=e=>{if(e.key===`ArrowDown`)e.preventDefault(),m(e=>Math.min(e+1,(u?f[0]?.options?.length||0:f.length)-1));else if(e.key===`ArrowUp`)e.preventDefault(),m(e=>Math.max(e-1,0));else if(e.key===`Enter`)if(e.preventDefault(),u){let e=f[0]?.options||[];e[p]?x(e[p]):o.trim()&&_(u,o.trim())}else f[p]&&y(f[p]);else e.key===`Escape`?(l(!1),d(null),s(``)):e.key===`Backspace`&&!o&&i.length>0&&v(i[i.length-1].id)},C=e=>{let t=[`#3b82f6`,`#8b5cf6`,`#ec4899`,`#f59e0b`,`#10b981`,`#06b6d4`];return t[e%t.length]};return(0,b.useEffect)(()=>{let e=e=>{g.current&&!g.current.contains(e.target)&&h.current&&!h.current.contains(e.target)&&l(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]),(0,Y.jsxs)(`div`,{style:{position:`relative`,width:`100%`},children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,flexWrap:`wrap`,gap:`6px`,padding:`8px 12px`,backgroundColor:`#ffffff`,border:`2px solid #e2e8f0`,borderRadius:`8px`,minHeight:`44px`,cursor:`text`,transition:`border-color 0.2s`,...c&&{borderColor:`#3b82f6`}},onClick:()=>h.current?.focus(),children:[i.map(e=>(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`6px`,padding:`4px 8px`,backgroundColor:e.color,color:`#ffffff`,borderRadius:`6px`,fontSize:`13px`,fontWeight:`500`},children:[(0,Y.jsxs)(`span`,{style:{fontWeight:`600`},children:[e.label,`:`]}),(0,Y.jsx)(`span`,{children:Array.isArray(e.value)?e.value.join(`, `):e.value}),(0,Y.jsx)(`button`,{onClick:t=>{t.stopPropagation(),v(e.id)},style:{background:`none`,border:`none`,color:`#ffffff`,cursor:`pointer`,padding:`0 2px`,fontSize:`16px`,lineHeight:`1`,opacity:.8},onMouseEnter:e=>e.currentTarget.style.opacity=`1`,onMouseLeave:e=>e.currentTarget.style.opacity=`0.8`,children:`×`})]},e.id)),(0,Y.jsx)(`input`,{ref:h,type:`text`,value:o,onChange:e=>s(e.target.value),onFocus:()=>l(!0),onKeyDown:S,placeholder:i.length===0?n:``,style:{flex:1,minWidth:`200px`,border:`none`,outline:`none`,fontSize:`14px`,padding:`4px`,backgroundColor:`transparent`},disabled:i.length>=r})]}),c&&(0,Y.jsx)(`div`,{ref:g,style:{position:`absolute`,top:`100%`,left:0,right:0,marginTop:`4px`,backgroundColor:`#ffffff`,border:`1px solid #e2e8f0`,borderRadius:`8px`,boxShadow:`0 4px 6px -1px rgba(0, 0, 0, 0.1)`,maxHeight:`300px`,overflowY:`auto`,zIndex:1e3},children:u?(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{style:{padding:`8px 12px`,fontSize:`12px`,fontWeight:`600`,color:`#64748b`,borderBottom:`1px solid #e2e8f0`,display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,Y.jsx)(`button`,{onClick:()=>{d(null),s(``)},style:{background:`none`,border:`none`,cursor:`pointer`,padding:`2px`,fontSize:`16px`,color:`#64748b`},children:`←`}),e.find(e=>e.field===u)?.label]}),f[0]?.options?.map((e,t)=>(0,Y.jsx)(`div`,{onClick:()=>x(e),style:{padding:`10px 16px`,cursor:`pointer`,fontSize:`14px`,backgroundColor:p===t?`#f1f5f9`:`transparent`,transition:`background-color 0.15s`},onMouseEnter:()=>m(t),children:e},e))]}):(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{style:{padding:`8px 12px`,fontSize:`12px`,fontWeight:`600`,color:`#64748b`,borderBottom:`1px solid #e2e8f0`},children:`Filter by`}),f.map((t,n)=>(0,Y.jsxs)(`div`,{onClick:()=>y(t),style:{padding:`10px 16px`,cursor:`pointer`,fontSize:`14px`,display:`flex`,alignItems:`center`,gap:`10px`,backgroundColor:p===n?`#f1f5f9`:`transparent`,transition:`background-color 0.15s`},onMouseEnter:()=>m(n),children:[(0,Y.jsx)(`div`,{style:{width:`8px`,height:`8px`,borderRadius:`50%`,backgroundColor:t.color||C(e.indexOf(t))}}),(0,Y.jsx)(`span`,{style:{fontWeight:`500`},children:t.label}),(0,Y.jsx)(`span`,{style:{marginLeft:`auto`,fontSize:`12px`,color:`#94a3b8`},children:t.type})]},t.field))]})})]})};var Bi={LOADING:`loading`,LOADED:`loaded`,FAILED:`failed`},Vi=class{constructor(e){this.blockSize=e.blockSize||100,this.maxConcurrentRequests=e.maxConcurrentRequests||4,this.cacheBlockCount=e.cacheBlockCount||20,this.cacheTimeout=e.cacheTimeout||300*1e3,this.getRows=e.getRows,this.blockCache=new Map,this.blockStatus=new Map,this.activeRequests=0,this.requestQueue=[],this.totalRows=void 0,this.sortModel=[],this.filterModel={},this.observers=new Set}subscribe(e){return this.observers.add(e),()=>this.observers.delete(e)}notifyObservers(){this.observers.forEach(e=>e())}getBlockIndex(e){return Math.floor(e/this.blockSize)}getBlockStartRow(e){return e*this.blockSize}getBlockEndRow(e){return(e+1)*this.blockSize}isBlockCached(e){let t=this.blockCache.get(e);return t?Date.now()-t.timestamp>this.cacheTimeout?(this.blockCache.delete(e),this.blockStatus.delete(e),!1):!0:!1}purgeCache(){if(this.blockCache.size<=this.cacheBlockCount)return;let e=Array.from(this.blockCache.entries()).sort((e,t)=>e[1].timestamp-t[1].timestamp);e.slice(0,e.length-this.cacheBlockCount).forEach(([e])=>{this.blockCache.delete(e),this.blockStatus.delete(e)})}async fetchBlock(e){let t=this.getBlockStartRow(e),n=this.getBlockEndRow(e),r={startRow:t,endRow:n,sortModel:this.sortModel,filterModel:this.filterModel};try{let i=await this.getRows(r);this.blockCache.set(e,{startRow:t,endRow:n,rows:i.rows,timestamp:Date.now()}),this.blockStatus.set(e,{status:Bi.LOADED,rows:i.rows}),i.lastRow===void 0?i.totalRows!==void 0&&(this.totalRows=i.totalRows):this.totalRows=i.lastRow,this.purgeCache(),this.notifyObservers()}catch(t){console.error(`Failed to fetch block ${e}:`,t),this.blockStatus.set(e,{status:Bi.FAILED,error:t}),this.notifyObservers()}}queueBlockRequest(e){if(this.blockStatus.get(e)?.status===Bi.LOADING||this.isBlockCached(e))return;let t=async()=>{this.activeRequests++,this.blockStatus.set(e,{status:Bi.LOADING});try{await this.fetchBlock(e)}finally{this.activeRequests--,this.processQueue()}};this.activeRequests<this.maxConcurrentRequests?t():this.requestQueue.push(t)}processQueue(){for(;this.activeRequests<this.maxConcurrentRequests&&this.requestQueue.length>0;){let e=this.requestQueue.shift();e&&e()}}ensureBlocksLoaded(e,t){let n=this.getBlockIndex(e),r=this.getBlockIndex(t);for(let e=n;e<=r;e++)this.queueBlockRequest(e);this.queueBlockRequest(n-1),this.queueBlockRequest(r+1)}getRowsInRange(e,t){this.ensureBlocksLoaded(e,t);let n=[],r=this.getBlockIndex(e),i=this.getBlockIndex(t);for(let a=r;a<=i;a++){let r=this.blockCache.get(a);if(r){let i=this.getBlockStartRow(a);r.rows.forEach((r,a)=>{let o=i+a;o>=e&&o<t&&n.push(r)})}else{let r=this.getBlockStartRow(a),i=this.getBlockEndRow(a);for(let a=Math.max(e,r);a<Math.min(t,i);a++)n.push({id:`loading-${a}`,_loading:!0})}}return n}getRow(e){let t=this.getBlockIndex(e);if(!this.isBlockCached(t))return this.queueBlockRequest(t),{id:`loading-${e}`,_loading:!0};let n=this.blockCache.get(t);if(!n)return;let r=e-this.getBlockStartRow(t);return n.rows[r]}getTotalRows(){return this.totalRows}isBlockLoading(e){return this.blockStatus.get(e)?.status===Bi.LOADING}setSortModel(e){this.sortModel=e,this.refresh()}setFilterModel(e){this.filterModel=e,this.refresh()}refresh(){this.blockCache.clear(),this.blockStatus.clear(),this.totalRows=void 0,this.notifyObservers()}purgeBlock(e){this.blockCache.delete(e),this.blockStatus.delete(e)}destroy(){this.blockCache.clear(),this.blockStatus.clear(),this.requestQueue=[],this.observers.clear()}};function Hi(e=1e6,t=300){return new Vi({blockSize:100,maxConcurrentRequests:2,cacheBlockCount:20,getRows:async n=>{await new Promise(e=>setTimeout(e,t));let{startRow:r,endRow:i,sortModel:a,filterModel:o}=n,s=[];for(let t=r;t<Math.min(i,e);t++)s.push({id:t,name:`User ${t}`,email:`user${t}@example.com`,age:20+t%50,country:[`USA`,`UK`,`Canada`,`Germany`,`France`][t%5],salary:3e4+t%100*1e3,department:[`Engineering`,`Sales`,`Marketing`,`HR`,`Finance`][t%5]});let c=s;if(o&&Object.keys(o).length>0&&(c=s.filter(e=>Object.entries(o).every(([t,n])=>{if(!n||`operator`in n)return!0;let r=e[t],i=n.value;return n.type===`contains`?String(r).toLowerCase().includes(String(i).toLowerCase()):n.type===`equals`?r===i:n.type===`greaterThan`?r>i:n.type===`lessThan`?r<i:!0}))),a&&a.length>0){let e=a[0];e.field&&e.direction&&c.sort((t,n)=>{let r=t[e.field],i=n[e.field];return r<i?e.direction===`asc`?-1:1:r>i?e.direction===`asc`?1:-1:0})}return{rows:c,totalRows:e,lastRow:s.length<i-r?r+s.length:void 0}}})}const Ui=({columns:e,dataSource:t,pageSize:n=100,showColumnPinning:r=!0,virtualScrollConfig:i,theme:a=`quartz`,onRowClick:o,onCellEdit:s,onSelectionChange:c})=>{let[l,u]=(0,b.useReducer)(mn,{columns:e,pageSize:n},e=>pn(e.columns,e.pageSize)),[d,f]=(0,b.useState)(null),[p,m]=(0,b.useState)(void 0),h=(0,b.useMemo)(()=>oi(ai(a)),[a]);(0,b.useLayoutEffect)(()=>{let e;e=t instanceof Vi?t:new Vi(t);let n=e.subscribe(()=>{m(e.getTotalRows())});return setTimeout(()=>f(e),0),()=>{n(),t instanceof Vi||e.destroy()}},[t]),(0,b.useEffect)(()=>{d&&setTimeout(()=>m(d.getTotalRows()),0)},[d]),(0,b.useEffect)(()=>{d&&l.sortConfig.field&&d.setSortModel([l.sortConfig])},[d,l.sortConfig]),(0,b.useEffect)(()=>{d&&d.setFilterModel(l.filterConfig)},[d,l.filterConfig]);let g=new Set(l.hiddenColumns),_=l.columnOrder.filter(e=>!g.has(e)),v=l.pinnedColumnsLeft.filter(e=>_.includes(e)),y=l.pinnedColumnsRight.filter(e=>_.includes(e)),x=new Set(v),S=new Set(y),C=_.filter(e=>!x.has(e)&&!S.has(e)),w=[...v,...C,...y];(0,b.useEffect)(()=>{u({type:`RESET_COLUMNS`,payload:e})},[e]),(0,b.useEffect)(()=>{c&&c(Array.from(l.selection.selectedRows))},[l.selection.selectedRows]);let[T,E]=(0,b.useState)({start:0,end:n*15}),[D,O]=(0,b.useState)(0),k=(0,b.useMemo)(()=>d?d.getRowsInRange(T.start,T.end):[],[d,T,D]);(0,b.useEffect)(()=>{if(d)return d.subscribe(()=>{O(e=>e+1)})},[d]);let A=(0,b.useCallback)(e=>{if(!d||p===void 0)return;let t=i?.containerHeight||600,n=typeof i?.rowHeight==`number`?i.rowHeight:35,r=Math.ceil(t/n),a=Math.floor(e/n),o=r*5,s=Math.max(0,a-o),c=Math.min(p,a+r+o);(s<T.start||c>T.end)&&E({start:Math.max(0,Math.min(s,T.start)),end:Math.max(c,T.end)})},[d,p,i,T]);(0,b.useEffect)(()=>{let t={...l.columnWidths},n=!1;e.forEach(e=>{if(e.width)t[e.field]!==e.width&&(t[e.field]=e.width,n=!0);else{let r=e.headerName.length,i=Math.max(150,Math.min(300,r*10+50));t[e.field]||(t[e.field]=i,n=!0)}}),n&&e.forEach(e=>{u({type:`RESIZE_COLUMN`,payload:{field:e.field,width:t[e.field]}})})},[e]);let j=(0,b.useCallback)((e,t,r)=>{s&&s(l.currentPage*n+e,t,r)},[s,l.currentPage,n]);return d?(0,Y.jsxs)(`div`,{style:{...h,border:`var(--grid-border-width, 1px) solid var(--grid-border)`,borderRadius:`var(--grid-border-radius, 6px)`,backgroundColor:`var(--grid-bg)`,boxShadow:`var(--grid-shadow-light, 0 1px 3px 0 rgba(0, 0, 0, 0.08))`,fontFamily:`var(--grid-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)`,display:`flex`,flexDirection:`column`,height:i?.containerHeight?`${i.containerHeight+150}px`:`auto`},children:[(0,Y.jsx)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,paddingLeft:`16px`,paddingRight:`16px`,paddingTop:`10px`,paddingBottom:`10px`,backgroundColor:`var(--grid-bg-alt)`,borderBottom:`var(--grid-border-width, 1px) solid var(--grid-border)`,zIndex:30},children:(0,Y.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,Y.jsx)(Vn,{columns:e,columnOrder:l.columnOrder,hiddenColumns:l.hiddenColumns,onToggleVisibility:e=>u({type:`TOGGLE_COLUMN_VISIBILITY`,payload:e}),onReorderColumns:(e,t)=>u({type:`REORDER_COLUMNS`,payload:{fromIndex:e,toIndex:t}}),onResetLayout:()=>u({type:`RESET_COLUMN_LAYOUT`})}),(0,Y.jsx)(`div`,{style:{fontSize:`14px`,color:`#64748b`,marginLeft:`12px`},children:p===void 0?`Loading...`:`${p.toLocaleString()} total rows`})]})}),(0,Y.jsx)(zn,{columns:e,groupBy:l.groupBy,dispatch:u}),(0,Y.jsxs)(`div`,{style:{position:`sticky`,top:0,zIndex:20},children:[(0,Y.jsx)(hn,{columns:e,columnOrder:l.columnOrder,displayColumnOrder:w,columnWidths:l.columnWidths,sortConfig:l.sortConfig,dispatch:u,pinnedLeft:v,pinnedRight:y,showColumnPinning:r}),(0,Y.jsx)(cr,{columns:e,displayColumnOrder:w,columnWidths:l.columnWidths,filterConfig:l.filterConfig,dispatch:u,pinnedLeft:v,pinnedRight:y,rows:k})]}),(0,Y.jsx)(Ln,{columns:e,rows:k,columnOrder:l.columnOrder,displayColumnOrder:w,columnWidths:l.columnWidths,selectedRows:l.selection.selectedRows,editState:l.editState,focusState:l.focusState,dispatch:u,onRowClick:o,onCellEdit:j,pinnedLeft:v,pinnedRight:y,onScroll:A,virtualScrollConfig:{...i,enabled:!0}}),(0,Y.jsxs)(`div`,{style:{padding:`8px 16px`,backgroundColor:`var(--grid-footer-bg)`,borderTop:`var(--grid-border-width, 1px) solid var(--grid-border)`,fontSize:`var(--grid-font-size-sm, 12px)`,color:`var(--grid-text-secondary)`,display:`flex`,justifyContent:`space-between`,alignItems:`center`},children:[(0,Y.jsx)(`div`,{children:`Server-side infinite scrolling enabled`}),(0,Y.jsxs)(`div`,{children:[`Rows loaded: `,k.length]})]})]}):(0,Y.jsx)(`div`,{style:{padding:`20px`,textAlign:`center`,border:`1px solid #e2e8f0`,borderRadius:`6px`},children:`Loading data source...`})},Wi=({currentTheme:e,onThemeChange:t})=>{let n=[{value:`quartz`,label:`Quartz (Modern White)`},{value:`alpine`,label:`Alpine (Classic Business)`},{value:`material`,label:`Material`},{value:`dark`,label:`Dark Mode`},{value:`nord`,label:`Nord (Arctic)`},{value:`dracula`,label:`Dracula`},{value:`solarized-light`,label:`Solarized Light`},{value:`solarized-dark`,label:`Solarized Dark`},{value:`monokai`,label:`Monokai`},{value:`one-dark`,label:`One Dark`}],r=e=>{t(e.target.value)},i=ai(e);return(0,Y.jsxs)(`div`,{style:{display:`inline-flex`,alignItems:`center`,gap:`8px`},children:[(0,Y.jsx)(`label`,{htmlFor:`theme-selector`,style:{fontSize:`14px`,fontWeight:`500`,color:i.colors.text},children:`Theme:`}),(0,Y.jsx)(`select`,{id:`theme-selector`,value:e,onChange:r,style:{padding:`6px 32px 6px 12px`,fontSize:`14px`,fontFamily:i.typography.fontFamily,color:i.colors.text,backgroundColor:i.colors.background,border:`1px solid ${i.colors.border}`,borderRadius:i.borders.radius,cursor:`pointer`,outline:`none`,appearance:`none`,backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E")`,backgroundRepeat:`no-repeat`,backgroundPosition:`right 8px center`,transition:`border-color 0.2s`},onMouseEnter:e=>{e.currentTarget.style.borderColor=i.colors.primary},onMouseLeave:e=>{e.currentTarget.style.borderColor=i.colors.border},children:n.map(e=>(0,Y.jsx)(`option`,{value:e.value,children:e.label},e.value))})]})},Gi=({status:e})=>{let t=(e=>{switch(e.toLowerCase()){case`active`:return{bg:`#dcfce7`,text:`#15803d`,border:`#86efac`};case`inactive`:return{bg:`#fee2e2`,text:`#991b1b`,border:`#fca5a5`};case`pending`:return{bg:`#fef3c7`,text:`#92400e`,border:`#fde047`};case`completed`:return{bg:`#dbeafe`,text:`#1e40af`,border:`#93c5fd`};default:return{bg:`#f3f4f6`,text:`#374151`,border:`#d1d5db`}}})(e);return(0,Y.jsx)(`span`,{style:{display:`inline-flex`,alignItems:`center`,padding:`4px 10px`,borderRadius:`12px`,fontSize:`12px`,fontWeight:600,backgroundColor:t.bg,color:t.text,border:`1px solid ${t.border}`},children:e})},Ki=({value:e,color:t=`#3b82f6`,showLabel:n=!0})=>{let r=Math.max(0,Math.min(100,e));return(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,width:`100%`},children:[(0,Y.jsx)(`div`,{style:{flex:1,height:`8px`,backgroundColor:`#e5e7eb`,borderRadius:`4px`,overflow:`hidden`},children:(0,Y.jsx)(`div`,{style:{width:`${r}%`,height:`100%`,backgroundColor:t,transition:`width 0.3s ease`}})}),n&&(0,Y.jsxs)(`span`,{style:{fontSize:`12px`,fontWeight:500,color:`#6b7280`,minWidth:`35px`},children:[r,`%`]})]})},qi=({src:e,alt:t,text:n,size:r=32})=>(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,Y.jsx)(`img`,{src:e,alt:t,style:{width:`${r}px`,height:`${r}px`,borderRadius:`50%`,objectFit:`cover`,border:`2px solid #e5e7eb`}}),n&&(0,Y.jsx)(`span`,{style:{fontSize:`13px`},children:n})]}),Ji=({label:e,onClick:t,variant:n=`primary`,disabled:r=!1})=>{let i=(()=>{if(r)return{bg:`#e5e7eb`,text:`#9ca3af`,border:`#d1d5db`,cursor:`not-allowed`};switch(n){case`primary`:return{bg:`#3b82f6`,text:`#ffffff`,border:`#2563eb`,cursor:`pointer`};case`secondary`:return{bg:`#ffffff`,text:`#374151`,border:`#d1d5db`,cursor:`pointer`};case`danger`:return{bg:`#ef4444`,text:`#ffffff`,border:`#dc2626`,cursor:`pointer`}}})();return(0,Y.jsx)(`button`,{onClick:e=>{e.stopPropagation(),r||t(e)},disabled:r,style:{padding:`6px 12px`,fontSize:`12px`,fontWeight:500,backgroundColor:i.bg,color:i.text,border:`1px solid ${i.border}`,borderRadius:`4px`,cursor:i.cursor,transition:`all 0.2s ease`},onMouseEnter:e=>{!r&&n===`primary`?e.currentTarget.style.backgroundColor=`#2563eb`:!r&&n===`secondary`?e.currentTarget.style.backgroundColor=`#f9fafb`:!r&&n===`danger`&&(e.currentTarget.style.backgroundColor=`#dc2626`)},onMouseLeave:e=>{r||(e.currentTarget.style.backgroundColor=i.bg)},children:e})},Yi=({text:e,color:t=`#1f2937`,backgroundColor:n=`#f3f4f6`})=>(0,Y.jsx)(`span`,{style:{display:`inline-flex`,alignItems:`center`,padding:`4px 8px`,borderRadius:`4px`,fontSize:`12px`,fontWeight:500,backgroundColor:n,color:t},children:e}),Xi=({priority:e})=>{let t=(()=>{switch(e){case`low`:return{icon:`●`,color:`#10b981`,text:`Low`};case`medium`:return{icon:`●`,color:`#f59e0b`,text:`Medium`};case`high`:return{icon:`●`,color:`#ef4444`,text:`High`};case`critical`:return{icon:`●`,color:`#991b1b`,text:`Critical`}}})();return(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`6px`},children:[(0,Y.jsx)(`span`,{style:{color:t.color,fontSize:`18px`},children:t.icon}),(0,Y.jsx)(`span`,{style:{fontSize:`13px`,fontWeight:500},children:t.text})]})},Zi=({rating:e,maxRating:t=5})=>(0,Y.jsx)(`div`,{style:{display:`flex`,gap:`2px`,fontSize:`14px`,color:`#f59e0b`},children:Array.from({length:t},(t,n)=>n<e?`★`:`☆`).map((e,t)=>(0,Y.jsx)(`span`,{children:e},t))}),Qi=({amount:e,currency:t=`USD`,locale:n=`en-US`})=>{let r=new Intl.NumberFormat(n,{style:`currency`,currency:t}).format(e);return(0,Y.jsx)(`span`,{style:{fontWeight:500,color:e<0?`#ef4444`:`#059669`},children:r})},$i=()=>{let e=(0,b.useRef)(null),[t,n]=(0,b.useState)([]),[r,i]=(0,b.useState)(!1),a=e=>{n(t=>[...t.slice(-9),`${new Date().toLocaleTimeString()}: ${e}`])},o=e=>{i(!0),a(`✅ Grid API is ready! You can now call API methods.`)},[s]=(0,b.useState)([{field:`id`,headerName:`ID`,width:80},{field:`name`,headerName:`Name`,width:150,sortable:!0,filterable:!0},{field:`email`,headerName:`Email`,width:200,sortable:!0,filterable:!0},{field:`role`,headerName:`Role`,width:120,sortable:!0,filterable:!0},{field:`status`,headerName:`Status`,width:100,sortable:!0,filterable:!0},{field:`score`,headerName:`Score`,width:100,sortable:!0,filterable:!0}]),[c]=(0,b.useState)(()=>{let e=[`Admin`,`User`,`Manager`],t=[`Active`,`Inactive`,`Pending`],n=`Alice Johnson.Bob Smith.Charlie Brown.Diana Prince.Eve Wilson.Frank Miller.Grace Lee.Henry Ford.Ivy Green.Jack Black.Karen White.Leo King.Mona Lisa.Nina Brown.Oscar Wilde.Paul Allen.Quinn Fox.Rita Ora.Sam Hunt.Tina Fey.Uma Thurman.Victor Hugo.Wendy Wu.Xander Cage.Yara Shahidi.Zane Grey`.split(`.`),r=[];for(let i=1;i<=100;i++){let a=n[i%n.length]+` `+i;r.push({id:i,name:a,email:a.replace(/\s+/g,``).toLowerCase()+`@example.com`,role:e[i%e.length],status:t[i%t.length],score:Math.floor(Math.random()*100)})}return r});return(0,Y.jsxs)(`div`,{style:{padding:`20px`,maxWidth:`1400px`,margin:`0 auto`},children:[(0,Y.jsxs)(`div`,{style:{marginBottom:`20px`},children:[(0,Y.jsx)(`h2`,{children:`Grid API Demo`}),(0,Y.jsx)(`p`,{style:{color:`#666`},children:`Demonstrates programmatic control of the DataGrid using the GridApi ref (AG Grid-inspired API)`})]}),(0,Y.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(200px, 1fr))`,gap:`10px`,marginBottom:`20px`,padding:`15px`,backgroundColor:`#f5f5f5`,borderRadius:`8px`},children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h4`,{style:{margin:`0 0 10px 0`,fontSize:`14px`,fontWeight:`600`},children:`Data Operations`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;if(!t)return;let n={id:Date.now(),name:`New User ${Math.floor(Math.random()*1e3)}`,email:`user${Date.now()}@example.com`,role:`User`,status:`Pending`,score:Math.floor(Math.random()*100)};t.applyTransaction({add:[n]}),a(`Added new row: ${n.name}`)},style:ea,children:`Add Row`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;if(!t)return;let n=t.getSelectedRows();if(n.length===0){a(`No rows selected`);return}let r=n.map(e=>({...e,score:Math.floor(Math.random()*100)}));t.applyTransaction({update:r}),a(`Updated ${r.length} row(s)`)},style:ea,children:`Update Selected`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;if(!t)return;let n=t.getSelectedRows();if(n.length===0){a(`No rows selected`);return}t.applyTransaction({remove:n}),a(`Removed ${n.length} row(s)`)},style:ea,children:`Remove Selected`})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h4`,{style:{margin:`0 0 10px 0`,fontSize:`14px`,fontWeight:`600`},children:`Column Operations`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.setColumnVisible(`email`,!1),a(`Hidden Email column`))},style:ea,children:`Hide Email`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.setColumnVisible(`email`,!0),a(`Shown Email column`))},style:ea,children:`Show Email`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.setColumnPinned(`name`,`left`),a(`Pinned Name column to left`))},style:ea,children:`Pin Name`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.setColumnPinned(`name`,null),a(`Unpinned Name column`))},style:ea,children:`Unpin Name`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.autoSizeAllColumns(),a(`Auto-sized all columns`))},style:ea,children:`Auto-size Columns`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.sizeColumnsToFit(),a(`Resized columns to fit grid width`))},style:ea,children:`Fit to Width`})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h4`,{style:{margin:`0 0 10px 0`,fontSize:`14px`,fontWeight:`600`},children:`Filter & Sort`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.setFilterModel({status:{type:`equals`,value:`Active`}}),a(`Filtered by Status = Active`))},style:ea,children:`Filter Active`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.clearAllFilters(),a(`Cleared all filters`))},style:ea,children:`Clear Filters`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.setSortModel([{field:`score`,direction:`desc`}]),a(`Sorted by Score descending`))},style:ea,children:`Sort by Score`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.clearAllSorting(),a(`Cleared sorting`))},style:ea,children:`Clear Sort`})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h4`,{style:{margin:`0 0 10px 0`,fontSize:`14px`,fontWeight:`600`},children:`Selection`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.selectAll(),a(`Selected all rows`))},style:ea,children:`Select All`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.deselectAll(),a(`Deselected all rows`))},style:ea,children:`Deselect All`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.selectAllFiltered(),a(`Selected all filtered rows`))},style:ea,children:`Select Filtered`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&a(`Selected ${t.getSelectedRows().length} row(s)`)},style:ea,children:`Get Selection`})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h4`,{style:{margin:`0 0 10px 0`,fontSize:`14px`,fontWeight:`600`},children:`Export & Clipboard`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.exportDataAsCsv({fileName:`grid-export`,onlySelected:!1,onlyFiltered:!0}),a(`Exported to CSV`))},style:ea,children:`Export CSV`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;if(!t)return;let n=t.getSelectedRowCount();if(n===0){a(`⚠️ No rows selected! Please select rows first.`);return}t.copySelectedRowsToClipboard(),a(`✓ Copied ${n} selected row(s) to clipboard`)},style:ea,children:`Copy to Clipboard`})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h4`,{style:{margin:`0 0 10px 0`,fontSize:`14px`,fontWeight:`600`},children:`Navigation`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;if(!t)return;let n=t.paginationGetCurrentPage(),r=t.paginationGetPageSize(),i=n*r,o=Math.min(r,t.getDisplayedRowCount()-i),s=Math.floor(o/2);t.ensureIndexVisible(s,`middle`),a(`Scrolled to row ${s} (middle of page ${n+1})`)},style:ea,children:`Scroll to Middle`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.setFocusedCell(2,`name`),a(`Focused cell at row 2, column Name`))},style:ea,children:`Focus Cell`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.paginationGoToNextPage(),a(`Navigated to page ${t.paginationGetCurrentPage()+1}`))},style:ea,children:`Next Page`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.paginationGoToPreviousPage(),a(`Navigated to page ${t.paginationGetCurrentPage()+1}`))},style:ea,children:`Previous Page`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;t&&(t.paginationSetPageSize(20),a(`Set page size to 20`))},style:ea,children:`Page Size: 20`})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h4`,{style:{margin:`0 0 10px 0`,fontSize:`14px`,fontWeight:`600`},children:`Info`}),(0,Y.jsx)(`button`,{onClick:()=>{let t=e.current;if(!t)return;let n=t.getDisplayedRowCount(),r=t.getSelectedRowCount(),i=t.isAnyFilterPresent(),o=t.paginationGetCurrentPage(),s=t.paginationGetTotalPages();a(`Rows: ${n}, Selected: ${r}, Filters: ${i}, Page: ${o+1}/${s}`)},style:ea,children:`Get Grid Info`})]})]}),(0,Y.jsxs)(`div`,{style:{marginBottom:`20px`,padding:`10px`,backgroundColor:`#f9f9f9`,borderRadius:`4px`,border:`1px solid #ddd`,height:`120px`,overflow:`auto`,fontFamily:`monospace`,fontSize:`12px`},children:[(0,Y.jsx)(`div`,{style:{fontWeight:`600`,marginBottom:`5px`},children:`Activity Log:`}),t.length===0?(0,Y.jsx)(`div`,{style:{color:`#999`},children:`No actions yet. Click buttons above to interact with the grid.`}):t.map((e,t)=>(0,Y.jsx)(`div`,{style:{padding:`2px 0`},children:e},t))]}),(0,Y.jsxs)(`div`,{style:{marginBottom:`10px`,padding:`10px`,backgroundColor:r?`#d4edda`:`#f8d7da`,borderRadius:`4px`,border:`1px solid ${r?`#c3e6cb`:`#f5c6cb`}`},children:[(0,Y.jsx)(`strong`,{children:`Grid Status:`}),` `,r?`✅ Ready`:`⏳ Initializing...`]}),(0,Y.jsx)(vi,{ref:e,columns:s,rows:c,pageSize:10,theme:`quartz`,densityMode:`normal`,showDensityToggle:!0,onGridReady:o,onSelectionChange:e=>{a(`Selection changed: ${e.length} row(s)`)}}),(0,Y.jsxs)(`div`,{style:{marginTop:`30px`,padding:`20px`,backgroundColor:`#e8f5e9`,borderRadius:`8px`,marginBottom:`20px`},children:[(0,Y.jsx)(`h3`,{style:{marginTop:0},children:`📘 Using onGridReady Event`}),(0,Y.jsxs)(`p`,{style:{fontSize:`14px`,lineHeight:`1.6`},children:[`The `,(0,Y.jsx)(`code`,{children:`onGridReady`}),` callback is fired when the grid API is fully initialized and ready to use. This is similar to AG-Grid's `,(0,Y.jsx)(`code`,{children:`onGridReady`}),` event.`]}),(0,Y.jsx)(`pre`,{style:{backgroundColor:`#fff`,padding:`15px`,borderRadius:`4px`,overflow:`auto`,fontSize:`13px`},children:`// Example usage
|
|
@@ -1715,7 +1715,7 @@ Invoice to be sent separately.`}]);return(0,Y.jsxs)(`div`,{style:{padding:`24px`
|
|
|
1715
1715
|
/>
|
|
1716
1716
|
),
|
|
1717
1717
|
},
|
|
1718
|
-
];`,language:`typescript`})]}),(0,Y.jsx)(`h2`,{children:`Key Features`}),(0,Y.jsxs)(`ul`,{style:{lineHeight:`1.8`},children:[(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Strongly Typed:`}),` Full TypeScript support with comprehensive type definitions`]}),(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Accessible:`}),` ARIA attributes, keyboard navigation, and screen reader support`]}),(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Theme-Friendly:`}),` Uses CSS variables for seamless theme integration`]}),(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Customizable:`}),` Extensive props for customization and behavior control`]}),(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Standalone Ready:`}),` Can be used outside DataGrid in any React application`]}),(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Production Ready:`}),` Enterprise-grade components with proper validation and error handling`]})]})]})};var jm=({icon:e,title:t,features:n})=>(0,Y.jsxs)(`div`,{style:{border:`1px solid #e5e7eb`,borderRadius:`8px`,padding:`16px`,background:`#fff`},children:[(0,Y.jsx)(`div`,{style:{fontSize:`32px`,marginBottom:`8px`},children:e}),(0,Y.jsx)(`h4`,{style:{margin:`0 0 12px 0`},children:t}),(0,Y.jsx)(`ul`,{style:{margin:0,paddingLeft:`20px`,fontSize:`14px`,color:`#666`},children:n.map((e,t)=>(0,Y.jsx)(`li`,{style:{marginBottom:`4px`},children:e},t))})]}),Mm=({title:e,description:t,editorId:n,activeEditor:r,onActivate:i,children:a})=>(0,Y.jsxs)(`div`,{style:{border:`1px solid #e5e7eb`,borderRadius:`8px`,padding:`24px`,background:`#fff`,marginBottom:`24px`},children:[(0,Y.jsx)(`h3`,{style:{marginTop:0,marginBottom:`8px`},children:e}),(0,Y.jsx)(`p`,{style:{margin:`0 0 16px 0`,color:`#666`,fontSize:`14px`},children:t}),r===n?(0,Y.jsxs)(`div`,{style:{border:`2px dashed #e5e7eb`,borderRadius:`4px`,padding:`16px`,position:`relative`},children:[a,(0,Y.jsx)(`button`,{onClick:()=>i(null),style:{position:`absolute`,top:`8px`,right:`8px`,padding:`4px 12px`,background:`#f3f4f6`,color:`#374151`,border:`1px solid #d1d5db`,borderRadius:`4px`,fontSize:`12px`,cursor:`pointer`},children:`Close`})]}):(0,Y.jsxs)(`button`,{onClick:()=>i(n),style:{padding:`12px 24px`,background:`#0066cc`,color:`white`,border:`none`,borderRadius:`6px`,fontSize:`14px`,fontWeight:`500`,cursor:`pointer`,transition:`background 0.2s`},onMouseEnter:e=>e.currentTarget.style.background=`#0052a3`,onMouseLeave:e=>e.currentTarget.style.background=`#0066cc`,children:[`Try `,e,` →`]})]});function Nm(e){return{startRow:Math.min(e.start.rowIndex,e.end.rowIndex),endRow:Math.max(e.start.rowIndex,e.end.rowIndex),startCol:Math.min(e.start.colIndex,e.end.colIndex),endCol:Math.max(e.start.colIndex,e.end.colIndex)}}function Pm(e){if(e==null||e===``)return!1;let t=Number(e);return!isNaN(t)&&isFinite(t)}function Fm(e){return Pm(e)?Number(e):0}function Im(){return`chart-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}var Lm=[`#8884d8`,`#82ca9d`,`#ffc658`,`#ff7c7c`,`#a28fd0`,`#ff9f40`,`#4bc0c0`,`#ff6384`];function Rm(e){let{range:t,rows:n,columns:r,chartType:i,useFirstColumnAsCategory:a=!0,title:o,theme:s=`light`}=e,{startRow:c,endRow:l,startCol:u,endCol:d}=Nm(t);if(c<0||l>=n.length)throw Error(`Invalid row range`);if(u<0||d>=r.length)throw Error(`Invalid column range`);let f=n.slice(c,l+1),p=r.slice(u,d+1),m=0,h=0;a&&p.length>1?(m=0,h=1):(m=-1,h=0);let g=[];if(m>=0){let e=p[m].field;f.forEach(t=>{let n=t[e];g.push(n==null?``:String(n))})}else for(let e=0;e<f.length;e++)g.push(e+1);let _=[];if(p.slice(h).forEach((e,t)=>{let n=[],r=e.field,i=!1;f.forEach(e=>{let t=e[r];Pm(t)?(i=!0,n.push(Fm(t))):n.push(0)}),i&&_.push({name:e.headerName||r,data:n,color:Lm[t%Lm.length]})}),_.length===0)throw Error(`No numeric data found in the selected range`);if(i===`pie`&&_.length!==1){let e=Array(g.length).fill(0);_.forEach(t=>{t.data.forEach((t,n)=>{e[n]+=t})}),_.length=0,_.push({name:`Total`,data:e,color:Lm[0]})}return{id:Im(),type:i,title:o||`${i.charAt(0).toUpperCase()+i.slice(1)} Chart`,xLabels:g,series:_,theme:s}}function zm(e,t){return{...e,type:t,title:e.title?.replace(/^(Line|Bar|Area|Pie)/i,t.charAt(0).toUpperCase()+t.slice(1))||`${t.charAt(0).toUpperCase()+t.slice(1)} Chart`}}function Bm(e,t){return{...e,theme:t}}function Vm(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Vm(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Hm(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Vm(e))&&(r&&(r+=` `),r+=t);return r}var Um=Hm,Wm=o(((e,t)=>{t.exports=Array.isArray})),Gm=o(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),Km=o(((e,t)=>{var n=Gm(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),qm=o(((e,t)=>{t.exports=Km().Symbol})),Jm=o(((e,t)=>{var n=qm(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),Ym=o(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),Xm=o(((e,t)=>{var n=qm(),r=Jm(),i=Ym(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),Zm=o(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),Qm=o(((e,t)=>{var n=Xm(),r=Zm(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),$m=o(((e,t)=>{var n=Wm(),r=Qm(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;function o(e,t){if(n(e))return!1;var o=typeof e;return o==`number`||o==`symbol`||o==`boolean`||e==null||r(e)?!0:a.test(e)||!i.test(e)||t!=null&&e in Object(t)}t.exports=o})),eh=o(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),th=o(((e,t)=>{var n=Xm(),r=eh(),i=`[object AsyncFunction]`,a=`[object Function]`,o=`[object GeneratorFunction]`,s=`[object Proxy]`;function c(e){if(!r(e))return!1;var t=n(e);return t==a||t==o||t==i||t==s}t.exports=c})),nh=o(((e,t)=>{t.exports=Km()[`__core-js_shared__`]})),rh=o(((e,t)=>{var n=nh(),r=function(){var e=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function i(e){return!!r&&r in e}t.exports=i})),ih=o(((e,t)=>{var n=Function.prototype.toString;function r(e){if(e!=null){try{return n.call(e)}catch{}try{return e+``}catch{}}return``}t.exports=r})),ah=o(((e,t)=>{var n=th(),r=rh(),i=eh(),a=ih(),o=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,c=Function.prototype,l=Object.prototype,u=c.toString,d=l.hasOwnProperty,f=RegExp(`^`+u.call(d).replace(o,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function p(e){return!i(e)||r(e)?!1:(n(e)?f:s).test(a(e))}t.exports=p})),oh=o(((e,t)=>{function n(e,t){return e?.[t]}t.exports=n})),sh=o(((e,t)=>{var n=ah(),r=oh();function i(e,t){var i=r(e,t);return n(i)?i:void 0}t.exports=i})),ch=o(((e,t)=>{t.exports=sh()(Object,`create`)})),lh=o(((e,t)=>{var n=ch();function r(){this.__data__=n?n(null):{},this.size=0}t.exports=r})),uh=o(((e,t)=>{function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}t.exports=n})),dh=o(((e,t)=>{var n=ch(),r=`__lodash_hash_undefined__`,i=Object.prototype.hasOwnProperty;function a(e){var t=this.__data__;if(n){var a=t[e];return a===r?void 0:a}return i.call(t,e)?t[e]:void 0}t.exports=a})),fh=o(((e,t)=>{var n=ch(),r=Object.prototype.hasOwnProperty;function i(e){var t=this.__data__;return n?t[e]!==void 0:r.call(t,e)}t.exports=i})),ph=o(((e,t)=>{var n=ch(),r=`__lodash_hash_undefined__`;function i(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=n&&t===void 0?r:t,this}t.exports=i})),mh=o(((e,t)=>{var n=lh(),r=uh(),i=dh(),a=fh(),o=ph();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),hh=o(((e,t)=>{function n(){this.__data__=[],this.size=0}t.exports=n})),gh=o(((e,t)=>{function n(e,t){return e===t||e!==e&&t!==t}t.exports=n})),_h=o(((e,t)=>{var n=gh();function r(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}t.exports=r})),vh=o(((e,t)=>{var n=_h(),r=Array.prototype.splice;function i(e){var t=this.__data__,i=n(t,e);return i<0?!1:(i==t.length-1?t.pop():r.call(t,i,1),--this.size,!0)}t.exports=i})),yh=o(((e,t)=>{var n=_h();function r(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}t.exports=r})),bh=o(((e,t)=>{var n=_h();function r(e){return n(this.__data__,e)>-1}t.exports=r})),xh=o(((e,t)=>{var n=_h();function r(e,t){var r=this.__data__,i=n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}t.exports=r})),Sh=o(((e,t)=>{var n=hh(),r=vh(),i=yh(),a=bh(),o=xh();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),Ch=o(((e,t)=>{t.exports=sh()(Km(),`Map`)})),wh=o(((e,t)=>{var n=mh(),r=Sh(),i=Ch();function a(){this.size=0,this.__data__={hash:new n,map:new(i||r),string:new n}}t.exports=a})),Th=o(((e,t)=>{function n(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}t.exports=n})),Eh=o(((e,t)=>{var n=Th();function r(e,t){var r=e.__data__;return n(t)?r[typeof t==`string`?`string`:`hash`]:r.map}t.exports=r})),Dh=o(((e,t)=>{var n=Eh();function r(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}t.exports=r})),Oh=o(((e,t)=>{var n=Eh();function r(e){return n(this,e).get(e)}t.exports=r})),kh=o(((e,t)=>{var n=Eh();function r(e){return n(this,e).has(e)}t.exports=r})),Ah=o(((e,t)=>{var n=Eh();function r(e,t){var r=n(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}t.exports=r})),jh=o(((e,t)=>{var n=wh(),r=Dh(),i=Oh(),a=kh(),o=Ah();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),Mh=o(((e,t)=>{var n=jh(),r=`Expected a function`;function i(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(r);var a=function(){var n=arguments,r=t?t.apply(this,n):n[0],i=a.cache;if(i.has(r))return i.get(r);var o=e.apply(this,n);return a.cache=i.set(r,o)||i,o};return a.cache=new(i.Cache||n),a}i.Cache=n,t.exports=i})),Nh=o(((e,t)=>{var n=Mh(),r=500;function i(e){var t=n(e,function(e){return i.size===r&&i.clear(),e}),i=t.cache;return t}t.exports=i})),Ph=o(((e,t)=>{var n=Nh(),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g;t.exports=n(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(r,function(e,n,r,a){t.push(r?a.replace(i,`$1`):n||e)}),t})})),Fh=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}t.exports=n})),Ih=o(((e,t)=>{var n=qm(),r=Fh(),i=Wm(),a=Qm(),o=1/0,s=n?n.prototype:void 0,c=s?s.toString:void 0;function l(e){if(typeof e==`string`)return e;if(i(e))return r(e,l)+``;if(a(e))return c?c.call(e):``;var t=e+``;return t==`0`&&1/e==-o?`-0`:t}t.exports=l})),Lh=o(((e,t)=>{var n=Ih();function r(e){return e==null?``:n(e)}t.exports=r})),Rh=o(((e,t)=>{var n=Wm(),r=$m(),i=Ph(),a=Lh();function o(e,t){return n(e)?e:r(e,t)?[e]:i(a(e))}t.exports=o})),zh=o(((e,t)=>{var n=Qm(),r=1/0;function i(e){if(typeof e==`string`||n(e))return e;var t=e+``;return t==`0`&&1/e==-r?`-0`:t}t.exports=i})),Bh=o(((e,t)=>{var n=Rh(),r=zh();function i(e,t){t=n(t,e);for(var i=0,a=t.length;e!=null&&i<a;)e=e[r(t[i++])];return i&&i==a?e:void 0}t.exports=i})),Vh=o(((e,t)=>{var n=Bh();function r(e,t,r){var i=e==null?void 0:n(e,t);return i===void 0?r:i}t.exports=r})),Hh=o(((e,t)=>{function n(e){return e==null}t.exports=n})),Uh=o(((e,t)=>{var n=Xm(),r=Wm(),i=Zm(),a=`[object String]`;function o(e){return typeof e==`string`||!r(e)&&i(e)&&n(e)==a}t.exports=o})),Wh=o((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.server_context`),l=Symbol.for(`react.forward_ref`),u=Symbol.for(`react.suspense`),d=Symbol.for(`react.suspense_list`),f=Symbol.for(`react.memo`),p=Symbol.for(`react.lazy`);function m(e){if(typeof e==`object`&&e){var m=e.$$typeof;switch(m){case t:switch(e=e.type,e){case r:case a:case i:case u:case d:return e;default:switch(e&&=e.$$typeof,e){case c:case s:case l:case p:case f:case o:return e;default:return m}}case n:return m}}}e.isFragment=function(e){return m(e)===r}})),Gh=o(((e,t)=>{t.exports=Wh()})),Kh=o(((e,t)=>{var n=Xm(),r=Zm(),i=`[object Number]`;function a(e){return typeof e==`number`||r(e)&&n(e)==i}t.exports=a})),qh=o(((e,t)=>{var n=Kh();function r(e){return n(e)&&e!=+e}t.exports=r})),Jh=l(Uh()),Yh=l(qh()),Xh=l(Vh()),Zh=l(Kh()),Qh=l(Hh()),$h=function(e){return e===0?0:e>0?1:-1},eg=function(e){return(0,Jh.default)(e)&&e.indexOf(`%`)===e.length-1},Q=function(e){return(0,Zh.default)(e)&&!(0,Yh.default)(e)},tg=function(e){return(0,Qh.default)(e)},ng=function(e){return Q(e)||(0,Jh.default)(e)},rg=0,ig=function(e){var t=++rg;return`${e||``}${t}`},ag=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Q(e)&&!(0,Jh.default)(e))return n;var i;if(eg(e)){var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return(0,Yh.default)(i)&&(i=n),r&&i>t&&(i=t),i},og=function(e){if(!e)return null;var t=Object.keys(e);return t&&t.length?e[t[0]]:null},sg=function(e){if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r<t;r++)if(!n[e[r]])n[e[r]]=!0;else return!0;return!1},cg=function(e,t){return Q(e)&&Q(t)?function(n){return e+n*(t-e)}:function(){return t}};function lg(e,t,n){return!e||!e.length?null:e.find(function(e){return e&&(typeof t==`function`?t(e):(0,Xh.default)(e,t))===n})}var ug=function(e,t){return Q(e)&&Q(t)?e-t:(0,Jh.default)(e)&&(0,Jh.default)(t)?e.localeCompare(t):e instanceof Date&&t instanceof Date?e.getTime()-t.getTime():String(e).localeCompare(String(t))};function dg(e,t){for(var n in e)if({}.hasOwnProperty.call(e,n)&&(!{}.hasOwnProperty.call(t,n)||e[n]!==t[n]))return!1;for(var r in t)if({}.hasOwnProperty.call(t,r)&&!{}.hasOwnProperty.call(e,r))return!1;return!0}var fg=l(eh());function pg(e){"@babel/helpers - typeof";return pg=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},pg(e)}var mg=[`viewBox`,`children`],hg=`aria-activedescendant.aria-atomic.aria-autocomplete.aria-busy.aria-checked.aria-colcount.aria-colindex.aria-colspan.aria-controls.aria-current.aria-describedby.aria-details.aria-disabled.aria-errormessage.aria-expanded.aria-flowto.aria-haspopup.aria-hidden.aria-invalid.aria-keyshortcuts.aria-label.aria-labelledby.aria-level.aria-live.aria-modal.aria-multiline.aria-multiselectable.aria-orientation.aria-owns.aria-placeholder.aria-posinset.aria-pressed.aria-readonly.aria-relevant.aria-required.aria-roledescription.aria-rowcount.aria-rowindex.aria-rowspan.aria-selected.aria-setsize.aria-sort.aria-valuemax.aria-valuemin.aria-valuenow.aria-valuetext.className.color.height.id.lang.max.media.method.min.name.style.target.width.role.tabIndex.accentHeight.accumulate.additive.alignmentBaseline.allowReorder.alphabetic.amplitude.arabicForm.ascent.attributeName.attributeType.autoReverse.azimuth.baseFrequency.baselineShift.baseProfile.bbox.begin.bias.by.calcMode.capHeight.clip.clipPath.clipPathUnits.clipRule.colorInterpolation.colorInterpolationFilters.colorProfile.colorRendering.contentScriptType.contentStyleType.cursor.cx.cy.d.decelerate.descent.diffuseConstant.direction.display.divisor.dominantBaseline.dur.dx.dy.edgeMode.elevation.enableBackground.end.exponent.externalResourcesRequired.fill.fillOpacity.fillRule.filter.filterRes.filterUnits.floodColor.floodOpacity.focusable.fontFamily.fontSize.fontSizeAdjust.fontStretch.fontStyle.fontVariant.fontWeight.format.from.fx.fy.g1.g2.glyphName.glyphOrientationHorizontal.glyphOrientationVertical.glyphRef.gradientTransform.gradientUnits.hanging.horizAdvX.horizOriginX.href.ideographic.imageRendering.in2.in.intercept.k1.k2.k3.k4.k.kernelMatrix.kernelUnitLength.kerning.keyPoints.keySplines.keyTimes.lengthAdjust.letterSpacing.lightingColor.limitingConeAngle.local.markerEnd.markerHeight.markerMid.markerStart.markerUnits.markerWidth.mask.maskContentUnits.maskUnits.mathematical.mode.numOctaves.offset.opacity.operator.order.orient.orientation.origin.overflow.overlinePosition.overlineThickness.paintOrder.panose1.pathLength.patternContentUnits.patternTransform.patternUnits.pointerEvents.pointsAtX.pointsAtY.pointsAtZ.preserveAlpha.preserveAspectRatio.primitiveUnits.r.radius.refX.refY.renderingIntent.repeatCount.repeatDur.requiredExtensions.requiredFeatures.restart.result.rotate.rx.ry.seed.shapeRendering.slope.spacing.specularConstant.specularExponent.speed.spreadMethod.startOffset.stdDeviation.stemh.stemv.stitchTiles.stopColor.stopOpacity.strikethroughPosition.strikethroughThickness.string.stroke.strokeDasharray.strokeDashoffset.strokeLinecap.strokeLinejoin.strokeMiterlimit.strokeOpacity.strokeWidth.surfaceScale.systemLanguage.tableValues.targetX.targetY.textAnchor.textDecoration.textLength.textRendering.to.transform.u1.u2.underlinePosition.underlineThickness.unicode.unicodeBidi.unicodeRange.unitsPerEm.vAlphabetic.values.vectorEffect.version.vertAdvY.vertOriginX.vertOriginY.vHanging.vIdeographic.viewTarget.visibility.vMathematical.widths.wordSpacing.writingMode.x1.x2.x.xChannelSelector.xHeight.xlinkActuate.xlinkArcrole.xlinkHref.xlinkRole.xlinkShow.xlinkTitle.xlinkType.xmlBase.xmlLang.xmlns.xmlnsXlink.xmlSpace.y1.y2.y.yChannelSelector.z.zoomAndPan.ref.key.angle`.split(`.`),gg=[`points`,`pathLength`],_g={svg:mg,polygon:gg,polyline:gg},vg=`dangerouslySetInnerHTML.onCopy.onCopyCapture.onCut.onCutCapture.onPaste.onPasteCapture.onCompositionEnd.onCompositionEndCapture.onCompositionStart.onCompositionStartCapture.onCompositionUpdate.onCompositionUpdateCapture.onFocus.onFocusCapture.onBlur.onBlurCapture.onChange.onChangeCapture.onBeforeInput.onBeforeInputCapture.onInput.onInputCapture.onReset.onResetCapture.onSubmit.onSubmitCapture.onInvalid.onInvalidCapture.onLoad.onLoadCapture.onError.onErrorCapture.onKeyDown.onKeyDownCapture.onKeyPress.onKeyPressCapture.onKeyUp.onKeyUpCapture.onAbort.onAbortCapture.onCanPlay.onCanPlayCapture.onCanPlayThrough.onCanPlayThroughCapture.onDurationChange.onDurationChangeCapture.onEmptied.onEmptiedCapture.onEncrypted.onEncryptedCapture.onEnded.onEndedCapture.onLoadedData.onLoadedDataCapture.onLoadedMetadata.onLoadedMetadataCapture.onLoadStart.onLoadStartCapture.onPause.onPauseCapture.onPlay.onPlayCapture.onPlaying.onPlayingCapture.onProgress.onProgressCapture.onRateChange.onRateChangeCapture.onSeeked.onSeekedCapture.onSeeking.onSeekingCapture.onStalled.onStalledCapture.onSuspend.onSuspendCapture.onTimeUpdate.onTimeUpdateCapture.onVolumeChange.onVolumeChangeCapture.onWaiting.onWaitingCapture.onAuxClick.onAuxClickCapture.onClick.onClickCapture.onContextMenu.onContextMenuCapture.onDoubleClick.onDoubleClickCapture.onDrag.onDragCapture.onDragEnd.onDragEndCapture.onDragEnter.onDragEnterCapture.onDragExit.onDragExitCapture.onDragLeave.onDragLeaveCapture.onDragOver.onDragOverCapture.onDragStart.onDragStartCapture.onDrop.onDropCapture.onMouseDown.onMouseDownCapture.onMouseEnter.onMouseLeave.onMouseMove.onMouseMoveCapture.onMouseOut.onMouseOutCapture.onMouseOver.onMouseOverCapture.onMouseUp.onMouseUpCapture.onSelect.onSelectCapture.onTouchCancel.onTouchCancelCapture.onTouchEnd.onTouchEndCapture.onTouchMove.onTouchMoveCapture.onTouchStart.onTouchStartCapture.onPointerDown.onPointerDownCapture.onPointerMove.onPointerMoveCapture.onPointerUp.onPointerUpCapture.onPointerCancel.onPointerCancelCapture.onPointerEnter.onPointerEnterCapture.onPointerLeave.onPointerLeaveCapture.onPointerOver.onPointerOverCapture.onPointerOut.onPointerOutCapture.onGotPointerCapture.onGotPointerCaptureCapture.onLostPointerCapture.onLostPointerCaptureCapture.onScroll.onScrollCapture.onWheel.onWheelCapture.onAnimationStart.onAnimationStartCapture.onAnimationEnd.onAnimationEndCapture.onAnimationIteration.onAnimationIterationCapture.onTransitionEnd.onTransitionEndCapture`.split(`.`),yg=function(e,t){if(!e||typeof e==`function`||typeof e==`boolean`)return null;var n=e;if((0,b.isValidElement)(e)&&(n=e.props),!(0,fg.default)(n))return null;var r={};return Object.keys(n).forEach(function(e){vg.includes(e)&&(r[e]=t||function(t){return n[e](n,t)})}),r},bg=function(e,t,n){return function(r){return e(t,n,r),null}},xg=function(e,t,n){if(!(0,fg.default)(e)||pg(e)!==`object`)return null;var r=null;return Object.keys(e).forEach(function(i){var a=e[i];vg.includes(i)&&typeof a==`function`&&(r||={},r[i]=bg(a,t,n))}),r},Sg=l(Vh()),Cg=l(Hh()),wg=l(Uh()),Tg=l(th()),Eg=l(eh()),Dg=Gh(),Og=[`children`],kg=[`children`];function Ag(e,t){if(e==null)return{};var n=jg(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function jg(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Mg(e){"@babel/helpers - typeof";return Mg=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Mg(e)}var Ng={click:`onClick`,mousedown:`onMouseDown`,mouseup:`onMouseUp`,mouseover:`onMouseOver`,mousemove:`onMouseMove`,mouseout:`onMouseOut`,mouseenter:`onMouseEnter`,mouseleave:`onMouseLeave`,touchcancel:`onTouchCancel`,touchend:`onTouchEnd`,touchmove:`onTouchMove`,touchstart:`onTouchStart`,contextmenu:`onContextMenu`,dblclick:`onDoubleClick`},Pg=function(e){return typeof e==`string`?e:e?e.displayName||e.name||`Component`:``},Fg=null,Ig=null,Lg=function e(t){if(t===Fg&&Array.isArray(Ig))return Ig;var n=[];return b.Children.forEach(t,function(t){(0,Cg.default)(t)||((0,Dg.isFragment)(t)?n=n.concat(e(t.props.children)):n.push(t))}),Ig=n,Fg=t,n};function Rg(e,t){var n=[],r=[];return r=Array.isArray(t)?t.map(function(e){return Pg(e)}):[Pg(t)],Lg(e).forEach(function(e){var t=(0,Sg.default)(e,`type.displayName`)||(0,Sg.default)(e,`type.name`);r.indexOf(t)!==-1&&n.push(e)}),n}function zg(e,t){var n=Rg(e,t);return n&&n[0]}var Bg=function(e){if(!e||!e.props)return!1;var t=e.props,n=t.width,r=t.height;return!(!Q(n)||n<=0||!Q(r)||r<=0)},Vg=`a.altGlyph.altGlyphDef.altGlyphItem.animate.animateColor.animateMotion.animateTransform.circle.clipPath.color-profile.cursor.defs.desc.ellipse.feBlend.feColormatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDistantLight.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feImage.feMerge.feMergeNode.feMorphology.feOffset.fePointLight.feSpecularLighting.feSpotLight.feTile.feTurbulence.filter.font.font-face.font-face-format.font-face-name.font-face-url.foreignObject.g.glyph.glyphRef.hkern.image.line.lineGradient.marker.mask.metadata.missing-glyph.mpath.path.pattern.polygon.polyline.radialGradient.rect.script.set.stop.style.svg.switch.symbol.text.textPath.title.tref.tspan.use.view.vkern`.split(`.`),Hg=function(e){return e&&e.type&&(0,wg.default)(e.type)&&Vg.indexOf(e.type)>=0},Ug=function(e){return e&&Mg(e)===`object`&&`clipDot`in e},Wg=function(e,t,n,r){var i=_g?.[r]??[];return t.startsWith(`data-`)||!(0,Tg.default)(e)&&(r&&i.includes(t)||hg.includes(t))||n&&vg.includes(t)},Gg=function(e,t,n){if(!e||typeof e==`function`||typeof e==`boolean`)return null;var r=e;if((0,b.isValidElement)(e)&&(r=e.props),!(0,Eg.default)(r))return null;var i={};return Object.keys(r).forEach(function(e){Wg(r?.[e],e,t,n)&&(i[e]=r[e])}),i},Kg=function e(t,n){if(t===n)return!0;var r=b.Children.count(t);if(r!==b.Children.count(n))return!1;if(r===0)return!0;if(r===1)return qg(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var i=0;i<r;i++){var a=t[i],o=n[i];if(Array.isArray(a)||Array.isArray(o)){if(!e(a,o))return!1}else if(!qg(a,o))return!1}return!0},qg=function(e,t){if((0,Cg.default)(e)&&(0,Cg.default)(t))return!0;if(!(0,Cg.default)(e)&&!(0,Cg.default)(t)){var n=e.props||{},r=n.children,i=Ag(n,Og),a=t.props||{},o=a.children,s=Ag(a,kg);return r&&o?dg(i,s)&&Kg(r,o):!r&&!o?dg(i,s):!1}return!1},Jg=function(e,t){var n=[],r={};return Lg(e).forEach(function(e,i){if(Hg(e))n.push(e);else if(e){var a=Pg(e.type),o=t[a]||{},s=o.handler,c=o.once;if(s&&(!c||!r[a])){var l=s(e,a,i);n.push(l),r[a]=!0}}}),n},Yg=function(e){var t=e&&e.type;return t&&Ng[t]?Ng[t]:null},Xg=function(e,t){return Lg(t).indexOf(e)},Zg=[`children`,`width`,`height`,`viewBox`,`className`,`style`,`title`,`desc`];function Qg(){return Qg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Qg.apply(this,arguments)}function $g(e,t){if(e==null)return{};var n=e_(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function e_(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function t_(e){var t=e.children,n=e.width,r=e.height,i=e.viewBox,a=e.className,o=e.style,s=e.title,c=e.desc,l=$g(e,Zg),u=i||{width:n,height:r,x:0,y:0},d=Um(`recharts-surface`,a);return b.createElement(`svg`,Qg({},Gg(l,!0,`svg`),{className:d,width:n,height:r,style:o,viewBox:`${u.x} ${u.y} ${u.width} ${u.height}`}),b.createElement(`title`,null,s),b.createElement(`desc`,null,c),t)}var n_=[`children`,`className`];function r_(){return r_=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r_.apply(this,arguments)}function i_(e,t){if(e==null)return{};var n=a_(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function a_(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var o_=b.forwardRef(function(e,t){var n=e.children,r=e.className,i=i_(e,n_),a=Um(`recharts-layer`,r);return b.createElement(`g`,r_({className:a},Gg(i,!0),{ref:t}),n)}),s_=!1,c_=function(e,t){var n=[...arguments].slice(2);if(s_&&typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e))if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,function(){return n[r++]}))}},l_=o(((e,t)=>{function n(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+t];return a}t.exports=n})),u_=o(((e,t)=>{var n=l_();function r(e,t,r){var i=e.length;return r=r===void 0?i:r,!t&&r>=i?e:n(e,t,r)}t.exports=r})),d_=o(((e,t)=>{var n=RegExp(`[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]`);function r(e){return n.test(e)}t.exports=r})),f_=o(((e,t)=>{function n(e){return e.split(``)}t.exports=n})),p_=o(((e,t)=>{var n=`\\ud800-\\udfff`,r=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,i=`\\ufe0e\\ufe0f`,a=`[`+n+`]`,o=`[`+r+`]`,s=`\\ud83c[\\udffb-\\udfff]`,c=`(?:`+o+`|`+s+`)`,l=`[^`+n+`]`,u=`(?:\\ud83c[\\udde6-\\uddff]){2}`,d=`[\\ud800-\\udbff][\\udc00-\\udfff]`,f=`\\u200d`,p=c+`?`,m=`[`+i+`]?`,h=`(?:`+f+`(?:`+[l,u,d].join(`|`)+`)`+m+p+`)*`,g=m+p+h,_=`(?:`+[l+o+`?`,o,u,d,a].join(`|`)+`)`,v=RegExp(s+`(?=`+s+`)|`+_+g,`g`);function y(e){return e.match(v)||[]}t.exports=y})),m_=o(((e,t)=>{var n=f_(),r=d_(),i=p_();function a(e){return r(e)?i(e):n(e)}t.exports=a})),h_=o(((e,t)=>{var n=u_(),r=d_(),i=m_(),a=Lh();function o(e){return function(t){t=a(t);var o=r(t)?i(t):void 0,s=o?o[0]:t.charAt(0),c=o?n(o,1).join(``):t.slice(1);return s[e]()+c}}t.exports=o})),g_=o(((e,t)=>{t.exports=h_()(`toUpperCase`)}));function __(e){return function(){return e}}const v_=Math.cos,y_=Math.sin,b_=Math.sqrt,x_=Math.PI;x_/2;const S_=2*x_;var C_=Math.PI,w_=2*C_,T_=1e-6,E_=w_-T_;function D_(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function O_(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return D_;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var k_=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?D_:O_(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>T_)if(!(Math.abs(u*s-c*l)>T_)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((C_-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>T_&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>T_||Math.abs(this._y1-l)>T_)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%w_+w_),d>E_?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>T_&&this._append`A${n},${n},0,${+(d>=C_)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};function A_(){return new k_}A_.prototype=k_.prototype;function j_(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new k_(t)}Array.prototype.slice;function M_(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function N_(e){this._context=e}N_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function P_(e){return new N_(e)}function F_(e){return e[0]}function I_(e){return e[1]}function L_(e,t){var n=__(!0),r=null,i=P_,a=null,o=j_(s);e=typeof e==`function`?e:e===void 0?F_:__(e),t=typeof t==`function`?t:t===void 0?I_:__(t);function s(s){var c,l=(s=M_(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:__(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:__(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:__(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function R_(e,t,n){var r=null,i=__(!0),a=null,o=P_,s=null,c=j_(l);e=typeof e==`function`?e:e===void 0?F_:__(+e),t=typeof t==`function`?t:__(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?I_:__(+n);function l(l){var u,d,f,p=(l=M_(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h)if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return L_().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:__(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:__(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:__(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:__(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:__(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:__(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:__(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var z_=class{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t);break}this._x0=e,this._y0=t}};function B_(e){return new z_(e,!0)}function V_(e){return new z_(e,!1)}var H_={draw(e,t){let n=b_(t/x_);e.moveTo(n,0),e.arc(0,0,n,0,S_)}},U_={draw(e,t){let n=b_(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},W_=b_(1/3),G_=W_*2,K_={draw(e,t){let n=b_(t/G_),r=n*W_;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},q_={draw(e,t){let n=b_(t),r=-n/2;e.rect(r,r,n,n)}},J_=.8908130915292852,Y_=y_(x_/10)/y_(7*x_/10),X_=y_(S_/10)*Y_,Z_=-v_(S_/10)*Y_,Q_={draw(e,t){let n=b_(t*J_),r=X_*n,i=Z_*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=S_*t/5,o=v_(a),s=y_(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},$_=b_(3),ev={draw(e,t){let n=-b_(t/($_*3));e.moveTo(0,n*2),e.lineTo(-$_*n,-n),e.lineTo($_*n,-n),e.closePath()}},tv=-.5,nv=b_(3)/2,rv=1/b_(12),iv=(rv/2+1)*3,av={draw(e,t){let n=b_(t/iv),r=n/2,i=n*rv,a=r,o=n*rv+n,s=-a,c=o;e.moveTo(r,i),e.lineTo(a,o),e.lineTo(s,c),e.lineTo(tv*r-nv*i,nv*r+tv*i),e.lineTo(tv*a-nv*o,nv*a+tv*o),e.lineTo(tv*s-nv*c,nv*s+tv*c),e.lineTo(tv*r+nv*i,tv*i-nv*r),e.lineTo(tv*a+nv*o,tv*o-nv*a),e.lineTo(tv*s+nv*c,tv*c-nv*s),e.closePath()}};function ov(e,t){let n=null,r=j_(i);e=typeof e==`function`?e:__(e||H_),t=typeof t==`function`?t:__(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:__(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:__(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function sv(){}function cv(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function lv(e){this._context=e}lv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:cv(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:cv(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function uv(e){return new lv(e)}function dv(e){this._context=e}dv.prototype={areaStart:sv,areaEnd:sv,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:cv(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function fv(e){return new dv(e)}function pv(e){this._context=e}pv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:cv(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function mv(e){return new pv(e)}function hv(e){this._context=e}hv.prototype={areaStart:sv,areaEnd:sv,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function gv(e){return new hv(e)}function _v(e){return e<0?-1:1}function vv(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(_v(a)+_v(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function yv(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function bv(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function xv(e){this._context=e}xv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:bv(this,this._t0,yv(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,bv(this,yv(this,n=vv(this,e,t)),n);break;default:bv(this,this._t0,n=vv(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function Sv(e){this._context=new Cv(e)}(Sv.prototype=Object.create(xv.prototype)).point=function(e,t){xv.prototype.point.call(this,t,e)};function Cv(e){this._context=e}Cv.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function wv(e){return new xv(e)}function Tv(e){return new Sv(e)}function Ev(e){this._context=e}Ev.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=Dv(e),i=Dv(t),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],e[o],t[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function Dv(e){var t,n=e.length-1,r,i=Array(n),a=Array(n),o=Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/a[t-1],a[t]-=r,o[t]-=r*o[t-1];for(i[n-1]=o[n-1]/a[n-1],t=n-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function Ov(e){return new Ev(e)}function kv(e,t){this._context=e,this._t=t}kv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}this._x=e,this._y=t}};function Av(e){return new kv(e,.5)}function jv(e){return new kv(e,0)}function Mv(e){return new kv(e,1)}function Nv(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function Pv(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function Fv(e,t){return e[t]}function Iv(e){let t=[];return t.key=e,t}function Lv(){var e=__([]),t=Pv,n=Nv,r=Fv;function i(i){var a=Array.from(e.apply(this,arguments),Iv),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=M_(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:__(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:__(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?Pv:typeof e==`function`?e:__(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??Nv,i):n},i}function Rv(e,t){if((r=e.length)>0){for(var n,r,i=0,a=e[0].length,o;i<a;++i){for(o=n=0;n<r;++n)o+=e[n][i][1]||0;if(o)for(n=0;n<r;++n)e[n][i][1]/=o}Nv(e,t)}}function zv(e,t){if((i=e.length)>0){for(var n=0,r=e[t[0]],i,a=r.length;n<a;++n){for(var o=0,s=0;o<i;++o)s+=e[o][n][1]||0;r[n][1]+=r[n][0]=-s/2}Nv(e,t)}}function Bv(e,t){if(!(!((o=e.length)>0)||!((a=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,a,o;r<a;++r){for(var s=0,c=0,l=0;s<o;++s){for(var u=e[t[s]],d=u[r][1]||0,f=(d-(u[r-1][1]||0))/2,p=0;p<s;++p){var m=e[t[p]],h=m[r][1]||0,g=m[r-1][1]||0;f+=h-g}c+=d,l+=f*d}i[r-1][1]+=i[r-1][0]=n,c&&(n-=l/c)}i[r-1][1]+=i[r-1][0]=n,Nv(e,t)}}var Vv=l(g_());function Hv(e){"@babel/helpers - typeof";return Hv=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Hv(e)}var Uv=[`type`,`size`,`sizeType`];function Wv(){return Wv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Wv.apply(this,arguments)}function Gv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Kv(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Gv(Object(n),!0).forEach(function(t){qv(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gv(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function qv(e,t,n){return t=Jv(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jv(e){var t=Yv(e,`string`);return Hv(t)==`symbol`?t:t+``}function Yv(e,t){if(Hv(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Hv(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Xv(e,t){if(e==null)return{};var n=Zv(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Zv(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Qv={symbolCircle:H_,symbolCross:U_,symbolDiamond:K_,symbolSquare:q_,symbolStar:Q_,symbolTriangle:ev,symbolWye:av},$v=Math.PI/180,ey=function(e){return Qv[`symbol${(0,Vv.default)(e)}`]||H_},ty=function(e,t,n){if(t===`area`)return e;switch(n){case`cross`:return 5*e*e/9;case`diamond`:return .5*e*e/Math.sqrt(3);case`square`:return e*e;case`star`:var r=18*$v;return 1.25*e*e*(Math.tan(r)-Math.tan(r*2)*Math.tan(r)**2);case`triangle`:return Math.sqrt(3)*e*e/4;case`wye`:return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},ny=function(e,t){Qv[`symbol${(0,Vv.default)(e)}`]=t},ry=function(e){var t=e.type,n=t===void 0?`circle`:t,r=e.size,i=r===void 0?64:r,a=e.sizeType,o=a===void 0?`area`:a,s=Kv(Kv({},Xv(e,Uv)),{},{type:n,size:i,sizeType:o}),c=function(){var e=ey(n);return ov().type(e).size(ty(i,o,n))()},l=s.className,u=s.cx,d=s.cy,f=Gg(s,!0);return u===+u&&d===+d&&i===+i?b.createElement(`path`,Wv({},f,{className:Um(`recharts-symbols`,l),transform:`translate(${u}, ${d})`,d:c()})):null};ry.registerSymbol=ny;var iy=l(th());function ay(e){"@babel/helpers - typeof";return ay=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},ay(e)}function oy(){return oy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},oy.apply(this,arguments)}function sy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function cy(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?sy(Object(n),!0).forEach(function(t){yy(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sy(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ly(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function uy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,by(r.key),r)}}function dy(e,t,n){return t&&uy(e.prototype,t),n&&uy(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function fy(e,t,n){return t=gy(t),py(e,hy()?Reflect.construct(t,n||[],gy(e).constructor):t.apply(e,n))}function py(e,t){if(t&&(ay(t)===`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return my(e)}function my(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function hy(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(hy=function(){return!!e})()}function gy(e){return gy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},gy(e)}function _y(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,`prototype`,{writable:!1}),t&&vy(e,t)}function vy(e,t){return vy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},vy(e,t)}function yy(e,t,n){return t=by(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function by(e){var t=xy(e,`string`);return ay(t)==`symbol`?t:t+``}function xy(e,t){if(ay(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(ay(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Sy=32,Cy=function(e){function t(){return ly(this,t),fy(this,t,arguments)}return _y(t,e),dy(t,[{key:`renderIcon`,value:function(e){var t=this.props.inactiveColor,n=Sy/2,r=Sy/6,i=Sy/3,a=e.inactive?t:e.color;if(e.type===`plainline`)return b.createElement(`line`,{strokeWidth:4,fill:`none`,stroke:a,strokeDasharray:e.payload.strokeDasharray,x1:0,y1:n,x2:Sy,y2:n,className:`recharts-legend-icon`});if(e.type===`line`)return b.createElement(`path`,{strokeWidth:4,fill:`none`,stroke:a,d:`M0,${n}h${i}
|
|
1718
|
+
];`,language:`typescript`})]}),(0,Y.jsx)(`h2`,{children:`Key Features`}),(0,Y.jsxs)(`ul`,{style:{lineHeight:`1.8`},children:[(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Strongly Typed:`}),` Full TypeScript support with comprehensive type definitions`]}),(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Accessible:`}),` ARIA attributes, keyboard navigation, and screen reader support`]}),(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Theme-Friendly:`}),` Uses CSS variables for seamless theme integration`]}),(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Customizable:`}),` Extensive props for customization and behavior control`]}),(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Standalone Ready:`}),` Can be used outside DataGrid in any React application`]}),(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Production Ready:`}),` Enterprise-grade components with proper validation and error handling`]})]})]})};var jm=({icon:e,title:t,features:n})=>(0,Y.jsxs)(`div`,{style:{border:`1px solid #e5e7eb`,borderRadius:`8px`,padding:`16px`,background:`#fff`},children:[(0,Y.jsx)(`div`,{style:{fontSize:`32px`,marginBottom:`8px`},children:e}),(0,Y.jsx)(`h4`,{style:{margin:`0 0 12px 0`},children:t}),(0,Y.jsx)(`ul`,{style:{margin:0,paddingLeft:`20px`,fontSize:`14px`,color:`#666`},children:n.map((e,t)=>(0,Y.jsx)(`li`,{style:{marginBottom:`4px`},children:e},t))})]}),Mm=({title:e,description:t,editorId:n,activeEditor:r,onActivate:i,children:a})=>(0,Y.jsxs)(`div`,{style:{border:`1px solid #e5e7eb`,borderRadius:`8px`,padding:`24px`,background:`#fff`,marginBottom:`24px`},children:[(0,Y.jsx)(`h3`,{style:{marginTop:0,marginBottom:`8px`},children:e}),(0,Y.jsx)(`p`,{style:{margin:`0 0 16px 0`,color:`#666`,fontSize:`14px`},children:t}),r===n?(0,Y.jsxs)(`div`,{style:{border:`2px dashed #e5e7eb`,borderRadius:`4px`,padding:`16px`,position:`relative`},children:[a,(0,Y.jsx)(`button`,{onClick:()=>i(null),style:{position:`absolute`,top:`8px`,right:`8px`,padding:`4px 12px`,background:`#f3f4f6`,color:`#374151`,border:`1px solid #d1d5db`,borderRadius:`4px`,fontSize:`12px`,cursor:`pointer`},children:`Close`})]}):(0,Y.jsxs)(`button`,{onClick:()=>i(n),style:{padding:`12px 24px`,background:`#0066cc`,color:`white`,border:`none`,borderRadius:`6px`,fontSize:`14px`,fontWeight:`500`,cursor:`pointer`,transition:`background 0.2s`},onMouseEnter:e=>e.currentTarget.style.background=`#0052a3`,onMouseLeave:e=>e.currentTarget.style.background=`#0066cc`,children:[`Try `,e,` →`]})]});function Nm(e){return{startRow:Math.min(e.start.rowIndex,e.end.rowIndex),endRow:Math.max(e.start.rowIndex,e.end.rowIndex),startCol:Math.min(e.start.colIndex,e.end.colIndex),endCol:Math.max(e.start.colIndex,e.end.colIndex)}}function Pm(e){if(e==null||e===``)return!1;let t=Number(e);return!isNaN(t)&&isFinite(t)}function Fm(e){return Pm(e)?Number(e):0}function Im(){return`chart-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}const Lm=[`#2563eb`,`#10b981`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#ec4899`,`#06b6d4`,`#f97316`,`#14b8a6`,`#a855f7`,`#84cc16`,`#f43f5e`];function Rm(e){let{range:t,rows:n,columns:r,chartType:i,useFirstColumnAsCategory:a=!0,title:o,theme:s=`light`}=e,{startRow:c,endRow:l,startCol:u,endCol:d}=Nm(t);if(c<0||l>=n.length)throw Error(`Invalid row range`);if(u<0||d>=r.length)throw Error(`Invalid column range`);let f=n.slice(c,l+1),p=r.slice(u,d+1),m=0,h=0;a&&p.length>1?(m=0,h=1):(m=-1,h=0);let g=[];if(m>=0){let e=p[m].field;f.forEach(t=>{let n=t[e];g.push(n==null?``:String(n))})}else for(let e=0;e<f.length;e++)g.push(e+1);let _=[];if(p.slice(h).forEach((e,t)=>{let n=[],r=e.field,i=!1;f.forEach(e=>{let t=e[r];Pm(t)?(i=!0,n.push(Fm(t))):n.push(0)}),i&&_.push({name:e.headerName||r,data:n,color:Lm[t%Lm.length]})}),_.length===0)throw Error(`No numeric data found in the selected range`);if(i===`pie`&&_.length!==1){let e=Array(g.length).fill(0);_.forEach(t=>{t.data.forEach((t,n)=>{e[n]+=t})}),_.length=0,_.push({name:`Total`,data:e,color:Lm[0]})}return{id:Im(),type:i,title:o||`${i.charAt(0).toUpperCase()+i.slice(1)} Chart`,xLabels:g,series:_,theme:s}}function zm(e,t){return{...e,type:t,title:e.title?.replace(/^(Line|Bar|Area|Pie)/i,t.charAt(0).toUpperCase()+t.slice(1))||`${t.charAt(0).toUpperCase()+t.slice(1)} Chart`}}function Bm(e,t){return{...e,theme:t}}function Vm(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Vm(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Hm(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Vm(e))&&(r&&(r+=` `),r+=t);return r}var Um=Hm,Wm=o(((e,t)=>{t.exports=Array.isArray})),Gm=o(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),Km=o(((e,t)=>{var n=Gm(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),qm=o(((e,t)=>{t.exports=Km().Symbol})),Jm=o(((e,t)=>{var n=qm(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),Ym=o(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),Xm=o(((e,t)=>{var n=qm(),r=Jm(),i=Ym(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),Zm=o(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),Qm=o(((e,t)=>{var n=Xm(),r=Zm(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),$m=o(((e,t)=>{var n=Wm(),r=Qm(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;function o(e,t){if(n(e))return!1;var o=typeof e;return o==`number`||o==`symbol`||o==`boolean`||e==null||r(e)?!0:a.test(e)||!i.test(e)||t!=null&&e in Object(t)}t.exports=o})),eh=o(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),th=o(((e,t)=>{var n=Xm(),r=eh(),i=`[object AsyncFunction]`,a=`[object Function]`,o=`[object GeneratorFunction]`,s=`[object Proxy]`;function c(e){if(!r(e))return!1;var t=n(e);return t==a||t==o||t==i||t==s}t.exports=c})),nh=o(((e,t)=>{t.exports=Km()[`__core-js_shared__`]})),rh=o(((e,t)=>{var n=nh(),r=function(){var e=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function i(e){return!!r&&r in e}t.exports=i})),ih=o(((e,t)=>{var n=Function.prototype.toString;function r(e){if(e!=null){try{return n.call(e)}catch{}try{return e+``}catch{}}return``}t.exports=r})),ah=o(((e,t)=>{var n=th(),r=rh(),i=eh(),a=ih(),o=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,c=Function.prototype,l=Object.prototype,u=c.toString,d=l.hasOwnProperty,f=RegExp(`^`+u.call(d).replace(o,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function p(e){return!i(e)||r(e)?!1:(n(e)?f:s).test(a(e))}t.exports=p})),oh=o(((e,t)=>{function n(e,t){return e?.[t]}t.exports=n})),sh=o(((e,t)=>{var n=ah(),r=oh();function i(e,t){var i=r(e,t);return n(i)?i:void 0}t.exports=i})),ch=o(((e,t)=>{t.exports=sh()(Object,`create`)})),lh=o(((e,t)=>{var n=ch();function r(){this.__data__=n?n(null):{},this.size=0}t.exports=r})),uh=o(((e,t)=>{function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}t.exports=n})),dh=o(((e,t)=>{var n=ch(),r=`__lodash_hash_undefined__`,i=Object.prototype.hasOwnProperty;function a(e){var t=this.__data__;if(n){var a=t[e];return a===r?void 0:a}return i.call(t,e)?t[e]:void 0}t.exports=a})),fh=o(((e,t)=>{var n=ch(),r=Object.prototype.hasOwnProperty;function i(e){var t=this.__data__;return n?t[e]!==void 0:r.call(t,e)}t.exports=i})),ph=o(((e,t)=>{var n=ch(),r=`__lodash_hash_undefined__`;function i(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=n&&t===void 0?r:t,this}t.exports=i})),mh=o(((e,t)=>{var n=lh(),r=uh(),i=dh(),a=fh(),o=ph();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),hh=o(((e,t)=>{function n(){this.__data__=[],this.size=0}t.exports=n})),gh=o(((e,t)=>{function n(e,t){return e===t||e!==e&&t!==t}t.exports=n})),_h=o(((e,t)=>{var n=gh();function r(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}t.exports=r})),vh=o(((e,t)=>{var n=_h(),r=Array.prototype.splice;function i(e){var t=this.__data__,i=n(t,e);return i<0?!1:(i==t.length-1?t.pop():r.call(t,i,1),--this.size,!0)}t.exports=i})),yh=o(((e,t)=>{var n=_h();function r(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}t.exports=r})),bh=o(((e,t)=>{var n=_h();function r(e){return n(this.__data__,e)>-1}t.exports=r})),xh=o(((e,t)=>{var n=_h();function r(e,t){var r=this.__data__,i=n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}t.exports=r})),Sh=o(((e,t)=>{var n=hh(),r=vh(),i=yh(),a=bh(),o=xh();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),Ch=o(((e,t)=>{t.exports=sh()(Km(),`Map`)})),wh=o(((e,t)=>{var n=mh(),r=Sh(),i=Ch();function a(){this.size=0,this.__data__={hash:new n,map:new(i||r),string:new n}}t.exports=a})),Th=o(((e,t)=>{function n(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}t.exports=n})),Eh=o(((e,t)=>{var n=Th();function r(e,t){var r=e.__data__;return n(t)?r[typeof t==`string`?`string`:`hash`]:r.map}t.exports=r})),Dh=o(((e,t)=>{var n=Eh();function r(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}t.exports=r})),Oh=o(((e,t)=>{var n=Eh();function r(e){return n(this,e).get(e)}t.exports=r})),kh=o(((e,t)=>{var n=Eh();function r(e){return n(this,e).has(e)}t.exports=r})),Ah=o(((e,t)=>{var n=Eh();function r(e,t){var r=n(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}t.exports=r})),jh=o(((e,t)=>{var n=wh(),r=Dh(),i=Oh(),a=kh(),o=Ah();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),Mh=o(((e,t)=>{var n=jh(),r=`Expected a function`;function i(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(r);var a=function(){var n=arguments,r=t?t.apply(this,n):n[0],i=a.cache;if(i.has(r))return i.get(r);var o=e.apply(this,n);return a.cache=i.set(r,o)||i,o};return a.cache=new(i.Cache||n),a}i.Cache=n,t.exports=i})),Nh=o(((e,t)=>{var n=Mh(),r=500;function i(e){var t=n(e,function(e){return i.size===r&&i.clear(),e}),i=t.cache;return t}t.exports=i})),Ph=o(((e,t)=>{var n=Nh(),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g;t.exports=n(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(r,function(e,n,r,a){t.push(r?a.replace(i,`$1`):n||e)}),t})})),Fh=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}t.exports=n})),Ih=o(((e,t)=>{var n=qm(),r=Fh(),i=Wm(),a=Qm(),o=1/0,s=n?n.prototype:void 0,c=s?s.toString:void 0;function l(e){if(typeof e==`string`)return e;if(i(e))return r(e,l)+``;if(a(e))return c?c.call(e):``;var t=e+``;return t==`0`&&1/e==-o?`-0`:t}t.exports=l})),Lh=o(((e,t)=>{var n=Ih();function r(e){return e==null?``:n(e)}t.exports=r})),Rh=o(((e,t)=>{var n=Wm(),r=$m(),i=Ph(),a=Lh();function o(e,t){return n(e)?e:r(e,t)?[e]:i(a(e))}t.exports=o})),zh=o(((e,t)=>{var n=Qm(),r=1/0;function i(e){if(typeof e==`string`||n(e))return e;var t=e+``;return t==`0`&&1/e==-r?`-0`:t}t.exports=i})),Bh=o(((e,t)=>{var n=Rh(),r=zh();function i(e,t){t=n(t,e);for(var i=0,a=t.length;e!=null&&i<a;)e=e[r(t[i++])];return i&&i==a?e:void 0}t.exports=i})),Vh=o(((e,t)=>{var n=Bh();function r(e,t,r){var i=e==null?void 0:n(e,t);return i===void 0?r:i}t.exports=r})),Hh=o(((e,t)=>{function n(e){return e==null}t.exports=n})),Uh=o(((e,t)=>{var n=Xm(),r=Wm(),i=Zm(),a=`[object String]`;function o(e){return typeof e==`string`||!r(e)&&i(e)&&n(e)==a}t.exports=o})),Wh=o((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.server_context`),l=Symbol.for(`react.forward_ref`),u=Symbol.for(`react.suspense`),d=Symbol.for(`react.suspense_list`),f=Symbol.for(`react.memo`),p=Symbol.for(`react.lazy`);function m(e){if(typeof e==`object`&&e){var m=e.$$typeof;switch(m){case t:switch(e=e.type,e){case r:case a:case i:case u:case d:return e;default:switch(e&&=e.$$typeof,e){case c:case s:case l:case p:case f:case o:return e;default:return m}}case n:return m}}}e.isFragment=function(e){return m(e)===r}})),Gh=o(((e,t)=>{t.exports=Wh()})),Kh=o(((e,t)=>{var n=Xm(),r=Zm(),i=`[object Number]`;function a(e){return typeof e==`number`||r(e)&&n(e)==i}t.exports=a})),qh=o(((e,t)=>{var n=Kh();function r(e){return n(e)&&e!=+e}t.exports=r})),Jh=l(Uh()),Yh=l(qh()),Xh=l(Vh()),Zh=l(Kh()),Qh=l(Hh()),$h=function(e){return e===0?0:e>0?1:-1},eg=function(e){return(0,Jh.default)(e)&&e.indexOf(`%`)===e.length-1},Q=function(e){return(0,Zh.default)(e)&&!(0,Yh.default)(e)},tg=function(e){return(0,Qh.default)(e)},ng=function(e){return Q(e)||(0,Jh.default)(e)},rg=0,ig=function(e){var t=++rg;return`${e||``}${t}`},ag=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Q(e)&&!(0,Jh.default)(e))return n;var i;if(eg(e)){var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return(0,Yh.default)(i)&&(i=n),r&&i>t&&(i=t),i},og=function(e){if(!e)return null;var t=Object.keys(e);return t&&t.length?e[t[0]]:null},sg=function(e){if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r<t;r++)if(!n[e[r]])n[e[r]]=!0;else return!0;return!1},cg=function(e,t){return Q(e)&&Q(t)?function(n){return e+n*(t-e)}:function(){return t}};function lg(e,t,n){return!e||!e.length?null:e.find(function(e){return e&&(typeof t==`function`?t(e):(0,Xh.default)(e,t))===n})}var ug=function(e,t){return Q(e)&&Q(t)?e-t:(0,Jh.default)(e)&&(0,Jh.default)(t)?e.localeCompare(t):e instanceof Date&&t instanceof Date?e.getTime()-t.getTime():String(e).localeCompare(String(t))};function dg(e,t){for(var n in e)if({}.hasOwnProperty.call(e,n)&&(!{}.hasOwnProperty.call(t,n)||e[n]!==t[n]))return!1;for(var r in t)if({}.hasOwnProperty.call(t,r)&&!{}.hasOwnProperty.call(e,r))return!1;return!0}var fg=l(eh());function pg(e){"@babel/helpers - typeof";return pg=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},pg(e)}var mg=[`viewBox`,`children`],hg=`aria-activedescendant.aria-atomic.aria-autocomplete.aria-busy.aria-checked.aria-colcount.aria-colindex.aria-colspan.aria-controls.aria-current.aria-describedby.aria-details.aria-disabled.aria-errormessage.aria-expanded.aria-flowto.aria-haspopup.aria-hidden.aria-invalid.aria-keyshortcuts.aria-label.aria-labelledby.aria-level.aria-live.aria-modal.aria-multiline.aria-multiselectable.aria-orientation.aria-owns.aria-placeholder.aria-posinset.aria-pressed.aria-readonly.aria-relevant.aria-required.aria-roledescription.aria-rowcount.aria-rowindex.aria-rowspan.aria-selected.aria-setsize.aria-sort.aria-valuemax.aria-valuemin.aria-valuenow.aria-valuetext.className.color.height.id.lang.max.media.method.min.name.style.target.width.role.tabIndex.accentHeight.accumulate.additive.alignmentBaseline.allowReorder.alphabetic.amplitude.arabicForm.ascent.attributeName.attributeType.autoReverse.azimuth.baseFrequency.baselineShift.baseProfile.bbox.begin.bias.by.calcMode.capHeight.clip.clipPath.clipPathUnits.clipRule.colorInterpolation.colorInterpolationFilters.colorProfile.colorRendering.contentScriptType.contentStyleType.cursor.cx.cy.d.decelerate.descent.diffuseConstant.direction.display.divisor.dominantBaseline.dur.dx.dy.edgeMode.elevation.enableBackground.end.exponent.externalResourcesRequired.fill.fillOpacity.fillRule.filter.filterRes.filterUnits.floodColor.floodOpacity.focusable.fontFamily.fontSize.fontSizeAdjust.fontStretch.fontStyle.fontVariant.fontWeight.format.from.fx.fy.g1.g2.glyphName.glyphOrientationHorizontal.glyphOrientationVertical.glyphRef.gradientTransform.gradientUnits.hanging.horizAdvX.horizOriginX.href.ideographic.imageRendering.in2.in.intercept.k1.k2.k3.k4.k.kernelMatrix.kernelUnitLength.kerning.keyPoints.keySplines.keyTimes.lengthAdjust.letterSpacing.lightingColor.limitingConeAngle.local.markerEnd.markerHeight.markerMid.markerStart.markerUnits.markerWidth.mask.maskContentUnits.maskUnits.mathematical.mode.numOctaves.offset.opacity.operator.order.orient.orientation.origin.overflow.overlinePosition.overlineThickness.paintOrder.panose1.pathLength.patternContentUnits.patternTransform.patternUnits.pointerEvents.pointsAtX.pointsAtY.pointsAtZ.preserveAlpha.preserveAspectRatio.primitiveUnits.r.radius.refX.refY.renderingIntent.repeatCount.repeatDur.requiredExtensions.requiredFeatures.restart.result.rotate.rx.ry.seed.shapeRendering.slope.spacing.specularConstant.specularExponent.speed.spreadMethod.startOffset.stdDeviation.stemh.stemv.stitchTiles.stopColor.stopOpacity.strikethroughPosition.strikethroughThickness.string.stroke.strokeDasharray.strokeDashoffset.strokeLinecap.strokeLinejoin.strokeMiterlimit.strokeOpacity.strokeWidth.surfaceScale.systemLanguage.tableValues.targetX.targetY.textAnchor.textDecoration.textLength.textRendering.to.transform.u1.u2.underlinePosition.underlineThickness.unicode.unicodeBidi.unicodeRange.unitsPerEm.vAlphabetic.values.vectorEffect.version.vertAdvY.vertOriginX.vertOriginY.vHanging.vIdeographic.viewTarget.visibility.vMathematical.widths.wordSpacing.writingMode.x1.x2.x.xChannelSelector.xHeight.xlinkActuate.xlinkArcrole.xlinkHref.xlinkRole.xlinkShow.xlinkTitle.xlinkType.xmlBase.xmlLang.xmlns.xmlnsXlink.xmlSpace.y1.y2.y.yChannelSelector.z.zoomAndPan.ref.key.angle`.split(`.`),gg=[`points`,`pathLength`],_g={svg:mg,polygon:gg,polyline:gg},vg=`dangerouslySetInnerHTML.onCopy.onCopyCapture.onCut.onCutCapture.onPaste.onPasteCapture.onCompositionEnd.onCompositionEndCapture.onCompositionStart.onCompositionStartCapture.onCompositionUpdate.onCompositionUpdateCapture.onFocus.onFocusCapture.onBlur.onBlurCapture.onChange.onChangeCapture.onBeforeInput.onBeforeInputCapture.onInput.onInputCapture.onReset.onResetCapture.onSubmit.onSubmitCapture.onInvalid.onInvalidCapture.onLoad.onLoadCapture.onError.onErrorCapture.onKeyDown.onKeyDownCapture.onKeyPress.onKeyPressCapture.onKeyUp.onKeyUpCapture.onAbort.onAbortCapture.onCanPlay.onCanPlayCapture.onCanPlayThrough.onCanPlayThroughCapture.onDurationChange.onDurationChangeCapture.onEmptied.onEmptiedCapture.onEncrypted.onEncryptedCapture.onEnded.onEndedCapture.onLoadedData.onLoadedDataCapture.onLoadedMetadata.onLoadedMetadataCapture.onLoadStart.onLoadStartCapture.onPause.onPauseCapture.onPlay.onPlayCapture.onPlaying.onPlayingCapture.onProgress.onProgressCapture.onRateChange.onRateChangeCapture.onSeeked.onSeekedCapture.onSeeking.onSeekingCapture.onStalled.onStalledCapture.onSuspend.onSuspendCapture.onTimeUpdate.onTimeUpdateCapture.onVolumeChange.onVolumeChangeCapture.onWaiting.onWaitingCapture.onAuxClick.onAuxClickCapture.onClick.onClickCapture.onContextMenu.onContextMenuCapture.onDoubleClick.onDoubleClickCapture.onDrag.onDragCapture.onDragEnd.onDragEndCapture.onDragEnter.onDragEnterCapture.onDragExit.onDragExitCapture.onDragLeave.onDragLeaveCapture.onDragOver.onDragOverCapture.onDragStart.onDragStartCapture.onDrop.onDropCapture.onMouseDown.onMouseDownCapture.onMouseEnter.onMouseLeave.onMouseMove.onMouseMoveCapture.onMouseOut.onMouseOutCapture.onMouseOver.onMouseOverCapture.onMouseUp.onMouseUpCapture.onSelect.onSelectCapture.onTouchCancel.onTouchCancelCapture.onTouchEnd.onTouchEndCapture.onTouchMove.onTouchMoveCapture.onTouchStart.onTouchStartCapture.onPointerDown.onPointerDownCapture.onPointerMove.onPointerMoveCapture.onPointerUp.onPointerUpCapture.onPointerCancel.onPointerCancelCapture.onPointerEnter.onPointerEnterCapture.onPointerLeave.onPointerLeaveCapture.onPointerOver.onPointerOverCapture.onPointerOut.onPointerOutCapture.onGotPointerCapture.onGotPointerCaptureCapture.onLostPointerCapture.onLostPointerCaptureCapture.onScroll.onScrollCapture.onWheel.onWheelCapture.onAnimationStart.onAnimationStartCapture.onAnimationEnd.onAnimationEndCapture.onAnimationIteration.onAnimationIterationCapture.onTransitionEnd.onTransitionEndCapture`.split(`.`),yg=function(e,t){if(!e||typeof e==`function`||typeof e==`boolean`)return null;var n=e;if((0,b.isValidElement)(e)&&(n=e.props),!(0,fg.default)(n))return null;var r={};return Object.keys(n).forEach(function(e){vg.includes(e)&&(r[e]=t||function(t){return n[e](n,t)})}),r},bg=function(e,t,n){return function(r){return e(t,n,r),null}},xg=function(e,t,n){if(!(0,fg.default)(e)||pg(e)!==`object`)return null;var r=null;return Object.keys(e).forEach(function(i){var a=e[i];vg.includes(i)&&typeof a==`function`&&(r||={},r[i]=bg(a,t,n))}),r},Sg=l(Vh()),Cg=l(Hh()),wg=l(Uh()),Tg=l(th()),Eg=l(eh()),Dg=Gh(),Og=[`children`],kg=[`children`];function Ag(e,t){if(e==null)return{};var n=jg(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function jg(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Mg(e){"@babel/helpers - typeof";return Mg=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Mg(e)}var Ng={click:`onClick`,mousedown:`onMouseDown`,mouseup:`onMouseUp`,mouseover:`onMouseOver`,mousemove:`onMouseMove`,mouseout:`onMouseOut`,mouseenter:`onMouseEnter`,mouseleave:`onMouseLeave`,touchcancel:`onTouchCancel`,touchend:`onTouchEnd`,touchmove:`onTouchMove`,touchstart:`onTouchStart`,contextmenu:`onContextMenu`,dblclick:`onDoubleClick`},Pg=function(e){return typeof e==`string`?e:e?e.displayName||e.name||`Component`:``},Fg=null,Ig=null,Lg=function e(t){if(t===Fg&&Array.isArray(Ig))return Ig;var n=[];return b.Children.forEach(t,function(t){(0,Cg.default)(t)||((0,Dg.isFragment)(t)?n=n.concat(e(t.props.children)):n.push(t))}),Ig=n,Fg=t,n};function Rg(e,t){var n=[],r=[];return r=Array.isArray(t)?t.map(function(e){return Pg(e)}):[Pg(t)],Lg(e).forEach(function(e){var t=(0,Sg.default)(e,`type.displayName`)||(0,Sg.default)(e,`type.name`);r.indexOf(t)!==-1&&n.push(e)}),n}function zg(e,t){var n=Rg(e,t);return n&&n[0]}var Bg=function(e){if(!e||!e.props)return!1;var t=e.props,n=t.width,r=t.height;return!(!Q(n)||n<=0||!Q(r)||r<=0)},Vg=`a.altGlyph.altGlyphDef.altGlyphItem.animate.animateColor.animateMotion.animateTransform.circle.clipPath.color-profile.cursor.defs.desc.ellipse.feBlend.feColormatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDistantLight.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feImage.feMerge.feMergeNode.feMorphology.feOffset.fePointLight.feSpecularLighting.feSpotLight.feTile.feTurbulence.filter.font.font-face.font-face-format.font-face-name.font-face-url.foreignObject.g.glyph.glyphRef.hkern.image.line.lineGradient.marker.mask.metadata.missing-glyph.mpath.path.pattern.polygon.polyline.radialGradient.rect.script.set.stop.style.svg.switch.symbol.text.textPath.title.tref.tspan.use.view.vkern`.split(`.`),Hg=function(e){return e&&e.type&&(0,wg.default)(e.type)&&Vg.indexOf(e.type)>=0},Ug=function(e){return e&&Mg(e)===`object`&&`clipDot`in e},Wg=function(e,t,n,r){var i=_g?.[r]??[];return t.startsWith(`data-`)||!(0,Tg.default)(e)&&(r&&i.includes(t)||hg.includes(t))||n&&vg.includes(t)},Gg=function(e,t,n){if(!e||typeof e==`function`||typeof e==`boolean`)return null;var r=e;if((0,b.isValidElement)(e)&&(r=e.props),!(0,Eg.default)(r))return null;var i={};return Object.keys(r).forEach(function(e){Wg(r?.[e],e,t,n)&&(i[e]=r[e])}),i},Kg=function e(t,n){if(t===n)return!0;var r=b.Children.count(t);if(r!==b.Children.count(n))return!1;if(r===0)return!0;if(r===1)return qg(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var i=0;i<r;i++){var a=t[i],o=n[i];if(Array.isArray(a)||Array.isArray(o)){if(!e(a,o))return!1}else if(!qg(a,o))return!1}return!0},qg=function(e,t){if((0,Cg.default)(e)&&(0,Cg.default)(t))return!0;if(!(0,Cg.default)(e)&&!(0,Cg.default)(t)){var n=e.props||{},r=n.children,i=Ag(n,Og),a=t.props||{},o=a.children,s=Ag(a,kg);return r&&o?dg(i,s)&&Kg(r,o):!r&&!o?dg(i,s):!1}return!1},Jg=function(e,t){var n=[],r={};return Lg(e).forEach(function(e,i){if(Hg(e))n.push(e);else if(e){var a=Pg(e.type),o=t[a]||{},s=o.handler,c=o.once;if(s&&(!c||!r[a])){var l=s(e,a,i);n.push(l),r[a]=!0}}}),n},Yg=function(e){var t=e&&e.type;return t&&Ng[t]?Ng[t]:null},Xg=function(e,t){return Lg(t).indexOf(e)},Zg=[`children`,`width`,`height`,`viewBox`,`className`,`style`,`title`,`desc`];function Qg(){return Qg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Qg.apply(this,arguments)}function $g(e,t){if(e==null)return{};var n=e_(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function e_(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function t_(e){var t=e.children,n=e.width,r=e.height,i=e.viewBox,a=e.className,o=e.style,s=e.title,c=e.desc,l=$g(e,Zg),u=i||{width:n,height:r,x:0,y:0},d=Um(`recharts-surface`,a);return b.createElement(`svg`,Qg({},Gg(l,!0,`svg`),{className:d,width:n,height:r,style:o,viewBox:`${u.x} ${u.y} ${u.width} ${u.height}`}),b.createElement(`title`,null,s),b.createElement(`desc`,null,c),t)}var n_=[`children`,`className`];function r_(){return r_=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r_.apply(this,arguments)}function i_(e,t){if(e==null)return{};var n=a_(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function a_(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var o_=b.forwardRef(function(e,t){var n=e.children,r=e.className,i=i_(e,n_),a=Um(`recharts-layer`,r);return b.createElement(`g`,r_({className:a},Gg(i,!0),{ref:t}),n)}),s_=!1,c_=function(e,t){var n=[...arguments].slice(2);if(s_&&typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e))if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,function(){return n[r++]}))}},l_=o(((e,t)=>{function n(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+t];return a}t.exports=n})),u_=o(((e,t)=>{var n=l_();function r(e,t,r){var i=e.length;return r=r===void 0?i:r,!t&&r>=i?e:n(e,t,r)}t.exports=r})),d_=o(((e,t)=>{var n=RegExp(`[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]`);function r(e){return n.test(e)}t.exports=r})),f_=o(((e,t)=>{function n(e){return e.split(``)}t.exports=n})),p_=o(((e,t)=>{var n=`\\ud800-\\udfff`,r=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,i=`\\ufe0e\\ufe0f`,a=`[`+n+`]`,o=`[`+r+`]`,s=`\\ud83c[\\udffb-\\udfff]`,c=`(?:`+o+`|`+s+`)`,l=`[^`+n+`]`,u=`(?:\\ud83c[\\udde6-\\uddff]){2}`,d=`[\\ud800-\\udbff][\\udc00-\\udfff]`,f=`\\u200d`,p=c+`?`,m=`[`+i+`]?`,h=`(?:`+f+`(?:`+[l,u,d].join(`|`)+`)`+m+p+`)*`,g=m+p+h,_=`(?:`+[l+o+`?`,o,u,d,a].join(`|`)+`)`,v=RegExp(s+`(?=`+s+`)|`+_+g,`g`);function y(e){return e.match(v)||[]}t.exports=y})),m_=o(((e,t)=>{var n=f_(),r=d_(),i=p_();function a(e){return r(e)?i(e):n(e)}t.exports=a})),h_=o(((e,t)=>{var n=u_(),r=d_(),i=m_(),a=Lh();function o(e){return function(t){t=a(t);var o=r(t)?i(t):void 0,s=o?o[0]:t.charAt(0),c=o?n(o,1).join(``):t.slice(1);return s[e]()+c}}t.exports=o})),g_=o(((e,t)=>{t.exports=h_()(`toUpperCase`)}));function __(e){return function(){return e}}const v_=Math.cos,y_=Math.sin,b_=Math.sqrt,x_=Math.PI;x_/2;const S_=2*x_;var C_=Math.PI,w_=2*C_,T_=1e-6,E_=w_-T_;function D_(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function O_(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return D_;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var k_=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?D_:O_(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>T_)if(!(Math.abs(u*s-c*l)>T_)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((C_-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>T_&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>T_||Math.abs(this._y1-l)>T_)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%w_+w_),d>E_?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>T_&&this._append`A${n},${n},0,${+(d>=C_)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};function A_(){return new k_}A_.prototype=k_.prototype;function j_(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new k_(t)}Array.prototype.slice;function M_(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function N_(e){this._context=e}N_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function P_(e){return new N_(e)}function F_(e){return e[0]}function I_(e){return e[1]}function L_(e,t){var n=__(!0),r=null,i=P_,a=null,o=j_(s);e=typeof e==`function`?e:e===void 0?F_:__(e),t=typeof t==`function`?t:t===void 0?I_:__(t);function s(s){var c,l=(s=M_(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:__(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:__(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:__(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function R_(e,t,n){var r=null,i=__(!0),a=null,o=P_,s=null,c=j_(l);e=typeof e==`function`?e:e===void 0?F_:__(+e),t=typeof t==`function`?t:__(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?I_:__(+n);function l(l){var u,d,f,p=(l=M_(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h)if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return L_().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:__(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:__(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:__(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:__(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:__(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:__(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:__(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var z_=class{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t);break}this._x0=e,this._y0=t}};function B_(e){return new z_(e,!0)}function V_(e){return new z_(e,!1)}var H_={draw(e,t){let n=b_(t/x_);e.moveTo(n,0),e.arc(0,0,n,0,S_)}},U_={draw(e,t){let n=b_(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},W_=b_(1/3),G_=W_*2,K_={draw(e,t){let n=b_(t/G_),r=n*W_;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},q_={draw(e,t){let n=b_(t),r=-n/2;e.rect(r,r,n,n)}},J_=.8908130915292852,Y_=y_(x_/10)/y_(7*x_/10),X_=y_(S_/10)*Y_,Z_=-v_(S_/10)*Y_,Q_={draw(e,t){let n=b_(t*J_),r=X_*n,i=Z_*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=S_*t/5,o=v_(a),s=y_(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},$_=b_(3),ev={draw(e,t){let n=-b_(t/($_*3));e.moveTo(0,n*2),e.lineTo(-$_*n,-n),e.lineTo($_*n,-n),e.closePath()}},tv=-.5,nv=b_(3)/2,rv=1/b_(12),iv=(rv/2+1)*3,av={draw(e,t){let n=b_(t/iv),r=n/2,i=n*rv,a=r,o=n*rv+n,s=-a,c=o;e.moveTo(r,i),e.lineTo(a,o),e.lineTo(s,c),e.lineTo(tv*r-nv*i,nv*r+tv*i),e.lineTo(tv*a-nv*o,nv*a+tv*o),e.lineTo(tv*s-nv*c,nv*s+tv*c),e.lineTo(tv*r+nv*i,tv*i-nv*r),e.lineTo(tv*a+nv*o,tv*o-nv*a),e.lineTo(tv*s+nv*c,tv*c-nv*s),e.closePath()}};function ov(e,t){let n=null,r=j_(i);e=typeof e==`function`?e:__(e||H_),t=typeof t==`function`?t:__(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:__(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:__(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function sv(){}function cv(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function lv(e){this._context=e}lv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:cv(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:cv(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function uv(e){return new lv(e)}function dv(e){this._context=e}dv.prototype={areaStart:sv,areaEnd:sv,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:cv(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function fv(e){return new dv(e)}function pv(e){this._context=e}pv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:cv(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function mv(e){return new pv(e)}function hv(e){this._context=e}hv.prototype={areaStart:sv,areaEnd:sv,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function gv(e){return new hv(e)}function _v(e){return e<0?-1:1}function vv(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(_v(a)+_v(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function yv(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function bv(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function xv(e){this._context=e}xv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:bv(this,this._t0,yv(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,bv(this,yv(this,n=vv(this,e,t)),n);break;default:bv(this,this._t0,n=vv(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function Sv(e){this._context=new Cv(e)}(Sv.prototype=Object.create(xv.prototype)).point=function(e,t){xv.prototype.point.call(this,t,e)};function Cv(e){this._context=e}Cv.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function wv(e){return new xv(e)}function Tv(e){return new Sv(e)}function Ev(e){this._context=e}Ev.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=Dv(e),i=Dv(t),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],e[o],t[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function Dv(e){var t,n=e.length-1,r,i=Array(n),a=Array(n),o=Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/a[t-1],a[t]-=r,o[t]-=r*o[t-1];for(i[n-1]=o[n-1]/a[n-1],t=n-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function Ov(e){return new Ev(e)}function kv(e,t){this._context=e,this._t=t}kv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}this._x=e,this._y=t}};function Av(e){return new kv(e,.5)}function jv(e){return new kv(e,0)}function Mv(e){return new kv(e,1)}function Nv(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function Pv(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function Fv(e,t){return e[t]}function Iv(e){let t=[];return t.key=e,t}function Lv(){var e=__([]),t=Pv,n=Nv,r=Fv;function i(i){var a=Array.from(e.apply(this,arguments),Iv),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=M_(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:__(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:__(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?Pv:typeof e==`function`?e:__(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??Nv,i):n},i}function Rv(e,t){if((r=e.length)>0){for(var n,r,i=0,a=e[0].length,o;i<a;++i){for(o=n=0;n<r;++n)o+=e[n][i][1]||0;if(o)for(n=0;n<r;++n)e[n][i][1]/=o}Nv(e,t)}}function zv(e,t){if((i=e.length)>0){for(var n=0,r=e[t[0]],i,a=r.length;n<a;++n){for(var o=0,s=0;o<i;++o)s+=e[o][n][1]||0;r[n][1]+=r[n][0]=-s/2}Nv(e,t)}}function Bv(e,t){if(!(!((o=e.length)>0)||!((a=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,a,o;r<a;++r){for(var s=0,c=0,l=0;s<o;++s){for(var u=e[t[s]],d=u[r][1]||0,f=(d-(u[r-1][1]||0))/2,p=0;p<s;++p){var m=e[t[p]],h=m[r][1]||0,g=m[r-1][1]||0;f+=h-g}c+=d,l+=f*d}i[r-1][1]+=i[r-1][0]=n,c&&(n-=l/c)}i[r-1][1]+=i[r-1][0]=n,Nv(e,t)}}var Vv=l(g_());function Hv(e){"@babel/helpers - typeof";return Hv=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Hv(e)}var Uv=[`type`,`size`,`sizeType`];function Wv(){return Wv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Wv.apply(this,arguments)}function Gv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Kv(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Gv(Object(n),!0).forEach(function(t){qv(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gv(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function qv(e,t,n){return t=Jv(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jv(e){var t=Yv(e,`string`);return Hv(t)==`symbol`?t:t+``}function Yv(e,t){if(Hv(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Hv(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Xv(e,t){if(e==null)return{};var n=Zv(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Zv(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Qv={symbolCircle:H_,symbolCross:U_,symbolDiamond:K_,symbolSquare:q_,symbolStar:Q_,symbolTriangle:ev,symbolWye:av},$v=Math.PI/180,ey=function(e){return Qv[`symbol${(0,Vv.default)(e)}`]||H_},ty=function(e,t,n){if(t===`area`)return e;switch(n){case`cross`:return 5*e*e/9;case`diamond`:return .5*e*e/Math.sqrt(3);case`square`:return e*e;case`star`:var r=18*$v;return 1.25*e*e*(Math.tan(r)-Math.tan(r*2)*Math.tan(r)**2);case`triangle`:return Math.sqrt(3)*e*e/4;case`wye`:return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},ny=function(e,t){Qv[`symbol${(0,Vv.default)(e)}`]=t},ry=function(e){var t=e.type,n=t===void 0?`circle`:t,r=e.size,i=r===void 0?64:r,a=e.sizeType,o=a===void 0?`area`:a,s=Kv(Kv({},Xv(e,Uv)),{},{type:n,size:i,sizeType:o}),c=function(){var e=ey(n);return ov().type(e).size(ty(i,o,n))()},l=s.className,u=s.cx,d=s.cy,f=Gg(s,!0);return u===+u&&d===+d&&i===+i?b.createElement(`path`,Wv({},f,{className:Um(`recharts-symbols`,l),transform:`translate(${u}, ${d})`,d:c()})):null};ry.registerSymbol=ny;var iy=l(th());function ay(e){"@babel/helpers - typeof";return ay=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},ay(e)}function oy(){return oy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},oy.apply(this,arguments)}function sy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function cy(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?sy(Object(n),!0).forEach(function(t){yy(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sy(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ly(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function uy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,by(r.key),r)}}function dy(e,t,n){return t&&uy(e.prototype,t),n&&uy(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function fy(e,t,n){return t=gy(t),py(e,hy()?Reflect.construct(t,n||[],gy(e).constructor):t.apply(e,n))}function py(e,t){if(t&&(ay(t)===`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return my(e)}function my(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function hy(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(hy=function(){return!!e})()}function gy(e){return gy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},gy(e)}function _y(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,`prototype`,{writable:!1}),t&&vy(e,t)}function vy(e,t){return vy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},vy(e,t)}function yy(e,t,n){return t=by(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function by(e){var t=xy(e,`string`);return ay(t)==`symbol`?t:t+``}function xy(e,t){if(ay(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(ay(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Sy=32,Cy=function(e){function t(){return ly(this,t),fy(this,t,arguments)}return _y(t,e),dy(t,[{key:`renderIcon`,value:function(e){var t=this.props.inactiveColor,n=Sy/2,r=Sy/6,i=Sy/3,a=e.inactive?t:e.color;if(e.type===`plainline`)return b.createElement(`line`,{strokeWidth:4,fill:`none`,stroke:a,strokeDasharray:e.payload.strokeDasharray,x1:0,y1:n,x2:Sy,y2:n,className:`recharts-legend-icon`});if(e.type===`line`)return b.createElement(`path`,{strokeWidth:4,fill:`none`,stroke:a,d:`M0,${n}h${i}
|
|
1719
1719
|
A${r},${r},0,1,1,${2*i},${n}
|
|
1720
1720
|
H${Sy}M${2*i},${n}
|
|
1721
1721
|
A${r},${r},0,1,1,${i},${n}`,className:`recharts-legend-icon`});if(e.type===`rect`)return b.createElement(`path`,{stroke:`none`,fill:a,d:`M0,${Sy/8}h${Sy}v${Sy*3/4}h${-Sy}z`,className:`recharts-legend-icon`});if(b.isValidElement(e.legendIcon)){var o=cy({},e);return delete o.legendIcon,b.cloneElement(e.legendIcon,o)}return b.createElement(ry,{fill:a,cx:n,cy:n,size:Sy,sizeType:`diameter`,type:e.type})}},{key:`renderItems`,value:function(){var e=this,t=this.props,n=t.payload,r=t.iconSize,i=t.layout,a=t.formatter,o=t.inactiveColor,s={x:0,y:0,width:Sy,height:Sy},c={display:i===`horizontal`?`inline-block`:`block`,marginRight:10},l={display:`inline-block`,verticalAlign:`middle`,marginRight:4};return n.map(function(t,n){var i=t.formatter||a,u=Um(yy(yy({"recharts-legend-item":!0},`legend-item-${n}`,!0),`inactive`,t.inactive));if(t.type===`none`)return null;var d=(0,iy.default)(t.value)?null:t.value;c_(!(0,iy.default)(t.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: <Bar name="Name of my Data"/>`);var f=t.inactive?o:t.color;return b.createElement(`li`,oy({className:u,style:c,key:`legend-item-${n}`},xg(e.props,t,n)),b.createElement(t_,{width:r,height:r,viewBox:s,style:l},e.renderIcon(t)),b.createElement(`span`,{className:`recharts-legend-item-text`,style:{color:f}},i?i(d,t,n):d))})}},{key:`render`,value:function(){var e=this.props,t=e.payload,n=e.layout,r=e.align;if(!t||!t.length)return null;var i={padding:0,margin:0,textAlign:n===`horizontal`?r:`left`};return b.createElement(`ul`,{className:`recharts-default-legend`,style:i},this.renderItems())}}])}(b.PureComponent);yy(Cy,`displayName`,`Legend`),yy(Cy,`defaultProps`,{iconSize:14,layout:`horizontal`,align:`center`,verticalAlign:`middle`,inactiveColor:`#ccc`});var wy=o(((e,t)=>{var n=Sh();function r(){this.__data__=new n,this.size=0}t.exports=r})),Ty=o(((e,t)=>{function n(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}t.exports=n})),Ey=o(((e,t)=>{function n(e){return this.__data__.get(e)}t.exports=n})),Dy=o(((e,t)=>{function n(e){return this.__data__.has(e)}t.exports=n})),Oy=o(((e,t)=>{var n=Sh(),r=Ch(),i=jh(),a=200;function o(e,t){var o=this.__data__;if(o instanceof n){var s=o.__data__;if(!r||s.length<a-1)return s.push([e,t]),this.size=++o.size,this;o=this.__data__=new i(s)}return o.set(e,t),this.size=o.size,this}t.exports=o})),ky=o(((e,t)=>{var n=Sh(),r=wy(),i=Ty(),a=Ey(),o=Dy(),s=Oy();function c(e){this.size=(this.__data__=new n(e)).size}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c})),Ay=o(((e,t)=>{var n=`__lodash_hash_undefined__`;function r(e){return this.__data__.set(e,n),this}t.exports=r})),jy=o(((e,t)=>{function n(e){return this.__data__.has(e)}t.exports=n})),My=o(((e,t)=>{var n=jh(),r=Ay(),i=jy();function a(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}a.prototype.add=a.prototype.push=r,a.prototype.has=i,t.exports=a})),Ny=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}t.exports=n})),Py=o(((e,t)=>{function n(e,t){return e.has(t)}t.exports=n})),Fy=o(((e,t)=>{var n=My(),r=Ny(),i=Py(),a=1,o=2;function s(e,t,s,c,l,u){var d=s&a,f=e.length,p=t.length;if(f!=p&&!(d&&p>f))return!1;var m=u.get(e),h=u.get(t);if(m&&h)return m==t&&h==e;var g=-1,_=!0,v=s&o?new n:void 0;for(u.set(e,t),u.set(t,e);++g<f;){var y=e[g],b=t[g];if(c)var x=d?c(b,y,g,t,e,u):c(y,b,g,e,t,u);if(x!==void 0){if(x)continue;_=!1;break}if(v){if(!r(t,function(e,t){if(!i(v,t)&&(y===e||l(y,e,s,c,u)))return v.push(t)})){_=!1;break}}else if(!(y===b||l(y,b,s,c,u))){_=!1;break}}return u.delete(e),u.delete(t),_}t.exports=s})),Iy=o(((e,t)=>{t.exports=Km().Uint8Array})),Ly=o(((e,t)=>{function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}t.exports=n})),Ry=o(((e,t)=>{function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}t.exports=n})),zy=o(((e,t)=>{var n=qm(),r=Iy(),i=gh(),a=Fy(),o=Ly(),s=Ry(),c=1,l=2,u=`[object Boolean]`,d=`[object Date]`,f=`[object Error]`,p=`[object Map]`,m=`[object Number]`,h=`[object RegExp]`,g=`[object Set]`,_=`[object String]`,v=`[object Symbol]`,y=`[object ArrayBuffer]`,b=`[object DataView]`,x=n?n.prototype:void 0,S=x?x.valueOf:void 0;function C(e,t,n,x,C,w,T){switch(n){case b:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case y:return!(e.byteLength!=t.byteLength||!w(new r(e),new r(t)));case u:case d:case m:return i(+e,+t);case f:return e.name==t.name&&e.message==t.message;case h:case _:return e==t+``;case p:var E=o;case g:var D=x&c;if(E||=s,e.size!=t.size&&!D)return!1;var O=T.get(e);if(O)return O==t;x|=l,T.set(e,t);var k=a(E(e),E(t),x,C,w,T);return T.delete(e),k;case v:if(S)return S.call(e)==S.call(t)}return!1}t.exports=C})),By=o(((e,t)=>{function n(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}t.exports=n})),Vy=o(((e,t)=>{var n=By(),r=Wm();function i(e,t,i){var a=t(e);return r(e)?a:n(a,i(e))}t.exports=i})),Hy=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}t.exports=n})),Uy=o(((e,t)=>{function n(){return[]}t.exports=n})),Wy=o(((e,t)=>{var n=Hy(),r=Uy(),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols;t.exports=a?function(e){return e==null?[]:(e=Object(e),n(a(e),function(t){return i.call(e,t)}))}:r})),Gy=o(((e,t)=>{function n(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}t.exports=n})),Ky=o(((e,t)=>{var n=Xm(),r=Zm(),i=`[object Arguments]`;function a(e){return r(e)&&n(e)==i}t.exports=a})),qy=o(((e,t)=>{var n=Ky(),r=Zm(),i=Object.prototype,a=i.hasOwnProperty,o=i.propertyIsEnumerable;t.exports=n(function(){return arguments}())?n:function(e){return r(e)&&a.call(e,`callee`)&&!o.call(e,`callee`)}})),Jy=o(((e,t)=>{function n(){return!1}t.exports=n})),Yy=o(((e,t)=>{var n=Km(),r=Jy(),i=typeof e==`object`&&e&&!e.nodeType&&e,a=i&&typeof t==`object`&&t&&!t.nodeType&&t,o=a&&a.exports===i?n.Buffer:void 0;t.exports=(o?o.isBuffer:void 0)||r})),Xy=o(((e,t)=>{var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;function i(e,t){var i=typeof e;return t??=n,!!t&&(i==`number`||i!=`symbol`&&r.test(e))&&e>-1&&e%1==0&&e<t}t.exports=i})),Zy=o(((e,t)=>{var n=9007199254740991;function r(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=n}t.exports=r})),Qy=o(((e,t)=>{var n=Xm(),r=Zy(),i=Zm(),a=`[object Arguments]`,o=`[object Array]`,s=`[object Boolean]`,c=`[object Date]`,l=`[object Error]`,u=`[object Function]`,d=`[object Map]`,f=`[object Number]`,p=`[object Object]`,m=`[object RegExp]`,h=`[object Set]`,g=`[object String]`,_=`[object WeakMap]`,v=`[object ArrayBuffer]`,y=`[object DataView]`,b=`[object Float32Array]`,x=`[object Float64Array]`,S=`[object Int8Array]`,C=`[object Int16Array]`,w=`[object Int32Array]`,T=`[object Uint8Array]`,E=`[object Uint8ClampedArray]`,D=`[object Uint16Array]`,O=`[object Uint32Array]`,k={};k[b]=k[x]=k[S]=k[C]=k[w]=k[T]=k[E]=k[D]=k[O]=!0,k[a]=k[o]=k[v]=k[s]=k[y]=k[c]=k[l]=k[u]=k[d]=k[f]=k[p]=k[m]=k[h]=k[g]=k[_]=!1;function A(e){return i(e)&&r(e.length)&&!!k[n(e)]}t.exports=A})),$y=o(((e,t)=>{function n(e){return function(t){return e(t)}}t.exports=n})),eb=o(((e,t)=>{var n=Gm(),r=typeof e==`object`&&e&&!e.nodeType&&e,i=r&&typeof t==`object`&&t&&!t.nodeType&&t,a=i&&i.exports===r&&n.process;t.exports=function(){try{return i&&i.require&&i.require(`util`).types||a&&a.binding&&a.binding(`util`)}catch{}}()})),tb=o(((e,t)=>{var n=Qy(),r=$y(),i=eb(),a=i&&i.isTypedArray;t.exports=a?r(a):n})),nb=o(((e,t)=>{var n=Gy(),r=qy(),i=Wm(),a=Yy(),o=Xy(),s=tb(),c=Object.prototype.hasOwnProperty;function l(e,t){var l=i(e),u=!l&&r(e),d=!l&&!u&&a(e),f=!l&&!u&&!d&&s(e),p=l||u||d||f,m=p?n(e.length,String):[],h=m.length;for(var g in e)(t||c.call(e,g))&&!(p&&(g==`length`||d&&(g==`offset`||g==`parent`)||f&&(g==`buffer`||g==`byteLength`||g==`byteOffset`)||o(g,h)))&&m.push(g);return m}t.exports=l})),rb=o(((e,t)=>{var n=Object.prototype;function r(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||n)}t.exports=r})),ib=o(((e,t)=>{function n(e,t){return function(n){return e(t(n))}}t.exports=n})),ab=o(((e,t)=>{t.exports=ib()(Object.keys,Object)})),ob=o(((e,t)=>{var n=rb(),r=ab(),i=Object.prototype.hasOwnProperty;function a(e){if(!n(e))return r(e);var t=[];for(var a in Object(e))i.call(e,a)&&a!=`constructor`&&t.push(a);return t}t.exports=a})),sb=o(((e,t)=>{var n=th(),r=Zy();function i(e){return e!=null&&r(e.length)&&!n(e)}t.exports=i})),cb=o(((e,t)=>{var n=nb(),r=ob(),i=sb();function a(e){return i(e)?n(e):r(e)}t.exports=a})),lb=o(((e,t)=>{var n=Vy(),r=Wy(),i=cb();function a(e){return n(e,i,r)}t.exports=a})),ub=o(((e,t)=>{var n=lb(),r=1,i=Object.prototype.hasOwnProperty;function a(e,t,a,o,s,c){var l=a&r,u=n(e),d=u.length;if(d!=n(t).length&&!l)return!1;for(var f=d;f--;){var p=u[f];if(!(l?p in t:i.call(t,p)))return!1}var m=c.get(e),h=c.get(t);if(m&&h)return m==t&&h==e;var g=!0;c.set(e,t),c.set(t,e);for(var _=l;++f<d;){p=u[f];var v=e[p],y=t[p];if(o)var b=l?o(y,v,p,t,e,c):o(v,y,p,e,t,c);if(!(b===void 0?v===y||s(v,y,a,o,c):b)){g=!1;break}_||=p==`constructor`}if(g&&!_){var x=e.constructor,S=t.constructor;x!=S&&`constructor`in e&&`constructor`in t&&!(typeof x==`function`&&x instanceof x&&typeof S==`function`&&S instanceof S)&&(g=!1)}return c.delete(e),c.delete(t),g}t.exports=a})),db=o(((e,t)=>{t.exports=sh()(Km(),`DataView`)})),fb=o(((e,t)=>{t.exports=sh()(Km(),`Promise`)})),pb=o(((e,t)=>{t.exports=sh()(Km(),`Set`)})),mb=o(((e,t)=>{t.exports=sh()(Km(),`WeakMap`)})),hb=o(((e,t)=>{var n=db(),r=Ch(),i=fb(),a=pb(),o=mb(),s=Xm(),c=ih(),l=`[object Map]`,u=`[object Object]`,d=`[object Promise]`,f=`[object Set]`,p=`[object WeakMap]`,m=`[object DataView]`,h=c(n),g=c(r),_=c(i),v=c(a),y=c(o),b=s;(n&&b(new n(new ArrayBuffer(1)))!=m||r&&b(new r)!=l||i&&b(i.resolve())!=d||a&&b(new a)!=f||o&&b(new o)!=p)&&(b=function(e){var t=s(e),n=t==u?e.constructor:void 0,r=n?c(n):``;if(r)switch(r){case h:return m;case g:return l;case _:return d;case v:return f;case y:return p}return t}),t.exports=b})),gb=o(((e,t)=>{var n=ky(),r=Fy(),i=zy(),a=ub(),o=hb(),s=Wm(),c=Yy(),l=tb(),u=1,d=`[object Arguments]`,f=`[object Array]`,p=`[object Object]`,m=Object.prototype.hasOwnProperty;function h(e,t,h,g,_,v){var y=s(e),b=s(t),x=y?f:o(e),S=b?f:o(t);x=x==d?p:x,S=S==d?p:S;var C=x==p,w=S==p,T=x==S;if(T&&c(e)){if(!c(t))return!1;y=!0,C=!1}if(T&&!C)return v||=new n,y||l(e)?r(e,t,h,g,_,v):i(e,t,x,h,g,_,v);if(!(h&u)){var E=C&&m.call(e,`__wrapped__`),D=w&&m.call(t,`__wrapped__`);if(E||D){var O=E?e.value():e,k=D?t.value():t;return v||=new n,_(O,k,h,g,v)}}return T?(v||=new n,a(e,t,h,g,_,v)):!1}t.exports=h})),_b=o(((e,t)=>{var n=gb(),r=Zm();function i(e,t,a,o,s){return e===t?!0:e==null||t==null||!r(e)&&!r(t)?e!==e&&t!==t:n(e,t,a,o,i,s)}t.exports=i})),vb=o(((e,t)=>{var n=ky(),r=_b(),i=1,a=2;function o(e,t,o,s){var c=o.length,l=c,u=!s;if(e==null)return!l;for(e=Object(e);c--;){var d=o[c];if(u&&d[2]?d[1]!==e[d[0]]:!(d[0]in e))return!1}for(;++c<l;){d=o[c];var f=d[0],p=e[f],m=d[1];if(u&&d[2]){if(p===void 0&&!(f in e))return!1}else{var h=new n;if(s)var g=s(p,m,f,e,t,h);if(!(g===void 0?r(m,p,i|a,s,h):g))return!1}}return!0}t.exports=o})),yb=o(((e,t)=>{var n=eh();function r(e){return e===e&&!n(e)}t.exports=r})),bb=o(((e,t)=>{var n=yb(),r=cb();function i(e){for(var t=r(e),i=t.length;i--;){var a=t[i],o=e[a];t[i]=[a,o,n(o)]}return t}t.exports=i})),xb=o(((e,t)=>{function n(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}t.exports=n})),Sb=o(((e,t)=>{var n=vb(),r=bb(),i=xb();function a(e){var t=r(e);return t.length==1&&t[0][2]?i(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}t.exports=a})),Cb=o(((e,t)=>{function n(e,t){return e!=null&&t in Object(e)}t.exports=n})),wb=o(((e,t)=>{var n=Rh(),r=qy(),i=Wm(),a=Xy(),o=Zy(),s=zh();function c(e,t,c){t=n(t,e);for(var l=-1,u=t.length,d=!1;++l<u;){var f=s(t[l]);if(!(d=e!=null&&c(e,f)))break;e=e[f]}return d||++l!=u?d:(u=e==null?0:e.length,!!u&&o(u)&&a(f,u)&&(i(e)||r(e)))}t.exports=c})),Tb=o(((e,t)=>{var n=Cb(),r=wb();function i(e,t){return e!=null&&r(e,t,n)}t.exports=i})),Eb=o(((e,t)=>{var n=_b(),r=Vh(),i=Tb(),a=$m(),o=yb(),s=xb(),c=zh(),l=1,u=2;function d(e,t){return a(e)&&o(t)?s(c(e),t):function(a){var o=r(a,e);return o===void 0&&o===t?i(a,e):n(t,o,l|u)}}t.exports=d})),Db=o(((e,t)=>{function n(e){return e}t.exports=n})),Ob=o(((e,t)=>{function n(e){return function(t){return t?.[e]}}t.exports=n})),kb=o(((e,t)=>{var n=Bh();function r(e){return function(t){return n(t,e)}}t.exports=r})),Ab=o(((e,t)=>{var n=Ob(),r=kb(),i=$m(),a=zh();function o(e){return i(e)?n(a(e)):r(e)}t.exports=o})),jb=o(((e,t)=>{var n=Sb(),r=Eb(),i=Db(),a=Wm(),o=Ab();function s(e){return typeof e==`function`?e:e==null?i:typeof e==`object`?a(e)?r(e[0],e[1]):n(e):o(e)}t.exports=s})),Mb=o(((e,t)=>{function n(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a<i;)if(t(e[a],a,e))return a;return-1}t.exports=n})),Nb=o(((e,t)=>{function n(e){return e!==e}t.exports=n})),Pb=o(((e,t)=>{function n(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}t.exports=n})),Fb=o(((e,t)=>{var n=Mb(),r=Nb(),i=Pb();function a(e,t,a){return t===t?i(e,t,a):n(e,r,a)}t.exports=a})),Ib=o(((e,t)=>{var n=Fb();function r(e,t){return!!(e!=null&&e.length)&&n(e,t,0)>-1}t.exports=r})),Lb=o(((e,t)=>{function n(e,t,n){for(var r=-1,i=e==null?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}t.exports=n})),Rb=o(((e,t)=>{function n(){}t.exports=n})),zb=o(((e,t)=>{var n=pb(),r=Rb(),i=Ry();t.exports=n&&1/i(new n([,-0]))[1]==1/0?function(e){return new n(e)}:r})),Bb=o(((e,t)=>{var n=My(),r=Ib(),i=Lb(),a=Py(),o=zb(),s=Ry(),c=200;function l(e,t,l){var u=-1,d=r,f=e.length,p=!0,m=[],h=m;if(l)p=!1,d=i;else if(f>=c){var g=t?null:o(e);if(g)return s(g);p=!1,d=a,h=new n}else h=t?[]:m;outer:for(;++u<f;){var _=e[u],v=t?t(_):_;if(_=l||_!==0?_:0,p&&v===v){for(var y=h.length;y--;)if(h[y]===v)continue outer;t&&h.push(v),m.push(_)}else d(h,v,l)||(h!==m&&h.push(v),m.push(_))}return m}t.exports=l})),Vb=l(o(((e,t)=>{var n=jb(),r=Bb();function i(e,t){return e&&e.length?r(e,n(t,2)):[]}t.exports=i}))()),Hb=l(th());function Ub(e,t,n){return t===!0?(0,Vb.default)(e,n):(0,Hb.default)(t)?(0,Vb.default)(e,t):e}function Wb(e){"@babel/helpers - typeof";return Wb=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Wb(e)}var Gb=[`ref`];function Kb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function qb(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Kb(Object(n),!0).forEach(function(t){ix(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Kb(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Jb(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function Yb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,ax(r.key),r)}}function Xb(e,t,n){return t&&Yb(e.prototype,t),n&&Yb(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function Zb(e,t,n){return t=tx(t),Qb(e,ex()?Reflect.construct(t,n||[],tx(e).constructor):t.apply(e,n))}function Qb(e,t){if(t&&(Wb(t)===`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return $b(e)}function $b(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function ex(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ex=function(){return!!e})()}function tx(e){return tx=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},tx(e)}function nx(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,`prototype`,{writable:!1}),t&&rx(e,t)}function rx(e,t){return rx=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},rx(e,t)}function ix(e,t,n){return t=ax(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ax(e){var t=ox(e,`string`);return Wb(t)==`symbol`?t:t+``}function ox(e,t){if(Wb(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Wb(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function sx(e,t){if(e==null)return{};var n=cx(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function cx(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function lx(e){return e.value}function ux(e,t){if(b.isValidElement(e))return b.cloneElement(e,t);if(typeof e==`function`)return b.createElement(e,t);t.ref;var n=sx(t,Gb);return b.createElement(Cy,n)}var dx=1,fx=function(e){function t(){var e;Jb(this,t);var n=[...arguments];return e=Zb(this,t,[].concat(n)),ix(e,`lastBoundingBox`,{width:-1,height:-1}),e}return nx(t,e),Xb(t,[{key:`componentDidMount`,value:function(){this.updateBBox()}},{key:`componentDidUpdate`,value:function(){this.updateBBox()}},{key:`getBBox`,value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var e=this.wrapperNode.getBoundingClientRect();return e.height=this.wrapperNode.offsetHeight,e.width=this.wrapperNode.offsetWidth,e}return null}},{key:`updateBBox`,value:function(){var e=this.props.onBBoxUpdate,t=this.getBBox();t?(Math.abs(t.width-this.lastBoundingBox.width)>dx||Math.abs(t.height-this.lastBoundingBox.height)>dx)&&(this.lastBoundingBox.width=t.width,this.lastBoundingBox.height=t.height,e&&e(t)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,e&&e(null))}},{key:`getBBoxSnapshot`,value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?qb({},this.lastBoundingBox):{width:0,height:0}}},{key:`getDefaultPosition`,value:function(e){var t=this.props,n=t.layout,r=t.align,i=t.verticalAlign,a=t.margin,o=t.chartWidth,s=t.chartHeight,c,l;if(!e||(e.left===void 0||e.left===null)&&(e.right===void 0||e.right===null))if(r===`center`&&n===`vertical`){var u=this.getBBoxSnapshot();c={left:((o||0)-u.width)/2}}else c=r===`right`?{right:a&&a.right||0}:{left:a&&a.left||0};if(!e||(e.top===void 0||e.top===null)&&(e.bottom===void 0||e.bottom===null))if(i===`middle`){var d=this.getBBoxSnapshot();l={top:((s||0)-d.height)/2}}else l=i===`bottom`?{bottom:a&&a.bottom||0}:{top:a&&a.top||0};return qb(qb({},c),l)}},{key:`render`,value:function(){var e=this,t=this.props,n=t.content,r=t.width,i=t.height,a=t.wrapperStyle,o=t.payloadUniqBy,s=t.payload,c=qb(qb({position:`absolute`,width:r||`auto`,height:i||`auto`},this.getDefaultPosition(a)),a);return b.createElement(`div`,{className:`recharts-legend-wrapper`,style:c,ref:function(t){e.wrapperNode=t}},ux(n,qb(qb({},this.props),{},{payload:Ub(s,o,lx)})))}}],[{key:`getWithHeight`,value:function(e,t){var n=qb(qb({},this.defaultProps),e.props).layout;return n===`vertical`&&Q(e.props.height)?{height:e.props.height}:n===`horizontal`?{width:e.props.width||t}:null}}])}(b.PureComponent);ix(fx,`displayName`,`Legend`),ix(fx,`defaultProps`,{iconSize:14,layout:`horizontal`,align:`center`,verticalAlign:`bottom`});var px=o(((e,t)=>{var n=qm(),r=qy(),i=Wm(),a=n?n.isConcatSpreadable:void 0;function o(e){return i(e)||r(e)||!!(a&&e&&e[a])}t.exports=o})),mx=o(((e,t)=>{var n=By(),r=px();function i(e,t,a,o,s){var c=-1,l=e.length;for(a||=r,s||=[];++c<l;){var u=e[c];t>0&&a(u)?t>1?i(u,t-1,a,o,s):n(s,u):o||(s[s.length]=u)}return s}t.exports=i})),hx=o(((e,t)=>{function n(e){return function(t,n,r){for(var i=-1,a=Object(t),o=r(t),s=o.length;s--;){var c=o[e?s:++i];if(n(a[c],c,a)===!1)break}return t}}t.exports=n})),gx=o(((e,t)=>{t.exports=hx()()})),_x=o(((e,t)=>{var n=gx(),r=cb();function i(e,t){return e&&n(e,t,r)}t.exports=i})),vx=o(((e,t)=>{var n=sb();function r(e,t){return function(r,i){if(r==null)return r;if(!n(r))return e(r,i);for(var a=r.length,o=t?a:-1,s=Object(r);(t?o--:++o<a)&&i(s[o],o,s)!==!1;);return r}}t.exports=r})),yx=o(((e,t)=>{var n=_x();t.exports=vx()(n)})),bx=o(((e,t)=>{var n=yx(),r=sb();function i(e,t){var i=-1,a=r(e)?Array(e.length):[];return n(e,function(e,n,r){a[++i]=t(e,n,r)}),a}t.exports=i})),xx=o(((e,t)=>{function n(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}t.exports=n})),Sx=o(((e,t)=>{var n=Qm();function r(e,t){if(e!==t){var r=e!==void 0,i=e===null,a=e===e,o=n(e),s=t!==void 0,c=t===null,l=t===t,u=n(t);if(!c&&!u&&!o&&e>t||o&&s&&l&&!c&&!u||i&&s&&l||!r&&l||!a)return 1;if(!i&&!o&&!u&&e<t||u&&r&&a&&!i&&!o||c&&r&&a||!s&&a||!l)return-1}return 0}t.exports=r})),Cx=o(((e,t)=>{var n=Sx();function r(e,t,r){for(var i=-1,a=e.criteria,o=t.criteria,s=a.length,c=r.length;++i<s;){var l=n(a[i],o[i]);if(l)return i>=c?l:l*(r[i]==`desc`?-1:1)}return e.index-t.index}t.exports=r})),wx=o(((e,t)=>{var n=Fh(),r=Bh(),i=jb(),a=bx(),o=xx(),s=$y(),c=Cx(),l=Db(),u=Wm();function d(e,t,d){t=t.length?n(t,function(e){return u(e)?function(t){return r(t,e.length===1?e[0]:e)}:e}):[l];var f=-1;return t=n(t,s(i)),o(a(e,function(e,r,i){return{criteria:n(t,function(t){return t(e)}),index:++f,value:e}}),function(e,t){return c(e,t,d)})}t.exports=d})),Tx=o(((e,t)=>{function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}t.exports=n})),Ex=o(((e,t)=>{var n=Tx(),r=Math.max;function i(e,t,i){return t=r(t===void 0?e.length-1:t,0),function(){for(var a=arguments,o=-1,s=r(a.length-t,0),c=Array(s);++o<s;)c[o]=a[t+o];o=-1;for(var l=Array(t+1);++o<t;)l[o]=a[o];return l[t]=i(c),n(e,this,l)}}t.exports=i})),Dx=o(((e,t)=>{function n(e){return function(){return e}}t.exports=n})),Ox=o(((e,t)=>{var n=sh();t.exports=function(){try{var e=n(Object,`defineProperty`);return e({},``,{}),e}catch{}}()})),kx=o(((e,t)=>{var n=Dx(),r=Ox(),i=Db();t.exports=r?function(e,t){return r(e,`toString`,{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:i})),Ax=o(((e,t)=>{var n=800,r=16,i=Date.now;function a(e){var t=0,a=0;return function(){var o=i(),s=r-(o-a);if(a=o,s>0){if(++t>=n)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}t.exports=a})),jx=o(((e,t)=>{var n=kx();t.exports=Ax()(n)})),Mx=o(((e,t)=>{var n=Db(),r=Ex(),i=jx();function a(e,t){return i(r(e,t,n),e+``)}t.exports=a})),Nx=o(((e,t)=>{var n=gh(),r=sb(),i=Xy(),a=eh();function o(e,t,o){if(!a(o))return!1;var s=typeof t;return(s==`number`?r(o)&&i(t,o.length):s==`string`&&t in o)?n(o[t],e):!1}t.exports=o})),Px=o(((e,t)=>{var n=mx(),r=wx(),i=Mx(),a=Nx();t.exports=i(function(e,t){if(e==null)return[];var i=t.length;return i>1&&a(e,t[0],t[1])?t=[]:i>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),r(e,n(t,1),[])})})),Fx=l(Px()),Ix=l(Hh());function Lx(e){"@babel/helpers - typeof";return Lx=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Lx(e)}function Rx(){return Rx=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Rx.apply(this,arguments)}function zx(e,t){return Wx(e)||Ux(e,t)||Vx(e,t)||Bx()}function Bx(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
@@ -1780,7 +1780,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1780
1780
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function BK(e,t){if(e){if(typeof e==`string`)return UK(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return UK(e,t)}}function VK(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function HK(e){if(Array.isArray(e))return UK(e)}function UK(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var WK=function(e,t,n,r,i){var a=Rg(e,rU),o=Rg(e,CU),s=[].concat(RK(a),RK(o)),c=Rg(e,UU),l=`${r}Id`,u=r[0],d=t;if(s.length&&(d=s.reduce(function(e,t){if(t.props[l]===n&&QB(t.props,`extendDomain`)&&Q(t.props[u])){var r=t.props[u];return[Math.min(e[0],r),Math.max(e[1],r)]}return e},d)),c.length){var f=`${u}1`,p=`${u}2`;d=c.reduce(function(e,t){if(t.props[l]===n&&QB(t.props,`extendDomain`)&&Q(t.props[f])&&Q(t.props[p])){var r=t.props[f],i=t.props[p];return[Math.min(e[0],r,i),Math.max(e[1],r,i)]}return e},d)}return i&&i.length&&(d=i.reduce(function(e,t){return Q(t)?[Math.min(e[0],t),Math.max(e[1],t)]:e},d)),d},GK=new(l(o(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))())).default,KK=`recharts.syncMouseEvents`;function qK(e){"@babel/helpers - typeof";return qK=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},qK(e)}function JK(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function YK(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,QK(r.key),r)}}function XK(e,t,n){return t&&YK(e.prototype,t),n&&YK(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function ZK(e,t,n){return t=QK(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function QK(e){var t=$K(e,`string`);return qK(t)==`symbol`?t:t+``}function $K(e,t){if(qK(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(qK(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var eq=function(){function e(){JK(this,e),ZK(this,`activeIndex`,0),ZK(this,`coordinateList`,[]),ZK(this,`layout`,`horizontal`)}return XK(e,[{key:`setDetails`,value:function(e){var t=e.coordinateList,n=t===void 0?null:t,r=e.container,i=r===void 0?null:r,a=e.layout,o=a===void 0?null:a,s=e.offset,c=s===void 0?null:s,l=e.mouseHandlerCallback,u=l===void 0?null:l;this.coordinateList=n??this.coordinateList??[],this.container=i??this.container,this.layout=o??this.layout,this.offset=c??this.offset,this.mouseHandlerCallback=u??this.mouseHandlerCallback,this.activeIndex=Math.min(Math.max(this.activeIndex,0),this.coordinateList.length-1)}},{key:`focus`,value:function(){this.spoofMouse()}},{key:`keyboardEvent`,value:function(e){if(this.coordinateList.length!==0)switch(e.key){case`ArrowRight`:if(this.layout!==`horizontal`)return;this.activeIndex=Math.min(this.activeIndex+1,this.coordinateList.length-1),this.spoofMouse();break;case`ArrowLeft`:if(this.layout!==`horizontal`)return;this.activeIndex=Math.max(this.activeIndex-1,0),this.spoofMouse();break;default:break}}},{key:`setIndex`,value:function(e){this.activeIndex=e}},{key:`spoofMouse`,value:function(){if(this.layout===`horizontal`&&this.coordinateList.length!==0){var e=this.container.getBoundingClientRect(),t=e.x,n=e.y,r=e.height,i=this.coordinateList[this.activeIndex].coordinate,a=window?.scrollX||0,o=window?.scrollY||0,s=t+i+a,c=n+this.offset.top+r/2+o;this.mouseHandlerCallback({pageX:s,pageY:c})}}}])}();function tq(e,t,n){if(n===`number`&&t===!0&&Array.isArray(e)){var r=e?.[0],i=e?.[1];if(r&&i&&Q(r)&&Q(i))return!0}return!1}function nq(e,t,n,r){var i=r/2;return{stroke:`none`,fill:`#ccc`,x:e===`horizontal`?t.x-i:n.left+.5,y:e===`horizontal`?n.top+.5:t.y-i,width:e===`horizontal`?r:n.width-1,height:e===`horizontal`?n.height-1:r}}function rq(e){var t=e.cx,n=e.cy,r=e.radius,i=e.startAngle,a=e.endAngle;return{points:[ZM(t,n,r,i),ZM(t,n,r,a)],cx:t,cy:n,radius:r,startAngle:i,endAngle:a}}function iq(e,t,n){var r,i,a,o;if(e===`horizontal`)r=t.x,a=r,i=n.top,o=n.top+n.height;else if(e===`vertical`)i=t.y,o=i,r=n.left,a=n.left+n.width;else if(t.cx!=null&&t.cy!=null)if(e===`centric`){var s=t.cx,c=t.cy,l=t.innerRadius,u=t.outerRadius,d=t.angle,f=ZM(s,c,l,d),p=ZM(s,c,u,d);r=f.x,i=f.y,a=p.x,o=p.y}else return rq(t);return[{x:r,y:i},{x:a,y:o}]}function aq(e){"@babel/helpers - typeof";return aq=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},aq(e)}function oq(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function sq(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?oq(Object(n),!0).forEach(function(t){cq(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oq(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function cq(e,t,n){return t=lq(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lq(e){var t=uq(e,`string`);return aq(t)==`symbol`?t:t+``}function uq(e,t){if(aq(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(aq(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function dq(e){var t=e.element,n=e.tooltipEventType,r=e.isActive,i=e.activeCoordinate,a=e.activePayload,o=e.offset,s=e.activeTooltipIndex,c=e.tooltipAxisBandSize,l=e.layout,u=e.chartName,d=t.props.cursor??t.type.defaultProps?.cursor;if(!t||!d||!r||!i||u!==`ScatterChart`&&n!==`axis`)return null;var f,p=PP;if(u===`ScatterChart`)f=i,p=aR;else if(u===`BarChart`)f=nq(l,i,o,c),p=AL;else if(l===`radial`){var m=rq(i),h=m.cx,g=m.cy,_=m.radius;f={cx:h,cy:g,startAngle:m.startAngle,endAngle:m.endAngle,innerRadius:_,outerRadius:_},p=vP}else f={points:iq(l,i,o)},p=PP;var v=sq(sq(sq(sq({stroke:`#ccc`,pointerEvents:`none`},o),f),Gg(d,!1)),{},{payload:a,payloadIndex:s,className:Um(`recharts-tooltip-cursor`,d.className)});return(0,b.isValidElement)(d)?(0,b.cloneElement)(d,v):(0,b.createElement)(p,v)}var fq=l(Hh()),pq=l(th()),mq=l(yB()),hq=l(Vh()),gq=l(Px()),_q=l(ZS()),vq=[`item`],yq=[`children`,`className`,`width`,`height`,`style`,`compact`,`title`,`desc`];function bq(e){"@babel/helpers - typeof";return bq=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},bq(e)}function xq(){return xq=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xq.apply(this,arguments)}function Sq(e,t){return Tq(e)||wq(e,t)||Bq(e,t)||Cq()}function Cq(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
1781
1781
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wq(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Tq(e){if(Array.isArray(e))return e}function Eq(e,t){if(e==null)return{};var n=Dq(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Dq(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Oq(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function kq(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Kq(r.key),r)}}function Aq(e,t,n){return t&&kq(e.prototype,t),n&&kq(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function jq(e,t,n){return t=Fq(t),Mq(e,Pq()?Reflect.construct(t,n||[],Fq(e).constructor):t.apply(e,n))}function Mq(e,t){if(t&&(bq(t)===`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return Nq(e)}function Nq(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function Pq(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Pq=function(){return!!e})()}function Fq(e){return Fq=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Fq(e)}function Iq(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,`prototype`,{writable:!1}),t&&Lq(e,t)}function Lq(e,t){return Lq=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Lq(e,t)}function Rq(e){return Hq(e)||Vq(e)||Bq(e)||zq()}function zq(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
1782
1782
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bq(e,t){if(e){if(typeof e==`string`)return Uq(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Uq(e,t)}}function Vq(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function Hq(e){if(Array.isArray(e))return Uq(e)}function Uq(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Wq(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Wq(Object(n),!0).forEach(function(t){Gq(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Wq(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Gq(e,t,n){return t=Kq(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Kq(e){var t=qq(e,`string`);return bq(t)==`symbol`?t:t+``}function qq(e,t){if(bq(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(bq(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Jq={xAxis:[`bottom`,`top`],yAxis:[`left`,`right`]},Yq={width:`100%`,height:`100%`},Xq={x:0,y:0};function Zq(e){return e}var Qq=function(e,t){return t===`horizontal`?e.x:t===`vertical`?e.y:t===`centric`?e.angle:e.radius},$q=function(e,t,n,r){var i=t.find(function(e){return e&&e.index===n});if(i){if(e===`horizontal`)return{x:i.coordinate,y:r.y};if(e===`vertical`)return{x:r.x,y:i.coordinate};if(e===`centric`){var a=i.coordinate,o=r.radius;return $($($({},r),ZM(r.cx,r.cy,o,a)),{},{angle:a,radius:o})}var s=i.coordinate,c=r.angle;return $($($({},r),ZM(r.cx,r.cy,s,c)),{},{angle:c,radius:s})}return Xq},eJ=function(e,t){var n=t.graphicalItems,r=t.dataStartIndex,i=t.dataEndIndex,a=(n??[]).reduce(function(e,t){var n=t.props.data;return n&&n.length?[].concat(Rq(e),Rq(n)):e},[]);return a.length>0?a:e&&e.length&&Q(r)&&Q(i)?e.slice(r,i+1):[]};function tJ(e){return e===`number`?[0,`auto`]:void 0}var nJ=function(e,t,n,r){var i=e.graphicalItems,a=e.tooltipAxis,o=eJ(t,e);return n<0||!i||!i.length||n>=o.length?null:i.reduce(function(i,s){var c=s.props.data??t;c&&e.dataStartIndex+e.dataEndIndex!==0&&e.dataEndIndex-e.dataStartIndex>=n&&(c=c.slice(e.dataStartIndex,e.dataEndIndex+1));var l=a.dataKey&&!a.allowDuplicatedCategory?lg(c===void 0?o:c,a.dataKey,r):c&&c[n]||o[n];return l?[].concat(Rq(i),[PM(s,l)]):i},[])},rJ=function(e,t,n,r){var i=r||{x:e.chartX,y:e.chartY},a=Qq(i,n),o=e.orderedTooltipTicks,s=e.tooltipAxis,c=e.tooltipTicks,l=eM(a,o,c,s);if(l>=0&&c){var u=c[l]&&c[l].value;return{activeTooltipIndex:l,activeLabel:u,activePayload:nJ(e,t,l,u),activeCoordinate:$q(n,o,l,i)}}return null},iJ=function(e,t){var n=t.axes,r=t.graphicalItems,i=t.axisType,a=t.axisIdKey,o=t.stackGroups,s=t.dataStartIndex,c=t.dataEndIndex,l=e.layout,u=e.children,d=e.stackOffset,f=lM(l,i);return n.reduce(function(t,n){var p=n.type.defaultProps===void 0?n.props:$($({},n.type.defaultProps),n.props),m=p.type,h=p.dataKey,g=p.allowDataOverflow,_=p.allowDuplicatedCategory,v=p.scale,y=p.ticks,b=p.includeHidden,x=p[a];if(t[x])return t;var S=eJ(e.data,{graphicalItems:r.filter(function(e){return(a in e.props?e.props[a]:e.type.defaultProps?.[a])===x}),dataStartIndex:s,dataEndIndex:c}),C=S.length,w,T,E;tq(p.domain,g,m)&&(w=jM(p.domain,null,g),f&&(m===`number`||v!==`auto`)&&(E=$j(S,h,`category`)));var D=tJ(m);if(!w||w.length===0){var O=p.domain??D;if(h){if(w=$j(S,h,m),m===`category`&&f){var k=sg(w);_&&k?(T=w,w=(0,mq.default)(0,C)):_||(w=NM(O,w,n).reduce(function(e,t){return e.indexOf(t)>=0?e:[].concat(Rq(e),[t])},[]))}else if(m===`category`)w=_?w.filter(function(e){return e!==``&&!(0,fq.default)(e)}):NM(O,w,n).reduce(function(e,t){return e.indexOf(t)>=0||t===``||(0,fq.default)(t)?e:[].concat(Rq(e),[t])},[]);else if(m===`number`){var A=sM(S,r.filter(function(e){var t=a in e.props?e.props[a]:e.type.defaultProps?.[a],n=`hide`in e.props?e.props.hide:e.type.defaultProps?.hide;return t===x&&(b||!n)}),h,i,l);A&&(w=A)}f&&(m===`number`||v!==`auto`)&&(E=$j(S,h,`category`))}else w=f?(0,mq.default)(0,C):o&&o[x]&&o[x].hasStack&&m===`number`?d===`expand`?[0,1]:OM(o[x].stackGroups,s,c):cM(S,r.filter(function(e){var t=a in e.props?e.props[a]:e.type.defaultProps[a],n=`hide`in e.props?e.props.hide:e.type.defaultProps.hide;return t===x&&(b||!n)}),m,l,!0);if(m===`number`)w=WK(u,w,x,i,y),O&&(w=jM(O,w,g));else if(m===`category`&&O){var j=O;w.every(function(e){return j.indexOf(e)>=0})&&(w=j)}}return $($({},t),{},Gq({},x,$($({},p),{},{axisType:i,domain:w,categoricalDomain:E,duplicateDomain:T,originalDomain:p.domain??D,isCategorical:f,layout:l})))},{})},aJ=function(e,t){var n=t.graphicalItems,r=t.Axis,i=t.axisType,a=t.axisIdKey,o=t.stackGroups,s=t.dataStartIndex,c=t.dataEndIndex,l=e.layout,u=e.children,d=eJ(e.data,{graphicalItems:n,dataStartIndex:s,dataEndIndex:c}),f=d.length,p=lM(l,i),m=-1;return n.reduce(function(e,t){var h=(t.type.defaultProps===void 0?t.props:$($({},t.type.defaultProps),t.props))[a],g=tJ(`number`);if(!e[h]){m++;var _;return p?_=(0,mq.default)(0,f):o&&o[h]&&o[h].hasStack?(_=OM(o[h].stackGroups,s,c),_=WK(u,_,h,i)):(_=jM(g,cM(d,n.filter(function(e){var t=a in e.props?e.props[a]:e.type.defaultProps?.[a],n=`hide`in e.props?e.props.hide:e.type.defaultProps?.hide;return t===h&&!n}),`number`,l),r.defaultProps.allowDataOverflow),_=WK(u,_,h,i)),$($({},e),{},Gq({},h,$($({axisType:i},r.defaultProps),{},{hide:!0,orientation:(0,hq.default)(Jq,`${i}.${m%2}`,null),domain:_,originalDomain:g,isCategorical:p,layout:l})))}return e},{})},oJ=function(e,t){var n=t.axisType,r=n===void 0?`xAxis`:n,i=t.AxisComp,a=t.graphicalItems,o=t.stackGroups,s=t.dataStartIndex,c=t.dataEndIndex,l=e.children,u=`${r}Id`,d=Rg(l,i),f={};return d&&d.length?f=iJ(e,{axes:d,graphicalItems:a,axisType:r,axisIdKey:u,stackGroups:o,dataStartIndex:s,dataEndIndex:c}):a&&a.length&&(f=aJ(e,{Axis:i,graphicalItems:a,axisType:r,axisIdKey:u,stackGroups:o,dataStartIndex:s,dataEndIndex:c})),f},sJ=function(e){var t=og(e),n=dM(t,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:(0,gq.default)(n,function(e){return e.coordinate}),tooltipAxis:t,tooltipAxisBandSize:MM(t,n)}},cJ=function(e){var t=e.children,n=e.defaultShowTooltip,r=zg(t,YB),i=0,a=0;return e.data&&e.data.length!==0&&(a=e.data.length-1),r&&r.props&&(r.props.startIndex>=0&&(i=r.props.startIndex),r.props.endIndex>=0&&(a=r.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:i,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!n}},lJ=function(e){return!e||!e.length?!1:e.some(function(e){var t=Pg(e&&e.type);return t&&t.indexOf(`Bar`)>=0})},uJ=function(e){return e===`horizontal`?{numericAxisName:`yAxis`,cateAxisName:`xAxis`}:e===`vertical`?{numericAxisName:`xAxis`,cateAxisName:`yAxis`}:e===`centric`?{numericAxisName:`radiusAxis`,cateAxisName:`angleAxis`}:{numericAxisName:`angleAxis`,cateAxisName:`radiusAxis`}},dJ=function(e,t){var n=e.props,r=e.graphicalItems,i=e.xAxisMap,a=i===void 0?{}:i,o=e.yAxisMap,s=o===void 0?{}:o,c=n.width,l=n.height,u=n.children,d=n.margin||{},f=zg(u,YB),p=zg(u,fx),m=Object.keys(s).reduce(function(e,t){var n=s[t],r=n.orientation;return!n.mirror&&!n.hide?$($({},e),{},Gq({},r,e[r]+n.width)):e},{left:d.left||0,right:d.right||0}),h=$($({},Object.keys(a).reduce(function(e,t){var n=a[t],r=n.orientation;return!n.mirror&&!n.hide?$($({},e),{},Gq({},r,(0,hq.default)(e,`${r}`)+n.height)):e},{top:d.top||0,bottom:d.bottom||0})),m),g=h.bottom;f&&(h.bottom+=f.props.height||YB.defaultProps.height),p&&t&&(h=iM(h,r,n,t));var _=c-h.left-h.right,v=l-h.top-h.bottom;return $($({brushBottom:g},h),{},{width:Math.max(_,0),height:Math.max(v,0)})},fJ=function(e,t){if(t===`xAxis`)return e[t].width;if(t===`yAxis`)return e[t].height},pJ=function(e){var t=e.chartName,n=e.GraphicalChild,r=e.defaultTooltipEventType,i=r===void 0?`axis`:r,a=e.validateTooltipEventTypes,o=a===void 0?[`axis`]:a,s=e.axisComponents,c=e.legendContent,l=e.formatAxisMap,u=e.defaultProps,d=function(e,t){var n=t.graphicalItems,r=t.stackGroups,i=t.offset,a=t.updateId,o=t.dataStartIndex,c=t.dataEndIndex,l=e.barSize,u=e.layout,d=e.barGap,f=e.barCategoryGap,p=e.maxBarSize,m=uJ(u),h=m.numericAxisName,g=m.cateAxisName,_=lJ(n),v=[];return n.forEach(function(n,m){var y=eJ(e.data,{graphicalItems:[n],dataStartIndex:o,dataEndIndex:c}),b=n.type.defaultProps===void 0?n.props:$($({},n.type.defaultProps),n.props),x=b.dataKey,S=b.maxBarSize,C=b[`${h}Id`],w=b[`${g}Id`],T=s.reduce(function(e,n){var r=t[`${n.axisType}Map`],i=b[`${n.axisType}Id`];!(r&&r[i]||n.axisType===`zAxis`)&&XA(!1);var a=r[i];return $($({},e),{},Gq(Gq({},n.axisType,a),`${n.axisType}Ticks`,dM(a)))},{}),E=T[g],D=T[`${g}Ticks`],O=r&&r[C]&&r[C].hasStack&&EM(n,r[C].stackGroups),k=Pg(n.type).indexOf(`Bar`)>=0,A=MM(E,D),j=[],M=_&&nM({barSize:l,stackGroups:r,totalSize:fJ(T,g)});if(k){var N=(0,fq.default)(S)?p:S,P=MM(E,D,!0)??N??0;j=rM({barGap:d,barCategoryGap:f,bandSize:P===A?A:P,sizeList:M[w],maxBarSize:N}),P!==A&&(j=j.map(function(e){return $($({},e),{},{position:$($({},e.position),{},{offset:e.position.offset-P/2})})}))}var F=n&&n.type&&n.type.getComposedData;F&&v.push({props:$($({},F($($({},T),{},{displayedData:y,props:e,dataKey:x,item:n,bandSize:A,barPosition:j,offset:i,stackedData:O,layout:u,dataStartIndex:o,dataEndIndex:c}))),{},Gq(Gq(Gq({key:n.key||`item-${m}`},h,T[h]),g,T[g]),`animationId`,a)),childIndex:Xg(n,e.children),item:n})}),v},f=function(e,r){var i=e.props,a=e.dataStartIndex,o=e.dataEndIndex,c=e.updateId;if(!Bg({props:i}))return null;var u=i.children,f=i.layout,p=i.stackOffset,m=i.data,h=i.reverseStackOrder,g=uJ(f),_=g.numericAxisName,v=g.cateAxisName,y=Rg(u,n),b=xM(m,y,`${_}Id`,`${v}Id`,p,h),x=s.reduce(function(e,t){var n=`${t.axisType}Map`;return $($({},e),{},Gq({},n,oJ(i,$($({},t),{},{graphicalItems:y,stackGroups:t.axisType===_&&b,dataStartIndex:a,dataEndIndex:o}))))},{}),S=dJ($($({},x),{},{props:i,graphicalItems:y}),r?.legendBBox);Object.keys(x).forEach(function(e){x[e]=l(i,x[e],S,e.replace(`Map`,``),t)});var C=x[`${v}Map`],w=sJ(C);return $($({formattedGraphicalItems:d(i,$($({},x),{},{dataStartIndex:a,dataEndIndex:o,updateId:c,graphicalItems:y,stackGroups:b,offset:S})),graphicalItems:y,offset:S,stackGroups:b},w),x)},p=function(e){function n(e){var r;return Oq(this,n),r=jq(this,n,[e]),Gq(r,`eventEmitterSymbol`,Symbol(`rechartsEventEmitter`)),Gq(r,`accessibilityManager`,new eq),Gq(r,`handleLegendBBoxUpdate`,function(e){if(e){var t=r.state,n=t.dataStartIndex,i=t.dataEndIndex,a=t.updateId;r.setState($({legendBBox:e},f({props:r.props,dataStartIndex:n,dataEndIndex:i,updateId:a},$($({},r.state),{},{legendBBox:e}))))}}),Gq(r,`handleReceiveSyncEvent`,function(e,t,n){if(r.props.syncId===e){if(n===r.eventEmitterSymbol&&typeof r.props.syncMethod!=`function`)return;r.applySyncEvent(t)}}),Gq(r,`handleBrushChange`,function(e){var t=e.startIndex,n=e.endIndex;if(t!==r.state.dataStartIndex||n!==r.state.dataEndIndex){var i=r.state.updateId;r.setState(function(){return $({dataStartIndex:t,dataEndIndex:n},f({props:r.props,dataStartIndex:t,dataEndIndex:n,updateId:i},r.state))}),r.triggerSyncEvent({dataStartIndex:t,dataEndIndex:n})}}),Gq(r,`handleMouseEnter`,function(e){var t=r.getMouseInfo(e);if(t){var n=$($({},t),{},{isTooltipActive:!0});r.setState(n),r.triggerSyncEvent(n);var i=r.props.onMouseEnter;(0,pq.default)(i)&&i(n,e)}}),Gq(r,`triggeredAfterMouseMove`,function(e){var t=r.getMouseInfo(e),n=t?$($({},t),{},{isTooltipActive:!0}):{isTooltipActive:!1};r.setState(n),r.triggerSyncEvent(n);var i=r.props.onMouseMove;(0,pq.default)(i)&&i(n,e)}),Gq(r,`handleItemMouseEnter`,function(e){r.setState(function(){return{isTooltipActive:!0,activeItem:e,activePayload:e.tooltipPayload,activeCoordinate:e.tooltipPosition||{x:e.cx,y:e.cy}}})}),Gq(r,`handleItemMouseLeave`,function(){r.setState(function(){return{isTooltipActive:!1}})}),Gq(r,`handleMouseMove`,function(e){e.persist(),r.throttleTriggeredAfterMouseMove(e)}),Gq(r,`handleMouseLeave`,function(e){r.throttleTriggeredAfterMouseMove.cancel();var t={isTooltipActive:!1};r.setState(t),r.triggerSyncEvent(t);var n=r.props.onMouseLeave;(0,pq.default)(n)&&n(t,e)}),Gq(r,`handleOuterEvent`,function(e){var t=Yg(e),n=(0,hq.default)(r.props,`${t}`);t&&(0,pq.default)(n)&&n((/.*touch.*/i.test(t)?r.getMouseInfo(e.changedTouches[0]):r.getMouseInfo(e))??{},e)}),Gq(r,`handleClick`,function(e){var t=r.getMouseInfo(e);if(t){var n=$($({},t),{},{isTooltipActive:!0});r.setState(n),r.triggerSyncEvent(n);var i=r.props.onClick;(0,pq.default)(i)&&i(n,e)}}),Gq(r,`handleMouseDown`,function(e){var t=r.props.onMouseDown;(0,pq.default)(t)&&t(r.getMouseInfo(e),e)}),Gq(r,`handleMouseUp`,function(e){var t=r.props.onMouseUp;(0,pq.default)(t)&&t(r.getMouseInfo(e),e)}),Gq(r,`handleTouchMove`,function(e){e.changedTouches!=null&&e.changedTouches.length>0&&r.throttleTriggeredAfterMouseMove(e.changedTouches[0])}),Gq(r,`handleTouchStart`,function(e){e.changedTouches!=null&&e.changedTouches.length>0&&r.handleMouseDown(e.changedTouches[0])}),Gq(r,`handleTouchEnd`,function(e){e.changedTouches!=null&&e.changedTouches.length>0&&r.handleMouseUp(e.changedTouches[0])}),Gq(r,`handleDoubleClick`,function(e){var t=r.props.onDoubleClick;(0,pq.default)(t)&&t(r.getMouseInfo(e),e)}),Gq(r,`handleContextMenu`,function(e){var t=r.props.onContextMenu;(0,pq.default)(t)&&t(r.getMouseInfo(e),e)}),Gq(r,`triggerSyncEvent`,function(e){r.props.syncId!==void 0&&GK.emit(KK,r.props.syncId,e,r.eventEmitterSymbol)}),Gq(r,`applySyncEvent`,function(e){var t=r.props,n=t.layout,i=t.syncMethod,a=r.state.updateId,o=e.dataStartIndex,s=e.dataEndIndex;if(e.dataStartIndex!==void 0||e.dataEndIndex!==void 0)r.setState($({dataStartIndex:o,dataEndIndex:s},f({props:r.props,dataStartIndex:o,dataEndIndex:s,updateId:a},r.state)));else if(e.activeTooltipIndex!==void 0){var c=e.chartX,l=e.chartY,u=e.activeTooltipIndex,d=r.state,p=d.offset,m=d.tooltipTicks;if(!p)return;if(typeof i==`function`)u=i(m,e);else if(i===`value`){u=-1;for(var h=0;h<m.length;h++)if(m[h].value===e.activeLabel){u=h;break}}var g=$($({},p),{},{x:p.left,y:p.top}),_=Math.min(c,g.x+g.width),v=Math.min(l,g.y+g.height),y=m[u]&&m[u].value,b=nJ(r.state,r.props.data,u),x=m[u]?{x:n===`horizontal`?m[u].coordinate:_,y:n===`horizontal`?v:m[u].coordinate}:Xq;r.setState($($({},e),{},{activeLabel:y,activeCoordinate:x,activePayload:b,activeTooltipIndex:u}))}else r.setState(e)}),Gq(r,`renderCursor`,function(e){var n=r.state,i=n.isTooltipActive,a=n.activeCoordinate,o=n.activePayload,s=n.offset,c=n.activeTooltipIndex,l=n.tooltipAxisBandSize,u=r.getTooltipEventType(),d=e.props.active??i,f=r.props.layout,p=e.key||`_recharts-cursor`;return b.createElement(dq,{key:p,activeCoordinate:a,activePayload:o,activeTooltipIndex:c,chartName:t,element:e,isActive:d,layout:f,offset:s,tooltipAxisBandSize:l,tooltipEventType:u})}),Gq(r,`renderPolarAxis`,function(e,t,n){var i=(0,hq.default)(e,`type.axisType`),a=(0,hq.default)(r.state,`${i}Map`),o=e.type.defaultProps,s=o===void 0?e.props:$($({},o),e.props),c=a&&a[s[`${i}Id`]];return(0,b.cloneElement)(e,$($({},c),{},{className:Um(i,c.className),key:e.key||`${t}-${n}`,ticks:dM(c,!0)}))}),Gq(r,`renderPolarGrid`,function(e){var t=e.props,n=t.radialLines,i=t.polarAngles,a=t.polarRadius,o=r.state,s=o.radiusAxisMap,c=o.angleAxisMap,l=og(s),u=og(c),d=u.cx,f=u.cy,p=u.innerRadius,m=u.outerRadius;return(0,b.cloneElement)(e,{polarAngles:Array.isArray(i)?i:dM(u,!0).map(function(e){return e.coordinate}),polarRadius:Array.isArray(a)?a:dM(l,!0).map(function(e){return e.coordinate}),cx:d,cy:f,innerRadius:p,outerRadius:m,key:e.key||`polar-grid`,radialLines:n})}),Gq(r,`renderLegend`,function(){var e=r.state.formattedGraphicalItems,t=r.props,n=t.children,i=t.width,a=t.height,o=r.props.margin||{},s=Oj({children:n,formattedGraphicalItems:e,legendWidth:i-(o.left||0)-(o.right||0),legendContent:c});if(!s)return null;var l=s.item;return(0,b.cloneElement)(l,$($({},Eq(s,vq)),{},{chartWidth:i,chartHeight:a,margin:o,onBBoxUpdate:r.handleLegendBBoxUpdate}))}),Gq(r,`renderTooltip`,function(){var e=r.props,t=e.children,n=e.accessibilityLayer,i=zg(t,GS);if(!i)return null;var a=r.state,o=a.isTooltipActive,s=a.activeCoordinate,c=a.activePayload,l=a.activeLabel,u=a.offset,d=i.props.active??o;return(0,b.cloneElement)(i,{viewBox:$($({},u),{},{x:u.left,y:u.top}),active:d,label:l,payload:d?c:[],coordinate:s,accessibilityLayer:n})}),Gq(r,`renderBrush`,function(e){var t=r.props,n=t.margin,i=t.data,a=r.state,o=a.offset,s=a.dataStartIndex,c=a.dataEndIndex,l=a.updateId;return(0,b.cloneElement)(e,{key:e.key||`_recharts-brush`,onChange:pM(r.handleBrushChange,e.props.onChange),data:i,x:Q(e.props.x)?e.props.x:o.left,y:Q(e.props.y)?e.props.y:o.top+o.height+o.brushBottom-(n.bottom||0),width:Q(e.props.width)?e.props.width:o.width,startIndex:s,endIndex:c,updateId:`brush-${l}`})}),Gq(r,`renderReferenceElement`,function(e,t,n){if(!e)return null;var i=r.clipPathId,a=r.state,o=a.xAxisMap,s=a.yAxisMap,c=a.offset,l=e.type.defaultProps||{},u=e.props,d=u.xAxisId,f=d===void 0?l.xAxisId:d,p=u.yAxisId,m=p===void 0?l.yAxisId:p;return(0,b.cloneElement)(e,{key:e.key||`${t}-${n}`,xAxis:o[f],yAxis:s[m],viewBox:{x:c.left,y:c.top,width:c.width,height:c.height},clipPathId:i})}),Gq(r,`renderActivePoints`,function(e){var t=e.item,r=e.activePoint,i=e.basePoint,a=e.childIndex,o=e.isRange,s=[],c=t.props.key,l=t.item.type.defaultProps===void 0?t.item.props:$($({},t.item.type.defaultProps),t.item.props),u=l.activeDot,d=l.dataKey,f=$($({index:a,dataKey:d,cx:r.x,cy:r.y,r:4,fill:tM(t.item),strokeWidth:2,stroke:`#fff`,payload:r.payload,value:r.value},Gg(u,!1)),yg(u));return s.push(n.renderActiveDot(u,f,`${c}-activePoint-${a}`)),i?s.push(n.renderActiveDot(u,$($({},f),{},{cx:i.x,cy:i.y}),`${c}-basePoint-${a}`)):o&&s.push(null),s}),Gq(r,`renderGraphicChild`,function(e,t,n){var i=r.filterFormatItem(e,t,n);if(!i)return null;var a=r.getTooltipEventType(),o=r.state,s=o.isTooltipActive,c=o.tooltipAxis,l=o.activeTooltipIndex,u=o.activeLabel,d=r.props.children,f=zg(d,GS),p=i.props,m=p.points,h=p.isRange,g=p.baseLine,_=i.item.type.defaultProps===void 0?i.item.props:$($({},i.item.type.defaultProps),i.item.props),v=_.activeDot,y=_.hide,x=_.activeBar,S=_.activeShape,C=!!(!y&&s&&f&&(v||x||S)),w={};a!==`axis`&&f&&f.props.trigger===`click`?w={onClick:pM(r.handleItemMouseEnter,e.props.onClick)}:a!==`axis`&&(w={onMouseLeave:pM(r.handleItemMouseLeave,e.props.onMouseLeave),onMouseEnter:pM(r.handleItemMouseEnter,e.props.onMouseEnter)});var T=(0,b.cloneElement)(e,$($({},i.props),w));function E(e){return typeof c.dataKey==`function`?c.dataKey(e.payload):null}if(C)if(l>=0){var D,O;if(c.dataKey&&!c.allowDuplicatedCategory){var k=typeof c.dataKey==`function`?E:`payload.${c.dataKey.toString()}`;D=lg(m,k,u),O=h&&g&&lg(g,k,u)}else D=m?.[l],O=h&&g&&g[l];if(S||x){var A=e.props.activeIndex===void 0?l:e.props.activeIndex;return[(0,b.cloneElement)(e,$($($({},i.props),w),{},{activeIndex:A})),null,null]}if(!(0,fq.default)(D))return[T].concat(Rq(r.renderActivePoints({item:i,activePoint:D,basePoint:O,childIndex:l,isRange:h})))}else{var j=(r.getItemByXY(r.state.activeCoordinate)??{graphicalItem:T}).graphicalItem,M=j.item,N=M===void 0?e:M,P=j.childIndex;return[(0,b.cloneElement)(N,$($($({},i.props),w),{},{activeIndex:P})),null,null]}return h?[T,null,null]:[T,null]}),Gq(r,`renderCustomized`,function(e,t,n){return(0,b.cloneElement)(e,$($({key:`recharts-customized-${n}`},r.props),r.state))}),Gq(r,`renderMap`,{CartesianGrid:{handler:Zq,once:!0},ReferenceArea:{handler:r.renderReferenceElement},ReferenceLine:{handler:Zq},ReferenceDot:{handler:r.renderReferenceElement},XAxis:{handler:Zq},YAxis:{handler:Zq},Brush:{handler:r.renderBrush,once:!0},Bar:{handler:r.renderGraphicChild},Line:{handler:r.renderGraphicChild},Area:{handler:r.renderGraphicChild},Radar:{handler:r.renderGraphicChild},RadialBar:{handler:r.renderGraphicChild},Scatter:{handler:r.renderGraphicChild},Pie:{handler:r.renderGraphicChild},Funnel:{handler:r.renderGraphicChild},Tooltip:{handler:r.renderCursor,once:!0},PolarGrid:{handler:r.renderPolarGrid,once:!0},PolarAngleAxis:{handler:r.renderPolarAxis},PolarRadiusAxis:{handler:r.renderPolarAxis},Customized:{handler:r.renderCustomized}}),r.clipPathId=`${e.id??ig(`recharts`)}-clip`,r.throttleTriggeredAfterMouseMove=(0,_q.default)(r.triggeredAfterMouseMove,e.throttleDelay??1e3/60),r.state={},r}return Iq(n,e),Aq(n,[{key:`componentDidMount`,value:function(){this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:this.props.margin.left??0,top:this.props.margin.top??0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:`displayDefaultTooltip`,value:function(){var e=this.props,t=e.children,n=e.data,r=e.height,i=e.layout,a=zg(t,GS);if(a){var o=a.props.defaultIndex;if(!(typeof o!=`number`||o<0||o>this.state.tooltipTicks.length-1)){var s=this.state.tooltipTicks[o]&&this.state.tooltipTicks[o].value,c=nJ(this.state,n,o,s),l=this.state.tooltipTicks[o].coordinate,u=(this.state.offset.top+r)/2,d=i===`horizontal`?{x:l,y:u}:{y:l,x:u},f=this.state.formattedGraphicalItems.find(function(e){return e.item.type.name===`Scatter`});f&&(d=$($({},d),f.props.points[o].tooltipPosition),c=f.props.points[o].tooltipPayload);var p={activeTooltipIndex:o,isTooltipActive:!0,activeLabel:s,activePayload:c,activeCoordinate:d};this.setState(p),this.renderCursor(a),this.accessibilityManager.setIndex(o)}}}},{key:`getSnapshotBeforeUpdate`,value:function(e,t){return this.props.accessibilityLayer?(this.state.tooltipTicks!==t.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==e.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==e.margin&&this.accessibilityManager.setDetails({offset:{left:this.props.margin.left??0,top:this.props.margin.top??0}}),null):null}},{key:`componentDidUpdate`,value:function(e){Kg([zg(e.children,GS)],[zg(this.props.children,GS)])||this.displayDefaultTooltip()}},{key:`componentWillUnmount`,value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:`getTooltipEventType`,value:function(){var e=zg(this.props.children,GS);if(e&&typeof e.props.shared==`boolean`){var t=e.props.shared?`axis`:`item`;return o.indexOf(t)>=0?t:i}return i}},{key:`getMouseInfo`,value:function(e){if(!this.container)return null;var t=this.container,n=t.getBoundingClientRect(),r=TC(n),i={chartX:Math.round(e.pageX-r.left),chartY:Math.round(e.pageY-r.top)},a=n.width/t.offsetWidth||1,o=this.inRange(i.chartX,i.chartY,a);if(!o)return null;var s=this.state,c=s.xAxisMap,l=s.yAxisMap,u=this.getTooltipEventType(),d=rJ(this.state,this.props.data,this.props.layout,o);if(u!==`axis`&&c&&l){var f=og(c).scale,p=og(l).scale,m=f&&f.invert?f.invert(i.chartX):null,h=p&&p.invert?p.invert(i.chartY):null;return $($({},i),{},{xValue:m,yValue:h},d)}return d?$($({},i),d):null}},{key:`inRange`,value:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,r=this.props.layout,i=e/n,a=t/n;if(r===`horizontal`||r===`vertical`){var o=this.state.offset;return i>=o.left&&i<=o.left+o.width&&a>=o.top&&a<=o.top+o.height?{x:i,y:a}:null}var s=this.state,c=s.angleAxisMap,l=s.radiusAxisMap;if(c&&l){var u=og(c);return iN({x:i,y:a},u)}return null}},{key:`parseEventsOfWrapper`,value:function(){var e=this.props.children,t=this.getTooltipEventType(),n=zg(e,GS),r={};return n&&t===`axis`&&(r=n.props.trigger===`click`?{onClick:this.handleClick}:{onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu}),$($({},yg(this.props,this.handleOuterEvent)),r)}},{key:`addListener`,value:function(){GK.on(KK,this.handleReceiveSyncEvent)}},{key:`removeListener`,value:function(){GK.removeListener(KK,this.handleReceiveSyncEvent)}},{key:`filterFormatItem`,value:function(e,t,n){for(var r=this.state.formattedGraphicalItems,i=0,a=r.length;i<a;i++){var o=r[i];if(o.item===e||o.props.key===e.key||t===Pg(o.item.type)&&n===o.childIndex)return o}return null}},{key:`renderClipPath`,value:function(){var e=this.clipPathId,t=this.state.offset,n=t.left,r=t.top,i=t.height,a=t.width;return b.createElement(`defs`,null,b.createElement(`clipPath`,{id:e},b.createElement(`rect`,{x:n,y:r,height:i,width:a})))}},{key:`getXScales`,value:function(){var e=this.state.xAxisMap;return e?Object.entries(e).reduce(function(e,t){var n=Sq(t,2),r=n[0],i=n[1];return $($({},e),{},Gq({},r,i.scale))},{}):null}},{key:`getYScales`,value:function(){var e=this.state.yAxisMap;return e?Object.entries(e).reduce(function(e,t){var n=Sq(t,2),r=n[0],i=n[1];return $($({},e),{},Gq({},r,i.scale))},{}):null}},{key:`getXScaleByAxisId`,value:function(e){var t;return(t=this.state.xAxisMap)==null||(t=t[e])==null?void 0:t.scale}},{key:`getYScaleByAxisId`,value:function(e){var t;return(t=this.state.yAxisMap)==null||(t=t[e])==null?void 0:t.scale}},{key:`getItemByXY`,value:function(e){var t=this.state,n=t.formattedGraphicalItems,r=t.activeItem;if(n&&n.length)for(var i=0,a=n.length;i<a;i++){var o=n[i],s=o.props,c=o.item,l=c.type.defaultProps===void 0?c.props:$($({},c.type.defaultProps),c.props),u=Pg(c.type);if(u===`Bar`){var d=(s.data||[]).find(function(t){return OL(e,t)});if(d)return{graphicalItem:o,payload:d}}else if(u===`RadialBar`){var f=(s.data||[]).find(function(t){return iN(e,t)});if(f)return{graphicalItem:o,payload:f}}else if(Lz(o,r)||Rz(o,r)||zz(o,r)){var p=Kz({graphicalItem:o,activeTooltipItem:r,itemData:l.data}),m=l.activeIndex===void 0?p:l.activeIndex;return{graphicalItem:$($({},o),{},{childIndex:m}),payload:zz(o,r)?l.data[p]:o.props.data[p]}}}return null}},{key:`render`,value:function(){var e=this;if(!Bg(this))return null;var t=this.props,n=t.children,r=t.className,i=t.width,a=t.height,o=t.style,s=t.compact,c=t.title,l=t.desc,u=Gg(Eq(t,yq),!1);if(s)return b.createElement(yH,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},b.createElement(t_,xq({},u,{width:i,height:a,title:c,desc:l}),this.renderClipPath(),Jg(n,this.renderMap)));this.props.accessibilityLayer&&(u.tabIndex=this.props.tabIndex??0,u.role=this.props.role??`application`,u.onKeyDown=function(t){e.accessibilityManager.keyboardEvent(t)},u.onFocus=function(){e.accessibilityManager.focus()});var d=this.parseEventsOfWrapper();return b.createElement(yH,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},b.createElement(`div`,xq({className:Um(`recharts-wrapper`,r),style:$({position:`relative`,cursor:`default`,width:i,height:a},o)},d,{ref:function(t){e.container=t}}),b.createElement(t_,xq({},u,{width:i,height:a,title:c,desc:l,style:Yq}),this.renderClipPath(),Jg(n,this.renderMap)),this.renderLegend(),this.renderTooltip()))}}])}(b.Component);Gq(p,`displayName`,t),Gq(p,`defaultProps`,$({layout:`horizontal`,stackOffset:`none`,barCategoryGap:`10%`,barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:`index`},u)),Gq(p,`getDerivedStateFromProps`,function(e,t){var n=e.dataKey,r=e.data,i=e.children,a=e.width,o=e.height,s=e.layout,c=e.stackOffset,l=e.margin,u=t.dataStartIndex,d=t.dataEndIndex;if(t.updateId===void 0){var p=cJ(e);return $($($({},p),{},{updateId:0},f($($({props:e},p),{},{updateId:0}),t)),{},{prevDataKey:n,prevData:r,prevWidth:a,prevHeight:o,prevLayout:s,prevStackOffset:c,prevMargin:l,prevChildren:i})}if(n!==t.prevDataKey||r!==t.prevData||a!==t.prevWidth||o!==t.prevHeight||s!==t.prevLayout||c!==t.prevStackOffset||!dg(l,t.prevMargin)){var m=cJ(e),h={chartX:t.chartX,chartY:t.chartY,isTooltipActive:t.isTooltipActive},g=$($({},rJ(t,r,s)),{},{updateId:t.updateId+1}),_=$($($({},m),h),g);return $($($({},_),f($({props:e},_),t)),{},{prevDataKey:n,prevData:r,prevWidth:a,prevHeight:o,prevLayout:s,prevStackOffset:c,prevMargin:l,prevChildren:i})}if(!Kg(i,t.prevChildren)){var v=zg(i,YB),y=v?v.props?.startIndex??u:u,b=v?v.props?.endIndex??d:d,x=y!==u||b!==d,S=!(0,fq.default)(r)&&!x?t.updateId:t.updateId+1;return $($({updateId:S},f($($({props:e},t),{},{updateId:S,dataStartIndex:y,dataEndIndex:b}),t)),{},{prevChildren:i,dataStartIndex:y,dataEndIndex:b})}return null}),Gq(p,`renderActiveDot`,function(e,t,n){var r=(0,b.isValidElement)(e)?(0,b.cloneElement)(e,t):(0,pq.default)(e)?e(t):b.createElement(qL,t);return b.createElement(o_,{className:`recharts-active-dot`,key:n},r)});var m=(0,b.forwardRef)(function(e,t){return b.createElement(p,xq({},e,{ref:t}))});return m.displayName=p.displayName,m},mJ=pJ({chartName:`LineChart`,GraphicalChild:kG,axisComponents:[{axisType:`xAxis`,AxisComp:bK},{axisType:`yAxis`,AxisComp:LK}],formatAxisMap:QV}),hJ=pJ({chartName:`BarChart`,GraphicalChild:BV,defaultTooltipEventType:`axis`,validateTooltipEventTypes:[`axis`,`item`],axisComponents:[{axisType:`xAxis`,AxisComp:bK},{axisType:`yAxis`,AxisComp:LK}],formatAxisMap:QV}),gJ=pJ({chartName:`PieChart`,GraphicalChild:hB,validateTooltipEventTypes:[`item`],defaultTooltipEventType:`item`,legendContent:`children`,axisComponents:[{axisType:`angleAxis`,AxisComp:$R},{axisType:`radiusAxis`,AxisComp:MR}],formatAxisMap:$M,defaultProps:{layout:`centric`,startAngle:0,endAngle:360,cx:`50%`,cy:`50%`,innerRadius:0,outerRadius:`80%`}}),_J=pJ({chartName:`AreaChart`,GraphicalChild:rK,axisComponents:[{axisType:`xAxis`,AxisComp:bK},{axisType:`yAxis`,AxisComp:LK}],formatAxisMap:QV});function vJ(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;let n=document.implementation.createHTMLDocument(),r=n.createElement(`base`),i=n.createElement(`a`);return n.head.appendChild(r),n.body.appendChild(i),t&&(r.href=t),i.href=e,i.href}const yJ=(()=>{let e=0,t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function bJ(e){let t=[];for(let n=0,r=e.length;n<r;n++)t.push(e[n]);return t}var xJ=null;function SJ(e={}){return xJ||(e.includeStyleProperties?(xJ=e.includeStyleProperties,xJ):(xJ=bJ(window.getComputedStyle(document.documentElement)),xJ))}function CJ(e,t){let n=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(t);return n?parseFloat(n.replace(`px`,``)):0}function wJ(e){let t=CJ(e,`border-left-width`),n=CJ(e,`border-right-width`);return e.clientWidth+t+n}function TJ(e){let t=CJ(e,`border-top-width`),n=CJ(e,`border-bottom-width`);return e.clientHeight+t+n}function EJ(e,t={}){return{width:t.width||wJ(e),height:t.height||TJ(e)}}function DJ(){let e,t;try{t=process}catch{}let n=t&&t.env?t.env.devicePixelRatio:null;return n&&(e=parseInt(n,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}var OJ=16384;function kJ(e){(e.width>OJ||e.height>OJ)&&(e.width>OJ&&e.height>OJ?e.width>e.height?(e.height*=OJ/e.width,e.width=OJ):(e.width*=OJ/e.height,e.height=OJ):e.width>OJ?(e.height*=OJ/e.width,e.width=OJ):(e.width*=OJ/e.height,e.height=OJ))}function AJ(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>{r.decode().then(()=>{requestAnimationFrame(()=>t(r))})},r.onerror=n,r.crossOrigin=`anonymous`,r.decoding=`async`,r.src=e})}async function jJ(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(e=>`data:image/svg+xml;charset=utf-8,${e}`)}async function MJ(e,t,n){let r=`http://www.w3.org/2000/svg`,i=document.createElementNS(r,`svg`),a=document.createElementNS(r,`foreignObject`);return i.setAttribute(`width`,`${t}`),i.setAttribute(`height`,`${n}`),i.setAttribute(`viewBox`,`0 0 ${t} ${n}`),a.setAttribute(`width`,`100%`),a.setAttribute(`height`,`100%`),a.setAttribute(`x`,`0`),a.setAttribute(`y`,`0`),a.setAttribute(`externalResourcesRequired`,`true`),i.appendChild(a),a.appendChild(e),jJ(i)}const NJ=(e,t)=>{if(e instanceof t)return!0;let n=Object.getPrototypeOf(e);return n===null?!1:n.constructor.name===t.name||NJ(n,t)};function PJ(e){let t=e.getPropertyValue(`content`);return`${e.cssText} content: '${t.replace(/'|"/g,``)}';`}function FJ(e,t){return SJ(t).map(t=>`${t}: ${e.getPropertyValue(t)}${e.getPropertyPriority(t)?` !important`:``};`).join(` `)}function IJ(e,t,n,r){let i=`.${e}:${t}`,a=n.cssText?PJ(n):FJ(n,r);return document.createTextNode(`${i}{${a}}`)}function LJ(e,t,n,r){let i=window.getComputedStyle(e,n),a=i.getPropertyValue(`content`);if(a===``||a===`none`)return;let o=yJ();try{t.className=`${t.className} ${o}`}catch{return}let s=document.createElement(`style`);s.appendChild(IJ(o,n,i,r)),t.appendChild(s)}function RJ(e,t,n){LJ(e,t,`:before`,n),LJ(e,t,`:after`,n)}var zJ=`application/font-woff`,BJ=`image/jpeg`,VJ={woff:zJ,woff2:zJ,ttf:`application/font-truetype`,eot:`application/vnd.ms-fontobject`,png:`image/png`,jpg:BJ,jpeg:BJ,gif:`image/gif`,tiff:`image/tiff`,svg:`image/svg+xml`,webp:`image/webp`};function HJ(e){let t=/\.([^./]*?)$/g.exec(e);return t?t[1]:``}function UJ(e){return VJ[HJ(e).toLowerCase()]||``}function WJ(e){return e.split(/,/)[1]}function GJ(e){return e.search(/^(data:)/)!==-1}function KJ(e,t){return`data:${t};base64,${e}`}async function qJ(e,t,n){let r=await fetch(e,t);if(r.status===404)throw Error(`Resource "${r.url}" not found`);let i=await r.blob();return new Promise((e,t)=>{let a=new FileReader;a.onerror=t,a.onloadend=()=>{try{e(n({res:r,result:a.result}))}catch(e){t(e)}},a.readAsDataURL(i)})}var JJ={};function YJ(e,t,n){let r=e.replace(/\?.*/,``);return n&&(r=e),/ttf|otf|eot|woff2?/i.test(r)&&(r=r.replace(/.*\//,``)),t?`[${t}]${r}`:r}async function XJ(e,t,n){let r=YJ(e,t,n.includeQueryParams);if(JJ[r]!=null)return JJ[r];n.cacheBust&&(e+=(/\?/.test(e)?`&`:`?`)+new Date().getTime());let i;try{i=KJ(await qJ(e,n.fetchRequestInit,({res:e,result:n})=>(t||=e.headers.get(`Content-Type`)||``,WJ(n))),t)}catch(t){i=n.imagePlaceholder||``;let r=`Failed to fetch resource: ${e}`;t&&(r=typeof t==`string`?t:t.message),r&&console.warn(r)}return JJ[r]=i,i}async function ZJ(e){let t=e.toDataURL();return t===`data:,`?e.cloneNode(!1):AJ(t)}async function QJ(e,t){if(e.currentSrc){let t=document.createElement(`canvas`),n=t.getContext(`2d`);return t.width=e.clientWidth,t.height=e.clientHeight,n?.drawImage(e,0,0,t.width,t.height),AJ(t.toDataURL())}let n=e.poster;return AJ(await XJ(n,UJ(n),t))}async function $J(e,t){try{if(e?.contentDocument?.body)return await lY(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function eY(e,t){return NJ(e,HTMLCanvasElement)?ZJ(e):NJ(e,HTMLVideoElement)?QJ(e,t):NJ(e,HTMLIFrameElement)?$J(e,t):e.cloneNode(nY(e))}var tY=e=>e.tagName!=null&&e.tagName.toUpperCase()===`SLOT`,nY=e=>e.tagName!=null&&e.tagName.toUpperCase()===`SVG`;async function rY(e,t,n){if(nY(t))return t;let r=[];return r=tY(e)&&e.assignedNodes?bJ(e.assignedNodes()):NJ(e,HTMLIFrameElement)&&e.contentDocument?.body?bJ(e.contentDocument.body.childNodes):bJ((e.shadowRoot??e).childNodes),r.length===0||NJ(e,HTMLVideoElement)||await r.reduce((e,r)=>e.then(()=>lY(r,n)).then(e=>{e&&t.appendChild(e)}),Promise.resolve()),t}function iY(e,t,n){let r=t.style;if(!r)return;let i=window.getComputedStyle(e);i.cssText?(r.cssText=i.cssText,r.transformOrigin=i.transformOrigin):SJ(n).forEach(n=>{let a=i.getPropertyValue(n);n===`font-size`&&a.endsWith(`px`)&&(a=`${Math.floor(parseFloat(a.substring(0,a.length-2)))-.1}px`),NJ(e,HTMLIFrameElement)&&n===`display`&&a===`inline`&&(a=`block`),n===`d`&&t.getAttribute(`d`)&&(a=`path(${t.getAttribute(`d`)})`),r.setProperty(n,a,i.getPropertyPriority(n))})}function aY(e,t){NJ(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),NJ(e,HTMLInputElement)&&t.setAttribute(`value`,e.value)}function oY(e,t){if(NJ(e,HTMLSelectElement)){let n=t,r=Array.from(n.children).find(t=>e.value===t.getAttribute(`value`));r&&r.setAttribute(`selected`,``)}}function sY(e,t,n){return NJ(t,Element)&&(iY(e,t,n),RJ(e,t,n),aY(e,t),oY(e,t)),t}async function cY(e,t){let n=e.querySelectorAll?e.querySelectorAll(`use`):[];if(n.length===0)return e;let r={};for(let i=0;i<n.length;i++){let a=n[i].getAttribute(`xlink:href`);if(a){let n=e.querySelector(a),i=document.querySelector(a);!n&&i&&!r[a]&&(r[a]=await lY(i,t,!0))}}let i=Object.values(r);if(i.length){let t=`http://www.w3.org/1999/xhtml`,n=document.createElementNS(t,`svg`);n.setAttribute(`xmlns`,t),n.style.position=`absolute`,n.style.width=`0`,n.style.height=`0`,n.style.overflow=`hidden`,n.style.display=`none`;let r=document.createElementNS(t,`defs`);n.appendChild(r);for(let e=0;e<i.length;e++)r.appendChild(i[e]);e.appendChild(n)}return e}async function lY(e,t,n){return!n&&t.filter&&!t.filter(e)?null:Promise.resolve(e).then(e=>eY(e,t)).then(n=>rY(e,n,t)).then(n=>sY(e,n,t)).then(e=>cY(e,t))}var uY=/url\((['"]?)([^'"]+?)\1\)/g,dY=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,fY=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function pY(e){let t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,`\\$1`);return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,`g`)}function mY(e){let t=[];return e.replace(uY,(e,n,r)=>(t.push(r),e)),t.filter(e=>!GJ(e))}async function hY(e,t,n,r,i){try{let a=n?vJ(t,n):t,o=UJ(t),s;return s=i?KJ(await i(a),o):await XJ(a,o,r),e.replace(pY(t),`$1${s}$3`)}catch{}return e}function gY(e,{preferredFontFormat:t}){return t?e.replace(fY,e=>{for(;;){let[n,,r]=dY.exec(e)||[];if(!r)return``;if(r===t)return`src: ${n};`}}):e}function _Y(e){return e.search(uY)!==-1}async function vY(e,t,n){if(!_Y(e))return e;let r=gY(e,n);return mY(r).reduce((e,r)=>e.then(e=>hY(e,r,t,n)),Promise.resolve(r))}async function yY(e,t,n){let r=t.style?.getPropertyValue(e);if(r){let i=await vY(r,null,n);return t.style.setProperty(e,i,t.style.getPropertyPriority(e)),!0}return!1}async function bY(e,t){await yY(`background`,e,t)||await yY(`background-image`,e,t),await yY(`mask`,e,t)||await yY(`-webkit-mask`,e,t)||await yY(`mask-image`,e,t)||await yY(`-webkit-mask-image`,e,t)}async function xY(e,t){let n=NJ(e,HTMLImageElement);if(!(n&&!GJ(e.src))&&!(NJ(e,SVGImageElement)&&!GJ(e.href.baseVal)))return;let r=n?e.src:e.href.baseVal,i=await XJ(r,UJ(r),t);await new Promise((r,a)=>{e.onload=r,e.onerror=t.onImageErrorHandler?(...e)=>{try{r(t.onImageErrorHandler(...e))}catch(e){a(e)}}:a;let o=e;o.decode&&=r,o.loading===`lazy`&&(o.loading=`eager`),n?(e.srcset=``,e.src=i):e.href.baseVal=i})}async function SY(e,t){let n=bJ(e.childNodes).map(e=>CY(e,t));await Promise.all(n).then(()=>e)}async function CY(e,t){NJ(e,Element)&&(await bY(e,t),await xY(e,t),await SY(e,t))}function wY(e,t){let{style:n}=e;t.backgroundColor&&(n.backgroundColor=t.backgroundColor),t.width&&(n.width=`${t.width}px`),t.height&&(n.height=`${t.height}px`);let r=t.style;return r!=null&&Object.keys(r).forEach(e=>{n[e]=r[e]}),e}var TY={};async function EY(e){let t=TY[e];return t??(t={url:e,cssText:await(await fetch(e)).text()},TY[e]=t,t)}async function DY(e,t){let n=e.cssText,r=/url\(["']?([^"')]+)["']?\)/g,i=(n.match(/url\([^)]+\)/g)||[]).map(async i=>{let a=i.replace(r,`$1`);return a.startsWith(`https://`)||(a=new URL(a,e.url).href),qJ(a,t.fetchRequestInit,({result:e})=>(n=n.replace(i,`url(${e})`),[i,e]))});return Promise.all(i).then(()=>n)}function OY(e){if(e==null)return[];let t=[],n=e.replace(/(\/\*[\s\S]*?\*\/)/gi,``),r=RegExp(`((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})`,`gi`);for(;;){let e=r.exec(n);if(e===null)break;t.push(e[0])}n=n.replace(r,``);let i=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,a=RegExp(`((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})`,`gi`);for(;;){let e=i.exec(n);if(e===null){if(e=a.exec(n),e===null)break;i.lastIndex=a.lastIndex}else a.lastIndex=i.lastIndex;t.push(e[0])}return t}async function kY(e,t){let n=[],r=[];return e.forEach(n=>{if(`cssRules`in n)try{bJ(n.cssRules||[]).forEach((e,i)=>{if(e.type===CSSRule.IMPORT_RULE){let a=i+1,o=e.href,s=EY(o).then(e=>DY(e,t)).then(e=>OY(e).forEach(e=>{try{n.insertRule(e,e.startsWith(`@import`)?a+=1:n.cssRules.length)}catch(t){console.error(`Error inserting rule from remote css`,{rule:e,error:t})}})).catch(e=>{console.error(`Error loading remote css`,e.toString())});r.push(s)}})}catch(i){let a=e.find(e=>e.href==null)||document.styleSheets[0];n.href!=null&&r.push(EY(n.href).then(e=>DY(e,t)).then(e=>OY(e).forEach(e=>{a.insertRule(e,a.cssRules.length)})).catch(e=>{console.error(`Error loading remote stylesheet`,e)})),console.error(`Error inlining remote css file`,i)}}),Promise.all(r).then(()=>(e.forEach(e=>{if(`cssRules`in e)try{bJ(e.cssRules||[]).forEach(e=>{n.push(e)})}catch(t){console.error(`Error while reading CSS rules from ${e.href}`,t)}}),n))}function AY(e){return e.filter(e=>e.type===CSSRule.FONT_FACE_RULE).filter(e=>_Y(e.style.getPropertyValue(`src`)))}async function jY(e,t){if(e.ownerDocument==null)throw Error(`Provided element is not within a Document`);return AY(await kY(bJ(e.ownerDocument.styleSheets),t))}function MY(e){return e.trim().replace(/["']/g,``)}function NY(e){let t=new Set;function n(e){(e.style.fontFamily||getComputedStyle(e).fontFamily).split(`,`).forEach(e=>{t.add(MY(e))}),Array.from(e.children).forEach(e=>{e instanceof HTMLElement&&n(e)})}return n(e),t}async function PY(e,t){let n=await jY(e,t),r=NY(e);return(await Promise.all(n.filter(e=>r.has(MY(e.style.fontFamily))).map(e=>{let n=e.parentStyleSheet?e.parentStyleSheet.href:null;return vY(e.cssText,n,t)}))).join(`
|
|
1783
|
-
`)}async function FY(e,t){let n=t.fontEmbedCSS==null?t.skipFonts?null:await PY(e,t):t.fontEmbedCSS;if(n){let t=document.createElement(`style`),r=document.createTextNode(n);t.appendChild(r),e.firstChild?e.insertBefore(t,e.firstChild):e.appendChild(t)}}async function IY(e,t={}){let{width:n,height:r}=EJ(e,t),i=await lY(e,t,!0);return await FY(i,t),await CY(i,t),wY(i,t),await MJ(i,n,r)}async function LY(e,t={}){let{width:n,height:r}=EJ(e,t),i=await AJ(await IY(e,t)),a=document.createElement(`canvas`),o=a.getContext(`2d`),s=t.pixelRatio||DJ(),c=t.canvasWidth||n,l=t.canvasHeight||r;return a.width=c*s,a.height=l*s,t.skipAutoScale||kJ(a),a.style.width=`${c}`,a.style.height=`${l}`,t.backgroundColor&&(o.fillStyle=t.backgroundColor,o.fillRect(0,0,a.width,a.height)),o.drawImage(i,0,0,a.width,a.height),a}async function RY(e,t={}){return(await LY(e,t)).toDataURL()}const zY=({config:e,onClose:t,onChangeType:n,onToggleTheme:r,allowTypeSwitch:i=!0,allowThemeSwitch:a=!0,width:o=600,height:s=400})=>{let c=(0,b.useRef)(null),l=e.theme||`light`,u=e.xLabels.map((t,n)=>{let r={name:t};return e.series.forEach(e=>{r[e.name]=e.data[n]||0}),r}),d=e.series.length>0?e.xLabels.map((t,n)=>({name:t,value:e.series[0].data[n]||0})):[],f=async()=>{if(c.current)try{let t=await RY(c.current,{quality:1,pixelRatio:2,backgroundColor:l===`dark`?`#1a1a1a`:`#ffffff`}),n=document.createElement(`a`);n.download=`${e.title||`chart`}-${Date.now()}.png`,n.href=t,n.click()}catch(e){console.error(`Failed to export chart:`,e)}},p=e=>{switch(e){case`line`:return`📈`;case`bar`:return`📊`;case`area`:return`📉`;case`pie`:return`🥧`;default:return`📊`}},m=()=>{let t={data:e.type===`pie`?d:u,margin:{top:5,right:30,left:20,bottom:5}},n={stroke:l===`dark`?`#888`:`#666`},r={strokeDasharray:`3 3`,stroke:l===`dark`?`#333`:`#ddd`};switch(e.type){case`line`:return(0,Y.jsx)(dC,{width:`100%`,height:`100%`,children:(0,Y.jsxs)(mJ,{...t,children:[(0,Y.jsx)(QW,{...r}),(0,Y.jsx)(bK,{dataKey:`name`,...n}),(0,Y.jsx)(LK,{...n}),(0,Y.jsx)(GS,{contentStyle:{backgroundColor:l===`dark`?`#2a2a2a`:`#fff`,border:`1px solid ${l===`dark`?`#444`:`#ccc`}`,color:l===`dark`?`#fff`:`#000`}}),(0,Y.jsx)(fx,{}),e.series.map(e=>(0,Y.jsx)(kG,{type:`monotone`,dataKey:e.name,stroke:e.color,strokeWidth:2,dot:{r:4},activeDot:{r:6}},e.name))]})});case`bar`:return(0,Y.jsx)(dC,{width:`100%`,height:`100%`,children:(0,Y.jsxs)(hJ,{...t,children:[(0,Y.jsx)(QW,{...r}),(0,Y.jsx)(bK,{dataKey:`name`,...n}),(0,Y.jsx)(LK,{...n}),(0,Y.jsx)(GS,{contentStyle:{backgroundColor:l===`dark`?`#2a2a2a`:`#fff`,border:`1px solid ${l===`dark`?`#444`:`#ccc`}`,color:l===`dark`?`#fff`:`#000`}}),(0,Y.jsx)(fx,{}),e.series.map(e=>(0,Y.jsx)(BV,{dataKey:e.name,fill:e.color},e.name))]})});case`area`:return(0,Y.jsx)(dC,{width:`100%`,height:`100%`,children:(0,Y.jsxs)(_J,{...t,children:[(0,Y.jsx)(QW,{...r}),(0,Y.jsx)(bK,{dataKey:`name`,...n}),(0,Y.jsx)(LK,{...n}),(0,Y.jsx)(GS,{contentStyle:{backgroundColor:l===`dark`?`#2a2a2a`:`#fff`,border:`1px solid ${l===`dark`?`#444`:`#ccc`}`,color:l===`dark`?`#fff`:`#000`}}),(0,Y.jsx)(fx,{}),e.series.map(e=>(0,Y.jsx)(rK,{type:`monotone`,dataKey:e.name,fill:e.color,stroke:e.color,fillOpacity:.6},e.name))]})});case`pie`:return(0,Y.jsx)(dC,{width:`100%`,height:`100%`,children:(0,Y.jsxs)(gJ,{children:[(0,Y.jsx)(hB,{data:d,cx:`50%`,cy:`50%`,labelLine:!1,label:({name:e,percent:t})=>`${e}: ${(t*100).toFixed(0)}%`,outerRadius:Math.min(s,o)/4,fill:`#8884d8`,dataKey:`value`,children:d.map((t,n)=>(0,Y.jsx)(fC,{fill:e.series[0]?.color||[`#8884d8`,`#82ca9d`,`#ffc658`,`#ff7c7c`,`#a28fd0`][n%5]},`cell-${n}`))}),(0,Y.jsx)(GS,{contentStyle:{backgroundColor:l===`dark`?`#2a2a2a`:`#fff`,border:`1px solid ${l===`dark`?`#444`:`#ccc`}`,color:l===`dark`?`#fff`:`#000`}}),(0,Y.jsx)(fx,{})]})});default:return(0,Y.jsx)(`div`,{children:`Unsupported chart type`})}};return(0,Y.jsxs)(`div`,{ref:c,className:`quick-chart quick-chart--${l}`,style:{width:o,height:s},children:[(0,Y.jsxs)(`div`,{className:`quick-chart__header`,children:[(0,Y.jsx)(`h3`,{className:`quick-chart__title`,children:e.title}),(0,Y.jsxs)(`div`,{className:`quick-chart__controls`,children:[i&&n&&(0,Y.jsx)(`div`,{className:`quick-chart__type-selector`,children:[`line`,`bar`,`area`,`pie`].map(t=>(0,Y.jsx)(`button`,{className:`quick-chart__type-btn ${e.type===t?`quick-chart__type-btn--active`:``}`,onClick:()=>n(t),title:`${t.charAt(0).toUpperCase()+t.slice(1)} Chart`,"aria-label":`Switch to ${t} chart`,children:p(t)},t))}),a&&r&&(0,Y.jsx)(`button`,{className:`quick-chart__btn`,onClick:r,title:`Toggle theme`,"aria-label":`Toggle theme`,children:l===`dark`?`☀️`:`🌙`}),(0,Y.jsx)(`button`,{className:`quick-chart__btn`,onClick:f,title:`Export as PNG`,"aria-label":`Export chart as PNG`,children:`📥`}),t&&(0,Y.jsx)(`button`,{className:`quick-chart__btn quick-chart__close`,onClick:t,title:`Close`,"aria-label":`Close chart`,children:`×`})]})]}),(0,Y.jsx)(`div`,{className:`quick-chart__body`,children:m()})]})},BY=({config:e,onClose:t,onChangeType:n,onToggleTheme:r,position:i=`bottom-right`,draggable:a=!0})=>{let o=(0,b.useRef)(null),[s,c]=(0,b.useState)(!1),[l,u]=(0,b.useState)({x:0,y:0}),[d,f]=(0,b.useState)({x:0,y:0}),[p]=(0,b.useState)({width:600,height:400});return(0,b.useEffect)(()=>{if(!o.current)return;let e=()=>{let e={width:window.innerWidth,height:window.innerHeight},t=0,n=0;switch(i){case`top-right`:t=e.width-p.width-40,n=40;break;case`top-left`:t=40,n=40;break;case`bottom-right`:t=e.width-p.width-40,n=e.height-p.height-40;break;case`bottom-left`:t=40,n=e.height-p.height-40;break;case`center`:t=(e.width-p.width)/2,n=(e.height-p.height)/2;break}f({x:t,y:n})};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[i,p]),(0,b.useEffect)(()=>{if(!s)return;let e=e=>{let t=e.clientX-l.x,n=e.clientY-l.y,r=window.innerWidth-p.width,i=window.innerHeight-p.height;f({x:Math.max(0,Math.min(t,r)),y:Math.max(0,Math.min(n,i))})},t=()=>{c(!1)};return document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t),()=>{document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t)}},[s,l,p]),(0,b.useEffect)(()=>{let e=e=>{e.key===`Escape`&&t()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[t]),(0,Y.jsxs)(`div`,{className:`chart-overlay`,children:[(0,Y.jsx)(`div`,{className:`chart-overlay__backdrop`,onClick:t}),(0,Y.jsx)(`div`,{ref:o,className:`chart-overlay__container ${s?`chart-overlay__container--dragging`:``} ${a?`chart-overlay__container--draggable`:``}`,style:{left:d.x,top:d.y,width:p.width,height:p.height},onMouseDown:e=>{a&&(e.target.closest(`.quick-chart__body`)||(c(!0),u({x:e.clientX-d.x,y:e.clientY-d.y})))},children:(0,Y.jsx)(zY,{config:e,onClose:t,onChangeType:n,onToggleTheme:r,allowTypeSwitch:!0,allowThemeSwitch:!0,width:p.width,height:p.height})})]})};var VY=()=>[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`].map((e,t)=>{let n=Math.floor(Math.random()*5e4)+3e4,r=Math.floor(Math.random()*3e4)+15e3,i=n-r,a=Math.floor(Math.random()*1e3)+500;return{id:t+1,month:e,revenue:n,expenses:r,profit:i,units:a}});const HY=()=>{let[e]=(0,b.useState)(VY()),[t,n]=(0,b.useState)(null),[r,i]=(0,b.useState)(null),[a,o]=(0,b.useState)(!1),s=(0,b.useMemo)(()=>[{field:`month`,headerName:`Month`,width:100,sortable:!0},{field:`revenue`,headerName:`Revenue ($)`,width:130,sortable:!0,renderCell:e=>`$${e.revenue.toLocaleString()}`},{field:`expenses`,headerName:`Expenses ($)`,width:130,sortable:!0,renderCell:e=>`$${e.expenses.toLocaleString()}`},{field:`profit`,headerName:`Profit ($)`,width:130,sortable:!0,renderCell:e=>{let t=e.profit;return(0,Y.jsxs)(`span`,{className:t>=0?`profit-positive`:`profit-negative`,children:[`$`,t.toLocaleString()]})}},{field:`units`,headerName:`Units Sold`,width:120,sortable:!0,renderCell:e=>e.units.toLocaleString()}],[]),c=(0,b.useCallback)(t=>{if(t.length>0){let r=t.map(t=>e.findIndex(e=>e.id===t)).filter(e=>e>=0);if(r.length>0){let e=Math.min(...r),t=Math.max(...r);n({start:{rowIndex:e,colIndex:1},end:{rowIndex:t,colIndex:s.length-1}})}}else n(null)},[e,s.length]),l=(0,b.useCallback)((n=`line`)=>{if(t)try{i(Rm({range:t,rows:e,columns:s,chartType:n,useFirstColumnAsCategory:!0,title:`Sales ${n.charAt(0).toUpperCase()+n.slice(1)} Chart`,theme:`light`})),o(!0)}catch(e){console.error(`Failed to create chart:`,e),alert(e instanceof Error?e.message:`Failed to create chart`)}},[t,e,s]),u=(0,b.useCallback)(e=>{r&&i(zm(r,e))},[r]),d=(0,b.useCallback)(()=>{r&&i(Bm(r,r.theme===`light`?`dark`:`light`))},[r]),f=(0,b.useCallback)(()=>{o(!1)},[]);return(0,Y.jsxs)(`div`,{className:`charts-demo`,children:[(0,Y.jsxs)(`div`,{className:`charts-demo__header`,children:[(0,Y.jsx)(`h1`,{className:`charts-demo__title`,children:`Integrated Charts`}),(0,Y.jsx)(`p`,{className:`charts-demo__description`,children:`Select a range of cells in the grid and click "Create Chart" to visualize the data. You can switch between different chart types and export as PNG.`})]}),(0,Y.jsxs)(`div`,{className:`charts-demo__instructions`,children:[(0,Y.jsx)(`h2`,{children:`How to Use:`}),(0,Y.jsxs)(`ol`,{children:[(0,Y.jsx)(`li`,{children:`Select one or more rows in the grid below (click to select, Ctrl+click for multiple)`}),(0,Y.jsx)(`li`,{children:`Click one of the "Create Chart" buttons to visualize the selected data`}),(0,Y.jsx)(`li`,{children:`Use the chart controls to switch chart types, toggle theme, or export as PNG`}),(0,Y.jsx)(`li`,{children:`Click anywhere outside the chart or press ESC to close it`})]})]}),(0,Y.jsxs)(`div`,{className:`charts-demo__toolbar`,children:[(0,Y.jsx)(`button`,{className:`charts-demo__btn charts-demo__btn--primary`,onClick:()=>l(`line`),disabled:!t,title:`Create a line chart from selection`,children:`📈 Create Line Chart`}),(0,Y.jsx)(`button`,{className:`charts-demo__btn charts-demo__btn--primary`,onClick:()=>l(`bar`),disabled:!t,title:`Create a bar chart from selection`,children:`📊 Create Bar Chart`}),(0,Y.jsx)(`button`,{className:`charts-demo__btn charts-demo__btn--primary`,onClick:()=>l(`area`),disabled:!t,title:`Create an area chart from selection`,children:`📉 Create Area Chart`}),(0,Y.jsx)(`button`,{className:`charts-demo__btn charts-demo__btn--primary`,onClick:()=>l(`pie`),disabled:!t,title:`Create a pie chart from selection`,children:`🥧 Create Pie Chart`}),t&&(0,Y.jsxs)(`span`,{className:`charts-demo__selection-info`,children:[`Range selected: Rows `,t.start.rowIndex+1,`-`,t.end.rowIndex+1,`, Cols `,t.start.colIndex+1,`-`,t.end.colIndex+1]})]}),(0,Y.jsx)(`div`,{className:`charts-demo__grid-container`,children:(0,Y.jsx)(vi,{columns:s,rows:e,pageSize:12,onSelectionChange:c})}),a&&r&&(0,Y.jsx)(BY,{config:r,onClose:f,onChangeType:u,onToggleTheme:d,position:`center`,draggable:!0}),(0,Y.jsxs)(`div`,{className:`charts-demo__code-section`,children:[(0,Y.jsx)(`h2`,{children:`Implementation Example`}),(0,Y.jsx)(ip,{language:`tsx`,code:`import React, { useState, useCallback } from 'react';
|
|
1783
|
+
`)}async function FY(e,t){let n=t.fontEmbedCSS==null?t.skipFonts?null:await PY(e,t):t.fontEmbedCSS;if(n){let t=document.createElement(`style`),r=document.createTextNode(n);t.appendChild(r),e.firstChild?e.insertBefore(t,e.firstChild):e.appendChild(t)}}async function IY(e,t={}){let{width:n,height:r}=EJ(e,t),i=await lY(e,t,!0);return await FY(i,t),await CY(i,t),wY(i,t),await MJ(i,n,r)}async function LY(e,t={}){let{width:n,height:r}=EJ(e,t),i=await AJ(await IY(e,t)),a=document.createElement(`canvas`),o=a.getContext(`2d`),s=t.pixelRatio||DJ(),c=t.canvasWidth||n,l=t.canvasHeight||r;return a.width=c*s,a.height=l*s,t.skipAutoScale||kJ(a),a.style.width=`${c}`,a.style.height=`${l}`,t.backgroundColor&&(o.fillStyle=t.backgroundColor,o.fillRect(0,0,a.width,a.height)),o.drawImage(i,0,0,a.width,a.height),a}async function RY(e,t={}){return(await LY(e,t)).toDataURL()}const zY=({config:e,onClose:t,onChangeType:n,onToggleTheme:r,allowTypeSwitch:i=!0,allowThemeSwitch:a=!0,width:o=600,height:s=400})=>{let c=(0,b.useRef)(null),l=e.theme||`light`,u=e.xLabels.map((t,n)=>{let r={name:t};return e.series.forEach(e=>{r[e.name]=e.data[n]||0}),r}),d=e.series.length>0?e.xLabels.map((t,n)=>({name:t,value:e.series[0].data[n]||0})):[],f=async()=>{if(c.current)try{let t=await RY(c.current,{quality:1,pixelRatio:2,backgroundColor:l===`dark`?`#1a1a1a`:`#ffffff`}),n=document.createElement(`a`);n.download=`${e.title||`chart`}-${Date.now()}.png`,n.href=t,n.click()}catch(e){console.error(`Failed to export chart:`,e)}},p=e=>{switch(e){case`line`:return`📈`;case`bar`:return`📊`;case`area`:return`📉`;case`pie`:return`🥧`;default:return`📊`}},m=()=>{let t={data:e.type===`pie`?d:u,margin:{top:5,right:30,left:20,bottom:5}},n={stroke:l===`dark`?`#888`:`#666`},r={strokeDasharray:`3 3`,stroke:l===`dark`?`#333`:`#ddd`};switch(e.type){case`line`:return(0,Y.jsx)(dC,{width:`100%`,height:`100%`,children:(0,Y.jsxs)(mJ,{...t,children:[(0,Y.jsx)(QW,{...r}),(0,Y.jsx)(bK,{dataKey:`name`,...n}),(0,Y.jsx)(LK,{...n}),(0,Y.jsx)(GS,{contentStyle:{backgroundColor:l===`dark`?`#2a2a2a`:`#fff`,border:`1px solid ${l===`dark`?`#444`:`#ccc`}`,color:l===`dark`?`#fff`:`#000`}}),(0,Y.jsx)(fx,{}),e.series.map(e=>(0,Y.jsx)(kG,{type:`monotone`,dataKey:e.name,stroke:e.color,strokeWidth:2,dot:{r:4},activeDot:{r:6}},e.name))]})});case`bar`:return(0,Y.jsx)(dC,{width:`100%`,height:`100%`,children:(0,Y.jsxs)(hJ,{...t,children:[(0,Y.jsx)(QW,{...r}),(0,Y.jsx)(bK,{dataKey:`name`,...n}),(0,Y.jsx)(LK,{...n}),(0,Y.jsx)(GS,{contentStyle:{backgroundColor:l===`dark`?`#2a2a2a`:`#fff`,border:`1px solid ${l===`dark`?`#444`:`#ccc`}`,color:l===`dark`?`#fff`:`#000`}}),(0,Y.jsx)(fx,{}),e.series.map(e=>(0,Y.jsx)(BV,{dataKey:e.name,fill:e.color},e.name))]})});case`area`:return(0,Y.jsx)(dC,{width:`100%`,height:`100%`,children:(0,Y.jsxs)(_J,{...t,children:[(0,Y.jsx)(QW,{...r}),(0,Y.jsx)(bK,{dataKey:`name`,...n}),(0,Y.jsx)(LK,{...n}),(0,Y.jsx)(GS,{contentStyle:{backgroundColor:l===`dark`?`#2a2a2a`:`#fff`,border:`1px solid ${l===`dark`?`#444`:`#ccc`}`,color:l===`dark`?`#fff`:`#000`}}),(0,Y.jsx)(fx,{}),e.series.map(e=>(0,Y.jsx)(rK,{type:`monotone`,dataKey:e.name,fill:e.color,stroke:e.color,fillOpacity:.6},e.name))]})});case`pie`:return(0,Y.jsx)(dC,{width:`100%`,height:`100%`,children:(0,Y.jsxs)(gJ,{children:[(0,Y.jsx)(hB,{data:d,cx:`50%`,cy:`50%`,labelLine:!1,label:({name:e,percent:t})=>`${e}: ${(t*100).toFixed(0)}%`,outerRadius:Math.min(s,o)/4,fill:`#8884d8`,dataKey:`value`,children:d.map((e,t)=>(0,Y.jsx)(fC,{fill:Lm[t%Lm.length]},`cell-${t}`))}),(0,Y.jsx)(GS,{contentStyle:{backgroundColor:l===`dark`?`#2a2a2a`:`#fff`,border:`1px solid ${l===`dark`?`#444`:`#ccc`}`,color:l===`dark`?`#fff`:`#000`}}),(0,Y.jsx)(fx,{})]})});default:return(0,Y.jsx)(`div`,{children:`Unsupported chart type`})}};return(0,Y.jsxs)(`div`,{ref:c,className:`quick-chart quick-chart--${l}`,style:{width:o,height:s},children:[(0,Y.jsxs)(`div`,{className:`quick-chart__header`,children:[(0,Y.jsx)(`h3`,{className:`quick-chart__title`,children:e.title}),(0,Y.jsxs)(`div`,{className:`quick-chart__controls`,children:[i&&n&&(0,Y.jsx)(`div`,{className:`quick-chart__type-selector`,children:[`line`,`bar`,`area`,`pie`].map(t=>(0,Y.jsx)(`button`,{className:`quick-chart__type-btn ${e.type===t?`quick-chart__type-btn--active`:``}`,onClick:()=>n(t),title:`${t.charAt(0).toUpperCase()+t.slice(1)} Chart`,"aria-label":`Switch to ${t} chart`,children:p(t)},t))}),a&&r&&(0,Y.jsx)(`button`,{className:`quick-chart__btn`,onClick:r,title:`Toggle theme`,"aria-label":`Toggle theme`,children:l===`dark`?`☀️`:`🌙`}),(0,Y.jsx)(`button`,{className:`quick-chart__btn`,onClick:f,title:`Export as PNG`,"aria-label":`Export chart as PNG`,children:`📥`}),t&&(0,Y.jsx)(`button`,{className:`quick-chart__btn quick-chart__close`,onClick:t,title:`Close`,"aria-label":`Close chart`,children:`×`})]})]}),(0,Y.jsx)(`div`,{className:`quick-chart__body`,children:m()})]})},BY=({config:e,onClose:t,onChangeType:n,onToggleTheme:r,position:i=`bottom-right`,draggable:a=!0})=>{let o=(0,b.useRef)(null),[s,c]=(0,b.useState)(!1),[l,u]=(0,b.useState)({x:0,y:0}),[d,f]=(0,b.useState)({x:0,y:0}),[p]=(0,b.useState)({width:600,height:400});return(0,b.useEffect)(()=>{if(!o.current)return;let e=()=>{let e={width:window.innerWidth,height:window.innerHeight},t=0,n=0;switch(i){case`top-right`:t=e.width-p.width-40,n=40;break;case`top-left`:t=40,n=40;break;case`bottom-right`:t=e.width-p.width-40,n=e.height-p.height-40;break;case`bottom-left`:t=40,n=e.height-p.height-40;break;case`center`:t=(e.width-p.width)/2,n=(e.height-p.height)/2;break}f({x:t,y:n})};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[i,p]),(0,b.useEffect)(()=>{if(!s)return;let e=e=>{let t=e.clientX-l.x,n=e.clientY-l.y,r=window.innerWidth-p.width,i=window.innerHeight-p.height;f({x:Math.max(0,Math.min(t,r)),y:Math.max(0,Math.min(n,i))})},t=()=>{c(!1)};return document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t),()=>{document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t)}},[s,l,p]),(0,b.useEffect)(()=>{let e=e=>{e.key===`Escape`&&t()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[t]),(0,Y.jsxs)(`div`,{className:`chart-overlay`,children:[(0,Y.jsx)(`div`,{className:`chart-overlay__backdrop`,onClick:t}),(0,Y.jsx)(`div`,{ref:o,className:`chart-overlay__container ${s?`chart-overlay__container--dragging`:``} ${a?`chart-overlay__container--draggable`:``}`,style:{left:d.x,top:d.y,width:p.width,height:p.height},onMouseDown:e=>{a&&(e.target.closest(`.quick-chart__body`)||(c(!0),u({x:e.clientX-d.x,y:e.clientY-d.y})))},children:(0,Y.jsx)(zY,{config:e,onClose:t,onChangeType:n,onToggleTheme:r,allowTypeSwitch:!0,allowThemeSwitch:!0,width:p.width,height:p.height})})]})};var VY=()=>[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`].map((e,t)=>{let n=Math.floor(Math.random()*5e4)+3e4,r=Math.floor(Math.random()*3e4)+15e3,i=n-r,a=Math.floor(Math.random()*1e3)+500;return{id:t+1,month:e,revenue:n,expenses:r,profit:i,units:a}});const HY=()=>{let[e]=(0,b.useState)(VY()),[t,n]=(0,b.useState)(null),[r,i]=(0,b.useState)(null),[a,o]=(0,b.useState)(!1),s=(0,b.useMemo)(()=>[{field:`month`,headerName:`Month`,width:100,sortable:!0},{field:`revenue`,headerName:`Revenue ($)`,width:130,sortable:!0,renderCell:e=>`$${e.revenue.toLocaleString()}`},{field:`expenses`,headerName:`Expenses ($)`,width:130,sortable:!0,renderCell:e=>`$${e.expenses.toLocaleString()}`},{field:`profit`,headerName:`Profit ($)`,width:130,sortable:!0,renderCell:e=>{let t=e.profit;return(0,Y.jsxs)(`span`,{className:t>=0?`profit-positive`:`profit-negative`,children:[`$`,t.toLocaleString()]})}},{field:`units`,headerName:`Units Sold`,width:120,sortable:!0,renderCell:e=>e.units.toLocaleString()}],[]),c=(0,b.useCallback)(t=>{if(t.length>0){let r=t.map(t=>e.findIndex(e=>e.id===t)).filter(e=>e>=0);if(r.length>0){let e=Math.min(...r),t=Math.max(...r);n({start:{rowIndex:e,colIndex:1},end:{rowIndex:t,colIndex:s.length-1}})}}else n(null)},[e,s.length]),l=(0,b.useCallback)((n=`line`)=>{if(t)try{i(Rm({range:t,rows:e,columns:s,chartType:n,useFirstColumnAsCategory:!0,title:`Sales ${n.charAt(0).toUpperCase()+n.slice(1)} Chart`,theme:`light`})),o(!0)}catch(e){console.error(`Failed to create chart:`,e),alert(e instanceof Error?e.message:`Failed to create chart`)}},[t,e,s]),u=(0,b.useCallback)(e=>{r&&i(zm(r,e))},[r]),d=(0,b.useCallback)(()=>{r&&i(Bm(r,r.theme===`light`?`dark`:`light`))},[r]),f=(0,b.useCallback)(()=>{o(!1)},[]),p=(0,b.useCallback)((t,n)=>{if(n.size===0)return;let r=Array.from(n).map(t=>e.findIndex(e=>e.id===t)).filter(e=>e>=0);if(r.length===0)return;let a=Math.min(...r),c=Math.max(...r),l={start:{rowIndex:a,colIndex:1},end:{rowIndex:c,colIndex:s.length-1}};try{i(Rm({range:l,rows:e,columns:s,chartType:t,useFirstColumnAsCategory:!0,title:`Sales ${t.charAt(0).toUpperCase()+t.slice(1)} Chart`,theme:`light`})),o(!0)}catch(e){console.error(`Failed to create chart:`,e),alert(e instanceof Error?e.message:`Failed to create chart`)}},[e,s]);return(0,Y.jsxs)(`div`,{className:`charts-demo`,children:[(0,Y.jsxs)(`div`,{className:`charts-demo__header`,children:[(0,Y.jsx)(`h1`,{className:`charts-demo__title`,children:`Integrated Charts`}),(0,Y.jsx)(`p`,{className:`charts-demo__description`,children:`Select rows in the grid and create charts via toolbar buttons or right-click context menu. You can switch between different chart types and export as PNG.`})]}),(0,Y.jsxs)(`div`,{className:`charts-demo__instructions`,children:[(0,Y.jsx)(`h2`,{children:`How to Use:`}),(0,Y.jsxs)(`ol`,{children:[(0,Y.jsx)(`li`,{children:`Select one or more rows in the grid below (click to select, Ctrl+click for multiple)`}),(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Option 1:`}),` Click one of the toolbar "Create Chart" buttons`]}),(0,Y.jsxs)(`li`,{children:[(0,Y.jsx)(`strong`,{children:`Option 2:`}),` Right-click on a selected row and choose "Create Chart" from the menu`]}),(0,Y.jsx)(`li`,{children:`Use the chart controls to switch chart types, toggle theme, or export as PNG`}),(0,Y.jsx)(`li`,{children:`Click anywhere outside the chart or press ESC to close it`})]})]}),(0,Y.jsxs)(`div`,{className:`charts-demo__toolbar`,children:[(0,Y.jsx)(`button`,{className:`charts-demo__btn charts-demo__btn--primary`,onClick:()=>l(`line`),disabled:!t,title:`Create a line chart from selection`,children:`📈 Create Line Chart`}),(0,Y.jsx)(`button`,{className:`charts-demo__btn charts-demo__btn--primary`,onClick:()=>l(`bar`),disabled:!t,title:`Create a bar chart from selection`,children:`📊 Create Bar Chart`}),(0,Y.jsx)(`button`,{className:`charts-demo__btn charts-demo__btn--primary`,onClick:()=>l(`area`),disabled:!t,title:`Create an area chart from selection`,children:`📉 Create Area Chart`}),(0,Y.jsx)(`button`,{className:`charts-demo__btn charts-demo__btn--primary`,onClick:()=>l(`pie`),disabled:!t,title:`Create a pie chart from selection`,children:`🥧 Create Pie Chart`}),t&&(0,Y.jsxs)(`span`,{className:`charts-demo__selection-info`,children:[`Range selected: Rows `,t.start.rowIndex+1,`-`,t.end.rowIndex+1,`, Cols `,t.start.colIndex+1,`-`,t.end.colIndex+1]})]}),(0,Y.jsx)(`div`,{className:`charts-demo__grid-container`,children:(0,Y.jsx)(vi,{columns:s,rows:e,pageSize:12,onSelectionChange:c,contextMenuConfig:{enabled:!0,showCopy:!0,showExport:!0,showChartOptions:!0,onCreateChart:p}})}),a&&r&&(0,Y.jsx)(BY,{config:r,onClose:f,onChangeType:u,onToggleTheme:d,position:`center`,draggable:!0}),(0,Y.jsxs)(`div`,{className:`charts-demo__code-section`,children:[(0,Y.jsx)(`h2`,{children:`Implementation Example`}),(0,Y.jsx)(ip,{language:`tsx`,code:`import React, { useState, useCallback } from 'react';
|
|
1784
1784
|
import {
|
|
1785
1785
|
DataGrid,
|
|
1786
1786
|
ChartOverlay,
|