From 394a6ac76d328a912c502e3f580d24050ea9173f Mon Sep 17 00:00:00 2001 From: jassmith Date: Wed, 14 Feb 2024 03:58:10 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20cf6c6?= =?UTF-8?q?9a7f79427adb69e88bb099ae1e43b87e706=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...=> 01-getting-started.stories-KReOJ8ZC.js} | 2 +- ...js => 02-editing-data.stories-9icbe2r1.js} | 2 +- ....js => 03-grid-column.stories-0h8SCulf.js} | 2 +- ... => 04-streaming-data.stories-bs-y83t4.js} | 2 +- ...UGUDi.js => 06-search.stories-GCaD3uDs.js} | 2 +- ...=> 07-column-grouping.stories-xREWe1Ho.js} | 2 +- ...Kvn0.js => 08-theming.stories-92jCxUk4.js} | 2 +- ...rjQ85I.js => 09-menus.stories-fsKs99FO.js} | 2 +- ...DfFW.js => add-column.stories-o_yTp7FV.js} | 2 +- ...=> add-data-to-middle.stories-OiRUqyyE.js} | 2 +- ...js => add-data-to-top.stories-tqJbWcKP.js} | 2 +- ...f7-abx.js => add-data.stories-rLd3eK3G.js} | 2 +- ....js => all-cell-kinds.stories-ljbwmHHG.js} | 2 +- ... => append-row-handle.stories-hNn75Cqb.js} | 2 +- ...automatic-row-markers.stories-jrGzOj4q.js} | 2 +- ...js => built-in-search.stories-IEe7X1V-.js} | 2 +- .../{cell-hbkxrWJd.css => cell-6_dc3_o0.css} | 2 +- ... cell-activated-event.stories-0Jp3S41A.js} | 2 +- ...s-fIZdO5lz.js => cell.stories-515e25HC.js} | 2 +- ...column-group-collapse.stories-TRFC5vFT.js} | 2 +- ...X.js => column-groups.stories-_y1bWhvw.js} | 2 +- ... => content-alignment.stories-J1HmwqQE.js} | 2 +- ... => controlled-search.stories-0UBin77v.js} | 2 +- ... controlled-selection.stories-WxVxysKb.js} | 2 +- ...Y5.js => copy-support.stories-cza5eV_t.js} | 2 +- ...> custom-header-icons.stories-kzKcQ_St.js} | 2 +- ...k.js => custom-header.stories-49B80E42.js} | 2 +- ...wt0I9Kc.js => data-editor-all-3W5wpw6K.js} | 6 +- docs/assets/data-editor-all-ql0Al2pT.js | 135 ++++++++++++++++++ docs/assets/data-editor-all-y1NNmvAL.js | 135 ------------------ ...=> data-editor-repros.stories-xR5iEpqT.js} | 2 +- ...va0.js => data-editor.stories-HliuGAmP.js} | 2 +- ...s => data-grid-overlay-editor-8FOzbsOH.js} | 2 +- ...s => data-grid-overlay-editor-kiC5KI5i.js} | 2 +- ...cKFS1.js => data-grid.stories-IFrWuEXW.js} | 2 +- ...LMW.js => drag-source.stories-xjiY8fZ2.js} | 2 +- ...OYB.js => drop-events.stories-SmnsTd1w.js} | 2 +- ...SLk.js => fill-handle.stories-9ThwR_H2.js} | 2 +- ....js => freeze-columns.stories-JYuu47lq.js} | 2 +- ...4R7.js => freeze-rows.stories-10LaASUY.js} | 2 +- ...Hc.js => header-menus.stories-bIp2Ut7G.js} | 2 +- ...js => highlight-cells.stories-aVv3lpjs.js} | 2 +- ...{iframe-lQqvcp2b.js => iframe-MU0yo5By.js} | 4 +- docs/assets/image-window-loader-Hk1rG8Sr.js | 18 +++ docs/assets/image-window-loader-aMebukIX.js | 18 --- ... => imperative-scroll.stories-y3gSc3eQ.js} | 2 +- ....js => input-blending.stories-05pnBYfU.js} | 2 +- ...mK5.js => keybindings.stories-khzrIeAT.js} | 2 +- ...=> layout-integration.stories-TDasRRdi.js} | 2 +- ... multi-select-columns.stories-7L1MeFOj.js} | 2 +- ... => new-column-button.stories-btvWGGLu.js} | 2 +- ...a.js => obscured-grid.stories-Sxr4_hgz.js} | 2 +- ...bserve-visible-region.stories-d_K5DrAi.js} | 2 +- ...dred-thousand-columns.stories-GUGwiwE-.js} | 2 +- ...s => one-million-rows.stories-ecKFr2fk.js} | 2 +- ...goJL.js => overscroll.stories--00iIFjI.js} | 2 +- ...QeTRVYn.js => padding.stories-gGAkrL6U.js} | 2 +- ...B.js => paste-support.stories-00YxhDIm.js} | 2 +- ...event-diagonal-scroll.stories-eyaK6XCn.js} | 2 +- ...S.js => rapid-updates.stories-rfLgmMAI.js} | 2 +- ... => rearrange-columns.stories-saNqxbHc.js} | 2 +- ...O8.js => reorder-rows.stories-3Viw5Csb.js} | 2 +- ... => resizable-columns.stories-21_6VX6P.js} | 2 +- ...c.js => right-element.stories-Pu7ka8hk.js} | 2 +- ...n.js => right-to-left.stories-cYrmy-d1.js} | 2 +- ... row-and-header-sizes.stories-3O6D-eJY.js} | 2 +- ...Gz.js => row-grouping.stories-3v0t01Cd.js} | 2 +- ...yLdIV.js => row-hover.stories-jYpKu5x5.js} | 2 +- ...6y1.js => row-markers.stories-UGSZ8bQr.js} | 2 +- ...bI3.js => scaled-view.stories-hWOvFuvx.js} | 2 +- ...j.js => scroll-offset.stories-ucbjSxav.js} | 2 +- ....js => scroll-shadows.stories-quW1KZP_.js} | 2 +- ...5mC.js => scrolling-data-grid-6oMlsc5s.js} | 2 +- ...> scrolling-data-grid.stories-Vo-oDGAY.js} | 2 +- ...s => search-as-filter.stories-HebIWnA5.js} | 2 +- ...s => server-side-data.stories-eD3RQJ11.js} | 2 +- ...L4WY.js => shadow-dom.stories-Ky0i0BF3.js} | 2 +- ...o.js => silly-numbers.stories-dDaRCc9X.js} | 2 +- ...> small-editable-grid.stories-HqG9oNiY.js} | 2 +- ...smooth-scrolling-grid.stories-YGxA26KD.js} | 2 +- ...9QQON.js => span-cell.stories-zAFCslGb.js} | 2 +- ...> stretch-column-size.stories-IX69CyzJ.js} | 2 +- ... => ten-million-cells.stories-d_xrA1LY.js} | 2 +- ...s => theme-per-column.stories-FUXVRk7J.js} | 2 +- ...D.js => theme-per-row.stories-sPo9HrPn.js} | 2 +- ...y.js => theme-support.stories-zhmcTHHH.js} | 2 +- ...HF_53J.js => tooltips.stories-TRnRsIDs.js} | 2 +- ... trailing-row-options.stories-SxTP-5h0.js} | 2 +- ...Eh6.js => uneven-rows.stories-qXM-7Ikb.js} | 2 +- ...js => use-data-source.stories-5Bzlxi35.js} | 2 +- .../{utils-rXlmyYaC.js => utils--Nf55hQd.js} | 2 +- ...W.js => validate-data.stories-XmCJ-hiO.js} | 2 +- ...r.js => wrapping-text.stories-7xxNmV7x.js} | 2 +- docs/iframe.html | 2 +- docs/project.json | 2 +- 95 files changed, 247 insertions(+), 247 deletions(-) rename docs/assets/{01-getting-started.stories-_xqwTdwo.js => 01-getting-started.stories-KReOJ8ZC.js} (98%) rename docs/assets/{02-editing-data.stories-vm8AfesG.js => 02-editing-data.stories-9icbe2r1.js} (98%) rename docs/assets/{03-grid-column.stories-rBwMNHDn.js => 03-grid-column.stories-0h8SCulf.js} (96%) rename docs/assets/{04-streaming-data.stories-h22tR7YO.js => 04-streaming-data.stories-bs-y83t4.js} (98%) rename docs/assets/{06-search.stories-Qw-UGUDi.js => 06-search.stories-GCaD3uDs.js} (97%) rename docs/assets/{07-column-grouping.stories-1PTlT5yc.js => 07-column-grouping.stories-xREWe1Ho.js} (96%) rename docs/assets/{08-theming.stories-EvfeKvn0.js => 08-theming.stories-92jCxUk4.js} (98%) rename docs/assets/{09-menus.stories-4DrjQ85I.js => 09-menus.stories-fsKs99FO.js} (98%) rename docs/assets/{add-column.stories-KOCGDfFW.js => add-column.stories-o_yTp7FV.js} (76%) rename docs/assets/{add-data-to-middle.stories-GAGXVPO1.js => add-data-to-middle.stories-OiRUqyyE.js} (86%) rename docs/assets/{add-data-to-top.stories-1B9P7ELS.js => add-data-to-top.stories-tqJbWcKP.js} (87%) rename docs/assets/{add-data.stories-3Uf7-abx.js => add-data.stories-rLd3eK3G.js} (88%) rename docs/assets/{all-cell-kinds.stories-2AbRjkYn.js => all-cell-kinds.stories-ljbwmHHG.js} (78%) rename docs/assets/{append-row-handle.stories-aapZvExI.js => append-row-handle.stories-hNn75Cqb.js} (88%) rename docs/assets/{automatic-row-markers.stories-N_SNJNQY.js => automatic-row-markers.stories-jrGzOj4q.js} (83%) rename docs/assets/{built-in-search.stories-GK5NSyEp.js => built-in-search.stories-IEe7X1V-.js} (88%) rename docs/assets/{cell-hbkxrWJd.css => cell-6_dc3_o0.css} (93%) rename docs/assets/{cell-activated-event.stories-95MEeYVD.js => cell-activated-event.stories-0Jp3S41A.js} (89%) rename docs/assets/{cell.stories-fIZdO5lz.js => cell.stories-515e25HC.js} (99%) rename docs/assets/{column-group-collapse.stories-9QNc0yTH.js => column-group-collapse.stories-TRFC5vFT.js} (85%) rename docs/assets/{column-groups.stories-kDGVGm7X.js => column-groups.stories-_y1bWhvw.js} (78%) rename docs/assets/{content-alignment.stories-ZQQYC7se.js => content-alignment.stories-J1HmwqQE.js} (85%) rename docs/assets/{controlled-search.stories-e--yqllM.js => controlled-search.stories-0UBin77v.js} (89%) rename docs/assets/{controlled-selection.stories-sXlQf9oy.js => controlled-selection.stories-WxVxysKb.js} (93%) rename docs/assets/{copy-support.stories-k3DqhHY5.js => copy-support.stories-cza5eV_t.js} (79%) rename docs/assets/{custom-header-icons.stories-O_N2joUp.js => custom-header-icons.stories-kzKcQ_St.js} (95%) rename docs/assets/{custom-header.stories-2GF4qBZk.js => custom-header.stories-49B80E42.js} (88%) rename docs/assets/{data-editor-all-kwt0I9Kc.js => data-editor-all-3W5wpw6K.js} (99%) create mode 100644 docs/assets/data-editor-all-ql0Al2pT.js delete mode 100644 docs/assets/data-editor-all-y1NNmvAL.js rename docs/assets/{data-editor-repros.stories-k_HFRk8A.js => data-editor-repros.stories-xR5iEpqT.js} (92%) rename docs/assets/{data-editor.stories-xfc7Qva0.js => data-editor.stories-HliuGAmP.js} (98%) rename docs/assets/{data-grid-overlay-editor-xO4XWyG_.js => data-grid-overlay-editor-8FOzbsOH.js} (96%) rename docs/assets/{data-grid-overlay-editor-inrfGB7O.js => data-grid-overlay-editor-kiC5KI5i.js} (93%) rename docs/assets/{data-grid.stories-8ZqcKFS1.js => data-grid.stories-IFrWuEXW.js} (99%) rename docs/assets/{drag-source.stories-pyXRdLMW.js => drag-source.stories-xjiY8fZ2.js} (81%) rename docs/assets/{drop-events.stories-WZen-OYB.js => drop-events.stories-SmnsTd1w.js} (93%) rename docs/assets/{fill-handle.stories-GBcAoSLk.js => fill-handle.stories-9ThwR_H2.js} (88%) rename docs/assets/{freeze-columns.stories-85plTtuP.js => freeze-columns.stories-JYuu47lq.js} (77%) rename docs/assets/{freeze-rows.stories-BHzAD4R7.js => freeze-rows.stories-10LaASUY.js} (88%) rename docs/assets/{header-menus.stories-b7mVW4Hc.js => header-menus.stories-bIp2Ut7G.js} (93%) rename docs/assets/{highlight-cells.stories-rFv2D_b5.js => highlight-cells.stories-aVv3lpjs.js} (87%) rename docs/assets/{iframe-lQqvcp2b.js => iframe-MU0yo5By.js} (61%) create mode 100644 docs/assets/image-window-loader-Hk1rG8Sr.js delete mode 100644 docs/assets/image-window-loader-aMebukIX.js rename docs/assets/{imperative-scroll.stories-RBPWaAQt.js => imperative-scroll.stories-y3gSc3eQ.js} (88%) rename docs/assets/{input-blending.stories-nU-4gQGB.js => input-blending.stories-05pnBYfU.js} (89%) rename docs/assets/{keybindings.stories-pj-qJmK5.js => keybindings.stories-khzrIeAT.js} (92%) rename docs/assets/{layout-integration.stories-4rqTdFZx.js => layout-integration.stories-TDasRRdi.js} (82%) rename docs/assets/{multi-select-columns.stories-df7dzZfN.js => multi-select-columns.stories-7L1MeFOj.js} (77%) rename docs/assets/{new-column-button.stories-Ukr2c62E.js => new-column-button.stories-btvWGGLu.js} (83%) rename docs/assets/{obscured-grid.stories-dzKX0-Va.js => obscured-grid.stories-Sxr4_hgz.js} (85%) rename docs/assets/{observe-visible-region.stories-VBERjiaI.js => observe-visible-region.stories-d_K5DrAi.js} (84%) rename docs/assets/{one-hundred-thousand-columns.stories-B65s-hu6.js => one-hundred-thousand-columns.stories-GUGwiwE-.js} (77%) rename docs/assets/{one-million-rows.stories-siQRN1mD.js => one-million-rows.stories-ecKFr2fk.js} (77%) rename docs/assets/{overscroll.stories-eDnogoJL.js => overscroll.stories--00iIFjI.js} (78%) rename docs/assets/{padding.stories-LQeTRVYn.js => padding.stories-gGAkrL6U.js} (78%) rename docs/assets/{paste-support.stories-YLgQ3BbB.js => paste-support.stories-00YxhDIm.js} (86%) rename docs/assets/{prevent-diagonal-scroll.stories-aYu87AG0.js => prevent-diagonal-scroll.stories-eyaK6XCn.js} (74%) rename docs/assets/{rapid-updates.stories-hZit4TOS.js => rapid-updates.stories-rfLgmMAI.js} (92%) rename docs/assets/{rearrange-columns.stories-tRdCAtaK.js => rearrange-columns.stories-saNqxbHc.js} (88%) rename docs/assets/{reorder-rows.stories-t9yHLkO8.js => reorder-rows.stories-3Viw5Csb.js} (87%) rename docs/assets/{resizable-columns.stories-TbP8xy4s.js => resizable-columns.stories-21_6VX6P.js} (85%) rename docs/assets/{right-element.stories-G8MshNdc.js => right-element.stories-Pu7ka8hk.js} (90%) rename docs/assets/{right-to-left.stories-4x8eT4bn.js => right-to-left.stories-cYrmy-d1.js} (88%) rename docs/assets/{row-and-header-sizes.stories-igQOQ4QY.js => row-and-header-sizes.stories-3O6D-eJY.js} (78%) rename docs/assets/{row-grouping.stories-X1TLE1Gz.js => row-grouping.stories-3v0t01Cd.js} (93%) rename docs/assets/{row-hover.stories-lVCyLdIV.js => row-hover.stories-jYpKu5x5.js} (85%) rename docs/assets/{row-markers.stories-8WixJ6y1.js => row-markers.stories-UGSZ8bQr.js} (77%) rename docs/assets/{scaled-view.stories-gTdtubI3.js => scaled-view.stories-hWOvFuvx.js} (73%) rename docs/assets/{scroll-offset.stories-qDoSgiMj.js => scroll-offset.stories-ucbjSxav.js} (75%) rename docs/assets/{scroll-shadows.stories-tVRkU660.js => scroll-shadows.stories-quW1KZP_.js} (90%) rename docs/assets/{scrolling-data-grid-AbyJF5mC.js => scrolling-data-grid-6oMlsc5s.js} (99%) rename docs/assets/{scrolling-data-grid.stories-3LZhQ26y.js => scrolling-data-grid.stories-Vo-oDGAY.js} (96%) rename docs/assets/{search-as-filter.stories-u4X7aSyM.js => search-as-filter.stories-HebIWnA5.js} (90%) rename docs/assets/{server-side-data.stories-VfmvTkjM.js => server-side-data.stories-eD3RQJ11.js} (93%) rename docs/assets/{shadow-dom.stories-VsN2L4WY.js => shadow-dom.stories-Ky0i0BF3.js} (82%) rename docs/assets/{silly-numbers.stories-l1vFF-ko.js => silly-numbers.stories-dDaRCc9X.js} (78%) rename docs/assets/{small-editable-grid.stories-1FF4Nr8X.js => small-editable-grid.stories-HqG9oNiY.js} (78%) rename docs/assets/{smooth-scrolling-grid.stories-ac4ZWDTK.js => smooth-scrolling-grid.stories-YGxA26KD.js} (77%) rename docs/assets/{span-cell.stories-iFF9QQON.js => span-cell.stories-zAFCslGb.js} (89%) rename docs/assets/{stretch-column-size.stories-7XjTLcUX.js => stretch-column-size.stories-IX69CyzJ.js} (84%) rename docs/assets/{ten-million-cells.stories-zLJq4q7r.js => ten-million-cells.stories-d_xrA1LY.js} (76%) rename docs/assets/{theme-per-column.stories-lurrvglA.js => theme-per-column.stories-FUXVRk7J.js} (90%) rename docs/assets/{theme-per-row.stories-txF47PKD.js => theme-per-row.stories-sPo9HrPn.js} (85%) rename docs/assets/{theme-support.stories-FI1Qdj8y.js => theme-support.stories-zhmcTHHH.js} (93%) rename docs/assets/{tooltips.stories-kSHF_53J.js => tooltips.stories-TRnRsIDs.js} (89%) rename docs/assets/{trailing-row-options.stories-Ib8hE_1a.js => trailing-row-options.stories-SxTP-5h0.js} (89%) rename docs/assets/{uneven-rows.stories-cq3AjEh6.js => uneven-rows.stories-qXM-7Ikb.js} (73%) rename docs/assets/{use-data-source.stories-FbEW0dFJ.js => use-data-source.stories-5Bzlxi35.js} (99%) rename docs/assets/{utils-rXlmyYaC.js => utils--Nf55hQd.js} (99%) rename docs/assets/{validate-data.stories-7_b9R9LW.js => validate-data.stories-XmCJ-hiO.js} (81%) rename docs/assets/{wrapping-text.stories-8jiaFcXr.js => wrapping-text.stories-7xxNmV7x.js} (88%) diff --git a/docs/assets/01-getting-started.stories-_xqwTdwo.js b/docs/assets/01-getting-started.stories-KReOJ8ZC.js similarity index 98% rename from docs/assets/01-getting-started.stories-_xqwTdwo.js rename to docs/assets/01-getting-started.stories-KReOJ8ZC.js index 81ae0821b..de4ec737e 100644 --- a/docs/assets/01-getting-started.stories-_xqwTdwo.js +++ b/docs/assets/01-getting-started.stories-KReOJ8ZC.js @@ -1,4 +1,4 @@ -import{j as e,a as l}from"./marked.esm-dbrxtycE.js";import{r as t}from"./index-BMVQvedj.js";import{G as M}from"./image-window-loader-aMebukIX.js";import{D as u}from"./data-editor-all-kwt0I9Kc.js";import{S as x}from"./story-utils-K2EZnGjM.js";import{D as T,M as a,H as i,W as y}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./toConsumableArray-ppDpjNRJ.js";const F={title:"Glide-Data-Grid/Docs",decorators:[r=>e(x,{children:e(r,{})})]},s=[{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}],o=()=>{const r=t.useCallback(n=>{const[S,R]=n,p=s[R][["name","company","email","phone"][S]];return{kind:M.Text,allowOverlay:!1,displayData:p,data:p}},[]),[m,C]=t.useState(!1),[c,w]=t.useState(!1),[d,f]=t.useState(!0),h=t.useMemo(()=>[{title:"Name",id:"name"},{title:"Company",id:"company"},{title:"Email",id:"email"},{title:"Phone",id:"phone"}],[]);return l(T,{children:[e(a,{children:` +import{j as e,a as l}from"./marked.esm-dbrxtycE.js";import{r as t}from"./index-BMVQvedj.js";import{G as M}from"./image-window-loader-Hk1rG8Sr.js";import{D as u}from"./data-editor-all-3W5wpw6K.js";import{S as x}from"./story-utils-K2EZnGjM.js";import{D as T,M as a,H as i,W as y}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./toConsumableArray-ppDpjNRJ.js";const F={title:"Glide-Data-Grid/Docs",decorators:[r=>e(x,{children:e(r,{})})]},s=[{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}],o=()=>{const r=t.useCallback(n=>{const[S,R]=n,p=s[R][["name","company","email","phone"][S]];return{kind:M.Text,allowOverlay:!1,displayData:p,data:p}},[]),[m,C]=t.useState(!1),[c,w]=t.useState(!1),[d,f]=t.useState(!0),h=t.useMemo(()=>[{title:"Name",id:"name"},{title:"Company",id:"company"},{title:"Email",id:"email"},{title:"Phone",id:"phone"}],[]);return l(T,{children:[e(a,{children:` # Getting Started Glide data grid is a powerful but flexible library requiring very few concepts required to get started. The grid will need data, columns, and a \`getCellContent\` callback to convert our data into cells on demand. Because the callback is used, there is no need to pre-format the data in any particular way, so long as it can be transformed into a cell. This example uses a flat array of objects.`}),e(i,{children:` diff --git a/docs/assets/02-editing-data.stories-vm8AfesG.js b/docs/assets/02-editing-data.stories-9icbe2r1.js similarity index 98% rename from docs/assets/02-editing-data.stories-vm8AfesG.js rename to docs/assets/02-editing-data.stories-9icbe2r1.js index 505fb32a4..7a6c64db4 100644 --- a/docs/assets/02-editing-data.stories-vm8AfesG.js +++ b/docs/assets/02-editing-data.stories-9icbe2r1.js @@ -1,4 +1,4 @@ -import{j as e,a as T}from"./marked.esm-dbrxtycE.js";import{r as i}from"./index-BMVQvedj.js";import{G as s}from"./image-window-loader-aMebukIX.js";import{D as h}from"./data-editor-all-kwt0I9Kc.js";import{S as b}from"./story-utils-K2EZnGjM.js";import{D as x,M as d,H as y,W as u}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./toConsumableArray-ppDpjNRJ.js";const W={title:"Glide-Data-Grid/Docs",decorators:[a=>e(b,{children:e(a,{})})]},f=[{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}],m=()=>{const a=i.useRef([{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}]),E=i.useCallback(t=>{const[o,l]=t,n=a.current[l][["name","company","email","phone"][o]];return{kind:s.Text,allowOverlay:!0,displayData:n,data:n}},[]),k=i.useCallback(t=>{const[o,l]=t,n=f[l][["name","company","email","phone"][o]];return{kind:s.Text,allowOverlay:!0,displayData:n,data:n}},[]),R=i.useCallback((t,o)=>{if(o.kind!==s.Text)return;const l=["name","company","email","phone"],[r,c]=t,n=l[r];a.current[c][n]=o.data},[]),p=i.useMemo(()=>[{title:"Name",id:"name"},{title:"Company",id:"company"},{title:"Email",id:"email"},{title:"Phone",id:"phone"}],[]);return T(x,{children:[e(d,{children:` +import{j as e,a as T}from"./marked.esm-dbrxtycE.js";import{r as i}from"./index-BMVQvedj.js";import{G as s}from"./image-window-loader-Hk1rG8Sr.js";import{D as h}from"./data-editor-all-3W5wpw6K.js";import{S as b}from"./story-utils-K2EZnGjM.js";import{D as x,M as d,H as y,W as u}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./toConsumableArray-ppDpjNRJ.js";const W={title:"Glide-Data-Grid/Docs",decorators:[a=>e(b,{children:e(a,{})})]},f=[{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}],m=()=>{const a=i.useRef([{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}]),E=i.useCallback(t=>{const[o,l]=t,n=a.current[l][["name","company","email","phone"][o]];return{kind:s.Text,allowOverlay:!0,displayData:n,data:n}},[]),k=i.useCallback(t=>{const[o,l]=t,n=f[l][["name","company","email","phone"][o]];return{kind:s.Text,allowOverlay:!0,displayData:n,data:n}},[]),R=i.useCallback((t,o)=>{if(o.kind!==s.Text)return;const l=["name","company","email","phone"],[r,c]=t,n=l[r];a.current[c][n]=o.data},[]),p=i.useMemo(()=>[{title:"Name",id:"name"},{title:"Company",id:"company"},{title:"Email",id:"email"},{title:"Phone",id:"phone"}],[]);return T(x,{children:[e(d,{children:` # Editing Data Editing data is handled via callbacks. Taking the getting started example as a starting point, the \`getContent\` callback can be modified to allow editing.`}),e(y,{children:` diff --git a/docs/assets/03-grid-column.stories-rBwMNHDn.js b/docs/assets/03-grid-column.stories-0h8SCulf.js similarity index 96% rename from docs/assets/03-grid-column.stories-rBwMNHDn.js rename to docs/assets/03-grid-column.stories-0h8SCulf.js index ee0091f68..2adee59e5 100644 --- a/docs/assets/03-grid-column.stories-rBwMNHDn.js +++ b/docs/assets/03-grid-column.stories-0h8SCulf.js @@ -1,4 +1,4 @@ -import{j as e,a as p}from"./marked.esm-dbrxtycE.js";import{r as c}from"./index-BMVQvedj.js";import{G as g,a as n}from"./image-window-loader-aMebukIX.js";import{D as r}from"./data-editor-all-kwt0I9Kc.js";import{S as w}from"./story-utils-K2EZnGjM.js";import{D as C,M as o,H as a,W as d}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./toConsumableArray-ppDpjNRJ.js";const O={title:"Glide-Data-Grid/Docs",decorators:[t=>e(w,{children:e(t,{})})]},i=()=>{const t=c.useCallback(l=>({kind:g.Text,allowOverlay:!1,displayData:l.toString(),data:l.toString()}),[]),u=c.useMemo(()=>[{title:"First",width:150},{title:"Second",width:150}],[]);return p(C,{children:[e(o,{children:"\n# Basic usage\n\n> The `GridColumn[]` passed to the `DataEditor` in the `columns` property should be memoized to avoid excessive re-rendering. These samples may not do this for the sake of brevity.\n\nThere are only two mandatory properties for each `GridColumn`: `title` and `id`. The id should be a stable id and not the index of the column. Additionally a `width` property can be provided which represents the width of the column in pixels. If a width is provided the id may be omited. This may change in a future version."}),e(a,{children:` +import{j as e,a as p}from"./marked.esm-dbrxtycE.js";import{r as c}from"./index-BMVQvedj.js";import{G as g,a as n}from"./image-window-loader-Hk1rG8Sr.js";import{D as r}from"./data-editor-all-3W5wpw6K.js";import{S as w}from"./story-utils-K2EZnGjM.js";import{D as C,M as o,H as a,W as d}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./toConsumableArray-ppDpjNRJ.js";const O={title:"Glide-Data-Grid/Docs",decorators:[t=>e(w,{children:e(t,{})})]},i=()=>{const t=c.useCallback(l=>({kind:g.Text,allowOverlay:!1,displayData:l.toString(),data:l.toString()}),[]),u=c.useMemo(()=>[{title:"First",width:150},{title:"Second",width:150}],[]);return p(C,{children:[e(o,{children:"\n# Basic usage\n\n> The `GridColumn[]` passed to the `DataEditor` in the `columns` property should be memoized to avoid excessive re-rendering. These samples may not do this for the sake of brevity.\n\nThere are only two mandatory properties for each `GridColumn`: `title` and `id`. The id should be a stable id and not the index of the column. Additionally a `width` property can be provided which represents the width of the column in pixels. If a width is provided the id may be omited. This may change in a future version."}),e(a,{children:` const columns: GridColumn[] = [ { title: "First", id: "first", width: 150 }, { title: "Second", id: "second", width: 150 } diff --git a/docs/assets/04-streaming-data.stories-h22tR7YO.js b/docs/assets/04-streaming-data.stories-bs-y83t4.js similarity index 98% rename from docs/assets/04-streaming-data.stories-h22tR7YO.js rename to docs/assets/04-streaming-data.stories-bs-y83t4.js index e34169881..b03d5318e 100644 --- a/docs/assets/04-streaming-data.stories-h22tR7YO.js +++ b/docs/assets/04-streaming-data.stories-bs-y83t4.js @@ -1,4 +1,4 @@ -import{j as n,a as T}from"./marked.esm-dbrxtycE.js";import{r as l}from"./index-BMVQvedj.js";import{G as y}from"./image-window-loader-aMebukIX.js";import{D as g}from"./data-editor-all-kwt0I9Kc.js";import{S as b}from"./story-utils-K2EZnGjM.js";import{D as S,M as s,H as h,W as R}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./toConsumableArray-ppDpjNRJ.js";const X={title:"Glide-Data-Grid/Docs",decorators:[t=>n(b,{children:n(t,{})})]},d=()=>{const t=l.useRef([{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332",update:0},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227",update:0},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826",update:0},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320",update:0},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472",update:0},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651",update:0},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331",update:0},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134",update:0},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194",update:0},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271",update:0},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454",update:0},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982",update:0},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444",update:0},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805",update:0},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012",update:0},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442",update:0},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883",update:0}]),o=l.useRef([{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332",update:0},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227",update:0},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826",update:0},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320",update:0},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472",update:0},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651",update:0},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331",update:0},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134",update:0},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194",update:0},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271",update:0},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454",update:0},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982",update:0},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444",update:0},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805",update:0},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012",update:0},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442",update:0},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883",update:0}]),k=l.useCallback(e=>{const[a,m]=e,c=o.current[m][["name","company","email","phone"][a]];return{kind:y.Text,allowOverlay:!0,displayData:c,data:c}},[]),E=l.useCallback(e=>{const[a,m]=e,r=t.current[m],c=r[["name","company","email","phone"][a]];return{kind:y.Text,allowOverlay:!0,displayData:c,data:c,lastUpdated:r.update}},[]),u=l.useMemo(()=>[{title:"Name",id:"name"},{title:"Company",id:"company"},{title:"Email",id:"email"},{title:"Phone",id:"phone"}],[]),p=l.useRef(null),M=()=>{var r;const e=Math.floor(Math.random()*o.current.length),a=Math.floor(Math.random()*o.current.length),m=o.current[e].email;o.current[e].email=o.current[a].email,o.current[a].email=m,(r=p.current)==null||r.updateCells([e,a].map(i=>({cell:[2,i]})))},D=()=>{var r;const e=Math.floor(Math.random()*t.current.length),a=Math.floor(Math.random()*t.current.length),m=t.current[e].email;t.current[e].email=t.current[a].email,t.current[a].email=m,t.current[e].update=performance.now(),t.current[a].update=performance.now(),(r=p.current)==null||r.updateCells([e,a].map(i=>({cell:[2,i]})))};return T(S,{children:[n(s,{children:` +import{j as n,a as T}from"./marked.esm-dbrxtycE.js";import{r as l}from"./index-BMVQvedj.js";import{G as y}from"./image-window-loader-Hk1rG8Sr.js";import{D as g}from"./data-editor-all-3W5wpw6K.js";import{S as b}from"./story-utils-K2EZnGjM.js";import{D as S,M as s,H as h,W as R}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./toConsumableArray-ppDpjNRJ.js";const X={title:"Glide-Data-Grid/Docs",decorators:[t=>n(b,{children:n(t,{})})]},d=()=>{const t=l.useRef([{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332",update:0},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227",update:0},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826",update:0},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320",update:0},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472",update:0},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651",update:0},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331",update:0},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134",update:0},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194",update:0},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271",update:0},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454",update:0},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982",update:0},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444",update:0},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805",update:0},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012",update:0},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442",update:0},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883",update:0}]),o=l.useRef([{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332",update:0},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227",update:0},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826",update:0},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320",update:0},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472",update:0},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651",update:0},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331",update:0},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134",update:0},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194",update:0},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271",update:0},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454",update:0},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982",update:0},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444",update:0},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805",update:0},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012",update:0},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442",update:0},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883",update:0}]),k=l.useCallback(e=>{const[a,m]=e,c=o.current[m][["name","company","email","phone"][a]];return{kind:y.Text,allowOverlay:!0,displayData:c,data:c}},[]),E=l.useCallback(e=>{const[a,m]=e,r=t.current[m],c=r[["name","company","email","phone"][a]];return{kind:y.Text,allowOverlay:!0,displayData:c,data:c,lastUpdated:r.update}},[]),u=l.useMemo(()=>[{title:"Name",id:"name"},{title:"Company",id:"company"},{title:"Email",id:"email"},{title:"Phone",id:"phone"}],[]),p=l.useRef(null),M=()=>{var r;const e=Math.floor(Math.random()*o.current.length),a=Math.floor(Math.random()*o.current.length),m=o.current[e].email;o.current[e].email=o.current[a].email,o.current[a].email=m,(r=p.current)==null||r.updateCells([e,a].map(i=>({cell:[2,i]})))},D=()=>{var r;const e=Math.floor(Math.random()*t.current.length),a=Math.floor(Math.random()*t.current.length),m=t.current[e].email;t.current[e].email=t.current[a].email,t.current[a].email=m,t.current[e].update=performance.now(),t.current[a].update=performance.now(),(r=p.current)==null||r.updateCells([e,a].map(i=>({cell:[2,i]})))};return T(S,{children:[n(s,{children:` # Streaming Data > Glide Data Grid is capable of streaming hundreds of thousands of updates per second. You won't need that, but every millisecond the grid doesn't take is another millisecond your app has to process data and remain responsive. diff --git a/docs/assets/06-search.stories-Qw-UGUDi.js b/docs/assets/06-search.stories-GCaD3uDs.js similarity index 97% rename from docs/assets/06-search.stories-Qw-UGUDi.js rename to docs/assets/06-search.stories-GCaD3uDs.js index 723abe676..0c4834981 100644 --- a/docs/assets/06-search.stories-Qw-UGUDi.js +++ b/docs/assets/06-search.stories-GCaD3uDs.js @@ -1,4 +1,4 @@ -import{j as e,a as b}from"./marked.esm-dbrxtycE.js";import{r as o}from"./index-BMVQvedj.js";import{G as k}from"./image-window-loader-aMebukIX.js";import{D as i}from"./data-editor-all-kwt0I9Kc.js";import{S as E}from"./story-utils-K2EZnGjM.js";import{D as R,M as s,H as h,W as m}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./toConsumableArray-ppDpjNRJ.js";const B={title:"Glide-Data-Grid/Docs",decorators:[n=>e(E,{children:e(n,{})})]},t=[{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}],a=()=>{const n=o.useCallback(g=>{const[C,w]=g,c=t[w][["name","company","email","phone"][C]];return{kind:k.Text,allowOverlay:!0,displayData:c,data:c}},[]),r=o.useMemo(()=>[{title:"Name",id:"name"},{title:"Company",id:"company"},{title:"Email",id:"email"},{title:"Phone",id:"phone"}],[]),[u,l]=o.useState(!1),y=o.useCallback(()=>l(!1),[]);return b(R,{children:[e(s,{children:` +import{j as e,a as b}from"./marked.esm-dbrxtycE.js";import{r as o}from"./index-BMVQvedj.js";import{G as k}from"./image-window-loader-Hk1rG8Sr.js";import{D as i}from"./data-editor-all-3W5wpw6K.js";import{S as E}from"./story-utils-K2EZnGjM.js";import{D as R,M as s,H as h,W as m}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./toConsumableArray-ppDpjNRJ.js";const B={title:"Glide-Data-Grid/Docs",decorators:[n=>e(E,{children:e(n,{})})]},t=[{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}],a=()=>{const n=o.useCallback(g=>{const[C,w]=g,c=t[w][["name","company","email","phone"][C]];return{kind:k.Text,allowOverlay:!0,displayData:c,data:c}},[]),r=o.useMemo(()=>[{title:"Name",id:"name"},{title:"Company",id:"company"},{title:"Email",id:"email"},{title:"Phone",id:"phone"}],[]),[u,l]=o.useState(!1),y=o.useCallback(()=>l(!1),[]);return b(R,{children:[e(s,{children:` # Search Search is a controlled property in Glide Data Grid. Triggering the search interface is up to the application but once triggered search is handled interally on the data grid. Search always depends on a properly implemented \`getCellsForSelection\`.`}),e(h,{children:` diff --git a/docs/assets/07-column-grouping.stories-1PTlT5yc.js b/docs/assets/07-column-grouping.stories-xREWe1Ho.js similarity index 96% rename from docs/assets/07-column-grouping.stories-1PTlT5yc.js rename to docs/assets/07-column-grouping.stories-xREWe1Ho.js index 6b6776879..7310ecba7 100644 --- a/docs/assets/07-column-grouping.stories-1PTlT5yc.js +++ b/docs/assets/07-column-grouping.stories-xREWe1Ho.js @@ -1,4 +1,4 @@ -import{j as n,a as u}from"./marked.esm-dbrxtycE.js";import{r}from"./index-BMVQvedj.js";import{G as h}from"./image-window-loader-aMebukIX.js";import{D as y}from"./data-editor-all-kwt0I9Kc.js";import{S as g}from"./story-utils-K2EZnGjM.js";import{D as C,M as E,H as x,W as R}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./toConsumableArray-ppDpjNRJ.js";const L={title:"Glide-Data-Grid/Docs",decorators:[o=>n(g,{children:n(o,{})})]},t=[{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}],e=()=>{const o=r.useCallback(c=>{const[s,d]=c,a=t[d][["name","company","email","phone"][s]];return{kind:h.Text,allowOverlay:!0,displayData:a,data:a}},[]),p=r.useMemo(()=>[{title:"Name",id:"name",group:"Core"},{title:"Company",id:"company",group:"Core"},{title:"Email",id:"email",group:"Extra"},{title:"Phone",id:"phone",group:"Extra"}],[]);return u(C,{children:[n(E,{children:` +import{j as n,a as u}from"./marked.esm-dbrxtycE.js";import{r}from"./index-BMVQvedj.js";import{G as h}from"./image-window-loader-Hk1rG8Sr.js";import{D as y}from"./data-editor-all-3W5wpw6K.js";import{S as g}from"./story-utils-K2EZnGjM.js";import{D as C,M as E,H as x,W as R}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./toConsumableArray-ppDpjNRJ.js";const L={title:"Glide-Data-Grid/Docs",decorators:[o=>n(g,{children:n(o,{})})]},t=[{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}],e=()=>{const o=r.useCallback(c=>{const[s,d]=c,a=t[d][["name","company","email","phone"][s]];return{kind:h.Text,allowOverlay:!0,displayData:a,data:a}},[]),p=r.useMemo(()=>[{title:"Name",id:"name",group:"Core"},{title:"Company",id:"company",group:"Core"},{title:"Email",id:"email",group:"Extra"},{title:"Phone",id:"phone",group:"Extra"}],[]);return u(C,{children:[n(E,{children:` # Column Grouping Columns can be grouped by assinging them a group. Easy peasy.`}),n(x,{children:` diff --git a/docs/assets/08-theming.stories-EvfeKvn0.js b/docs/assets/08-theming.stories-92jCxUk4.js similarity index 98% rename from docs/assets/08-theming.stories-EvfeKvn0.js rename to docs/assets/08-theming.stories-92jCxUk4.js index c8cf4e20e..98146ff5b 100644 --- a/docs/assets/08-theming.stories-EvfeKvn0.js +++ b/docs/assets/08-theming.stories-92jCxUk4.js @@ -1,4 +1,4 @@ -import{j as e,a as v}from"./marked.esm-dbrxtycE.js";import{r as l}from"./index-BMVQvedj.js";import{G as p}from"./image-window-loader-aMebukIX.js";import{D as h}from"./data-editor-all-kwt0I9Kc.js";import{S as k}from"./story-utils-K2EZnGjM.js";import{D,M as g,H as s,W as c}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./toConsumableArray-ppDpjNRJ.js";const N={title:"Glide-Data-Grid/Docs",decorators:[t=>e(k,{children:e(t,{})})]},n=[{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}],a=()=>{const t=l.useCallback(o=>{const[i,d]=o,r=n[d][["name","company","email","phone"][i]];return{kind:p.Text,allowOverlay:!0,displayData:r,data:r}},[]),T=l.useCallback(o=>{const[i,d]=o,r=n[d][["name","company","email","phone"][i]];let b;return i===1&&d===1&&(b={textDark:"#FF0000"}),{kind:p.Text,allowOverlay:!0,displayData:r,data:r,themeOverride:b}},[]),u=l.useCallback(o=>{if(o%2===0)return{bgCell:"#F9FDFF"}},[]),w=l.useMemo(()=>[{title:"Name",id:"name"},{title:"Company",id:"company"},{title:"Email",id:"email"},{title:"Phone",id:"phone"}],[]),m=l.useMemo(()=>[{title:"Name",id:"name"},{title:"Company",themeOverride:{textDark:"#225588",baseFontStyle:"600 13px"},id:"company"},{title:"Email",id:"email"},{title:"Phone",id:"phone"}],[]);return v(D,{children:[e(g,{children:` +import{j as e,a as v}from"./marked.esm-dbrxtycE.js";import{r as l}from"./index-BMVQvedj.js";import{G as p}from"./image-window-loader-Hk1rG8Sr.js";import{D as h}from"./data-editor-all-3W5wpw6K.js";import{S as k}from"./story-utils-K2EZnGjM.js";import{D,M as g,H as s,W as c}from"./doc-wrapper-m1-LpzDL.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./toConsumableArray-ppDpjNRJ.js";const N={title:"Glide-Data-Grid/Docs",decorators:[t=>e(k,{children:e(t,{})})]},n=[{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}],a=()=>{const t=l.useCallback(o=>{const[i,d]=o,r=n[d][["name","company","email","phone"][i]];return{kind:p.Text,allowOverlay:!0,displayData:r,data:r}},[]),T=l.useCallback(o=>{const[i,d]=o,r=n[d][["name","company","email","phone"][i]];let b;return i===1&&d===1&&(b={textDark:"#FF0000"}),{kind:p.Text,allowOverlay:!0,displayData:r,data:r,themeOverride:b}},[]),u=l.useCallback(o=>{if(o%2===0)return{bgCell:"#F9FDFF"}},[]),w=l.useMemo(()=>[{title:"Name",id:"name"},{title:"Company",id:"company"},{title:"Email",id:"email"},{title:"Phone",id:"phone"}],[]),m=l.useMemo(()=>[{title:"Name",id:"name"},{title:"Company",themeOverride:{textDark:"#225588",baseFontStyle:"600 13px"},id:"company"},{title:"Email",id:"email"},{title:"Phone",id:"phone"}],[]);return v(D,{children:[e(g,{children:` # Theming Theming the Glide Data Grid is a cascaded through 5 levels diff --git a/docs/assets/09-menus.stories-4DrjQ85I.js b/docs/assets/09-menus.stories-fsKs99FO.js similarity index 98% rename from docs/assets/09-menus.stories-4DrjQ85I.js rename to docs/assets/09-menus.stories-fsKs99FO.js index 072eb712d..e0d1642a3 100644 --- a/docs/assets/09-menus.stories-4DrjQ85I.js +++ b/docs/assets/09-menus.stories-fsKs99FO.js @@ -1,4 +1,4 @@ -import{j as n,a as s}from"./marked.esm-dbrxtycE.js";import{r as a}from"./index-BMVQvedj.js";import{G as S}from"./image-window-loader-aMebukIX.js";import{D as h}from"./data-editor-all-kwt0I9Kc.js";import{S as f}from"./story-utils-K2EZnGjM.js";import{D as O,M as p,H as g,W as b}from"./doc-wrapper-m1-LpzDL.js";import{u as E}from"./react-laag.esm-PpDllAFI.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./toConsumableArray-ppDpjNRJ.js";import"./index-wocATsGp.js";const _={title:"Glide-Data-Grid/Docs",decorators:[r=>n(f,{children:n(r,{})})]},l=[{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}],i=()=>{const r=a.useCallback(t=>{const[o,H]=t,m=l[H][["name","company","email","phone"][o]];return{kind:S.Text,allowOverlay:!0,displayData:m,data:m}},[]),d=a.useMemo(()=>[{title:"Name",id:"name",hasMenu:!0},{title:"Company",id:"company",hasMenu:!0},{title:"Email",id:"email",hasMenu:!0},{title:"Phone",id:"phone",hasMenu:!0}],[]),C=a.useCallback((t,o)=>{window.alert("Header menu clicked "+t+JSON.stringify(o))},[]),[e,u]=a.useState(),k=a.useCallback((t,o)=>{u({col:t,bounds:o})},[]),{renderLayer:R,layerProps:c}=E({isOpen:e!==void 0,triggerOffset:4,onOutsideClick:()=>u(void 0),trigger:{getBounds:()=>({bottom:((e==null?void 0:e.bounds.y)??0)+((e==null?void 0:e.bounds.height)??0),height:(e==null?void 0:e.bounds.height)??0,left:(e==null?void 0:e.bounds.x)??0,right:((e==null?void 0:e.bounds.x)??0)+((e==null?void 0:e.bounds.width)??0),top:(e==null?void 0:e.bounds.y)??0,width:(e==null?void 0:e.bounds.width)??0})},placement:"bottom-start",auto:!0,possiblePlacements:["bottom-start","bottom-end"]});return s(O,{children:[n(p,{children:` +import{j as n,a as s}from"./marked.esm-dbrxtycE.js";import{r as a}from"./index-BMVQvedj.js";import{G as S}from"./image-window-loader-Hk1rG8Sr.js";import{D as h}from"./data-editor-all-3W5wpw6K.js";import{S as f}from"./story-utils-K2EZnGjM.js";import{D as O,M as p,H as g,W as b}from"./doc-wrapper-m1-LpzDL.js";import{u as E}from"./react-laag.esm-PpDllAFI.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./toConsumableArray-ppDpjNRJ.js";import"./index-wocATsGp.js";const _={title:"Glide-Data-Grid/Docs",decorators:[r=>n(f,{children:n(r,{})})]},l=[{name:"Deidre Morris",company:"GONKLE",email:"deidremorris@gonkle.com",phone:"+1 (867) 507-3332"},{name:"Sheryl Craig",company:"EVENTAGE",email:"sherylcraig@eventage.com",phone:"+1 (869) 520-2227"},{name:"Lidia Bowers",company:"ANOCHA",email:"lidiabowers@anocha.com",phone:"+1 (808) 414-3826"},{name:"Jones Norton",company:"REPETWIRE",email:"jonesnorton@repetwire.com",phone:"+1 (875) 582-3320"},{name:"Lula Bruce",company:"COMDOM",email:"lulabruce@comdom.com",phone:"+1 (873) 452-2472"},{name:"Larsen Montgomery",company:"SQUISH",email:"larsenmontgomery@squish.com",phone:"+1 (893) 482-3651"},{name:"Becky Bright",company:"COMCUR",email:"beckybright@comcur.com",phone:"+1 (879) 494-2331"},{name:"Charlotte Rowland",company:"FROLIX",email:"charlotterowland@frolix.com",phone:"+1 (861) 439-2134"},{name:"Sonya Hensley",company:"GEEKETRON",email:"sonyahensley@geeketron.com",phone:"+1 (802) 553-2194"},{name:"Stephenson Guthrie",company:"EXOSWITCH",email:"stephensonguthrie@exoswitch.com",phone:"+1 (903) 449-3271"},{name:"Mcmillan Cline",company:"TURNLING",email:"mcmillancline@turnling.com",phone:"+1 (982) 496-2454"},{name:"Kemp Davis",company:"TETRATREX",email:"kempdavis@tetratrex.com",phone:"+1 (859) 594-2982"},{name:"Matilda Levy",company:"SLOFAST",email:"matildalevy@slofast.com",phone:"+1 (841) 521-2444"},{name:"Hattie Simpson",company:"COMTRAK",email:"hattiesimpson@comtrak.com",phone:"+1 (962) 587-3805"},{name:"Kinney Munoz",company:"IDETICA",email:"kinneymunoz@idetica.com",phone:"+1 (921) 513-2012"},{name:"Lambert Raymond",company:"TURNABOUT",email:"lambertraymond@turnabout.com",phone:"+1 (919) 519-2442"},{name:"Bryant Dunlap",company:"BYTREX",email:"bryantdunlap@bytrex.com",phone:"+1 (872) 583-2883"}],i=()=>{const r=a.useCallback(t=>{const[o,H]=t,m=l[H][["name","company","email","phone"][o]];return{kind:S.Text,allowOverlay:!0,displayData:m,data:m}},[]),d=a.useMemo(()=>[{title:"Name",id:"name",hasMenu:!0},{title:"Company",id:"company",hasMenu:!0},{title:"Email",id:"email",hasMenu:!0},{title:"Phone",id:"phone",hasMenu:!0}],[]),C=a.useCallback((t,o)=>{window.alert("Header menu clicked "+t+JSON.stringify(o))},[]),[e,u]=a.useState(),k=a.useCallback((t,o)=>{u({col:t,bounds:o})},[]),{renderLayer:R,layerProps:c}=E({isOpen:e!==void 0,triggerOffset:4,onOutsideClick:()=>u(void 0),trigger:{getBounds:()=>({bottom:((e==null?void 0:e.bounds.y)??0)+((e==null?void 0:e.bounds.height)??0),height:(e==null?void 0:e.bounds.height)??0,left:(e==null?void 0:e.bounds.x)??0,right:((e==null?void 0:e.bounds.x)??0)+((e==null?void 0:e.bounds.width)??0),top:(e==null?void 0:e.bounds.y)??0,width:(e==null?void 0:e.bounds.width)??0})},placement:"bottom-start",auto:!0,possiblePlacements:["bottom-start","bottom-end"]});return s(O,{children:[n(p,{children:` # Menus Glide Data Grid doesn't come with built in menus. Instead it is evented and ready to work with whatever menus you want diff --git a/docs/assets/add-column.stories-KOCGDfFW.js b/docs/assets/add-column.stories-o_yTp7FV.js similarity index 76% rename from docs/assets/add-column.stories-KOCGDfFW.js rename to docs/assets/add-column.stories-o_yTp7FV.js index bfb962555..816fd7a26 100644 --- a/docs/assets/add-column.stories-KOCGDfFW.js +++ b/docs/assets/add-column.stories-o_yTp7FV.js @@ -1,4 +1,4 @@ -import{j as r,a as l,F as i}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as c}from"./data-editor-all-kwt0I9Kc.js";import{B as p,D as u,M as d,u as C,d as f}from"./utils-rXlmyYaC.js";import{S as g}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const B={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>r(g,{children:r(p,{title:"Add and remove columns",description:l(i,{children:[r(u,{children:"You can add and remove columns at your disposal"}),r(d,{children:"Use the story's controls to change the number of columns"})]}),children:r(t,{})})})]},o=t=>{const{cols:a,getCellContent:m}=C(t.columnsCount);return r(c,{...f,rowMarkers:"number",getCellContent:m,experimental:{strict:!0},columns:a,rows:1e4})};o.args={columnsCount:10};o.argTypes={columnsCount:{control:{type:"range",min:2,max:200}}};var e,s,n;o.parameters={...o.parameters,docs:{...(e=o.parameters)==null?void 0:e.docs,source:{originalSource:`p => { +import{j as r,a as l,F as i}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as c}from"./data-editor-all-3W5wpw6K.js";import{B as p,D as u,M as d,u as C,d as f}from"./utils--Nf55hQd.js";import{S as g}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const B={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>r(g,{children:r(p,{title:"Add and remove columns",description:l(i,{children:[r(u,{children:"You can add and remove columns at your disposal"}),r(d,{children:"Use the story's controls to change the number of columns"})]}),children:r(t,{})})})]},o=t=>{const{cols:a,getCellContent:m}=C(t.columnsCount);return r(c,{...f,rowMarkers:"number",getCellContent:m,experimental:{strict:!0},columns:a,rows:1e4})};o.args={columnsCount:10};o.argTypes={columnsCount:{control:{type:"range",min:2,max:200}}};var e,s,n;o.parameters={...o.parameters,docs:{...(e=o.parameters)==null?void 0:e.docs,source:{originalSource:`p => { const { cols, getCellContent diff --git a/docs/assets/add-data-to-middle.stories-GAGXVPO1.js b/docs/assets/add-data-to-middle.stories-OiRUqyyE.js similarity index 86% rename from docs/assets/add-data-to-middle.stories-GAGXVPO1.js rename to docs/assets/add-data-to-middle.stories-OiRUqyyE.js index 08a8d133b..5a0be00d4 100644 --- a/docs/assets/add-data-to-middle.stories-GAGXVPO1.js +++ b/docs/assets/add-data-to-middle.stories-OiRUqyyE.js @@ -1,4 +1,4 @@ -import{j as n,a as d,F as R}from"./marked.esm-dbrxtycE.js";import{R as c}from"./index-BMVQvedj.js";import{D as h}from"./data-editor-all-kwt0I9Kc.js";import{B as g,D as y,M as D,K as k,u as M,c as b,d as A}from"./utils-rXlmyYaC.js";import{S as V}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const z={title:"Glide-Data-Grid/DataEditor Demos",decorators:[s=>n(V,{children:n(g,{title:"Add data to middle",description:d(R,{children:[n(y,{children:"You can return a different location to have the new row append take place."}),d(D,{children:["Note that ",n(k,{children:"insertIndex"}),' is zero-based while the number column on the left side of the grid is one-based, so inserting at index "4" creates a new row at "5"']})]}),children:n(s,{})})})]},o=s=>{const{cols:w,getCellContent:a,setCellValueRaw:l,setCellValue:C}=M(60,!1),[i,x]=c.useState(50),r=s.insertIndex,f=c.useCallback(async()=>{for(let e=i;e>r;e--)for(let t=0;t<6;t++)l([t,e],a([t,e-1]));for(let e=0;e<6;e++){const t=a([e,r]);l([e,r],b(t))}return x(e=>e+1),r},[a,i,l,r]);return n(h,{...A,getCellContent:a,columns:w,rowMarkers:"both",onCellEdited:C,trailingRowOptions:{hint:"New row...",sticky:!0,tint:!0},rows:i,onRowAppended:f})};o.args={insertIndex:10};o.argTypes={insertIndex:{control:{type:"range",min:1,max:48}}};var p,m,u;o.parameters={...o.parameters,docs:{...(p=o.parameters)==null?void 0:p.docs,source:{originalSource:`p => { +import{j as n,a as d,F as R}from"./marked.esm-dbrxtycE.js";import{R as c}from"./index-BMVQvedj.js";import{D as h}from"./data-editor-all-3W5wpw6K.js";import{B as g,D as y,M as D,K as k,u as M,c as b,d as A}from"./utils--Nf55hQd.js";import{S as V}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const z={title:"Glide-Data-Grid/DataEditor Demos",decorators:[s=>n(V,{children:n(g,{title:"Add data to middle",description:d(R,{children:[n(y,{children:"You can return a different location to have the new row append take place."}),d(D,{children:["Note that ",n(k,{children:"insertIndex"}),' is zero-based while the number column on the left side of the grid is one-based, so inserting at index "4" creates a new row at "5"']})]}),children:n(s,{})})})]},o=s=>{const{cols:w,getCellContent:a,setCellValueRaw:l,setCellValue:C}=M(60,!1),[i,x]=c.useState(50),r=s.insertIndex,f=c.useCallback(async()=>{for(let e=i;e>r;e--)for(let t=0;t<6;t++)l([t,e],a([t,e-1]));for(let e=0;e<6;e++){const t=a([e,r]);l([e,r],b(t))}return x(e=>e+1),r},[a,i,l,r]);return n(h,{...A,getCellContent:a,columns:w,rowMarkers:"both",onCellEdited:C,trailingRowOptions:{hint:"New row...",sticky:!0,tint:!0},rows:i,onRowAppended:f})};o.args={insertIndex:10};o.argTypes={insertIndex:{control:{type:"range",min:1,max:48}}};var p,m,u;o.parameters={...o.parameters,docs:{...(p=o.parameters)==null?void 0:p.docs,source:{originalSource:`p => { const { cols, getCellContent, diff --git a/docs/assets/add-data-to-top.stories-1B9P7ELS.js b/docs/assets/add-data-to-top.stories-tqJbWcKP.js similarity index 87% rename from docs/assets/add-data-to-top.stories-1B9P7ELS.js rename to docs/assets/add-data-to-top.stories-tqJbWcKP.js index b8de42756..8c689c217 100644 --- a/docs/assets/add-data-to-top.stories-1B9P7ELS.js +++ b/docs/assets/add-data-to-top.stories-tqJbWcKP.js @@ -1,4 +1,4 @@ -import{j as o,F as C}from"./marked.esm-dbrxtycE.js";import{R as c}from"./index-BMVQvedj.js";import{D as R}from"./data-editor-all-kwt0I9Kc.js";import{B as f,D as h,u as D,c as g,d as x}from"./utils-rXlmyYaC.js";import{S as y}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[l=>o(y,{children:o(f,{title:"Add data",description:o(C,{children:o(h,{children:"You can return a different location to have the new row append take place."})}),children:o(l,{})})})]},r=()=>{const{cols:l,getCellContent:n,setCellValueRaw:a,setCellValue:u}=D(60,!1),[s,m]=c.useState(50),w=c.useCallback(async()=>{for(let e=s;e>0;e--)for(let t=0;t<6;t++)a([t,e],n([t,e-1]));for(let e=0;e<6;e++){const t=n([e,0]);a([e,0],g(t))}return m(e=>e+1),"top"},[n,s,a]);return o(R,{...x,getCellContent:n,columns:l,rowMarkers:"both",onCellEdited:u,trailingRowOptions:{hint:"New row...",sticky:!0,tint:!0},rows:s,onRowAppended:w})};var i,p,d;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`() => { +import{j as o,F as C}from"./marked.esm-dbrxtycE.js";import{R as c}from"./index-BMVQvedj.js";import{D as R}from"./data-editor-all-3W5wpw6K.js";import{B as f,D as h,u as D,c as g,d as x}from"./utils--Nf55hQd.js";import{S as y}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[l=>o(y,{children:o(f,{title:"Add data",description:o(C,{children:o(h,{children:"You can return a different location to have the new row append take place."})}),children:o(l,{})})})]},r=()=>{const{cols:l,getCellContent:n,setCellValueRaw:a,setCellValue:u}=D(60,!1),[s,m]=c.useState(50),w=c.useCallback(async()=>{for(let e=s;e>0;e--)for(let t=0;t<6;t++)a([t,e],n([t,e-1]));for(let e=0;e<6;e++){const t=n([e,0]);a([e,0],g(t))}return m(e=>e+1),"top"},[n,s,a]);return o(R,{...x,getCellContent:n,columns:l,rowMarkers:"both",onCellEdited:u,trailingRowOptions:{hint:"New row...",sticky:!0,tint:!0},rows:s,onRowAppended:w})};var i,p,d;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/add-data.stories-3Uf7-abx.js b/docs/assets/add-data.stories-rLd3eK3G.js similarity index 88% rename from docs/assets/add-data.stories-3Uf7-abx.js rename to docs/assets/add-data.stories-rLd3eK3G.js index e19817b36..6836059eb 100644 --- a/docs/assets/add-data.stories-3Uf7-abx.js +++ b/docs/assets/add-data.stories-rLd3eK3G.js @@ -1,4 +1,4 @@ -import{j as t,a as c,F as R}from"./marked.esm-dbrxtycE.js";import{R as i}from"./index-BMVQvedj.js";import{D as g}from"./data-editor-all-kwt0I9Kc.js";import{B as f,D,M as k,K as A,u as E,c as b,d as V}from"./utils-rXlmyYaC.js";import{S as j}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const H={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>t(j,{children:t(f,{title:"Add data",description:c(R,{children:[t(D,{children:"Data can be added by clicking on the trailing row."}),c(k,{children:["Keyboard is also supported, just navigate past the last row and press"," ",t(A,{children:"Enter"})]})]}),children:t(o,{})})})]},n=()=>{const{cols:o,getCellContent:a,setCellValueRaw:l,setCellValue:w}=E(60,!1),[s,m]=i.useState(50),h=i.useCallback(()=>{const r=s;for(let e=0;ee+1)},[o.length,a,s,l]);return t(g,{...V,getCellContent:a,columns:o,rowMarkers:"both",onPaste:!0,onCellEdited:w,trailingRowOptions:{sticky:!1,tint:!0,hint:"New row..."},rows:s,onRowAppended:h})};var d,u,p;n.parameters={...n.parameters,docs:{...(d=n.parameters)==null?void 0:d.docs,source:{originalSource:`() => { +import{j as t,a as c,F as R}from"./marked.esm-dbrxtycE.js";import{R as i}from"./index-BMVQvedj.js";import{D as g}from"./data-editor-all-3W5wpw6K.js";import{B as f,D,M as k,K as A,u as E,c as b,d as V}from"./utils--Nf55hQd.js";import{S as j}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const H={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>t(j,{children:t(f,{title:"Add data",description:c(R,{children:[t(D,{children:"Data can be added by clicking on the trailing row."}),c(k,{children:["Keyboard is also supported, just navigate past the last row and press"," ",t(A,{children:"Enter"})]})]}),children:t(o,{})})})]},n=()=>{const{cols:o,getCellContent:a,setCellValueRaw:l,setCellValue:w}=E(60,!1),[s,m]=i.useState(50),h=i.useCallback(()=>{const r=s;for(let e=0;ee+1)},[o.length,a,s,l]);return t(g,{...V,getCellContent:a,columns:o,rowMarkers:"both",onPaste:!0,onCellEdited:w,trailingRowOptions:{sticky:!1,tint:!0,hint:"New row..."},rows:s,onRowAppended:h})};var d,u,p;n.parameters={...n.parameters,docs:{...(d=n.parameters)==null?void 0:d.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/all-cell-kinds.stories-2AbRjkYn.js b/docs/assets/all-cell-kinds.stories-ljbwmHHG.js similarity index 78% rename from docs/assets/all-cell-kinds.stories-2AbRjkYn.js rename to docs/assets/all-cell-kinds.stories-ljbwmHHG.js index 73abf81b1..aebca82c0 100644 --- a/docs/assets/all-cell-kinds.stories-2AbRjkYn.js +++ b/docs/assets/all-cell-kinds.stories-ljbwmHHG.js @@ -1,4 +1,4 @@ -import{j as e,a as d}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as m}from"./data-editor-all-kwt0I9Kc.js";import{B as p,D as c,P as u,a as C,d as h}from"./utils-rXlmyYaC.js";import{S as g}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const V={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>e(g,{children:e(p,{title:"Lotsa cell kinds",description:d(c,{children:["Data grid supports plenty cell kinds. Anything under ",e(u,{children:"GridCellKind"}),"."]}),children:e(o,{})})})]},t=()=>{const{cols:o,getCellContent:s,onColumnResize:i,setCellValue:a}=C();return e(m,{...h,getCellContent:s,columns:o,onCellEdited:a,onPaste:!0,onColumnResize:i,highlightRegions:[{color:"#ff00ff33",range:{x:1,y:1,width:3,height:3}}],rows:1e3})};var l,r,n;t.parameters={...t.parameters,docs:{...(l=t.parameters)==null?void 0:l.docs,source:{originalSource:`() => { +import{j as e,a as d}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as m}from"./data-editor-all-3W5wpw6K.js";import{B as p,D as c,P as u,a as C,d as h}from"./utils--Nf55hQd.js";import{S as g}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const V={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>e(g,{children:e(p,{title:"Lotsa cell kinds",description:d(c,{children:["Data grid supports plenty cell kinds. Anything under ",e(u,{children:"GridCellKind"}),"."]}),children:e(o,{})})})]},t=()=>{const{cols:o,getCellContent:s,onColumnResize:i,setCellValue:a}=C();return e(m,{...h,getCellContent:s,columns:o,onCellEdited:a,onPaste:!0,onColumnResize:i,highlightRegions:[{color:"#ff00ff33",range:{x:1,y:1,width:3,height:3}}],rows:1e3})};var l,r,n;t.parameters={...t.parameters,docs:{...(l=t.parameters)==null?void 0:l.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/append-row-handle.stories-aapZvExI.js b/docs/assets/append-row-handle.stories-hNn75Cqb.js similarity index 88% rename from docs/assets/append-row-handle.stories-aapZvExI.js rename to docs/assets/append-row-handle.stories-hNn75Cqb.js index 4263373ee..8bb022b85 100644 --- a/docs/assets/append-row-handle.stories-aapZvExI.js +++ b/docs/assets/append-row-handle.stories-hNn75Cqb.js @@ -1,4 +1,4 @@ -import{j as e,a as c,F as k}from"./marked.esm-dbrxtycE.js";import{R as n}from"./index-BMVQvedj.js";import{D}from"./data-editor-all-kwt0I9Kc.js";import{u as N,c as y,B as A,D as b,P as p,M as P,K as E,d as M}from"./utils-rXlmyYaC.js";import{S as V}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const z={title:"Glide-Data-Grid/DataEditor Demos",decorators:[a=>e(V,{children:e(a,{})})]},r=()=>{const{cols:a,getCellContent:l,setCellValueRaw:d,setCellValue:R}=N(60,!1),[s,f]=n.useState(50),i=n.useRef(null),C=n.useCallback(()=>{var t;(t=i.current)==null||t.appendRow(3,!1)},[i]),g=n.useCallback(()=>{const t=s;for(let o=0;o<6;o++){const h=l([o,t]);d([o,t],y(h))}f(o=>o+1)},[l,s,d]);return e(A,{title:"appendRow Ref",description:c(k,{children:[c(b,{children:["Adding data can also be triggered from outside of ",e(p,{children:"DataEditor"})]}),c(P,{children:["By calling ",e(p,{children:"appendRow"})," on a ",e(p,{children:"ref"})," to your grid, you can trigger the append elsewhere, like this ",e(E,{onClick:C,children:"Append"})," button"]})]}),children:e(D,{...M,ref:i,getCellContent:l,columns:a,rowMarkers:"both",onCellEdited:R,trailingRowOptions:{hint:"New row...",sticky:!0,tint:!0},rows:s,onRowAppended:g})})};var u,m,w;r.parameters={...r.parameters,docs:{...(u=r.parameters)==null?void 0:u.docs,source:{originalSource:`() => { +import{j as e,a as c,F as k}from"./marked.esm-dbrxtycE.js";import{R as n}from"./index-BMVQvedj.js";import{D}from"./data-editor-all-3W5wpw6K.js";import{u as N,c as y,B as A,D as b,P as p,M as P,K as E,d as M}from"./utils--Nf55hQd.js";import{S as V}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const z={title:"Glide-Data-Grid/DataEditor Demos",decorators:[a=>e(V,{children:e(a,{})})]},r=()=>{const{cols:a,getCellContent:l,setCellValueRaw:d,setCellValue:R}=N(60,!1),[s,f]=n.useState(50),i=n.useRef(null),C=n.useCallback(()=>{var t;(t=i.current)==null||t.appendRow(3,!1)},[i]),g=n.useCallback(()=>{const t=s;for(let o=0;o<6;o++){const h=l([o,t]);d([o,t],y(h))}f(o=>o+1)},[l,s,d]);return e(A,{title:"appendRow Ref",description:c(k,{children:[c(b,{children:["Adding data can also be triggered from outside of ",e(p,{children:"DataEditor"})]}),c(P,{children:["By calling ",e(p,{children:"appendRow"})," on a ",e(p,{children:"ref"})," to your grid, you can trigger the append elsewhere, like this ",e(E,{onClick:C,children:"Append"})," button"]})]}),children:e(D,{...M,ref:i,getCellContent:l,columns:a,rowMarkers:"both",onCellEdited:R,trailingRowOptions:{hint:"New row...",sticky:!0,tint:!0},rows:s,onRowAppended:g})})};var u,m,w;r.parameters={...r.parameters,docs:{...(u=r.parameters)==null?void 0:u.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/automatic-row-markers.stories-N_SNJNQY.js b/docs/assets/automatic-row-markers.stories-jrGzOj4q.js similarity index 83% rename from docs/assets/automatic-row-markers.stories-N_SNJNQY.js rename to docs/assets/automatic-row-markers.stories-jrGzOj4q.js index 82e7717cf..a252d4e1e 100644 --- a/docs/assets/automatic-row-markers.stories-N_SNJNQY.js +++ b/docs/assets/automatic-row-markers.stories-jrGzOj4q.js @@ -1,4 +1,4 @@ -import{j as e,a as t,F as m}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as p}from"./data-editor-all-kwt0I9Kc.js";import{u as d,B as u,D as k,P as h,M as w,K as a,d as M}from"./utils-rXlmyYaC.js";import{S as f}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const W={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>e(f,{children:e(o,{})})]},r=()=>{const{cols:o,getCellContent:c}=d(6),l=e(p,{...M,rowMarkers:"checkbox-visible",getCellContent:c,columns:o,rows:1e3});return e(u,{title:"Automatic Row Markers",description:t(m,{children:[t(k,{children:["You can enable row markers with rich selection behavior using the"," ",e(h,{children:"rowMarkers"})," prop."]}),t(w,{children:["Use ",e(a,{children:"⇧"})," + click to make range selections, and ",e(a,{children:"Ctrl"})," (",e(a,{children:"⌘"})," on Mac) + click to add/remove individual rows."]})]}),children:l})};var i,s,n;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`() => { +import{j as e,a as t,F as m}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as p}from"./data-editor-all-3W5wpw6K.js";import{u as d,B as u,D as k,P as h,M as w,K as a,d as M}from"./utils--Nf55hQd.js";import{S as f}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const W={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>e(f,{children:e(o,{})})]},r=()=>{const{cols:o,getCellContent:c}=d(6),l=e(p,{...M,rowMarkers:"checkbox-visible",getCellContent:c,columns:o,rows:1e3});return e(u,{title:"Automatic Row Markers",description:t(m,{children:[t(k,{children:["You can enable row markers with rich selection behavior using the"," ",e(h,{children:"rowMarkers"})," prop."]}),t(w,{children:["Use ",e(a,{children:"⇧"})," + click to make range selections, and ",e(a,{children:"Ctrl"})," (",e(a,{children:"⌘"})," on Mac) + click to add/remove individual rows."]})]}),children:l})};var i,s,n;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/built-in-search.stories-GK5NSyEp.js b/docs/assets/built-in-search.stories-IEe7X1V-.js similarity index 88% rename from docs/assets/built-in-search.stories-GK5NSyEp.js rename to docs/assets/built-in-search.stories-IEe7X1V-.js index 4b7fd7791..6f79340fe 100644 --- a/docs/assets/built-in-search.stories-GK5NSyEp.js +++ b/docs/assets/built-in-search.stories-IEe7X1V-.js @@ -1,4 +1,4 @@ -import{j as e,a as n,F as y}from"./marked.esm-dbrxtycE.js";import{R as s}from"./index-BMVQvedj.js";import{C as c,u as g}from"./image-window-loader-aMebukIX.js";import{D}from"./data-editor-all-kwt0I9Kc.js";import{B as K,D as R,P as v,M as E,K as a,a as k,d as F}from"./utils-rXlmyYaC.js";import{S as G}from"./story-utils-K2EZnGjM.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const T={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(G,{children:e(K,{title:"Search is easy",description:n(y,{children:[n(R,{children:["Search for any data in your grid by setting ",e(v,{children:"showSearch"}),"."]}),n(E,{children:["In this story, ",e(a,{children:"Ctrl"})," (",e(a,{children:"⌘"})," on Mac) +"," ",e(a,{children:"f"})," toggles the search bar. Make sure you're focused on the Data Grid!"]})]}),children:e(r,{})})})]},o=()=>{const{cols:r,getCellContent:u,onColumnResize:p,setCellValue:h}=k(),[S,l]=s.useState(!1),[C,f]=s.useState({rows:c.empty(),columns:c.empty()});return g("keydown",s.useCallback(t=>{(t.ctrlKey||t.metaKey)&&t.code==="KeyF"&&(l(w=>!w),t.stopPropagation(),t.preventDefault())},[]),window,!1,!0),e(D,{...F,getCellContent:u,getCellsForSelection:!0,gridSelection:C,onGridSelectionChange:f,columns:r,onCellEdited:h,onColumnResize:p,showSearch:S,onSearchClose:()=>l(!1),rows:1e4})};var i,m,d;o.parameters={...o.parameters,docs:{...(i=o.parameters)==null?void 0:i.docs,source:{originalSource:`() => { +import{j as e,a as n,F as y}from"./marked.esm-dbrxtycE.js";import{R as s}from"./index-BMVQvedj.js";import{C as c,u as g}from"./image-window-loader-Hk1rG8Sr.js";import{D}from"./data-editor-all-3W5wpw6K.js";import{B as K,D as R,P as v,M as E,K as a,a as k,d as F}from"./utils--Nf55hQd.js";import{S as G}from"./story-utils-K2EZnGjM.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const T={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(G,{children:e(K,{title:"Search is easy",description:n(y,{children:[n(R,{children:["Search for any data in your grid by setting ",e(v,{children:"showSearch"}),"."]}),n(E,{children:["In this story, ",e(a,{children:"Ctrl"})," (",e(a,{children:"⌘"})," on Mac) +"," ",e(a,{children:"f"})," toggles the search bar. Make sure you're focused on the Data Grid!"]})]}),children:e(r,{})})})]},o=()=>{const{cols:r,getCellContent:u,onColumnResize:p,setCellValue:h}=k(),[S,l]=s.useState(!1),[C,f]=s.useState({rows:c.empty(),columns:c.empty()});return g("keydown",s.useCallback(t=>{(t.ctrlKey||t.metaKey)&&t.code==="KeyF"&&(l(w=>!w),t.stopPropagation(),t.preventDefault())},[]),window,!1,!0),e(D,{...F,getCellContent:u,getCellsForSelection:!0,gridSelection:C,onGridSelectionChange:f,columns:r,onCellEdited:h,onColumnResize:p,showSearch:S,onSearchClose:()=>l(!1),rows:1e4})};var i,m,d;o.parameters={...o.parameters,docs:{...(i=o.parameters)==null?void 0:i.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/cell-hbkxrWJd.css b/docs/assets/cell-6_dc3_o0.css similarity index 93% rename from docs/assets/cell-hbkxrWJd.css rename to docs/assets/cell-6_dc3_o0.css index 846270555..a13e7f2a8 100644 --- a/docs/assets/cell-hbkxrWJd.css +++ b/docs/assets/cell-6_dc3_o0.css @@ -3,4 +3,4 @@ * @version 3.1.10 | Wed Jul 27 2022 * @author NHN Cloud FE Development Lab * @license MIT - */.ProseMirror{position:relative}.ProseMirror{word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}.auto-height,.auto-height .toastui-editor-defaultUI{height:auto}.auto-height .toastui-editor-md-container{position:relative}:not(.auto-height)>.toastui-editor-defaultUI,:not(.auto-height)>.toastui-editor-defaultUI>.toastui-editor-main{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:not(.auto-height)>.toastui-editor-defaultUI>.toastui-editor-main{-ms-flex:1;flex:1}.toastui-editor-md-container:after,.toastui-editor-defaultUI-toolbar:after{content:"";display:block;height:0;clear:both}.toastui-editor-main{min-height:0px;position:relative;height:inherit;box-sizing:border-box}.toastui-editor-md-container{display:none;overflow:hidden;height:100%}.toastui-editor-md-container .toastui-editor{line-height:1.5;position:relative}.toastui-editor-md-container .toastui-editor,.toastui-editor-md-container .toastui-editor-md-preview{box-sizing:border-box;padding:0;height:inherit}.toastui-editor-md-container .toastui-editor-md-preview{overflow:auto;padding:0 25px;height:100%}.toastui-editor-md-container .toastui-editor-md-preview>p:first-child{margin-top:0!important}.toastui-editor-md-container .toastui-editor-md-preview .toastui-editor-contents{padding-top:8px}.toastui-editor-main .toastui-editor-md-tab-style>.toastui-editor,.toastui-editor-main .toastui-editor-md-tab-style>.toastui-editor-md-preview{width:100%;display:none}.toastui-editor-main .toastui-editor-md-tab-style>.active{display:block}.toastui-editor-main .toastui-editor-md-vertical-style>.toastui-editor-tabs{display:none}.toastui-editor-main .toastui-editor-md-tab-style>.toastui-editor-tabs{display:block}.toastui-editor-main .toastui-editor-md-vertical-style .toastui-editor,.toastui-editor-main .toastui-editor-md-vertical-style .toastui-editor-md-preview{width:50%}.toastui-editor-main .toastui-editor-md-splitter{display:none;height:100%;width:1px;background-color:#ebedf2;position:absolute;left:50%}.toastui-editor-main .toastui-editor-md-vertical-style .toastui-editor-md-splitter{display:block}.toastui-editor-ww-container{display:none;overflow:hidden;height:inherit;background-color:#fff}.auto-height .toastui-editor-main-container{position:relative}.toastui-editor-main-container{position:absolute;line-height:1;color:#222;width:100%;height:inherit}.toastui-editor-ww-container>.toastui-editor{height:inherit;position:relative;width:100%}.toastui-editor-ww-container .toastui-editor-contents{overflow:auto;box-sizing:border-box;margin:0;padding:16px 25px 0;height:inherit}.toastui-editor-ww-container .toastui-editor-contents p{margin:0}.toastui-editor-md-mode .toastui-editor-md-container,.toastui-editor-ww-mode .toastui-editor-ww-container{display:block;z-index:20}.toastui-editor-md-mode .toastui-editor-md-vertical-style{display:-ms-flexbox;display:flex}.toastui-editor-main.hidden,.toastui-editor-defaultUI.hidden{display:none}.toastui-editor-defaultUI .ProseMirror{padding:18px 25px}.toastui-editor-defaultUI{position:relative;border:1px solid #dadde6;height:100%;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,나눔바른고딕,Nanum Barun Gothic,맑은고딕,Malgun Gothic,sans-serif;border-radius:4px}.toastui-editor-defaultUI button{color:#333;height:28px;font-size:13px;cursor:pointer;border:none;border-radius:2px}.toastui-editor-defaultUI .toastui-editor-ok-button{min-width:63px;height:32px;background-color:#00a9ff;color:#fff;outline-color:#009bf2}.toastui-editor-defaultUI .toastui-editor-ok-button:hover{background-color:#009bf2}.toastui-editor-defaultUI .toastui-editor-close-button{min-width:63px;height:32px;background-color:#f7f9fc;border:1px solid #dadde6;margin-right:5px;outline-color:#cbcfdb}.toastui-editor-defaultUI .toastui-editor-close-button:hover{border-color:#cbcfdb}.toastui-editor-mode-switch{background-color:#fff;border-top:1px solid #dadde6;font-size:12px;text-align:right;height:28px;padding-right:10px;border-radius:0 0 3px 3px}.toastui-editor-mode-switch .tab-item{display:inline-block;width:96px;height:24px;line-height:24px;text-align:center;background:#f7f9fc;color:#969aa5;margin-top:-1px;margin-right:-1px;cursor:pointer;border:1px solid #dadde6;border-radius:0 0 4px 4px;font-weight:500;box-sizing:border-box}.toastui-editor-mode-switch .tab-item.active{border-top:1px solid #fff;background-color:#fff;color:#555}.toastui-editor-defaultUI .toastui-editor-md-tab-container{float:left;height:45px;font-size:13px;background:#f7f9fc;border-bottom:1px solid #ebedf2;border-top-left-radius:3px}.toastui-editor-md-tab-container .toastui-editor-tabs{margin-left:15px;height:100%}.toastui-editor-md-tab-container .tab-item{display:inline-block;width:70px;height:33px;line-height:33px;font-size:12px;font-weight:500;text-align:center;background:#eaedf1;color:#969aa5;cursor:pointer;border:1px solid #dadde6;border-radius:4px 4px 0 0;box-sizing:border-box;margin-top:13px}.toastui-editor-md-tab-container .tab-item.active{border-bottom:1px solid #fff;background-color:#fff;color:#555}.toastui-editor-md-tab-container .tab-item:last-child{margin-left:-1px}.toastui-editor-defaultUI-toolbar{display:-ms-flexbox;display:flex;padding:0 25px;height:45px;background-color:#f7f9fc;border-bottom:1px solid #ebedf2;border-radius:3px 3px 0 0}.toastui-editor-toolbar{height:46px;box-sizing:border-box}.toastui-editor-toolbar-divider{display:inline-block;width:1px;height:18px;background-color:#e1e3e9;margin:14px 12px}.toastui-editor-toolbar-group{display:-ms-flexbox;display:flex}.toastui-editor-defaultUI-toolbar button{box-sizing:border-box;cursor:pointer;width:32px;height:32px;padding:0;border-radius:3px;margin:7px 5px;border:1px solid #f7f9fc}.toastui-editor-defaultUI-toolbar button:not(:disabled):hover{border:1px solid #e4e7ee;background-color:#fff}.toastui-editor-defaultUI-toolbar .scroll-sync{display:inline-block;position:relative;width:70px;height:10px;text-align:center;line-height:10px;color:#81858f;cursor:pointer}.toastui-editor-defaultUI-toolbar .scroll-sync:before{content:"Scroll";position:absolute;left:0;font-size:14px}.toastui-editor-defaultUI-toolbar .scroll-sync.active:before{color:#00a9ff}.toastui-editor-defaultUI-toolbar .scroll-sync input{opacity:0;width:0;height:0}.toastui-editor-defaultUI-toolbar .switch{position:absolute;top:0;left:45px;right:0;bottom:0;background-color:#d6d8de;-webkit-transition:.4s;transition:.4s;border-radius:50px}.toastui-editor-defaultUI-toolbar input:checked+.switch{background-color:#acddfa}.toastui-editor-defaultUI-toolbar .switch:before{position:absolute;content:"";height:14px;width:14px;left:0;bottom:-2px;background-color:#94979f;-webkit-transition:.4s;transition:.4s;border-radius:50%}.toastui-editor-defaultUI-toolbar input:checked+.switch:before{background-color:#00a9ff;-webkit-transform:translateX(12px);-moz-transform:translateX(12px);-ms-transform:translateX(12px);transform:translate(12px)}.toastui-editor-dropdown-toolbar .scroll-sync{margin:0 5px}.toastui-editor-dropdown-toolbar{position:absolute;height:46px;z-index:30;border-radius:2px;box-shadow:0 2px 4px #00000014;border:1px solid #dadde6;background-color:#f7f9fc;display:-ms-flexbox;display:flex}.toastui-editor-toolbar-item-wrapper{margin:7px 5px;height:32px;line-height:32px}.toastui-editor-popup{width:400px;margin-right:auto;background:#fff;z-index:30;position:absolute;border-radius:2px;box-shadow:0 2px 4px #00000014;border:1px solid #dadde6}.toastui-editor-popup-body{padding:15px;font-size:12px}.toastui-editor-popup-body label{font-weight:600;color:#555;display:block;margin:20px 0 5px}.toastui-editor-popup-body .toastui-editor-button-container{text-align:right;margin-top:20px}.toastui-editor-popup-body input[type=text]{width:calc(100% - 26px);height:30px;padding:0 12px;border-radius:2px;border:1px solid #e1e3e9;color:#333}.toastui-editor-popup-body input[type=text]:focus{outline:1px solid #00a9ff;border-color:transparent}.toastui-editor-popup-body input[type=text].disabled{background-color:#f7f9fc;border-color:#e1e3e9;color:#969aa5}.toastui-editor-popup-body input[type=file]{opacity:0;border:none;width:1px;height:1px;position:absolute;top:0;left:0}.toastui-editor-popup-body input.wrong,.toastui-editor-popup-body span.wrong{border-color:#fa2828}.toastui-editor-popup-add-link .toastui-editor-popup-body,.toastui-editor-popup-add-image .toastui-editor-popup-body{padding:0 20px 20px}.toastui-editor-popup-add-image .toastui-editor-tabs{margin:5px 0 10px}.toastui-editor-popup-add-image .toastui-editor-tabs .tab-item{display:inline-block;width:60px;height:40px;line-height:40px;border-bottom:1px solid #dadde6;color:#333;font-size:13px;font-weight:600;text-align:center;cursor:pointer;box-sizing:border-box}.toastui-editor-popup-add-image .toastui-editor-tabs .tab-item:hover{border-bottom:1px solid #cbcfdb}.toastui-editor-popup-add-image .toastui-editor-tabs .tab-item.active{color:#00a9ff;border-bottom:2px solid #00a9ff}.toastui-editor-popup-add-image .toastui-editor-file-name{width:58%;display:inline-block;border-radius:2px;border:1px solid #e1e3e9;color:#dadde6;height:30px;line-height:30px;padding:0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.toastui-editor-popup-add-image .toastui-editor-file-name.has-file{color:#333}.toastui-editor-popup-add-image .toastui-editor-file-select-button{width:33%;margin-left:5px;height:32px;border-radius:2px;border:1px solid #dadde6;background-color:#f7f9fc;vertical-align:top}.toastui-editor-popup-add-image .toastui-editor-file-select-button:hover{border-color:#cbcfdb}.toastui-editor-popup-add-table{width:auto}.toastui-editor-popup-add-table .toastui-editor-table-selection{position:relative}.toastui-editor-popup-add-table .toastui-editor-table-cell{display:table-cell;width:20px;height:20px;border:1px solid #e1e3e9;background:#fff;box-sizing:border-box}.toastui-editor-popup-add-table .toastui-editor-table-cell.header{background:#f7f9fc}.toastui-editor-popup-add-table .toastui-editor-table-row{display:table-row}.toastui-editor-popup-add-table .toastui-editor-table{display:table;border-collapse:collapse}.toastui-editor-popup-add-table .toastui-editor-table-selection-layer{position:absolute;top:0;left:0;border:1px solid #00a9ff;background:rgba(0,169,255,.1);z-index:30}.toastui-editor-popup-add-table .toastui-editor-table-description{margin:5px 0 0;text-align:center;color:#333}.toastui-editor-popup-add-heading{width:auto}.toastui-editor-popup-add-heading .toastui-editor-popup-body{padding:0}.toastui-editor-popup-add-heading h1,.toastui-editor-popup-add-heading h2,.toastui-editor-popup-add-heading h3,.toastui-editor-popup-add-heading h4,.toastui-editor-popup-add-heading h5,.toastui-editor-popup-add-heading h6,.toastui-editor-popup-add-heading ul,.toastui-editor-popup-add-heading p{padding:0;margin:0}.toastui-editor-popup-add-heading ul{padding:5px 0;list-style:none}.toastui-editor-popup-add-heading ul li{padding:4px 12px;cursor:pointer}.toastui-editor-popup-add-heading ul li:hover{background-color:#dff4ff}.toastui-editor-popup-add-heading h1{font-size:24px}.toastui-editor-popup-add-heading h2{font-size:22px}.toastui-editor-popup-add-heading h3{font-size:20px}.toastui-editor-popup-add-heading h4{font-size:18px}.toastui-editor-popup-add-heading h5{font-size:16px}.toastui-editor-popup-add-heading h6{font-size:14px}.toastui-editor-context-menu{position:absolute;width:auto;min-width:197px;color:#333;border-radius:2px;box-shadow:0 2px 4px #00000014;border:1px solid #dadde6;z-index:30;padding:5px 0;background-color:#fff}.toastui-editor-context-menu .menu-group{list-style:none;border-bottom:1px solid #ebedf2;padding:0;margin:0;font-size:13px}.toastui-editor-context-menu .menu-group:last-child{border-bottom:none!important}.toastui-editor-context-menu .menu-item{height:32px;line-height:32px;padding:0 14px;cursor:pointer}.toastui-editor-context-menu span{display:inline-block}.toastui-editor-context-menu span:before{background:url(data:image/png;base64,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) no-repeat;background-size:466px 146px;content:"";width:20px;height:20px;display:inline-block;vertical-align:middle;margin-right:10px}.toastui-editor-context-menu .add-row-up:before{background-position:3px -104px}.toastui-editor-context-menu .add-row-down:before{background-position:-19px -104px}.toastui-editor-context-menu .remove-row:before{background-position:-41px -104px}.toastui-editor-context-menu .add-column-left:before{background-position:-63px -104px}.toastui-editor-context-menu .add-column-right:before{background-position:-85px -104px}.toastui-editor-context-menu .remove-column:before{background-position:-111px -104px}.toastui-editor-context-menu .align-column-left:before{background-position:-129px -104px}.toastui-editor-context-menu .align-column-center:before{background-position:-151px -104px}.toastui-editor-context-menu .align-column-right:before{background-position:-173px -104px}.toastui-editor-context-menu .remove-table:before{background-position:-197px -104px}.toastui-editor-context-menu .disabled span:before{opacity:.3}.toastui-editor-context-menu li:not(.disabled):hover{background-color:#dff4ff}.toastui-editor-context-menu li.disabled{color:#c9ccd5}.toastui-editor-tooltip{position:absolute;background-color:#444;z-index:40;padding:4px 7px;font-size:12px;border-radius:3px;color:#fff;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,나눔바른고딕,Nanum Barun Gothic,맑은고딕,Malgun Gothic,sans-serif}.toastui-editor-tooltip .arrow{content:"";display:inline-block;width:10px;height:10px;background-color:#444;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);position:absolute;top:-3px;left:6px;z-index:-1}.toastui-editor-toolbar-icons{background:url(data:image/png;base64,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) no-repeat;background-size:466px 146px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.toastui-editor-toolbar-icons,.toastui-editor-context-menu span:before{background:url(data:image/png;base64,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P0A9dgflJJi2Szl5led4F57jlvpECs/6vuTjuhR3dAo961VP9UoRby5eaGBuxz2Zy/3pyiWBlJEiA/s5FHaEnU170tGmBChvV5O1/Zske9dQ3upqiLdbfuL3hTpvY+q8m3ELRkrj1xLs36Md8A17jhOutYwTnYufJw89tLmvbxmhJagIVEmgaoW0yvjlXQREQASakkA77LJL42wfGmdpGiktpZBagaFRfQqNsDNGSykNldFTUQ6+3ZQFWEJlRsA6pVmzZjML1sks0hoiosy9vMoqq2wVjg7VEMNQkHbLTzEI7tOqdCoeTd1nn7dK2tjwf2F5Gsro3cVhdS4CItCcBKSQNud9kVQiIAIikIqAjZLSQNu8lGeujZiyW8pvs7mHI6W2tb/tlF28jigvcRfSmLUpw+doZDQvxM0Xb40zpbLKiE03nWtLiOpVRp1A7ZYfl6+4yTPqo5hO4nndFPt4fi+OHTv2Qb5x/Y+4P9lFQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAQ6mYDfyZlX3kVABESgnQgc/WRhlf5F3j6Dvjdw6UT/mnbKm/IiAiIgAiIgAiLQngSkkLbnfVWuREAEOohA7+OFsc8v8w4peN43yfZGlnW/y9t/9kT/2g7CoKyKgAiIgAiIgAi0IIGeFpRZIouACIhA3QSOm1fY4A3f28MiWqXg/fyCyf7CuiMdhQiOmFc4YOEy7zsk/fZhyRe89ww7b8GTI+YXthv0vBO9gjcZ8TdoUBYWer43r8vzzpk1yb+vQWkqmVEmcPQjhY36+rzv0amzI6I0qqy5XC9kdGDumDHeSRdv5T/nHOsx2y0/9bCoFPbIBYX/Vyh4H6KuebNf8BZ3dXl/fvM23oO9vo+TDhEQgUYQ0AhpIygrDREQgaYiMO2hwrYDg96dKDprB4L53qvdXd4ul2zj/66pBK0gzLR5hY8P+N5d5GNEXe773umzJ/m9FaJo2ssoo9+kNXhWUt4aITT8mPnsnYpS+u1GpKc0Ro+AKW8r+rxHkGCd0ZMiSPnlsWO8repVStstP3ndk6nzC5+ifjmDTogPFKfB8/8ibheu0eNdcO5W/tLi6zoXARHIlkDVI6Q8wGcjwjH8LqKxc0oW4uQRZzVyVduTSEW1hErs7zQB7+32vetmTvTvqia90fZrvKmATyAPYyvK4nsraJSdm9W9rpheDR5OnldYa7HvbV/wvXeQp/GDBe9VRjdeLHR7v5u9jf9sDVEqSJsTGBz0LqCsDCmjllfsgZvnfTSe9aqelXjAtPY6ny80pugZpl76J/l4NqlxVSxOs+fLRkbJx5nkZ4SiXZyXvM4ZMeki9TOR5b56R0pz550WQp3lzSXTbvmxkVHyNtrKqOFdJ5TlAMe6FrPd8lMLg3Jhri8Uuucs8M7jGT+2lD+uvZlrZy3u86Yc/lDhs5du4z9Zym+zuPNc7kvbp/+SSf7PmkUmySECaQlUrZBGioyPQuN5mSikecSZFkAtPYlUVGsQ/7tpLL27v+B9hUrgnkKX95VWqLBCLscge9SQLcvK/PlBB0Qm97psWlVePGpe4T39vjf9tYK3N/ekhzxFRzDPZsDzuDd/pUV72bhx3uzzt/BfjjzI0ukEtkwAkOSW/llJiLCiU53PFx1FdxyxoLA7ZX/DtxS8q5/3vZOwj+jtT5CjqfPF82vTdGlbBcecgX7vpMF+ryFTqrt6vA26ewIFZSfqlS46uk5Einqn7ubLOwRV0aizvMXib6v88OrYMZa3UbVmIcuwOLq93Wmb3NrITLGMYHee4V9YmsNkaaQQJdLqLRR6UEav4tneN+ZlOe2ch5iu+zjybkDn3rZcXz+8/h5vwLt/2vzCh1H0noqFaSrr4QsK+xcGvatp9li75wu8G65vKgEljAhUIFC1QkrtMqTIOLNCAqkuu7icmSpQNp6y6Emk4tqBlQYP0pP+uXp70rPJVcVYLqLyTT1CSmwXVYyxwR6ofA/pG/RmUB7HlUuae/P/eMGc/foy73ga7ofMmujfXM6/rnUMgUfJ6UeKcmtuxUf6Z6U4ZJpzRqzwVtfzRZm+zSVFQ8RZK5nNna+hNaNBHhqpjFqCoeJ7EkrpvECAmCzBeW1/+fJOK1MG5S1Mqt3y0+g1o+XuWBayRHE0Whm1jM2a7N9y+LyoLopkKZfpRlwzZfT5ImUU5fNXzHQ7lJluf3UyBCOo8+mI8j2CeKvgvh4K9s298wqTeyf7rzt/TWUWvKMjefxg0CQ6HS3L1+YV1lvqe0fRTtuVjr3NUPgHKBVPwfy2Mb53ycUTfZsWnXiUmbloOvc/uTfziOfqCdt412utbyLChjhOfbiwDfrPnsww244EN+SevNUS5rn5B8bfWY99HwN2N87e2n/I3MsdVU+HopKJaplLJ5N0BkcecaYVi7QNWiYVJjReAfwHW2ikNMA0dV7hGG7qhXbCDb1o9mS/5DSWIMAo/9Ho/iKl8L/jYsDe1v88Sj6ep9J7B+a7ON+U3/i4v+5u76OsE7w/7iZ75xGgEv1AYcC7gxdlS68hLb5zPBvWgJpu7jwTLbuGNP5O6FvubVicz0acjxnHsozwyOpd5+KT2VwE4uWtGSSrt7zF81NvXLXyaAYZ4rJTMSYpoxcyknhc3F/cfuS8wgeZhXUv74mhgRh2MYenbSCX6VEoFPxp873dBru9Qi0dCEc8Wth4cIX3l1Covp7VvQ1mvtf/lxPS4p/6sLdr14DnW2eBc8/TZIBmCsunLiWN1ZLSoa25jN8xyHN58fUqZy4uYDOwvWds5T9THI/O8yPAoNDeKKJn0dZ+d5pUuNd/Qj/6Fp+j+0kp/25KVKnrneCeiTJqoGgIvokb9P1Wg0bP1a5O5i56rpy9Gc1pjxXeBueZMdkep+G9My+VrfkddOkk/yQU6n15aUwau5b3ZvJzEn5fc/5RQkxJ1dHhBOit++2qBW9zysfh9jN7q21o1OG3UNkXAREQgVQEalFGLeKZk/0HaSSf7hKhrXEccWXebp4637swmOI84N1i051demnNwgrvQOcXGW+LK6Pmbsou045vsTToKKhrRo5Lp5xJx+gpKKM/xk+iMmphUWRWRZ7vMyBybnFcVc5cnNjf7z141COFdxbHo/PsCRhn7u8D3qB3Q1pl1KQI/BLGwpa6V5k/WNlnv7ViRFnagS3Ed24VqY//v8KqlJQdTV56MJatv4431+zNegy8EazncpXccyzm3RFFdE6SvBdv6r/BFOpz8LMJ179J/k4b9xZP6yqSYGXkZj2bVDhfmfpIwa2/qSrmesNXk5h95oXycZn9WvWTL9XkV35FQAREoNMI1KqMOk4fn+h9l7ZDMNpI+2795x8JPkHlLtdtmvJGJNF0WxslrSHSSCEl7FUVwh8dplnBW22XUaj3JANnutAoyH9gN4B9aIe92X6cf55rD7vr+P0a8hzuzs3Ebcfo3NZAMxvT/TZY1VuFTmSbn/k9/Nj0XRsMejNK7E/y6CyI5JDFY9nbDv193u/g/aFacVhYi8PiKo6j+jWkxTG06bkV/lJZC75f2OUdRA/QGTw5bipH5J1J8l/g5K7IoYkty18MHvyhdZi+N7f3nf7yJhbXpiH+GwU6OJibfuR5E/2XKsl73uTAT+bTbCql22nX2fThvXw64V7yvZ7X7x2GuW01DOoNX01a8isCIiACSQRqmSI+dpz3VWtYW3w0HM5bsdz7z6S4y7nFp4iX8zea13ofL4zlm8dnIMNBoRw/QkE4rXcL39bCN91RrzJqGdrX9wcOn1/4HW29T9u5P+BthvFbs9d7oLwdSjvyLBcP7ZtrZ23t3WbzXNMeRy0oTGY/DTdtcvGq63s/Lw77lknebaydvZa20352DfMs0n4habpscdhqzo9/vLDO68tZThXujk5+fsVnc/Ys+mzO/xz9ZOHWvte8H/PM7BPIw1KxIx8u/O/Mrf3Hw/SimYvFU5jDsjYff/OnPlS4jVlvv8LezW/i8w8FG1VdG8YhAwKmpL/0kDeBDa8mDAx4azO+P477Y7yqOvwubwvWiVpHQ916I/d9XeT5JUrpJ9kD4x4nSJezyExPIBhZmeh/l16a0xJDFbztE92b0JECFk3XpfJo7um6jxfWoCINFkwj62DP+OYezW3C252bSMEaFi94MaxXSyL1hq8lTYURAREQARFITyBURk8mhCkM9js5dEsfSYN8WkM8YQOjsmtGS4lGJ8Pz0bWMNgyykcRBz5vt4iWNX04Y5x3s++yCUcXRVxg2Xfen57/NX1Yc3Db9CeImDXfN0jYZ3HkWJsro11F2gn0ZaKP9dcya3r8VKaNBMjZ7bcKq3hTyPKTYM7AzOOBtU60MfNZvLumc58LRPjzA2WV63mHzChss/J338b5+b1L/oLchy/NWr0UZRYl9Czy/wa9uZTR2X8aglP40Pn1XCmmMTrXWVQa9HyWG8UdnE45EWSo48jCvVEgLza2QdvfHvhvpeS9RqS2qkD1dbgABemjfyoYKv3KdBST5mt8djJCmSr3e8KkSkScRGEUCNqvG1m7RI/xtevXfMYqiNCRpy2OQ13mFCy3vDUlUiTSCwEEJiSS5JXhrrBPK6Hd4J+3rUqWtU5MyauHREN8XxVNgh9c6D/vOMgrhNUQzNFLFjrFdq3qfr3ak2XYDRn0NRj1NJPJYcrquxW1p2O60ofjdJoPJEp7XZdj34JHlKBcJ9iPLtdGCvI7x9kDma5HpyrdMxKzhQKm9PgqWzY7oUXStarFNrNh0aHP2tJlMHlarNx/co6/xDKxZbzzF4W2klPW/Vzt3KaSORIYmlWBTT3t1WeVjz5si6yZ2ToF7spm/sWUyvq/Pe4GKK+g9RO71rQI0dx2jS4Cet+8jwTsDKXxvKTsZ75Zmi28ndb3hXTwyRSAtgZ5x3vuYInmL/caNjb43mDZ41f54IdxAoKOZkfINppg9OnVB4ctVR9IiASxvlscgr+yiGea9RaSXmO1AwHbHpY1gGxoGB0rLReV203X+ksyj5xXehXv0jWrWeD6Y5C+tGwrglkzTtWm14yyMtb3G+t5ul2zhL0kbh/M3d763Mw2iCeH5wrds481x15JMS8PSsjTD6+NMFpMpyX81bowO2NrRVcMwD6fZzXf2Vv4/uS/7sxnlv/f6fn816Tm/41f3/uzstA/XjewdbJn6kPdelk1Zua37YHT0I7S631N3RCUi4Dn9kO3Ya5elkJaAlMb5DdaRJvnjYf9DknuzubEWIhodpcDd1mzyFctz+GS/jxfLo879VW/lVBXnJrOxBGzKDy+h3cJUB5jGvmc1n9WpN3xjc9sSqbmGhgkbt7eE8I0Q0pRR6mjrjd/afgNd3idyT9f3PhxLYzxTlX7A7pI31rr5VyyuprFaXixPljeEGh8JNjzvkbMsLUkgaVZYktuoZg7N5tRIAN97YMIk7/jovAqLjTTR6PgB7aOxFoz2x6/pbI0+B1VFVIFXmzmAAng7J64zfSGt8F3KfY+zXBq8ew+MXb8GpY5Bz/JHkBZp4mth6HMtk6nemRvIEo1GE+8VYdy5G4uXBmt6h9IpDG0+lXuiTZyATdPNShm1bFLmp+SdXft8jKUhhbQG0jYFielIJ/MQn1Ei+BMl3JvKuZU+9xKBG9pKPDjlQTmXntCJ0TVZGkqAj4SvxtvvQpco92MmC9Rtg4FUR73hUyXSYZ5mTfSuRtmaYj+zd1j2K2Y3Ukb5RFfgmW9HM28tdZmtmEAJD/QCj3jX0oD7HA2Hx3iXfLZEsJZxDvJAXoI8FUmdlPciLzodBQL2LWZ2Nz2QDWZWSZu8bWCE3+/yM2XGft8N3bA2x3HCI4XVaUV/MpLG9w6NK2o2zZXOk2gKbuSvyBJ8u3O+dwnld4foUql9QyIPpS1HLyi8mU9l3IkPN4X9NTpwP806yGdLhyp9xb6QwPt3L+eDxX0lp+s6P860NC1tzl8L3TYw2QIZnacqTGPFs/9RF4QlOzc5e94m6a5UhFdOR8472aaM39ZNo9xtnplwXd7GxLVRZvGViIh7+G7qo20owzqSCMQ/6lx8PVgxXqYfqsf3Li8O02znVpm9/oK3o8mFItH0n3tx/Mas5c1gd7avWAHmt2q/593HS/XkCRO9S+IvHedfZn4EXujypvISe7ulQBl6nnuzslc6RbL1hk+RRFkvwW7ZvreHeVqFaUvt8OmXcEOMoGEyu2zuO+9ikjJKY3O/5SvqXxNWK03SX5/fTdRh/7Xm6t5x33uPv7jWuEYj3El/LIxftNS7gOm5Xx6N9JVmbQQYyT6m0D/UmbjiNW/qtMcLu6aZMhqucfw6qdqvKY/XrUHuRjR97++zJ/rDBgjmLPDuMiWTZ+6eCet4n076soApWEfMD753PtVlkk6+75X6xJzzU8qE7xrsvHwrcm0a+lmOQrgHnxyLZnyVClvKfdmLdGitnInwR76ZuqCU3yR3S5upunswsGJK8jiYbLrC825F1o+nKQvxOKc95r2T82jUt1YlOx5nGjujujuyPOBrzi/3KNNO2N5nCuOe/1cweudGoq+asK73raQy42RoVBiXXty03XQ5r3vNqIsTnh+iXDTkQJHec0SvbUNSbuNEuIE3z5jou0XjTZvTVvvciwNpu7NRkVuv4Auh22o8MBezgcFjvGD2tR4i51dmvgRohEY9k1D/VrkNDJIkqTd8Upxp3aY9VNh2me89wcv4UvuZ3dzShpe/1iJQShntX+79vhlyQh325deWeI9Mm1f4WDPIk0YGk9VkNtnT+Jef5iAQKKOxmS1I9bGBZd5tpjQ1h4R1SjG4ch0hZXPl+kKitdFR3N5vKWDusPDlYP+DYQk6ZZR2+BHRBTbdodPbdhmt+rBP5Qwu836GMmobzNjBKgFvfxTC+4ZOa/tnavwUF5J255XOXo1pMpgshBkIwiGjyWoyVxMPMz2iEWc6p3OtU002FOlJtPe+G/vki4m7YMI2sQ2OqspAsufnX/b+g3JgG/pMCH9fM7dk30OujQqTJANlwhTSzA7aRtmNtlaQivbgdnWNkJYbRayQdvtezmAHtkbA4eZH60epzEZ9/SiVy9k88Ce4ns1yDPjO64iDl4s9ONctnO95lMsR11M7+N4KKtRz6Qk9JXWYBI/V5CcheHZOGeWnWKBpjxXeNrDC+wD3y4ZH+3idTSXPF5g/7sXjlKkfMGX08lJb2Ncbvlieas8p/xcge7A9fRAWe+AWm3Zk7rnfx5zuTyUe7ZqvpHw3uzIak/mdg3y3j8bWB0qNnNR93zIqb7YJCpOEfsUzlHq6ZyyfkbVZ8hMJ1OaWBGXU5dgppalGSi3QsY8V3vLGgNdTz5pKl3iWJpsOvYyC5I5hG7vYN0Upu6fR0J4ReCh4U45cULhi5kT/LhfgiAXeYbzWhimjG0z0Dq5lBpZ1kNNZ/kPii6YQowBOZcOfG116tZhfm1dYb4kXrAMNgvf01D4yaLKwl8NUnufvW2Qm6/PLkblQOKDU+7tYZsKsF3P7a8xet7VYz+AzQyMO2hsvwmDvWu7RiMiGOxww/DQ4M7fjEtydU6PCuPQi074zatPVsjrgum7QxssqwvLxbMizoSNLAjyYh/IR5e9lGWcecVHQViqkzbGh0TEU/Op65fIAMyTDMRlE3W75GYaEz7zszf0aqvoK3hhsk1FE7Tux1stuOxxexov9V6U++VBv+GHC1HaStKtgklu+9zG78lYthZbOl+2M63bJNYWzVOZbSBkNssBzw+xxb+dS+cG9vvuWUXkzGU3WMnKmvdQU+UkrbCv7G6GMFrzf0g44O5Ynp5RWHCllV8xDlr/h/R+K37MoDMfG4miYFWWvh7S/Qb6usu9Yu4TX6vf+xIvJqaRvL96sh86emfi9xfmng3v49OOVI5nW2Xplrcqoxf/CQ95neE72c2nB+1sogJe781pNlFGbnTTGwpPXX8/Yyn+m1rgsnMlksrk4TOZpDw0tZ3FuZc1CNF3XvLl1qWWDZHaRLy+wH8pt6/V4f88szpURLV1pjWxJbtFFLEnXk9zqDRMPH9iZqTZuhGMdDiwMXqeO4FUFpfy9ta4R0qpS6yTPBe/EafMLc/iMyu3NmG1k24RKeBOTjULwVJN87uUiatZUI6S5MmUEgfgvyiCNdsvPcCTxl/bwK9EZL7WdlvNCp6f1EyN6WusNH6VSs8XW7nykKHTSep5872N25a0oKxVPWzpf4c64W1suqcOuRfHcr3j6baspo8Edozz0FMpuslTffcuovNEIvotG4IoMOhGbIj/xp2XsOO+r8fNUdttJGC09OLDXEocLniq9Kj0lKaP9Xd6BhWXe63TsLCe6M8MonVJacqTUlFHyaqNptpGNHRcw6uij6F0wdJr/vymjz88PRgX3CWTo82ztdbDe87uT/dcYeZ+LjJ8IJBn0LsHcLS5VT5d3JJ8b2z1wK3g72ifkLJydo+X9B9rsWOJ9lGm65+cw6hYXpTY7m9ZF5a2KzYxqSyxVqNWcL7gljGG6qzmY1jFe8A5iVHcjpvPuWu23XMtJxLvlP2nHDGsPmlszhCknQytegzOvlCqP+PD5pZO5NRkcecSZVqx42mnDpPEHmWcnjPPeneXDkSbdNH7iLydu4EWzJ/uj0sOZRtZq/NiurS/43peYjnM84YZN1eF+3MwGBl8otxi9mrQ63S9l6I+8eN4dcGDKLuXoe10D3k/snClTe3PtRF4SwYg37A9jCnQwHchxqze8i6dW03aYZP3JHci4dhCH773azVb4fLLmd7XGqXDZEYjXy33LvQ2LY7YR0oFuvrkX2y3XevWdUpqFMkpDPepxr/ddF89PcV5i5890e95Bl0z2/zfm1rRWW0PKwrMfIeA7KwlZL79K8dd7PeX9qTeZ1OHr5RXPD3XzsdTHF0aJMzLqlFHnRln/MnanlJrz/3av6o1QSiNl1M2OcRFgsrfD8XGlNC5DvfmJJeM5ZZQ87ePcSfvLpP3f7hyFdCfqg2gableXdww7wF/srpvJO+hvxPE2s/Pt7A/kUfcjq03ZvcrqJkvHDqYlfqWeUVIbDWaG0V+GYvP6elb3Npj5Xv9f4XlNBlN2D3VTdi0C3tnXsuQm9ZRddtm2bywHilsWbcpKZcdmXrG2ajIynwjb7aJM+95Mvml6VHSegYWytC/vmaFpuGyaRFvm+krRNipMsRxTH6Tc+97qxe41n3d7s8j7iPdvzfGVD/hnjZCWAFSpArUHYlmXtyO7jNr03I2Ko+EheccLbwTbat9cfG20zymwu1LIgoOKfNTXj2bFo3ey/zpxzWTjgtl3L/D2RzE9g/OgscT9+CyLzW/k2u62jiSrNDs1HorP213e6Sa/nB0ErRfaHZeMXTVYi3KKOcD+EIxhCmm94V1CtZqse/otz/Dmb8R32d3Gt88YtORhn24YXOx9jBf05tRJy1CuH754G2/+iJHplszdSKFtZ1wbFbWGU6CUopia3dzMd+QenHivUAYjZXVkbKPvgrwtt8uuKc7ssruV7bILX1NodDQhAerassqoiUynz3+hlNrhlNIRI6UjlFHfe4Rnz0ZXP2gBed+ez0ipF1dKzT3LwzYlYpfcq8hTpIzy7JwfV0YtPdsNFyXrR9SHB9k5ylIvyuHM3vh3On3vaeQPFFL2QHiT+cv6sPQYtTv4+WXeusj8SYsfmWYj20u2drOm9PpD5cgC+97tGSije5pMThYUyl8ymHJwVe+OgveKC0/7ch1nz8sMd8T/Off0FhT+M6l/vmlpIfsRRz5cmDVza//xrNIOFdCKSmg8vUaFiadpdjpWXmXkPzOFFK7/gmmjFNK/SyEtvqMpz8MH4prjHy/c8foyKuYkpXQwaBw1lUJqn3tZ9oK3A5WjPbzLVlnfuydlllvGW6hwXsn22z+xLbvJa7AtOA/Xp+bMDxajn9cymWlWQX3WKlgh4kD5+fGQbeW/jZYyrTJQSGkwbLHySmirN/yICKt3CJ/hy6oP2VwhaAQe1rfIO43yHb04aICxIZN3N73ph87a0n+6uSTORhobDU1SSoPYS4ycZpNydrHwbPyTdT+H8ZmEm7KLtXExhZ+pOeTwhwo3s23/ZZTB9RuXej4p8V6s/v3ANF3yHiwB4J7eT934QLXSufdUteFS+08YGY2HLaeUDrzhfYE8fZ8feDhQRgtvePsNrOL1M8X8SlwaopTetcA7Fxn2DWQYkuMCGv9fjc5jlp61vMNWLKJOLARrsucNU0bNXyGc4WNW36trhDGW7AirzZJjB+PPDyz37ibNyXjg08feNdTbu6BI3zciQAUH6vYDnZfuOqfrIsN2dCRcYzIFcfIdz65x3uerndnHwMbfiGcoikLC+37oUub/gcJfKJyKUrodz5/9uvoHvENJ6PjME2uBCP0u73l6PKJ2QL0ic1+fgGnS3hr1Rj0iPLMY7pNCOgJLdQ7nb+G/TM/hSRSCEd8/4vlsyI2sRmL73AtyMX7F4Xtzz3+b39j5/tUIW6ffcHruCUwnWUElHmzZTt6/eem8wkWHT/b76oy+o4PTKqGeGmqc8D27qstQveE7Gn4s86wH34P14JfGnOLWjxf6vDuYyr5VOHsgfq0t7ElKaZQxv3lGRinv/Twvw963uN2Ey2GXbuX/M5K5RS2XolBPfaTwALXqZeTzc/FsWN7j581uZ7ZH2TViSfKHa0YDhRSl44Fa4mCEMvqeYlIadblVUEZd3ElKKZ8BmUdNvxn54lZyhMooIzGLrObvX9WbkqSUOgXFxV2vyRTxXajrjnPxoPhfiDJaUvGwT8Th9xOMmG02YyvvyXgliSK2JfJNCONaPm597wkXbx6mfdfz6AWF3Wh0/JoX56akMY70f44c26OUPpo2TfxPItx7Qv+LGVCoecAjZPBzk8Xig+eTY3xvt4uRNYw/tVFYxVvgL2eQHIUQ5X4L+xZno5ZHmVLKe/Acpr0FU3cppLukFrzNPK63jff8wt95r5Ot1bLIGvfzN8QTzDrKIr5ycdAxeyPT2XXUS2DVQW9uUhw8GEPTQZIujpIbitnK3XXbaLpuOZxv2cY7zSrb0M86DGd/vJx/XatMgIoqeonamtHiEHE3/I6YPlNv+OL0OvWcnvY1Xd4p43/lN4NK/QfUPUEnAZw3YR7yCc5PO5qmlJLP/WgoR9PGzG5ubk3pqOebzr+YDIvpyT6Etft7zm4DZdTly/JiebK84bbYuXMv5kZ2WRpPIKUy6gQzpRT7qe6cDoZ3JyqjoQfbGKnfNtnxvAddGJSm8509KxOFw5bgBAf13K9QRiPl1LknmUzf/HN8+mnwLVLPuzzm9/ZGdMxfPNF/kQWkpiy5pSFrwen24l2AY3KNsFLfG+fgoI7/Wa1yW5qWNhGtFUa30GQLZAwdqjFM4aa+HXrPs3fEC/8KlqtVE0VdftmBal4sgrfH7B1lNeUcxS67zpVBprV73nN5Q6Qs/4llVA9JIc2TtG/r15vroCJfqZA2x+decgfEQ2o99NbTExy82DZxdpm1EaAcXeJC0mA5kTWj02yjGfuZ3dzcdfz+wNmdWW94F0+nmzTKrmKqy+eoaQ5m3c9mnB/N2qRDOf+yYwPr7Zy9Xc1IKfW8h4MRnGZSRoE+jl0geeleFPy6vS1nT/St0d+Wh+XNJ48uv5b3tsxoi2SqeAOjNGIXK6VBmPjIaFEkSUppkZe6To+dVzAl44NhJMup375SS4Ts+O7fNd+bgfK0bRCe/VmZlnhWLXHVEoap+c+S3qcJ+1oYfgNm193J6OmbK8VnijT7NUSjVYVu76pKYZKuB2mRJtc2CK+/ZjKZbEn+07rxnvmp88v3lP/d2WU2lsBlk9kLoyfa9KruxGnLXVl3JBUiQIn+lnnpqeBPl1MQCDc3GuGTSu8fIxxH0aFJP/fSKCKuV9KjAT++UYm2azrswHc53xndjzK+E73ntkX+KW7NKOfRwUtqjvmdHbkMWeoNXxRdR5+ye+TIaVvd3u9p6AQH98g1PNqaUzgaunszZjJcr3xsM8qWh0xh47Zj8psHw6ziNGWxlrjC6bvLqT9OoHPhocIK7/hgmm6JyAKltGj6bgmvVTuvWKmMWthHalGeTBllXb11pE51AqDgnUUH3nx33gjTpugyXXYPRihNKRwH303J362sM/24jTSWkuGuh3nXetE044U7b+3NiU9DLhUu7k4aazCd/Fbe0TZt2I7lKKN7VDNteCjYyH9/jPdjykhveGWvo+YV3j9jsv/YSJ8rXdiMb82+14I126uPWcv7UjjNeqWHlDbbcTfW7vhbymBt6232Nt4fpj5E9vqHf22ilgyzN8D9rDD+I3zfU0v4SmFoI/6GTszgCw1NN4JXSfhmu86mRuvQ8LOddkccVOLxaQQjrjfaIdhdN0yUSvC2Rqc/qukVvI1d+rTTI+XUucmsjoBNgWLkY4opnKVC2rUhP+5zdSt91ht+ZUyyJRFg7eiXnDv34XfOLlMEREAE0hJAKb26/w1vYt8b3iHllFEXX14jpbyzoxFEGq2/d+mlNROVUd/78axJ3vS0cWTpzzYzIh/7EycTtjjY7Ii1uj9jR96xwXnCHxsFrpyuy47i1X4twOK2NCytMHr6kL39TZaE5Kp2ss3zeNcMjZKy3php3JexC27JQS+udbEZ3/X0Xx/Kb//+RcFmRFWna/FQPqIZWcRlin5HH9a+unSi/wQjj6aD1NQhFQeIvnAe+syiuFsWduL8V0/Pyl2jKY86aiFgn31hM6P9S+2wa3ECu7ZtvWsRKEUYeuR2c966fXrJWuj42rzCenw37O7g90jhfdWIzjcnN4wr42MGPes70lEnARv1YaTzE7yEDiOqBzGX2C+0H2bXwpGhxJTqDZ8YqRzZXbfwGSqf+GYfI0dQxUkEREAEciBgSilKwYFZRs265GhNMtNBN6wm7lLK6ISJ3hfja0uriTMLv/bZFxrg0WgtzD75/HLvhyZvcfz2dQSUrr2ce/fQzsbutKJpSlsQd/jpGQtgadf86ZkSKRLn13n3MOAb7Hr4oefne5fbVONi76aoLlzgzULR+ZRdo90wyD2uul0W5Gvosy/BshSLp6d72Prg4qQ76tym726wrXf3mB5vfk+X93eGBpZyf4Y6QaogwSjpC3j/Dj9b/pbV0cc9/7cZW/nPuAhL9l44D51qxj/Mm8Qg2DGEGqLM8Zetm0ghbfXPvSz1vb2ovHYMePd79zHl5bNpevYs36//k46BwtC3maiwnpgxqfw0kjL3VJeKCIQv9O/jbL9hR/E03WEXw5N6wyfFmdbNOpWGfYfU1l60+EEn2VaU9Wv4DTVq+E4d60r/p8WzJfFFQARaiADT55eF3zXNRuou709uCQJ122RTaMK9IcrGX04ZJXz5FlzZmLO5iEJ4OR2Ib6Ftc5bFiLnftPnBmr1b4im88U/vs5y7pUZ/nDnZXxC/Xsn+wnxvVxTeaP0p7aBv0X66vFK4aq9fMsl/irbzSYS7wMKS5sF8am+TIxcUprMT74Njl3njWeL2UT7TchIXt3XxI8/0S7bx73fnmPYuDpaa8Emp3djFe9gAir27bZou8ZwIs0AZtbCkl+k3SC3OVj/Ccm7LB+1Xz/FzvljxQGHQ+ymc160nIhsZNWWU5Ub3xOOhQ0NHHgR4wE5spk+LtPrnXhjRvROmrwT3quCtzWjv3VR8s1gTMaHU/ePh2ZVvrv7aXmDODz1EVlnq6HAC0x4qbLuMzgnK0aX2M7u5tTKWoxYU3kqj7Re8oNcI8/HMGgVtLtHK91Syi4AIsHByK28e73/3eaT1XniIkbgKR7Mro058OgzPxn6xO08y0Zyj6brsgVHTZkaxeC8O04w5ZWe9dLJ/IbFF/dEoLx9luvevBpZ5ixnI+QfvqBt4R0XvWu7rFZds4xmD6EBhmRudDHi32ABR/Gfx8Amgm+PKKPHM2WCc99UonCyZEzAFsmeMty2sf1Nr5BbW4ihWRi0+jZDGemJqBTwinO+d02yjEq3+uZeZE/2/8j2x7fr7g63KN4K5TQOZOrjcO4wexvlUTPOpxJYy2cXc34USujl5flfRvflPeiSH9TwWXddphxCgbFxAGVk7yq51cpgbL8/IDQtl62xeqCfgd2zcPTM705sot+dSX5xST5wn/bEwftHSYBq+PRt2vMacrM+cN9F/aeh0+H+r5Gu41K17ljvvtGgyKm/tlp+0+ORvdAjYKA/Ldc4ndZs2yAcvvVPpQJxTNKoWCdcqyqgTePYk71hGRu+w8+I2ypF/KKzbv3Roaqtd765hd91LJrFp0nzvM0nxm1vWB0rpEdyvp4j3P3h/JuoZKCZv8F49iXffRZH2GgoyZox30oq+IM/rVJKNeCgO3ix2mf9q7xZ+MF24Uhhdr51AOMX2w8zG2ps5BmfB/t1pYqOd8yfbTddtYJQUJrGgJHlsVzfriQGoLS7P5kAZ3WBi5d67bBJLjqVSY4GG90X0Nl0UhM6ogZIsSbaufE/s8aMfKXy4r8+7lHsWrIdFEbVRfutt2xa3YM6GGUVHH5XW6Xn2Chalp9PmJ7BlgohJbsfkpoyaAKbo+t4x2GpWSG2zioVLvf8hrq3CPPWxXuTf6MR5IjxPMpo9X9GUra4eb4PB/sZuRGZpxqCZLPUe+fJOK10G5S1Mqt3yk5ag/I0SAaZCXcSDaCOFW1i9OTDgzUXpOXPCJO878em79jWBqQuCT41t70Tl/f9jWzPaDNN0nUxxM1y6kthZ3r/M2xO/Y8w/+bg/vuYuHkc5e7n4y4Wr5xrfJD6P753+FKXlONppO/Ge25j7tog8PEO8t45h06OLJ/Ft1oTj4q3852jrbUVb73u063bES7w+Ng62V8XfuHYnCvrl1jZMiEZOORJg06SfEP1P2KNlG+7xnugVNnV6Q+7NWy1Z7rlNEf47I/r3oYjeaN8ZNfdyR/UKqS1YHnqpZdcTkUec5XIdu1ZNT0wsWJL1L9yIE5tkZDR9YyG7BkoSk8zdrKIi0t2ZjvsJCvw3qJA+FpTH5JSW0+FwXXePd44qrGRAHez6KHn/SFH+za34uIgXaa4jpCQ41DlUnHKKc9vUgc0hfsQzsHPkne8FMp1pOzqm3NqaJ9lg6uqwUeK8NXW+YD6PPO1hwvL82i7mJzVKKTVlNExziJXJUv+RL++08tm7to7yFkum3fITdYCMXcXbecUb3l2xvOZutTR5l7kjiw6QdsuP1zvZf/3oeYXP9aGU8e5fH1hjYHbGwvnecXSwz+Ndv5B6430Dnvf+eJuAdllTK6PuppcyWWa0OCobfvmpvaXiGC338PM8x9WSftjWO6CWsArTOAKhollR2UwjEc9wdYeNvhHCevQvqneamUs5jzhd3GlMemI2KtUTUyq89dBYDwAArSK8cWt+zbJmtNII6bA8tdAI6TC5wxP7rtbACm97tkR/K+ssVude9DBm+gqV+JM9a3q/rfW7Vklpya19CNCr94HCAFOk3LRd33u1u8vbhSlgLfWJFJ71famHrqt0Z6ivplBf17v2qFIymV1n07LtaITNJW+jus8B3NjU09sxzQZqmWVeETWcACNtV1PespspVUcOKG/XMLpUV0O83fITx3nEo4WNB1d4N+O2Rdw9yc7z+z1GRr/RrCOjSTInuTHq+3naNz3U4dcnXZebCLQDAeo+HSIgAiLQeQTaYZfdI+YV9qGhUrGR0moKqZVGlG2bxnzGaCmloTJ6Ksrotzvv6eisHFunNGvWHiHX64xyzl8eO8bbKhwdqlmUdstPMYjgqwH/9I6mQ/F4OhKYzTvi+F82kzjtksn+3SOuyEEERKApCUghbcrbIqFEQAREIB0BGyXF5+ZlfCdN2S3jvXku2UgpCveJNDxtp+xh64hylNKm/s1jaPYcjYzmSLnJoq5lplSGWVhIY2yuLSGqVxl1MrVbfly+4qZtXnT0Q96kPs/btKvgjUc5fbHH9x6cMdG39Ws6REAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERAACviiIgAiIgAgMJ7DPPvvshMuNoeueN9xww5zhPnQmAiIgAiIgAiIgAiKQBYGeLCJRHCIgAiLQTgR839++UCiMtzyZHUMKaTvd4AzzctBBB627bNmydxDlwNixY5++6qqrFmUYvaISAREQAREQgbYnkJlCOtojCl/4whd2HRwcvIw7tlHOd+25rq6uw6677rrbck6nraKv4v5kwrfR6eV9s9otP3nzUvyNJVBF+axXsEzqh3qFsPC883bHOAVl9EOYwWyjFStW9OM+h06MM66//vpfmz8dIiACIiACIiAC5Ql0lb+c/mo4imAjCuNDe/rAGfhskDJqkm4UppWB1J0TRRX3JxO+jU4v7zvZbvnJm5fibyyBKspnvYJlUj/UIwQKZ/e+++47gzh+we/D/OJLX6yTdxdG1+/DTy92HSIgAiIgAiIgAhUIZKaQVkinEZfzHhmN56GRacXTbWV7Ncyq8VuKSTVxVOO3VHp5u1cjYzV+a5KbxvYtNMwLZtYUgQKNOoGM72HuZS4GrJFpxZINRkW76XD9IQrnke4C54PY/8TvaeeG6eNnupTSGBFZRUAEREAERKAEgcym7JaIf1Sc2YAk3mOdmQzWAM8ssg6OqNT9yYtvo9PL+9Y2Q35obO9m+XRm3nlW/NkTcPfOmdmn0F4xUj85ZfTAWM5uYt3oEVdeeeVCc8PPJhiX89vBzmF7GkrpLzV912joEAEREAEREIFkAjUrpLx4d4pPzeXFu6NLwuzxnmHO76URrU1BHCCZIiACTUGg1NpH6qxIPuzTqe+mRw5DlqZZy1gkl05zIJCkjPL+uwRFMxoptWR5zz2F352x3sXPlFIbKT0N81P8dIiACIiACIiACCQQqFkhJa4bedEGu1AmxLsD14Ie4vDaYsw1E/zJSQREQARGjUAdax/dWsa3jZrwSrghBNIqo04YlNIBwhzK+ZOh204HHnjgmtp91xGSKQIiIAIiIALDCdSjkA6PSWciIAIdT6DUiGMZMKM90ljPesR6wpZBUvlSM3MuNaU8nitm0Eyn07LX3Bhp7GWk8fT49SQ7St7KYeskDzm4VauMOhHCkVJbU7oxvx523zXzYXddpgiIgAiIgAiIwEoC9SikeyZM2XWjovdwba5LhobHvc4uUwREoH0J1DDiqJHGGoqDONcArYYgvMdm8v6K1oxyPmKabplo+9w1PhXWThsIumzJFAEREAEREIFMCNSskNIDbGtCo3WhtmaUF3egkJoySo93byYStmkkNYxw1EoilxEoRg52QqAbQ6H2DMtDrTI2fbhOy28dN6SWUcNawtQhYlsErYVZLWHaAlYtmaCO3gfF/3AXthpldMqUKRswKrop70QLXiCeZ108MkVABERABERABIYTqFkhHR5Nc52NxtSuagnUMMJRbRLOfy4jUDTOtqexFawhNjuJRZ0TLuF2Mjstv+1075QXEaiFAHV0rwvH839D8QZG7lqxSb3o00E7G3c3KvoAHXYvF/vTuQiIgAiIgAiIwBCBdlJInyNLjRoBsLTqPRolq8nZyLTq5aLwItBIAvXUG1nUA43Mq9JKSYBOzU3wunnofUl3d/c0s3/5y18ev2TJkq9jXbTaaqtdeMUVVywP/UQGI6szOPmsc0CZPdvZZYqACIiACIiACIwk0DPSqTYXeoVtnajtpmvfXjN7Qw+W6BzWoFHHYApslpmj91zfTc0SqOISgZQE6qg3Mq8HUoosbw0ggBK5Ge8xl9LD11xzzUt2gjL6Jdy/afbXX399IsYXzO4ORkZtzWmgvIZuMxhZvdVdlykCIiACIiACIjCSQGYKabiGcNQ+7XLdddfdRvb0CYaR9zgTF1tDadNWXWQ0unaM220Ncey85b8722n5dfcuA9NGDasdkbcwo3KUqjfCNfHTTSjK/elNuCa+pTiPys2tI1HueVdMIe13UeH2h5h9X0ZDb6EM/cjcKDMnx5VR4rhq8803P5Z3owsiUwREQAREQAREIIFAZgppQtxyai8Cnfbd2U7LbyaltYYRR4001kBenGuAViIInU/dKI9ncPnT/E61EU34PsWMGxdiEn7WQLFcwu+X2H/AhUPsIgroKRiBQop9L3Ozw5RRzg/u7e2NIhm6on8REAEREAEREIFiAlJIi4noXAREoGYCpUYca44w44Bpd7dGmYhSxj4dJSQYLY0cR1py2c16ZDJDLs3MmZHCSqwsEzvE8rZDmjDxexILW5fVlFEi+BFxH2ARoUjadNxbmaL7R2T6C+7v4nw87udiTuXnjR079qt9fX37cW11fpsdcMABm1599dVPosR+ByX2DPzegvupKK8D5l+HCIiACIiACIhAeQJSSMvz0dWVBDrtu7Mtl18awLmsRV5ZBFrfluM681x2s25F4ihjvdXIjf+P499+DT2cMkqigTJqiSPLTTEhvo3dRkPN/XD8X88zNueqq65ahH0BztvZtYGBgU0wnqSTwMLGw9tlHSIgAiIgAiIgAhUIlFRI044kVIg/zeWGjiw4gWhQ7IS9rb+jmaWCYg0xeNkvOBg96KWRFoxyMCLQdt+d7bT8uvtar5lDvZF1/VDt+tZqkGQWdwtwrIZLU/ql3rqQOixSRjmfyXTdc5ywKJj/TT23O+efNzeuvxfD1YE2shocxKFpuQ6GTBEQAREQARGogUBJhTTHkYRiMUdlZIHGRdN8RxPluFAMpdx5lopmuXR0TQSqJZBDvTEq9UO1+c7afytzpG7tTcFjBxS5YFQU/3fj/55KYfCfJt5K0QTXUfg/A+MjnWdkuARl9Ch3biZuBermKZjHk/b4NdZYI1gruv/++6/X39+/tfPb09PzpLPLFAEREAEREAERqJ5ASYWUqDLr7U8hViPTSiFOQ7w812DGDcmUEmkOAjYDgIb0+2hIz6QDI1rLZt9RXLx48ZGsd7uNEaBHcpA2j2c5jzhzyHqmUeaR5zziHJFpFLvTRzgWOYRrRt003XvShKFM9xZFU/Mpz4VtRhQcPCc3kn6knDp3M3l2lmHY1N3gIJyP7LM4Wc0cCPt71o8+HVzUnwiIgAiIgAiIQE0EyimkUYR5jchVOzIYCdQGlhp2yWyqXNMwuxeBRu27s42G0Ur5NWUUPncis+0e+mHOp5hSGiqjt3PtI4wOfZPNWCbZZiyNZqn0RKAWAlm9h8IRzg+GMgzwnByRRh78mTI6E797O/+4VVS+nV+ZIiACIiACIiACyQRSKaTJQVvL1RrpNM63d1LTkNgxbqeh0Rs7z/07mlntkkm+3k++foLs88nTF2m0rbB84D4W9yuwTsJ9b9wfM/esDuKztVSj9t3ZrPKRNp5Wyi/33UZGgzVumPtx7qF8TmNk9Bfk9yNhnscz7XBj7J2mkOY5M8Hi1tHkBOiMeSci+iYmz8afGR19vpLIPEc+03xn4C9SXgk7m7BW9+oQAREQAREQARGog0DHKKQwasvvStIomkVjaTPyZ781UUSDDTiw/wx325DDGl02xexjZtfR/gS47zO55x/G3M9yayafqbBvLK4dy/3ZNKbviJ13hDXHmQn6nmrrlKBoCjvPRsV3IH4CZRRzmssiz9dVm2++eeI0X+dHpgiIgAiIgAiIQDoCFV/G6aKRr9EiQCPJPjPw0TB9U0B/RmPJx303J1Pox53KbHMCjOYO0DFhm7EEymiY3WHKKH6+lRMGGyXMeq2ixZnJkXZmgs2Y4LmZbonC8XSU995MBEgfSVNzTJ+N+nxSjjNfC73qqqs+vXTpUlNKbRbBJqTxTp6HZ5IkpQy4abrxkVFTRg/q7e3V7rpJ0OQmAiIgAiIgAlUS6KrSfyt7t+9Knu5+ZOSeWGbuce5m4r5n7FpTW2lInYPMZ8aE3D2ujNo18xO7LmsHEOCeD6y22mrWiH61KLtPcB4oWkXumZzaCCQRZaZAWlxhnJnI1yqRiGOw7MCthb6QeuxKFMdgGnpsLfR3mH57H9PRN63mvl5xxRX2TMwNw9jU3ctRLke8C00ZTZimK2U0BCdDBERABERABLIi0JNVRM0eDw10W/Nov+AIR0B2sBMaOy39HU1Gb04jPz00oL4xlLuhf/L1bbsWd5O9MwiEjfZbyG18ZNQyv3nYuA82OsqaRtoRyKzTbbf4xDGol/NcC22deDuH5Wanxx9//JcovIfynghGSrFPoE6dzfXPubLFcyNl1MGQKQIiIAIiIAIZEkilkPJyLmSYpqLKmAD3ZyzK6JbF0eK2lV2jkRVsdFR8fbTOG12eGp1e3lyT8sM9DjZpsbRjI0huAyNztpHRzc1CuQg2OiKeXJRSS0NH5xJIKp/FNCiDkRP2XsL0mkO8HOOe21po0rmHNM8mSff5FxuN/QtuT6F49pO2rckPRmQxrdNSyqiB0CECIiACIiACORAYMU0plkaW0+5i0SZaG5lWogCt6kgDaiyy/4xfsIFRUT6CNaWhn6JLDT+t5h5X47dURqqJoxq/pdLL2z21jPadUYSJK6PW8N6SRvW1Tkga3KaU7uHOZYpAnQRSl8+06aA02idZbC10VG4JGx/xPxs/Na+FZvbIqcRnz4Y7rFNnDxHlOwAAEdBJREFUU9J8L2ZcGZ2pNaMOkUwREAEREAERyJ5ASYU0hzVMpaQflTViNDruRSD7jubi0F5KvqZ2p7FmO+hGyijnZ9ovJvTuoZ+YU+OtVZSnTMpDo9PLm2gV+fHwexvyBN+IxQwa7QmN++co97+pVW7K1K1hWJsW3HZHu9QP5W5MlvewmvJZTqbia1Zu81oLTf4LptBi2tKNu/hFu+9iL+Buz8dnUFyP0gZGkNAhAiIgAiIgAjkRiKb55RS/os2ZAOucbqbxHIx00YA6060Zxf0M3G0EwI6baXhFa6GGnPTfzgRsoxf7zijlYdinXRgtt5Gfz/J7gDLxfDszUN5an0CJ6edBxqjvrqWOy2za+Re/+MW1ly1btjGRd6NgP3PNNde81PoElQMREAEREAERaH4CUkib/x6VlRDF400oHhfgaT7Kx0Vxzyilx3A+qaen57irr776lfg12UVABESgmQmUUEajtdAme9ZKaTPzkGwiIAIiIAIi0K4EpJC2651VvkRABESghQkwmv91xP9OLAu23nM6SuiVjIzu59w534vOuBvduUwREAEREAEREIHWIlByDWlrZUPSioAIiIAItBOBRqyFbideyosIiIAIiIAItCoBjZC26p2T3CIgAiLQ5gS0FrrNb7CyJwIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIikJLAq6++utPLL7+8yH5mTxlM3kRABERABERABERABKok0FOlf3kXAREQgbYnUCgUtieT4y2joX1O22daGayJwKJFi9YdHBx8B+VkYO21137a9/1FNUWkQCIgAiIgAiLQoQQyU0htFIGX8o3Gsaura09ezA1twL322mu7DgwMXEbyG+V8L5/r7u4+bK211rot53TaKvoq7k8mfBudXt43q93ykzcvxd9YAlWUz3oFy6R+qFcIC8/o+e4Yp/De+RDKqG9uvAf7cZ/T09Nzxpprrvlrc9MhAiIgAiIgAiJQnkBX+cvpr8ZGFMaH9vSBM/DZIGXUJN0oTCsDqTsniiruTyZ8G51e3ney3fKTNy/F31gCVZTPegXLpH6oRwjeb92vvPLKDOL4Bb8PO2XU4sRunby7wOM+/PSamw4REAEREAEREIHyBDJTSMsn05CreY+MxjPRyLTi6bayvRpm1fgtxaSaOKrxWyq9vN2rkbEavzXJzSjQLfwKZtYUgQKNOoGM72HuZS4GrJFpxZINFM5uRkF/iOJ5pLvAFN1B7H/CfNq5mZLKb7qUUkdEpgiIgAiIgAiUJpDZlN3SSTT+yjrrrBNMn8o6ZWuAZx1nJ8ZX6v7kxbfR6eV9T5skP7uF+XRm3tlW/NkTcPfOmdmn0EYxomA6ZfRAly2U0JvGjh17xOqrr77Q3Ji6vAlLVy7H7w6hn9NYY/pLTd91xGSKgAiIgAiIwEgCNSuktmaUl+72sSh3jNvjPcO8tO9t9JrSmCyyioAIiEAigVJrH6nbIv/Yp9NZMj1yGLI0zVrGIrl0mgMBysAIZZS9Ei7hvRaNlFqy7C3wFH535v14F+YO/Pz+/v7TuPSpHMRSlCIgAiIgAiLQFgRqVkjDDYyCXSiLSdiLGDfXQ2zrahZzvmaxP52LgAiIwGgSqGPto1vL+LbRlF9p50+A91cqZdRJQgfsAB0dh1K2njQ3zq3zdk1M7b7rIMkUAREQAREQgRiBmhXSWByyioAIiEBAoNSIYxk8oz3SWM96xHrClkFS+VIzcy41pTyeK2bQTEdJ6zU3FLXeN73pTafHryfZ85rSn5SWc6tWGXXhbKSUPD5N+I359TBiujHXHnbXZYqACIiACIiACKwkULNCap924UU7bMou58GoKA2Me0hirkuG83udXaYIiED7EqhhxFEjjTUUB3GuAVoNQVAqZxIsWjOaNE23VLS8D/vcNd6B7bSBoMuWTBEQAREQARHIhEDNCmm4JnSOkyJcM+qm6c6lx7vXXZM5kkANIxwjI0nnkssIlK0hHs3vzqbLena+Oi2/dZCrZdSwljB1iNgWQWthVkuYtoBVSyZ45vehjjvcha1GGV26dOkGK1as2BSl1EaAC/yedfHIFAEREAEREAERGE6gZoV0eDTNdTYaU7uqJVDDCEe1STj/uYxAhaPjwRri0B51TriE28nstPy2071TXkSgFgIoo70uHArlDcUbGLlrxSZ1hY8yOxszGBXFfIApvC8X+9O5CIiACIiACIjAEIF2mkb0XANvahZpNXK0opFpNfA2KCkRqJtAPc9yPWHrFlwR5EeAGSybEPvmYQpLuru7p5kd5XI8yubZ/E7GPi68Pswg7AyufdY5EvZsZ5cpAiIgAiIgAiIwkkDPSKfaXOhBvpeXsO2ma1OUGr5mlJf+YQ0adQymwNZGKTlUmk1AkkOWd22FkeLyOdBVEciXQB31Rub1QL45VexVEtgs5v9hviP6kp2jiH6J99w3zc4ylYkYXzC7O7g+k5HVQHk1N96FMxgdvdVdlykCIiACIiACIjCSQGYKabimdNQ+7cJL/zayp08wjLzHmbjQ0Oqo7852Wn4zKSRDkdioYbUj8hZmVI5S9YatiUfxmG5CoVSc3oRr4luK86jc3DoSpXMzmj3E/e93UWH/A+XCne5LObmFsvEjc6DOOLlIGb2K9+KxzrNMERABERABERCBZAKZKaTJ0cu1XQjQ0LqRvHTMd2c7Lb9ZldMaRhw10lgDfHGuAVqJICiY3UyzPQPz02xcdKqNaPb09DzV3z+kh+I+id8aKKNLUDB/iRL6A84PCaM7BTNQSKkz9nJJ4NeU0YMxB52bTBEQAREQAREQgWQCUkiTuchVBESgBgKlRhxriCqXIGl3t0bhiNLHPp3p78FoaeQ40pLLbtYjkxlyaWbOKGyVWFkmdojlbYc0YeL3JBa2LitxdpO2KZQHWESMjNp03FuZovtH3P/C9XdxPh77uZhT+Xkoml/lfD+sq3N9M8rUptyPJ1E+v4PbGZi3cH4q5oD51yECIiACIiACIlCegBTS8nx0NSTQad+dbcX85rUWuZ0eghzXmeeym3UrskdJ661Gbvx/HP/2a+hBusOUUUuc5/6mmBDfxv6D8PxwpuRejzI6B0VzEQrpAsJvF17bBPNJpu5a2Hj48LIMERABERABERCBcgRKKqRpRxLKRZ7yWkNHFpxMtkYwnJZpjZA9raHhrrWLmaWCEvKJGNEg64WTG+Vou+/Odlp+syrzOdQbWdcP1a5vrQZNZnG3AMdquDSlX94BFyJYMDJqAqJozuS5P8cJi/2/8bM7iufnzY33xXsxgjrQlFnnzy7F7LKKgAiIgAiIgAhUSaCkQprjSEKxiKMyskCDYnsEaYrvaFa7G26WimbxzdC5CNRDIId6Y1Tqh3oYZBG2lTmi2PWmYLADdXAwKor/u/F/T6Uw+E8Tb6VoguvUuZ8hviOdZzolL0EBPcqdm4lceClMofPteE7Hu82LFi1atB7rS7d2fvHzpLPLFAEREAEREAERqJ5ASYWUqDLr7U8hViPTSiFOQ7w812DGDcmUEmkOAjYDgIby+2hkz6RhHa1lw83Wwx2J2200sB/JQdo8nuU84swh65lGmUee84hzRKYpV6ePcCxyoAzaOlM3TfeeNGFQInuLoqnn1DYjCg6ehRt5TiLl1LmbybVlGDZ1Nzh4fnyerVmcrBY6/Z6wT4d2GSIgAiIgAiIgAjUQKKeQRtHlNSJX7chgJFAbWGrYJbOpck1DbVS/O9toGK2U31AZvZPGs62R+zDmFOQfCJXR22H3EezfZFroJNuMpdEslZ4I1EIgq/eQjXAyAv1BngFTOAfGjBlzRBp58O/zPM3E797OPyOrFZVv51emCIiACIiACIhAMoFUCmly0NZyDRvpNk3XHTs6C+aONDR63bkpH/R6z3HneZhZ7ZKJUv9+5P0JjaX5jDJ8EfsKk5fzseTpCs7tkwV705h7LMt8hHxG7buzWeYlTVytlF/u9/v4uTVu+1EO7BuJ0zB/QV4/EubXpqtvzK/TFNI8ZyZY3DqanADPxjv5+SYm5p/XWGON5yuJbP7pwJmBv7jyOpt64SeVwuq6CIiACIiACIhAeQIdo5C28XclZ9FY2ozbvBkKx5rYgw04sP8MN9uQw0qATTH7mFl0tD8BGskzuf8fJqf2aQo79qMcfBpz7eCMP0Z2zqZT5A533ilmjjMT9D3VFilEPAvRFHY67Cq+A/EfKKO8Q6a5LBLOvjOaOM3X+ZEpAiIgAiIgAiKQjkDFl3G6aORrtAigWNxEQ+mjYfq7h4qo9f7v5mQyP84us/0J0Fi26bm2GYtlNlBKOR+mjNKY/lZOJGyUMOu1ihZnJkfamQmw64WZrXO0aZ2nM/ugNxMB0kfS1BzTZ6M+n+HMlkzXQnNfnw6fEZtFsAlpvJPn4ZkkSfHrpulGI6OhMnoQ5mBSGLmJgAiIgAiIgAhUR6BjFFKUsj1pXAybssv5DoaLhsU9GHPNbgfn9w7Zmv+fhtQ5NJ7Hk5dTQ2l3j0tNXs40P3E32dufAPd9gHJhjehPUzYiZZTzJ1DKAkUrDwo5jEB25MijOHo2zdw25sp8LTSdC6/ybMyl/O9M/NZ5dznmJ3lmhimYdq14mi5+bGRUymgelYfiFAEREAER6FgCHaOQ0oiwNaH2Cw4bAcESKKSYLf0dTRpYp9F462Gk9BtB5sI/lPBvk+/T4m6ydwYBGtO2m+4t5DaujFrmN8f9Sq4HGx1lTSPtCGTW6bZbfOIYrO/Mcy30mZSZna3c8CzsRP35S36HUl8GI6VLliyZwPlsrn3OlS0po46ETBEQAREQARHIlkAqhbSTd8PNFnc+sdFosg2MtiyOHQV1K7tGQyrY6Kj4+midN7o8NTq9vLkm5Se+Ayn33JTRYDfdmCxPYN88PA82OsJfLkppLE1ZO5BAUvksxkDZi5yw9xKm1xzi5RjlMLe10HTi3YPCeTZ1ZPD5F2TYieT/wnPzFPb+vr6+zTDdxmA2a0Yjo3aDdIiACIiACIhADgS6ysRpa5gadTQyrUblqSHp0GgyZTTYwCghwWBNqflJuNZop2rucTV+S+Wjmjiq8VsqvbzdU8tIebDNVtxuusEGRjTArcPi2piQ+9Eg3yN2LqsI1EMgdflMmwhK4ADldgr+o3JLXRaN+DMD5GyU1prXQjMKfarF4eQhbp/fppy/FzOujM4kHU3TdaBkioAIiIAIiEDGBEoqpLaGibQyb2QkyD8qa8Ro7Ng60cX2C+0JojW/E0qF7aAbrRslL2faLyb57qGfmFPjrVWUp0zKQ6PTy5toFfmx0ZzbkMfKdqCMWqMdt+LG/XN8f/E3dch9axjWpgW33QGvtqgfKtyYzO5hNeWzgkzDLlu55XcEv1eHXchgLTRxFsJnYwfsd/GL775rQ7j2fHwGpfgorg1bX1oki05FQAREQAREQAREoHMJMBp2s02Rsx/2MxwJs8fctcuuA9MhJpuxbMrvU8XZtZEfysZetkau+JrORaDZCFBex1OP/drVZUXmNfGRzHpl57lYm867iTw32y5atGi9euNTeBEQAREQAREQgXQEgo+Dp/MqX81IgAbUm2iUXYBs8+nJvyguIw2sYzifRO/+cYwEBN8AiV+XXQREQASalYApo9Rh5dZCm+jX2rTe+Ohms+ZHcomACIiACIiACIiACIiACIiACLQIAUZDvx4fEaXz7SwbEcXtmrg7SuueLZIliSkCIiACIiACIpBAoOQa0gS/chIBERABERCBhhBg1LMRa6EbkhclIgIiIAIiIAIiIAIiIAIiIAIi0GIEtBa6xW6YxBUBERABERABERABERABERABERABERABERABERCBViHw/wHIAHUN1iL6RwAAAABJRU5ErkJggg==) no-repeat;background-size:466px 146px}}.toastui-editor-toolbar-icons{background-position-y:3px}.toastui-editor-toolbar-icons:disabled{opacity:.3}.toastui-editor-toolbar-icons.heading{background-position-x:3px}.toastui-editor-toolbar-icons.bold{background-position-x:-23px}.toastui-editor-toolbar-icons.italic{background-position-x:-49px}.toastui-editor-toolbar-icons.strike{background-position-x:-75px}.toastui-editor-toolbar-icons.hrline{background-position-x:-101px}.toastui-editor-toolbar-icons.quote{background-position-x:-127px}.toastui-editor-toolbar-icons.bullet-list{background-position-x:-153px}.toastui-editor-toolbar-icons.ordered-list{background-position-x:-179px}.toastui-editor-toolbar-icons.task-list{background-position-x:-205px}.toastui-editor-toolbar-icons.indent{background-position-x:-231px}.toastui-editor-toolbar-icons.outdent{background-position-x:-257px}.toastui-editor-toolbar-icons.table{background-position-x:-283px}.toastui-editor-toolbar-icons.image{background-position-x:-309px}.toastui-editor-toolbar-icons.link{background-position-x:-334px}.toastui-editor-toolbar-icons.code{background-position-x:-361px}.toastui-editor-toolbar-icons.codeblock{background-position-x:-388px}.toastui-editor-toolbar-icons.more{background-position-x:-412px}.toastui-editor-toolbar-icons:not(:disabled).active{background-position-y:-23px}@media only screen and (max-width: 480px){.toastui-editor-popup{max-width:300px;margin-left:-150px}.toastui-editor-dropdown-toolbar{max-width:none}}.ProseMirror{font-family:Open Sans,Helvetica Neue,Helvetica,Arial,나눔바른고딕,Nanum Barun Gothic,맑은고딕,Malgun Gothic,sans-serif;color:#222;font-size:13px;overflow-y:auto;overflow-X:hidden;height:calc(100% - 36px)}.ProseMirror .placeholder{color:#999}.ProseMirror:focus{outline:none}.ProseMirror-selectednode{outline:none}table.ProseMirror-selectednode,.html-block.ProseMirror-selectednode{border-radius:2px;outline:2px solid #00a9ff}.toastui-editor-contents{margin:0;padding:0;font-size:13px;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,나눔바른고딕,Nanum Barun Gothic,맑은고딕,Malgun Gothic,sans-serif;z-index:20}.toastui-editor-contents *:not(table){line-height:160%;box-sizing:content-box}.toastui-editor-contents i,.toastui-editor-contents cite,.toastui-editor-contents em,.toastui-editor-contents var,.toastui-editor-contents address,.toastui-editor-contents dfn{font-style:italic}.toastui-editor-contents strong{font-weight:700}.toastui-editor-contents p{margin:10px 0;color:#222}.toastui-editor-contents>h1:first-of-type,.toastui-editor-contents>div>div:first-of-type h1{margin-top:14px}.toastui-editor-contents h1,.toastui-editor-contents h2,.toastui-editor-contents h3,.toastui-editor-contents h4,.toastui-editor-contents h5,.toastui-editor-contents h6{font-weight:700;color:#222}.toastui-editor-contents h1{font-size:24px;line-height:28px;border-bottom:3px double #999;margin:52px 0 15px;padding-bottom:7px}.toastui-editor-contents h2{font-size:22px;line-height:23px;border-bottom:1px solid #dbdbdb;margin:20px 0 13px;padding-bottom:7px}.toastui-editor-contents h3{font-size:20px;margin:18px 0 2px}.toastui-editor-contents h4{font-size:18px;margin:10px 0 2px}.toastui-editor-contents h3,.toastui-editor-contents h4{line-height:18px}.toastui-editor-contents h5{font-size:16px}.toastui-editor-contents h6{font-size:14px}.toastui-editor-contents h5,.toastui-editor-contents h6{line-height:17px;margin:9px 0 -4px}.toastui-editor-contents del{color:#999}.toastui-editor-contents blockquote{margin:14px 0;border-left:4px solid #e5e5e5;padding:0 16px;color:#999}.toastui-editor-contents blockquote p,.toastui-editor-contents blockquote ul,.toastui-editor-contents blockquote ol{color:#999}.toastui-editor-contents blockquote>:first-child{margin-top:0}.toastui-editor-contents blockquote>:last-child{margin-bottom:0}.toastui-editor-contents pre,.toastui-editor-contents code{font-family:Consolas,Courier,Apple SD 산돌고딕 Neo,-apple-system,Lucida Grande,Apple SD Gothic Neo,맑은 고딕,Malgun Gothic,Segoe UI,돋움,dotum,sans-serif;border:0;border-radius:0}.toastui-editor-contents pre{margin:2px 0 8px;padding:18px;background-color:#f4f7f8}.toastui-editor-contents code{color:#c1798b;background-color:#f9f2f4;padding:2px 3px;letter-spacing:-.3px;border-radius:2px}.toastui-editor-contents pre code{padding:0;color:inherit;white-space:pre-wrap;background-color:transparent}.toastui-editor-contents img{margin:4px 0 10px;box-sizing:border-box;vertical-align:top;max-width:100%}.toastui-editor-contents table{border:1px solid rgba(0,0,0,.1);margin:12px 0 14px;color:#222;width:auto;border-collapse:collapse;box-sizing:border-box}.toastui-editor-contents table th,.toastui-editor-contents table td{border:1px solid rgba(0,0,0,.1);padding:5px 14px 5px 12px;height:32px}.toastui-editor-contents table th{background-color:#555;font-weight:300;color:#fff;padding-top:6px}.toastui-editor-contents th p{margin:0;color:#fff}.toastui-editor-contents td p{margin:0;padding:0 2px}.toastui-editor-contents td.toastui-editor-cell-selected{background-color:#d8dfec}.toastui-editor-contents th.toastui-editor-cell-selected{background-color:#908f8f}.toastui-editor-contents ul,.toastui-editor-contents menu,.toastui-editor-contents ol,.toastui-editor-contents dir{display:block;list-style-type:none;padding-left:24px;margin:6px 0 10px;color:#222}.toastui-editor-contents ol{list-style-type:none;counter-reset:li}.toastui-editor-contents ol>li{counter-increment:li}.toastui-editor-contents ul>li:before,.toastui-editor-contents ol>li:before{display:inline-block;position:absolute}.toastui-editor-contents ul>li:before{content:"";margin-top:6px;margin-left:-17px;width:5px;height:5px;border-radius:50%;background-color:#ccc}.toastui-editor-contents ol>li:before{content:"." counter(li);margin-left:-28px;width:24px;text-align:right;direction:rtl;color:#aaa}.toastui-editor-contents ul ul,.toastui-editor-contents ul ol,.toastui-editor-contents ol ol,.toastui-editor-contents ol ul{margin-top:0!important;margin-bottom:0!important}.toastui-editor-contents ul li,.toastui-editor-contents ol li{position:relative}.toastui-editor-contents ul p,.toastui-editor-contents ol p{margin:0}.toastui-editor-contents hr{border-top:1px solid #eee;margin:16px 0}.toastui-editor-contents a{text-decoration:underline;color:#4b96e6}.toastui-editor-contents a:hover{color:#1f70de}.toastui-editor-contents .image-link{position:relative}.toastui-editor-contents .image-link:hover:before{content:"";position:absolute;width:30px;height:30px;right:0;border-radius:50%;border:1px solid #c9ccd5;background:#fff url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj4KICAgICAgICA8ZyBzdHJva2U9IiM1NTUiIHN0cm9rZS13aWR0aD0iMS41Ij4KICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICA8Zz4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNy42NjUgMTUuMDdsLTEuODE5LS4wMDJjLTEuNDg2IDAtMi42OTItMS4yMjgtMi42OTItMi43NDR2LS4xOTJjMC0xLjUxNSAxLjIwNi0yLjc0NCAyLjY5Mi0yLjc0NGgzLjg0NmMxLjQ4NyAwIDIuNjkyIDEuMjI5IDIuNjkyIDIuNzQ0di4xOTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMDAwIC00NTgxKSB0cmFuc2xhdGUoOTk1IDQ1NzYpIHRyYW5zbGF0ZSg1IDUpIHNjYWxlKDEgLTEpIHJvdGF0ZSg0NSAzNy4yOTMgMCkiLz4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIuMzI2IDQuOTM0bDEuODIyLjAwMmMxLjQ4NyAwIDIuNjkzIDEuMjI4IDIuNjkzIDIuNzQ0di4xOTJjMCAxLjUxNS0xLjIwNiAyLjc0NC0yLjY5MyAyLjc0NGgtMy44NDVjLTEuNDg3IDAtMi42OTItMS4yMjktMi42OTItMi43NDRWNy42OCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwMDAgLTQ1ODEpIHRyYW5zbGF0ZSg5OTUgNDU3NikgdHJhbnNsYXRlKDUgNSkgc2NhbGUoMSAtMSkgcm90YXRlKDQ1IDMwLjk5NiAwKSIvPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K) no-repeat;background-position:center;box-shadow:0 2px 4px #00000014;cursor:pointer}.toastui-editor-contents .task-list-item{border:0;list-style:none;padding-left:24px;margin-left:-24px}.toastui-editor-contents .task-list-item:before{background-repeat:no-repeat;background-size:18px 18px;background-position:center;content:"";margin-left:0;margin-top:0;border-radius:2px;height:18px;width:18px;position:absolute;left:0;top:1px;cursor:pointer;background:transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgZmlsbD0iI0ZGRiIgc3Ryb2tlPSIjQ0NDIj4KICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAzMCAtMjk2KSB0cmFuc2xhdGUoNzg4IDE5MikgdHJhbnNsYXRlKDI0MiAxMDQpIj4KICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMTciIGhlaWdodD0iMTciIHg9Ii41IiB5PSIuNSIgcng9IjIiLz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==)}.toastui-editor-contents .task-list-item.checked:before{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgZmlsbD0iIzRCOTZFNiI+CiAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE2IDBjMS4xMDUgMCAyIC44OTUgMiAydjE0YzAgMS4xMDUtLjg5NSAyLTIgMkgyYy0xLjEwNSAwLTItLjg5NS0yLTJWMkMwIC44OTUuODk1IDAgMiAwaDE0em0tMS43OTMgNS4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNy41IDEwLjU4NSA1LjIwNyA4LjI5M2wtLjA5NC0uMDgzYy0uMzkyLS4zMDUtLjk2LS4yNzgtMS4zMi4wODMtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgMyAuMDk0LjA4M2MuMzkyLjMwNS45Ni4yNzggMS4zMi0uMDgzbDYtNiAuMDgzLS4wOTRjLjMwNS0uMzkyLjI3OC0uOTYtLjA4My0xLjMyeiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwNTAgLTI5NikgdHJhbnNsYXRlKDc4OCAxOTIpIHRyYW5zbGF0ZSgyNjIgMTA0KSIvPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K)}.toastui-editor-custom-block .toastui-editor-custom-block-editor{background:#f9f7fd;color:#452d6b;border:solid 1px #dbd4ea}.toastui-editor-custom-block .toastui-editor-custom-block-view{position:relative;padding:9px 13px 8px 12px}.toastui-editor-custom-block.ProseMirror-selectednode .toastui-editor-custom-block-view{border:solid 1px #dbd4ea;border-radius:2px}.toastui-editor-custom-block .toastui-editor-custom-block-view .tool{position:absolute;right:10px;top:7px;display:none}.toastui-editor-custom-block.ProseMirror-selectednode .toastui-editor-custom-block-view .tool{display:block}.toastui-editor-custom-block-view button{vertical-align:middle;width:15px;height:15px;margin-left:8px;padding:3px;border:solid 1px #cccccc;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzAgMzAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwIDMwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzU1NTU1NTt9Cjwvc3R5bGU+CjxnPgoJPGc+CgkJPGc+CgkJCTxnPgoJCQkJPGc+CgkJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE1LjUsMTIuNWwyLDJMMTIsMjBoLTJ2LTJMMTUuNSwxMi41eiBNMTgsMTBsMiwybC0xLjUsMS41bC0yLTJMMTgsMTB6Ii8+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==) no-repeat;background-position:center;background-size:30px 30px}.toastui-editor-custom-block-view .info{font-size:13px;font-weight:700;color:#5200d0;vertical-align:middle}.toastui-editor-contents .toastui-editor-ww-code-block{position:relative}.toastui-editor-contents .toastui-editor-ww-code-block:after{content:attr(data-language);position:absolute;display:inline-block;top:10px;right:10px;height:24px;padding:3px 35px 0 10px;font-weight:700;font-size:13px;color:#333;background:#e5e9ea url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzAgMzAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwIDMwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzU1NTU1NTt9Cjwvc3R5bGU+CjxnPgoJPGc+CgkJPGc+CgkJCTxnPgoJCQkJPGc+CgkJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE1LjUsMTIuNWwyLDJMMTIsMjBoLTJ2LTJMMTUuNSwxMi41eiBNMTgsMTBsMiwybC0xLjUsMS41bC0yLTJMMTgsMTB6Ii8+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==) no-repeat;background-position:right;border-radius:2px;background-size:30px 30px;cursor:pointer}.toastui-editor-ww-code-block-language{position:fixed;display:inline-block;width:100px;height:27px;right:35px;border:1px solid #ccc;border-radius:2px;background-color:#fff;z-index:30}.toastui-editor-ww-code-block-language input{box-sizing:border-box;margin:0;padding:0 10px;height:100%;width:100%;background-color:transparent;border:none;outline:none}.toastui-editor-contents-placeholder:before{content:attr(data-placeholder);color:gray;line-height:160%;position:absolute}.toastui-editor-md-preview .toastui-editor-contents h1{min-height:28px}.toastui-editor-md-preview .toastui-editor-contents h2{min-height:23px}.toastui-editor-md-preview .toastui-editor-contents blockquote{min-height:20px}.toastui-editor-md-preview .toastui-editor-contents li{min-height:22px}.toastui-editor-pseudo-clipboard{position:fixed;opacity:0;width:0;height:0;left:-1000px;top:-1000px;z-index:-1}.toastui-editor-contents .toastui-editor-md-preview-highlight{position:relative;z-index:0}.toastui-editor-contents .toastui-editor-md-preview-highlight:after{content:"";background-color:#fff58380;border-radius:4px;z-index:-1;position:absolute;top:-4px;right:-4px;left:-4px;bottom:-4px}.toastui-editor-contents h1.toastui-editor-md-preview-highlight:after,.toastui-editor-contents h2.toastui-editor-md-preview-highlight:after{bottom:0}.toastui-editor-contents td.toastui-editor-md-preview-highlight:after,.toastui-editor-contents th.toastui-editor-md-preview-highlight:after{display:none}.toastui-editor-contents th.toastui-editor-md-preview-highlight,.toastui-editor-contents td.toastui-editor-md-preview-highlight{background-color:#fff58380}.toastui-editor-contents th.toastui-editor-md-preview-highlight{color:#222}.toastui-editor-md-heading1{font-size:24px}.toastui-editor-md-heading2{font-size:22px}.toastui-editor-md-heading3{font-size:20px}.toastui-editor-md-heading4{font-size:18px}.toastui-editor-md-heading5{font-size:16px}.toastui-editor-md-heading6{font-size:14px}.toastui-editor-md-heading.toastui-editor-md-delimiter.setext{line-height:15px}.toastui-editor-md-strong,.toastui-editor-md-heading,.toastui-editor-md-list-item-style,.toastui-editor-md-list-item .toastui-editor-md-meta{font-weight:700}.toastui-editor-md-emph{font-style:italic}.toastui-editor-md-strike{text-decoration:line-through}.toastui-editor-md-strike.toastui-editor-md-delimiter{text-decoration:none}.toastui-editor-md-delimiter,.toastui-editor-md-thematic-break,.toastui-editor-md-link,.toastui-editor-md-table,.toastui-editor-md-block-quote{color:#ccc}.toastui-editor-md-code.toastui-editor-md-delimiter{color:#aaa}.toastui-editor-md-meta,.toastui-editor-md-html,.toastui-editor-md-link.toastui-editor-md-link-url.toastui-editor-md-marked-text{color:#999}.toastui-editor-md-block-quote .toastui-editor-md-marked-text,.toastui-editor-md-list-item .toastui-editor-md-meta{color:#555}.toastui-editor-md-table .toastui-editor-md-table-cell{color:#222}.toastui-editor-md-link.toastui-editor-md-link-desc.toastui-editor-md-marked-text,.toastui-editor-md-list-item-style.toastui-editor-md-list-item-odd{color:#4b96e6}.toastui-editor-md-list-item-style.toastui-editor-md-list-item-even{color:#cb4848}.toastui-editor-md-code.toastui-editor-md-marked-text{color:#c1798b}.toastui-editor-md-code{background-color:#f3e5e980;padding:2px 0;letter-spacing:-.3px}.toastui-editor-md-code.toastui-editor-md-start{padding-left:2px;border-top-left-radius:2px;border-bottom-left-radius:2px}.toastui-editor-md-code.toastui-editor-md-end{padding-right:2px;border-top-right-radius:2px;border-bottom-right-radius:2px}.toastui-editor-md-code-block-line-background{background-color:#f5f7f8}.toastui-editor-md-code-block-line-background.start,.toastui-editor-md-custom-block-line-background.start{margin-top:2px}.toastui-editor-md-code,.toastui-editor-md-code-block{font-family:Consolas,Courier,Lucida Grande,나눔바른고딕,Nanum Barun Gothic,맑은고딕,Malgun Gothic,sans-serif}.toastui-editor-md-custom-block{color:#452d6b}.toastui-editor-md-custom-block-line-background{background-color:#f9f7fd}.toastui-editor-md-custom-block .toastui-editor-md-delimiter{color:#b8b3c0}.toastui-editor-md-custom-block .toastui-editor-md-meta{color:#5200d0}.gdg-r17m35ur{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border:none;outline:none;background-color:var(--gdg-bg-header-has-focus);border-radius:9px;padding:0 8px;box-shadow:0 0 0 1px var(--gdg-border-color);color:var(--gdg-text-group-header);min-height:var(--r17m35ur-0);font:var(--gdg-header-font-style) var(--gdg-font-family)}.gdg-c1tqibwd{padding:0 8px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--gdg-bg-header)}.gdg-b1ygi5by{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:auto;margin-bottom:auto}.gdg-b1ygi5by .boe-bubble{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:var(--gdg-rounding-radius,10px);padding:0 8px;height:20px;background-color:var(--gdg-bg-bubble);color:var(--gdg-text-dark);margin:2px}.gdg-b1ygi5by textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.gdg-d4zsq0x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.gdg-d4zsq0x .doe-bubble{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 8px;height:24px;background-color:var(--gdg-bg-cell);color:var(--gdg-text-dark);margin:2px;border-radius:var(--gdg-rounding-radius,6px);box-shadow:0 0 1px #3e415666,0 1px 3px #3e415666}.gdg-d4zsq0x .doe-bubble img{height:16px;object-fit:contain;margin-right:4px}.gdg-d4zsq0x textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.gdg-n15fjm3e{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:6px 0 3px;color:var(--gdg-text-dark)}.gdg-n15fjm3e>input{font-size:var(--gdg-editor-font-size);padding:0;font-family:var(--gdg-font-family);color:var(--gdg-text-dark);background-color:var(--gdg-bg-cell)}.gdg-i2iowwq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}.gdg-i2iowwq .gdg-centering-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.gdg-i2iowwq .gdg-centering-container img,.gdg-i2iowwq .gdg-centering-container canvas{max-height:calc(100vh - var(--overlay-top) - 20px);object-fit:contain;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.gdg-i2iowwq .gdg-centering-container canvas{max-width:380px}.gdg-i2iowwq .gdg-edit-icon{position:absolute;top:12px;right:0;width:48px;height:48px;color:var(--gdg-accent-color);cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gdg-i2iowwq .gdg-edit-icon>*{width:24px;height:24px}.gdg-i2iowwq textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.gdg-u1rrojo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:21px}.gdg-u1rrojo .gdg-link-area{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;cursor:pointer;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gdg-link-color);-webkit-text-decoration:underline!important;text-decoration:underline!important}.gdg-u1rrojo .gdg-edit-icon{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:32px;color:var(--gdg-accent-color);cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gdg-u1rrojo .gdg-edit-icon>*{width:24px;height:24px}.gdg-u1rrojo textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.gdg-m1pnx84e{min-width:var(--m1pnx84e-0);width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;position:relative;color:var(--gdg-text-dark)}.gdg-m1pnx84e .gdg-g1y0xocz{-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;min-width:0}.gdg-m1pnx84e .gdg-spacer{-webkit-flex:1;-ms-flex:1;flex:1}.gdg-m1pnx84e .gdg-edit-icon{position:relative;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--gdg-accent-color);padding:0;height:24px;width:24px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:all "0.125s ease";transition:all "0.125s ease";border-radius:6px}.gdg-m1pnx84e .gdg-edit-icon>*{width:16px;height:16px}.gdg-m1pnx84e .gdg-edit-hover:hover{background-color:var(--gdg-accent-light);-webkit-transition:background-color .15s;transition:background-color .15s}.gdg-m1pnx84e .gdg-checkmark-hover:hover{color:#fff;background-color:var(--gdg-accent-color)}.gdg-m1pnx84e .gdg-md-edit-textarea{position:relative;top:0;left:0;width:0px;height:0px;margin-top:25px;opacity:0;padding:0}.gdg-m1pnx84e .gdg-ml-6{margin-left:6px}.gdg-d19meir1{position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:hidden;box-sizing:border-box;--overlay-top:var(--d19meir1-0);left:var(--d19meir1-1);top:var(--d19meir1-0);min-width:var(--d19meir1-2);min-height:var(--d19meir1-3);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:400px;max-height:calc(100vh - var(--d19meir1-4));font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);text-align:start}@-webkit-keyframes glide_fade_in-gdg-d19meir1{0%{opacity:0%}to{opacity:100%}}@keyframes glide_fade_in-gdg-d19meir1{0%{opacity:0%}to{opacity:100%}}.gdg-d19meir1.gdg-style{border-radius:2px;background-color:var(--gdg-bg-cell);box-shadow:0 0 0 1px var(--gdg-accent-color),0 0 1px #3e415666,0 6px 12px #3e415626;-webkit-animation:glide_fade_in-gdg-d19meir1 60ms 1;animation:glide_fade_in-gdg-d19meir1 60ms 1}.gdg-d19meir1.gdg-pad{padding:var(--d19meir1-5) 8.5px 3px}.gdg-d19meir1 .gdg-clip-region{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow-y:auto;overflow-x:hidden;border-radius:2px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.gdg-d19meir1 .gdg-clip-region .gdg-growing-entry{height:100%}.gdg-d19meir1 .gdg-clip-region input.gdg-input{width:100%;border:none;border-width:0;outline:none}.gdg-d19meir1 .gdg-clip-region textarea.gdg-input{border:none;border-width:0;outline:none}.gdg-s1dgczr6 .dvn-scroller{overflow:var(--s1dgczr6-0);-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0)}.gdg-s1dgczr6 .dvn-hidden{visibility:hidden}.gdg-s1dgczr6 .dvn-scroll-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;pointer-events:none}.gdg-s1dgczr6 .dvn-scroll-inner>*{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.gdg-s1dgczr6 .dvn-scroll-inner .dvn-spacer{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.gdg-s1dgczr6 .dvn-scroll-inner .dvn-stack{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.gdg-s1dgczr6 .dvn-underlay>*{position:absolute;left:0;top:0}.gdg-s1dgczr6 canvas{outline:none}.gdg-s1dgczr6 canvas *{height:0}.gdg-seveqep{position:absolute;top:4px;right:20px;background-color:var(--gdg-bg-cell);color:var(--gdg-text-dark);padding:8px;border:1px solid var(--gdg-border-color);border-radius:6px;font-size:var(--gdg-editor-font-size);-webkit-animation:gdg-search-fadein-gdg-seveqep .15s forwards;animation:gdg-search-fadein-gdg-seveqep .15s forwards}.gdg-seveqep.out{-webkit-animation:gdg-search-fadeout-gdg-seveqep .15s forwards;animation:gdg-search-fadeout-gdg-seveqep .15s forwards}.gdg-seveqep .gdg-search-bar-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.gdg-seveqep .gdg-search-status{padding-top:4px;font-size:11px}.gdg-seveqep .gdg-search-progress{position:absolute;height:4px;left:0;bottom:0;background-color:var(--gdg-text-light)}.gdg-seveqep input{width:220px;color:var(--gdg-textDark);background-color:var(--gdg-bg-cell);border:none;border-width:0;outline:none}.gdg-seveqep button{width:24px;height:24px;padding:0;border:none;outline:none;background:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;color:var(--gdg-text-medium)}.gdg-seveqep button:hover{color:var(--gdg-text-dark)}.gdg-seveqep button .button-icon{width:16px;height:16px}.gdg-seveqep button:disabled{opacity:.4;pointer-events:none}@-webkit-keyframes gdg-search-fadeout-gdg-seveqep{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}to{-webkit-transform:translateX(400px);-ms-transform:translateX(400px);transform:translate(400px)}}@keyframes gdg-search-fadeout-gdg-seveqep{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}to{-webkit-transform:translateX(400px);-ms-transform:translateX(400px);transform:translate(400px)}}@-webkit-keyframes gdg-search-fadein-gdg-seveqep{0%{-webkit-transform:translateX(400px);-ms-transform:translateX(400px);transform:translate(400px)}to{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}}@keyframes gdg-search-fadein-gdg-seveqep{0%{-webkit-transform:translateX(400px);-ms-transform:translateX(400px);transform:translate(400px)}to{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}}.gdg-izpuzkl{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;border-radius:0;resize:none;white-space:pre-wrap;min-width:100%;overflow:hidden;border:0;background-color:transparent;font-size:var(--gdg-editor-font-size);line-height:16px;font-family:var(--gdg-font-family);-webkit-text-fill-color:var(--gdg-text-dark);color:var(--gdg-text-dark);padding:0;margin:0}.gdg-izpuzkl::-webkit-input-placeholder{color:var(--gdg-text-light)}.gdg-izpuzkl::-moz-placeholder{color:var(--gdg-text-light)}.gdg-izpuzkl:-ms-input-placeholder{color:var(--gdg-text-light)}.gdg-izpuzkl::placeholder{color:var(--gdg-text-light)}.gdg-invalid .gdg-izpuzkl{-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:#d60606;text-decoration-color:#d60606}.gdg-s69h75o{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;min-width:100%;font-size:var(--gdg-editor-font-size);line-height:16px;font-family:var(--gdg-font-family);color:var(--gdg-text-dark);padding:0 0 2px;margin:0}.gdg-g1y0xocz{position:relative;margin-top:6px}.gdg-mnuv029{word-break:break-word;-webkit-touch-callout:default;padding-top:6px}.gdg-mnuv029>*{margin:0}.gdg-mnuv029 *:last-child{margin-bottom:0}.gdg-mnuv029 p img{width:100%}.gdg-wmyidgi{position:relative;min-width:10px;min-height:10px;max-width:100%;max-height:100%;width:var(--wmyidgi-0);height:var(--wmyidgi-1);overflow:hidden;overflow:clip;direction:ltr}.gdg-wmyidgi>:first-child{position:absolute;left:0;top:0;width:100%;height:100%}.s1wvhs74{box-sizing:border-box}.s1wvhs74 *,.s1wvhs74 *:before,.s1wvhs74 *:after{box-sizing:inherit}.b16aqpip{background-color:#2790b9;background:linear-gradient(90deg,#2790b9,#2070a9);color:#fff;padding:32px 48px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100vh;font-family:sans-serif}.b16aqpip>h1{font-size:50px;font-weight:600;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin:0 0 12px}.b16aqpip .sizer{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;background-color:#fff;border-radius:12px;box-shadow:#091e4240 0 4px 8px -2px,#091e4214 0 0 0 1px}.b16aqpip .sizer .sizer-clip{border-radius:12px;overflow:hidden;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);height:100%}.d1npx1y{font-size:18px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin:0 0 20px} + */.ProseMirror{position:relative}.ProseMirror{word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}.auto-height,.auto-height .toastui-editor-defaultUI{height:auto}.auto-height .toastui-editor-md-container{position:relative}:not(.auto-height)>.toastui-editor-defaultUI,:not(.auto-height)>.toastui-editor-defaultUI>.toastui-editor-main{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:not(.auto-height)>.toastui-editor-defaultUI>.toastui-editor-main{-ms-flex:1;flex:1}.toastui-editor-md-container:after,.toastui-editor-defaultUI-toolbar:after{content:"";display:block;height:0;clear:both}.toastui-editor-main{min-height:0px;position:relative;height:inherit;box-sizing:border-box}.toastui-editor-md-container{display:none;overflow:hidden;height:100%}.toastui-editor-md-container .toastui-editor{line-height:1.5;position:relative}.toastui-editor-md-container .toastui-editor,.toastui-editor-md-container .toastui-editor-md-preview{box-sizing:border-box;padding:0;height:inherit}.toastui-editor-md-container .toastui-editor-md-preview{overflow:auto;padding:0 25px;height:100%}.toastui-editor-md-container .toastui-editor-md-preview>p:first-child{margin-top:0!important}.toastui-editor-md-container .toastui-editor-md-preview .toastui-editor-contents{padding-top:8px}.toastui-editor-main .toastui-editor-md-tab-style>.toastui-editor,.toastui-editor-main .toastui-editor-md-tab-style>.toastui-editor-md-preview{width:100%;display:none}.toastui-editor-main .toastui-editor-md-tab-style>.active{display:block}.toastui-editor-main .toastui-editor-md-vertical-style>.toastui-editor-tabs{display:none}.toastui-editor-main .toastui-editor-md-tab-style>.toastui-editor-tabs{display:block}.toastui-editor-main .toastui-editor-md-vertical-style .toastui-editor,.toastui-editor-main .toastui-editor-md-vertical-style .toastui-editor-md-preview{width:50%}.toastui-editor-main .toastui-editor-md-splitter{display:none;height:100%;width:1px;background-color:#ebedf2;position:absolute;left:50%}.toastui-editor-main .toastui-editor-md-vertical-style .toastui-editor-md-splitter{display:block}.toastui-editor-ww-container{display:none;overflow:hidden;height:inherit;background-color:#fff}.auto-height .toastui-editor-main-container{position:relative}.toastui-editor-main-container{position:absolute;line-height:1;color:#222;width:100%;height:inherit}.toastui-editor-ww-container>.toastui-editor{height:inherit;position:relative;width:100%}.toastui-editor-ww-container .toastui-editor-contents{overflow:auto;box-sizing:border-box;margin:0;padding:16px 25px 0;height:inherit}.toastui-editor-ww-container .toastui-editor-contents p{margin:0}.toastui-editor-md-mode .toastui-editor-md-container,.toastui-editor-ww-mode .toastui-editor-ww-container{display:block;z-index:20}.toastui-editor-md-mode .toastui-editor-md-vertical-style{display:-ms-flexbox;display:flex}.toastui-editor-main.hidden,.toastui-editor-defaultUI.hidden{display:none}.toastui-editor-defaultUI .ProseMirror{padding:18px 25px}.toastui-editor-defaultUI{position:relative;border:1px solid #dadde6;height:100%;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,나눔바른고딕,Nanum Barun Gothic,맑은고딕,Malgun Gothic,sans-serif;border-radius:4px}.toastui-editor-defaultUI button{color:#333;height:28px;font-size:13px;cursor:pointer;border:none;border-radius:2px}.toastui-editor-defaultUI .toastui-editor-ok-button{min-width:63px;height:32px;background-color:#00a9ff;color:#fff;outline-color:#009bf2}.toastui-editor-defaultUI .toastui-editor-ok-button:hover{background-color:#009bf2}.toastui-editor-defaultUI .toastui-editor-close-button{min-width:63px;height:32px;background-color:#f7f9fc;border:1px solid #dadde6;margin-right:5px;outline-color:#cbcfdb}.toastui-editor-defaultUI .toastui-editor-close-button:hover{border-color:#cbcfdb}.toastui-editor-mode-switch{background-color:#fff;border-top:1px solid #dadde6;font-size:12px;text-align:right;height:28px;padding-right:10px;border-radius:0 0 3px 3px}.toastui-editor-mode-switch .tab-item{display:inline-block;width:96px;height:24px;line-height:24px;text-align:center;background:#f7f9fc;color:#969aa5;margin-top:-1px;margin-right:-1px;cursor:pointer;border:1px solid #dadde6;border-radius:0 0 4px 4px;font-weight:500;box-sizing:border-box}.toastui-editor-mode-switch .tab-item.active{border-top:1px solid #fff;background-color:#fff;color:#555}.toastui-editor-defaultUI .toastui-editor-md-tab-container{float:left;height:45px;font-size:13px;background:#f7f9fc;border-bottom:1px solid #ebedf2;border-top-left-radius:3px}.toastui-editor-md-tab-container .toastui-editor-tabs{margin-left:15px;height:100%}.toastui-editor-md-tab-container .tab-item{display:inline-block;width:70px;height:33px;line-height:33px;font-size:12px;font-weight:500;text-align:center;background:#eaedf1;color:#969aa5;cursor:pointer;border:1px solid #dadde6;border-radius:4px 4px 0 0;box-sizing:border-box;margin-top:13px}.toastui-editor-md-tab-container .tab-item.active{border-bottom:1px solid #fff;background-color:#fff;color:#555}.toastui-editor-md-tab-container .tab-item:last-child{margin-left:-1px}.toastui-editor-defaultUI-toolbar{display:-ms-flexbox;display:flex;padding:0 25px;height:45px;background-color:#f7f9fc;border-bottom:1px solid #ebedf2;border-radius:3px 3px 0 0}.toastui-editor-toolbar{height:46px;box-sizing:border-box}.toastui-editor-toolbar-divider{display:inline-block;width:1px;height:18px;background-color:#e1e3e9;margin:14px 12px}.toastui-editor-toolbar-group{display:-ms-flexbox;display:flex}.toastui-editor-defaultUI-toolbar button{box-sizing:border-box;cursor:pointer;width:32px;height:32px;padding:0;border-radius:3px;margin:7px 5px;border:1px solid #f7f9fc}.toastui-editor-defaultUI-toolbar button:not(:disabled):hover{border:1px solid #e4e7ee;background-color:#fff}.toastui-editor-defaultUI-toolbar .scroll-sync{display:inline-block;position:relative;width:70px;height:10px;text-align:center;line-height:10px;color:#81858f;cursor:pointer}.toastui-editor-defaultUI-toolbar .scroll-sync:before{content:"Scroll";position:absolute;left:0;font-size:14px}.toastui-editor-defaultUI-toolbar .scroll-sync.active:before{color:#00a9ff}.toastui-editor-defaultUI-toolbar .scroll-sync input{opacity:0;width:0;height:0}.toastui-editor-defaultUI-toolbar .switch{position:absolute;top:0;left:45px;right:0;bottom:0;background-color:#d6d8de;-webkit-transition:.4s;transition:.4s;border-radius:50px}.toastui-editor-defaultUI-toolbar input:checked+.switch{background-color:#acddfa}.toastui-editor-defaultUI-toolbar .switch:before{position:absolute;content:"";height:14px;width:14px;left:0;bottom:-2px;background-color:#94979f;-webkit-transition:.4s;transition:.4s;border-radius:50%}.toastui-editor-defaultUI-toolbar input:checked+.switch:before{background-color:#00a9ff;-webkit-transform:translateX(12px);-moz-transform:translateX(12px);-ms-transform:translateX(12px);transform:translate(12px)}.toastui-editor-dropdown-toolbar .scroll-sync{margin:0 5px}.toastui-editor-dropdown-toolbar{position:absolute;height:46px;z-index:30;border-radius:2px;box-shadow:0 2px 4px #00000014;border:1px solid #dadde6;background-color:#f7f9fc;display:-ms-flexbox;display:flex}.toastui-editor-toolbar-item-wrapper{margin:7px 5px;height:32px;line-height:32px}.toastui-editor-popup{width:400px;margin-right:auto;background:#fff;z-index:30;position:absolute;border-radius:2px;box-shadow:0 2px 4px #00000014;border:1px solid #dadde6}.toastui-editor-popup-body{padding:15px;font-size:12px}.toastui-editor-popup-body label{font-weight:600;color:#555;display:block;margin:20px 0 5px}.toastui-editor-popup-body .toastui-editor-button-container{text-align:right;margin-top:20px}.toastui-editor-popup-body input[type=text]{width:calc(100% - 26px);height:30px;padding:0 12px;border-radius:2px;border:1px solid #e1e3e9;color:#333}.toastui-editor-popup-body input[type=text]:focus{outline:1px solid #00a9ff;border-color:transparent}.toastui-editor-popup-body input[type=text].disabled{background-color:#f7f9fc;border-color:#e1e3e9;color:#969aa5}.toastui-editor-popup-body input[type=file]{opacity:0;border:none;width:1px;height:1px;position:absolute;top:0;left:0}.toastui-editor-popup-body input.wrong,.toastui-editor-popup-body span.wrong{border-color:#fa2828}.toastui-editor-popup-add-link .toastui-editor-popup-body,.toastui-editor-popup-add-image .toastui-editor-popup-body{padding:0 20px 20px}.toastui-editor-popup-add-image .toastui-editor-tabs{margin:5px 0 10px}.toastui-editor-popup-add-image .toastui-editor-tabs .tab-item{display:inline-block;width:60px;height:40px;line-height:40px;border-bottom:1px solid #dadde6;color:#333;font-size:13px;font-weight:600;text-align:center;cursor:pointer;box-sizing:border-box}.toastui-editor-popup-add-image .toastui-editor-tabs .tab-item:hover{border-bottom:1px solid #cbcfdb}.toastui-editor-popup-add-image .toastui-editor-tabs .tab-item.active{color:#00a9ff;border-bottom:2px solid #00a9ff}.toastui-editor-popup-add-image .toastui-editor-file-name{width:58%;display:inline-block;border-radius:2px;border:1px solid #e1e3e9;color:#dadde6;height:30px;line-height:30px;padding:0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.toastui-editor-popup-add-image .toastui-editor-file-name.has-file{color:#333}.toastui-editor-popup-add-image .toastui-editor-file-select-button{width:33%;margin-left:5px;height:32px;border-radius:2px;border:1px solid #dadde6;background-color:#f7f9fc;vertical-align:top}.toastui-editor-popup-add-image .toastui-editor-file-select-button:hover{border-color:#cbcfdb}.toastui-editor-popup-add-table{width:auto}.toastui-editor-popup-add-table .toastui-editor-table-selection{position:relative}.toastui-editor-popup-add-table .toastui-editor-table-cell{display:table-cell;width:20px;height:20px;border:1px solid #e1e3e9;background:#fff;box-sizing:border-box}.toastui-editor-popup-add-table .toastui-editor-table-cell.header{background:#f7f9fc}.toastui-editor-popup-add-table .toastui-editor-table-row{display:table-row}.toastui-editor-popup-add-table .toastui-editor-table{display:table;border-collapse:collapse}.toastui-editor-popup-add-table .toastui-editor-table-selection-layer{position:absolute;top:0;left:0;border:1px solid #00a9ff;background:rgba(0,169,255,.1);z-index:30}.toastui-editor-popup-add-table .toastui-editor-table-description{margin:5px 0 0;text-align:center;color:#333}.toastui-editor-popup-add-heading{width:auto}.toastui-editor-popup-add-heading .toastui-editor-popup-body{padding:0}.toastui-editor-popup-add-heading h1,.toastui-editor-popup-add-heading h2,.toastui-editor-popup-add-heading h3,.toastui-editor-popup-add-heading h4,.toastui-editor-popup-add-heading h5,.toastui-editor-popup-add-heading h6,.toastui-editor-popup-add-heading ul,.toastui-editor-popup-add-heading p{padding:0;margin:0}.toastui-editor-popup-add-heading ul{padding:5px 0;list-style:none}.toastui-editor-popup-add-heading ul li{padding:4px 12px;cursor:pointer}.toastui-editor-popup-add-heading ul li:hover{background-color:#dff4ff}.toastui-editor-popup-add-heading h1{font-size:24px}.toastui-editor-popup-add-heading h2{font-size:22px}.toastui-editor-popup-add-heading h3{font-size:20px}.toastui-editor-popup-add-heading h4{font-size:18px}.toastui-editor-popup-add-heading h5{font-size:16px}.toastui-editor-popup-add-heading h6{font-size:14px}.toastui-editor-context-menu{position:absolute;width:auto;min-width:197px;color:#333;border-radius:2px;box-shadow:0 2px 4px #00000014;border:1px solid #dadde6;z-index:30;padding:5px 0;background-color:#fff}.toastui-editor-context-menu .menu-group{list-style:none;border-bottom:1px solid #ebedf2;padding:0;margin:0;font-size:13px}.toastui-editor-context-menu .menu-group:last-child{border-bottom:none!important}.toastui-editor-context-menu .menu-item{height:32px;line-height:32px;padding:0 14px;cursor:pointer}.toastui-editor-context-menu span{display:inline-block}.toastui-editor-context-menu span:before{background:url(data:image/png;base64,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) no-repeat;background-size:466px 146px;content:"";width:20px;height:20px;display:inline-block;vertical-align:middle;margin-right:10px}.toastui-editor-context-menu .add-row-up:before{background-position:3px -104px}.toastui-editor-context-menu .add-row-down:before{background-position:-19px -104px}.toastui-editor-context-menu .remove-row:before{background-position:-41px -104px}.toastui-editor-context-menu .add-column-left:before{background-position:-63px -104px}.toastui-editor-context-menu .add-column-right:before{background-position:-85px -104px}.toastui-editor-context-menu .remove-column:before{background-position:-111px -104px}.toastui-editor-context-menu .align-column-left:before{background-position:-129px -104px}.toastui-editor-context-menu .align-column-center:before{background-position:-151px -104px}.toastui-editor-context-menu .align-column-right:before{background-position:-173px -104px}.toastui-editor-context-menu .remove-table:before{background-position:-197px -104px}.toastui-editor-context-menu .disabled span:before{opacity:.3}.toastui-editor-context-menu li:not(.disabled):hover{background-color:#dff4ff}.toastui-editor-context-menu li.disabled{color:#c9ccd5}.toastui-editor-tooltip{position:absolute;background-color:#444;z-index:40;padding:4px 7px;font-size:12px;border-radius:3px;color:#fff;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,나눔바른고딕,Nanum Barun Gothic,맑은고딕,Malgun Gothic,sans-serif}.toastui-editor-tooltip .arrow{content:"";display:inline-block;width:10px;height:10px;background-color:#444;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);position:absolute;top:-3px;left:6px;z-index:-1}.toastui-editor-toolbar-icons{background:url(data:image/png;base64,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) no-repeat;background-size:466px 146px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.toastui-editor-toolbar-icons,.toastui-editor-context-menu span:before{background:url(data:image/png;base64,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P0A9dgflJJi2Szl5led4F57jlvpECs/6vuTjuhR3dAo961VP9UoRby5eaGBuxz2Zy/3pyiWBlJEiA/s5FHaEnU170tGmBChvV5O1/Zske9dQ3upqiLdbfuL3hTpvY+q8m3ELRkrj1xLs36Md8A17jhOutYwTnYufJw89tLmvbxmhJagIVEmgaoW0yvjlXQREQASakkA77LJL42wfGmdpGiktpZBagaFRfQqNsDNGSykNldFTUQ6+3ZQFWEJlRsA6pVmzZjML1sks0hoiosy9vMoqq2wVjg7VEMNQkHbLTzEI7tOqdCoeTd1nn7dK2tjwf2F5Gsro3cVhdS4CItCcBKSQNud9kVQiIAIikIqAjZLSQNu8lGeujZiyW8pvs7mHI6W2tb/tlF28jigvcRfSmLUpw+doZDQvxM0Xb40zpbLKiE03nWtLiOpVRp1A7ZYfl6+4yTPqo5hO4nndFPt4fi+OHTv2Qb5x/Y+4P9lFQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAQ6mYDfyZlX3kVABESgnQgc/WRhlf5F3j6Dvjdw6UT/mnbKm/IiAiIgAiIgAiLQngSkkLbnfVWuREAEOohA7+OFsc8v8w4peN43yfZGlnW/y9t/9kT/2g7CoKyKgAiIgAiIgAi0IIGeFpRZIouACIhA3QSOm1fY4A3f28MiWqXg/fyCyf7CuiMdhQiOmFc4YOEy7zsk/fZhyRe89ww7b8GTI+YXthv0vBO9gjcZ8TdoUBYWer43r8vzzpk1yb+vQWkqmVEmcPQjhY36+rzv0amzI6I0qqy5XC9kdGDumDHeSRdv5T/n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vaXiGC338PM8x9WSftjWO6CWsArTOAKhollR2UwjEc9wdYeNvhHCevQvqneamUs5jzhd3GlMemI2KtUTUyq89dBYDwAArSK8cWt+zbJmtNII6bA8tdAI6TC5wxP7rtbACm97tkR/K+ssVude9DBm+gqV+JM9a3q/rfW7Vklpya19CNCr94HCAFOk3LRd33u1u8vbhSlgLfWJFJ71famHrqt0Z6ivplBf17v2qFIymV1n07LtaITNJW+jus8B3NjU09sxzQZqmWVeETWcACNtV1PespspVUcOKG/XMLpUV0O83fITx3nEo4WNB1d4N+O2Rdw9yc7z+z1GRr/RrCOjSTInuTHq+3naNz3U4dcnXZebCLQDAeo+HSIgAiLQeQTaYZfdI+YV9qGhUrGR0moKqZVGlG2bxnzGaCmloTJ6Ksrotzvv6eisHFunNGvWHiHX64xyzl8eO8bbKhwdqlmUdstPMYjgqwH/9I6mQ/F4OhKYzTvi+F82kzjtksn+3SOuyEEERKApCUghbcrbIqFEQAREIB0BGyXF5+ZlfCdN2S3jvXku2UgpCveJNDxtp+xh64hylNKm/s1jaPYcjYzmSLnJoq5lplSGWVhIY2yuLSGqVxl1MrVbfly+4qZtXnT0Q96kPs/btKvgjUc5fbHH9x6cMdG39Ws6REAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERAACviiIgAiIgAgMJ7DPPvvshMuNoeueN9xww5zhPnQmAiIgAiIgAiIgAiKQBYGeLCJRHCIgAiLQTgR839++UCiMtzyZHUMKaTvd4AzzctBBB627bNmydxDl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UvksxkDZi5yw9xKm1xzi5RjlMLe10HTi3YPCeTZ1ZPD5F2TYieT/wnPzFPb+vr6+zTDdxmA2a0Yjo3aDdIiACIiACIhADgS6ysRpa5gadTQyrUblqSHp0GgyZTTYwCghwWBNqflJuNZop2rucTV+S+Wjmjiq8VsqvbzdU8tIebDNVtxuusEGRjTArcPi2piQ+9Eg3yN2LqsI1EMgdflMmwhK4ADldgr+o3JLXRaN+DMD5GyU1prXQjMKfarF4eQhbp/fppy/FzOujM4kHU3TdaBkioAIiIAIiEDGBEoqpLaGibQyb2QkyD8qa8Ro7Ng60cX2C+0JojW/E0qF7aAbrRslL2faLyb57qGfmFPjrVWUp0zKQ6PTy5toFfmx0ZzbkMfKdqCMWqMdt+LG/XN8f/E3dch9axjWpgW33QGvtqgfKtyYzO5hNeWzgkzDLlu55XcEv1eHXchgLTRxFsJnYwfsd/GL775rQ7j2fHwGpfgorg1bX1oki05FQAREQAREQAREoHMJMBp2s02Rsx/2MxwJs8fctcuuA9MhJpuxbMrvU8XZtZEfysZetkau+JrORaDZCFBex1OP/drVZUXmNfGRzHpl57lYm867iTw32y5atGi9euNTeBEQAREQAREQgXQEgo+Dp/MqX81IgAbUm2iUXYBs8+nJvyguIw2sYzifRO/+cYwEBN8AiV+XXQREQASalYApo9Rh5dZCm+jX2rTe+Ohms+ZHcomACIiACIiACIiACIiACIiACLQIAUZDvx4fEaXz7SwbEcXtmrg7SuueLZIliSkCIiACIiACIpBAoOQa0gS/chIBERABERCBhhBg1LMRa6EbkhclIgIiIAIiIAIiIAIiIAIiIAIi0GIEtBa6xW6YxBUBERABERABERABERABERABERABERABERABERCBViHw/wHIAHUN1iL6RwAAAABJRU5ErkJggg==) no-repeat;background-size:466px 146px}}.toastui-editor-toolbar-icons{background-position-y:3px}.toastui-editor-toolbar-icons:disabled{opacity:.3}.toastui-editor-toolbar-icons.heading{background-position-x:3px}.toastui-editor-toolbar-icons.bold{background-position-x:-23px}.toastui-editor-toolbar-icons.italic{background-position-x:-49px}.toastui-editor-toolbar-icons.strike{background-position-x:-75px}.toastui-editor-toolbar-icons.hrline{background-position-x:-101px}.toastui-editor-toolbar-icons.quote{background-position-x:-127px}.toastui-editor-toolbar-icons.bullet-list{background-position-x:-153px}.toastui-editor-toolbar-icons.ordered-list{background-position-x:-179px}.toastui-editor-toolbar-icons.task-list{background-position-x:-205px}.toastui-editor-toolbar-icons.indent{background-position-x:-231px}.toastui-editor-toolbar-icons.outdent{background-position-x:-257px}.toastui-editor-toolbar-icons.table{background-position-x:-283px}.toastui-editor-toolbar-icons.image{background-position-x:-309px}.toastui-editor-toolbar-icons.link{background-position-x:-334px}.toastui-editor-toolbar-icons.code{background-position-x:-361px}.toastui-editor-toolbar-icons.codeblock{background-position-x:-388px}.toastui-editor-toolbar-icons.more{background-position-x:-412px}.toastui-editor-toolbar-icons:not(:disabled).active{background-position-y:-23px}@media only screen and (max-width: 480px){.toastui-editor-popup{max-width:300px;margin-left:-150px}.toastui-editor-dropdown-toolbar{max-width:none}}.ProseMirror{font-family:Open Sans,Helvetica Neue,Helvetica,Arial,나눔바른고딕,Nanum Barun Gothic,맑은고딕,Malgun Gothic,sans-serif;color:#222;font-size:13px;overflow-y:auto;overflow-X:hidden;height:calc(100% - 36px)}.ProseMirror .placeholder{color:#999}.ProseMirror:focus{outline:none}.ProseMirror-selectednode{outline:none}table.ProseMirror-selectednode,.html-block.ProseMirror-selectednode{border-radius:2px;outline:2px solid #00a9ff}.toastui-editor-contents{margin:0;padding:0;font-size:13px;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,나눔바른고딕,Nanum Barun Gothic,맑은고딕,Malgun Gothic,sans-serif;z-index:20}.toastui-editor-contents *:not(table){line-height:160%;box-sizing:content-box}.toastui-editor-contents i,.toastui-editor-contents cite,.toastui-editor-contents em,.toastui-editor-contents var,.toastui-editor-contents address,.toastui-editor-contents dfn{font-style:italic}.toastui-editor-contents strong{font-weight:700}.toastui-editor-contents p{margin:10px 0;color:#222}.toastui-editor-contents>h1:first-of-type,.toastui-editor-contents>div>div:first-of-type h1{margin-top:14px}.toastui-editor-contents h1,.toastui-editor-contents h2,.toastui-editor-contents h3,.toastui-editor-contents h4,.toastui-editor-contents h5,.toastui-editor-contents h6{font-weight:700;color:#222}.toastui-editor-contents h1{font-size:24px;line-height:28px;border-bottom:3px double #999;margin:52px 0 15px;padding-bottom:7px}.toastui-editor-contents h2{font-size:22px;line-height:23px;border-bottom:1px solid #dbdbdb;margin:20px 0 13px;padding-bottom:7px}.toastui-editor-contents h3{font-size:20px;margin:18px 0 2px}.toastui-editor-contents h4{font-size:18px;margin:10px 0 2px}.toastui-editor-contents h3,.toastui-editor-contents h4{line-height:18px}.toastui-editor-contents h5{font-size:16px}.toastui-editor-contents h6{font-size:14px}.toastui-editor-contents h5,.toastui-editor-contents h6{line-height:17px;margin:9px 0 -4px}.toastui-editor-contents del{color:#999}.toastui-editor-contents blockquote{margin:14px 0;border-left:4px solid #e5e5e5;padding:0 16px;color:#999}.toastui-editor-contents blockquote p,.toastui-editor-contents blockquote ul,.toastui-editor-contents blockquote ol{color:#999}.toastui-editor-contents blockquote>:first-child{margin-top:0}.toastui-editor-contents blockquote>:last-child{margin-bottom:0}.toastui-editor-contents pre,.toastui-editor-contents code{font-family:Consolas,Courier,Apple SD 산돌고딕 Neo,-apple-system,Lucida Grande,Apple SD Gothic Neo,맑은 고딕,Malgun Gothic,Segoe UI,돋움,dotum,sans-serif;border:0;border-radius:0}.toastui-editor-contents pre{margin:2px 0 8px;padding:18px;background-color:#f4f7f8}.toastui-editor-contents code{color:#c1798b;background-color:#f9f2f4;padding:2px 3px;letter-spacing:-.3px;border-radius:2px}.toastui-editor-contents pre code{padding:0;color:inherit;white-space:pre-wrap;background-color:transparent}.toastui-editor-contents img{margin:4px 0 10px;box-sizing:border-box;vertical-align:top;max-width:100%}.toastui-editor-contents table{border:1px solid rgba(0,0,0,.1);margin:12px 0 14px;color:#222;width:auto;border-collapse:collapse;box-sizing:border-box}.toastui-editor-contents table th,.toastui-editor-contents table td{border:1px solid rgba(0,0,0,.1);padding:5px 14px 5px 12px;height:32px}.toastui-editor-contents table th{background-color:#555;font-weight:300;color:#fff;padding-top:6px}.toastui-editor-contents th p{margin:0;color:#fff}.toastui-editor-contents td p{margin:0;padding:0 2px}.toastui-editor-contents td.toastui-editor-cell-selected{background-color:#d8dfec}.toastui-editor-contents th.toastui-editor-cell-selected{background-color:#908f8f}.toastui-editor-contents ul,.toastui-editor-contents menu,.toastui-editor-contents ol,.toastui-editor-contents dir{display:block;list-style-type:none;padding-left:24px;margin:6px 0 10px;color:#222}.toastui-editor-contents ol{list-style-type:none;counter-reset:li}.toastui-editor-contents ol>li{counter-increment:li}.toastui-editor-contents ul>li:before,.toastui-editor-contents ol>li:before{display:inline-block;position:absolute}.toastui-editor-contents ul>li:before{content:"";margin-top:6px;margin-left:-17px;width:5px;height:5px;border-radius:50%;background-color:#ccc}.toastui-editor-contents ol>li:before{content:"." counter(li);margin-left:-28px;width:24px;text-align:right;direction:rtl;color:#aaa}.toastui-editor-contents ul ul,.toastui-editor-contents ul ol,.toastui-editor-contents ol ol,.toastui-editor-contents ol ul{margin-top:0!important;margin-bottom:0!important}.toastui-editor-contents ul li,.toastui-editor-contents ol li{position:relative}.toastui-editor-contents ul p,.toastui-editor-contents ol p{margin:0}.toastui-editor-contents hr{border-top:1px solid #eee;margin:16px 0}.toastui-editor-contents a{text-decoration:underline;color:#4b96e6}.toastui-editor-contents a:hover{color:#1f70de}.toastui-editor-contents .image-link{position:relative}.toastui-editor-contents .image-link:hover:before{content:"";position:absolute;width:30px;height:30px;right:0;border-radius:50%;border:1px solid #c9ccd5;background:#fff url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj4KICAgICAgICA8ZyBzdHJva2U9IiM1NTUiIHN0cm9rZS13aWR0aD0iMS41Ij4KICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICA8Zz4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNy42NjUgMTUuMDdsLTEuODE5LS4wMDJjLTEuNDg2IDAtMi42OTItMS4yMjgtMi42OTItMi43NDR2LS4xOTJjMC0xLjUxNSAxLjIwNi0yLjc0NCAyLjY5Mi0yLjc0NGgzLjg0NmMxLjQ4NyAwIDIuNjkyIDEuMjI5IDIuNjkyIDIuNzQ0di4xOTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMDAwIC00NTgxKSB0cmFuc2xhdGUoOTk1IDQ1NzYpIHRyYW5zbGF0ZSg1IDUpIHNjYWxlKDEgLTEpIHJvdGF0ZSg0NSAzNy4yOTMgMCkiLz4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIuMzI2IDQuOTM0bDEuODIyLjAwMmMxLjQ4NyAwIDIuNjkzIDEuMjI4IDIuNjkzIDIuNzQ0di4xOTJjMCAxLjUxNS0xLjIwNiAyLjc0NC0yLjY5MyAyLjc0NGgtMy44NDVjLTEuNDg3IDAtMi42OTItMS4yMjktMi42OTItMi43NDRWNy42OCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwMDAgLTQ1ODEpIHRyYW5zbGF0ZSg5OTUgNDU3NikgdHJhbnNsYXRlKDUgNSkgc2NhbGUoMSAtMSkgcm90YXRlKDQ1IDMwLjk5NiAwKSIvPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K) no-repeat;background-position:center;box-shadow:0 2px 4px #00000014;cursor:pointer}.toastui-editor-contents .task-list-item{border:0;list-style:none;padding-left:24px;margin-left:-24px}.toastui-editor-contents .task-list-item:before{background-repeat:no-repeat;background-size:18px 18px;background-position:center;content:"";margin-left:0;margin-top:0;border-radius:2px;height:18px;width:18px;position:absolute;left:0;top:1px;cursor:pointer;background:transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgZmlsbD0iI0ZGRiIgc3Ryb2tlPSIjQ0NDIj4KICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAzMCAtMjk2KSB0cmFuc2xhdGUoNzg4IDE5MikgdHJhbnNsYXRlKDI0MiAxMDQpIj4KICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMTciIGhlaWdodD0iMTciIHg9Ii41IiB5PSIuNSIgcng9IjIiLz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==)}.toastui-editor-contents .task-list-item.checked:before{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgZmlsbD0iIzRCOTZFNiI+CiAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE2IDBjMS4xMDUgMCAyIC44OTUgMiAydjE0YzAgMS4xMDUtLjg5NSAyLTIgMkgyYy0xLjEwNSAwLTItLjg5NS0yLTJWMkMwIC44OTUuODk1IDAgMiAwaDE0em0tMS43OTMgNS4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNy41IDEwLjU4NSA1LjIwNyA4LjI5M2wtLjA5NC0uMDgzYy0uMzkyLS4zMDUtLjk2LS4yNzgtMS4zMi4wODMtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgMyAuMDk0LjA4M2MuMzkyLjMwNS45Ni4yNzggMS4zMi0uMDgzbDYtNiAuMDgzLS4wOTRjLjMwNS0uMzkyLjI3OC0uOTYtLjA4My0xLjMyeiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwNTAgLTI5NikgdHJhbnNsYXRlKDc4OCAxOTIpIHRyYW5zbGF0ZSgyNjIgMTA0KSIvPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K)}.toastui-editor-custom-block .toastui-editor-custom-block-editor{background:#f9f7fd;color:#452d6b;border:solid 1px #dbd4ea}.toastui-editor-custom-block .toastui-editor-custom-block-view{position:relative;padding:9px 13px 8px 12px}.toastui-editor-custom-block.ProseMirror-selectednode .toastui-editor-custom-block-view{border:solid 1px #dbd4ea;border-radius:2px}.toastui-editor-custom-block .toastui-editor-custom-block-view .tool{position:absolute;right:10px;top:7px;display:none}.toastui-editor-custom-block.ProseMirror-selectednode .toastui-editor-custom-block-view .tool{display:block}.toastui-editor-custom-block-view button{vertical-align:middle;width:15px;height:15px;margin-left:8px;padding:3px;border:solid 1px #cccccc;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzAgMzAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwIDMwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzU1NTU1NTt9Cjwvc3R5bGU+CjxnPgoJPGc+CgkJPGc+CgkJCTxnPgoJCQkJPGc+CgkJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE1LjUsMTIuNWwyLDJMMTIsMjBoLTJ2LTJMMTUuNSwxMi41eiBNMTgsMTBsMiwybC0xLjUsMS41bC0yLTJMMTgsMTB6Ii8+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==) no-repeat;background-position:center;background-size:30px 30px}.toastui-editor-custom-block-view .info{font-size:13px;font-weight:700;color:#5200d0;vertical-align:middle}.toastui-editor-contents .toastui-editor-ww-code-block{position:relative}.toastui-editor-contents .toastui-editor-ww-code-block:after{content:attr(data-language);position:absolute;display:inline-block;top:10px;right:10px;height:24px;padding:3px 35px 0 10px;font-weight:700;font-size:13px;color:#333;background:#e5e9ea url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzAgMzAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwIDMwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzU1NTU1NTt9Cjwvc3R5bGU+CjxnPgoJPGc+CgkJPGc+CgkJCTxnPgoJCQkJPGc+CgkJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE1LjUsMTIuNWwyLDJMMTIsMjBoLTJ2LTJMMTUuNSwxMi41eiBNMTgsMTBsMiwybC0xLjUsMS41bC0yLTJMMTgsMTB6Ii8+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==) no-repeat;background-position:right;border-radius:2px;background-size:30px 30px;cursor:pointer}.toastui-editor-ww-code-block-language{position:fixed;display:inline-block;width:100px;height:27px;right:35px;border:1px solid #ccc;border-radius:2px;background-color:#fff;z-index:30}.toastui-editor-ww-code-block-language input{box-sizing:border-box;margin:0;padding:0 10px;height:100%;width:100%;background-color:transparent;border:none;outline:none}.toastui-editor-contents-placeholder:before{content:attr(data-placeholder);color:gray;line-height:160%;position:absolute}.toastui-editor-md-preview .toastui-editor-contents h1{min-height:28px}.toastui-editor-md-preview .toastui-editor-contents h2{min-height:23px}.toastui-editor-md-preview .toastui-editor-contents blockquote{min-height:20px}.toastui-editor-md-preview .toastui-editor-contents li{min-height:22px}.toastui-editor-pseudo-clipboard{position:fixed;opacity:0;width:0;height:0;left:-1000px;top:-1000px;z-index:-1}.toastui-editor-contents .toastui-editor-md-preview-highlight{position:relative;z-index:0}.toastui-editor-contents .toastui-editor-md-preview-highlight:after{content:"";background-color:#fff58380;border-radius:4px;z-index:-1;position:absolute;top:-4px;right:-4px;left:-4px;bottom:-4px}.toastui-editor-contents h1.toastui-editor-md-preview-highlight:after,.toastui-editor-contents h2.toastui-editor-md-preview-highlight:after{bottom:0}.toastui-editor-contents td.toastui-editor-md-preview-highlight:after,.toastui-editor-contents th.toastui-editor-md-preview-highlight:after{display:none}.toastui-editor-contents th.toastui-editor-md-preview-highlight,.toastui-editor-contents td.toastui-editor-md-preview-highlight{background-color:#fff58380}.toastui-editor-contents th.toastui-editor-md-preview-highlight{color:#222}.toastui-editor-md-heading1{font-size:24px}.toastui-editor-md-heading2{font-size:22px}.toastui-editor-md-heading3{font-size:20px}.toastui-editor-md-heading4{font-size:18px}.toastui-editor-md-heading5{font-size:16px}.toastui-editor-md-heading6{font-size:14px}.toastui-editor-md-heading.toastui-editor-md-delimiter.setext{line-height:15px}.toastui-editor-md-strong,.toastui-editor-md-heading,.toastui-editor-md-list-item-style,.toastui-editor-md-list-item .toastui-editor-md-meta{font-weight:700}.toastui-editor-md-emph{font-style:italic}.toastui-editor-md-strike{text-decoration:line-through}.toastui-editor-md-strike.toastui-editor-md-delimiter{text-decoration:none}.toastui-editor-md-delimiter,.toastui-editor-md-thematic-break,.toastui-editor-md-link,.toastui-editor-md-table,.toastui-editor-md-block-quote{color:#ccc}.toastui-editor-md-code.toastui-editor-md-delimiter{color:#aaa}.toastui-editor-md-meta,.toastui-editor-md-html,.toastui-editor-md-link.toastui-editor-md-link-url.toastui-editor-md-marked-text{color:#999}.toastui-editor-md-block-quote .toastui-editor-md-marked-text,.toastui-editor-md-list-item .toastui-editor-md-meta{color:#555}.toastui-editor-md-table .toastui-editor-md-table-cell{color:#222}.toastui-editor-md-link.toastui-editor-md-link-desc.toastui-editor-md-marked-text,.toastui-editor-md-list-item-style.toastui-editor-md-list-item-odd{color:#4b96e6}.toastui-editor-md-list-item-style.toastui-editor-md-list-item-even{color:#cb4848}.toastui-editor-md-code.toastui-editor-md-marked-text{color:#c1798b}.toastui-editor-md-code{background-color:#f3e5e980;padding:2px 0;letter-spacing:-.3px}.toastui-editor-md-code.toastui-editor-md-start{padding-left:2px;border-top-left-radius:2px;border-bottom-left-radius:2px}.toastui-editor-md-code.toastui-editor-md-end{padding-right:2px;border-top-right-radius:2px;border-bottom-right-radius:2px}.toastui-editor-md-code-block-line-background{background-color:#f5f7f8}.toastui-editor-md-code-block-line-background.start,.toastui-editor-md-custom-block-line-background.start{margin-top:2px}.toastui-editor-md-code,.toastui-editor-md-code-block{font-family:Consolas,Courier,Lucida Grande,나눔바른고딕,Nanum Barun Gothic,맑은고딕,Malgun Gothic,sans-serif}.toastui-editor-md-custom-block{color:#452d6b}.toastui-editor-md-custom-block-line-background{background-color:#f9f7fd}.toastui-editor-md-custom-block .toastui-editor-md-delimiter{color:#b8b3c0}.toastui-editor-md-custom-block .toastui-editor-md-meta{color:#5200d0}.gdg-u1rrojo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:21px}.gdg-u1rrojo .gdg-link-area{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;cursor:pointer;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gdg-link-color);-webkit-text-decoration:underline!important;text-decoration:underline!important}.gdg-u1rrojo .gdg-edit-icon{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:32px;color:var(--gdg-accent-color);cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gdg-u1rrojo .gdg-edit-icon>*{width:24px;height:24px}.gdg-u1rrojo textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.gdg-n15fjm3e{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:6px 0 3px;color:var(--gdg-text-dark)}.gdg-n15fjm3e>input{font-size:var(--gdg-editor-font-size);padding:0;font-family:var(--gdg-font-family);color:var(--gdg-text-dark);background-color:var(--gdg-bg-cell)}.gdg-i2iowwq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}.gdg-i2iowwq .gdg-centering-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.gdg-i2iowwq .gdg-centering-container img,.gdg-i2iowwq .gdg-centering-container canvas{max-height:calc(100vh - var(--overlay-top) - 20px);object-fit:contain;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.gdg-i2iowwq .gdg-centering-container canvas{max-width:380px}.gdg-i2iowwq .gdg-edit-icon{position:absolute;top:12px;right:0;width:48px;height:48px;color:var(--gdg-accent-color);cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gdg-i2iowwq .gdg-edit-icon>*{width:24px;height:24px}.gdg-i2iowwq textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.gdg-b1ygi5by{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:auto;margin-bottom:auto}.gdg-b1ygi5by .boe-bubble{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:var(--gdg-rounding-radius,10px);padding:0 8px;height:20px;background-color:var(--gdg-bg-bubble);color:var(--gdg-text-dark);margin:2px}.gdg-b1ygi5by textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.gdg-m1pnx84e{min-width:var(--m1pnx84e-0);width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;position:relative;color:var(--gdg-text-dark)}.gdg-m1pnx84e .gdg-g1y0xocz{-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;min-width:0}.gdg-m1pnx84e .gdg-spacer{-webkit-flex:1;-ms-flex:1;flex:1}.gdg-m1pnx84e .gdg-edit-icon{position:relative;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--gdg-accent-color);padding:0;height:24px;width:24px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:all "0.125s ease";transition:all "0.125s ease";border-radius:6px}.gdg-m1pnx84e .gdg-edit-icon>*{width:16px;height:16px}.gdg-m1pnx84e .gdg-edit-hover:hover{background-color:var(--gdg-accent-light);-webkit-transition:background-color .15s;transition:background-color .15s}.gdg-m1pnx84e .gdg-checkmark-hover:hover{color:#fff;background-color:var(--gdg-accent-color)}.gdg-m1pnx84e .gdg-md-edit-textarea{position:relative;top:0;left:0;width:0px;height:0px;margin-top:25px;opacity:0;padding:0}.gdg-m1pnx84e .gdg-ml-6{margin-left:6px}.gdg-d4zsq0x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.gdg-d4zsq0x .doe-bubble{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 8px;height:24px;background-color:var(--gdg-bg-cell);color:var(--gdg-text-dark);margin:2px;border-radius:var(--gdg-rounding-radius,6px);box-shadow:0 0 1px #3e415666,0 1px 3px #3e415666}.gdg-d4zsq0x .doe-bubble img{height:16px;object-fit:contain;margin-right:4px}.gdg-d4zsq0x textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.gdg-d19meir1{position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:hidden;box-sizing:border-box;--overlay-top:var(--d19meir1-0);left:var(--d19meir1-1);top:var(--d19meir1-0);min-width:var(--d19meir1-2);min-height:var(--d19meir1-3);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:400px;max-height:calc(100vh - var(--d19meir1-4));font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);text-align:start}@-webkit-keyframes glide_fade_in-gdg-d19meir1{0%{opacity:0%}to{opacity:100%}}@keyframes glide_fade_in-gdg-d19meir1{0%{opacity:0%}to{opacity:100%}}.gdg-d19meir1.gdg-style{border-radius:2px;background-color:var(--gdg-bg-cell);box-shadow:0 0 0 1px var(--gdg-accent-color),0 0 1px #3e415666,0 6px 12px #3e415626;-webkit-animation:glide_fade_in-gdg-d19meir1 60ms 1;animation:glide_fade_in-gdg-d19meir1 60ms 1}.gdg-d19meir1.gdg-pad{padding:var(--d19meir1-5) 8.5px 3px}.gdg-d19meir1 .gdg-clip-region{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow-y:auto;overflow-x:hidden;border-radius:2px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.gdg-d19meir1 .gdg-clip-region .gdg-growing-entry{height:100%}.gdg-d19meir1 .gdg-clip-region input.gdg-input{width:100%;border:none;border-width:0;outline:none}.gdg-d19meir1 .gdg-clip-region textarea.gdg-input{border:none;border-width:0;outline:none}.gdg-izpuzkl{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;border-radius:0;resize:none;white-space:pre-wrap;min-width:100%;overflow:hidden;border:0;background-color:transparent;font-size:var(--gdg-editor-font-size);line-height:16px;font-family:var(--gdg-font-family);-webkit-text-fill-color:var(--gdg-text-dark);color:var(--gdg-text-dark);padding:0;margin:0}.gdg-izpuzkl::-webkit-input-placeholder{color:var(--gdg-text-light)}.gdg-izpuzkl::-moz-placeholder{color:var(--gdg-text-light)}.gdg-izpuzkl:-ms-input-placeholder{color:var(--gdg-text-light)}.gdg-izpuzkl::placeholder{color:var(--gdg-text-light)}.gdg-invalid .gdg-izpuzkl{-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:#d60606;text-decoration-color:#d60606}.gdg-s69h75o{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;min-width:100%;font-size:var(--gdg-editor-font-size);line-height:16px;font-family:var(--gdg-font-family);color:var(--gdg-text-dark);padding:0 0 2px;margin:0}.gdg-g1y0xocz{position:relative;margin-top:6px}.gdg-s1dgczr6 .dvn-scroller{overflow:var(--s1dgczr6-0);-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0)}.gdg-s1dgczr6 .dvn-hidden{visibility:hidden}.gdg-s1dgczr6 .dvn-scroll-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;pointer-events:none}.gdg-s1dgczr6 .dvn-scroll-inner>*{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.gdg-s1dgczr6 .dvn-scroll-inner .dvn-spacer{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.gdg-s1dgczr6 .dvn-scroll-inner .dvn-stack{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.gdg-s1dgczr6 .dvn-underlay>*{position:absolute;left:0;top:0}.gdg-s1dgczr6 canvas{outline:none}.gdg-s1dgczr6 canvas *{height:0}.gdg-wmyidgi{position:relative;min-width:10px;min-height:10px;max-width:100%;max-height:100%;width:var(--wmyidgi-0);height:var(--wmyidgi-1);overflow:hidden;overflow:clip;direction:ltr}.gdg-wmyidgi>:first-child{position:absolute;left:0;top:0;width:100%;height:100%}.gdg-seveqep{position:absolute;top:4px;right:20px;background-color:var(--gdg-bg-cell);color:var(--gdg-text-dark);padding:8px;border:1px solid var(--gdg-border-color);border-radius:6px;font-size:var(--gdg-editor-font-size);-webkit-animation:gdg-search-fadein-gdg-seveqep .15s forwards;animation:gdg-search-fadein-gdg-seveqep .15s forwards}.gdg-seveqep.out{-webkit-animation:gdg-search-fadeout-gdg-seveqep .15s forwards;animation:gdg-search-fadeout-gdg-seveqep .15s forwards}.gdg-seveqep .gdg-search-bar-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.gdg-seveqep .gdg-search-status{padding-top:4px;font-size:11px}.gdg-seveqep .gdg-search-progress{position:absolute;height:4px;left:0;bottom:0;background-color:var(--gdg-text-light)}.gdg-seveqep input{width:220px;color:var(--gdg-textDark);background-color:var(--gdg-bg-cell);border:none;border-width:0;outline:none}.gdg-seveqep button{width:24px;height:24px;padding:0;border:none;outline:none;background:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;color:var(--gdg-text-medium)}.gdg-seveqep button:hover{color:var(--gdg-text-dark)}.gdg-seveqep button .button-icon{width:16px;height:16px}.gdg-seveqep button:disabled{opacity:.4;pointer-events:none}@-webkit-keyframes gdg-search-fadeout-gdg-seveqep{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}to{-webkit-transform:translateX(400px);-ms-transform:translateX(400px);transform:translate(400px)}}@keyframes gdg-search-fadeout-gdg-seveqep{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}to{-webkit-transform:translateX(400px);-ms-transform:translateX(400px);transform:translate(400px)}}@-webkit-keyframes gdg-search-fadein-gdg-seveqep{0%{-webkit-transform:translateX(400px);-ms-transform:translateX(400px);transform:translate(400px)}to{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}}@keyframes gdg-search-fadein-gdg-seveqep{0%{-webkit-transform:translateX(400px);-ms-transform:translateX(400px);transform:translate(400px)}to{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}}.gdg-mnuv029{word-break:break-word;-webkit-touch-callout:default;padding-top:6px}.gdg-mnuv029>*{margin:0}.gdg-mnuv029 *:last-child{margin-bottom:0}.gdg-mnuv029 p img{width:100%}.gdg-r17m35ur{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border:none;outline:none;background-color:var(--gdg-bg-header-has-focus);border-radius:9px;padding:0 8px;box-shadow:0 0 0 1px var(--gdg-border-color);color:var(--gdg-text-group-header);min-height:var(--r17m35ur-0);font:var(--gdg-header-font-style) var(--gdg-font-family)}.gdg-c1tqibwd{padding:0 8px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--gdg-bg-header)}.s1wvhs74{box-sizing:border-box}.s1wvhs74 *,.s1wvhs74 *:before,.s1wvhs74 *:after{box-sizing:inherit}.b16aqpip{background-color:#2790b9;background:linear-gradient(90deg,#2790b9,#2070a9);color:#fff;padding:32px 48px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100vh;font-family:sans-serif}.b16aqpip>h1{font-size:50px;font-weight:600;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin:0 0 12px}.b16aqpip .sizer{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;background-color:#fff;border-radius:12px;box-shadow:#091e4240 0 4px 8px -2px,#091e4214 0 0 0 1px}.b16aqpip .sizer .sizer-clip{border-radius:12px;overflow:hidden;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);height:100%}.d1npx1y{font-size:18px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin:0 0 20px} diff --git a/docs/assets/cell-activated-event.stories-95MEeYVD.js b/docs/assets/cell-activated-event.stories-0Jp3S41A.js similarity index 89% rename from docs/assets/cell-activated-event.stories-95MEeYVD.js rename to docs/assets/cell-activated-event.stories-0Jp3S41A.js index f097bc453..697fcefa7 100644 --- a/docs/assets/cell-activated-event.stories-95MEeYVD.js +++ b/docs/assets/cell-activated-event.stories-0Jp3S41A.js @@ -1,4 +1,4 @@ -import{j as e,a as o,F as g}from"./marked.esm-dbrxtycE.js";import{R as i}from"./index-BMVQvedj.js";import{D as k}from"./data-editor-all-kwt0I9Kc.js";import{a as B,B as E,D as y,K as s,P as D,M as S,d as M}from"./utils-rXlmyYaC.js";import{S as R}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const G={title:"Glide-Data-Grid/DataEditor Demos",decorators:[n=>e(R,{children:e(n,{})})]},t=n=>{const{cols:m,getCellContent:c,onColumnResize:p,setCellValue:C}=B(),A=i.useCallback(l=>{const r=c(l);return l[0]===3?{...r,activationBehaviorOverride:"single-click",hoverEffect:!0}:r},[c]),[a,h]=i.useState(void 0),f=i.useCallback(l=>{h(l)},[]);return e(E,{title:"Cell Activated event",description:o(g,{children:[o(y,{children:["When you tap ",e(s,{children:"Enter"}),", ",e(s,{children:"Space"})," or double click a cell, that cell is activated. You can track this with ",e(D,{children:"onCellActivated"}),"."]}),o(S,{children:["Last activated cell:"," ",a===void 0?"none":`(${a[0]}, ${a[1]})`]})]}),children:e(k,{...M,cellActivationBehavior:n.cellActivationBehavior,getCellContent:A,getCellsForSelection:!0,columns:m,onCellEdited:C,onColumnResize:p,onCellActivated:f,rows:1e4})})};t.argTypes={cellActivationBehavior:{control:{type:"select"},options:["double-click","single-click","second-click"]}};t.args={cellActivationBehavior:"second-click"};var d,u,v;t.parameters={...t.parameters,docs:{...(d=t.parameters)==null?void 0:d.docs,source:{originalSource:`p => { +import{j as e,a as o,F as g}from"./marked.esm-dbrxtycE.js";import{R as i}from"./index-BMVQvedj.js";import{D as k}from"./data-editor-all-3W5wpw6K.js";import{a as B,B as E,D as y,K as s,P as D,M as S,d as M}from"./utils--Nf55hQd.js";import{S as R}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const G={title:"Glide-Data-Grid/DataEditor Demos",decorators:[n=>e(R,{children:e(n,{})})]},t=n=>{const{cols:m,getCellContent:c,onColumnResize:p,setCellValue:C}=B(),A=i.useCallback(l=>{const r=c(l);return l[0]===3?{...r,activationBehaviorOverride:"single-click",hoverEffect:!0}:r},[c]),[a,h]=i.useState(void 0),f=i.useCallback(l=>{h(l)},[]);return e(E,{title:"Cell Activated event",description:o(g,{children:[o(y,{children:["When you tap ",e(s,{children:"Enter"}),", ",e(s,{children:"Space"})," or double click a cell, that cell is activated. You can track this with ",e(D,{children:"onCellActivated"}),"."]}),o(S,{children:["Last activated cell:"," ",a===void 0?"none":`(${a[0]}, ${a[1]})`]})]}),children:e(k,{...M,cellActivationBehavior:n.cellActivationBehavior,getCellContent:A,getCellsForSelection:!0,columns:m,onCellEdited:C,onColumnResize:p,onCellActivated:f,rows:1e4})})};t.argTypes={cellActivationBehavior:{control:{type:"select"},options:["double-click","single-click","second-click"]}};t.args={cellActivationBehavior:"second-click"};var d,u,v;t.parameters={...t.parameters,docs:{...(d=t.parameters)==null?void 0:d.docs,source:{originalSource:`p => { const { cols, getCellContent, diff --git a/docs/assets/cell.stories-fIZdO5lz.js b/docs/assets/cell.stories-515e25HC.js similarity index 99% rename from docs/assets/cell.stories-fIZdO5lz.js rename to docs/assets/cell.stories-515e25HC.js index be685a57d..b81dabaa6 100644 --- a/docs/assets/cell.stories-fIZdO5lz.js +++ b/docs/assets/cell.stories-515e25HC.js @@ -1,4 +1,4 @@ -import{j as D,s as te,a as Pe,m as Zr}from"./marked.esm-dbrxtycE.js";import{r as y}from"./index-BMVQvedj.js";import{G as E,p as Jr,m as Ce,g as ue,a as zt,u as jn,d as Qr,b as ea,i as ta,r as na,c as Rt,D as Kn}from"./data-editor-all-y1NNmvAL.js";import{_ as Te,a as ra,b as ce,t as aa,c as Yn,d as V,e as ke}from"./toConsumableArray-ppDpjNRJ.js";import{r as oa}from"./index-wocATsGp.js";import{_ as ia}from"./iframe-lQqvcp2b.js";import{r as wt}from"./throttle-7EuXLZa7.js";import{u as la}from"./flatten-qRvRBp6y.js";import{u as sa}from"./index.esm-Ejw8GwRl.js";import"../sb-preview/runtime.js";import"./_baseIteratee-WTHxv43n.js";const ua=[[50,5],[61.23,39.55],[97.55,39.55],[68.16,60.9],[79.39,95.45],[50,74.1],[20.61,95.45],[31.84,60.9],[2.45,39.55],[38.77,39.55]];function ca(t,e,n){let a=!1;for(const r of ua){const o=(r[0]-50)*(n/100)+e[0],l=(r[1]-50)*(n/100)+e[1];a?t.lineTo(o,l):(t.moveTo(o,l),a=!0)}t.closePath()}const da=()=>D("svg",{width:"100",height:"100",viewBox:"0 0 100 100",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:D("path",{d:"M47.1468 13.7811C48.0449 11.0172 51.9551 11.0172 52.8532 13.7812L60.5522 37.4762C60.9538 38.7123 62.1056 39.5491 63.4053 39.5491H88.3198C91.226 39.5491 92.4343 43.268 90.0831 44.9762L69.9269 59.6205C68.8755 60.3845 68.4355 61.7386 68.8371 62.9746L76.5361 86.6697C77.4342 89.4336 74.2707 91.732 71.9196 90.0238L51.7634 75.3794C50.7119 74.6155 49.2881 74.6155 48.2366 75.3795L28.0804 90.0238C25.7293 91.732 22.5659 89.4336 23.4639 86.6697L31.1629 62.9746C31.5645 61.7386 31.1245 60.3845 30.0731 59.6205L9.91686 44.9762C7.56572 43.268 8.77405 39.5491 11.6802 39.5491H36.5947C37.8944 39.5491 39.0462 38.7123 39.4478 37.4762L47.1468 13.7811Z",fill:"currentColor"})}),fa=te("div")({name:"EditorWrap",class:"e8nv6xj",propsAsIs:!1}),pa={kind:E.Custom,isMatch:t=>t.data.kind==="star-cell",needsHover:!0,draw:(t,e)=>{const{ctx:n,theme:a,rect:r,hoverAmount:o}=t,{rating:l}=e.data,s=a.cellHorizontalPadding;let i=r.x+s;const u=Math.min(5,Math.ceil(l));i+=8,n.beginPath();for(let c=0;ct=>D(fa,{children:[0,1,2,3,4].map(e=>D("div",{className:t.value.data.rating{t.onChange({...t.value,data:{...t.value.data,rating:e+1}})},children:D(da,{})},e))}),onPaste:(t,e)=>{const n=Number.parseInt(t);return{...e,rating:Number.isNaN(n)?0:n}}},ha=pa,va={kind:E.Custom,isMatch:t=>t.data.kind==="sparkline-cell",needsHover:!0,needsHoverPosition:!0,draw:(t,e)=>{const{ctx:n,theme:a,rect:r,hoverAmount:o,hoverX:l}=t;let{values:s,yAxis:i,color:u,graphKind:c="area",displayValues:d,hideAxis:h}=e.data;const[m,g]=i;if(s.length===0)return!0;s=s.map(x=>Math.min(1,Math.max(0,(x-m)/(g-m))));const f=a.cellHorizontalPadding,p=f+r.x,v=r.y+3,C=r.height-6,S=r.width-f*2,O=g-m,k=g<=0?v:m>=0?v+C:v+C*(g/O);if(!h&&m<=0&&g>=0&&(n.beginPath(),n.moveTo(p,k),n.lineTo(p+S,k),n.globalAlpha=.4,n.lineWidth=1,n.strokeStyle=a.textLight,n.stroke(),n.globalAlpha=1),c==="bar"){n.beginPath();const x=2,b=(s.length-1)*x,w=(S-b)/s.length;let M=p;for(const F of s){const N=v+C-F*C;n.moveTo(M,k),n.lineTo(M+w,k),n.lineTo(M+w,N),n.lineTo(M,N),M+=w+x}n.fillStyle=e.data.color??a.accentColor,n.fill()}else{s.length===1&&(s=[s[0],s[0]],d&&(d=[d[0],d[0]])),n.beginPath();const x=(r.width-16)/(s.length-1),b=s.map((M,F)=>({x:p+x*F,y:v+C-M*C}));n.moveTo(b[0].x,b[0].y);let w=0;if(b.length>2)for(w=1;w{},onPaste:(t,e)=>e},ma=va;function $e(t,e,n,a,r,o){if(!(a<=0||r<=0)){if(typeof o=="number"&&o<=0){t.rect(e,n,a,r);return}typeof o=="number"&&(o={tl:o,tr:o,br:o,bl:o}),o={tl:Math.min(o.tl,r/2,a/2),tr:Math.min(o.tr,r/2,a/2),bl:Math.min(o.bl,r/2,a/2),br:Math.min(o.br,r/2,a/2)},o.tl=Math.max(0,o.tl),o.tr=Math.max(0,o.tr),o.br=Math.max(0,o.br),o.bl=Math.max(0,o.bl),t.moveTo(e+o.tl,n),t.arcTo(e+a,n,e+a,n+o.tr,o.tr),t.arcTo(e+a,n+r,e+a-o.br,n+r,o.br),t.arcTo(e,n+r,e,n+r-o.bl,o.bl),t.arcTo(e,n,e+o.tl,n,o.tl)}}const we=20,Oe=6,ga=()=>t=>t.tagHeight/2,ba=()=>t=>t.tagHeight,ya=()=>t=>t.innerPad,Ca=te("div")({name:"EditorWrap",class:"e14vzbfa",propsAsIs:!1,vars:{"e14vzbfa-0":[ga(),"px"],"e14vzbfa-1":[ba(),"px"],"e14vzbfa-2":[ya(),"px"]}}),wa={kind:E.Custom,isMatch:t=>t.data.kind==="tags-cell",draw:(t,e)=>{var h;const{ctx:n,theme:a,rect:r}=t,{possibleTags:o,tags:l}=e.data,s={x:r.x+a.cellHorizontalPadding,y:r.y+a.cellVerticalPadding,width:r.width-2*a.cellHorizontalPadding,height:r.height-2*a.cellVerticalPadding},i=Math.max(1,Math.floor(s.height/(we+Oe)));let u=s.x,c=1,d=s.y+(s.height-i*we-(i-1)*Oe)/2;for(const m of l){const g=((h=o.find(C=>C.tag===m))==null?void 0:h.color)??a.bgBubble;n.font=`12px ${a.fontFamily}`;const p=Ce(m,n).width+Oe*2,v=we/2;if(u!==s.x&&u+p>s.x+s.width&&cs.x+s.width&&c>=i)break}return!0},provideEditor:()=>t=>{const{onChange:e,value:n}=t,{readonly:a=!1}=n,{possibleTags:r,tags:o}=n.data;return D(Ca,{tagHeight:we,innerPad:Oe,className:a?"gdg-readonly":"",children:r.map(l=>{const s=o.indexOf(l.tag)!==-1;return Pe("label",{children:[!a&&D("input",{className:"gdg-input",type:"checkbox",checked:s,onChange:()=>{const i=s?o.filter(u=>u!==l.tag):[...o,l.tag];e({...t.value,data:{...n.data,tags:i}})}}),D("div",{className:"gdg-pill "+(s?"gdg-selected":"gdg-unselected"),style:{backgroundColor:s?l.color:void 0},children:l.tag})]},l.tag)})})},onPaste:(t,e)=>({...e,tags:e.possibleTags.map(n=>n.tag).filter(n=>t.split(",").map(a=>a.trim()).includes(n))})},Sa=wa,Oa={kind:E.Custom,isMatch:t=>t.data.kind==="user-profile-cell",draw:(t,e)=>{const{ctx:n,rect:a,theme:r,imageLoader:o,col:l,row:s}=t,{image:i,name:u,initial:c,tint:d}=e.data,h=r.cellHorizontalPadding,m=Math.min(12,a.height/2-r.cellVerticalPadding),g=a.x+h,f=o.loadOrGetImage(i,l,s);n.save(),n.beginPath(),n.arc(g+m,a.y+a.height/2,m,0,Math.PI*2),n.globalAlpha=.2,n.fillStyle=d,n.fill(),n.globalAlpha=1,n.font=`600 16px ${r.fontFamily}`;const p=Ce(c[0],n);return n.fillText(c[0],g+m-p.width/2,a.y+a.height/2+ue(n,`600 16px ${r.fontFamily}`)),f!==void 0&&(n.save(),n.beginPath(),n.arc(g+m,a.y+a.height/2,m,0,Math.PI*2),n.clip(),n.drawImage(f,g,a.y+a.height/2-m,m*2,m*2),n.restore()),u!==void 0&&(n.font=r.baseFontFull,n.fillStyle=r.textDark,n.fillText(u,g+m*2+h,a.y+a.height/2+ue(n,r))),n.restore(),!0},provideEditor:()=>t=>{const{isHighlighted:e,onChange:n,value:a}=t;return D(zt,{highlight:e,autoFocus:!0,value:a.data.name??"",disabled:a.readonly??!1,onChange:r=>n({...a,data:{...a.data,name:r.target.value}})})},onPaste:(t,e)=>({...e,name:t})},xa=Oa;function sn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,a)}return n}function P(t){for(var e=1;eD("svg",{width:"100",height:"100",viewBox:"0 0 100 100",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:D("path",{d:"M47.1468 13.7811C48.0449 11.0172 51.9551 11.0172 52.8532 13.7812L60.5522 37.4762C60.9538 38.7123 62.1056 39.5491 63.4053 39.5491H88.3198C91.226 39.5491 92.4343 43.268 90.0831 44.9762L69.9269 59.6205C68.8755 60.3845 68.4355 61.7386 68.8371 62.9746L76.5361 86.6697C77.4342 89.4336 74.2707 91.732 71.9196 90.0238L51.7634 75.3794C50.7119 74.6155 49.2881 74.6155 48.2366 75.3795L28.0804 90.0238C25.7293 91.732 22.5659 89.4336 23.4639 86.6697L31.1629 62.9746C31.5645 61.7386 31.1245 60.3845 30.0731 59.6205L9.91686 44.9762C7.56572 43.268 8.77405 39.5491 11.6802 39.5491H36.5947C37.8944 39.5491 39.0462 38.7123 39.4478 37.4762L47.1468 13.7811Z",fill:"currentColor"})}),fa=te("div")({name:"EditorWrap",class:"e8nv6xj",propsAsIs:!1}),pa={kind:E.Custom,isMatch:t=>t.data.kind==="star-cell",needsHover:!0,draw:(t,e)=>{const{ctx:n,theme:a,rect:r,hoverAmount:o}=t,{rating:l}=e.data,s=a.cellHorizontalPadding;let i=r.x+s;const u=Math.min(5,Math.ceil(l));i+=8,n.beginPath();for(let c=0;ct=>D(fa,{children:[0,1,2,3,4].map(e=>D("div",{className:t.value.data.rating{t.onChange({...t.value,data:{...t.value.data,rating:e+1}})},children:D(da,{})},e))}),onPaste:(t,e)=>{const n=Number.parseInt(t);return{...e,rating:Number.isNaN(n)?0:n}}},ha=pa,va={kind:E.Custom,isMatch:t=>t.data.kind==="sparkline-cell",needsHover:!0,needsHoverPosition:!0,draw:(t,e)=>{const{ctx:n,theme:a,rect:r,hoverAmount:o,hoverX:l}=t;let{values:s,yAxis:i,color:u,graphKind:c="area",displayValues:d,hideAxis:h}=e.data;const[m,g]=i;if(s.length===0)return!0;s=s.map(x=>Math.min(1,Math.max(0,(x-m)/(g-m))));const f=a.cellHorizontalPadding,p=f+r.x,v=r.y+3,C=r.height-6,S=r.width-f*2,O=g-m,k=g<=0?v:m>=0?v+C:v+C*(g/O);if(!h&&m<=0&&g>=0&&(n.beginPath(),n.moveTo(p,k),n.lineTo(p+S,k),n.globalAlpha=.4,n.lineWidth=1,n.strokeStyle=a.textLight,n.stroke(),n.globalAlpha=1),c==="bar"){n.beginPath();const x=2,b=(s.length-1)*x,w=(S-b)/s.length;let M=p;for(const F of s){const N=v+C-F*C;n.moveTo(M,k),n.lineTo(M+w,k),n.lineTo(M+w,N),n.lineTo(M,N),M+=w+x}n.fillStyle=e.data.color??a.accentColor,n.fill()}else{s.length===1&&(s=[s[0],s[0]],d&&(d=[d[0],d[0]])),n.beginPath();const x=(r.width-16)/(s.length-1),b=s.map((M,F)=>({x:p+x*F,y:v+C-M*C}));n.moveTo(b[0].x,b[0].y);let w=0;if(b.length>2)for(w=1;w{},onPaste:(t,e)=>e},ma=va;function $e(t,e,n,a,r,o){if(!(a<=0||r<=0)){if(typeof o=="number"&&o<=0){t.rect(e,n,a,r);return}typeof o=="number"&&(o={tl:o,tr:o,br:o,bl:o}),o={tl:Math.min(o.tl,r/2,a/2),tr:Math.min(o.tr,r/2,a/2),bl:Math.min(o.bl,r/2,a/2),br:Math.min(o.br,r/2,a/2)},o.tl=Math.max(0,o.tl),o.tr=Math.max(0,o.tr),o.br=Math.max(0,o.br),o.bl=Math.max(0,o.bl),t.moveTo(e+o.tl,n),t.arcTo(e+a,n,e+a,n+o.tr,o.tr),t.arcTo(e+a,n+r,e+a-o.br,n+r,o.br),t.arcTo(e,n+r,e,n+r-o.bl,o.bl),t.arcTo(e,n,e+o.tl,n,o.tl)}}const we=20,Oe=6,ga=()=>t=>t.tagHeight/2,ba=()=>t=>t.tagHeight,ya=()=>t=>t.innerPad,Ca=te("div")({name:"EditorWrap",class:"e14vzbfa",propsAsIs:!1,vars:{"e14vzbfa-0":[ga(),"px"],"e14vzbfa-1":[ba(),"px"],"e14vzbfa-2":[ya(),"px"]}}),wa={kind:E.Custom,isMatch:t=>t.data.kind==="tags-cell",draw:(t,e)=>{var h;const{ctx:n,theme:a,rect:r}=t,{possibleTags:o,tags:l}=e.data,s={x:r.x+a.cellHorizontalPadding,y:r.y+a.cellVerticalPadding,width:r.width-2*a.cellHorizontalPadding,height:r.height-2*a.cellVerticalPadding},i=Math.max(1,Math.floor(s.height/(we+Oe)));let u=s.x,c=1,d=s.y+(s.height-i*we-(i-1)*Oe)/2;for(const m of l){const g=((h=o.find(C=>C.tag===m))==null?void 0:h.color)??a.bgBubble;n.font=`12px ${a.fontFamily}`;const p=Ce(m,n).width+Oe*2,v=we/2;if(u!==s.x&&u+p>s.x+s.width&&cs.x+s.width&&c>=i)break}return!0},provideEditor:()=>t=>{const{onChange:e,value:n}=t,{readonly:a=!1}=n,{possibleTags:r,tags:o}=n.data;return D(Ca,{tagHeight:we,innerPad:Oe,className:a?"gdg-readonly":"",children:r.map(l=>{const s=o.indexOf(l.tag)!==-1;return Pe("label",{children:[!a&&D("input",{className:"gdg-input",type:"checkbox",checked:s,onChange:()=>{const i=s?o.filter(u=>u!==l.tag):[...o,l.tag];e({...t.value,data:{...n.data,tags:i}})}}),D("div",{className:"gdg-pill "+(s?"gdg-selected":"gdg-unselected"),style:{backgroundColor:s?l.color:void 0},children:l.tag})]},l.tag)})})},onPaste:(t,e)=>({...e,tags:e.possibleTags.map(n=>n.tag).filter(n=>t.split(",").map(a=>a.trim()).includes(n))})},Sa=wa,Oa={kind:E.Custom,isMatch:t=>t.data.kind==="user-profile-cell",draw:(t,e)=>{const{ctx:n,rect:a,theme:r,imageLoader:o,col:l,row:s}=t,{image:i,name:u,initial:c,tint:d}=e.data,h=r.cellHorizontalPadding,m=Math.min(12,a.height/2-r.cellVerticalPadding),g=a.x+h,f=o.loadOrGetImage(i,l,s);n.save(),n.beginPath(),n.arc(g+m,a.y+a.height/2,m,0,Math.PI*2),n.globalAlpha=.2,n.fillStyle=d,n.fill(),n.globalAlpha=1,n.font=`600 16px ${r.fontFamily}`;const p=Ce(c[0],n);return n.fillText(c[0],g+m-p.width/2,a.y+a.height/2+ue(n,`600 16px ${r.fontFamily}`)),f!==void 0&&(n.save(),n.beginPath(),n.arc(g+m,a.y+a.height/2,m,0,Math.PI*2),n.clip(),n.drawImage(f,g,a.y+a.height/2-m,m*2,m*2),n.restore()),u!==void 0&&(n.font=r.baseFontFull,n.fillStyle=r.textDark,n.fillText(u,g+m*2+h,a.y+a.height/2+ue(n,r))),n.restore(),!0},provideEditor:()=>t=>{const{isHighlighted:e,onChange:n,value:a}=t;return D(zt,{highlight:e,autoFocus:!0,value:a.data.name??"",disabled:a.readonly??!1,onChange:r=>n({...a,data:{...a.data,name:r.target.value}})})},onPaste:(t,e)=>({...e,name:t})},xa=Oa;function sn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,a)}return n}function P(t){for(var e=1;e0?K(De,--Y):0,Ie--,z===10&&(Ie=1,st--),z}function Z(){return z=Y2||He(z)>3?"":" "}function Ka(t,e){for(;--e&&Z()&&!(z<48||z>102||z>57&&z<65||z>70&&z<97););return _e(t,Ke()+(e<6&&se()==32&&Z()==32))}function $t(t){for(;Z();)switch(z){case t:return Y;case 34:case 39:t!==34&&t!==39&&$t(z);break;case 40:t===41&&$t(t);break;case 92:Z();break}return Y}function Ya(t,e){for(;Z()&&t+z!==57;)if(t+z===84&&se()===47)break;return"/*"+_e(e,Y-1)+"*"+lt(t===47?t:Z())}function Xa(t){for(;!He(se());)Z();return _e(t,Y)}function qa(t){return nr(Xe("",null,null,null,[""],t=tr(t),0,[0],t))}function Xe(t,e,n,a,r,o,l,s,i){for(var u=0,c=0,d=l,h=0,m=0,g=0,f=1,p=1,v=1,C=0,S="",O=r,k=o,x=a,b=S;p;)switch(g=C,C=Z()){case 40:if(g!=108&&b.charCodeAt(d-1)==58){Ft(b+=R(Ye(C),"&","&\f"),"&\f")!=-1&&(v=-1);break}case 34:case 39:case 91:b+=Ye(C);break;case 9:case 10:case 13:case 32:b+=ja(g);break;case 92:b+=Ka(Ke()-1,7);continue;case 47:switch(se()){case 42:case 47:We(Za(Ya(Z(),Ke()),e,n),i);break;default:b+="/"}break;case 123*f:s[u++]=ie(b)*v;case 125*f:case 59:case 0:switch(C){case 0:case 125:p=0;case 59+c:m>0&&ie(b)-d&&We(m>32?dn(b+";",a,n,d-1):dn(R(b," ","")+";",a,n,d-2),i);break;case 59:b+=";";default:if(We(x=cn(b,e,n,u,c,r,s,S,O=[],k=[],d),o),C===123)if(c===0)Xe(b,e,x,x,O,o,d,s,k);else switch(h){case 100:case 109:case 115:Xe(t,x,x,a&&We(cn(t,x,x,0,0,r,s,S,r,O=[],d),k),r,k,d,s,a?O:k);break;default:Xe(b,x,x,x,[""],k,0,s,k)}}u=c=m=0,f=v=1,S=b="",d=l;break;case 58:d=1+ie(b),m=g;default:if(f<1){if(C==123)--f;else if(C==125&&f++==0&&Ga()==125)continue}switch(b+=lt(C),C*f){case 38:v=c>0?1:(b+="\f",-1);break;case 44:s[u++]=(ie(b)-1)*v,v=1;break;case 64:se()===45&&(b+=Ye(Z())),h=se(),c=d=ie(S=b+=Xa(Ke())),C++;break;case 45:g===45&&ie(b)==2&&(f=0)}}return o}function cn(t,e,n,a,r,o,l,s,i,u,c){for(var d=r-1,h=r===0?o:[""],m=Ut(h),g=0,f=0,p=0;g0?h[v]+" "+C:R(C,/&\f/g,h[v])))&&(i[p++]=S);return ut(t,e,n,r===0?Bt:s,i,u,c)}function Za(t,e,n){return ut(t,e,n,Zn,lt(Ua()),Ae(t,2,-2),0)}function dn(t,e,n,a){return ut(t,e,n,Wt,Ae(t,0,a),Ae(t,a+1,-1),a)}function rr(t,e){switch(za(t,e)){case 5103:return T+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return T+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return T+t+Qe+t+G+t+t;case 6828:case 4268:return T+t+G+t+t;case 6165:return T+t+G+"flex-"+t+t;case 5187:return T+t+R(t,/(\w+).+(:[^]+)/,T+"box-$1$2"+G+"flex-$1$2")+t;case 5443:return T+t+G+"flex-item-"+R(t,/flex-|-self/,"")+t;case 4675:return T+t+G+"flex-line-pack"+R(t,/align-content|flex-|-self/,"")+t;case 5548:return T+t+G+R(t,"shrink","negative")+t;case 5292:return T+t+G+R(t,"basis","preferred-size")+t;case 6060:return T+"box-"+R(t,"-grow","")+T+t+G+R(t,"grow","positive")+t;case 4554:return T+R(t,/([^-])(transform)/g,"$1"+T+"$2")+t;case 6187:return R(R(R(t,/(zoom-|grab)/,T+"$1"),/(image-set)/,T+"$1"),t,"")+t;case 5495:case 3959:return R(t,/(image-set\([^]*)/,T+"$1$`$1");case 4968:return R(R(t,/(.+:)(flex-)?(.*)/,T+"box-pack:$3"+G+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+T+t+t;case 4095:case 3583:case 4068:case 2532:return R(t,/(.+)-inline(.+)/,T+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(ie(t)-1-e>6)switch(K(t,e+1)){case 109:if(K(t,e+4)!==45)break;case 102:return R(t,/(.+:)(.+)-([^]+)/,"$1"+T+"$2-$3$1"+Qe+(K(t,e+3)==108?"$3":"$2-$3"))+t;case 115:return~Ft(t,"stretch")?rr(R(t,"stretch","fill-available"),e)+t:t}break;case 4949:if(K(t,e+1)!==115)break;case 6444:switch(K(t,ie(t)-3-(~Ft(t,"!important")&&10))){case 107:return R(t,":",":"+T)+t;case 101:return R(t,/(.+:)([^;!]+)(;|!.+)?/,"$1"+T+(K(t,14)===45?"inline-":"")+"box$3$1"+T+"$2$3$1"+G+"$2box$3")+t}break;case 5936:switch(K(t,e+11)){case 114:return T+t+G+R(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return T+t+G+R(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return T+t+G+R(t,/[svh]\w+-[tblr]{2}/,"lr")+t}return T+t+G+t+t}return t}function Me(t,e){for(var n="",a=Ut(t),r=0;r-1&&!t.return)switch(t.type){case Wt:t.return=rr(t.value,t.length);break;case Jn:return Me([Ve(t,{value:R(t.value,"@","@"+T)})],a);case Bt:if(t.length)return Wa(t.props,function(r){switch(Ba(r,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Me([Ve(t,{props:[R(r,/:(read-\w+)/,":"+Qe+"$1")]})],a);case"::placeholder":return Me([Ve(t,{props:[R(r,/:(plac\w+)/,":"+T+"input-$1")]}),Ve(t,{props:[R(r,/:(plac\w+)/,":"+Qe+"$1")]}),Ve(t,{props:[R(r,/:(plac\w+)/,G+"input-$1")]})],a)}return""})}}var no=function(e,n,a){for(var r=0,o=0;r=o,o=se(),r===38&&o===12&&(n[a]=1),!He(o);)Z();return _e(e,Y)},ro=function(e,n){var a=-1,r=44;do switch(He(r)){case 0:r===38&&se()===12&&(n[a]=1),e[a]+=no(Y-1,n,a);break;case 2:e[a]+=Ye(r);break;case 4:if(r===44){e[++a]=se()===58?"&\f":"",n[a]=e[a].length;break}default:e[a]+=lt(r)}while(r=Z());return e},ao=function(e,n){return nr(ro(tr(e),n))},fn=new WeakMap,oo=function(e){if(!(e.type!=="rule"||!e.parent||e.length<1)){for(var n=e.value,a=e.parent,r=e.column===a.column&&e.line===a.line;a.type!=="rule";)if(a=a.parent,!a)return;if(!(e.props.length===1&&n.charCodeAt(0)!==58&&!fn.get(a))&&!r){fn.set(e,!0);for(var o=[],l=ao(n,o),s=a.props,i=0,u=0;io(A,{children:o(M,{title:"Group collapse",description:i(D,{children:[i(b,{children:["Through clever usage of ",o(k,{children:"onGroupHeaderClicked"})," you can implement group collapsing. This is a very basic version however it is possible to go much further."]}),o(S,{children:"Cells under a certain size will not attempt to render to save some frames."})]}),children:o(e,{})})})]};function E(e){const[s,n]=t.useState([]),C=t.useCallback((r,l)=>{const u=e[r].group??"";n(p=>p.includes(u)?p.filter(G=>G!==u):[...p,u]),l.preventDefault()},[e]),[g,h]=t.useState(x.empty()),f=t.useCallback((r,l)=>{l!=="group"&&h(r)},[]);return{columns:t.useMemo(()=>e.map(r=>s.includes(r.group??"")?{...r,width:8,hasMenu:!0}:{...r,hasMenu:!0}),[s,e]),onGroupHeaderClicked:C,selectedColumns:g,onSelectedColumnsChange:f}}const a=()=>{const{cols:e,getCellContent:s}=w(100,!0,!0),n=E(e);return o(H,{...v,...n,getCellContent:s,groupHeaderHeight:24,rows:1e3,rowMarkers:"both"})};var m,c,d;a.parameters={...a.parameters,docs:{...(m=a.parameters)==null?void 0:m.docs,source:{originalSource:`() => { +import{j as o,a as i,F as D}from"./marked.esm-dbrxtycE.js";import{R as t}from"./index-BMVQvedj.js";import{D as H}from"./data-editor-all-3W5wpw6K.js";import{B as M,D as b,P as k,M as S,u as w,d as v}from"./utils--Nf55hQd.js";import{C as x}from"./image-window-loader-Hk1rG8Sr.js";import{S as A}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const L={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>o(A,{children:o(M,{title:"Group collapse",description:i(D,{children:[i(b,{children:["Through clever usage of ",o(k,{children:"onGroupHeaderClicked"})," you can implement group collapsing. This is a very basic version however it is possible to go much further."]}),o(S,{children:"Cells under a certain size will not attempt to render to save some frames."})]}),children:o(e,{})})})]};function E(e){const[s,n]=t.useState([]),C=t.useCallback((r,l)=>{const u=e[r].group??"";n(p=>p.includes(u)?p.filter(G=>G!==u):[...p,u]),l.preventDefault()},[e]),[g,h]=t.useState(x.empty()),f=t.useCallback((r,l)=>{l!=="group"&&h(r)},[]);return{columns:t.useMemo(()=>e.map(r=>s.includes(r.group??"")?{...r,width:8,hasMenu:!0}:{...r,hasMenu:!0}),[s,e]),onGroupHeaderClicked:C,selectedColumns:g,onSelectedColumnsChange:f}}const a=()=>{const{cols:e,getCellContent:s}=w(100,!0,!0),n=E(e);return o(H,{...v,...n,getCellContent:s,groupHeaderHeight:24,rows:1e3,rowMarkers:"both"})};var m,c,d;a.parameters={...a.parameters,docs:{...(m=a.parameters)==null?void 0:m.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/column-groups.stories-kDGVGm7X.js b/docs/assets/column-groups.stories-_y1bWhvw.js similarity index 78% rename from docs/assets/column-groups.stories-kDGVGm7X.js rename to docs/assets/column-groups.stories-_y1bWhvw.js index f17aed112..7379d15ca 100644 --- a/docs/assets/column-groups.stories-kDGVGm7X.js +++ b/docs/assets/column-groups.stories-_y1bWhvw.js @@ -1,4 +1,4 @@ -import{j as r,a as p}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as l}from"./data-editor-all-kwt0I9Kc.js";import{B as u,D as d,P as c,u as g,d as C}from"./utils-rXlmyYaC.js";import{a as G}from"./image-window-loader-aMebukIX.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const B={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>r(D,{children:r(u,{title:"Column Grouping",description:p(d,{children:["Columns in the data grid may be grouped by setting their ",r(c,{children:"group"})," ","property."]}),children:r(t,{})})})]},o=()=>{const{cols:t,getCellContent:i}=g(20,!0,!0);return r(l,{...C,getCellContent:i,onGroupHeaderRenamed:(e,m)=>window.alert(`Please rename group ${e} to ${m}`),columns:t,rows:1e3,getGroupDetails:e=>({name:e,icon:e===""?void 0:G.HeaderCode}),rowMarkers:"both"})};var a,n,s;o.parameters={...o.parameters,docs:{...(a=o.parameters)==null?void 0:a.docs,source:{originalSource:`() => { +import{j as r,a as p}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as l}from"./data-editor-all-3W5wpw6K.js";import{B as u,D as d,P as c,u as g,d as C}from"./utils--Nf55hQd.js";import{a as G}from"./image-window-loader-Hk1rG8Sr.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const B={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>r(D,{children:r(u,{title:"Column Grouping",description:p(d,{children:["Columns in the data grid may be grouped by setting their ",r(c,{children:"group"})," ","property."]}),children:r(t,{})})})]},o=()=>{const{cols:t,getCellContent:i}=g(20,!0,!0);return r(l,{...C,getCellContent:i,onGroupHeaderRenamed:(e,m)=>window.alert(`Please rename group ${e} to ${m}`),columns:t,rows:1e3,getGroupDetails:e=>({name:e,icon:e===""?void 0:G.HeaderCode}),rowMarkers:"both"})};var a,n,s;o.parameters={...o.parameters,docs:{...(a=o.parameters)==null?void 0:a.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/content-alignment.stories-ZQQYC7se.js b/docs/assets/content-alignment.stories-J1HmwqQE.js similarity index 85% rename from docs/assets/content-alignment.stories-ZQQYC7se.js rename to docs/assets/content-alignment.stories-J1HmwqQE.js index d45c97458..250fbcf78 100644 --- a/docs/assets/content-alignment.stories-ZQQYC7se.js +++ b/docs/assets/content-alignment.stories-J1HmwqQE.js @@ -1,4 +1,4 @@ -import{j as t,a as p}from"./marked.esm-dbrxtycE.js";import{R as C}from"./index-BMVQvedj.js";import{D as d}from"./data-editor-all-kwt0I9Kc.js";import{B as g,D as u,P as o,a as f,d as A}from"./utils-rXlmyYaC.js";import{S as h}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const W={title:"Glide-Data-Grid/DataEditor Demos",decorators:[l=>t(h,{children:t(g,{title:"Content Alignment",description:p(u,{children:["You can customize the content alignment by setting ",t(o,{children:"contentAlign"})," of a cell to ",t(o,{children:"left"}),", ",t(o,{children:"right"})," or ",t(o,{children:"center"}),"."]}),children:t(l,{})})})]},r=()=>{const{cols:l,getCellContent:n}=f(),m=C.useCallback(e=>{const[i,D]=e;return i===3?{...n(e),contentAlign:"center"}:i===4?{...n(e),contentAlign:"right"}:i===5?{...n(e),contentAlign:"left"}:n(e)},[n]);return t(d,{...A,getCellContent:m,columns:l,rows:300})};var c,s,a;r.parameters={...r.parameters,docs:{...(c=r.parameters)==null?void 0:c.docs,source:{originalSource:`() => { +import{j as t,a as p}from"./marked.esm-dbrxtycE.js";import{R as C}from"./index-BMVQvedj.js";import{D as d}from"./data-editor-all-3W5wpw6K.js";import{B as g,D as u,P as o,a as f,d as A}from"./utils--Nf55hQd.js";import{S as h}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const W={title:"Glide-Data-Grid/DataEditor Demos",decorators:[l=>t(h,{children:t(g,{title:"Content Alignment",description:p(u,{children:["You can customize the content alignment by setting ",t(o,{children:"contentAlign"})," of a cell to ",t(o,{children:"left"}),", ",t(o,{children:"right"})," or ",t(o,{children:"center"}),"."]}),children:t(l,{})})})]},r=()=>{const{cols:l,getCellContent:n}=f(),m=C.useCallback(e=>{const[i,D]=e;return i===3?{...n(e),contentAlign:"center"}:i===4?{...n(e),contentAlign:"right"}:i===5?{...n(e),contentAlign:"left"}:n(e)},[n]);return t(d,{...A,getCellContent:m,columns:l,rows:300})};var c,s,a;r.parameters={...r.parameters,docs:{...(c=r.parameters)==null?void 0:c.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/controlled-search.stories-e--yqllM.js b/docs/assets/controlled-search.stories-0UBin77v.js similarity index 89% rename from docs/assets/controlled-search.stories-e--yqllM.js rename to docs/assets/controlled-search.stories-0UBin77v.js index a78bf43f6..02e6ac466 100644 --- a/docs/assets/controlled-search.stories-e--yqllM.js +++ b/docs/assets/controlled-search.stories-0UBin77v.js @@ -1,4 +1,4 @@ -import{j as t,F as R,a as y}from"./marked.esm-dbrxtycE.js";import{R as s}from"./index-BMVQvedj.js";import{C as i,u as V}from"./image-window-loader-aMebukIX.js";import{D as v}from"./data-editor-all-kwt0I9Kc.js";import{B as D,D as E,P as K,a as k,d as F}from"./utils-rXlmyYaC.js";import{S as P}from"./story-utils-K2EZnGjM.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const Y={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>t(P,{children:t(D,{title:"Controlling search results",description:t(R,{children:y(E,{children:["Search results can be controlled via ",t(K,{children:"searchResults"}),". You can implement any search algorithm you want, even a silly one."]})}),children:t(r,{})})})]},n=()=>{const{cols:r,getCellContent:p,onColumnResize:S,setCellValue:d}=k(),[C,l]=s.useState(!1),[f,g]=s.useState({rows:i.empty(),columns:i.empty()});V("keydown",s.useCallback(e=>{(e.ctrlKey||e.metaKey)&&e.code==="KeyF"&&(l(o=>!o),e.stopPropagation(),e.preventDefault())},[]),window,!1,!0);const[a,c]=s.useState(""),w=s.useMemo(()=>{const e=[];for(let o=0;o{l(!1),c("")},rows:1e4})};var u,h,m;n.parameters={...n.parameters,docs:{...(u=n.parameters)==null?void 0:u.docs,source:{originalSource:`() => { +import{j as t,F as R,a as y}from"./marked.esm-dbrxtycE.js";import{R as s}from"./index-BMVQvedj.js";import{C as i,u as V}from"./image-window-loader-Hk1rG8Sr.js";import{D as v}from"./data-editor-all-3W5wpw6K.js";import{B as D,D as E,P as K,a as k,d as F}from"./utils--Nf55hQd.js";import{S as P}from"./story-utils-K2EZnGjM.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const Y={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>t(P,{children:t(D,{title:"Controlling search results",description:t(R,{children:y(E,{children:["Search results can be controlled via ",t(K,{children:"searchResults"}),". You can implement any search algorithm you want, even a silly one."]})}),children:t(r,{})})})]},n=()=>{const{cols:r,getCellContent:p,onColumnResize:S,setCellValue:d}=k(),[C,l]=s.useState(!1),[f,g]=s.useState({rows:i.empty(),columns:i.empty()});V("keydown",s.useCallback(e=>{(e.ctrlKey||e.metaKey)&&e.code==="KeyF"&&(l(o=>!o),e.stopPropagation(),e.preventDefault())},[]),window,!1,!0);const[a,c]=s.useState(""),w=s.useMemo(()=>{const e=[];for(let o=0;o{l(!1),c("")},rows:1e4})};var u,h,m;n.parameters={...n.parameters,docs:{...(u=n.parameters)==null?void 0:u.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/controlled-selection.stories-sXlQf9oy.js b/docs/assets/controlled-selection.stories-WxVxysKb.js similarity index 93% rename from docs/assets/controlled-selection.stories-sXlQf9oy.js rename to docs/assets/controlled-selection.stories-WxVxysKb.js index 7ba96dd16..0cb2439b2 100644 --- a/docs/assets/controlled-selection.stories-sXlQf9oy.js +++ b/docs/assets/controlled-selection.stories-WxVxysKb.js @@ -1,4 +1,4 @@ -import{j as e,a as w}from"./marked.esm-dbrxtycE.js";import{R as f}from"./index-BMVQvedj.js";import{D as v}from"./data-editor-all-kwt0I9Kc.js";import{u as x,B as y,D,P as p,d as G}from"./utils-rXlmyYaC.js";import{C as d}from"./image-window-loader-aMebukIX.js";import{S as N}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[c=>e(N,{children:e(c,{})})]},l=()=>{var u,m;const{cols:c,getCellContent:C}=x(30,!0,!0),[a,i]=f.useState({columns:d.empty(),rows:d.empty()});return e(y,{title:"Controlled Selection",description:w(D,{children:["The selection of the grid can be controlled via ",e(p,{children:"GridSelection"})," and"," ",e(p,{children:"onGridSelectionChange"}),".",e("input",{type:"range",min:0,max:29,value:((u=a.current)==null?void 0:u.cell[0])??0,onChange:s=>{const t=s.target.valueAsNumber;i(n=>{var r,o;return{...n,current:{cell:[t,((r=n.current)==null?void 0:r.cell[1])??0],range:{x:t,y:((o=n.current)==null?void 0:o.cell[1])??0,width:1,height:1},rangeStack:[]}}})}}),e("input",{type:"range",min:0,max:99,value:((m=a.current)==null?void 0:m.cell[1])??0,onChange:s=>{const t=s.target.valueAsNumber;i(n=>{var r,o;return{...n,current:{cell:[((r=n.current)==null?void 0:r.cell[0])??0,t],range:{x:((o=n.current)==null?void 0:o.cell[0])??0,y:t,width:1,height:1},rangeStack:[]}}})}})]}),children:e(v,{...G,getCellContent:C,gridSelection:a,onGridSelectionChange:i,columns:c,rows:100,rowMarkers:"both"})})};var g,h,S;l.parameters={...l.parameters,docs:{...(g=l.parameters)==null?void 0:g.docs,source:{originalSource:`() => { +import{j as e,a as w}from"./marked.esm-dbrxtycE.js";import{R as f}from"./index-BMVQvedj.js";import{D as v}from"./data-editor-all-3W5wpw6K.js";import{u as x,B as y,D,P as p,d as G}from"./utils--Nf55hQd.js";import{C as d}from"./image-window-loader-Hk1rG8Sr.js";import{S as N}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[c=>e(N,{children:e(c,{})})]},l=()=>{var u,m;const{cols:c,getCellContent:C}=x(30,!0,!0),[a,i]=f.useState({columns:d.empty(),rows:d.empty()});return e(y,{title:"Controlled Selection",description:w(D,{children:["The selection of the grid can be controlled via ",e(p,{children:"GridSelection"})," and"," ",e(p,{children:"onGridSelectionChange"}),".",e("input",{type:"range",min:0,max:29,value:((u=a.current)==null?void 0:u.cell[0])??0,onChange:s=>{const t=s.target.valueAsNumber;i(n=>{var r,o;return{...n,current:{cell:[t,((r=n.current)==null?void 0:r.cell[1])??0],range:{x:t,y:((o=n.current)==null?void 0:o.cell[1])??0,width:1,height:1},rangeStack:[]}}})}}),e("input",{type:"range",min:0,max:99,value:((m=a.current)==null?void 0:m.cell[1])??0,onChange:s=>{const t=s.target.valueAsNumber;i(n=>{var r,o;return{...n,current:{cell:[((r=n.current)==null?void 0:r.cell[0])??0,t],range:{x:((o=n.current)==null?void 0:o.cell[0])??0,y:t,width:1,height:1},rangeStack:[]}}})}})]}),children:e(v,{...G,getCellContent:C,gridSelection:a,onGridSelectionChange:i,columns:c,rows:100,rowMarkers:"both"})})};var g,h,S;l.parameters={...l.parameters,docs:{...(g=l.parameters)==null?void 0:g.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/copy-support.stories-k3DqhHY5.js b/docs/assets/copy-support.stories-cza5eV_t.js similarity index 79% rename from docs/assets/copy-support.stories-k3DqhHY5.js rename to docs/assets/copy-support.stories-cza5eV_t.js index cc60740bc..be2b4496e 100644 --- a/docs/assets/copy-support.stories-k3DqhHY5.js +++ b/docs/assets/copy-support.stories-cza5eV_t.js @@ -1,4 +1,4 @@ -import{j as e,a as r,F as m}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as d}from"./data-editor-all-kwt0I9Kc.js";import{B as c,D as u,P as C,M as h,u as g,d as f}from"./utils-rXlmyYaC.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const V={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>e(D,{children:e(c,{title:"Copy support",description:r(m,{children:[r(u,{children:["Large amounts of data can be copied and customized using"," ",e(C,{children:"getCellsForSelection"}),"."]}),e(h,{children:"The data is copied into a format ready to be pasted into Excel or Google Sheets"}),e("textarea",{placeholder:"Copy something below and paste it here...",style:{width:"100%",marginBottom:20,borderRadius:9,minHeight:200,padding:10}})]}),children:e(t,{})})})]},o=()=>{const{cols:t,getCellContent:i,onColumnResize:l,setCellValue:p}=g(10,!1);return e(d,{...f,getCellContent:i,rowMarkers:"both",columns:t,onCellEdited:p,onColumnResize:l,rows:400})};var a,s,n;o.parameters={...o.parameters,docs:{...(a=o.parameters)==null?void 0:a.docs,source:{originalSource:`() => { +import{j as e,a as r,F as m}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as d}from"./data-editor-all-3W5wpw6K.js";import{B as c,D as u,P as C,M as h,u as g,d as f}from"./utils--Nf55hQd.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const V={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>e(D,{children:e(c,{title:"Copy support",description:r(m,{children:[r(u,{children:["Large amounts of data can be copied and customized using"," ",e(C,{children:"getCellsForSelection"}),"."]}),e(h,{children:"The data is copied into a format ready to be pasted into Excel or Google Sheets"}),e("textarea",{placeholder:"Copy something below and paste it here...",style:{width:"100%",marginBottom:20,borderRadius:9,minHeight:200,padding:10}})]}),children:e(t,{})})})]},o=()=>{const{cols:t,getCellContent:i,onColumnResize:l,setCellValue:p}=g(10,!1);return e(d,{...f,getCellContent:i,rowMarkers:"both",columns:t,onCellEdited:p,onColumnResize:l,rows:400})};var a,s,n;o.parameters={...o.parameters,docs:{...(a=o.parameters)==null?void 0:a.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/custom-header-icons.stories-O_N2joUp.js b/docs/assets/custom-header-icons.stories-kzKcQ_St.js similarity index 95% rename from docs/assets/custom-header-icons.stories-O_N2joUp.js rename to docs/assets/custom-header-icons.stories-kzKcQ_St.js index 2945d093e..e3de5d12e 100644 --- a/docs/assets/custom-header-icons.stories-O_N2joUp.js +++ b/docs/assets/custom-header-icons.stories-kzKcQ_St.js @@ -1,4 +1,4 @@ -import{j as l,F as u,a as f}from"./marked.esm-dbrxtycE.js";import{R as t}from"./index-BMVQvedj.js";import{D as m}from"./data-editor-all-kwt0I9Kc.js";import{B as h,D as g,P as v,a as M,d as H}from"./utils-rXlmyYaC.js";import{S as w}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const A={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>l(w,{children:l(h,{title:"Custom header icons",description:l(u,{children:f(g,{children:["You can provide overrides for the default icons by passing the"," ",l(v,{children:"headerIcons"})," prop."]})}),children:l(o,{})})})]},r=()=>{const{cols:o,getCellContent:s,onColumnResize:C,setCellValue:a}=M(),c=t.useMemo(()=>{const e=[...o];return e[3]={...e[3],title:"CUSTOM ICON",icon:"custom",width:200},e},[o]),p=t.useMemo(()=>({custom:e=>` +import{j as l,F as u,a as f}from"./marked.esm-dbrxtycE.js";import{R as t}from"./index-BMVQvedj.js";import{D as m}from"./data-editor-all-3W5wpw6K.js";import{B as h,D as g,P as v,a as M,d as H}from"./utils--Nf55hQd.js";import{S as w}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const A={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>l(w,{children:l(h,{title:"Custom header icons",description:l(u,{children:f(g,{children:["You can provide overrides for the default icons by passing the"," ",l(v,{children:"headerIcons"})," prop."]})}),children:l(o,{})})})]},r=()=>{const{cols:o,getCellContent:s,onColumnResize:C,setCellValue:a}=M(),c=t.useMemo(()=>{const e=[...o];return e[3]={...e[3],title:"CUSTOM ICON",icon:"custom",width:200},e},[o]),p=t.useMemo(()=>({custom:e=>` diff --git a/docs/assets/custom-header.stories-2GF4qBZk.js b/docs/assets/custom-header.stories-49B80E42.js similarity index 88% rename from docs/assets/custom-header.stories-2GF4qBZk.js rename to docs/assets/custom-header.stories-49B80E42.js index 83acaf548..7d02adf68 100644 --- a/docs/assets/custom-header.stories-2GF4qBZk.js +++ b/docs/assets/custom-header.stories-49B80E42.js @@ -1,4 +1,4 @@ -import{j as o}from"./marked.esm-dbrxtycE.js";import{R as s}from"./index-BMVQvedj.js";import{D as u}from"./data-editor-all-kwt0I9Kc.js";import{B as f,D as x,u as g,d as C}from"./utils-rXlmyYaC.js";import{S as y}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const B={title:"Glide-Data-Grid/DataEditor Demos",decorators:[n=>o(y,{children:o(f,{title:"Custom Drawing",description:o(x,{children:"You can draw over or under most objects in the grid."}),children:o(n,{})})})]},a=()=>{const{cols:n,getCellContent:p}=g(1e3,!0,!0),w=s.useCallback((c,l)=>{const{ctx:e,rect:t}=c;e.beginPath(),e.rect(t.x,t.y,t.width,t.height);const r=e.createLinearGradient(0,t.y,0,t.y+t.height);r.addColorStop(0,"#ff00d934"),r.addColorStop(1,"#00a2ff34"),e.fillStyle=r,e.fill(),l()},[]),h=s.useCallback((c,l)=>{l();const{ctx:e,rect:t}=c,r=7;e.beginPath(),e.moveTo(t.x+t.width-r,t.y+1),e.lineTo(t.x+t.width,t.y+r+1),e.lineTo(t.x+t.width,t.y+1),e.closePath(),e.save(),e.fillStyle="#ff0000",e.fill(),e.restore()},[]);return o(u,{...C,getCellContent:p,columns:n,drawHeader:w,drawCell:h,rows:3e3,rowMarkers:"both"})};var i,d,m;a.parameters={...a.parameters,docs:{...(i=a.parameters)==null?void 0:i.docs,source:{originalSource:`() => { +import{j as o}from"./marked.esm-dbrxtycE.js";import{R as s}from"./index-BMVQvedj.js";import{D as u}from"./data-editor-all-3W5wpw6K.js";import{B as f,D as x,u as g,d as C}from"./utils--Nf55hQd.js";import{S as y}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const B={title:"Glide-Data-Grid/DataEditor Demos",decorators:[n=>o(y,{children:o(f,{title:"Custom Drawing",description:o(x,{children:"You can draw over or under most objects in the grid."}),children:o(n,{})})})]},a=()=>{const{cols:n,getCellContent:p}=g(1e3,!0,!0),w=s.useCallback((c,l)=>{const{ctx:e,rect:t}=c;e.beginPath(),e.rect(t.x,t.y,t.width,t.height);const r=e.createLinearGradient(0,t.y,0,t.y+t.height);r.addColorStop(0,"#ff00d934"),r.addColorStop(1,"#00a2ff34"),e.fillStyle=r,e.fill(),l()},[]),h=s.useCallback((c,l)=>{l();const{ctx:e,rect:t}=c,r=7;e.beginPath(),e.moveTo(t.x+t.width-r,t.y+1),e.lineTo(t.x+t.width,t.y+r+1),e.lineTo(t.x+t.width,t.y+1),e.closePath(),e.save(),e.fillStyle="#ff0000",e.fill(),e.restore()},[]);return o(u,{...C,getCellContent:p,columns:n,drawHeader:w,drawCell:h,rows:3e3,rowMarkers:"both"})};var i,d,m;a.parameters={...a.parameters,docs:{...(i=a.parameters)==null?void 0:i.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/data-editor-all-kwt0I9Kc.js b/docs/assets/data-editor-all-3W5wpw6K.js similarity index 99% rename from docs/assets/data-editor-all-kwt0I9Kc.js rename to docs/assets/data-editor-all-3W5wpw6K.js index 5fb5a1a88..063db46e6 100644 --- a/docs/assets/data-editor-all-kwt0I9Kc.js +++ b/docs/assets/data-editor-all-3W5wpw6K.js @@ -1,4 +1,4 @@ -var Al=Object.defineProperty;var Gl=(e,o,l)=>o in e?Al(e,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[o]=l;var un=(e,o,l)=>(Gl(e,typeof o!="symbol"?o+"":o,l),l);import{s as gn,a as to,j as q,F as Zn}from"./marked.esm-dbrxtycE.js";import{r as i,R as Me}from"./index-BMVQvedj.js";import{_ as Pl}from"./iframe-lQqvcp2b.js";import{G as Q,b as Go,i as Ho,r as Jn,c as Po,C as X,g as sr,d as Ol,w as kt,e as Kl,f as Nl,m as dn,h as Qn,I as Do,p as Wl,j as Ul,t as Bl,k as Vl,l as At,o as er,n as tr,q as _l,s as Eo,v as Io,x as Xl,y as Yl,z as jl,A as ql,B as Zl,D as or,E as eo,F as Jl,H as Ql,J as nr,K as ei,u as fn,L as ti,M as oi,T as ni,N as rr,O as ri,P as li}from"./image-window-loader-aMebukIX.js";import{c as Rt,r as Gt,d as ii}from"./throttle-7EuXLZa7.js";import{u as ci,f as lr}from"./flatten-qRvRBp6y.js";import{G as si}from"./scrolling-data-grid-AbyJF5mC.js";const Z='',ai=e=>{const o=e.fgColor,l=e.bgColor;return` +var Al=Object.defineProperty;var Gl=(e,o,l)=>o in e?Al(e,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[o]=l;var un=(e,o,l)=>(Gl(e,typeof o!="symbol"?o+"":o,l),l);import{s as gn,a as to,j as q,F as Zn}from"./marked.esm-dbrxtycE.js";import{r as i,R as Me}from"./index-BMVQvedj.js";import{_ as Pl}from"./iframe-MU0yo5By.js";import{G as Q,b as Go,i as Ho,r as Jn,c as Po,C as X,g as sr,d as Ol,w as kt,e as Kl,f as Nl,m as dn,h as Qn,I as Do,p as Wl,j as Ul,t as Bl,k as Vl,l as At,o as er,n as tr,q as _l,s as Eo,v as Io,x as Xl,y as Yl,z as jl,A as ql,B as Zl,D as or,E as eo,F as Jl,H as Ql,J as nr,K as ei,u as fn,L as ti,M as oi,T as ni,N as rr,O as ri,P as li}from"./image-window-loader-Hk1rG8Sr.js";import{c as Rt,r as Gt,d as ii}from"./throttle-7EuXLZa7.js";import{u as ci,f as lr}from"./flatten-qRvRBp6y.js";import{G as si}from"./scrolling-data-grid-6oMlsc5s.js";const Z='',ai=e=>{const o=e.fgColor,l=e.bgColor;return` ${Z}`},ui=e=>{const o=e.fgColor,l=e.bgColor;return` ${Z}`},di=e=>{const o=e.fgColor,l=e.bgColor;return`${Z} @@ -113,12 +113,12 @@ var Al=Object.defineProperty;var Gl=(e,o,l)=>o in e?Al(e,o,{enumerable:!0,config -`},Gi={headerRowID:ai,headerNumber:di,headerCode:ui,headerString:fi,headerBoolean:hi,headerAudioUri:vi,headerVideoUri:mi,headerEmoji:Ci,headerImage:wi,headerUri:ar,headerPhone:pi,headerMarkdown:bi,headerDate:yi,headerTime:xi,headerEmail:Mi,headerReference:Ri,headerIfThenElse:ki,headerSingleValue:Si,headerLookup:zi,headerTextTemplate:Ti,headerMath:Li,headerRollup:Hi,headerJoinStrings:Di,headerSplitString:Ei,headerGeoDistance:Ii,headerArray:$i,rowOwnerOverlay:Fi,protectedColumnOverlay:Ai,renameIcon:gi},Pi=gn("div")({name:"SearchWrapper",class:"slyseh9",propsAsIs:!1}),Oi=q("svg",{className:"button-icon",viewBox:"0 0 512 512",children:q("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M112 244l144-144 144 144M256 120v292"})}),Ki=q("svg",{className:"button-icon",viewBox:"0 0 512 512",children:q("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M112 268l144 144 144-144M256 392V100"})}),Ni=q("svg",{className:"button-icon",viewBox:"0 0 512 512",children:q("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",d:"M368 368L144 144M368 144L144 368"})}),Wi=10,Ui=e=>{const{canvasRef:o,cellYOffset:l,rows:u,columns:C,searchInputRef:M,searchValue:b,searchResults:T,onSearchValueChange:k,getCellsForSelection:w,onSearchResultsChanged:p,showSearch:S=!1,onSearchClose:z}=e,[N]=i.useState(()=>"search-box-"+Math.round(Math.random()*1e3)),[O,le]=i.useState(""),ce=b??O,V=i.useCallback($=>{le($),k==null||k($)},[k]),[I,W]=i.useState(),Ce=i.useRef(I);Ce.current=I,i.useEffect(()=>{T!==void 0&&(T.length>0?W($=>({rowsSearched:u,results:T.length,selectedIndex:($==null?void 0:$.selectedIndex)??-1})):W(void 0))},[u,T]);const se=i.useRef();se.current===void 0&&(se.current=new AbortController);const de=i.useRef(),[Y,ee]=i.useState([]),te=T??Y,_=i.useCallback(()=>{de.current!==void 0&&(window.cancelAnimationFrame(de.current),de.current=void 0,se.current.abort())},[]),qe=i.useRef(l);qe.current=l;const He=i.useCallback($=>{const ie=new RegExp($.replace(/([$()*+.?[\\\]^{|}-])/g,"\\$1"),"i");let ae=qe.current,Ge=Math.min(10,u),Ze=0;W(void 0),ee([]);const ft=[],no=async()=>{var he;if(w===void 0)return;const Kt=performance.now(),Ko=u-Ze;let ht=w({x:0,y:ae,width:C.length,height:Math.min(Ge,Ko,u-ae)},se.current.signal);typeof ht=="function"&&(ht=await ht());let Nt=!1;for(const[Ee,No]of ht.entries())for(const[Wo,Qe]of No.entries()){let Pe;switch(Qe.kind){case Q.Text:case Q.Number:Pe=Qe.displayData;break;case Q.Uri:case Q.Markdown:Pe=Qe.data;break;case Q.Boolean:Pe=typeof Qe.data=="boolean"?Qe.data.toString():void 0;break;case Q.Image:case Q.Bubble:Pe=Qe.data.join("🐳");break;case Q.Custom:Pe=Qe.copyData;break}Pe!==void 0&&ie.test(Pe)&&(ft.push([Wo,Ee+ae]),Nt=!0)}const gt=performance.now();Nt&&ee([...ft]),Ze+=ht.length,Go(Ze<=u);const nt=((he=Ce.current)==null?void 0:he.selectedIndex)??-1;W({results:ft.length,rowsSearched:Ze,selectedIndex:nt}),p==null||p(ft,nt),ae+Ge>=u?ae=0:ae+=Ge;const vt=gt-Kt,mt=Math.max(vt,1),Je=Wi/mt;Ge=Math.ceil(Ge*Je),Ze{var $;z==null||z(),W(void 0),ee([]),p==null||p([],-1),_(),($=o==null?void 0:o.current)==null||$.focus()},[_,o,z,p]),Pt=i.useCallback($=>{V($.target.value),T===void 0&&($.target.value===""?(W(void 0),ee([]),_()):He($.target.value))},[He,_,V,T]);i.useEffect(()=>{S&&M.current!==null&&(V(""),M.current.focus({preventScroll:!0}))},[S,M,V]);const De=i.useCallback($=>{var ae;if((ae=$==null?void 0:$.stopPropagation)==null||ae.call($),I===void 0)return;const ie=(I.selectedIndex+1)%I.results;W({...I,selectedIndex:ie}),p==null||p(te,ie)},[I,p,te]),Se=i.useCallback($=>{var ae;if((ae=$==null?void 0:$.stopPropagation)==null||ae.call($),I===void 0)return;let ie=(I.selectedIndex-1)%I.results;ie<0&&(ie+=I.results),W({...I,selectedIndex:ie}),p==null||p(te,ie)},[p,te,I]),Ot=i.useCallback($=>{($.ctrlKey||$.metaKey)&&$.nativeEvent.code==="KeyF"||$.key==="Escape"?(Be(),$.stopPropagation(),$.preventDefault()):$.key==="Enter"&&($.shiftKey?Se():De())},[Be,De,Se]);i.useEffect(()=>()=>{_()},[_]);const[Ae,oo]=i.useState(!1);i.useEffect(()=>{if(S)oo(!0);else{const $=setTimeout(()=>oo(!1),150);return()=>clearTimeout($)}},[S]);const Ve=i.useMemo(()=>{if(!S&&!Ae)return null;let $;I!==void 0&&($=I.results>=1e3?"over 1000":`${I.results} result${I.results!==1?"s":""}`,I.selectedIndex>=0&&($=`${I.selectedIndex+1} of ${$}`));const ie=Ze=>{Ze.stopPropagation()},Ge={width:`${Math.floor(((I==null?void 0:I.rowsSearched)??0)/u*100)}%`};return to(Pi,{className:S?"":"out",onMouseDown:ie,onMouseMove:ie,onMouseUp:ie,onClick:ie,children:[to("div",{className:"gdg-search-bar-inner",children:[q("input",{id:N,"aria-hidden":!S,"data-testid":"search-input",ref:M,onChange:Pt,value:ce,tabIndex:S?void 0:-1,onKeyDownCapture:Ot}),q("button",{"aria-label":"Previous Result","aria-hidden":!S,tabIndex:S?void 0:-1,onClick:Se,disabled:((I==null?void 0:I.results)??0)===0,children:Oi}),q("button",{"aria-label":"Next Result","aria-hidden":!S,tabIndex:S?void 0:-1,onClick:De,disabled:((I==null?void 0:I.results)??0)===0,children:Ki}),z!==void 0&&q("button",{"aria-label":"Close Search","aria-hidden":!S,"data-testid":"search-close-button",tabIndex:S?void 0:-1,onClick:Be,children:Ni})]}),I!==void 0?to(Zn,{children:[q("div",{className:"gdg-search-status",children:q("div",{"data-testid":"search-result-area",children:$})}),q("div",{className:"gdg-search-progress",style:Ge})]}):q("div",{className:"gdg-search-status",children:q("label",{htmlFor:N,children:"Type to search"})})]})},[S,Ae,I,u,N,M,Pt,ce,Ot,Se,De,z,Be]);return to(Zn,{children:[q(si,{prelightCells:te,accessibilityHeight:e.accessibilityHeight,canvasRef:e.canvasRef,cellXOffset:e.cellXOffset,cellYOffset:e.cellYOffset,className:e.className,clientSize:e.clientSize,columns:e.columns,disabledRows:e.disabledRows,enableGroups:e.enableGroups,fillHandle:e.fillHandle,firstColAccessible:e.firstColAccessible,nonGrowWidth:e.nonGrowWidth,fixedShadowX:e.fixedShadowX,fixedShadowY:e.fixedShadowY,freezeColumns:e.freezeColumns,getCellContent:e.getCellContent,getCellRenderer:e.getCellRenderer,getGroupDetails:e.getGroupDetails,getRowThemeOverride:e.getRowThemeOverride,groupHeaderHeight:e.groupHeaderHeight,headerHeight:e.headerHeight,highlightRegions:e.highlightRegions,imageWindowLoader:e.imageWindowLoader,initialSize:e.initialSize,isFilling:e.isFilling,isFocused:e.isFocused,lockColumns:e.lockColumns,maxColumnWidth:e.maxColumnWidth,minColumnWidth:e.minColumnWidth,onHeaderMenuClick:e.onHeaderMenuClick,onHeaderIndicatorClick:e.onHeaderIndicatorClick,onMouseMove:e.onMouseMove,onVisibleRegionChanged:e.onVisibleRegionChanged,overscrollX:e.overscrollX,overscrollY:e.overscrollY,preventDiagonalScrolling:e.preventDiagonalScrolling,rightElement:e.rightElement,rightElementProps:e.rightElementProps,rowHeight:e.rowHeight,rows:e.rows,scrollRef:e.scrollRef,selection:e.selection,theme:e.theme,freezeTrailingRows:e.freezeTrailingRows,hasAppendRow:e.hasAppendRow,translateX:e.translateX,translateY:e.translateY,verticalBorder:e.verticalBorder,onColumnProposeMove:e.onColumnProposeMove,drawFocusRing:e.drawFocusRing,drawCell:e.drawCell,drawHeader:e.drawHeader,experimental:e.experimental,gridRef:e.gridRef,headerIcons:e.headerIcons,isDraggable:e.isDraggable,onCanvasBlur:e.onCanvasBlur,onCanvasFocused:e.onCanvasFocused,onCellFocused:e.onCellFocused,onColumnMoved:e.onColumnMoved,onColumnResize:e.onColumnResize,onColumnResizeEnd:e.onColumnResizeEnd,onColumnResizeStart:e.onColumnResizeStart,onContextMenu:e.onContextMenu,onDragEnd:e.onDragEnd,onDragLeave:e.onDragLeave,onDragOverCell:e.onDragOverCell,onDragStart:e.onDragStart,onDrop:e.onDrop,onItemHovered:e.onItemHovered,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onRowMoved:e.onRowMoved,smoothScrollX:e.smoothScrollX,smoothScrollY:e.smoothScrollY,resizeIndicator:e.resizeIndicator}),Ve]})},Bi=Ui;class Vi extends i.PureComponent{constructor(){super(...arguments);un(this,"wrapperRef",i.createRef());un(this,"clickOutside",l=>{if(!(this.props.isOutsideClick&&!this.props.isOutsideClick(l))&&this.wrapperRef.current!==null&&!this.wrapperRef.current.contains(l.target)){let u=l.target;for(;u!==null;){if(u.classList.contains("click-outside-ignore"))return;u=u.parentElement}this.props.onClickOutside()}})}componentDidMount(){document.addEventListener("touchend",this.clickOutside,!0),document.addEventListener("mousedown",this.clickOutside,!0),document.addEventListener("contextmenu",this.clickOutside,!0)}componentWillUnmount(){document.removeEventListener("touchend",this.clickOutside,!0),document.removeEventListener("mousedown",this.clickOutside,!0),document.removeEventListener("contextmenu",this.clickOutside,!0)}render(){const{onClickOutside:l,isOutsideClick:u,...C}=this.props;return q("div",{...C,ref:this.wrapperRef,children:this.props.children})}}const _i=()=>e=>Math.max(16,e.targetHeight-10),Xi=gn("input")({name:"RenameInput",class:"r1fzhvm4",propsAsIs:!1,vars:{"r1fzhvm4-0":[_i(),"px"]}}),Yi=e=>{const{bounds:o,group:l,onClose:u,canvasBounds:C,onFinish:M}=e,[b,T]=Me.useState(l);return q(Vi,{style:{position:"absolute",left:o.x-C.left+1,top:o.y-C.top,width:o.width-2,height:o.height},className:"c181oggi",onClickOutside:u,children:q(Xi,{targetHeight:o.height,"data-testid":"group-rename-input",value:b,onBlur:u,onFocus:k=>k.target.setSelectionRange(0,b.length),onChange:k=>T(k.target.value),onKeyDown:k=>{k.key==="Enter"?M(b):k.key==="Escape"&&u()},autoFocus:!0})})},hn=150;function ji(e,o,l,u){var M;const C=u(o);return((M=C==null?void 0:C.measure)==null?void 0:M.call(C,e,o,l))??hn}function ur(e,o,l,u,C,M,b,T,k){let w=0;const p=C===void 0?[]:C.map(z=>{const N=ji(e,z[u],o,k);return w=Math.max(w,N),N});if(p.length>5&&T){w=0;let z=0;for(const O of p)z+=O;const N=z/p.length;for(let O=0;O=N*2?p[O]=0:w=Math.max(w,p[O])}w=Math.max(w,e.measureText(l.title).width+16+(l.icon===void 0?0:28));const S=Math.max(Math.ceil(M),Math.min(Math.floor(b),Math.ceil(w)));return{...l,width:S}}function qi(e,o,l,u,C,M,b,T,k){const w=i.useRef(o),p=i.useRef(l),S=i.useRef(b);w.current=o,p.current=l,S.current=b;const[z,N]=i.useMemo(()=>{if(typeof window>"u")return[null,null];const I=document.createElement("canvas");return I.style.display="none",I.style.opacity="0",I.style.position="fixed",[I,I.getContext("2d",{alpha:!1})]},[]);i.useLayoutEffect(()=>(z&&document.documentElement.append(z),()=>{z==null||z.remove()}),[z]);const O=i.useRef({}),le=i.useRef(),[ce,V]=i.useState();return i.useLayoutEffect(()=>{const I=p.current;if(I===void 0||e.every(Ho))return;let W=Math.max(1,10-Math.floor(e.length/1e4)),Ce=0;W1&&(W--,Ce=1);const se={x:0,y:0,width:e.length,height:Math.min(w.current,W)},de={x:0,y:w.current-1,width:e.length,height:1};(async()=>{const ee=I(se,k.signal),te=Ce>0?I(de,k.signal):void 0;let _;typeof ee=="object"?_=ee:_=await Jn(ee),te!==void 0&&(typeof te=="object"?_=[..._,...te]:_=[..._,...await Jn(te)]),le.current=e,V(_)})()},[k.signal,e]),i.useMemo(()=>{let W=e.every(Ho)?e:N===null?e.map(Y=>Ho(Y)?Y:{...Y,width:hn}):(N.font=S.current.baseFontFull,e.map((Y,ee)=>{if(Ho(Y))return Y;if(O.current[Y.id]!==void 0)return{...Y,width:O.current[Y.id]};if(ce===void 0||le.current!==e||Y.id===void 0)return{...Y,width:hn};const te=ur(N,b,Y,ee,ce,C,M,!0,T);return O.current[Y.id]=te.width,te})),Ce=0,se=0;const de=[];for(const[Y,ee]of W.entries())Ce+=ee.width,ee.grow!==void 0&&ee.grow>0&&(se+=ee.grow,de.push(Y));if(Ce0){const Y=[...W],ee=u-Ce;let te=ee;for(let _=0;_1&&e.startsWith("_")?Number.parseInt(e.slice(1))===o.keyCode:e.length===1&&e>="a"&&e<="z"?e.toUpperCase().codePointAt(0)===o.keyCode:e===o.key}function A(e,o,l){const u=dr(e,o);return u&&(l.didMatch=!0),u}function dr(e,o){if(e.length===0)return!1;if(e.includes("|")){const k=e.split("|");for(const w of k)if(dr(w,o))return!0;return!1}let l=!1,u=!1,C=!1,M=!1;const b=e.split("+"),T=b.pop();if(!Zi(T,o))return!1;if(b[0]==="any")return!0;for(const k of b)switch(k){case"ctrl":l=!0;break;case"shift":u=!0;break;case"alt":C=!0;break;case"meta":M=!0;break;case"primary":Po.value?M=!0:l=!0;break}return o.altKey===C&&o.ctrlKey===l&&o.shiftKey===u&&o.metaKey===M}function Ji(e,o,l,u,C,M){const b=Me.useCallback((w,p,S,z)=>{var I;(M==="cell"||M==="multi-cell")&&w!==void 0&&(w={...w,range:{x:w.cell[0],y:w.cell[1],width:1,height:1}});const N=l==="mixed"&&(S||z==="drag"),O=u==="mixed"&&N,le=C==="mixed"&&N;let ce={current:w===void 0?void 0:{...w,rangeStack:z==="drag"?((I=e.current)==null?void 0:I.rangeStack)??[]:[]},columns:O?e.columns:X.empty(),rows:le?e.rows:X.empty()};S&&(M==="multi-rect"||M==="multi-cell")&&ce.current!==void 0&&e.current!==void 0&&(ce={...ce,current:{...ce.current,rangeStack:[...e.current.rangeStack,e.current.range]}}),o(ce,p)},[u,e,l,M,C,o]),T=Me.useCallback((w,p,S)=>{w=w??e.rows,p!==void 0&&(w=w.add(p));let z;if(C==="exclusive"&&w.length>0)z={current:void 0,columns:X.empty(),rows:w};else{const N=S&&l==="mixed",O=S&&u==="mixed";z={current:N?e.current:void 0,columns:O?e.columns:X.empty(),rows:w}}o(z,!1)},[u,e,l,C,o]),k=Me.useCallback((w,p,S)=>{w=w??e.columns,p!==void 0&&(w=w.add(p));let z;if(u==="exclusive"&&w.length>0)z={current:void 0,rows:X.empty(),columns:w};else{const N=S&&l==="mixed",O=S&&C==="mixed";z={current:N?e.current:void 0,rows:O?e.rows:X.empty(),columns:w}}o(z,!1)},[u,e,l,C,o]);return[b,T,k]}function Qi(e,o,l,u,C){const M=i.useCallback(w=>{if(e===!0){const p=[];for(let S=w.y;S=C?z.push({kind:Q.Loading,allowOverlay:!1}):z.push(o([N,S]));p.push(z)}return p}return(e==null?void 0:e(w,u.signal))??[]},[u.signal,o,e,C]),b=e!==void 0?M:void 0,T=i.useCallback(w=>{if(b===void 0)return[];const p={...w,x:w.x-l};if(p.x<0){p.x=0,p.width--;const S=b(p,u.signal);return typeof S=="function"?async()=>(await S()).map(z=>[{kind:Q.Loading,allowOverlay:!1},...z]):S.map(z=>[{kind:Q.Loading,allowOverlay:!1},...z])}return b(p,u.signal)},[u.signal,b,l]);return[e!==void 0?T:void 0,b]}function ir(e){return typeof e=="string"?e:`${e}px`}const ec=()=>e=>e.innerWidth,tc=()=>e=>e.innerHeight,oc=gn("div")({name:"Wrapper",class:"w2q57ts",propsAsIs:!1,vars:{"w2q57ts-0":[ec()],"w2q57ts-1":[tc()]}}),nc=e=>{const{inWidth:o,inHeight:l,children:u,...C}=e;return q(oc,{innerHeight:ir(l),innerWidth:ir(o),...C,children:u})},rc=2,lc=1300;function ic(e,o,l){const u=Me.useRef(0),[C,M]=e??[0,0];Me.useEffect(()=>{if(C===0&&M===0){u.current=0;return}let b=!1,T=0;const k=w=>{var p;if(!b){if(T===0)T=w;else{const S=w-T;u.current=Math.min(1,u.current+S/lc);const z=u.current**1.618*S*rc;(p=o.current)==null||p.scrollBy(C*z,M*z),T=w,l==null||l()}window.requestAnimationFrame(k)}};return window.requestAnimationFrame(k),()=>{b=!0}},[o,C,M,l])}function cc({rowHeight:e,headerHeight:o,groupHeaderHeight:l,theme:u,overscrollX:C,overscrollY:M,scaleToRem:b,remSize:T}){const[k,w,p,S,z,N]=Me.useMemo(()=>{if(!b||T===16)return[e,o,l,u,C,M];const O=T/16,le=e,ce=sr();return[typeof le=="number"?le*O:V=>Math.ceil(le(V)*O),Math.ceil(o*O),Math.ceil(l*O),{...u,headerIconSize:((u==null?void 0:u.headerIconSize)??ce.headerIconSize)*O,cellHorizontalPadding:((u==null?void 0:u.cellHorizontalPadding)??ce.cellHorizontalPadding)*O,cellVerticalPadding:((u==null?void 0:u.cellVerticalPadding)??ce.cellVerticalPadding)*O},Math.ceil((C??0)*O),Math.ceil((M??0)*O)]},[l,o,C,M,T,e,b,u]);return{rowHeight:k,headerHeight:w,groupHeaderHeight:p,theme:S,overscrollX:z,overscrollY:N}}const dt={downFill:!1,rightFill:!1,clear:!0,closeOverlay:!0,acceptOverlayDown:!0,acceptOverlayUp:!0,acceptOverlayLeft:!0,acceptOverlayRight:!0,copy:!0,paste:!0,cut:!0,search:!1,delete:!0,activateCell:!0,scrollToSelectedCell:!0,goToFirstCell:!0,goToFirstColumn:!0,goToFirstRow:!0,goToLastCell:!0,goToLastColumn:!0,goToLastRow:!0,goToNextPage:!0,goToPreviousPage:!0,selectToFirstCell:!0,selectToFirstColumn:!0,selectToFirstRow:!0,selectToLastCell:!0,selectToLastColumn:!0,selectToLastRow:!0,selectAll:!0,selectRow:!0,selectColumn:!0,goUpCell:!0,goRightCell:!0,goDownCell:!0,goLeftCell:!0,goUpCellRetainSelection:!0,goRightCellRetainSelection:!0,goDownCellRetainSelection:!0,goLeftCellRetainSelection:!0,selectGrowUp:!0,selectGrowRight:!0,selectGrowDown:!0,selectGrowLeft:!0};function G(e,o){return e===!0?o:e===!1?"":e}function cr(e){const o=Po.value;return{activateCell:G(e.activateCell," |Enter|shift+Enter"),clear:G(e.clear,"any+Escape"),closeOverlay:G(e.closeOverlay,"any+Escape"),acceptOverlayDown:G(e.acceptOverlayDown,"Enter"),acceptOverlayUp:G(e.acceptOverlayUp,"shift+Enter"),acceptOverlayLeft:G(e.acceptOverlayLeft,"shift+Tab"),acceptOverlayRight:G(e.acceptOverlayRight,"Tab"),copy:e.copy,cut:e.cut,delete:G(e.delete,o?"Backspace|Delete":"Delete"),downFill:G(e.downFill,"primary+_68"),scrollToSelectedCell:G(e.scrollToSelectedCell,"primary+Enter"),goDownCell:G(e.goDownCell,"ArrowDown"),goDownCellRetainSelection:G(e.goDownCellRetainSelection,"alt+ArrowDown"),goLeftCell:G(e.goLeftCell,"ArrowLeft|shift+Tab"),goLeftCellRetainSelection:G(e.goLeftCellRetainSelection,"alt+ArrowLeft"),goRightCell:G(e.goRightCell,"ArrowRight|Tab"),goRightCellRetainSelection:G(e.goRightCellRetainSelection,"alt+ArrowRight"),goUpCell:G(e.goUpCell,"ArrowUp"),goUpCellRetainSelection:G(e.goUpCellRetainSelection,"alt+ArrowUp"),goToFirstCell:G(e.goToFirstCell,"primary+Home"),goToFirstColumn:G(e.goToFirstColumn,"Home|primary+ArrowLeft"),goToFirstRow:G(e.goToFirstRow,"primary+ArrowUp"),goToLastCell:G(e.goToLastCell,"primary+End"),goToLastColumn:G(e.goToLastColumn,"End|primary+ArrowRight"),goToLastRow:G(e.goToLastRow,"primary+ArrowDown"),goToNextPage:G(e.goToNextPage,"PageDown"),goToPreviousPage:G(e.goToPreviousPage,"PageUp"),paste:e.paste,rightFill:G(e.rightFill,"primary+_82"),search:G(e.search,"primary+f"),selectAll:G(e.selectAll,"primary+a"),selectColumn:G(e.selectColumn,"ctrl+ "),selectGrowDown:G(e.selectGrowDown,"shift+ArrowDown"),selectGrowLeft:G(e.selectGrowLeft,"shift+ArrowLeft"),selectGrowRight:G(e.selectGrowRight,"shift+ArrowRight"),selectGrowUp:G(e.selectGrowUp,"shift+ArrowUp"),selectRow:G(e.selectRow,"shift+ "),selectToFirstCell:G(e.selectToFirstCell,"primary+shift+Home"),selectToFirstColumn:G(e.selectToFirstColumn,"primary+shift+ArrowLeft"),selectToFirstRow:G(e.selectToFirstRow,"primary+shift+ArrowUp"),selectToLastCell:G(e.selectToLastCell,"primary+shift+End"),selectToLastColumn:G(e.selectToLastColumn,"primary+shift+ArrowRight"),selectToLastRow:G(e.selectToLastRow,"primary+shift+ArrowDown")}}function sc(e){const o=Ol(e);return Me.useMemo(()=>{if(o===void 0)return cr(dt);const l={...o,goToNextPage:(o==null?void 0:o.goToNextPage)??(o==null?void 0:o.pageDown)??dt.goToNextPage,goToPreviousPage:(o==null?void 0:o.goToPreviousPage)??(o==null?void 0:o.pageUp)??dt.goToPreviousPage,goToFirstCell:(o==null?void 0:o.goToFirstCell)??(o==null?void 0:o.first)??dt.goToFirstCell,goToLastCell:(o==null?void 0:o.goToLastCell)??(o==null?void 0:o.last)??dt.goToLastCell,selectToFirstCell:(o==null?void 0:o.selectToFirstCell)??(o==null?void 0:o.first)??dt.selectToFirstCell,selectToLastCell:(o==null?void 0:o.selectToLastCell)??(o==null?void 0:o.last)??dt.selectToLastCell};return cr({...dt,...l})},[o])}function ac(e){function o(u,C,M){if(typeof u=="number")return{headerIndex:u,isCollapsed:!1,depth:C,path:M};const b={headerIndex:u.headerIndex,isCollapsed:u.isCollapsed,depth:C,path:M};return u.subGroups!==void 0&&(b.subGroups=u.subGroups.map((T,k)=>o(T,C+1,[...M,k])).sort((T,k)=>T.headerIndex-k.headerIndex)),b}return e.map((u,C)=>o(u,0,[C])).sort((u,C)=>u.headerIndex-C.headerIndex)}function vn(e,o){const l=[];function u(b,T,k=!1){let w=T!==null?T-b.headerIndex:o-b.headerIndex;if(b.subGroups!==void 0&&(w=b.subGroups[0].headerIndex-b.headerIndex),w--,l.push({headerIndex:b.headerIndex,contentIndex:-1,skip:k,isCollapsed:b.isCollapsed,depth:b.depth,path:b.path,rows:w}),b.subGroups)for(let p=0;pb.skip===!1).map(b=>{const{skip:T,...k}=b;return k})}function Oo(e,o){if(o===void 0||vn.length===0)return{path:[e],originalIndex:e,isGroupHeader:!1,groupIndex:e,contentIndex:e,groupRows:-1};let l=e;for(const u of o){if(l===0)return{path:[...u.path,-1],originalIndex:u.headerIndex,isGroupHeader:!0,groupIndex:-1,contentIndex:-1,groupRows:u.rows};if(l--,!u.isCollapsed){if(le===void 0?void 0:vn(e,o),[e,o]),M=Me.useMemo(()=>C===void 0?o:C.reduce((w,p)=>w+(p.isCollapsed?1:p.rows+1),0),[C,o]),b=Me.useMemo(()=>e===void 0||typeof l=="number"&&e.height===l?l:w=>{const{isGroupHeader:p}=Oo(w,C);return p?e.height:typeof l=="number"?l:l(w)},[C,e,l]),T=Me.useCallback(w=>{if(C===void 0)return w;let p=w;for(const S of C){if(p===0)return;if(p--,!S.isCollapsed){if(p{if(e===void 0)return u==null?void 0:u(w,w,w);if(u===void 0&&(e==null?void 0:e.themeOverride)===void 0)return;const{isGroupHeader:p,contentIndex:S,groupIndex:z}=Oo(w,C);return p?e.themeOverride:u==null?void 0:u(w,z,S)},[C,u,e]));return e===void 0?{rowHeight:b,rows:o,rowNumberMapper:T,getRowThemeOverride:k}:{rowHeight:b,rows:M,rowNumberMapper:T,getRowThemeOverride:k}}function dc(e,o){const l=Me.useMemo(()=>e===void 0?void 0:vn(e,o),[e,o]);return{getRowGroupingForPath:hr,updateRowGroupingByPath:fr,mapper:Me.useCallback(u=>{if(typeof u=="number")return Oo(u,l);const C=Oo(u[1],l);return{...C,originalIndex:[u[0],C.originalIndex]}},[l])}}function fr(e,o,l){const[u,...C]=o;return C[0]===-1?e.map((M,b)=>b===u?{...M,...l}:M):e.map((M,b)=>b===u?{...M,subGroups:fr(M.subGroups??[],C,l)}:M)}function hr(e,o){const[l,...u]=o;return u[0]===-1?e[l]:hr(e[l].subGroups??[],u)}function fc(e,o){const[l]=i.useState(()=>({value:e,callback:o,facade:{get current(){return l.value},set current(u){const C=l.value;C!==u&&(l.value=u,l.callback(u,C))}}}));return l.callback=o,l.facade}function hc(e,o,l,u,C){const[M,b]=i.useMemo(()=>[o!==void 0&&typeof l=="number"?Math.floor(o/l):0,o!==void 0&&typeof l=="number"?-(o%l):0],[o,l]),T=i.useMemo(()=>({x:u.current.x,y:M,width:u.current.width??1,height:u.current.height??1,ty:b}),[u,b,M]),[k,w,p]=Kl(T),S=i.useRef(C);S.current=C;const z=fc(null,le=>{le!==null&&o!==void 0?le.scrollTop=o:le!==null&&e!==void 0&&(le.scrollLeft=e)}),N=(k.height??1)>1;i.useLayoutEffect(()=>{if(o!==void 0&&z.current!==null&&N){if(z.current.scrollTop===o)return;z.current.scrollTop=o,z.current.scrollTop!==o&&p(),S.current()}},[o,N,p,z]);const O=(k.width??1)>1;return i.useLayoutEffect(()=>{if(e!==void 0&&z.current!==null&&O){if(z.current.scrollLeft===e)return;z.current.scrollLeft=e,z.current.scrollLeft!==e&&p(),S.current()}},[e,O,p,z]),{visibleRegion:k,setVisibleRegion:w,scrollRef:z}}const gc=i.lazy(async()=>await Pl(()=>import("./data-grid-overlay-editor-inrfGB7O.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]),import.meta.url));let vc=0;function mc(e){return ci(lr(lr(e).filter(o=>o.span!==void 0).map(o=>{var l,u;return Gt((((l=o.span)==null?void 0:l[0])??0)+1,(((u=o.span)==null?void 0:u[1])??0)+1)})))}function $o(e,o){return e===void 0||o===0||e.columns.length===0&&e.current===void 0?e:{current:e.current===void 0?void 0:{cell:[e.current.cell[0]+o,e.current.cell[1]],range:{...e.current.range,x:e.current.range.x+o},rangeStack:e.current.rangeStack.map(l=>({...l,x:l.x+o}))},rows:e.rows,columns:e.columns.offset(o)}}const Fo={kind:Q.Loading,allowOverlay:!1},Ao={columns:X.empty(),rows:X.empty(),current:void 0},Cc=(e,o)=>{var Yn,jn,qn;const[l,u]=i.useState(Ao),[C,M]=i.useState(),b=i.useRef(null),T=i.useRef(null),[k,w]=i.useState(),p=i.useRef(),S=typeof window>"u"?null:window,{imageEditorOverride:z,getRowThemeOverride:N,markdownDivCreateNode:O,width:le,height:ce,columns:V,rows:I,getCellContent:W,onCellClicked:Ce,onCellActivated:se,onFillPattern:de,onFinishedEditing:Y,coercePasteValue:ee,drawHeader:te,drawCell:_,editorBloom:qe,onHeaderClicked:He,onColumnProposeMove:Be,spanRangeBehavior:Pt="default",onGroupHeaderClicked:De,onCellContextMenu:Se,className:Ot,onHeaderContextMenu:Ae,getCellsForSelection:oo,onGroupHeaderContextMenu:Ve,onGroupHeaderRenamed:$,onCellEdited:ie,onCellsEdited:ae,onSearchResultsChanged:Ge,searchResults:Ze,onSearchValueChange:ft,searchValue:no,onKeyDown:Kt,onKeyUp:Ko,keybindings:ht,editOnType:Nt=!0,onRowAppended:gt,onColumnMoved:nt,validateCell:vt,highlightRegions:mt,rangeSelect:Je="rect",columnSelect:he="multi",rowSelect:Ee="multi",rangeSelectionBlending:No="exclusive",columnSelectionBlending:Wo="exclusive",rowSelectionBlending:Qe="exclusive",onDelete:Pe,onDragStart:ro,onMouseMove:lo,onPaste:Ct,copyHeaders:mn=!1,freezeColumns:et=0,cellActivationBehavior:Uo="second-click",rowSelectionMode:Bo="auto",onHeaderMenuClick:io,onHeaderIndicatorClick:co,getGroupDetails:so,rowGrouping:rt,onSearchClose:Vo,onItemHovered:ao,onSelectionCleared:lt,showSearch:gr,onVisibleRegionChanged:uo,gridSelection:wt,onGridSelectionChange:_o,minColumnWidth:vr=50,maxColumnWidth:mr=500,maxColumnAutoWidth:Cr,provideEditor:wr,trailingRowOptions:U,freezeTrailingRows:tt=0,allowedFillDirections:Cn="orthogonal",scrollOffsetX:pr,scrollOffsetY:br,verticalBorder:St,onDragOverCell:yr,onDrop:xr,onColumnResize:Wt,onColumnResizeEnd:Ut,onColumnResizeStart:Bt,customRenderers:fo,fillHandle:Mr,drawFocusRing:wn=!0,experimental:ge,fixedShadowX:Rr,fixedShadowY:kr,headerIcons:Sr,imageWindowLoader:zr,initialSize:Tr,isDraggable:Lr,onDragLeave:Hr,onRowMoved:Vt,overscrollX:Dr,overscrollY:Er,preventDiagonalScrolling:Ir,rightElement:$r,rightElementProps:Fr,trapFocus:pn=!1,smoothScrollX:Ar,smoothScrollY:Gr,scaleToRem:Pr=!1,rowHeight:Or=34,headerHeight:bn=36,groupHeaderHeight:Kr=bn,theme:Nr,isOutsideClick:Wr,renderers:Xo,resizeIndicator:Ur,scrollToActiveCell:yn=!0}=e,we=typeof e.rowMarkers=="string"?void 0:e.rowMarkers,Oe=(we==null?void 0:we.kind)??e.rowMarkers??"none",Br=(we==null?void 0:we.width)??e.rowMarkerWidth,xn=(we==null?void 0:we.startIndex)??e.rowMarkerStartIndex??1,Mn=(we==null?void 0:we.theme)??e.rowMarkerTheme,ho=(we==null?void 0:we.checkboxStyle)??"square",zt=Math.max(vr,20),go=Math.max(mr,zt),Vr=Math.max(Cr??go,zt),Rn=i.useMemo(()=>typeof window>"u"?{fontSize:"16px"}:window.getComputedStyle(document.documentElement),[]),{rows:F,rowNumberMapper:kn,rowHeight:_r,getRowThemeOverride:ot}=uc(rt,I,Or,N),Xr=i.useMemo(()=>Number.parseFloat(Rn.fontSize),[Rn]),{rowHeight:it,headerHeight:Yo,groupHeaderHeight:Sn,theme:zn,overscrollX:Yr,overscrollY:jr}=cc({groupHeaderHeight:Kr,headerHeight:bn,overscrollX:Dr,overscrollY:Er,remSize:Xr,rowHeight:_r,scaleToRem:Pr,theme:Nr}),ct=sc(ht),Tt=Br??(I>1e4?48:I>1e3?44:I>100?36:32),_e=Oe!=="none",d=_e?1:0,oe=gt!==void 0,_t=(U==null?void 0:U.sticky)===!0,[qr,Tn]=i.useState(!1),Zr=gr??qr,Jr=i.useCallback(()=>{Vo!==void 0?Vo():Tn(!1)},[Vo]),h=i.useMemo(()=>wt===void 0?void 0:$o(wt,d),[wt,d])??l,Re=i.useRef();Re.current===void 0&&(Re.current=new AbortController),i.useEffect(()=>()=>Re==null?void 0:Re.current.abort(),[]);const[fe,Qr]=Qi(oo,W,d,Re.current,F),el=i.useCallback((t,r,n)=>{if(vt===void 0)return!0;const s=[t[0]-d,t[1]];return vt==null?void 0:vt(s,r,n)},[d,vt]),vo=i.useRef(wt),Ie=i.useCallback((t,r)=>{r&&(t=Nl(t,fe,d,Pt,Re.current)),_o!==void 0?(vo.current=$o(t,-d),_o(vo.current)):u(t)},[_o,fe,d,Pt]),Lt=kt(Wt,i.useCallback((t,r,n,s)=>{Wt==null||Wt(V[n-d],r,n-d,s)},[Wt,d,V])),tl=kt(Ut,i.useCallback((t,r,n,s)=>{Ut==null||Ut(V[n-d],r,n-d,s)},[Ut,d,V])),ol=kt(Bt,i.useCallback((t,r,n,s)=>{Bt==null||Bt(V[n-d],r,n-d,s)},[Bt,d,V])),nl=kt(te,i.useCallback((t,r)=>(te==null?void 0:te({...t,columnIndex:t.columnIndex-d},r))??!1,[te,d])),rl=kt(_,i.useCallback((t,r)=>(_==null?void 0:_({...t,col:t.col-d},r))??!1,[_,d])),st=i.useCallback(t=>{if(Pe!==void 0){const r=Pe($o(t,-d));return typeof r=="boolean"?r:$o(r,d)}return!0},[Pe,d]),[pe,be,ue]=Ji(h,Ie,No,Wo,Qe,Je),ve=i.useMemo(()=>dn(sr(),zn),[zn]),[jo,ll]=i.useState([0,0,0]),Ln=i.useMemo(()=>{if(Xo===void 0)return{};const t={};for(const r of Xo)t[r.kind]=r;return t},[Xo]),ye=i.useCallback(t=>t.kind!==Q.Custom?Ln[t.kind]:fo==null?void 0:fo.find(r=>r.isMatch(t)),[fo,Ln]);let{sizedColumns:ze,nonGrowWidth:Hn}=qi(V,F,Qr,jo[0]-(d===0?0:Tt)-jo[2],zt,Vr,ve,ye,Re.current);Oe!=="none"&&(Hn+=Tt);const qo=i.useMemo(()=>ze.some(t=>t.group!==void 0),[ze]),Xt=qo?Yo+Sn:Yo,Dn=h.rows.length,En=Oe==="none"?void 0:Dn===0?!1:Dn===F?!0:void 0,B=i.useMemo(()=>Oe==="none"?ze:[{title:"",width:Tt,icon:void 0,hasMenu:!1,style:"normal",themeOverride:Mn,rowMarker:ho,rowMarkerChecked:En},...ze],[Oe,ze,Tt,Mn,ho,En]),Te=i.useRef({height:1,width:1,x:0,y:0}),mo=i.useRef(!1),{setVisibleRegion:In,visibleRegion:pt,scrollRef:j}=hc(pr,br,it,Te,()=>mo.current=!0);Te.current=pt;const il=pt.x+d,Co=pt.y,ke=i.useRef(null),xe=i.useCallback(t=>{var r;t===!0?(r=ke.current)==null||r.focus():window.requestAnimationFrame(()=>{var n;(n=ke.current)==null||n.focus()})},[]),me=oe?F+1:F,$e=i.useCallback(t=>{const r=d===0?t:t.map(s=>({...s,location:[s.location[0]-d,s.location[1]]})),n=ae==null?void 0:ae(r);if(n!==!0)for(const s of r)ie==null||ie(s.location,s.value);return n},[ie,ae,d]),[bt,Zo]=i.useState(),wo=h.current!==void 0&&h.current.range.width*h.current.range.height>1?h.current.range:void 0,Ht=wn?(Yn=h.current)==null?void 0:Yn.cell:void 0,po=Ht==null?void 0:Ht[0],bo=Ht==null?void 0:Ht[1],cl=i.useMemo(()=>{if((mt===void 0||mt.length===0)&&(wo??po??bo??bt)===void 0)return;const t=[];if(mt!==void 0)for(const r of mt){const n=B.length-r.range.x-d;n>0&&t.push({color:r.color,range:{...r.range,x:r.range.x+d,width:Math.min(n,r.range.width)},style:r.style})}return bt!==void 0&&t.push({color:Qn(ve.accentColor,0),range:bt,style:"dashed"}),wo!==void 0&&t.push({color:Qn(ve.accentColor,.5),range:wo,style:"solid-outline"}),po!==void 0&&bo!==void 0&&t.push({color:ve.accentColor,range:{x:po,y:bo,width:1,height:1},style:"solid-outline"}),t.length>0?t:void 0},[bt,wo,po,bo,mt,B.length,ve.accentColor,d]),$n=i.useRef(B);$n.current=B;const Le=i.useCallback(([t,r],n=!1)=>{var g,a,f,v,m,y,L;const s=oe&&r===me-1;if(t===0&&_e){if(s)return Fo;const x=kn(r);return x===void 0?Fo:{kind:Do.Marker,allowOverlay:!1,checkboxStyle:ho,checked:(h==null?void 0:h.rows.hasIndex(r))===!0,markerKind:Oe==="clickable-number"?"number":Oe,row:xn+x,drawHandle:Vt!==void 0,cursor:Oe==="clickable-number"?"pointer":void 0}}else if(s){const D=t===d?(U==null?void 0:U.hint)??"":"",R=$n.current[t];if(((g=R==null?void 0:R.trailingRowOptions)==null?void 0:g.disabled)===!0)return Fo;{const P=((a=R==null?void 0:R.trailingRowOptions)==null?void 0:a.hint)??D,E=((f=R==null?void 0:R.trailingRowOptions)==null?void 0:f.addIcon)??(U==null?void 0:U.addIcon);return{kind:Do.NewRow,hint:P,allowOverlay:!1,icon:E}}}else{const x=t-d;if(n||(ge==null?void 0:ge.strict)===!0){const R=Te.current,P=R.x>x||x>R.x+R.width||R.y>r||r>R.y+R.height||r>=Qo.current,E=x===((m=(v=R.extras)==null?void 0:v.selected)==null?void 0:m[0])&&r===((y=R.extras)==null?void 0:y.selected[1]);let H=!1;if(((L=R.extras)==null?void 0:L.freezeRegions)!==void 0){for(const K of R.extras.freezeRegions)if(Wl(K,x,r)){H=!0;break}}if(P&&!E&&!H)return Fo}let D=W([x,r]);return d!==0&&D.span!==void 0&&(D={...D,span:[D.span[0]+d,D.span[1]+d]}),D}},[oe,me,_e,kn,ho,h==null?void 0:h.rows,Oe,xn,Vt,d,U==null?void 0:U.hint,U==null?void 0:U.addIcon,ge==null?void 0:ge.strict,W]),Jo=i.useCallback(t=>{let r=(so==null?void 0:so(t))??{name:t};return $!==void 0&&t!==""&&(r={icon:r.icon,name:r.name,overrideTheme:r.overrideTheme,actions:[...r.actions??[],{title:"Rename",icon:"renameIcon",onClick:n=>tn({group:r.name,bounds:n.bounds})}]}),r},[so,$]),yo=i.useCallback(t=>{var f;const[r,n]=t.cell,s=B[r],c=(s==null?void 0:s.group)!==void 0?(f=Jo(s.group))==null?void 0:f.overrideTheme:void 0,g=s==null?void 0:s.themeOverride,a=ot==null?void 0:ot(n);M({...t,theme:dn(ve,c,g,a,t.content.themeOverride)})},[ot,B,Jo,ve]),Dt=i.useCallback((t,r,n)=>{var a;if(h.current===void 0)return;const[s,c]=h.current.cell,g=Le([s,c]);if(g.kind!==Q.Boolean&&g.allowOverlay){let f=g;if(n!==void 0)switch(f.kind){case Q.Number:{const v=Ul(()=>n==="-"?-0:Number.parseFloat(n),0);f={...f,data:Number.isNaN(v)?0:v};break}case Q.Text:case Q.Markdown:case Q.Uri:f={...f,data:n};break}yo({target:t,content:f,initialValue:n,cell:[s,c],highlight:n===void 0,forceEditMode:n!==void 0})}else g.kind===Q.Boolean&&r&&g.readonly!==!0&&($e([{location:h.current.cell,value:{...g,data:Bl(g.data)}}]),(a=ke.current)==null||a.damage([{cell:h.current.cell}]))},[Le,h,$e,yo]),Fn=i.useCallback((t,r)=>{var c;const n=(c=ke.current)==null?void 0:c.getBounds(t,r);if(n===void 0||j.current===null)return;const s=Le([t,r]);s.allowOverlay&&yo({target:n,content:s,initialValue:void 0,highlight:!0,cell:[t,r],forceEditMode:!0})},[Le,j,yo]),ne=i.useCallback((t,r,n="both",s=0,c=0,g=void 0)=>{if(j.current!==null){const a=ke.current,f=T.current,v=typeof t!="number"?t.unit==="cell"?t.amount:void 0:t,m=typeof r!="number"?r.unit==="cell"?r.amount:void 0:r,y=typeof t!="number"&&t.unit==="px"?t.amount:void 0,L=typeof r!="number"&&r.unit==="px"?r.amount:void 0;if(a!==null&&f!==null){let x={x:0,y:0,width:0,height:0},D=0,R=0;if((v!==void 0||m!==void 0)&&(x=a.getBounds((v??0)+d,m??0)??x,x.width===0||x.height===0))return;const P=f.getBoundingClientRect(),E=P.width/f.offsetWidth;if(y!==void 0&&(x={...x,x:y-P.left-j.current.scrollLeft,width:1}),L!==void 0&&(x={...x,y:L+P.top-j.current.scrollTop,height:1}),x!==void 0){const H={x:x.x-s,y:x.y-c,width:x.width+2*s,height:x.height+2*c};let K=0;for(let an=0;an0&&(J=Vl(me,re,it));let We=K*E+P.left+d*Tt*E,Ye=P.right,Ue=P.top+Xt*E,je=P.bottom-J*E;const To=x.width+s*2;switch(g==null?void 0:g.hAlign){case"start":Ye=We+To;break;case"end":We=Ye-To;break;case"center":We=Math.floor((We+Ye)/2)-To/2,Ye=We+To;break}const Lo=x.height+c*2;switch(g==null?void 0:g.vAlign){case"start":je=Ue+Lo;break;case"end":Ue=je-Lo;break;case"center":Ue=Math.floor((Ue+je)/2)-Lo/2,je=Ue+Lo;break}We>H.x?D=H.x-We:YeH.y?R=H.y-Ue:je=me-re)&&(R=0),(D!==0||R!==0)&&(E!==1&&(D/=E,R/=E),j.current.scrollTo(D+j.current.scrollLeft,R+j.current.scrollTop))}}}},[d,tt,Tt,j,Xt,et,ze,me,_t,it]),An=i.useRef(Fn),Gn=i.useRef(W),Qo=i.useRef(F);An.current=Fn,Gn.current=W,Qo.current=F;const Et=i.useCallback(async(t,r=!0)=>{var v;const n=B[t];if(((v=n==null?void 0:n.trailingRowOptions)==null?void 0:v.disabled)===!0)return;const s=gt==null?void 0:gt();let c,g=!0;s!==void 0&&(c=await s,c==="top"&&(g=!1),typeof c=="number"&&(g=!1));let a=0;const f=()=>{if(Qo.current<=F){a<500&&window.setTimeout(f,a),a=50+a*2;return}const m=typeof c=="number"?c:g?F:0;zo.current(t-d,m),pe({cell:[t,m],range:{x:t,y:m,width:1,height:1}},!1,!1,"edit");const y=Gn.current([t-d,m]);y.allowOverlay&&Io(y)&&y.readonly!==!0&&r&&window.setTimeout(()=>{An.current(t,m)},0)};f()},[B,gt,d,F,pe]),xo=i.useCallback(t=>{var n,s;const r=((s=(n=ze[t])==null?void 0:n.trailingRowOptions)==null?void 0:s.targetColumn)??(U==null?void 0:U.targetColumn);if(typeof r=="number")return r+(_e?1:0);if(typeof r=="object"){const c=V.indexOf(r);if(c>=0)return c+(_e?1:0)}},[ze,V,_e,U==null?void 0:U.targetColumn]),at=i.useRef(),It=i.useRef(),Yt=i.useCallback((t,r)=>{var c;const[n,s]=r;return dn(ve,(c=B[n])==null?void 0:c.themeOverride,ot==null?void 0:ot(s),t.themeOverride)},[ot,B,ve]),{mapper:yt}=dc(rt,I),Ke=rt==null?void 0:rt.navigationBehavior,jt=i.useCallback(t=>{var y,L,x;const r=Po.value?t.metaKey:t.ctrlKey,n=r&&Ee==="multi",s=r&&he==="multi",[c,g]=t.location,a=h.columns,f=h.rows,[v,m]=((y=h.current)==null?void 0:y.cell)??[];if(t.kind==="cell"){if(It.current=void 0,xt.current=[c,g],c===0&&_e){if(oe===!0&&g===F||Oe==="number"||Ee==="none")return;const D=Le(t.location);if(D.kind!==Do.Marker)return;if(Vt!==void 0){const E=ye(D);Go((E==null?void 0:E.kind)===Do.Marker);const H=(L=E==null?void 0:E.onClick)==null?void 0:L.call(E,{...t,cell:D,posX:t.localEventX,posY:t.localEventY,bounds:t.bounds,theme:Yt(D,t.location),preventDefault:()=>{}});if(H===void 0||H.checked===D.checked)return}M(void 0),xe();const R=f.hasIndex(g),P=at.current;if(Ee==="multi"&&(t.shiftKey||t.isLongTouch===!0)&&P!==void 0&&f.hasIndex(P)){const E=[Math.min(P,g),Math.max(P,g)+1];n||Bo==="multi"?be(void 0,E,!0):be(X.fromSingleSelection(E),void 0,n)}else n||t.isTouch||Bo==="multi"?R?be(f.remove(g),void 0,!0):(be(void 0,g,!0),at.current=g):R&&f.length===1?be(X.empty(),void 0,r):(be(X.fromSingleSelection(g),void 0,r),at.current=g)}else if(c>=d&&oe&&g===F){const D=xo(c);Et(D??c)}else if(v!==c||m!==g){const D=Le(t.location),R=ye(D);if((R==null?void 0:R.onSelect)!==void 0){let H=!1;if(R.onSelect({...t,cell:D,posX:t.localEventX,posY:t.localEventY,bounds:t.bounds,preventDefault:()=>H=!0,theme:Yt(D,t.location)}),H)return}if(Ke==="block"&&yt(g).isGroupHeader)return;const P=_t&&g===F,E=_t&&h!==void 0&&((x=h.current)==null?void 0:x.cell[1])===F;if((t.shiftKey||t.isLongTouch===!0)&&v!==void 0&&m!==void 0&&h.current!==void 0&&!E){if(P)return;const H=Math.min(c,v),K=Math.max(c,v),J=Math.min(g,m),re=Math.max(g,m);pe({...h.current,range:{x:H,y:J,width:K-H+1,height:re-J+1}},!0,r,"click"),at.current=void 0,xe()}else pe({cell:[c,g],range:{x:c,y:g,width:1,height:1}},!0,r,"click"),at.current=void 0,M(void 0),xe()}}else if(t.kind==="header")if(xt.current=[c,g],M(void 0),_e&&c===0)at.current=void 0,It.current=void 0,Ee==="multi"&&(f.length!==F?be(X.fromSingleSelection([0,F]),void 0,r):be(X.empty(),void 0,r),xe());else{const D=It.current;if(he==="multi"&&(t.shiftKey||t.isLongTouch===!0)&&D!==void 0&&a.hasIndex(D)){const R=[Math.min(D,c),Math.max(D,c)+1];s?ue(void 0,R,r):ue(X.fromSingleSelection(R),void 0,r)}else s?(a.hasIndex(c)?ue(a.remove(c),void 0,r):ue(void 0,c,r),It.current=c):he!=="none"&&(ue(X.fromSingleSelection(c),void 0,r),It.current=c);at.current=void 0,xe()}else t.kind===At?xt.current=[c,g]:t.kind===er&&!t.isMaybeScrollbar&&(Ie(Ao,!1),M(void 0),xe(),lt==null||lt(),at.current=void 0,It.current=void 0)},[Ee,he,h,_e,d,oe,F,Oe,Le,Vt,xe,Bo,ye,Yt,be,xo,Et,Ke,yt,_t,pe,ue,Ie,lt]),qt=i.useRef(!1),xt=i.useRef(),Pn=i.useRef(pt),Fe=i.useRef(),sl=i.useCallback(t=>{if($t.current=!1,Pn.current=Te.current,t.button!==0&&t.button!==1){Fe.current=void 0;return}const r=performance.now();Fe.current={button:t.button,time:r,location:t.location},(t==null?void 0:t.kind)==="header"&&(qt.current=!0);const n=t.kind==="cell"&&t.isFillHandle;!n&&t.kind!=="cell"&&t.isEdge||(w({previousSelection:h,fillHandle:n}),xt.current=void 0,!t.isTouch&&t.button===0&&!n?jt(t):!t.isTouch&&t.button===1&&(xt.current=t.location))},[h,jt]),[en,tn]=i.useState(),On=i.useCallback(t=>{if(t.kind!==At||he!=="multi")return;const r=Po.value?t.metaKey:t.ctrlKey,[n]=t.location,s=h.columns;if(n=d&&tr(c.group,B[f].group);f--)g--;for(let f=n+1;f{if(fe!==void 0&&Lt!==void 0){const r=Te.current.y,n=Te.current.height;let s=fe({x:t,y:r,width:1,height:Math.min(n,F-r)},Re.current.signal);typeof s!="object"&&(s=await s());const c=ze[t-d],a=document.createElement("canvas").getContext("2d",{alpha:!1});if(a!==null){a.font=ve.baseFontFull;const f=ur(a,ve,c,0,s,zt,go,!1,ye);Lt==null||Lt(c,f.width,t,f.width)}}},[ze,fe,go,ve,zt,Lt,d,F,ye]),[al,on]=i.useState(),Ft=i.useCallback(async(t,r)=>{var f,v;const n=(f=t.current)==null?void 0:f.range;if(n===void 0||fe===void 0||r.current===void 0)return;const s=r.current.range;if(de!==void 0){let m=!1;if(de({fillDestination:{...s,x:s.x-d},patternSource:{...n,x:n.x-d},preventDefault:()=>m=!0}),m)return}let c=fe(n,Re.current.signal);typeof c!="object"&&(c=await c());const g=c,a=[];for(let m=0;m({cell:m.location})))},[fe,$e,de,d]),Kn=i.useCallback(()=>{if(h.current===void 0||h.current.range.width<=1)return;const t={...h,current:{...h.current,range:{...h.current.range,width:1}}};Ft(t,h)},[Ft,h]),Nn=i.useCallback(()=>{if(h.current===void 0||h.current.range.height<=1)return;const t={...h,current:{...h.current,range:{...h.current.range,height:1}}};Ft(t,h)},[Ft,h]),ul=i.useCallback((t,r)=>{var y,L;const n=k;if(w(void 0),Zo(void 0),on(void 0),qt.current=!1,r)return;if((n==null?void 0:n.fillHandle)===!0&&h.current!==void 0&&((y=n.previousSelection)==null?void 0:y.current)!==void 0){if(bt===void 0)return;const x={...h,current:{...h.current,range:Xl(n.previousSelection.current.range,bt)}};Ft(n.previousSelection,x),Ie(x,!0);return}const[s,c]=t.location,[g,a]=xt.current??[],f=()=>{$t.current=!0},v=x=>{var R,P,E;const D=x.isTouch||g===s&&a===c;if(D&&(Ce==null||Ce([s-d,c],{...x,preventDefault:f})),x.button===1)return!$t.current;if(!$t.current){const H=Le(t.location),K=ye(H);if(K!==void 0&&K.onClick!==void 0&&D){const re=K.onClick({...x,cell:H,posX:x.localEventX,posY:x.localEventY,bounds:x.bounds,theme:Yt(H,t.location),preventDefault:f});re!==void 0&&!Eo(re)&&eo(re)&&($e([{location:x.location,value:re}]),(R=ke.current)==null||R.damage([{cell:x.location}]))}if($t.current||h.current===void 0)return!1;let J=!1;switch(H.activationBehaviorOverride??Uo){case"double-click":case"second-click":{if(((E=(P=n==null?void 0:n.previousSelection)==null?void 0:P.current)==null?void 0:E.cell)===void 0)break;const[re,We]=h.current.cell,[Ye,Ue]=n.previousSelection.current.cell;J=s===re&&s===Ye&&c===We&&c===Ue&&(x.isDoubleClick===!0||Uo==="second-click");break}case"single-click":{J=!0;break}}if(J)return se==null||se([s-d,c]),Dt(x.bounds,!1),!0}return!1},m=t.location[0]-d;if(t.isTouch){const x=Te.current,D=Pn.current;if(x.x!==D.x||x.y!==D.y)return;if(t.isLongTouch===!0){if(t.kind==="cell"&&Yl((L=h.current)==null?void 0:L.cell,t.location)){Se==null||Se([m,t.location[1]],{...t,preventDefault:f});return}else if(t.kind==="header"&&h.columns.hasIndex(s)){Ae==null||Ae(m,{...t,preventDefault:f});return}else if(t.kind===At){if(m<0)return;Ve==null||Ve(m,{...t,preventDefault:f});return}}t.kind==="cell"?v(t)||jt(t):t.kind===At?De==null||De(m,{...t,preventDefault:f}):(t.kind===jl&&(He==null||He(m,{...t,preventDefault:f})),jt(t));return}if(t.kind==="header"){if(m<0)return;t.isEdge?t.isDoubleClick===!0&&Mo(s):t.button===0&&s===g&&c===a&&(He==null||He(m,{...t,preventDefault:f}))}if(t.kind===At){if(m<0)return;t.button===0&&s===g&&c===a&&(De==null||De(m,{...t,preventDefault:f}),$t.current||On(t))}t.kind==="cell"&&(t.button===0||t.button===1)&&v(t),xt.current=void 0},[k,h,d,bt,Ft,Ie,Ce,Le,ye,Uo,Yt,$e,se,Dt,Se,Ae,Ve,jt,De,He,Mo,On]),dl=i.useCallback(t=>{const r={...t,location:[t.location[0]-d,t.location[1]]};lo==null||lo(r),k!==void 0&&t.buttons===0&&(w(void 0),Zo(void 0),on(void 0),qt.current=!1),on(n=>{var s;return qt.current?[t.scrollEdge[0],0]:t.scrollEdge[0]===(n==null?void 0:n[0])&&t.scrollEdge[1]===n[1]?n:k===void 0||(((s=Fe.current)==null?void 0:s.location[0])??0){io==null||io(t-d,r)},[io,d]),hl=i.useCallback((t,r)=>{co==null||co(t-d,r)},[co,d]),Xe=(jn=h==null?void 0:h.current)==null?void 0:jn.cell,gl=i.useCallback((t,r,n,s,c,g)=>{mo.current=!1;let a=Xe;a!==void 0&&(a=[a[0]-d,a[1]]);const f=et===0?void 0:{x:0,y:t.y,width:et,height:t.height},v=[];f!==void 0&&v.push(f),tt>0&&(v.push({x:t.x-d,y:F-tt,width:t.width,height:tt}),et>0&&v.push({x:0,y:F-tt,width:et,height:tt}));const m={x:t.x-d,y:t.y,width:t.width,height:oe&&t.y+t.height>=F?t.height-1:t.height,tx:c,ty:g,extras:{selected:a,freezeRegion:f,freezeRegions:v}};Te.current=m,In(m),ll([r,n,s]),uo==null||uo(m,m.tx,m.ty,m.extras)},[Xe,d,oe,F,et,tt,In,uo]),vl=kt(nt,i.useCallback((t,r)=>{nt==null||nt(t-d,r-d),he!=="none"&&ue(X.fromSingleSelection(r),void 0,!0)},[he,nt,d,ue])),nn=i.useRef(!1),ml=i.useCallback(t=>{if(t.location[0]===0&&d>0){t.preventDefault();return}ro==null||ro({...t,location:[t.location[0]-d,t.location[1]]}),t.defaultPrevented()||(nn.current=!0),w(void 0)},[ro,d]),Cl=i.useCallback(()=>{nn.current=!1},[]),Wn=rt==null?void 0:rt.selectionBehavior,Ro=i.useCallback(t=>{if(Wn!=="block-spanning")return;const{isGroupHeader:r,path:n,groupRows:s}=yt(t);if(r)return[t,t];const c=n[n.length-1],g=t-c,a=t+s-c-1;return[g,a]},[yt,Wn]),rn=i.useRef(),ln=i.useCallback(t=>{var r,n,s;if(!ql(t,rn.current)&&(rn.current=t,!(((r=Fe==null?void 0:Fe.current)==null?void 0:r.button)!==void 0&&Fe.current.button>=1))){if(t.buttons!==0&&k!==void 0&&((n=Fe.current)==null?void 0:n.location[0])===0&&t.location[0]===0&&d===1&&Ee==="multi"&&k.previousSelection&&!k.previousSelection.rows.hasIndex(Fe.current.location[1])&&h.rows.hasIndex(Fe.current.location[1])){const c=Math.min(Fe.current.location[1],t.location[1]),g=Math.max(Fe.current.location[1],t.location[1])+1;be(X.fromSingleSelection([c,g]),void 0,!1)}if(t.buttons!==0&&k!==void 0&&h.current!==void 0&&!nn.current&&!qt.current&&(Je==="rect"||Je==="multi-rect")){const[c,g]=h.current.cell;let[a,f]=t.location;if(f<0&&(f=Te.current.y),k.fillHandle===!0&&((s=k.previousSelection)==null?void 0:s.current)!==void 0){const v=k.previousSelection.current.range;f=Math.min(f,oe?F-1:F);const m=Zl(v,a,f,Cn);Zo(m)}else{if(oe&&g===F)return;if(oe&&f===F)if(t.kind===er)f--;else return;a=Math.max(a,d);const y=Ro(g);f=y===void 0?f:Rt(f,y[0],y[1]);const L=a-c,x=f-g,D={x:L>=0?c:a,y:x>=0?g:f,width:Math.abs(L)+1,height:Math.abs(x)+1};pe({...h.current,range:D},!0,!1,"drag")}}ao==null||ao({...t,location:[t.location[0]-d,t.location[1]]})}},[k,d,Ee,h,Je,ao,be,oe,F,Cn,Ro,pe]),wl=i.useCallback(()=>{var a,f;const t=rn.current;if(t===void 0)return;const[r,n]=t.scrollEdge;let[s,c]=t.location;const g=Te.current;r===-1?s=((f=(a=g.extras)==null?void 0:a.freezeRegion)==null?void 0:f.x)??g.x:r===1&&(s=g.x+g.width),n===-1?c=Math.max(0,g.y):n===1&&(c=Math.min(F-1,g.y+g.height)),s=Rt(s,0,B.length-1),c=Rt(c,0,F-1),ln({...t,location:[s,c]})},[B.length,ln,F]);ic(al,j,wl);const Ne=i.useCallback(t=>{if(h.current===void 0)return;const[r,n]=t,[s,c]=h.current.cell,g=h.current.range;let a=g.x,f=g.x+g.width,v=g.y,m=g.y+g.height;const[y,L]=Ro(c)??[0,F-1],x=L+1;if(n!==0)switch(n){case 2:{m=x,v=c,ne(0,m,"vertical");break}case-2:{v=y,m=c+1,ne(0,v,"vertical");break}case 1:{vc+1?(m--,ne(0,m,"vertical")):(v=Math.max(y,v-1),ne(0,v,"vertical"));break}default:or()}if(r!==0)if(r===2)f=B.length,a=s,ne(f-1-d,0,"horizontal");else if(r===-2)a=d,f=s+1,ne(a-d,0,"horizontal");else{let D=[];if(fe!==void 0){const R=fe({x:a,y:v,width:f-a-d,height:m-v},Re.current.signal);typeof R=="object"&&(D=mc(R))}if(r===1){let R=!1;if(a0){const P=Gt(a+1,s+1).find(E=>!D.includes(E-d));P!==void 0&&(a=P,R=!0)}else a++,R=!0;R&&ne(a,0,"horizontal")}R||(f=Math.min(B.length,f+1),ne(f-1-d,0,"horizontal"))}else if(r===-1){let R=!1;if(f>s+1){if(D.length>0){const P=Gt(f-1,s,-1).find(E=>!D.includes(E-d));P!==void 0&&(f=P,R=!0)}else f--,R=!0;R&&ne(f-d,0,"horizontal")}R||(a=Math.max(d,a-1),ne(a-d,0,"horizontal"))}else or()}pe({cell:h.current.cell,range:{x:a,y:v,width:f-a,height:m-v}},!0,!1,"keyboard-select")},[fe,Ro,h,B.length,d,F,ne,pe]),cn=i.useRef(yn);cn.current=yn;const ut=i.useCallback((t,r,n,s)=>{const c=me-(n?0:1);t=Rt(t,d,ze.length-1+d),r=Rt(r,0,c);const g=Xe==null?void 0:Xe[0],a=Xe==null?void 0:Xe[1];if(t===g&&r===a)return!1;if(s&&h.current!==void 0){const f=[...h.current.rangeStack];(h.current.range.width>1||h.current.range.height>1)&&f.push(h.current.range),Ie({...h,current:{cell:[t,r],range:{x:t,y:r,width:1,height:1},rangeStack:f}},!0)}else pe({cell:[t,r],range:{x:t,y:r,width:1,height:1}},!0,!1,"keyboard-nav");return p.current!==void 0&&p.current[0]===t&&p.current[1]===r&&(p.current=void 0),cn.current&&ne(t-d,r),!0},[me,d,ze.length,Xe,h,ne,Ie,pe]),pl=i.useCallback((t,r)=>{(C==null?void 0:C.cell)!==void 0&&t!==void 0&&eo(t)&&($e([{location:C.cell,value:t}]),window.requestAnimationFrame(()=>{var c;(c=ke.current)==null||c.damage([{cell:C.cell}])})),xe(!0),M(void 0);const[n,s]=r;if(h.current!==void 0&&(n!==0||s!==0)){const c=h.current.cell[1]===me-1&&t!==void 0;ut(Rt(h.current.cell[0]+n,0,B.length-1),Rt(h.current.cell[1]+s,0,me-1),c,!1)}Y==null||Y(t,r)},[C==null?void 0:C.cell,xe,h,Y,$e,me,ut,B.length]),bl=i.useMemo(()=>`gdg-overlay-${vc++}`,[]),Mt=i.useCallback(t=>{var n,s,c,g;xe();const r=[];for(let a=t.x;a({cell:a.location})))},[xe,W,ye,$e,d]),Zt=C!==void 0,Un=i.useCallback(t=>{var P,E;const r=()=>{t.stopPropagation(),t.preventDefault()},n={didMatch:!1},{bounds:s}=t,c=h.columns,g=h.rows,a=ct;if(!Zt&&A(a.clear,t,n))Ie(Ao,!1),lt==null||lt();else if(!Zt&&A(a.selectAll,t,n))Ie({columns:X.empty(),rows:X.empty(),current:{cell:((P=h.current)==null?void 0:P.cell)??[d,0],range:{x:d,y:0,width:V.length,height:F},rangeStack:[]}},!1);else if(A(a.search,t,n))(E=b==null?void 0:b.current)==null||E.focus({preventScroll:!0}),Tn(!0);else if(A(a.delete,t,n)){const H=(st==null?void 0:st(h))??!0;if(H!==!1){const K=H===!0?h:H;if(K.current!==void 0){Mt(K.current.range);for(const J of K.current.rangeStack)Mt(J)}for(const J of K.rows)Mt({x:d,y:J,width:V.length,height:1});for(const J of K.columns)Mt({x:J,y:0,width:1,height:F})}}if(n.didMatch)return r(),!0;if(h.current===void 0)return!1;let[f,v]=h.current.cell;const[,m]=h.current.cell;let y=!1,L=!1;if(A(a.scrollToSelectedCell,t,n)?zo.current(f-d,v):he!=="none"&&A(a.selectColumn,t,n)?c.hasIndex(f)?ue(c.remove(f),void 0,!0):he==="single"?ue(X.fromSingleSelection(f),void 0,!0):ue(void 0,f,!0):Ee!=="none"&&A(a.selectRow,t,n)?g.hasIndex(v)?be(g.remove(v),void 0,!0):Ee==="single"?be(X.fromSingleSelection(v),void 0,!0):be(void 0,v,!0):!Zt&&s!==void 0&&A(a.activateCell,t,n)?v===F&&oe?window.setTimeout(()=>{const H=xo(f);Et(H??f)},0):(se==null||se([f-d,v]),Dt(s,!0)):h.current.range.height>1&&A(a.downFill,t,n)?Nn():h.current.range.width>1&&A(a.rightFill,t,n)?Kn():A(a.goToNextPage,t,n)?v+=Math.max(1,Te.current.height-4):A(a.goToPreviousPage,t,n)?v-=Math.max(1,Te.current.height-4):A(a.goToFirstCell,t,n)?(M(void 0),v=0,f=0):A(a.goToLastCell,t,n)?(M(void 0),v=Number.MAX_SAFE_INTEGER,f=Number.MAX_SAFE_INTEGER):A(a.selectToFirstCell,t,n)?(M(void 0),Ne([-2,-2])):A(a.selectToLastCell,t,n)?(M(void 0),Ne([2,2])):Zt?(A(a.closeOverlay,t,n)&&M(void 0),A(a.acceptOverlayDown,t,n)&&(M(void 0),v++),A(a.acceptOverlayUp,t,n)&&(M(void 0),v--),A(a.acceptOverlayLeft,t,n)&&(M(void 0),f--),A(a.acceptOverlayRight,t,n)&&(M(void 0),f++)):(A(a.goDownCell,t,n)?v+=1:A(a.goUpCell,t,n)?v-=1:A(a.goRightCell,t,n)?f+=1:A(a.goLeftCell,t,n)?f-=1:A(a.goDownCellRetainSelection,t,n)?(v+=1,y=!0):A(a.goUpCellRetainSelection,t,n)?(v-=1,y=!0):A(a.goRightCellRetainSelection,t,n)?(f+=1,y=!0):A(a.goLeftCellRetainSelection,t,n)?(f-=1,y=!0):A(a.goToLastRow,t,n)?v=F-1:A(a.goToFirstRow,t,n)?v=Number.MIN_SAFE_INTEGER:A(a.goToLastColumn,t,n)?f=Number.MAX_SAFE_INTEGER:A(a.goToFirstColumn,t,n)?f=Number.MIN_SAFE_INTEGER:(Je==="rect"||Je==="multi-rect")&&(A(a.selectGrowDown,t,n)?Ne([0,1]):A(a.selectGrowUp,t,n)?Ne([0,-1]):A(a.selectGrowRight,t,n)?Ne([1,0]):A(a.selectGrowLeft,t,n)?Ne([-1,0]):A(a.selectToLastRow,t,n)?Ne([0,2]):A(a.selectToFirstRow,t,n)?Ne([0,-2]):A(a.selectToLastColumn,t,n)?Ne([2,0]):A(a.selectToFirstColumn,t,n)&&Ne([-2,0])),L=n.didMatch),Ke!==void 0&&Ke!=="normal"&&v!==m){const H=Ke==="skip-up"||Ke==="skip"||Ke==="block",K=Ke==="skip-down"||Ke==="skip"||Ke==="block",J=v=0&&yt(v).isGroupHeader;)v--;v<0&&(v=m)}else if(!J&&K){for(;v=F&&(v=m)}}const D=ut(f,v,!1,y),R=n.didMatch;return R&&(D||!L||pn)&&r(),R},[Ke,Zt,h,ct,he,Ee,Je,d,yt,F,ut,Ie,lt,V.length,st,pn,Mt,ue,be,oe,xo,Et,se,Dt,Nn,Kn,Ne]),Jt=i.useCallback(t=>{let r=!1;if(Kt!==void 0&&Kt({...t,cancel:()=>{r=!0}}),r||Un(t)||h.current===void 0)return;const[n,s]=h.current.cell,c=Te.current;if(Nt&&!t.metaKey&&!t.ctrlKey&&h.current!==void 0&&t.key.length===1&&/[ -~]/g.test(t.key)&&t.bounds!==void 0&&Io(W([n-d,Math.max(0,Math.min(s,F-1))]))){if((!oe||s!==F)&&(c.y>s||s>c.y+c.height||c.x>n||n>c.x+c.width))return;Dt(t.bounds,!0,t.key),t.stopPropagation(),t.preventDefault()}},[Nt,Kt,Un,h,W,d,F,oe,Dt]),yl=i.useCallback((t,r)=>{const n=t.location[0]-d;if(t.kind==="header"&&(Ae==null||Ae(n,{...t,preventDefault:r})),t.kind===At){if(n<0)return;Ve==null||Ve(n,{...t,preventDefault:r})}if(t.kind==="cell"){const[s,c]=t.location;Se==null||Se([n,c],{...t,preventDefault:r}),Ql(h,t.location)||ut(s,c,!1,!1)}},[h,Se,Ve,Ae,d,ut]),sn=i.useCallback(async t=>{var a,f,v;if(!ct.paste)return;function r(m,y,L,x){var R,P;const D=typeof L=="object"?(L==null?void 0:L.join(` +`},Gi={headerRowID:ai,headerNumber:di,headerCode:ui,headerString:fi,headerBoolean:hi,headerAudioUri:vi,headerVideoUri:mi,headerEmoji:Ci,headerImage:wi,headerUri:ar,headerPhone:pi,headerMarkdown:bi,headerDate:yi,headerTime:xi,headerEmail:Mi,headerReference:Ri,headerIfThenElse:ki,headerSingleValue:Si,headerLookup:zi,headerTextTemplate:Ti,headerMath:Li,headerRollup:Hi,headerJoinStrings:Di,headerSplitString:Ei,headerGeoDistance:Ii,headerArray:$i,rowOwnerOverlay:Fi,protectedColumnOverlay:Ai,renameIcon:gi},Pi=gn("div")({name:"SearchWrapper",class:"slyseh9",propsAsIs:!1}),Oi=q("svg",{className:"button-icon",viewBox:"0 0 512 512",children:q("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M112 244l144-144 144 144M256 120v292"})}),Ki=q("svg",{className:"button-icon",viewBox:"0 0 512 512",children:q("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M112 268l144 144 144-144M256 392V100"})}),Ni=q("svg",{className:"button-icon",viewBox:"0 0 512 512",children:q("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",d:"M368 368L144 144M368 144L144 368"})}),Wi=10,Ui=e=>{const{canvasRef:o,cellYOffset:l,rows:u,columns:C,searchInputRef:M,searchValue:b,searchResults:T,onSearchValueChange:k,getCellsForSelection:w,onSearchResultsChanged:p,showSearch:S=!1,onSearchClose:z}=e,[N]=i.useState(()=>"search-box-"+Math.round(Math.random()*1e3)),[O,le]=i.useState(""),ce=b??O,V=i.useCallback($=>{le($),k==null||k($)},[k]),[I,W]=i.useState(),Ce=i.useRef(I);Ce.current=I,i.useEffect(()=>{T!==void 0&&(T.length>0?W($=>({rowsSearched:u,results:T.length,selectedIndex:($==null?void 0:$.selectedIndex)??-1})):W(void 0))},[u,T]);const se=i.useRef();se.current===void 0&&(se.current=new AbortController);const de=i.useRef(),[Y,ee]=i.useState([]),te=T??Y,_=i.useCallback(()=>{de.current!==void 0&&(window.cancelAnimationFrame(de.current),de.current=void 0,se.current.abort())},[]),qe=i.useRef(l);qe.current=l;const He=i.useCallback($=>{const ie=new RegExp($.replace(/([$()*+.?[\\\]^{|}-])/g,"\\$1"),"i");let ae=qe.current,Ge=Math.min(10,u),Ze=0;W(void 0),ee([]);const ft=[],no=async()=>{var he;if(w===void 0)return;const Kt=performance.now(),Ko=u-Ze;let ht=w({x:0,y:ae,width:C.length,height:Math.min(Ge,Ko,u-ae)},se.current.signal);typeof ht=="function"&&(ht=await ht());let Nt=!1;for(const[Ee,No]of ht.entries())for(const[Wo,Qe]of No.entries()){let Pe;switch(Qe.kind){case Q.Text:case Q.Number:Pe=Qe.displayData;break;case Q.Uri:case Q.Markdown:Pe=Qe.data;break;case Q.Boolean:Pe=typeof Qe.data=="boolean"?Qe.data.toString():void 0;break;case Q.Image:case Q.Bubble:Pe=Qe.data.join("🐳");break;case Q.Custom:Pe=Qe.copyData;break}Pe!==void 0&&ie.test(Pe)&&(ft.push([Wo,Ee+ae]),Nt=!0)}const gt=performance.now();Nt&&ee([...ft]),Ze+=ht.length,Go(Ze<=u);const nt=((he=Ce.current)==null?void 0:he.selectedIndex)??-1;W({results:ft.length,rowsSearched:Ze,selectedIndex:nt}),p==null||p(ft,nt),ae+Ge>=u?ae=0:ae+=Ge;const vt=gt-Kt,mt=Math.max(vt,1),Je=Wi/mt;Ge=Math.ceil(Ge*Je),Ze{var $;z==null||z(),W(void 0),ee([]),p==null||p([],-1),_(),($=o==null?void 0:o.current)==null||$.focus()},[_,o,z,p]),Pt=i.useCallback($=>{V($.target.value),T===void 0&&($.target.value===""?(W(void 0),ee([]),_()):He($.target.value))},[He,_,V,T]);i.useEffect(()=>{S&&M.current!==null&&(V(""),M.current.focus({preventScroll:!0}))},[S,M,V]);const De=i.useCallback($=>{var ae;if((ae=$==null?void 0:$.stopPropagation)==null||ae.call($),I===void 0)return;const ie=(I.selectedIndex+1)%I.results;W({...I,selectedIndex:ie}),p==null||p(te,ie)},[I,p,te]),Se=i.useCallback($=>{var ae;if((ae=$==null?void 0:$.stopPropagation)==null||ae.call($),I===void 0)return;let ie=(I.selectedIndex-1)%I.results;ie<0&&(ie+=I.results),W({...I,selectedIndex:ie}),p==null||p(te,ie)},[p,te,I]),Ot=i.useCallback($=>{($.ctrlKey||$.metaKey)&&$.nativeEvent.code==="KeyF"||$.key==="Escape"?(Be(),$.stopPropagation(),$.preventDefault()):$.key==="Enter"&&($.shiftKey?Se():De())},[Be,De,Se]);i.useEffect(()=>()=>{_()},[_]);const[Ae,oo]=i.useState(!1);i.useEffect(()=>{if(S)oo(!0);else{const $=setTimeout(()=>oo(!1),150);return()=>clearTimeout($)}},[S]);const Ve=i.useMemo(()=>{if(!S&&!Ae)return null;let $;I!==void 0&&($=I.results>=1e3?"over 1000":`${I.results} result${I.results!==1?"s":""}`,I.selectedIndex>=0&&($=`${I.selectedIndex+1} of ${$}`));const ie=Ze=>{Ze.stopPropagation()},Ge={width:`${Math.floor(((I==null?void 0:I.rowsSearched)??0)/u*100)}%`};return to(Pi,{className:S?"":"out",onMouseDown:ie,onMouseMove:ie,onMouseUp:ie,onClick:ie,children:[to("div",{className:"gdg-search-bar-inner",children:[q("input",{id:N,"aria-hidden":!S,"data-testid":"search-input",ref:M,onChange:Pt,value:ce,tabIndex:S?void 0:-1,onKeyDownCapture:Ot}),q("button",{"aria-label":"Previous Result","aria-hidden":!S,tabIndex:S?void 0:-1,onClick:Se,disabled:((I==null?void 0:I.results)??0)===0,children:Oi}),q("button",{"aria-label":"Next Result","aria-hidden":!S,tabIndex:S?void 0:-1,onClick:De,disabled:((I==null?void 0:I.results)??0)===0,children:Ki}),z!==void 0&&q("button",{"aria-label":"Close Search","aria-hidden":!S,"data-testid":"search-close-button",tabIndex:S?void 0:-1,onClick:Be,children:Ni})]}),I!==void 0?to(Zn,{children:[q("div",{className:"gdg-search-status",children:q("div",{"data-testid":"search-result-area",children:$})}),q("div",{className:"gdg-search-progress",style:Ge})]}):q("div",{className:"gdg-search-status",children:q("label",{htmlFor:N,children:"Type to search"})})]})},[S,Ae,I,u,N,M,Pt,ce,Ot,Se,De,z,Be]);return to(Zn,{children:[q(si,{prelightCells:te,accessibilityHeight:e.accessibilityHeight,canvasRef:e.canvasRef,cellXOffset:e.cellXOffset,cellYOffset:e.cellYOffset,className:e.className,clientSize:e.clientSize,columns:e.columns,disabledRows:e.disabledRows,enableGroups:e.enableGroups,fillHandle:e.fillHandle,firstColAccessible:e.firstColAccessible,nonGrowWidth:e.nonGrowWidth,fixedShadowX:e.fixedShadowX,fixedShadowY:e.fixedShadowY,freezeColumns:e.freezeColumns,getCellContent:e.getCellContent,getCellRenderer:e.getCellRenderer,getGroupDetails:e.getGroupDetails,getRowThemeOverride:e.getRowThemeOverride,groupHeaderHeight:e.groupHeaderHeight,headerHeight:e.headerHeight,highlightRegions:e.highlightRegions,imageWindowLoader:e.imageWindowLoader,initialSize:e.initialSize,isFilling:e.isFilling,isFocused:e.isFocused,lockColumns:e.lockColumns,maxColumnWidth:e.maxColumnWidth,minColumnWidth:e.minColumnWidth,onHeaderMenuClick:e.onHeaderMenuClick,onHeaderIndicatorClick:e.onHeaderIndicatorClick,onMouseMove:e.onMouseMove,onVisibleRegionChanged:e.onVisibleRegionChanged,overscrollX:e.overscrollX,overscrollY:e.overscrollY,preventDiagonalScrolling:e.preventDiagonalScrolling,rightElement:e.rightElement,rightElementProps:e.rightElementProps,rowHeight:e.rowHeight,rows:e.rows,scrollRef:e.scrollRef,selection:e.selection,theme:e.theme,freezeTrailingRows:e.freezeTrailingRows,hasAppendRow:e.hasAppendRow,translateX:e.translateX,translateY:e.translateY,verticalBorder:e.verticalBorder,onColumnProposeMove:e.onColumnProposeMove,drawFocusRing:e.drawFocusRing,drawCell:e.drawCell,drawHeader:e.drawHeader,experimental:e.experimental,gridRef:e.gridRef,headerIcons:e.headerIcons,isDraggable:e.isDraggable,onCanvasBlur:e.onCanvasBlur,onCanvasFocused:e.onCanvasFocused,onCellFocused:e.onCellFocused,onColumnMoved:e.onColumnMoved,onColumnResize:e.onColumnResize,onColumnResizeEnd:e.onColumnResizeEnd,onColumnResizeStart:e.onColumnResizeStart,onContextMenu:e.onContextMenu,onDragEnd:e.onDragEnd,onDragLeave:e.onDragLeave,onDragOverCell:e.onDragOverCell,onDragStart:e.onDragStart,onDrop:e.onDrop,onItemHovered:e.onItemHovered,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onRowMoved:e.onRowMoved,smoothScrollX:e.smoothScrollX,smoothScrollY:e.smoothScrollY,resizeIndicator:e.resizeIndicator}),Ve]})},Bi=Ui;class Vi extends i.PureComponent{constructor(){super(...arguments);un(this,"wrapperRef",i.createRef());un(this,"clickOutside",l=>{if(!(this.props.isOutsideClick&&!this.props.isOutsideClick(l))&&this.wrapperRef.current!==null&&!this.wrapperRef.current.contains(l.target)){let u=l.target;for(;u!==null;){if(u.classList.contains("click-outside-ignore"))return;u=u.parentElement}this.props.onClickOutside()}})}componentDidMount(){document.addEventListener("touchend",this.clickOutside,!0),document.addEventListener("mousedown",this.clickOutside,!0),document.addEventListener("contextmenu",this.clickOutside,!0)}componentWillUnmount(){document.removeEventListener("touchend",this.clickOutside,!0),document.removeEventListener("mousedown",this.clickOutside,!0),document.removeEventListener("contextmenu",this.clickOutside,!0)}render(){const{onClickOutside:l,isOutsideClick:u,...C}=this.props;return q("div",{...C,ref:this.wrapperRef,children:this.props.children})}}const _i=()=>e=>Math.max(16,e.targetHeight-10),Xi=gn("input")({name:"RenameInput",class:"r1fzhvm4",propsAsIs:!1,vars:{"r1fzhvm4-0":[_i(),"px"]}}),Yi=e=>{const{bounds:o,group:l,onClose:u,canvasBounds:C,onFinish:M}=e,[b,T]=Me.useState(l);return q(Vi,{style:{position:"absolute",left:o.x-C.left+1,top:o.y-C.top,width:o.width-2,height:o.height},className:"c181oggi",onClickOutside:u,children:q(Xi,{targetHeight:o.height,"data-testid":"group-rename-input",value:b,onBlur:u,onFocus:k=>k.target.setSelectionRange(0,b.length),onChange:k=>T(k.target.value),onKeyDown:k=>{k.key==="Enter"?M(b):k.key==="Escape"&&u()},autoFocus:!0})})},hn=150;function ji(e,o,l,u){var M;const C=u(o);return((M=C==null?void 0:C.measure)==null?void 0:M.call(C,e,o,l))??hn}function ur(e,o,l,u,C,M,b,T,k){let w=0;const p=C===void 0?[]:C.map(z=>{const N=ji(e,z[u],o,k);return w=Math.max(w,N),N});if(p.length>5&&T){w=0;let z=0;for(const O of p)z+=O;const N=z/p.length;for(let O=0;O=N*2?p[O]=0:w=Math.max(w,p[O])}w=Math.max(w,e.measureText(l.title).width+16+(l.icon===void 0?0:28));const S=Math.max(Math.ceil(M),Math.min(Math.floor(b),Math.ceil(w)));return{...l,width:S}}function qi(e,o,l,u,C,M,b,T,k){const w=i.useRef(o),p=i.useRef(l),S=i.useRef(b);w.current=o,p.current=l,S.current=b;const[z,N]=i.useMemo(()=>{if(typeof window>"u")return[null,null];const I=document.createElement("canvas");return I.style.display="none",I.style.opacity="0",I.style.position="fixed",[I,I.getContext("2d",{alpha:!1})]},[]);i.useLayoutEffect(()=>(z&&document.documentElement.append(z),()=>{z==null||z.remove()}),[z]);const O=i.useRef({}),le=i.useRef(),[ce,V]=i.useState();return i.useLayoutEffect(()=>{const I=p.current;if(I===void 0||e.every(Ho))return;let W=Math.max(1,10-Math.floor(e.length/1e4)),Ce=0;W1&&(W--,Ce=1);const se={x:0,y:0,width:e.length,height:Math.min(w.current,W)},de={x:0,y:w.current-1,width:e.length,height:1};(async()=>{const ee=I(se,k.signal),te=Ce>0?I(de,k.signal):void 0;let _;typeof ee=="object"?_=ee:_=await Jn(ee),te!==void 0&&(typeof te=="object"?_=[..._,...te]:_=[..._,...await Jn(te)]),le.current=e,V(_)})()},[k.signal,e]),i.useMemo(()=>{let W=e.every(Ho)?e:N===null?e.map(Y=>Ho(Y)?Y:{...Y,width:hn}):(N.font=S.current.baseFontFull,e.map((Y,ee)=>{if(Ho(Y))return Y;if(O.current[Y.id]!==void 0)return{...Y,width:O.current[Y.id]};if(ce===void 0||le.current!==e||Y.id===void 0)return{...Y,width:hn};const te=ur(N,b,Y,ee,ce,C,M,!0,T);return O.current[Y.id]=te.width,te})),Ce=0,se=0;const de=[];for(const[Y,ee]of W.entries())Ce+=ee.width,ee.grow!==void 0&&ee.grow>0&&(se+=ee.grow,de.push(Y));if(Ce0){const Y=[...W],ee=u-Ce;let te=ee;for(let _=0;_1&&e.startsWith("_")?Number.parseInt(e.slice(1))===o.keyCode:e.length===1&&e>="a"&&e<="z"?e.toUpperCase().codePointAt(0)===o.keyCode:e===o.key}function A(e,o,l){const u=dr(e,o);return u&&(l.didMatch=!0),u}function dr(e,o){if(e.length===0)return!1;if(e.includes("|")){const k=e.split("|");for(const w of k)if(dr(w,o))return!0;return!1}let l=!1,u=!1,C=!1,M=!1;const b=e.split("+"),T=b.pop();if(!Zi(T,o))return!1;if(b[0]==="any")return!0;for(const k of b)switch(k){case"ctrl":l=!0;break;case"shift":u=!0;break;case"alt":C=!0;break;case"meta":M=!0;break;case"primary":Po.value?M=!0:l=!0;break}return o.altKey===C&&o.ctrlKey===l&&o.shiftKey===u&&o.metaKey===M}function Ji(e,o,l,u,C,M){const b=Me.useCallback((w,p,S,z)=>{var I;(M==="cell"||M==="multi-cell")&&w!==void 0&&(w={...w,range:{x:w.cell[0],y:w.cell[1],width:1,height:1}});const N=l==="mixed"&&(S||z==="drag"),O=u==="mixed"&&N,le=C==="mixed"&&N;let ce={current:w===void 0?void 0:{...w,rangeStack:z==="drag"?((I=e.current)==null?void 0:I.rangeStack)??[]:[]},columns:O?e.columns:X.empty(),rows:le?e.rows:X.empty()};S&&(M==="multi-rect"||M==="multi-cell")&&ce.current!==void 0&&e.current!==void 0&&(ce={...ce,current:{...ce.current,rangeStack:[...e.current.rangeStack,e.current.range]}}),o(ce,p)},[u,e,l,M,C,o]),T=Me.useCallback((w,p,S)=>{w=w??e.rows,p!==void 0&&(w=w.add(p));let z;if(C==="exclusive"&&w.length>0)z={current:void 0,columns:X.empty(),rows:w};else{const N=S&&l==="mixed",O=S&&u==="mixed";z={current:N?e.current:void 0,columns:O?e.columns:X.empty(),rows:w}}o(z,!1)},[u,e,l,C,o]),k=Me.useCallback((w,p,S)=>{w=w??e.columns,p!==void 0&&(w=w.add(p));let z;if(u==="exclusive"&&w.length>0)z={current:void 0,rows:X.empty(),columns:w};else{const N=S&&l==="mixed",O=S&&C==="mixed";z={current:N?e.current:void 0,rows:O?e.rows:X.empty(),columns:w}}o(z,!1)},[u,e,l,C,o]);return[b,T,k]}function Qi(e,o,l,u,C){const M=i.useCallback(w=>{if(e===!0){const p=[];for(let S=w.y;S=C?z.push({kind:Q.Loading,allowOverlay:!1}):z.push(o([N,S]));p.push(z)}return p}return(e==null?void 0:e(w,u.signal))??[]},[u.signal,o,e,C]),b=e!==void 0?M:void 0,T=i.useCallback(w=>{if(b===void 0)return[];const p={...w,x:w.x-l};if(p.x<0){p.x=0,p.width--;const S=b(p,u.signal);return typeof S=="function"?async()=>(await S()).map(z=>[{kind:Q.Loading,allowOverlay:!1},...z]):S.map(z=>[{kind:Q.Loading,allowOverlay:!1},...z])}return b(p,u.signal)},[u.signal,b,l]);return[e!==void 0?T:void 0,b]}function ir(e){return typeof e=="string"?e:`${e}px`}const ec=()=>e=>e.innerWidth,tc=()=>e=>e.innerHeight,oc=gn("div")({name:"Wrapper",class:"w2q57ts",propsAsIs:!1,vars:{"w2q57ts-0":[ec()],"w2q57ts-1":[tc()]}}),nc=e=>{const{inWidth:o,inHeight:l,children:u,...C}=e;return q(oc,{innerHeight:ir(l),innerWidth:ir(o),...C,children:u})},rc=2,lc=1300;function ic(e,o,l){const u=Me.useRef(0),[C,M]=e??[0,0];Me.useEffect(()=>{if(C===0&&M===0){u.current=0;return}let b=!1,T=0;const k=w=>{var p;if(!b){if(T===0)T=w;else{const S=w-T;u.current=Math.min(1,u.current+S/lc);const z=u.current**1.618*S*rc;(p=o.current)==null||p.scrollBy(C*z,M*z),T=w,l==null||l()}window.requestAnimationFrame(k)}};return window.requestAnimationFrame(k),()=>{b=!0}},[o,C,M,l])}function cc({rowHeight:e,headerHeight:o,groupHeaderHeight:l,theme:u,overscrollX:C,overscrollY:M,scaleToRem:b,remSize:T}){const[k,w,p,S,z,N]=Me.useMemo(()=>{if(!b||T===16)return[e,o,l,u,C,M];const O=T/16,le=e,ce=sr();return[typeof le=="number"?le*O:V=>Math.ceil(le(V)*O),Math.ceil(o*O),Math.ceil(l*O),{...u,headerIconSize:((u==null?void 0:u.headerIconSize)??ce.headerIconSize)*O,cellHorizontalPadding:((u==null?void 0:u.cellHorizontalPadding)??ce.cellHorizontalPadding)*O,cellVerticalPadding:((u==null?void 0:u.cellVerticalPadding)??ce.cellVerticalPadding)*O},Math.ceil((C??0)*O),Math.ceil((M??0)*O)]},[l,o,C,M,T,e,b,u]);return{rowHeight:k,headerHeight:w,groupHeaderHeight:p,theme:S,overscrollX:z,overscrollY:N}}const dt={downFill:!1,rightFill:!1,clear:!0,closeOverlay:!0,acceptOverlayDown:!0,acceptOverlayUp:!0,acceptOverlayLeft:!0,acceptOverlayRight:!0,copy:!0,paste:!0,cut:!0,search:!1,delete:!0,activateCell:!0,scrollToSelectedCell:!0,goToFirstCell:!0,goToFirstColumn:!0,goToFirstRow:!0,goToLastCell:!0,goToLastColumn:!0,goToLastRow:!0,goToNextPage:!0,goToPreviousPage:!0,selectToFirstCell:!0,selectToFirstColumn:!0,selectToFirstRow:!0,selectToLastCell:!0,selectToLastColumn:!0,selectToLastRow:!0,selectAll:!0,selectRow:!0,selectColumn:!0,goUpCell:!0,goRightCell:!0,goDownCell:!0,goLeftCell:!0,goUpCellRetainSelection:!0,goRightCellRetainSelection:!0,goDownCellRetainSelection:!0,goLeftCellRetainSelection:!0,selectGrowUp:!0,selectGrowRight:!0,selectGrowDown:!0,selectGrowLeft:!0};function G(e,o){return e===!0?o:e===!1?"":e}function cr(e){const o=Po.value;return{activateCell:G(e.activateCell," |Enter|shift+Enter"),clear:G(e.clear,"any+Escape"),closeOverlay:G(e.closeOverlay,"any+Escape"),acceptOverlayDown:G(e.acceptOverlayDown,"Enter"),acceptOverlayUp:G(e.acceptOverlayUp,"shift+Enter"),acceptOverlayLeft:G(e.acceptOverlayLeft,"shift+Tab"),acceptOverlayRight:G(e.acceptOverlayRight,"Tab"),copy:e.copy,cut:e.cut,delete:G(e.delete,o?"Backspace|Delete":"Delete"),downFill:G(e.downFill,"primary+_68"),scrollToSelectedCell:G(e.scrollToSelectedCell,"primary+Enter"),goDownCell:G(e.goDownCell,"ArrowDown"),goDownCellRetainSelection:G(e.goDownCellRetainSelection,"alt+ArrowDown"),goLeftCell:G(e.goLeftCell,"ArrowLeft|shift+Tab"),goLeftCellRetainSelection:G(e.goLeftCellRetainSelection,"alt+ArrowLeft"),goRightCell:G(e.goRightCell,"ArrowRight|Tab"),goRightCellRetainSelection:G(e.goRightCellRetainSelection,"alt+ArrowRight"),goUpCell:G(e.goUpCell,"ArrowUp"),goUpCellRetainSelection:G(e.goUpCellRetainSelection,"alt+ArrowUp"),goToFirstCell:G(e.goToFirstCell,"primary+Home"),goToFirstColumn:G(e.goToFirstColumn,"Home|primary+ArrowLeft"),goToFirstRow:G(e.goToFirstRow,"primary+ArrowUp"),goToLastCell:G(e.goToLastCell,"primary+End"),goToLastColumn:G(e.goToLastColumn,"End|primary+ArrowRight"),goToLastRow:G(e.goToLastRow,"primary+ArrowDown"),goToNextPage:G(e.goToNextPage,"PageDown"),goToPreviousPage:G(e.goToPreviousPage,"PageUp"),paste:e.paste,rightFill:G(e.rightFill,"primary+_82"),search:G(e.search,"primary+f"),selectAll:G(e.selectAll,"primary+a"),selectColumn:G(e.selectColumn,"ctrl+ "),selectGrowDown:G(e.selectGrowDown,"shift+ArrowDown"),selectGrowLeft:G(e.selectGrowLeft,"shift+ArrowLeft"),selectGrowRight:G(e.selectGrowRight,"shift+ArrowRight"),selectGrowUp:G(e.selectGrowUp,"shift+ArrowUp"),selectRow:G(e.selectRow,"shift+ "),selectToFirstCell:G(e.selectToFirstCell,"primary+shift+Home"),selectToFirstColumn:G(e.selectToFirstColumn,"primary+shift+ArrowLeft"),selectToFirstRow:G(e.selectToFirstRow,"primary+shift+ArrowUp"),selectToLastCell:G(e.selectToLastCell,"primary+shift+End"),selectToLastColumn:G(e.selectToLastColumn,"primary+shift+ArrowRight"),selectToLastRow:G(e.selectToLastRow,"primary+shift+ArrowDown")}}function sc(e){const o=Ol(e);return Me.useMemo(()=>{if(o===void 0)return cr(dt);const l={...o,goToNextPage:(o==null?void 0:o.goToNextPage)??(o==null?void 0:o.pageDown)??dt.goToNextPage,goToPreviousPage:(o==null?void 0:o.goToPreviousPage)??(o==null?void 0:o.pageUp)??dt.goToPreviousPage,goToFirstCell:(o==null?void 0:o.goToFirstCell)??(o==null?void 0:o.first)??dt.goToFirstCell,goToLastCell:(o==null?void 0:o.goToLastCell)??(o==null?void 0:o.last)??dt.goToLastCell,selectToFirstCell:(o==null?void 0:o.selectToFirstCell)??(o==null?void 0:o.first)??dt.selectToFirstCell,selectToLastCell:(o==null?void 0:o.selectToLastCell)??(o==null?void 0:o.last)??dt.selectToLastCell};return cr({...dt,...l})},[o])}function ac(e){function o(u,C,M){if(typeof u=="number")return{headerIndex:u,isCollapsed:!1,depth:C,path:M};const b={headerIndex:u.headerIndex,isCollapsed:u.isCollapsed,depth:C,path:M};return u.subGroups!==void 0&&(b.subGroups=u.subGroups.map((T,k)=>o(T,C+1,[...M,k])).sort((T,k)=>T.headerIndex-k.headerIndex)),b}return e.map((u,C)=>o(u,0,[C])).sort((u,C)=>u.headerIndex-C.headerIndex)}function vn(e,o){const l=[];function u(b,T,k=!1){let w=T!==null?T-b.headerIndex:o-b.headerIndex;if(b.subGroups!==void 0&&(w=b.subGroups[0].headerIndex-b.headerIndex),w--,l.push({headerIndex:b.headerIndex,contentIndex:-1,skip:k,isCollapsed:b.isCollapsed,depth:b.depth,path:b.path,rows:w}),b.subGroups)for(let p=0;pb.skip===!1).map(b=>{const{skip:T,...k}=b;return k})}function Oo(e,o){if(o===void 0||vn.length===0)return{path:[e],originalIndex:e,isGroupHeader:!1,groupIndex:e,contentIndex:e,groupRows:-1};let l=e;for(const u of o){if(l===0)return{path:[...u.path,-1],originalIndex:u.headerIndex,isGroupHeader:!0,groupIndex:-1,contentIndex:-1,groupRows:u.rows};if(l--,!u.isCollapsed){if(le===void 0?void 0:vn(e,o),[e,o]),M=Me.useMemo(()=>C===void 0?o:C.reduce((w,p)=>w+(p.isCollapsed?1:p.rows+1),0),[C,o]),b=Me.useMemo(()=>e===void 0||typeof l=="number"&&e.height===l?l:w=>{const{isGroupHeader:p}=Oo(w,C);return p?e.height:typeof l=="number"?l:l(w)},[C,e,l]),T=Me.useCallback(w=>{if(C===void 0)return w;let p=w;for(const S of C){if(p===0)return;if(p--,!S.isCollapsed){if(p{if(e===void 0)return u==null?void 0:u(w,w,w);if(u===void 0&&(e==null?void 0:e.themeOverride)===void 0)return;const{isGroupHeader:p,contentIndex:S,groupIndex:z}=Oo(w,C);return p?e.themeOverride:u==null?void 0:u(w,z,S)},[C,u,e]));return e===void 0?{rowHeight:b,rows:o,rowNumberMapper:T,getRowThemeOverride:k}:{rowHeight:b,rows:M,rowNumberMapper:T,getRowThemeOverride:k}}function dc(e,o){const l=Me.useMemo(()=>e===void 0?void 0:vn(e,o),[e,o]);return{getRowGroupingForPath:hr,updateRowGroupingByPath:fr,mapper:Me.useCallback(u=>{if(typeof u=="number")return Oo(u,l);const C=Oo(u[1],l);return{...C,originalIndex:[u[0],C.originalIndex]}},[l])}}function fr(e,o,l){const[u,...C]=o;return C[0]===-1?e.map((M,b)=>b===u?{...M,...l}:M):e.map((M,b)=>b===u?{...M,subGroups:fr(M.subGroups??[],C,l)}:M)}function hr(e,o){const[l,...u]=o;return u[0]===-1?e[l]:hr(e[l].subGroups??[],u)}function fc(e,o){const[l]=i.useState(()=>({value:e,callback:o,facade:{get current(){return l.value},set current(u){const C=l.value;C!==u&&(l.value=u,l.callback(u,C))}}}));return l.callback=o,l.facade}function hc(e,o,l,u,C){const[M,b]=i.useMemo(()=>[o!==void 0&&typeof l=="number"?Math.floor(o/l):0,o!==void 0&&typeof l=="number"?-(o%l):0],[o,l]),T=i.useMemo(()=>({x:u.current.x,y:M,width:u.current.width??1,height:u.current.height??1,ty:b}),[u,b,M]),[k,w,p]=Kl(T),S=i.useRef(C);S.current=C;const z=fc(null,le=>{le!==null&&o!==void 0?le.scrollTop=o:le!==null&&e!==void 0&&(le.scrollLeft=e)}),N=(k.height??1)>1;i.useLayoutEffect(()=>{if(o!==void 0&&z.current!==null&&N){if(z.current.scrollTop===o)return;z.current.scrollTop=o,z.current.scrollTop!==o&&p(),S.current()}},[o,N,p,z]);const O=(k.width??1)>1;return i.useLayoutEffect(()=>{if(e!==void 0&&z.current!==null&&O){if(z.current.scrollLeft===e)return;z.current.scrollLeft=e,z.current.scrollLeft!==e&&p(),S.current()}},[e,O,p,z]),{visibleRegion:k,setVisibleRegion:w,scrollRef:z}}const gc=i.lazy(async()=>await Pl(()=>import("./data-grid-overlay-editor-kiC5KI5i.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]),import.meta.url));let vc=0;function mc(e){return ci(lr(lr(e).filter(o=>o.span!==void 0).map(o=>{var l,u;return Gt((((l=o.span)==null?void 0:l[0])??0)+1,(((u=o.span)==null?void 0:u[1])??0)+1)})))}function $o(e,o){return e===void 0||o===0||e.columns.length===0&&e.current===void 0?e:{current:e.current===void 0?void 0:{cell:[e.current.cell[0]+o,e.current.cell[1]],range:{...e.current.range,x:e.current.range.x+o},rangeStack:e.current.rangeStack.map(l=>({...l,x:l.x+o}))},rows:e.rows,columns:e.columns.offset(o)}}const Fo={kind:Q.Loading,allowOverlay:!1},Ao={columns:X.empty(),rows:X.empty(),current:void 0},Cc=(e,o)=>{var Yn,jn,qn;const[l,u]=i.useState(Ao),[C,M]=i.useState(),b=i.useRef(null),T=i.useRef(null),[k,w]=i.useState(),p=i.useRef(),S=typeof window>"u"?null:window,{imageEditorOverride:z,getRowThemeOverride:N,markdownDivCreateNode:O,width:le,height:ce,columns:V,rows:I,getCellContent:W,onCellClicked:Ce,onCellActivated:se,onFillPattern:de,onFinishedEditing:Y,coercePasteValue:ee,drawHeader:te,drawCell:_,editorBloom:qe,onHeaderClicked:He,onColumnProposeMove:Be,spanRangeBehavior:Pt="default",onGroupHeaderClicked:De,onCellContextMenu:Se,className:Ot,onHeaderContextMenu:Ae,getCellsForSelection:oo,onGroupHeaderContextMenu:Ve,onGroupHeaderRenamed:$,onCellEdited:ie,onCellsEdited:ae,onSearchResultsChanged:Ge,searchResults:Ze,onSearchValueChange:ft,searchValue:no,onKeyDown:Kt,onKeyUp:Ko,keybindings:ht,editOnType:Nt=!0,onRowAppended:gt,onColumnMoved:nt,validateCell:vt,highlightRegions:mt,rangeSelect:Je="rect",columnSelect:he="multi",rowSelect:Ee="multi",rangeSelectionBlending:No="exclusive",columnSelectionBlending:Wo="exclusive",rowSelectionBlending:Qe="exclusive",onDelete:Pe,onDragStart:ro,onMouseMove:lo,onPaste:Ct,copyHeaders:mn=!1,freezeColumns:et=0,cellActivationBehavior:Uo="second-click",rowSelectionMode:Bo="auto",onHeaderMenuClick:io,onHeaderIndicatorClick:co,getGroupDetails:so,rowGrouping:rt,onSearchClose:Vo,onItemHovered:ao,onSelectionCleared:lt,showSearch:gr,onVisibleRegionChanged:uo,gridSelection:wt,onGridSelectionChange:_o,minColumnWidth:vr=50,maxColumnWidth:mr=500,maxColumnAutoWidth:Cr,provideEditor:wr,trailingRowOptions:U,freezeTrailingRows:tt=0,allowedFillDirections:Cn="orthogonal",scrollOffsetX:pr,scrollOffsetY:br,verticalBorder:St,onDragOverCell:yr,onDrop:xr,onColumnResize:Wt,onColumnResizeEnd:Ut,onColumnResizeStart:Bt,customRenderers:fo,fillHandle:Mr,drawFocusRing:wn=!0,experimental:ge,fixedShadowX:Rr,fixedShadowY:kr,headerIcons:Sr,imageWindowLoader:zr,initialSize:Tr,isDraggable:Lr,onDragLeave:Hr,onRowMoved:Vt,overscrollX:Dr,overscrollY:Er,preventDiagonalScrolling:Ir,rightElement:$r,rightElementProps:Fr,trapFocus:pn=!1,smoothScrollX:Ar,smoothScrollY:Gr,scaleToRem:Pr=!1,rowHeight:Or=34,headerHeight:bn=36,groupHeaderHeight:Kr=bn,theme:Nr,isOutsideClick:Wr,renderers:Xo,resizeIndicator:Ur,scrollToActiveCell:yn=!0}=e,we=typeof e.rowMarkers=="string"?void 0:e.rowMarkers,Oe=(we==null?void 0:we.kind)??e.rowMarkers??"none",Br=(we==null?void 0:we.width)??e.rowMarkerWidth,xn=(we==null?void 0:we.startIndex)??e.rowMarkerStartIndex??1,Mn=(we==null?void 0:we.theme)??e.rowMarkerTheme,ho=(we==null?void 0:we.checkboxStyle)??"square",zt=Math.max(vr,20),go=Math.max(mr,zt),Vr=Math.max(Cr??go,zt),Rn=i.useMemo(()=>typeof window>"u"?{fontSize:"16px"}:window.getComputedStyle(document.documentElement),[]),{rows:F,rowNumberMapper:kn,rowHeight:_r,getRowThemeOverride:ot}=uc(rt,I,Or,N),Xr=i.useMemo(()=>Number.parseFloat(Rn.fontSize),[Rn]),{rowHeight:it,headerHeight:Yo,groupHeaderHeight:Sn,theme:zn,overscrollX:Yr,overscrollY:jr}=cc({groupHeaderHeight:Kr,headerHeight:bn,overscrollX:Dr,overscrollY:Er,remSize:Xr,rowHeight:_r,scaleToRem:Pr,theme:Nr}),ct=sc(ht),Tt=Br??(I>1e4?48:I>1e3?44:I>100?36:32),_e=Oe!=="none",d=_e?1:0,oe=gt!==void 0,_t=(U==null?void 0:U.sticky)===!0,[qr,Tn]=i.useState(!1),Zr=gr??qr,Jr=i.useCallback(()=>{Vo!==void 0?Vo():Tn(!1)},[Vo]),h=i.useMemo(()=>wt===void 0?void 0:$o(wt,d),[wt,d])??l,Re=i.useRef();Re.current===void 0&&(Re.current=new AbortController),i.useEffect(()=>()=>Re==null?void 0:Re.current.abort(),[]);const[fe,Qr]=Qi(oo,W,d,Re.current,F),el=i.useCallback((t,r,n)=>{if(vt===void 0)return!0;const s=[t[0]-d,t[1]];return vt==null?void 0:vt(s,r,n)},[d,vt]),vo=i.useRef(wt),Ie=i.useCallback((t,r)=>{r&&(t=Nl(t,fe,d,Pt,Re.current)),_o!==void 0?(vo.current=$o(t,-d),_o(vo.current)):u(t)},[_o,fe,d,Pt]),Lt=kt(Wt,i.useCallback((t,r,n,s)=>{Wt==null||Wt(V[n-d],r,n-d,s)},[Wt,d,V])),tl=kt(Ut,i.useCallback((t,r,n,s)=>{Ut==null||Ut(V[n-d],r,n-d,s)},[Ut,d,V])),ol=kt(Bt,i.useCallback((t,r,n,s)=>{Bt==null||Bt(V[n-d],r,n-d,s)},[Bt,d,V])),nl=kt(te,i.useCallback((t,r)=>(te==null?void 0:te({...t,columnIndex:t.columnIndex-d},r))??!1,[te,d])),rl=kt(_,i.useCallback((t,r)=>(_==null?void 0:_({...t,col:t.col-d},r))??!1,[_,d])),st=i.useCallback(t=>{if(Pe!==void 0){const r=Pe($o(t,-d));return typeof r=="boolean"?r:$o(r,d)}return!0},[Pe,d]),[pe,be,ue]=Ji(h,Ie,No,Wo,Qe,Je),ve=i.useMemo(()=>dn(sr(),zn),[zn]),[jo,ll]=i.useState([0,0,0]),Ln=i.useMemo(()=>{if(Xo===void 0)return{};const t={};for(const r of Xo)t[r.kind]=r;return t},[Xo]),ye=i.useCallback(t=>t.kind!==Q.Custom?Ln[t.kind]:fo==null?void 0:fo.find(r=>r.isMatch(t)),[fo,Ln]);let{sizedColumns:ze,nonGrowWidth:Hn}=qi(V,F,Qr,jo[0]-(d===0?0:Tt)-jo[2],zt,Vr,ve,ye,Re.current);Oe!=="none"&&(Hn+=Tt);const qo=i.useMemo(()=>ze.some(t=>t.group!==void 0),[ze]),Xt=qo?Yo+Sn:Yo,Dn=h.rows.length,En=Oe==="none"?void 0:Dn===0?!1:Dn===F?!0:void 0,B=i.useMemo(()=>Oe==="none"?ze:[{title:"",width:Tt,icon:void 0,hasMenu:!1,style:"normal",themeOverride:Mn,rowMarker:ho,rowMarkerChecked:En},...ze],[Oe,ze,Tt,Mn,ho,En]),Te=i.useRef({height:1,width:1,x:0,y:0}),mo=i.useRef(!1),{setVisibleRegion:In,visibleRegion:pt,scrollRef:j}=hc(pr,br,it,Te,()=>mo.current=!0);Te.current=pt;const il=pt.x+d,Co=pt.y,ke=i.useRef(null),xe=i.useCallback(t=>{var r;t===!0?(r=ke.current)==null||r.focus():window.requestAnimationFrame(()=>{var n;(n=ke.current)==null||n.focus()})},[]),me=oe?F+1:F,$e=i.useCallback(t=>{const r=d===0?t:t.map(s=>({...s,location:[s.location[0]-d,s.location[1]]})),n=ae==null?void 0:ae(r);if(n!==!0)for(const s of r)ie==null||ie(s.location,s.value);return n},[ie,ae,d]),[bt,Zo]=i.useState(),wo=h.current!==void 0&&h.current.range.width*h.current.range.height>1?h.current.range:void 0,Ht=wn?(Yn=h.current)==null?void 0:Yn.cell:void 0,po=Ht==null?void 0:Ht[0],bo=Ht==null?void 0:Ht[1],cl=i.useMemo(()=>{if((mt===void 0||mt.length===0)&&(wo??po??bo??bt)===void 0)return;const t=[];if(mt!==void 0)for(const r of mt){const n=B.length-r.range.x-d;n>0&&t.push({color:r.color,range:{...r.range,x:r.range.x+d,width:Math.min(n,r.range.width)},style:r.style})}return bt!==void 0&&t.push({color:Qn(ve.accentColor,0),range:bt,style:"dashed"}),wo!==void 0&&t.push({color:Qn(ve.accentColor,.5),range:wo,style:"solid-outline"}),po!==void 0&&bo!==void 0&&t.push({color:ve.accentColor,range:{x:po,y:bo,width:1,height:1},style:"solid-outline"}),t.length>0?t:void 0},[bt,wo,po,bo,mt,B.length,ve.accentColor,d]),$n=i.useRef(B);$n.current=B;const Le=i.useCallback(([t,r],n=!1)=>{var g,a,f,v,m,y,L;const s=oe&&r===me-1;if(t===0&&_e){if(s)return Fo;const x=kn(r);return x===void 0?Fo:{kind:Do.Marker,allowOverlay:!1,checkboxStyle:ho,checked:(h==null?void 0:h.rows.hasIndex(r))===!0,markerKind:Oe==="clickable-number"?"number":Oe,row:xn+x,drawHandle:Vt!==void 0,cursor:Oe==="clickable-number"?"pointer":void 0}}else if(s){const D=t===d?(U==null?void 0:U.hint)??"":"",R=$n.current[t];if(((g=R==null?void 0:R.trailingRowOptions)==null?void 0:g.disabled)===!0)return Fo;{const P=((a=R==null?void 0:R.trailingRowOptions)==null?void 0:a.hint)??D,E=((f=R==null?void 0:R.trailingRowOptions)==null?void 0:f.addIcon)??(U==null?void 0:U.addIcon);return{kind:Do.NewRow,hint:P,allowOverlay:!1,icon:E}}}else{const x=t-d;if(n||(ge==null?void 0:ge.strict)===!0){const R=Te.current,P=R.x>x||x>R.x+R.width||R.y>r||r>R.y+R.height||r>=Qo.current,E=x===((m=(v=R.extras)==null?void 0:v.selected)==null?void 0:m[0])&&r===((y=R.extras)==null?void 0:y.selected[1]);let H=!1;if(((L=R.extras)==null?void 0:L.freezeRegions)!==void 0){for(const K of R.extras.freezeRegions)if(Wl(K,x,r)){H=!0;break}}if(P&&!E&&!H)return Fo}let D=W([x,r]);return d!==0&&D.span!==void 0&&(D={...D,span:[D.span[0]+d,D.span[1]+d]}),D}},[oe,me,_e,kn,ho,h==null?void 0:h.rows,Oe,xn,Vt,d,U==null?void 0:U.hint,U==null?void 0:U.addIcon,ge==null?void 0:ge.strict,W]),Jo=i.useCallback(t=>{let r=(so==null?void 0:so(t))??{name:t};return $!==void 0&&t!==""&&(r={icon:r.icon,name:r.name,overrideTheme:r.overrideTheme,actions:[...r.actions??[],{title:"Rename",icon:"renameIcon",onClick:n=>tn({group:r.name,bounds:n.bounds})}]}),r},[so,$]),yo=i.useCallback(t=>{var f;const[r,n]=t.cell,s=B[r],c=(s==null?void 0:s.group)!==void 0?(f=Jo(s.group))==null?void 0:f.overrideTheme:void 0,g=s==null?void 0:s.themeOverride,a=ot==null?void 0:ot(n);M({...t,theme:dn(ve,c,g,a,t.content.themeOverride)})},[ot,B,Jo,ve]),Dt=i.useCallback((t,r,n)=>{var a;if(h.current===void 0)return;const[s,c]=h.current.cell,g=Le([s,c]);if(g.kind!==Q.Boolean&&g.allowOverlay){let f=g;if(n!==void 0)switch(f.kind){case Q.Number:{const v=Ul(()=>n==="-"?-0:Number.parseFloat(n),0);f={...f,data:Number.isNaN(v)?0:v};break}case Q.Text:case Q.Markdown:case Q.Uri:f={...f,data:n};break}yo({target:t,content:f,initialValue:n,cell:[s,c],highlight:n===void 0,forceEditMode:n!==void 0})}else g.kind===Q.Boolean&&r&&g.readonly!==!0&&($e([{location:h.current.cell,value:{...g,data:Bl(g.data)}}]),(a=ke.current)==null||a.damage([{cell:h.current.cell}]))},[Le,h,$e,yo]),Fn=i.useCallback((t,r)=>{var c;const n=(c=ke.current)==null?void 0:c.getBounds(t,r);if(n===void 0||j.current===null)return;const s=Le([t,r]);s.allowOverlay&&yo({target:n,content:s,initialValue:void 0,highlight:!0,cell:[t,r],forceEditMode:!0})},[Le,j,yo]),ne=i.useCallback((t,r,n="both",s=0,c=0,g=void 0)=>{if(j.current!==null){const a=ke.current,f=T.current,v=typeof t!="number"?t.unit==="cell"?t.amount:void 0:t,m=typeof r!="number"?r.unit==="cell"?r.amount:void 0:r,y=typeof t!="number"&&t.unit==="px"?t.amount:void 0,L=typeof r!="number"&&r.unit==="px"?r.amount:void 0;if(a!==null&&f!==null){let x={x:0,y:0,width:0,height:0},D=0,R=0;if((v!==void 0||m!==void 0)&&(x=a.getBounds((v??0)+d,m??0)??x,x.width===0||x.height===0))return;const P=f.getBoundingClientRect(),E=P.width/f.offsetWidth;if(y!==void 0&&(x={...x,x:y-P.left-j.current.scrollLeft,width:1}),L!==void 0&&(x={...x,y:L+P.top-j.current.scrollTop,height:1}),x!==void 0){const H={x:x.x-s,y:x.y-c,width:x.width+2*s,height:x.height+2*c};let K=0;for(let an=0;an0&&(J=Vl(me,re,it));let We=K*E+P.left+d*Tt*E,Ye=P.right,Ue=P.top+Xt*E,je=P.bottom-J*E;const To=x.width+s*2;switch(g==null?void 0:g.hAlign){case"start":Ye=We+To;break;case"end":We=Ye-To;break;case"center":We=Math.floor((We+Ye)/2)-To/2,Ye=We+To;break}const Lo=x.height+c*2;switch(g==null?void 0:g.vAlign){case"start":je=Ue+Lo;break;case"end":Ue=je-Lo;break;case"center":Ue=Math.floor((Ue+je)/2)-Lo/2,je=Ue+Lo;break}We>H.x?D=H.x-We:YeH.y?R=H.y-Ue:je=me-re)&&(R=0),(D!==0||R!==0)&&(E!==1&&(D/=E,R/=E),j.current.scrollTo(D+j.current.scrollLeft,R+j.current.scrollTop))}}}},[d,tt,Tt,j,Xt,et,ze,me,_t,it]),An=i.useRef(Fn),Gn=i.useRef(W),Qo=i.useRef(F);An.current=Fn,Gn.current=W,Qo.current=F;const Et=i.useCallback(async(t,r=!0)=>{var v;const n=B[t];if(((v=n==null?void 0:n.trailingRowOptions)==null?void 0:v.disabled)===!0)return;const s=gt==null?void 0:gt();let c,g=!0;s!==void 0&&(c=await s,c==="top"&&(g=!1),typeof c=="number"&&(g=!1));let a=0;const f=()=>{if(Qo.current<=F){a<500&&window.setTimeout(f,a),a=50+a*2;return}const m=typeof c=="number"?c:g?F:0;zo.current(t-d,m),pe({cell:[t,m],range:{x:t,y:m,width:1,height:1}},!1,!1,"edit");const y=Gn.current([t-d,m]);y.allowOverlay&&Io(y)&&y.readonly!==!0&&r&&window.setTimeout(()=>{An.current(t,m)},0)};f()},[B,gt,d,F,pe]),xo=i.useCallback(t=>{var n,s;const r=((s=(n=ze[t])==null?void 0:n.trailingRowOptions)==null?void 0:s.targetColumn)??(U==null?void 0:U.targetColumn);if(typeof r=="number")return r+(_e?1:0);if(typeof r=="object"){const c=V.indexOf(r);if(c>=0)return c+(_e?1:0)}},[ze,V,_e,U==null?void 0:U.targetColumn]),at=i.useRef(),It=i.useRef(),Yt=i.useCallback((t,r)=>{var c;const[n,s]=r;return dn(ve,(c=B[n])==null?void 0:c.themeOverride,ot==null?void 0:ot(s),t.themeOverride)},[ot,B,ve]),{mapper:yt}=dc(rt,I),Ke=rt==null?void 0:rt.navigationBehavior,jt=i.useCallback(t=>{var y,L,x;const r=Po.value?t.metaKey:t.ctrlKey,n=r&&Ee==="multi",s=r&&he==="multi",[c,g]=t.location,a=h.columns,f=h.rows,[v,m]=((y=h.current)==null?void 0:y.cell)??[];if(t.kind==="cell"){if(It.current=void 0,xt.current=[c,g],c===0&&_e){if(oe===!0&&g===F||Oe==="number"||Ee==="none")return;const D=Le(t.location);if(D.kind!==Do.Marker)return;if(Vt!==void 0){const E=ye(D);Go((E==null?void 0:E.kind)===Do.Marker);const H=(L=E==null?void 0:E.onClick)==null?void 0:L.call(E,{...t,cell:D,posX:t.localEventX,posY:t.localEventY,bounds:t.bounds,theme:Yt(D,t.location),preventDefault:()=>{}});if(H===void 0||H.checked===D.checked)return}M(void 0),xe();const R=f.hasIndex(g),P=at.current;if(Ee==="multi"&&(t.shiftKey||t.isLongTouch===!0)&&P!==void 0&&f.hasIndex(P)){const E=[Math.min(P,g),Math.max(P,g)+1];n||Bo==="multi"?be(void 0,E,!0):be(X.fromSingleSelection(E),void 0,n)}else n||t.isTouch||Bo==="multi"?R?be(f.remove(g),void 0,!0):(be(void 0,g,!0),at.current=g):R&&f.length===1?be(X.empty(),void 0,r):(be(X.fromSingleSelection(g),void 0,r),at.current=g)}else if(c>=d&&oe&&g===F){const D=xo(c);Et(D??c)}else if(v!==c||m!==g){const D=Le(t.location),R=ye(D);if((R==null?void 0:R.onSelect)!==void 0){let H=!1;if(R.onSelect({...t,cell:D,posX:t.localEventX,posY:t.localEventY,bounds:t.bounds,preventDefault:()=>H=!0,theme:Yt(D,t.location)}),H)return}if(Ke==="block"&&yt(g).isGroupHeader)return;const P=_t&&g===F,E=_t&&h!==void 0&&((x=h.current)==null?void 0:x.cell[1])===F;if((t.shiftKey||t.isLongTouch===!0)&&v!==void 0&&m!==void 0&&h.current!==void 0&&!E){if(P)return;const H=Math.min(c,v),K=Math.max(c,v),J=Math.min(g,m),re=Math.max(g,m);pe({...h.current,range:{x:H,y:J,width:K-H+1,height:re-J+1}},!0,r,"click"),at.current=void 0,xe()}else pe({cell:[c,g],range:{x:c,y:g,width:1,height:1}},!0,r,"click"),at.current=void 0,M(void 0),xe()}}else if(t.kind==="header")if(xt.current=[c,g],M(void 0),_e&&c===0)at.current=void 0,It.current=void 0,Ee==="multi"&&(f.length!==F?be(X.fromSingleSelection([0,F]),void 0,r):be(X.empty(),void 0,r),xe());else{const D=It.current;if(he==="multi"&&(t.shiftKey||t.isLongTouch===!0)&&D!==void 0&&a.hasIndex(D)){const R=[Math.min(D,c),Math.max(D,c)+1];s?ue(void 0,R,r):ue(X.fromSingleSelection(R),void 0,r)}else s?(a.hasIndex(c)?ue(a.remove(c),void 0,r):ue(void 0,c,r),It.current=c):he!=="none"&&(ue(X.fromSingleSelection(c),void 0,r),It.current=c);at.current=void 0,xe()}else t.kind===At?xt.current=[c,g]:t.kind===er&&!t.isMaybeScrollbar&&(Ie(Ao,!1),M(void 0),xe(),lt==null||lt(),at.current=void 0,It.current=void 0)},[Ee,he,h,_e,d,oe,F,Oe,Le,Vt,xe,Bo,ye,Yt,be,xo,Et,Ke,yt,_t,pe,ue,Ie,lt]),qt=i.useRef(!1),xt=i.useRef(),Pn=i.useRef(pt),Fe=i.useRef(),sl=i.useCallback(t=>{if($t.current=!1,Pn.current=Te.current,t.button!==0&&t.button!==1){Fe.current=void 0;return}const r=performance.now();Fe.current={button:t.button,time:r,location:t.location},(t==null?void 0:t.kind)==="header"&&(qt.current=!0);const n=t.kind==="cell"&&t.isFillHandle;!n&&t.kind!=="cell"&&t.isEdge||(w({previousSelection:h,fillHandle:n}),xt.current=void 0,!t.isTouch&&t.button===0&&!n?jt(t):!t.isTouch&&t.button===1&&(xt.current=t.location))},[h,jt]),[en,tn]=i.useState(),On=i.useCallback(t=>{if(t.kind!==At||he!=="multi")return;const r=Po.value?t.metaKey:t.ctrlKey,[n]=t.location,s=h.columns;if(n=d&&tr(c.group,B[f].group);f--)g--;for(let f=n+1;f{if(fe!==void 0&&Lt!==void 0){const r=Te.current.y,n=Te.current.height;let s=fe({x:t,y:r,width:1,height:Math.min(n,F-r)},Re.current.signal);typeof s!="object"&&(s=await s());const c=ze[t-d],a=document.createElement("canvas").getContext("2d",{alpha:!1});if(a!==null){a.font=ve.baseFontFull;const f=ur(a,ve,c,0,s,zt,go,!1,ye);Lt==null||Lt(c,f.width,t,f.width)}}},[ze,fe,go,ve,zt,Lt,d,F,ye]),[al,on]=i.useState(),Ft=i.useCallback(async(t,r)=>{var f,v;const n=(f=t.current)==null?void 0:f.range;if(n===void 0||fe===void 0||r.current===void 0)return;const s=r.current.range;if(de!==void 0){let m=!1;if(de({fillDestination:{...s,x:s.x-d},patternSource:{...n,x:n.x-d},preventDefault:()=>m=!0}),m)return}let c=fe(n,Re.current.signal);typeof c!="object"&&(c=await c());const g=c,a=[];for(let m=0;m({cell:m.location})))},[fe,$e,de,d]),Kn=i.useCallback(()=>{if(h.current===void 0||h.current.range.width<=1)return;const t={...h,current:{...h.current,range:{...h.current.range,width:1}}};Ft(t,h)},[Ft,h]),Nn=i.useCallback(()=>{if(h.current===void 0||h.current.range.height<=1)return;const t={...h,current:{...h.current,range:{...h.current.range,height:1}}};Ft(t,h)},[Ft,h]),ul=i.useCallback((t,r)=>{var y,L;const n=k;if(w(void 0),Zo(void 0),on(void 0),qt.current=!1,r)return;if((n==null?void 0:n.fillHandle)===!0&&h.current!==void 0&&((y=n.previousSelection)==null?void 0:y.current)!==void 0){if(bt===void 0)return;const x={...h,current:{...h.current,range:Xl(n.previousSelection.current.range,bt)}};Ft(n.previousSelection,x),Ie(x,!0);return}const[s,c]=t.location,[g,a]=xt.current??[],f=()=>{$t.current=!0},v=x=>{var R,P,E;const D=x.isTouch||g===s&&a===c;if(D&&(Ce==null||Ce([s-d,c],{...x,preventDefault:f})),x.button===1)return!$t.current;if(!$t.current){const H=Le(t.location),K=ye(H);if(K!==void 0&&K.onClick!==void 0&&D){const re=K.onClick({...x,cell:H,posX:x.localEventX,posY:x.localEventY,bounds:x.bounds,theme:Yt(H,t.location),preventDefault:f});re!==void 0&&!Eo(re)&&eo(re)&&($e([{location:x.location,value:re}]),(R=ke.current)==null||R.damage([{cell:x.location}]))}if($t.current||h.current===void 0)return!1;let J=!1;switch(H.activationBehaviorOverride??Uo){case"double-click":case"second-click":{if(((E=(P=n==null?void 0:n.previousSelection)==null?void 0:P.current)==null?void 0:E.cell)===void 0)break;const[re,We]=h.current.cell,[Ye,Ue]=n.previousSelection.current.cell;J=s===re&&s===Ye&&c===We&&c===Ue&&(x.isDoubleClick===!0||Uo==="second-click");break}case"single-click":{J=!0;break}}if(J)return se==null||se([s-d,c]),Dt(x.bounds,!1),!0}return!1},m=t.location[0]-d;if(t.isTouch){const x=Te.current,D=Pn.current;if(x.x!==D.x||x.y!==D.y)return;if(t.isLongTouch===!0){if(t.kind==="cell"&&Yl((L=h.current)==null?void 0:L.cell,t.location)){Se==null||Se([m,t.location[1]],{...t,preventDefault:f});return}else if(t.kind==="header"&&h.columns.hasIndex(s)){Ae==null||Ae(m,{...t,preventDefault:f});return}else if(t.kind===At){if(m<0)return;Ve==null||Ve(m,{...t,preventDefault:f});return}}t.kind==="cell"?v(t)||jt(t):t.kind===At?De==null||De(m,{...t,preventDefault:f}):(t.kind===jl&&(He==null||He(m,{...t,preventDefault:f})),jt(t));return}if(t.kind==="header"){if(m<0)return;t.isEdge?t.isDoubleClick===!0&&Mo(s):t.button===0&&s===g&&c===a&&(He==null||He(m,{...t,preventDefault:f}))}if(t.kind===At){if(m<0)return;t.button===0&&s===g&&c===a&&(De==null||De(m,{...t,preventDefault:f}),$t.current||On(t))}t.kind==="cell"&&(t.button===0||t.button===1)&&v(t),xt.current=void 0},[k,h,d,bt,Ft,Ie,Ce,Le,ye,Uo,Yt,$e,se,Dt,Se,Ae,Ve,jt,De,He,Mo,On]),dl=i.useCallback(t=>{const r={...t,location:[t.location[0]-d,t.location[1]]};lo==null||lo(r),k!==void 0&&t.buttons===0&&(w(void 0),Zo(void 0),on(void 0),qt.current=!1),on(n=>{var s;return qt.current?[t.scrollEdge[0],0]:t.scrollEdge[0]===(n==null?void 0:n[0])&&t.scrollEdge[1]===n[1]?n:k===void 0||(((s=Fe.current)==null?void 0:s.location[0])??0){io==null||io(t-d,r)},[io,d]),hl=i.useCallback((t,r)=>{co==null||co(t-d,r)},[co,d]),Xe=(jn=h==null?void 0:h.current)==null?void 0:jn.cell,gl=i.useCallback((t,r,n,s,c,g)=>{mo.current=!1;let a=Xe;a!==void 0&&(a=[a[0]-d,a[1]]);const f=et===0?void 0:{x:0,y:t.y,width:et,height:t.height},v=[];f!==void 0&&v.push(f),tt>0&&(v.push({x:t.x-d,y:F-tt,width:t.width,height:tt}),et>0&&v.push({x:0,y:F-tt,width:et,height:tt}));const m={x:t.x-d,y:t.y,width:t.width,height:oe&&t.y+t.height>=F?t.height-1:t.height,tx:c,ty:g,extras:{selected:a,freezeRegion:f,freezeRegions:v}};Te.current=m,In(m),ll([r,n,s]),uo==null||uo(m,m.tx,m.ty,m.extras)},[Xe,d,oe,F,et,tt,In,uo]),vl=kt(nt,i.useCallback((t,r)=>{nt==null||nt(t-d,r-d),he!=="none"&&ue(X.fromSingleSelection(r),void 0,!0)},[he,nt,d,ue])),nn=i.useRef(!1),ml=i.useCallback(t=>{if(t.location[0]===0&&d>0){t.preventDefault();return}ro==null||ro({...t,location:[t.location[0]-d,t.location[1]]}),t.defaultPrevented()||(nn.current=!0),w(void 0)},[ro,d]),Cl=i.useCallback(()=>{nn.current=!1},[]),Wn=rt==null?void 0:rt.selectionBehavior,Ro=i.useCallback(t=>{if(Wn!=="block-spanning")return;const{isGroupHeader:r,path:n,groupRows:s}=yt(t);if(r)return[t,t];const c=n[n.length-1],g=t-c,a=t+s-c-1;return[g,a]},[yt,Wn]),rn=i.useRef(),ln=i.useCallback(t=>{var r,n,s;if(!ql(t,rn.current)&&(rn.current=t,!(((r=Fe==null?void 0:Fe.current)==null?void 0:r.button)!==void 0&&Fe.current.button>=1))){if(t.buttons!==0&&k!==void 0&&((n=Fe.current)==null?void 0:n.location[0])===0&&t.location[0]===0&&d===1&&Ee==="multi"&&k.previousSelection&&!k.previousSelection.rows.hasIndex(Fe.current.location[1])&&h.rows.hasIndex(Fe.current.location[1])){const c=Math.min(Fe.current.location[1],t.location[1]),g=Math.max(Fe.current.location[1],t.location[1])+1;be(X.fromSingleSelection([c,g]),void 0,!1)}if(t.buttons!==0&&k!==void 0&&h.current!==void 0&&!nn.current&&!qt.current&&(Je==="rect"||Je==="multi-rect")){const[c,g]=h.current.cell;let[a,f]=t.location;if(f<0&&(f=Te.current.y),k.fillHandle===!0&&((s=k.previousSelection)==null?void 0:s.current)!==void 0){const v=k.previousSelection.current.range;f=Math.min(f,oe?F-1:F);const m=Zl(v,a,f,Cn);Zo(m)}else{if(oe&&g===F)return;if(oe&&f===F)if(t.kind===er)f--;else return;a=Math.max(a,d);const y=Ro(g);f=y===void 0?f:Rt(f,y[0],y[1]);const L=a-c,x=f-g,D={x:L>=0?c:a,y:x>=0?g:f,width:Math.abs(L)+1,height:Math.abs(x)+1};pe({...h.current,range:D},!0,!1,"drag")}}ao==null||ao({...t,location:[t.location[0]-d,t.location[1]]})}},[k,d,Ee,h,Je,ao,be,oe,F,Cn,Ro,pe]),wl=i.useCallback(()=>{var a,f;const t=rn.current;if(t===void 0)return;const[r,n]=t.scrollEdge;let[s,c]=t.location;const g=Te.current;r===-1?s=((f=(a=g.extras)==null?void 0:a.freezeRegion)==null?void 0:f.x)??g.x:r===1&&(s=g.x+g.width),n===-1?c=Math.max(0,g.y):n===1&&(c=Math.min(F-1,g.y+g.height)),s=Rt(s,0,B.length-1),c=Rt(c,0,F-1),ln({...t,location:[s,c]})},[B.length,ln,F]);ic(al,j,wl);const Ne=i.useCallback(t=>{if(h.current===void 0)return;const[r,n]=t,[s,c]=h.current.cell,g=h.current.range;let a=g.x,f=g.x+g.width,v=g.y,m=g.y+g.height;const[y,L]=Ro(c)??[0,F-1],x=L+1;if(n!==0)switch(n){case 2:{m=x,v=c,ne(0,m,"vertical");break}case-2:{v=y,m=c+1,ne(0,v,"vertical");break}case 1:{vc+1?(m--,ne(0,m,"vertical")):(v=Math.max(y,v-1),ne(0,v,"vertical"));break}default:or()}if(r!==0)if(r===2)f=B.length,a=s,ne(f-1-d,0,"horizontal");else if(r===-2)a=d,f=s+1,ne(a-d,0,"horizontal");else{let D=[];if(fe!==void 0){const R=fe({x:a,y:v,width:f-a-d,height:m-v},Re.current.signal);typeof R=="object"&&(D=mc(R))}if(r===1){let R=!1;if(a0){const P=Gt(a+1,s+1).find(E=>!D.includes(E-d));P!==void 0&&(a=P,R=!0)}else a++,R=!0;R&&ne(a,0,"horizontal")}R||(f=Math.min(B.length,f+1),ne(f-1-d,0,"horizontal"))}else if(r===-1){let R=!1;if(f>s+1){if(D.length>0){const P=Gt(f-1,s,-1).find(E=>!D.includes(E-d));P!==void 0&&(f=P,R=!0)}else f--,R=!0;R&&ne(f-d,0,"horizontal")}R||(a=Math.max(d,a-1),ne(a-d,0,"horizontal"))}else or()}pe({cell:h.current.cell,range:{x:a,y:v,width:f-a,height:m-v}},!0,!1,"keyboard-select")},[fe,Ro,h,B.length,d,F,ne,pe]),cn=i.useRef(yn);cn.current=yn;const ut=i.useCallback((t,r,n,s)=>{const c=me-(n?0:1);t=Rt(t,d,ze.length-1+d),r=Rt(r,0,c);const g=Xe==null?void 0:Xe[0],a=Xe==null?void 0:Xe[1];if(t===g&&r===a)return!1;if(s&&h.current!==void 0){const f=[...h.current.rangeStack];(h.current.range.width>1||h.current.range.height>1)&&f.push(h.current.range),Ie({...h,current:{cell:[t,r],range:{x:t,y:r,width:1,height:1},rangeStack:f}},!0)}else pe({cell:[t,r],range:{x:t,y:r,width:1,height:1}},!0,!1,"keyboard-nav");return p.current!==void 0&&p.current[0]===t&&p.current[1]===r&&(p.current=void 0),cn.current&&ne(t-d,r),!0},[me,d,ze.length,Xe,h,ne,Ie,pe]),pl=i.useCallback((t,r)=>{(C==null?void 0:C.cell)!==void 0&&t!==void 0&&eo(t)&&($e([{location:C.cell,value:t}]),window.requestAnimationFrame(()=>{var c;(c=ke.current)==null||c.damage([{cell:C.cell}])})),xe(!0),M(void 0);const[n,s]=r;if(h.current!==void 0&&(n!==0||s!==0)){const c=h.current.cell[1]===me-1&&t!==void 0;ut(Rt(h.current.cell[0]+n,0,B.length-1),Rt(h.current.cell[1]+s,0,me-1),c,!1)}Y==null||Y(t,r)},[C==null?void 0:C.cell,xe,h,Y,$e,me,ut,B.length]),bl=i.useMemo(()=>`gdg-overlay-${vc++}`,[]),Mt=i.useCallback(t=>{var n,s,c,g;xe();const r=[];for(let a=t.x;a({cell:a.location})))},[xe,W,ye,$e,d]),Zt=C!==void 0,Un=i.useCallback(t=>{var P,E;const r=()=>{t.stopPropagation(),t.preventDefault()},n={didMatch:!1},{bounds:s}=t,c=h.columns,g=h.rows,a=ct;if(!Zt&&A(a.clear,t,n))Ie(Ao,!1),lt==null||lt();else if(!Zt&&A(a.selectAll,t,n))Ie({columns:X.empty(),rows:X.empty(),current:{cell:((P=h.current)==null?void 0:P.cell)??[d,0],range:{x:d,y:0,width:V.length,height:F},rangeStack:[]}},!1);else if(A(a.search,t,n))(E=b==null?void 0:b.current)==null||E.focus({preventScroll:!0}),Tn(!0);else if(A(a.delete,t,n)){const H=(st==null?void 0:st(h))??!0;if(H!==!1){const K=H===!0?h:H;if(K.current!==void 0){Mt(K.current.range);for(const J of K.current.rangeStack)Mt(J)}for(const J of K.rows)Mt({x:d,y:J,width:V.length,height:1});for(const J of K.columns)Mt({x:J,y:0,width:1,height:F})}}if(n.didMatch)return r(),!0;if(h.current===void 0)return!1;let[f,v]=h.current.cell;const[,m]=h.current.cell;let y=!1,L=!1;if(A(a.scrollToSelectedCell,t,n)?zo.current(f-d,v):he!=="none"&&A(a.selectColumn,t,n)?c.hasIndex(f)?ue(c.remove(f),void 0,!0):he==="single"?ue(X.fromSingleSelection(f),void 0,!0):ue(void 0,f,!0):Ee!=="none"&&A(a.selectRow,t,n)?g.hasIndex(v)?be(g.remove(v),void 0,!0):Ee==="single"?be(X.fromSingleSelection(v),void 0,!0):be(void 0,v,!0):!Zt&&s!==void 0&&A(a.activateCell,t,n)?v===F&&oe?window.setTimeout(()=>{const H=xo(f);Et(H??f)},0):(se==null||se([f-d,v]),Dt(s,!0)):h.current.range.height>1&&A(a.downFill,t,n)?Nn():h.current.range.width>1&&A(a.rightFill,t,n)?Kn():A(a.goToNextPage,t,n)?v+=Math.max(1,Te.current.height-4):A(a.goToPreviousPage,t,n)?v-=Math.max(1,Te.current.height-4):A(a.goToFirstCell,t,n)?(M(void 0),v=0,f=0):A(a.goToLastCell,t,n)?(M(void 0),v=Number.MAX_SAFE_INTEGER,f=Number.MAX_SAFE_INTEGER):A(a.selectToFirstCell,t,n)?(M(void 0),Ne([-2,-2])):A(a.selectToLastCell,t,n)?(M(void 0),Ne([2,2])):Zt?(A(a.closeOverlay,t,n)&&M(void 0),A(a.acceptOverlayDown,t,n)&&(M(void 0),v++),A(a.acceptOverlayUp,t,n)&&(M(void 0),v--),A(a.acceptOverlayLeft,t,n)&&(M(void 0),f--),A(a.acceptOverlayRight,t,n)&&(M(void 0),f++)):(A(a.goDownCell,t,n)?v+=1:A(a.goUpCell,t,n)?v-=1:A(a.goRightCell,t,n)?f+=1:A(a.goLeftCell,t,n)?f-=1:A(a.goDownCellRetainSelection,t,n)?(v+=1,y=!0):A(a.goUpCellRetainSelection,t,n)?(v-=1,y=!0):A(a.goRightCellRetainSelection,t,n)?(f+=1,y=!0):A(a.goLeftCellRetainSelection,t,n)?(f-=1,y=!0):A(a.goToLastRow,t,n)?v=F-1:A(a.goToFirstRow,t,n)?v=Number.MIN_SAFE_INTEGER:A(a.goToLastColumn,t,n)?f=Number.MAX_SAFE_INTEGER:A(a.goToFirstColumn,t,n)?f=Number.MIN_SAFE_INTEGER:(Je==="rect"||Je==="multi-rect")&&(A(a.selectGrowDown,t,n)?Ne([0,1]):A(a.selectGrowUp,t,n)?Ne([0,-1]):A(a.selectGrowRight,t,n)?Ne([1,0]):A(a.selectGrowLeft,t,n)?Ne([-1,0]):A(a.selectToLastRow,t,n)?Ne([0,2]):A(a.selectToFirstRow,t,n)?Ne([0,-2]):A(a.selectToLastColumn,t,n)?Ne([2,0]):A(a.selectToFirstColumn,t,n)&&Ne([-2,0])),L=n.didMatch),Ke!==void 0&&Ke!=="normal"&&v!==m){const H=Ke==="skip-up"||Ke==="skip"||Ke==="block",K=Ke==="skip-down"||Ke==="skip"||Ke==="block",J=v=0&&yt(v).isGroupHeader;)v--;v<0&&(v=m)}else if(!J&&K){for(;v=F&&(v=m)}}const D=ut(f,v,!1,y),R=n.didMatch;return R&&(D||!L||pn)&&r(),R},[Ke,Zt,h,ct,he,Ee,Je,d,yt,F,ut,Ie,lt,V.length,st,pn,Mt,ue,be,oe,xo,Et,se,Dt,Nn,Kn,Ne]),Jt=i.useCallback(t=>{let r=!1;if(Kt!==void 0&&Kt({...t,cancel:()=>{r=!0}}),r||Un(t)||h.current===void 0)return;const[n,s]=h.current.cell,c=Te.current;if(Nt&&!t.metaKey&&!t.ctrlKey&&h.current!==void 0&&t.key.length===1&&/[ -~]/g.test(t.key)&&t.bounds!==void 0&&Io(W([n-d,Math.max(0,Math.min(s,F-1))]))){if((!oe||s!==F)&&(c.y>s||s>c.y+c.height||c.x>n||n>c.x+c.width))return;Dt(t.bounds,!0,t.key),t.stopPropagation(),t.preventDefault()}},[Nt,Kt,Un,h,W,d,F,oe,Dt]),yl=i.useCallback((t,r)=>{const n=t.location[0]-d;if(t.kind==="header"&&(Ae==null||Ae(n,{...t,preventDefault:r})),t.kind===At){if(n<0)return;Ve==null||Ve(n,{...t,preventDefault:r})}if(t.kind==="cell"){const[s,c]=t.location;Se==null||Se([n,c],{...t,preventDefault:r}),Ql(h,t.location)||ut(s,c,!1,!1)}},[h,Se,Ve,Ae,d,ut]),sn=i.useCallback(async t=>{var a,f,v;if(!ct.paste)return;function r(m,y,L,x){var R,P;const D=typeof L=="object"?(L==null?void 0:L.join(` `))??"":(L==null?void 0:L.toString())??"";if(!Eo(m)&&Io(m)&&m.readonly!==!0){const E=ee==null?void 0:ee(D,m);if(E!==void 0&&eo(E))return{location:y,value:E};const H=ye(m);if(H===void 0)return;if(H.kind===Q.Custom){Go(m.kind===Q.Custom);const K=(R=H.onPaste)==null?void 0:R.call(H,D,m.data);return K===void 0?void 0:{location:y,value:{...m,data:K}}}else{const K=(P=H.onPaste)==null?void 0:P.call(H,D,m,{formatted:x,formattedString:typeof x=="string"?x:x==null?void 0:x.join(` `),rawValue:L});return K===void 0?void 0:(Go(K.kind===m.kind),{location:y,value:K})}}}const n=h.columns,s=h.rows,c=((a=j.current)==null?void 0:a.contains(document.activeElement))===!0||((f=T.current)==null?void 0:f.contains(document.activeElement))===!0;let g;if(h.current!==void 0?g=[h.current.range.x,h.current.range.y]:n.length===1?g=[n.first()??0,0]:s.length===1&&(g=[d,s.first()??0]),c&&g!==void 0){let m,y;const L="text/plain",x="text/html";if(navigator.clipboard.read!==void 0){const E=await navigator.clipboard.read();for(const H of E){if(H.types.includes(x)){const J=await(await H.getType(x)).text(),re=nr(J);if(re!==void 0){m=re;break}}H.types.includes(L)&&(y=await(await H.getType(L)).text())}}else if(navigator.clipboard.readText!==void 0)y=await navigator.clipboard.readText();else if(t!==void 0&&(t==null?void 0:t.clipboardData)!==null){if(t.clipboardData.types.includes(x)){const E=t.clipboardData.getData(x);m=nr(E)}m===void 0&&t.clipboardData.types.includes(L)&&(y=t.clipboardData.getData(L))}else return;const[D,R]=g,P=[];do{if(Ct===void 0){const E=Le(g),H=y??(m==null?void 0:m.map(J=>J.map(re=>re.rawValue).join(" ")).join(" "))??"",K=r(E,g,H,void 0);K!==void 0&&P.push(K);break}if(m===void 0){if(y===void 0)return;m=ei(y)}if(Ct===!1||typeof Ct=="function"&&(Ct==null?void 0:Ct([g[0]-d,g[1]],m.map(E=>E.map(H=>{var K;return((K=H.rawValue)==null?void 0:K.toString())??""}))))!==!0)return;for(const[E,H]of m.entries()){if(E+R>=F)break;for(const[K,J]of H.entries()){const re=[K+D,E+R],[We,Ye]=re;if(We>=B.length||Ye>=me)continue;const Ue=Le(re),je=r(Ue,re,J.rawValue,J.formatted);je!==void 0&&P.push(je)}}}while(!1);$e(P),(v=ke.current)==null||v.damage(P.map(E=>({cell:E.location})))}},[ee,ye,Le,h,ct.paste,j,B.length,$e,me,Ct,d,F]);fn("paste",sn,S,!1,!0);const Qt=i.useCallback(async(t,r)=>{var a,f;if(!ct.copy)return;const n=r===!0||((a=j.current)==null?void 0:a.contains(document.activeElement))===!0||((f=T.current)==null?void 0:f.contains(document.activeElement))===!0,s=h.columns,c=h.rows,g=(v,m)=>{if(!mn)rr(v,m,t);else{const y=m.map(L=>({kind:Q.Text,data:V[L].title,displayData:V[L].title,allowOverlay:!1}));rr([y,...v],m,t)}};if(n&&fe!==void 0){if(h.current!==void 0){let v=fe(h.current.range,Re.current.signal);typeof v!="object"&&(v=await v()),g(v,Gt(h.current.range.x-d,h.current.range.x+h.current.range.width-d))}else if(c!==void 0&&c.length>0){const m=[...c].map(y=>{const L=fe({x:d,y,width:V.length,height:1},Re.current.signal);return typeof L=="object"?L[0]:L().then(x=>x[0])});if(m.some(y=>y instanceof Promise)){const y=await Promise.all(m);g(y,Gt(V.length))}else g(m,Gt(V.length))}else if(s.length>0){const v=[],m=[];for(const y of s){let L=fe({x:y,y:0,width:1,height:F},Re.current.signal);typeof L!="object"&&(L=await L()),v.push(L),m.push(y-d)}if(v.length===1)g(v[0],m);else{const y=v.reduce((L,x)=>L.map((D,R)=>[...D,...x[R]]));g(y,m)}}}},[V,fe,h,ct.copy,d,j,F,mn]);fn("copy",Qt,S,!1,!1);const xl=i.useCallback(async t=>{var n,s;if(!(!ct.cut||!(((n=j.current)==null?void 0:n.contains(document.activeElement))===!0||((s=T.current)==null?void 0:s.contains(document.activeElement))===!0))&&(await Qt(t),h.current!==void 0)){let c={current:{cell:h.current.cell,range:h.current.range,rangeStack:[]},rows:X.empty(),columns:X.empty()};const g=st==null?void 0:st(c);if(g===!1||(c=g===!0?c:g,c.current===void 0))return;Mt(c.current.range)}},[Mt,h,ct.cut,Qt,j,st]);fn("cut",xl,S,!1,!1);const Ml=i.useCallback((t,r)=>{if(Ge!==void 0){d!==0&&(t=t.map(c=>[c[0]-d,c[1]])),Ge(t,r);return}if(t.length===0||r===-1)return;const[n,s]=t[r];p.current!==void 0&&p.current[0]===n&&p.current[1]===s||(p.current=[n,s],ut(n,s,!1,!1))},[Ge,d,ut]),[ko,So]=((qn=wt==null?void 0:wt.current)==null?void 0:qn.cell)??[],zo=i.useRef(ne);zo.current=ne,i.useLayoutEffect(()=>{var t,r,n,s;cn.current&&!mo.current&&ko!==void 0&&So!==void 0&&(ko!==((r=(t=vo.current)==null?void 0:t.current)==null?void 0:r.cell[0])||So!==((s=(n=vo.current)==null?void 0:n.current)==null?void 0:s.cell[1]))&&zo.current(ko,So),mo.current=!1},[ko,So]);const Bn=h.current!==void 0&&(h.current.cell[0]>=B.length||h.current.cell[1]>=me);i.useLayoutEffect(()=>{Bn&&Ie(Ao,!1)},[Bn,Ie]);const Rl=i.useMemo(()=>oe===!0&&(U==null?void 0:U.tint)===!0?X.fromSingleSelection(me-1):X.empty(),[me,oe,U==null?void 0:U.tint]),kl=i.useCallback(t=>typeof St=="boolean"?St:(St==null?void 0:St(t-d))??!0,[d,St]),Sl=i.useMemo(()=>{if(en===void 0||T.current===null)return null;const{bounds:t,group:r}=en,n=T.current.getBoundingClientRect();return q(Yi,{bounds:t,group:r,canvasBounds:n,onClose:()=>tn(void 0),onFinish:s=>{tn(void 0),$==null||$(r,s)}})},[$,en]),zl=Math.min(B.length,et+(_e?1:0));i.useImperativeHandle(o,()=>({appendRow:(t,r)=>Et(t+d,r),updateCells:t=>{var r;return d!==0&&(t=t.map(n=>({cell:[n.cell[0]+d,n.cell[1]]}))),(r=ke.current)==null?void 0:r.damage(t)},getBounds:(t,r)=>{var n;if(!((T==null?void 0:T.current)===null||(j==null?void 0:j.current)===null)){if(t===void 0&&r===void 0){const s=T.current.getBoundingClientRect(),c=s.width/j.current.clientWidth;return{x:s.x-j.current.scrollLeft*c,y:s.y-j.current.scrollTop*c,width:j.current.scrollWidth*c,height:j.current.scrollHeight*c}}return(n=ke.current)==null?void 0:n.getBounds((t??0)+d,r)}},focus:()=>{var t;return(t=ke.current)==null?void 0:t.focus()},emit:async t=>{switch(t){case"delete":Jt({bounds:void 0,cancel:()=>{},stopPropagation:()=>{},preventDefault:()=>{},ctrlKey:!1,key:"Delete",keyCode:46,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case"fill-right":Jt({bounds:void 0,cancel:()=>{},stopPropagation:()=>{},preventDefault:()=>{},ctrlKey:!0,key:"r",keyCode:82,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case"fill-down":Jt({bounds:void 0,cancel:()=>{},stopPropagation:()=>{},preventDefault:()=>{},ctrlKey:!0,key:"d",keyCode:68,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case"copy":await Qt(void 0,!0);break;case"paste":await sn();break}},scrollTo:ne,remeasureColumns:t=>{for(const r of t)Mo(r+d)}}),[Et,Mo,j,Qt,Jt,sn,d,ne]);const[Vn,_n]=Xe??[],Tl=i.useCallback(t=>{const[r,n]=t;if(n===-1){he!=="none"&&(ue(X.fromSingleSelection(r),void 0,!1),xe());return}Vn===r&&_n===n||(pe({cell:t,range:{x:r,y:n,width:1,height:1}},!0,!1,"keyboard-nav"),ne(r,n))},[he,xe,ne,Vn,_n,pe,ue]),[Ll,Hl]=i.useState(!1),Xn=i.useRef(ii(t=>{Hl(t)},5)),Dl=i.useCallback(()=>{Xn.current(!0),h.current===void 0&&h.columns.length===0&&h.rows.length===0&&k===void 0&&pe({cell:[d,Co],range:{x:d,y:Co,width:1,height:1}},!0,!1,"keyboard-select")},[Co,h,k,d,pe]),El=i.useCallback(()=>{Xn.current(!1)},[]),[Il,$l]=i.useMemo(()=>{let t;const r=(ge==null?void 0:ge.scrollbarWidthOverride)??ti(),n=F+(oe?1:0);if(typeof it=="number")t=Xt+n*it;else{let c=0;const g=Math.min(n,10);for(let a=0;ag.width+c,0)+r;return[`${Math.min(1e5,s)}px`,`${Math.min(1e5,t)}px`]},[B,ge==null?void 0:ge.scrollbarWidthOverride,it,F,oe,Xt]),Fl=i.useMemo(()=>oi(ve),[ve]);return q(ni.Provider,{value:ve,children:to(nc,{style:Fl,className:Ot,inWidth:le??Il,inHeight:ce??$l,children:[q(Bi,{fillHandle:Mr,drawFocusRing:wn,experimental:ge,fixedShadowX:Rr,fixedShadowY:kr,getRowThemeOverride:ot,headerIcons:Sr,imageWindowLoader:zr,initialSize:Tr,isDraggable:Lr,onDragLeave:Hr,onRowMoved:Vt,overscrollX:Yr,overscrollY:jr,preventDiagonalScrolling:Ir,rightElement:$r,rightElementProps:Fr,smoothScrollX:Ar,smoothScrollY:Gr,className:Ot,enableGroups:qo,onCanvasFocused:Dl,onCanvasBlur:El,canvasRef:T,onContextMenu:yl,theme:ve,cellXOffset:il,cellYOffset:Co,accessibilityHeight:pt.height,onDragEnd:Cl,columns:B,nonGrowWidth:Hn,drawHeader:nl,onColumnProposeMove:Be,drawCell:rl,disabledRows:Rl,freezeColumns:zl,lockColumns:d,firstColAccessible:d===0,getCellContent:Le,minColumnWidth:zt,maxColumnWidth:go,searchInputRef:b,showSearch:Zr,onSearchClose:Jr,highlightRegions:cl,getCellsForSelection:fe,getGroupDetails:Jo,headerHeight:Yo,isFocused:Ll,groupHeaderHeight:qo?Sn:0,freezeTrailingRows:tt+(oe&&(U==null?void 0:U.sticky)===!0?1:0),hasAppendRow:oe,onColumnResize:Lt,onColumnResizeEnd:tl,onColumnResizeStart:ol,onCellFocused:Tl,onColumnMoved:vl,onDragStart:ml,onHeaderMenuClick:fl,onHeaderIndicatorClick:hl,onItemHovered:ln,isFilling:(k==null?void 0:k.fillHandle)===!0,onMouseMove:dl,onKeyDown:Jt,onKeyUp:Ko,onMouseDown:sl,onMouseUp:ul,onDragOverCell:yr,onDrop:xr,onSearchResultsChanged:Ml,onVisibleRegionChanged:gl,clientSize:jo,rowHeight:it,searchResults:Ze,searchValue:no,onSearchValueChange:ft,rows:me,scrollRef:j,selection:h,translateX:pt.tx,translateY:pt.ty,verticalBorder:kl,gridRef:ke,getCellRenderer:ye,resizeIndicator:Ur}),Sl,C!==void 0&&q(i.Suspense,{fallback:null,children:q(gc,{...C,validateCell:el,bloom:qe,id:bl,getCellRenderer:ye,className:(ge==null?void 0:ge.isSubGrid)===!0?"click-outside-ignore":void 0,provideEditor:wr,imageEditorOverride:z,onFinishEditing:pl,markdownDivCreateNode:O,isOutsideClick:Wr})})]})})},wc=i.forwardRef(Cc),pc=(e,o)=>{const l=i.useMemo(()=>({...Gi,...e.headerIcons}),[e.headerIcons]),u=i.useMemo(()=>e.imageWindowLoader??new ri,[e.imageWindowLoader]);return q(wc,{...e,renderers:li,headerIcons:l,ref:o,imageWindowLoader:u})},Lc=i.forwardRef(pc);export{Vi as C,Lc as D,dt as k,dc as u}; function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["./data-grid-overlay-editor-inrfGB7O.js","./marked.esm-dbrxtycE.js","./index-BMVQvedj.js","./index-wocATsGp.js","./image-window-loader-aMebukIX.js","./throttle-7EuXLZa7.js","./_baseIteratee-WTHxv43n.js","./iframe-lQqvcp2b.js","./image-window-loader-1jHxuE_X.css","./flatten-qRvRBp6y.js","./scrolling-data-grid-AbyJF5mC.js","./scrolling-data-grid-dE2iz8sf.css","./data-grid-overlay-editor-EbzU9_4i.css"] + __vite__mapDeps.viteFileDeps = ["./data-grid-overlay-editor-kiC5KI5i.js","./marked.esm-dbrxtycE.js","./index-BMVQvedj.js","./index-wocATsGp.js","./image-window-loader-Hk1rG8Sr.js","./throttle-7EuXLZa7.js","./_baseIteratee-WTHxv43n.js","./iframe-MU0yo5By.js","./image-window-loader-1jHxuE_X.css","./flatten-qRvRBp6y.js","./scrolling-data-grid-6oMlsc5s.js","./scrolling-data-grid-dE2iz8sf.css","./data-grid-overlay-editor-EbzU9_4i.css"] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } \ No newline at end of file diff --git a/docs/assets/data-editor-all-ql0Al2pT.js b/docs/assets/data-editor-all-ql0Al2pT.js new file mode 100644 index 000000000..328bcfb1e --- /dev/null +++ b/docs/assets/data-editor-all-ql0Al2pT.js @@ -0,0 +1,135 @@ +var As=Object.defineProperty;var zs=(e,t,n)=>t in e?As(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Oe=(e,t,n)=>(zs(e,typeof t!="symbol"?t+"":t,n),n);import{r as a,R as bt}from"./index-BMVQvedj.js";import{_ as xl}from"./iframe-MU0yo5By.js";import{h as Bs,d as kl,j as Ls,v as Ps,_ as Ws,g as $s,c as sn,r as io,t as Os}from"./throttle-7EuXLZa7.js";import{u as Ns,f as _i}from"./flatten-qRvRBp6y.js";import{s as Qt,b as Xs}from"./marked.esm-dbrxtycE.js";function Sl(e="This should not happen"){throw new Error(e)}function Zt(e,t="Assertion failed"){if(!e)return Sl(t)}function er(e,t){return Sl(t??"Hell froze over")}function Ys(e,t){try{return e()}catch{return t}}const Vi=Object.prototype.hasOwnProperty;function Do(e,t){let n,o;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((o=e.length)===t.length)for(;o--&&Do(e[o],t[o]););return o===-1}if(!n||typeof e=="object"){o=0;for(n in e)if(Vi.call(e,n)&&++o&&!Vi.call(t,n)||!(n in t)||!Do(e[n],t[n]))return!1;return Object.keys(t).length===o}}return e!==e&&t!==t}const Tr=null,vi=void 0;var Z;(function(e){e.Uri="uri",e.Text="text",e.Image="image",e.RowID="row-id",e.Number="number",e.Bubble="bubble",e.Boolean="boolean",e.Loading="loading",e.Markdown="markdown",e.Drilldown="drilldown",e.Protected="protected",e.Custom="custom"})(Z||(Z={}));var qi;(function(e){e.HeaderRowID="headerRowID",e.HeaderCode="headerCode",e.HeaderNumber="headerNumber",e.HeaderString="headerString",e.HeaderBoolean="headerBoolean",e.HeaderAudioUri="headerAudioUri",e.HeaderVideoUri="headerVideoUri",e.HeaderEmoji="headerEmoji",e.HeaderImage="headerImage",e.HeaderUri="headerUri",e.HeaderPhone="headerPhone",e.HeaderMarkdown="headerMarkdown",e.HeaderDate="headerDate",e.HeaderTime="headerTime",e.HeaderEmail="headerEmail",e.HeaderReference="headerReference",e.HeaderIfThenElse="headerIfThenElse",e.HeaderSingleValue="headerSingleValue",e.HeaderLookup="headerLookup",e.HeaderTextTemplate="headerTextTemplate",e.HeaderMath="headerMath",e.HeaderRollup="headerRollup",e.HeaderJoinStrings="headerJoinStrings",e.HeaderSplitString="headerSplitString",e.HeaderGeoDistance="headerGeoDistance",e.HeaderArray="headerArray",e.RowOwnerOverlay="rowOwnerOverlay",e.ProtectedColumnOverlay="protectedColumnOverlay"})(qi||(qi={}));var Ar;(function(e){e.Triangle="triangle",e.Dots="dots"})(Ar||(Ar={}));function Rr(e){return"width"in e&&typeof e.width=="number"}async function ji(e){return typeof e=="object"?e:await e()}function Ro(e){return!(e.kind===Z.Loading||e.kind===Z.Bubble||e.kind===Z.RowID||e.kind===Z.Protected||e.kind===Z.Drilldown)}function Cu(e){return!(e.kind===Z.Loading||e.kind===Z.Bubble||e.kind===Z.RowID||e.kind===Z.Protected||e.kind===Z.Drilldown||e.kind===Z.Boolean||e.kind===Z.Image||e.kind===Z.Custom)}function Eo(e){return e.kind===cn.Marker||e.kind===cn.NewRow}function jo(e){if(!Ro(e)||e.kind===Z.Image)return!1;if(e.kind===Z.Text||e.kind===Z.Number||e.kind===Z.Markdown||e.kind===Z.Uri||e.kind===Z.Custom||e.kind===Z.Boolean)return e.readonly!==!0;er(e,"A cell was passed with an invalid kind")}function Gs(e){return Bs(e,"editor")}function gi(e){return!(e.readonly??!1)}var cn;(function(e){e.NewRow="new-row",e.Marker="marker"})(cn||(cn={}));function Ks(e){if(e.length===0)return[];const t=[...e],n=[];t.sort(function(o,r){return o[0]-r[0]}),n.push([...t[0]]);for(const o of t.slice(1)){const r=n[n.length-1];r[1][o[0]+t,o[1]+t]);return new Tn(n)}add(t){const n=typeof t=="number"?[t,t+1]:t,o=Ks([...this.items,n]);return new Tn(o)}remove(t){const n=[...this.items],o=typeof t=="number"?t:t[0],r=typeof t=="number"?t+1:t[1];for(const[i,l]of n.entries()){const[s,c]=l;if(s<=r&&o<=c){const u=[];s=o&&tZi??(Zi=new Tn([]))),Oe(Tn,"fromSingleSelection",t=>Tn.empty().add(t));let lt=Tn;const Us=Qt("div")({name:"ImageOverlayEditorStyle",class:"gdg-i2iowwq",propsAsIs:!1});function Xt(e,t,n,o,r=!1){const i=a.useRef();i.current=t,a.useEffect(()=>{if(n===null||n.addEventListener===void 0)return;const l=n,s=c=>{var u;(u=i.current)==null||u.call(l,c)};return l.addEventListener(e,s,{passive:o,capture:r}),()=>{l.removeEventListener(e,s,{capture:r})}},[e,n,o,r])}function ro(e,t){return e===void 0?void 0:t}const _s=Math.PI;function Ji(e){return e*_s/180}const Ml=(e,t,n)=>({x1:e-n/2,y1:t-n/2,x2:e+n/2,y2:t+n/2}),Rl=(e,t,n,o,r)=>{switch(e){case"left":return Math.floor(t)+o+r/2;case"center":return Math.floor(t+n/2);case"right":return Math.floor(t+n)-o-r/2}},El=(e,t,n)=>Math.min(e,t-n*2),Il=(e,t,n)=>n.x1<=e&&e<=n.x2&&n.y1<=t&&t<=n.y2,Ci=e=>{const t=e.fgColor??"currentColor";return a.createElement("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a.createElement("path",{d:"M12.7073 7.05029C7.87391 11.8837 10.4544 9.30322 6.03024 13.7273C5.77392 13.9836 5.58981 14.3071 5.50189 14.6587L4.52521 18.5655C4.38789 19.1148 4.88543 19.6123 5.43472 19.475L9.34146 18.4983C9.69313 18.4104 10.0143 18.2286 10.2706 17.9722L16.9499 11.2929",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"none",vectorEffect:"non-scaling-stroke"}),a.createElement("path",{d:"M20.4854 4.92901L19.0712 3.5148C18.2901 2.73375 17.0238 2.73375 16.2428 3.5148L14.475 5.28257C15.5326 7.71912 16.4736 8.6278 18.7176 9.52521L20.4854 7.75744C21.2665 6.97639 21.2665 5.71006 20.4854 4.92901Z",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"none",vectorEffect:"non-scaling-stroke"}))},Vs=e=>{const t=e.fgColor??"currentColor";return a.createElement("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a.createElement("path",{d:"M19 6L10.3802 17L5.34071 11.8758",vectorEffect:"non-scaling-stroke",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}))};function qs(e,t,n){const[o,r]=a.useState(e),i=a.useRef(!0);a.useEffect(()=>()=>{i.current=!1},[]);const l=a.useRef(kl(s=>{i.current&&r(s)},n));return a.useLayoutEffect(()=>{i.current&&l.current(()=>e())},t),o}const js="֑-߿יִ-﷽ﹰ-ﻼ",Zs="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿",Js=new RegExp("^[^"+Zs+"]*["+js+"]");function xi(e){return Js.test(e)?"rtl":"not-rtl"}let Er;function mi(){if(typeof document>"u")return 0;if(Er!==void 0)return Er;const e=document.createElement("p");e.style.width="100%",e.style.height="200px";const t=document.createElement("div");t.id="testScrollbar",t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.visibility="hidden",t.style.width="200px",t.style.height="150px",t.style.overflow="hidden",t.append(e),document.body.append(t);const n=e.offsetWidth;t.style.overflow="scroll";let o=e.offsetWidth;return n===o&&(o=t.clientWidth),t.remove(),Er=n-o,Er}const oo=Symbol();function Qs(e){const t=a.useRef([oo,e]);t.current[1]!==e&&(t.current[0]=e),t.current[1]=e;const[n,o]=a.useState(e),[,r]=a.useState(),i=a.useCallback(s=>{const c=t.current[0];c!==oo&&(s=typeof s=="function"?s(c):s,s===c)||(c!==oo&&r({}),o(u=>typeof s=="function"?s(c===oo?u:c):s),t.current[0]=oo)},[]),l=a.useCallback(()=>{t.current[0]=oo,r({})},[]);return[t.current[0]===oo?n:t.current[0],i,l]}function Dl(e){if(e.length===0)return"";let t=0,n=0;for(const o of e){if(n+=o.length,n>1e4)break;t++}return e.slice(0,t).join(", ")}function ea(e){const t=a.useRef(e);return Do(e,t.current)||(t.current=e),t.current}const ta=e=>{const{urls:t,canWrite:n,onEditClick:o,renderImage:r}=e,i=t.filter(s=>s!=="");if(i.length===0)return null;const l=i.length>1;return a.createElement(Us,{"data-testid":"GDG-default-image-overlay-editor"},a.createElement(Ls.Carousel,{showArrows:l,showThumbs:!1,swipeable:l,emulateTouch:l,infiniteLoop:l},i.map(s=>{const c=(r==null?void 0:r(s))??a.createElement("img",{draggable:!1,src:s});return a.createElement("div",{className:"gdg-centering-container",key:s},c)})),n&&o&&a.createElement("button",{className:"gdg-edit-icon",onClick:o},a.createElement(Ci,null)))},na=Qt("div")({name:"MarkdownContainer",class:"gdg-mnuv029",propsAsIs:!1});class oa extends bt.PureComponent{constructor(){super(...arguments);Oe(this,"targetElement",null);Oe(this,"containerRefHook",n=>{this.targetElement=n,this.renderMarkdownIntoDiv()})}renderMarkdownIntoDiv(){const{targetElement:n,props:o}=this;if(n===null)return;const{contents:r,createNode:i}=o,l=Xs(r),s=document.createRange();s.selectNodeContents(n),s.deleteContents();let c=i==null?void 0:i(l);if(c===void 0){const f=document.createElement("template");f.innerHTML=l,c=f.content}n.append(c);const u=n.getElementsByTagName("a");for(const f of u)f.target="_blank",f.rel="noreferrer noopener"}render(){return this.renderMarkdownIntoDiv(),bt.createElement(na,{ref:this.containerRefHook})}}const ra=Qt("textarea")({name:"InputBox",class:"gdg-izpuzkl",propsAsIs:!1}),ia=Qt("div")({name:"ShadowBox",class:"gdg-s69h75o",propsAsIs:!1}),la=Qt("div")({name:"GrowingEntryStyle",class:"gdg-g1y0xocz",propsAsIs:!1});let Qi=0;const Wr=e=>{const{placeholder:t,value:n,onKeyDown:o,highlight:r,altNewline:i,validatedSelection:l,...s}=e,{onChange:c,className:u}=s,f=a.useRef(null),m=n??"";Zt(c!==void 0,"GrowingEntry must be a controlled input area");const[g]=a.useState(()=>"input-box-"+(Qi=(Qi+1)%1e7));a.useEffect(()=>{const h=f.current;if(h===null||h.disabled)return;const b=m.toString().length;h.focus(),h.setSelectionRange(r?0:b,b)},[]),a.useLayoutEffect(()=>{var h;if(l!==void 0){const b=typeof l=="number"?[l,null]:l;(h=f.current)==null||h.setSelectionRange(b[0],b[1])}},[l]);const w=a.useCallback(h=>{h.key==="Enter"&&h.shiftKey&&i===!0||o==null||o(h)},[i,o]);return a.createElement(la,{className:"gdg-growing-entry"},a.createElement(ia,{className:u},m+` +`),a.createElement(ra,{...s,className:(u??"")+" gdg-input",id:g,ref:f,onKeyDown:w,value:m,placeholder:t,dir:"auto"}))},si={};let Gn=null;function sa(){const e=document.createElement("div");return e.style.opacity="0",e.style.pointerEvents="none",e.style.position="fixed",document.body.append(e),e}function Fo(e){const t=e.toLowerCase().trim();if(si[t]!==void 0)return si[t];Gn=Gn||sa(),Gn.style.color="#000",Gn.style.color=t;const n=getComputedStyle(Gn).color;Gn.style.color="#fff",Gn.style.color=t;const o=getComputedStyle(Gn).color;if(o!==n)return[0,0,0,1];let r=o.replace(/[^\d.,]/g,"").split(",").map(Number.parseFloat);return r.length<4&&r.push(1),r=r.map(i=>Number.isNaN(i)?0:i),si[t]=r,r}function so(e,t){const[n,o,r]=Fo(e);return`rgba(${n}, ${o}, ${r}, ${t})`}const el=new Map;function tl(e,t){const n=`${e}-${t}`,o=el.get(n);if(o!==void 0)return o;const r=Jt(e,t);return el.set(n,r),r}function Jt(e,t){if(t===void 0)return e;const[n,o,r,i]=Fo(e);if(i===1)return e;const[l,s,c,u]=Fo(t),f=i+u*(1-i),m=(i*n+u*l*(1-i))/f,g=(i*o+u*s*(1-i))/f,w=(i*r+u*c*(1-i))/f;return`rgba(${m}, ${g}, ${w}, ${f})`}function xu(e,t,n){if(n<=0)return e;if(n>=1)return t;const o=[...Fo(e)];o[0]=o[0]*o[3],o[1]=o[1]*o[3],o[2]=o[2]*o[3];const r=[...Fo(t)];r[0]=r[0]*r[3],r[1]=r[1]*r[3],r[2]=r[2]*r[3];const i=n,l=1-n,s=o[3]*l+r[3]*i,c=Math.floor((o[0]*l+r[0]*i)/s),u=Math.floor((o[1]*l+r[1]*i)/s),f=Math.floor((o[2]*l+r[2]*i)/s);return`rgba(${c}, ${u}, ${f}, ${s})`}function ku(e){if(e==="transparent")return 0;function t(i){const l=i/255;return l<=.04045?l/12.92:Math.pow((l+.055)/1.055,2.4)}const[n,o,r]=Fo(e);return .2126*t(n)+.7152*t(o)+.0722*t(r)}function aa(e,t){return bt.useMemo(()=>e.map((n,o)=>({group:n.group,grow:n.grow,hasMenu:n.hasMenu,icon:n.icon,id:n.id,menuIcon:n.menuIcon,overlayIcon:n.overlayIcon,sourceIndex:o,sticky:o=i.x&&n=i.y&&o=t.span[0]&&n.current.cell[0]<=t.span[1]}function Fl(e,t){const[n,o]=e;return n>=t.x&&n=t.y&&ol)return!1;if(t.span===void 0)return s>=o&&s<=r;const[u,f]=t.span;return u>=o&&u<=r||f>=o&&u<=r||ur}function ua(e,t,n,o){let r=0;if(n.current===void 0)return r;const i=n.current.range;(o||i.height*i.width>1)&&nl(e,t,i)&&r++;for(const l of n.current.rangeStack)nl(e,t,l)&&r++;return r}function Tl(e,t){let n=e;if(t!==void 0){let o=[...e];const r=n[t.src];t.src>t.dest?(o.splice(t.src,1),o.splice(t.dest,0,r)):(o.splice(t.dest+1,0,r),o.splice(t.src,1)),o=o.map((i,l)=>({...i,sticky:e[l].sticky})),n=o}return n}function Ho(e,t){let n=0;const o=Tl(e,t);for(let r=0;r0)for(const u of l)n-=u.width;let s=t,c=r??0;for(;c<=n&&s=m)return b}const g=i-u,w=e-(c??0);if(typeof l=="number"){const h=Math.floor((w-f)/l)+s;return h>=g?void 0:h}else{let h=f;for(let b=s;b"u";async function ma(){var e;ga||((e=document==null?void 0:document.fonts)==null?void 0:e.ready)===void 0||(await document.fonts.ready,Hr=0,Jo={},Ps())}ma();function Al(e,t,n,o){return`${e}_${o??(t==null?void 0:t.font)}_${n}`}function To(e,t,n,o="middle"){const r=Al(e,t,o,n);let i=Jo[r];return i===void 0&&(i=t.measureText(e),Jo[r]=i,Hr++),Hr>1e4&&(Jo={},Hr=0),i}function zl(e,t){const n=Al(e,void 0,"middle",t);return Jo[n]}function Vn(e,t){return typeof t!="string"&&(t=t.baseFontFull),wa(e,t)}function ol(e,t){const n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";e.save(),e.textBaseline=t;const o=e.measureText(n);return e.restore(),o}const rl=[];function wa(e,t){for(const i of rl)if(i.key===t)return i.val;const n=ol(e,"alphabetic"),r=-(ol(e,"middle").actualBoundingBoxDescent-n.actualBoundingBoxDescent)+n.actualBoundingBoxAscent/2;return rl.push({key:t,val:r}),r}function ba(e,t,n,o,r,i){const{ctx:l,rect:s,theme:c}=e;let u=Number.MAX_SAFE_INTEGER;const f=500;if(t!==void 0&&(u=n-t,un&&(e=e.slice(0,n)),e}function pa(e,t,n,o,r,i,l,s,c,u){const f=s.baseFontFull,m=Ws(e,t,f,r-s.cellHorizontalPadding*2,u??!1),g=Ll(e,f),w=s.lineHeight*g,h=g+w*(m.length-1),b=h+s.cellVerticalPadding>i;b&&(e.save(),e.rect(n,o,r,i),e.clip());const v=o+i/2-h/2;let x=Math.max(o+s.cellVerticalPadding,v);for(const C of m)if(Bl(e,C,n,x,r,g,l,s,c),x+=w,x>o+i)break;b&&e.restore()}function Sn(e,t,n,o,r){const{ctx:i,rect:l,theme:s}=e,{x:c,y:u,width:f,height:m}=l;o=o??!1,o||(t=ya(t,f));const g=Vn(i,s),w=xi(t)==="rtl";if(n===void 0&&w&&(n="right"),w&&(i.direction="rtl"),t.length>0){let h=!1;n==="right"?(i.textAlign="right",h=!0):n!==void 0&&n!=="left"&&(i.textAlign=n,h=!0),o?pa(i,t,c,u,f,m,g,s,n,r):Bl(i,t,c,u,f,m,g,s,n),h&&(i.textAlign="start"),w&&(i.direction="inherit")}}function Mn(e,t,n,o,r,i){typeof i=="number"&&(i={tl:i,tr:i,br:i,bl:i}),i={tl:Math.max(0,Math.min(i.tl,r/2,o/2)),tr:Math.max(0,Math.min(i.tr,r/2,o/2)),bl:Math.max(0,Math.min(i.bl,r/2,o/2)),br:Math.max(0,Math.min(i.br,r/2,o/2))},e.moveTo(t+i.tl,n),e.arcTo(t+o,n,t+o,n+i.tr,i.tr),e.arcTo(t+o,n+r,t+o-i.br,n+r,i.br),e.arcTo(t,n+r,t,n+r-i.bl,i.bl),e.arcTo(t,n,t+i.tl,n,i.tl)}function va(e,t,n){e.arc(t,n-1.25*3.5,1.25,0,2*Math.PI,!1),e.arc(t,n,1.25,0,2*Math.PI,!1),e.arc(t,n+1.25*3.5,1.25,0,2*Math.PI,!1)}function Ca(e,t,n){const o=function(s,c){const u=c.x-s.x,f=c.y-s.y,m=Math.sqrt(u*u+f*f),g=u/m,w=f/m;return{x:u,y:c.y-s.y,len:m,nx:g,ny:w,ang:Math.atan2(w,g)}};let r;const i=t.length;let l=t[i-1];for(let s=0;s1?1:g),b=1,v=!1;w<0?h<0?h=Math.PI+h:(h=Math.PI-h,b=-1,v=!0):h>0&&(b=-1,v=!0),r=c.radius!==void 0?c.radius:n;const x=h/2;let C=Math.abs(Math.cos(x)*r/Math.sin(x)),F;C>Math.min(f.len/2,m.len/2)?(C=Math.min(f.len/2,m.len/2),F=Math.abs(C*Math.sin(x)/Math.cos(x))):F=r;let X=c.x+m.nx*C,N=c.y+m.ny*C;X+=-m.ny*F*b,N+=m.nx*F*b,e.arc(X,N,F,f.ang+Math.PI/2*b,m.ang-Math.PI/2*b,v),l=c,c=u}e.closePath()}function bi(e,t,n,o,r,i,l,s,c,u,f,m,g,w,h){const b={x:0,y:i+u,width:0,height:0};if(e>=w.length||t>=f||t<-2||e<0)return b;const v=i-r;if(e>=m){const x=l>e?-1:1,C=Ho(w);b.x+=C+c;for(let F=l;F!==e;F+=x)b.x+=w[x===1?F:F-1].width*x}else for(let x=0;x0&&tr(w[x-1].group,C)&&w[x-1].sticky===F;){const N=w[x-1];b.x-=N.width,b.width+=N.width,x--}let X=e;for(;X+1n&&(b.width=n-b.x)}}else if(t>=f-g){let x=f-t;for(b.y=o;x>0;){const C=t+x-1;b.height=typeof h=="number"?h:h(C),b.y-=b.height,x--}b.height+=1}else{const x=s>t?-1:1;if(typeof h=="number"){const C=t-s;b.y+=C*h}else for(let C=s;C!==t;C+=x)b.y+=h(C)*x;b.height=(typeof h=="number"?h:h(t))+1}return b}const ki=1<<21;function mn(e,t){return(t+2)*ki+e}function Pl(e){return e%ki}function Si(e){return Math.floor(e/ki)-2}function Mi(e){const t=Pl(e),n=Si(e);return[t,n]}class Wl{constructor(){Oe(this,"visibleWindow",{x:0,y:0,width:0,height:0});Oe(this,"freezeCols",0);Oe(this,"freezeRows",[]);Oe(this,"isInWindow",t=>{const n=Pl(t),o=Si(t),r=this.visibleWindow,i=n>=r.x&&n<=r.x+r.width||n=r.y&&o<=r.y+r.height||this.freezeRows.includes(o);return i&&l})}setWindow(t,n,o){this.visibleWindow.x===t.x&&this.visibleWindow.y===t.y&&this.visibleWindow.width===t.width&&this.visibleWindow.height===t.height&&this.freezeCols===n&&Do(this.freezeRows,o)||(this.visibleWindow=t,this.freezeCols=n,this.freezeRows=o,this.clearOutOfWindow())}}class xa extends Wl{constructor(){super(...arguments);Oe(this,"cache",new Map);Oe(this,"setValue",(n,o)=>{this.cache.set(mn(n[0],n[1]),o)});Oe(this,"getValue",n=>this.cache.get(mn(n[0],n[1])));Oe(this,"clearOutOfWindow",()=>{for(const[n]of this.cache.entries())this.isInWindow(n)||this.cache.delete(n)})}}class Qo{constructor(t=[]){Oe(this,"cells");this.cells=new Set(t.map(n=>mn(n[0],n[1])))}add(t){this.cells.add(mn(t[0],t[1]))}has(t){return t===void 0?!1:this.cells.has(mn(t[0],t[1]))}remove(t){this.cells.delete(mn(t[0],t[1]))}clear(){this.cells.clear()}get size(){return this.cells.size}hasHeader(){for(const t of this.cells)if(Si(t)<0)return!0;return!1}hasItemInRectangle(t){for(let n=t.y;n{const w=Sa(e,g[o],t,c);return u=Math.max(u,w),w});if(f.length>5&&s){u=0;let g=0;for(const h of f)g+=h;const w=g/f.length;for(let h=0;h=w*2?f[h]=0:u=Math.max(u,f[h])}u=Math.max(u,e.measureText(n.title).width+16+(n.icon===void 0?0:28));const m=Math.max(Math.ceil(i),Math.min(Math.floor(l),Math.ceil(u)));return{...n,width:m}}function Ma(e,t,n,o,r,i,l,s,c){const u=a.useRef(t),f=a.useRef(n),m=a.useRef(l);u.current=t,f.current=n,m.current=l;const[g,w]=a.useMemo(()=>{if(typeof window>"u")return[null,null];const C=document.createElement("canvas");return C.style.display="none",C.style.opacity="0",C.style.position="fixed",[C,C.getContext("2d",{alpha:!1})]},[]);a.useLayoutEffect(()=>(g&&document.documentElement.append(g),()=>{g==null||g.remove()}),[g]);const h=a.useRef({}),b=a.useRef(),[v,x]=a.useState();return a.useLayoutEffect(()=>{const C=f.current;if(C===void 0||e.every(Rr))return;let F=Math.max(1,10-Math.floor(e.length/1e4)),X=0;F1&&(F--,X=1);const N={x:0,y:0,width:e.length,height:Math.min(u.current,F)},A={x:0,y:u.current-1,width:e.length,height:1};(async()=>{const K=C(N,c.signal),S=X>0?C(A,c.signal):void 0;let $;typeof K=="object"?$=K:$=await ji(K),S!==void 0&&(typeof S=="object"?$=[...$,...S]:$=[...$,...await ji(S)]),b.current=e,x($)})()},[c.signal,e]),a.useMemo(()=>{let F=e.every(Rr)?e:w===null?e.map(z=>Rr(z)?z:{...z,width:yi}):(w.font=m.current.baseFontFull,e.map((z,K)=>{if(Rr(z))return z;if(h.current[z.id]!==void 0)return{...z,width:h.current[z.id]};if(v===void 0||b.current!==e||z.id===void 0)return{...z,width:yi};const S=Xl(w,l,z,K,v,r,i,!0,s);return h.current[z.id]=S.width,S})),X=0,N=0;const A=[];for(const[z,K]of F.entries())X+=K.width,K.grow!==void 0&&K.grow>0&&(N+=K.grow,A.push(z));if(X0){const z=[...F],K=o-X;let S=K;for(let $=0;${const t=e.fgColor,n=e.bgColor;return` + ${ct}`},Ea=e=>{const t=e.fgColor,n=e.bgColor;return` + ${ct}`},Ia=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + + `},Da=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + +`},Fa=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + +`},Yl=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + + + + `},Ha=e=>{const t=e.bgColor;return`${ct} + + + + +`},Ta=Yl,Aa=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + +`},za=e=>{const t=e.fgColor,n=e.bgColor;return` + ${ct} + + + + + + + + `},Ba=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + + +`},La=e=>{const t=e.fgColor,n=e.bgColor;return` + ${ct} + + + `},Pa=e=>{const t=e.fgColor,n=e.bgColor;return` + ${ct} + + + `},Wa=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + +`},$a=e=>{const t=e.fgColor,n=e.bgColor;return` + ${ct} + + + + `},Oa=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + + +`},Na=e=>{const t=e.fgColor,n=e.bgColor;return` + ${ct} + + + + `},Xa=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + +`},Ya=e=>{const t=e.fgColor,n=e.bgColor;return` + ${ct} + + + `},Ga=e=>{const t=e.fgColor,n=e.bgColor;return` + ${ct} + + + `},Ka=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + +`},Ua=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + + + + +`},_a=e=>{const t=e.fgColor,n=e.bgColor;return` + ${ct} + + + `},Va=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + +`},qa=e=>{const t=e.fgColor,n=e.bgColor;return` + ${ct} + + + `},ja=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + + +`},Za=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} + + +`},Ja=e=>{const t=e.fgColor;return` + + + `},Qa=e=>{const t=e.fgColor;return` + + + +`},ec={headerRowID:Ra,headerNumber:Ia,headerCode:Ea,headerString:Da,headerBoolean:Fa,headerAudioUri:Ta,headerVideoUri:Aa,headerEmoji:za,headerImage:Ba,headerUri:Yl,headerPhone:La,headerMarkdown:Pa,headerDate:Wa,headerTime:$a,headerEmail:Oa,headerReference:Na,headerIfThenElse:Xa,headerSingleValue:Ya,headerLookup:Ga,headerTextTemplate:Ka,headerMath:Ua,headerRollup:_a,headerJoinStrings:Va,headerSplitString:qa,headerGeoDistance:ja,headerArray:Za,rowOwnerOverlay:Ja,protectedColumnOverlay:Qa,renameIcon:Ha};function tc(e,t){return e==="normal"?[t.bgIconHeader,t.fgIconHeader]:e==="selected"?["white",t.accentColor]:[t.accentColor,t.bgHeader]}class nc{constructor(t,n){Oe(this,"onSettled");Oe(this,"spriteMap",new Map);Oe(this,"headerIcons");Oe(this,"inFlight",0);this.onSettled=n,this.headerIcons=t??{}}drawSprite(t,n,o,r,i,l,s,c=1){const[u,f]=tc(n,s),m=l*Math.ceil(window.devicePixelRatio),g=`${u}_${f}_${m}_${t}`;let w=this.spriteMap.get(g);if(w===void 0){const h=this.headerIcons[t];if(h===void 0)return;w=document.createElement("canvas");const b=w.getContext("2d");if(b===null)return;const v=new Image;v.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(h({fgColor:f,bgColor:u}))}`,this.spriteMap.set(g,w);const x=v.decode();if(x===void 0)return;this.inFlight++,x.then(()=>{b.drawImage(v,0,0,m,m)}).finally(()=>{this.inFlight--,this.inFlight===0&&this.onSettled()})}else c<1&&(o.globalAlpha=c),o.drawImage(w,0,0,m,m,r,i,l,l),c<1&&(o.globalAlpha=1)}}function Gl(e){if(e.length===0)return;let t;for(const n of e)t=Math.min(t??n.y,n.y)}function $r(e,t,n,o,r,i,l,s,c){s=s??t;let u=t,f=e;const m=o-i;let g=!1;for(;us&&c(u,f,w,!1,l&&f===o-1)===!0){g=!0;break}u+=w,f++}if(!g){u=n;for(let w=0;w!w.sticky))==null?void 0:g.sourceIndex)??0;if(c>m){const w=Math.max(s,m);let h=t,b=o;for(let v=i.sourceIndex-1;v>=w;v--)h-=l[v].width,b+=l[v].width;for(let v=i.sourceIndex+1;v<=c;v++)b+=l[v].width;f={x:h,y:n,width:b,height:r}}if(m>s){const w=Math.min(c,m-1);let h=t,b=o;for(let v=i.sourceIndex-1;v>=s;v--)h-=l[v].width,b+=l[v].width;for(let v=i.sourceIndex+1;v<=w;v++)b+=l[v].width;u={x:h,y:n,width:b,height:r}}return[u,f]}function oc(e,t,n,o){if(o==="any")return _l(e,{x:t,y:n,width:1,height:1});if(o==="vertical"&&(t=e.x),o==="horizontal"&&(n=e.y),Fl([t,n],e))return;const r=t-e.x,i=e.x+e.width-t,l=n-e.y+1,s=e.y+e.height-n,c=Math.min(o==="vertical"?Number.MAX_SAFE_INTEGER:r,o==="vertical"?Number.MAX_SAFE_INTEGER:i,o==="horizontal"?Number.MAX_SAFE_INTEGER:l,o==="horizontal"?Number.MAX_SAFE_INTEGER:s);return c===s?{x:e.x,y:e.y+e.height,width:e.width,height:n-e.y-e.height+1}:c===l?{x:e.x,y:n,width:e.width,height:e.y-n}:c===i?{x:e.x+e.width,y:e.y,width:t-e.x-e.width+1,height:e.height}:{x:t,y:e.y,width:e.x-t,height:e.height}}function nr(e,t,n,o,r,i,l,s){return e<=r+l&&r<=e+n&&t<=i+s&&i<=t+o}function lo(e,t,n){return t>=e.x&&t<=e.x+e.width&&n>=e.y&&n<=e.y+e.height}function _l(e,t){const n=Math.min(e.x,t.x),o=Math.min(e.y,t.y),r=Math.max(e.x+e.width,t.x+t.width)-n,i=Math.max(e.y+e.height,t.y+t.height)-o;return{x:n,y:o,width:r,height:i}}function rc(e,t){return e.x<=t.x&&e.y<=t.y&&e.x+e.width>=t.x+t.width&&e.y+e.height>=t.y+t.height}function ic(e,t,n,o){if(e.x>t||e.y>n||e.x<0&&e.y<0&&e.x+e.width>t&&e.y+e.height>n)return;if(e.x>=0&&e.y>=0&&e.x+e.width<=t&&e.y+e.height<=n)return e;const r=-4,i=-4,l=t+4,s=n+4,c=r-e.x,u=e.x+e.width-l,f=i-e.y,m=e.y+e.height-s,g=c>0?e.x+Math.floor(c/o)*o:e.x,w=u>0?e.x+e.width-Math.floor(u/o)*o:e.x+e.width,h=f>0?e.y+Math.floor(f/o)*o:e.y,b=m>0?e.y+e.height-Math.floor(m/o)*o:e.y+e.height;return{x:g,y:h,width:w-g,height:b-h}}function lc(e,t,n,o,r){const[i,l,s,c]=t,[u,f,m,g]=r,{x:w,y:h,width:b,height:v}=e,x=[];if(b<=0||v<=0)return x;const C=w+b,F=h+v,X=ws,z=h+v>c,K=w>=i&&wi&&C<=s||ws,S=h>=l&&hl&&F<=c||hc;if(K&&S){const W=Math.max(w,i),I=Math.max(h,l),R=Math.min(C,s),M=Math.min(F,c);x.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:u,y:f,width:m-u+1,height:g-f+1}})}if(X&&N){const W=w,I=h,R=Math.min(C,i),M=Math.min(F,l);x.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:0,y:0,width:u+1,height:f+1}})}if(N&&K){const W=Math.max(w,i),I=h,R=Math.min(C,s),M=Math.min(F,l);x.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:u,y:0,width:m-u+1,height:f+1}})}if(N&&A){const W=Math.max(w,s),I=h,R=C,M=Math.min(F,l);x.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:m,y:0,width:n-m+1,height:f+1}})}if(X&&S){const W=w,I=Math.max(h,l),R=Math.min(C,i),M=Math.min(F,c);x.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:0,y:f,width:u+1,height:g-f+1}})}if(A&&S){const W=Math.max(w,s),I=Math.max(h,l),R=C,M=Math.min(F,c);x.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:m,y:f,width:n-m+1,height:g-f+1}})}if(X&&z){const W=w,I=Math.max(h,c),R=Math.min(C,i),M=F;x.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:0,y:g,width:u+1,height:o-g+1}})}if(z&&K){const W=Math.max(w,i),I=Math.max(h,c),R=Math.min(C,s),M=F;x.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:u,y:g,width:m-u+1,height:o-g+1}})}if(A&&z){const W=Math.max(w,s),I=Math.max(h,c),R=C,M=F;x.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:m,y:g,width:n-m+1,height:o-g+1}})}return x}const sc={kind:Z.Loading,allowOverlay:!1};function il(e,t,n,o,r,i,l,s,c,u,f,m,g,w,h,b,v,x,C,F,X,N,A,z,K,S,$,W,I,R,M,re,ee,ce,Ce){let Fe=(F==null?void 0:F.size)??Number.MAX_SAFE_INTEGER;const j=performance.now();let V=R.baseFontFull;e.font=V;const xe={ctx:e},ne=[0,0],be=v>0?ao(c,v,u):0;let ye,U;const ke=Gl(C);return qn(t,s,i,l,r,(pe,je,tt,gt,Qe)=>{const Ae=Math.max(0,gt-je),Ve=je+Ae,Me=r+1,dt=pe.width-Ae,rt=o-r-1;if(C.length>0){let Ne=!1;for(let Te=0;Te{e.save(),e.beginPath(),e.rect(Ve,Me,dt,rt),e.clip()},ie=X.columns.hasIndex(pe.sourceIndex),We=m(pe.group??"").overrideTheme,Ie=pe.themeOverride===void 0&&We===void 0?R:_n(R,We,pe.themeOverride),Re=Ie.baseFontFull;Re!==V&&(V=Re,e.font=Re),it();let fe;return $r(Qe,tt,o,c,u,v,x,ke,(Ne,Te,qe,oe,He)=>{var En,en,$t;if(Te<0||(ne[0]=pe.sourceIndex,ne[1]=Te,F!==void 0&&!F.has(ne)))return;if(C.length>0){let _e=!1;for(let kt=0;ktUe.span!==void 0&&_e>=Ue.span[0]&&_e<=Ue.span[1]);Et&&!h&&b?It=0:Et&&b&&(It=Math.max(It,1)),An&&It++,Et||(et&&It++,ie&&!He&&It++);const zn=Ue.kind===Z.Protected?mt.bgCellMedium:mt.bgCell;let at;if((oe||zn!==R.bgCell)&&(at=Jt(zn,at)),It>0||$e){$e&&(at=Jt(mt.bgHeader,at));for(let _e=0;_eCe&&!yt){const _e=mt.baseFontFull;_e!==V&&(e.font=_e,V=_e),fe=Vl(e,Ue,pe.sourceIndex,Te,Pe,Ze,ut,Ne,Xe,qe,It>0,mt,at??mt.bgCell,z,K,(Wt==null?void 0:Wt.hoverAmount)??0,$,I,j,W,fe,M,re,ee,ce)}return Rn&&e.restore(),Ue.style==="faded"&&(e.globalAlpha=1),Fe--,ze&&(e.restore(),($t=fe==null?void 0:fe.deprep)==null||$t.call(fe,xe),fe=void 0,it(),V=Re,e.font=Re),Fe<=0}),e.restore(),Fe<=0}),ye}const Uo=[0,0],_o={x:0,y:0,width:0,height:0},ai=[void 0,()=>{}];let pi=!1;function ac(){pi=!0}function Vl(e,t,n,o,r,i,l,s,c,u,f,m,g,w,h,b,v,x,C,F,X,N,A,z,K){var re,ee;let S,$;v!==void 0&&v[0][0]===n&&v[0][1]===o&&(S=v[1][0],$=v[1][1]);let W;Uo[0]=n,Uo[1]=o,_o.x=l,_o.y=s,_o.width=c,_o.height=u,ai[0]=A.getValue(Uo),ai[1]=ce=>A.setValue(Uo,ce),pi=!1;const I={ctx:e,theme:m,col:n,row:o,cell:t,rect:_o,highlighted:f,cellFillColor:g,hoverAmount:b,frameTime:C,hoverX:S,drawState:ai,hoverY:$,imageLoader:w,spriteManager:h,hyperWrapping:x,overrideCursor:S!==void 0?K:void 0,requestAnimationFrame:ac},R=ba(I,t.lastUpdated,C,X,r,i),M=z(t);if(M!==void 0){(X==null?void 0:X.renderer)!==M&&((re=X==null?void 0:X.deprep)==null||re.call(X,I),X=void 0);const ce=(ee=M.drawPrep)==null?void 0:ee.call(M,I,X);F!==void 0&&!Eo(I.cell)?F(I,()=>M.draw(I,t)):M.draw(I,t),W=ce===void 0?void 0:{deprep:ce==null?void 0:ce.deprep,fillStyle:ce==null?void 0:ce.fillStyle,font:ce==null?void 0:ce.font,renderer:M}}return(R||pi)&&(N==null||N(Uo)),W}function Ri(e,t,n,o,r,i,l,s,c=-20,u=-20,f=32,m="center",g="square"){const w=Math.floor(r+l/2),h=g==="circle"?1e4:t.roundingRadius??4;let b=El(f,l,t.cellVerticalPadding),v=b/2;const x=Rl(m,o,i,t.cellHorizontalPadding,b),C=Ml(x,w,b),F=Il(o+c,r+u,C);switch(n){case!0:{e.beginPath(),Mn(e,x-b/2,w-b/2,b,b,h),g==="circle"&&(v*=.8,b*=.8),e.fillStyle=s?t.accentColor:t.textMedium,e.fill(),e.beginPath(),e.moveTo(x-v+b/4.23,w-v+b/1.97),e.lineTo(x-v+b/2.42,w-v+b/1.44),e.lineTo(x-v+b/1.29,w-v+b/3.25),e.strokeStyle=t.bgCell,e.lineJoin="round",e.lineCap="round",e.lineWidth=1.9,e.stroke();break}case Tr:case!1:{e.beginPath(),Mn(e,x-b/2+.5,w-b/2+.5,b-1,b-1,h),e.lineWidth=1,e.strokeStyle=F?t.textDark:t.textMedium,e.stroke();break}case vi:{e.beginPath(),Mn(e,x-b/2,w-b/2,b,b,h),e.fillStyle=F?t.textMedium:t.textLight,e.fill(),g==="circle"&&(v*=.8,b*=.8),e.beginPath(),e.moveTo(x-b/3,w),e.lineTo(x+b/3,w),e.strokeStyle=t.bgCell,e.lineCap="round",e.lineWidth=1.9,e.stroke();break}default:er()}}function cc(e,t,n,o,r,i,l,s,c,u,f,m,g,w,h,b,v,x,C){var S,$,W,I;const F=l+s;if(F<=0)return;e.fillStyle=m.bgHeader,e.fillRect(0,0,r,F);const X=(S=o==null?void 0:o[0])==null?void 0:S[0],N=($=o==null?void 0:o[0])==null?void 0:$[1],A=(W=o==null?void 0:o[1])==null?void 0:W[0],z=(I=o==null?void 0:o[1])==null?void 0:I[1],K=m.headerFontFull;e.font=K,qn(t,0,i,0,F,(R,M,re,ee)=>{var pe;if(v!==void 0&&!v.has([R.sourceIndex,-1]))return;const ce=Math.max(0,ee-M);e.save(),e.beginPath(),e.rect(M+ce,s,R.width-ce,l),e.clip();const Ce=b(R.group??"").overrideTheme,Fe=R.themeOverride===void 0&&Ce===void 0?m:_n(m,Ce,R.themeOverride);Fe.bgHeader!==m.bgHeader&&(e.fillStyle=Fe.bgHeader,e.fill()),Fe!==m&&(e.font=Fe.baseFontFull);const j=f.columns.hasIndex(R.sourceIndex),V=c!==void 0||u,xe=!V&&N===-1&&X===R.sourceIndex,ne=V?0:((pe=w.find(je=>je.item[0]===R.sourceIndex&&je.item[1]===-1))==null?void 0:pe.hoverAmount)??0,be=(f==null?void 0:f.current)!==void 0&&f.current.cell[0]===R.sourceIndex,ye=j?Fe.accentColor:be?Fe.bgHeaderHasFocus:Fe.bgHeader,U=n?s:0,ke=R.sourceIndex===0?0:1;j?(e.fillStyle=ye,e.fillRect(M+ke,U,R.width-ke,l)):(be||ne>0)&&(e.beginPath(),e.rect(M+ke,U,R.width-ke,l),be&&(e.fillStyle=Fe.bgHeaderHasFocus,e.fill()),ne>0&&(e.globalAlpha=ne,e.fillStyle=Fe.bgHeaderHovered,e.fill(),e.globalAlpha=1)),Zl(e,M,U,R.width,l,R,j,Fe,xe,xe?A:void 0,xe?z:void 0,be,ne,g,x,C),e.restore()}),n&&dc(e,t,r,i,s,o,m,g,w,h,b,v)}function dc(e,t,n,o,r,i,l,s,c,u,f,m){const[w,h]=(i==null?void 0:i[0])??[];let b=0;Kl(t,n,o,r,(v,x,C,F,X,N)=>{if(m!==void 0&&!m.hasItemInRectangle({x:v[0],y:-2,width:v[1]-v[0]+1,height:1}))return;e.save(),e.beginPath(),e.rect(C,F,X,N),e.clip();const A=f(x),z=(A==null?void 0:A.overrideTheme)===void 0?l:_n(l,A.overrideTheme),K=h===-2&&w!==void 0&&w>=v[0]&&w<=v[1],S=K?z.bgHeaderHovered:z.bgHeader;if(S!==l.bgHeader&&(e.fillStyle=S,e.fill()),e.fillStyle=z.textGroupHeader??z.textHeader,A!==void 0){let $=C;if(A.icon!==void 0&&(s.drawSprite(A.icon,"normal",e,$+8,(r-20)/2,20,z),$+=26),e.fillText(A.name,$+8,r/2+Vn(e,l.headerFontFull)),A.actions!==void 0&&K){const W=ql({x:C,y:F,width:X,height:N},A.actions);e.beginPath();const I=W[0].x-10,R=C+X-I;e.rect(I,0,R,r);const M=e.createLinearGradient(I,0,I+R,0),re=so(S,0);M.addColorStop(0,re),M.addColorStop(10/R,S),M.addColorStop(1,S),e.fillStyle=M,e.fill(),e.globalAlpha=.6;const[ee,ce]=(i==null?void 0:i[1])??[-1,-1];for(let Ce=0;Ce35){const F=h?35:o-35,X=h?35*.7:o-35*.7,N=F/o,A=X/o,z=e.createLinearGradient(t,0,t+o,0),K=so(v,0);z.addColorStop(h?1:0,v),z.addColorStop(N,v),z.addColorStop(A,K),z.addColorStop(h?0:1,K),e.fillStyle=z}else e.fillStyle=v;if(h&&(e.textAlign="right"),b.textBounds!==void 0&&e.fillText(i.title,h?b.textBounds.x+b.textBounds.width:b.textBounds.x,n+r/2+Vn(e,s.headerFontFull)),h&&(e.textAlign="left"),i.indicatorIcon!==void 0&&b.indicatorIconBounds!==void 0&&(!x||!nr(b.menuBounds.x,b.menuBounds.y,b.menuBounds.width,b.menuBounds.height,b.indicatorIconBounds.x,b.indicatorIconBounds.y,b.indicatorIconBounds.width,b.indicatorIconBounds.height))){let C=l?"selected":"normal";i.style==="highlight"&&(C=l?"selected":"special"),g.drawSprite(i.indicatorIcon,C,e,b.indicatorIconBounds.x,b.indicatorIconBounds.y,b.indicatorIconBounds.width,s)}if(x&&b.menuBounds!==void 0){const C=b.menuBounds,F=u!==void 0&&f!==void 0&&lo(C,u+t,f+n);if(F||(e.globalAlpha=.7),i.menuIcon===void 0||i.menuIcon===Ar.Triangle){e.beginPath();const X=C.x+C.width/2-5.5,N=C.y+C.height/2-3;Ca(e,[{x:X,y:N},{x:X+11,y:N},{x:X+5.5,y:N+6}],1),e.fillStyle=v,e.fill()}else if(i.menuIcon===Ar.Dots){e.beginPath();const X=C.x+C.width/2,N=C.y+C.height/2;va(e,X,N),e.fillStyle=v,e.fill()}else{const X=C.x+(C.width-s.headerIconSize)/2,N=C.y+(C.height-s.headerIconSize)/2;g.drawSprite(i.menuIcon,"normal",e,X,N,s.headerIconSize,s)}F||(e.globalAlpha=1)}}function Zl(e,t,n,o,r,i,l,s,c,u,f,m,g,w,h,b){const v=xi(i.title)==="rtl",x=jl(e,i,t,n,o,r,s,v);h!==void 0?h({ctx:e,theme:s,rect:{x:t,y:n,width:o,height:r},column:i,columnIndex:i.sourceIndex,isSelected:l,hoverAmount:g,isHovered:c,hasSelectedCell:m,spriteManager:w,menuBounds:(x==null?void 0:x.menuBounds)??{x:0,y:0,height:0,width:0}},()=>ll(e,t,n,o,r,i,l,s,c,u,f,g,w,b,v,x)):ll(e,t,n,o,r,i,l,s,c,u,f,g,w,b,v,x)}function fc(e,t,n,o,r,i,l,s,c,u,f,m,g,w,h,b,v,x,C){if(x!==void 0||t[t.length-1]!==n[t.length-1])return;const F=Gl(v);qn(t,c,l,s,i,(X,N,A,z,K)=>{if(X!==t[t.length-1])return;N+=X.width;const S=Math.max(N,z);S>o||(e.save(),e.beginPath(),e.rect(S,i+1,1e4,r-i-1),e.clip(),$r(K,A,r,u,f,h,b,F,($,W,I,R)=>{if(!R&&v.length>0&&!v.some(Ce=>nr(N,$,1e4,I,Ce.x,Ce.y,Ce.width,Ce.height)))return;const M=g.hasIndex(W),re=w.hasIndex(W);e.beginPath();const ee=m==null?void 0:m(W),ce=ee===void 0?C:_n(C,ee);ce.bgCell!==C.bgCell&&(e.fillStyle=ce.bgCell,e.fillRect(N,$,1e4,I)),re&&(e.fillStyle=ce.bgHeader,e.fillRect(N,$,1e4,I)),M&&(e.fillStyle=ce.accentLight,e.fillRect(N,$,1e4,I))}),e.restore())})}function hc(e,t,n,o,r,i,l,s,c){let u=!1;for(const h of t)if(!h.sticky){u=l(h.sourceIndex);break}const f=c.horizontalBorderColor??c.borderColor,m=c.borderColor,g=u?Ho(t):0;let w;if(g!==0&&(w=tl(m,c.bgCell),e.beginPath(),e.moveTo(g+.5,0),e.lineTo(g+.5,o),e.strokeStyle=w,e.stroke()),r>0){const h=m===f&&w!==void 0?w:tl(f,c.bgCell),b=ao(i,r,s);e.beginPath(),e.moveTo(0,o-b+.5),e.lineTo(n,o-b+.5),e.strokeStyle=h,e.stroke()}}const Jl=(e,t,n)=>{let o=0,r=t,i=0,l=n;if(e!==void 0&&e.length>0){o=Number.MAX_SAFE_INTEGER,i=Number.MAX_SAFE_INTEGER,r=Number.MIN_SAFE_INTEGER,l=Number.MIN_SAFE_INTEGER;for(const s of e)o=Math.min(o,s.x-1),r=Math.max(r,s.x+s.width+1),i=Math.min(i,s.y-1),l=Math.max(l,s.y+s.height+1)}return{minX:o,maxX:r,minY:i,maxY:l}};function gc(e,t,n,o,r,i,l,s,c,u,f,m,g,w,h){var I;const b=h.bgCell,{minX:v,maxX:x,minY:C,maxY:F}=Jl(s,i,l),X=[],N=l-ao(w,g,u);let A=c,z=n,K=0;for(;A+r=C&&R<=F-1){const re=f==null?void 0:f(z),ee=re==null?void 0:re.bgCell;ee!==void 0&&ee!==b&&z>=w-g&&X.push({x:v,y:R,w:x-v,h:M,color:ee})}A+=M,z0)for(let R=0;R=v&&re<=x&&m(R+1)&&X.push({x:re,y:K,w:M.width,h:$,color:ee}),S+=M.width}if(X.length===0)return;let W;e.beginPath();for(let R=X.length-1;R>=0;R--){const M=X[R];W===void 0?W=M.color:M.color!==W&&(e.fillStyle=W,e.fill(),e.beginPath(),W=M.color),e.rect(M.x,M.y,M.w,M.h)}W!==void 0&&(e.fillStyle=W,e.fill()),e.beginPath()}function sl(e,t,n,o,r,i,l,s,c,u,f,m,g,w,h,b,v,x=!1){if(c!==void 0){e.beginPath(),e.save(),e.rect(0,0,i,l);for(const I of c)e.rect(I.x+1,I.y+1,I.width-1,I.height-1);e.clip("evenodd")}const C=v.horizontalBorderColor??v.borderColor,F=v.borderColor,{minX:X,maxX:N,minY:A,maxY:z}=Jl(s,i,l),K=[];e.beginPath();let S=.5;for(let I=0;I=X&&M<=N&&w(I+1)&&K.push({x1:M,y1:Math.max(u,A),x2:M,y2:Math.min(l,z),color:F})}let $=l+.5;for(let I=b-h;I=A&&re<=z-1){const ee=g==null?void 0:g(R);K.push({x1:X,y1:re,x2:N,y2:re,color:(ee==null?void 0:ee.horizontalBorderColor)??(ee==null?void 0:ee.borderColor)??C})}I+=m(R),R++}}const W=$s(K,I=>I.color);for(const I of Object.keys(W)){e.strokeStyle=I;for(const R of W[I])e.moveTo(R.x1,R.y1),e.lineTo(R.x2,R.y2);e.stroke(),e.beginPath()}c!==void 0&&e.restore()}function mc(e,t,n,o,r,i,l,s,c,u,f,m,g,w,h,b,v,x,C){const F=[];e.imageSmoothingEnabled=!1;const X=Math.min(r.cellYOffset,l),N=Math.max(r.cellYOffset,l);let A=0;if(typeof x=="number")A+=(N-X)*x;else for(let M=X;Mr.cellYOffset&&(A=-A),A+=c-r.translateY;const z=Math.min(r.cellXOffset,i),K=Math.max(r.cellXOffset,i);let S=0;for(let M=z;Mr.cellXOffset&&(S=-S),S+=s-r.translateX;const $=Ho(v);if(S!==0&&A!==0)return{regions:[]};const W=u>0?ao(g,u,x):0,I=f-$-Math.abs(S),R=m-w-W-Math.abs(A)-1;if(I>150&&R>150){const M={sx:0,sy:0,sw:f*h,sh:m*h,dx:0,dy:0,dw:f*h,dh:m*h};if(A>0?(M.sy=(w+1)*h,M.sh=R*h,M.dy=(A+w+1)*h,M.dh=R*h,F.push({x:0,y:w,width:f,height:A+1})):A<0&&(M.sy=(-A+w+1)*h,M.sh=R*h,M.dy=(w+1)*h,M.dh=R*h,F.push({x:0,y:m+A-W,width:f,height:-A+W})),S>0?(M.sx=$*h,M.sw=I*h,M.dx=(S+$)*h,M.dw=I*h,F.push({x:$-1,y:0,width:S+2,height:m})):S<0&&(M.sx=($-S)*h,M.sw=I*h,M.dx=$*h,M.dw=I*h,F.push({x:f+S,y:0,width:-S,height:m})),e.setTransform(1,0,0,1,0,0),C){if($>0&&S!==0&&A===0&&(o===void 0||(n==null?void 0:n[1])!==!1)){const re=$*h,ee=m*h;e.drawImage(t,0,0,re,ee,0,0,re,ee)}if(W>0&&S===0&&A!==0&&(o===void 0||(n==null?void 0:n[0])!==!1)){const re=(m-W)*h,ee=f*h,ce=W*h;e.drawImage(t,0,re,ee,ce,0,re,ee,ce)}}e.drawImage(t,M.sx,M.sy,M.sw,M.sh,M.dx,M.dy,M.dw,M.dh),e.scale(h,h)}return e.imageSmoothingEnabled=!0,{regions:F}}function wc(e,t,n,o,r,i,l,s,c,u){const f=[];return t!==e.cellXOffset||n!==e.cellYOffset||o!==e.translateX||r!==e.translateY||qn(c,n,o,r,s,(m,g,w,h)=>{if(m.sourceIndex===u){const b=Math.max(g,h)+1;return f.push({x:b,y:0,width:i-b,height:l}),!0}}),f}function bc(e,t){if(t===void 0||e.width!==t.width||e.height!==t.height||e.theme!==t.theme||e.headerHeight!==t.headerHeight||e.rowHeight!==t.rowHeight||e.rows!==t.rows||e.freezeColumns!==t.freezeColumns||e.getRowThemeOverride!==t.getRowThemeOverride||e.isFocused!==t.isFocused||e.isResizing!==t.isResizing||e.verticalBorder!==t.verticalBorder||e.getCellContent!==t.getCellContent||e.highlightRegions!==t.highlightRegions||e.selection!==t.selection||e.dragAndDropState!==t.dragAndDropState||e.prelightCells!==t.prelightCells||e.touchMode!==t.touchMode||e.maxScaleFactor!==t.maxScaleFactor)return!1;if(e.mappedColumns!==t.mappedColumns){if(e.mappedColumns.length>100||e.mappedColumns.length!==t.mappedColumns.length)return!1;let n;for(let o=0;oz.style!=="no-outline");if(v===void 0||v.length===0)return;const x=Ho(s),C=ao(w,g,m),F=[c,0,s.length,w-g],X=[x,0,t,n-C],N=v.map(z=>{const K=z.range,S=z.style??"dashed";return lc(K,F,t,n,X).map($=>{const W=$.rect,I=bi(W.x,W.y,t,n,f,u+f,o,r,i,l,w,c,g,s,m),R=W.width===1&&W.height===1?I:bi(W.x+W.width-1,W.y+W.height-1,t,n,f,u+f,o,r,i,l,w,c,g,s,m);return W.x+W.width>=s.length&&(R.width-=1),W.y+W.height>=w&&(R.height-=1),{color:z.color,style:S,clip:$.clip,rect:ic({x:I.x,y:I.y,width:R.x+R.width-I.x,height:R.y+R.height-I.y},t,n,8)}})}),A=()=>{e.lineWidth=1;let z=!1;for(const K of N)for(const S of K)if((S==null?void 0:S.rect)!==void 0&&nr(0,0,t,n,S.rect.x,S.rect.y,S.rect.width,S.rect.height)){const $=z,W=!rc(S.clip,S.rect);W&&(e.save(),e.rect(S.clip.x,S.clip.y,S.clip.width,S.clip.height),e.clip()),S.style==="dashed"&&!z?(e.setLineDash([5,3]),z=!0):(S.style==="solid"||S.style==="solid-outline")&&z&&(e.setLineDash([]),z=!1),e.strokeStyle=S.style==="solid-outline"?Jt(Jt(S.color,b.borderColor),b.bgCell):so(S.color,1),e.strokeRect(S.rect.x+.5,S.rect.y+.5,S.rect.width-1,S.rect.height-1),W&&(e.restore(),z=$)}z&&e.setLineDash([])};return A(),A}function cl(e,t,n,o,r){e.beginPath(),e.moveTo(t,n),e.lineTo(t,o),e.lineWidth=2,e.strokeStyle=r,e.stroke(),e.globalAlpha=1}function ci(e,t,n,o,r,i,l,s,c,u,f,m,g,w,h,b,v){if(f.current===void 0)return;const x=f.current.range,C=f.current.cell,F=[x.x+x.width-1,x.y+x.height-1];if(C[1]>=v&&F[1]>=v||!l.some(M=>M.sourceIndex===C[0]||M.sourceIndex===F[0]))return;const[N,A]=f.current.cell,z=g(f.current.cell),K=z.span??[N,N],S=A>=v-w,$=w>0&&!S?ao(v,w,m)-1:0,W=F[1];let I;if(qn(l,o,r,i,u,(M,re,ee,ce,Ce)=>{if(M.sticky&&N>M.sourceIndex)return;const Fe=M.sourceIndexK[1],V=M.sourceIndex===F[0];if(!(!V&&(Fe||j)))return $r(Ce,ee,n,v,m,w,h,void 0,(xe,ne,be)=>{if(ne!==A&&ne!==W)return;let ye=re,U=M.width;if(z.span!==void 0){const pe=Ul(z.span,re,xe,M.width,be,M,s),je=M.sticky?pe[0]:pe[1];je!==void 0&&(ye=je.x,U=je.width)}return ne===W&&V&&b&&(I=()=>{var pe;ce>ye&&!M.sticky&&(e.beginPath(),e.rect(ce,0,t-ce,n),e.clip()),e.beginPath(),e.rect(ye+U-4,xe+be-4,4,4),e.fillStyle=((pe=M.themeOverride)==null?void 0:pe.accentColor)??c.accentColor,e.fill()}),I!==void 0}),I!==void 0}),I===void 0)return;const R=()=>{e.save(),e.beginPath(),e.rect(0,u,t,n-u-$),e.clip(),I==null||I(),e.restore()};return R(),R}function yc(e,t,n,o,r,i,l,s,c){c===void 0||c.size===0||(e.beginPath(),Kl(t,n,i,o,(u,f,m,g,w,h)=>{c.hasItemInRectangle({x:u[0],y:-2,width:u[1]-u[0]+1,height:1})&&e.rect(m,g,w,h)}),qn(t,s,i,l,r,(u,f,m,g)=>{const w=Math.max(0,g-f),h=f+w+1,b=u.width-w-1;c.has([u.sourceIndex,-1])&&e.rect(h,o,b,r-o)}),e.clip())}function pc(e,t,n,o,r,i,l,s,c,u){let f=0;return qn(e,i,o,r,n,(m,g,w,h,b)=>($r(b,w,t,l,s,c,u,void 0,(v,x,C,F)=>{F||(f=Math.max(x,f))}),!0)),f}function dl(e,t){var Pe;const{canvasCtx:n,headerCanvasCtx:o,width:r,height:i,cellXOffset:l,cellYOffset:s,translateX:c,translateY:u,mappedColumns:f,enableGroups:m,freezeColumns:g,dragAndDropState:w,theme:h,drawFocus:b,headerHeight:v,groupHeaderHeight:x,disabledRows:C,rowHeight:F,verticalBorder:X,overrideCursor:N,isResizing:A,selection:z,fillHandle:K,freezeTrailingRows:S,rows:$,getCellContent:W,getGroupDetails:I,getRowThemeOverride:R,isFocused:M,drawHeaderCallback:re,prelightCells:ee,drawCellCallback:ce,highlightRegions:Ce,resizeCol:Fe,imageLoader:j,lastBlitData:V,hoverValues:xe,hyperWrapping:ne,hoverInfo:be,spriteManager:ye,maxScaleFactor:U,hasAppendRow:ke,touchMode:pe,enqueue:je,renderStateProvider:tt,getCellRenderer:gt,renderStrategy:Qe,bufferACtx:Ae,bufferBCtx:Ve,damage:Me,minimumCellWidth:dt,resizeIndicator:rt}=e;if(r===0||i===0)return;const it=Qe==="double-buffer",ie=Math.min(U,Math.ceil(window.devicePixelRatio??1)),We=Qe!=="direct"&&bc(e,t),Ie=n.canvas;(Ie.width!==r*ie||Ie.height!==i*ie)&&(Ie.width=r*ie,Ie.height=i*ie,Ie.style.width=r+"px",Ie.style.height=i+"px");const Re=o.canvas,fe=m?x+v:v,Ne=fe+1;(Re.width!==r*ie||Re.height!==Ne*ie)&&(Re.width=r*ie,Re.height=Ne*ie,Re.style.width=r+"px",Re.style.height=Ne+"px");const Te=Ae.canvas,qe=Ve.canvas;it&&(Te.width!==r*ie||Te.height!==i*ie)&&(Te.width=r*ie,Te.height=i*ie,V.current!==void 0&&(V.current.aBufferScroll=void 0)),it&&(qe.width!==r*ie||qe.height!==i*ie)&&(qe.width=r*ie,qe.height=i*ie,V.current!==void 0&&(V.current.bBufferScroll=void 0));const oe=V.current;if(We===!0&&l===(oe==null?void 0:oe.cellXOffset)&&s===(oe==null?void 0:oe.cellYOffset)&&c===(oe==null?void 0:oe.translateX)&&u===(oe==null?void 0:oe.translateY))return;let He=null;it&&(He=n);const et=o;let $e;it?Me!==void 0?$e=(oe==null?void 0:oe.lastBuffer)==="b"?Ve:Ae:$e=(oe==null?void 0:oe.lastBuffer)==="b"?Ae:Ve:$e=n;const Ue=$e.canvas,ut=it?Ue===Te?qe:Te:Ie,Xe=typeof F=="number"?()=>F:F;et.save(),$e.save(),et.beginPath(),$e.beginPath(),et.textBaseline="middle",$e.textBaseline="middle",ie!==1&&(et.scale(ie,ie),$e.scale(ie,ie));const ze=wi(f,l,r,w,c);let yt=[];const pt=b&&((Pe=z.current)==null?void 0:Pe.cell[1])===s&&u===0;let Ut=!1;if(Ce!==void 0){for(const Ze of Ce)if(Ze.style!=="no-outline"&&Ze.range.y===s&&u===0){Ut=!0;break}}const mt=()=>{cc(et,ze,m,be,r,c,v,x,w,A,z,h,ye,xe,X,I,Me,re,pe),sl(et,ze,s,c,u,r,i,void 0,void 0,x,fe,Xe,R,X,S,$,h,!0),et.beginPath(),et.moveTo(0,Ne-.5),et.lineTo(r,Ne-.5),et.strokeStyle=Jt(h.headerBottomBorderColor??h.horizontalBorderColor??h.borderColor,h.bgHeader),et.stroke(),Ut&&al(et,r,i,l,s,c,u,f,g,v,x,F,S,$,Ce,h),pt&&ci(et,r,i,s,c,u,ze,f,h,fe,z,Xe,W,S,ke,K,$)};if(Me!==void 0){const Ze=ze[ze.length-1].sourceIndex+1,Wt=Me.hasItemInRegion([{x:l,y:-2,width:Ze,height:2},{x:l,y:s,width:Ze,height:300},{x:0,y:s,width:g,height:300},{x:0,y:-2,width:g,height:2},{x:l,y:$-S,width:Ze,height:S,when:S>0}]),En=en=>{il(en,ze,f,i,fe,c,u,s,$,Xe,W,I,R,C,M,b,S,ke,yt,Me,z,ee,Ce,j,ye,xe,be,ce,ne,h,je,tt,gt,N,dt);const $t=z.current;K&&b&&$t!==void 0&&Me.has(Hl($t.range))&&ci(en,r,i,s,c,u,ze,f,h,fe,z,Xe,W,S,ke,K,$)};Wt&&(En($e),He!==null&&(He.save(),He.scale(ie,ie),He.textBaseline="middle",En(He),He.restore()),Me.hasHeader()&&(yc(et,ze,r,x,fe,c,u,s,Me),mt())),$e.restore(),et.restore();return}if((We!==!0||l!==(oe==null?void 0:oe.cellXOffset)||c!==(oe==null?void 0:oe.translateX)||pt!==(oe==null?void 0:oe.mustDrawFocusOnHeader)||Ut!==(oe==null?void 0:oe.mustDrawHighlightRingsOnHeader))&&mt(),We===!0){Zt(ut!==void 0&&oe!==void 0);const{regions:Ze}=mc($e,ut,ut===Te?oe.aBufferScroll:oe.bBufferScroll,ut===Te?oe.bBufferScroll:oe.aBufferScroll,oe,l,s,c,u,S,r,i,$,fe,ie,f,ze,F,it);yt=Ze}else We!==!1&&(Zt(oe!==void 0),yt=wc(oe,l,s,c,u,r,i,fe,ze,We));hc($e,ze,r,i,S,$,X,Xe,h);const Et=al($e,r,i,l,s,c,u,f,g,v,x,F,S,$,Ce,h),It=b?ci($e,r,i,s,c,u,ze,f,h,fe,z,Xe,W,S,ke,K,$):void 0;if($e.fillStyle=h.bgCell,yt.length>0){$e.beginPath();for(const Ze of yt)$e.rect(Ze.x,Ze.y,Ze.width,Ze.height);$e.clip(),$e.fill(),$e.beginPath()}else $e.fillRect(0,0,r,i);const An=il($e,ze,f,i,fe,c,u,s,$,Xe,W,I,R,C,M,b,S,ke,yt,Me,z,ee,Ce,j,ye,xe,be,ce,ne,h,je,tt,gt,N,dt);fc($e,ze,f,r,i,fe,c,u,s,$,Xe,R,z.rows,C,S,ke,yt,Me,h),gc($e,ze,s,c,u,r,i,yt,fe,Xe,R,X,S,$,h),sl($e,ze,s,c,u,r,i,yt,An,x,fe,Xe,R,X,S,$,h),Et==null||Et(),It==null||It(),A&&rt!=="none"&&qn(ze,0,c,0,fe,(Ze,Wt)=>Ze.sourceIndex===Fe?(cl(et,Wt+Ze.width,0,fe+1,Jt(h.resizeIndicatorColor??h.accentLight,h.bgHeader)),rt==="full"&&cl($e,Wt+Ze.width,fe,i,Jt(h.resizeIndicatorColor??h.accentLight,h.bgCell)),!0):!1),He!==null&&(He.fillStyle=h.bgCell,He.fillRect(0,0,r,i),He.drawImage($e.canvas,0,0));const zn=pc(ze,i,fe,c,u,s,$,Xe,S,ke);j==null||j.setWindow({x:l,y:s,width:ze.length,height:zn-s},g,Array.from({length:S},(Ze,Wt)=>$-1-Wt));const at=oe!==void 0&&(l!==oe.cellXOffset||c!==oe.translateX),Rn=oe!==void 0&&(s!==oe.cellYOffset||u!==oe.translateY);V.current={cellXOffset:l,cellYOffset:s,translateX:c,translateY:u,mustDrawFocusOnHeader:pt,mustDrawHighlightRingsOnHeader:Ut,lastBuffer:it?Ue===Te?"a":"b":void 0,aBufferScroll:Ue===Te?[at,Rn]:oe==null?void 0:oe.aBufferScroll,bBufferScroll:Ue===qe?[at,Rn]:oe==null?void 0:oe.bBufferScroll},$e.restore(),et.restore()}const vc=80;function Cc(e){const t=e-1;return t*t*t+1}class xc{constructor(t){Oe(this,"callback");Oe(this,"currentHoveredItem");Oe(this,"leavingItems",[]);Oe(this,"lastAnimationTime");Oe(this,"addToLeavingItems",t=>{this.leavingItems.some(o=>Zo(o.item,t.item))||this.leavingItems.push(t)});Oe(this,"removeFromLeavingItems",t=>{const n=this.leavingItems.find(o=>Zo(o.item,t));return this.leavingItems=this.leavingItems.filter(o=>o!==n),(n==null?void 0:n.hoverAmount)??0});Oe(this,"cleanUpLeavingElements",()=>{this.leavingItems=this.leavingItems.filter(t=>t.hoverAmount>0)});Oe(this,"shouldStep",()=>{const t=this.leavingItems.length>0,n=this.currentHoveredItem!==void 0&&this.currentHoveredItem.hoverAmount<1;return t||n});Oe(this,"getAnimatingItems",()=>this.currentHoveredItem!==void 0?[...this.leavingItems,this.currentHoveredItem]:this.leavingItems.map(t=>({...t,hoverAmount:Cc(t.hoverAmount)})));Oe(this,"step",t=>{if(this.lastAnimationTime===void 0)this.lastAnimationTime=t;else{const o=(t-this.lastAnimationTime)/vc;for(const i of this.leavingItems)i.hoverAmount=sn(i.hoverAmount-o,0,1);this.currentHoveredItem!==void 0&&(this.currentHoveredItem.hoverAmount=sn(this.currentHoveredItem.hoverAmount+o,0,1));const r=this.getAnimatingItems();this.callback(r),this.cleanUpLeavingElements()}this.shouldStep()?(this.lastAnimationTime=t,window.requestAnimationFrame(this.step)):this.lastAnimationTime=void 0});Oe(this,"setHovered",t=>{var n;if(!Zo((n=this.currentHoveredItem)==null?void 0:n.item,t)){if(this.currentHoveredItem!==void 0&&this.addToLeavingItems(this.currentHoveredItem),t!==void 0){const o=this.removeFromLeavingItems(t);this.currentHoveredItem={item:t,hoverAmount:o}}else this.currentHoveredItem=void 0;this.lastAnimationTime===void 0&&window.requestAnimationFrame(this.step)}});this.callback=t}}class kc{constructor(t){Oe(this,"fn");Oe(this,"val");this.fn=t}get value(){return this.val??(this.val=this.fn())}}function Ei(e){return new kc(e)}const Sc=Ei(()=>window.navigator.userAgent.includes("Firefox")),zr=Ei(()=>window.navigator.userAgent.includes("Mac OS")&&window.navigator.userAgent.includes("Safari")&&!window.navigator.userAgent.includes("Chrome")),Br=Ei(()=>window.navigator.platform.toLowerCase().startsWith("mac"));function Mc(e){const t=a.useRef([]),n=a.useRef(0),o=a.useRef(e);o.current=e;const r=a.useCallback(()=>{const i=()=>window.requestAnimationFrame(l),l=()=>{const s=t.current.map(Mi);t.current=[],o.current(new Qo(s)),t.current.length>0?n.current++:n.current=0};window.requestAnimationFrame(n.current>600?i:l)},[]);return a.useCallback(i=>{t.current.length===0&&r();const l=mn(i[0],i[1]);t.current.includes(l)||t.current.push(l)},[r])}const Un="header",an="group-header",Lr="out-of-bounds";var Io;(function(e){e[e.Start=-2]="Start",e[e.StartPadding=-1]="StartPadding",e[e.Center=0]="Center",e[e.EndPadding=1]="EndPadding",e[e.End=2]="End"})(Io||(Io={}));function Ql(e,t){return e===t?!0:(e==null?void 0:e.kind)==="out-of-bounds"?(e==null?void 0:e.kind)===(t==null?void 0:t.kind)&&(e==null?void 0:e.location[0])===(t==null?void 0:t.location[0])&&(e==null?void 0:e.location[1])===(t==null?void 0:t.location[1])&&(e==null?void 0:e.region[0])===(t==null?void 0:t.region[0])&&(e==null?void 0:e.region[1])===(t==null?void 0:t.region[1]):(e==null?void 0:e.kind)===(t==null?void 0:t.kind)&&(e==null?void 0:e.location[0])===(t==null?void 0:t.location[0])&&(e==null?void 0:e.location[1])===(t==null?void 0:t.location[1])}const ul=6,Rc=(e,t)=>{if(e.kind===Z.Custom)return e.copyData;const n=t==null?void 0:t(e);return(n==null?void 0:n.getAccessibilityString(e))??""},Ec=(e,t)=>{const{width:n,height:o,accessibilityHeight:r,columns:i,cellXOffset:l,cellYOffset:s,headerHeight:c,fillHandle:u=!1,groupHeaderHeight:f,rowHeight:m,rows:g,getCellContent:w,getRowThemeOverride:h,onHeaderMenuClick:b,onHeaderIndicatorClick:v,enableGroups:x,isFilling:C,onCanvasFocused:F,onCanvasBlur:X,isFocused:N,selection:A,freezeColumns:z,onContextMenu:K,freezeTrailingRows:S,fixedShadowX:$=!0,fixedShadowY:W=!0,drawFocusRing:I,onMouseDown:R,onMouseUp:M,onMouseMoveRaw:re,onMouseMove:ee,onItemHovered:ce,dragAndDropState:Ce,firstColAccessible:Fe,onKeyDown:j,onKeyUp:V,highlightRegions:xe,canvasRef:ne,onDragStart:be,onDragEnd:ye,eventTargetRef:U,isResizing:ke,resizeColumn:pe,isDragging:je,isDraggable:tt=!1,allowResize:gt,disabledRows:Qe,hasAppendRow:Ae,getGroupDetails:Ve,theme:Me,prelightCells:dt,headerIcons:rt,verticalBorder:it,drawCell:ie,drawHeader:We,onCellFocused:Ie,onDragOverCell:Re,onDrop:fe,onDragLeave:Ne,imageWindowLoader:Te,smoothScrollX:qe=!1,smoothScrollY:oe=!1,experimental:He,getCellRenderer:et,resizeIndicator:$e="full"}=e,Ue=e.translateX??0,ut=e.translateY??0,Xe=Math.max(z,Math.min(i.length-1,l)),ze=a.useRef(null),yt=a.useRef(window),pt=yt.current,Ut=Te,mt=a.useRef(),[Et,It]=a.useState(!1),An=a.useRef([]),zn=a.useRef(),[at,Rn]=a.useState(),[Pe,Ze]=a.useState(),Wt=a.useRef(null),[En,en]=a.useState(),[$t,_e]=a.useState(!1),kt=a.useRef($t);kt.current=$t;const st=a.useMemo(()=>new nc(rt,()=>{co.current=void 0,Zn.current()}),[rt]),Yt=x?f+c:c,At=a.useRef(-1),qt=((He==null?void 0:He.enableFirefoxRescaling)??!1)&&Sc.value,Ao=((He==null?void 0:He.enableSafariRescaling)??!1)&&zr.value;a.useLayoutEffect(()=>{window.devicePixelRatio===1||!qt&&!Ao||(At.current!==-1&&It(!0),window.clearTimeout(At.current),At.current=window.setTimeout(()=>{It(!1),At.current=-1},200))},[s,Xe,Ue,ut,qt,Ao]);const vt=aa(i,z),Dt=$?Ho(vt,Ce):0,Ft=a.useCallback((k,G,de)=>{const te=k.getBoundingClientRect();if(G>=vt.length||de>=g)return;const _=te.width/n,q=bi(G,de,n,o,f,Yt,Xe,s,Ue,ut,g,z,S,vt,m);return _!==1&&(q.x*=_,q.y*=_,q.width*=_,q.height*=_),q.x+=te.x,q.y+=te.y,q},[n,o,f,Yt,Xe,s,Ue,ut,g,z,S,vt,m]),zt=a.useCallback((k,G,de,te)=>{const _=k.getBoundingClientRect(),q=_.width/n,se=(G-_.left)/q,ae=(de-_.top)/q,ue=5,Ht=wi(vt,Xe,n,void 0,Ue);let me=0,De=0;te instanceof MouseEvent&&(me=te.button,De=te.buttons);const Ee=fa(se,Ht,Ue),Ye=ha(ae,o,x,c,f,g,m,s,ut,S),Ct=(te==null?void 0:te.shiftKey)===!0,Nt=(te==null?void 0:te.ctrlKey)===!0,xt=(te==null?void 0:te.metaKey)===!0,on=te!==void 0&&!(te instanceof MouseEvent)||(te==null?void 0:te.pointerType)==="touch",Ge=[se<0?-1:nn||ae>o){const nt=se>n?1:se<0?-1:0,Vt=ae>o?1:ae<0?-1:0;let Pt=nt*2,ot=Vt*2;nt===0&&(Pt=Ee===-1?Io.EndPadding:Io.Center),Vt===0&&(ot=Ye===void 0?Io.EndPadding:Io.Center);let vn=!1;if(Ee===-1&&Ye===-1){const Tt=Ft(k,vt.length-1,-1);Zt(Tt!==void 0),vn=Gn&&seo&&ae=0?(Vt=!0,nt=Ft(k,Pt,Ye),Zt(nt!==void 0),ft={kind:x&&Ye===-2?an:Un,location:[Pt,Ye],bounds:nt,group:vt[Pt].group??"",isEdge:Vt,shiftKey:Ct,ctrlKey:Nt,metaKey:xt,isTouch:on,localEventX:G-nt.x,localEventY:de-nt.y,button:me,buttons:De,scrollEdge:Ge}):ft={kind:x&&Ye===-2?an:Un,group:vt[Ee].group??"",location:[Ee,Ye],bounds:nt,isEdge:Vt,shiftKey:Ct,ctrlKey:Nt,metaKey:xt,isTouch:on,localEventX:G-nt.x,localEventY:de-nt.y,button:me,buttons:De,scrollEdge:Ge}}else{const nt=Ft(k,Ee,Ye);Zt(nt!==void 0);const Vt=nt!==void 0&&nt.x+nt.width-G{}),Bn=a.useRef(at);Bn.current=at;const[Dn,Fn]=a.useMemo(()=>{const k=document.createElement("canvas"),G=document.createElement("canvas");return k.style.display="none",k.style.opacity="0",k.style.position="fixed",G.style.display="none",G.style.opacity="0",G.style.position="fixed",[k.getContext("2d",{alpha:!1}),G.getContext("2d",{alpha:!1})]},[]);a.useLayoutEffect(()=>{if(!(Dn===null||Fn===null))return document.documentElement.append(Dn.canvas),document.documentElement.append(Fn.canvas),()=>{Dn.canvas.remove(),Fn.canvas.remove()}},[Dn,Fn]);const wn=a.useMemo(()=>new xa,[]),ir=qt&&Et?1:Ao&&Et?2:5,lr=(He==null?void 0:He.disableMinimumCellWidth)===!0?1:10,co=a.useRef(),uo=a.useRef(null),fo=a.useRef(null),jn=a.useCallback(()=>{var se;const k=ze.current,G=Wt.current;if(k===null||G===null||(uo.current===null&&(uo.current=k.getContext("2d",{alpha:!1}),k.width=0,k.height=0),fo.current===null&&(fo.current=G.getContext("2d",{alpha:!1}),G.width=0,G.height=0),uo.current===null||fo.current===null||Dn===null||Fn===null))return;let de=!1;const te=ae=>{de=!0,en(ae)},_=co.current,q={headerCanvasCtx:fo.current,canvasCtx:uo.current,bufferACtx:Dn,bufferBCtx:Fn,width:n,height:o,cellXOffset:Xe,cellYOffset:s,translateX:Math.round(Ue),translateY:Math.round(ut),mappedColumns:vt,enableGroups:x,freezeColumns:z,dragAndDropState:Ce,theme:Me,headerHeight:c,groupHeaderHeight:f,disabledRows:Qe??lt.empty(),rowHeight:m,verticalBorder:it,isResizing:ke,resizeCol:pe,isFocused:N,selection:A,fillHandle:u,drawCellCallback:ie,hasAppendRow:Ae,overrideCursor:te,maxScaleFactor:ir,freezeTrailingRows:S,rows:g,drawFocus:I,getCellContent:w,getGroupDetails:Ve??(ae=>({name:ae})),getRowThemeOverride:h,drawHeaderCallback:We,prelightCells:dt,highlightRegions:xe,imageLoader:Ut,lastBlitData:zn,damage:mt.current,hoverValues:An.current,hoverInfo:Bn.current,spriteManager:st,scrolling:Et,hyperWrapping:(He==null?void 0:He.hyperWrapping)??!1,touchMode:$t,enqueue:rr.current,renderStateProvider:wn,renderStrategy:(He==null?void 0:He.renderStrategy)??(zr.value?"double-buffer":"single-buffer"),getCellRenderer:et,minimumCellWidth:lr,resizeIndicator:$e};q.damage===void 0?(co.current=q,dl(q,_)):dl(q,void 0),!de&&(q.damage===void 0||q.damage.has((se=Bn==null?void 0:Bn.current)==null?void 0:se[0]))&&en(void 0)},[Dn,Fn,n,o,Xe,s,Ue,ut,vt,x,z,Ce,Me,c,f,Qe,m,it,ke,Ae,pe,N,A,u,S,g,I,ir,w,Ve,h,ie,We,dt,xe,Ut,st,Et,He==null?void 0:He.hyperWrapping,He==null?void 0:He.renderStrategy,$t,wn,et,lr,$e]),Zn=a.useRef(jn);a.useLayoutEffect(()=>{jn(),Zn.current=jn},[jn]),a.useLayoutEffect(()=>{(async()=>{var G;((G=document==null?void 0:document.fonts)==null?void 0:G.ready)!==void 0&&(await document.fonts.ready,co.current=void 0,Zn.current())})()},[]);const Ln=a.useCallback(k=>{mt.current=k,Zn.current(),mt.current=void 0},[]),Or=Mc(Ln);rr.current=Or;const sr=a.useCallback(k=>{Ln(new Qo(k.map(G=>G.cell)))},[Ln]);Ut.setCallback(Ln);const[ar,Nr]=a.useState(!1),[ho,Pn]=In??[],zo=ho!==void 0&&Pn===-1,Xr=ho!==void 0&&Pn===-2;let Bo=!1,Bt=!1,Gt=En;if(Gt===void 0&&ho!==void 0&&Pn!==void 0&&Pn>-1&&Pn({contain:"strict",display:"block",cursor:Lo}),[Lo]),Jn=a.useRef("default"),bn=U==null?void 0:U.current;bn!=null&&Jn.current!==go.cursor&&(bn.style.cursor=Jn.current=go.cursor);const dn=a.useCallback((k,G,de,te)=>{if(Ve===void 0)return;const _=Ve(k);if(_.actions!==void 0){const q=ql(G,_.actions);for(const[se,ae]of q.entries())if(lo(ae,de+G.x,te+ae.y))return _.actions[se]}},[Ve]),Wn=a.useCallback((k,G,de,te)=>{const _=vt[G];if(!je&&!ke&&!(Pe??!1)){const q=Ft(k,G,-1);Zt(q!==void 0);const se=jl(void 0,_,q.x,q.y,q.width,q.height,Me,xi(_.title)==="rtl");if(_.hasMenu===!0&&se.menuBounds!==void 0&&lo(se.menuBounds,de,te))return{area:"menu",bounds:se.menuBounds};if(_.indicatorIcon!==void 0&&se.indicatorIconBounds!==void 0&&lo(se.indicatorIconBounds,de,te))return{area:"indicator",bounds:se.indicatorIconBounds}}},[vt,Ft,Pe,je,ke,Me]),mo=a.useRef(0),ve=a.useRef(),wo=a.useRef(!1),cr=a.useCallback(k=>{const G=ze.current,de=U==null?void 0:U.current;if(G===null||k.target!==G&&k.target!==de)return;wo.current=!0;let te,_;if(k instanceof MouseEvent?(te=k.clientX,_=k.clientY):(te=k.touches[0].clientX,_=k.touches[0].clientY),k.target===de&&de!==null){const se=de.getBoundingClientRect();if(te>se.right||_>se.bottom)return}const q=zt(G,te,_,k);ve.current=q.location,q.isTouch&&(mo.current=Date.now()),kt.current!==q.isTouch&&_e(q.isTouch),!(q.kind===Un&&Wn(G,q.location[0],te,_)!==void 0)&&(q.kind===an&&dn(q.group,q.bounds,q.localEventX,q.localEventY)!==void 0||(R==null||R(q),!q.isTouch&&tt!==!0&&tt!==q.kind&&q.button<3&&q.button!==1&&k.preventDefault()))},[U,tt,zt,dn,Wn,R]);Xt("touchstart",cr,pt,!1),Xt("mousedown",cr,pt,!1);const tn=a.useRef(0),dr=a.useCallback(k=>{var De,Ee;const G=tn.current;tn.current=Date.now();const de=ze.current;if(wo.current=!1,M===void 0||de===null)return;const te=U==null?void 0:U.current,_=k.target!==de&&k.target!==te;let q,se,ae=!0;if(k instanceof MouseEvent){if(q=k.clientX,se=k.clientY,ae=k.button<3,k.pointerType==="touch")return}else q=k.changedTouches[0].clientX,se=k.changedTouches[0].clientY;let ue=zt(de,q,se,k);ue.isTouch&&mo.current!==0&&Date.now()-mo.current>500&&(ue={...ue,isLongTouch:!0}),G!==0&&Date.now()-G<(ue.isTouch?1e3:500)&&(ue={...ue,isDoubleClick:!0}),kt.current!==ue.isTouch&&_e(ue.isTouch),!_&&k.cancelable&&ae&&k.preventDefault();const[Ht]=ue.location,me=Wn(de,Ht,q,se);if(ue.kind===Un&&me!==void 0){(ue.button!==0||((De=ve.current)==null?void 0:De[0])!==Ht||((Ee=ve.current)==null?void 0:Ee[1])!==-1)&&M(ue,!0);return}else if(ue.kind===an){const Ye=dn(ue.group,ue.bounds,ue.localEventX,ue.localEventY);if(Ye!==void 0){ue.button===0&&Ye.onClick(ue);return}}M(ue,_)},[M,U,zt,Wn,dn]);Xt("mouseup",dr,pt,!1),Xt("touchend",dr,pt,!1);const yn=a.useCallback(k=>{var Ht,me;const G=ze.current;if(G===null)return;const de=U==null?void 0:U.current,te=k.target!==G&&k.target!==de;let _,q,se=!0;k instanceof MouseEvent?(_=k.clientX,q=k.clientY,se=k.button<3):(_=k.changedTouches[0].clientX,q=k.changedTouches[0].clientY);const ae=zt(G,_,q,k);kt.current!==ae.isTouch&&_e(ae.isTouch),!te&&k.cancelable&&se&&k.preventDefault();const[ue]=ae.location;if(ae.kind===Un){const De=Wn(G,ue,_,q);De!==void 0&&ae.button===0&&((Ht=ve.current)==null?void 0:Ht[0])===ue&&((me=ve.current)==null?void 0:me[1])===-1&&(De.area==="menu"?b==null||b(ue,De.bounds):De.area==="indicator"&&(v==null||v(ue,De.bounds)))}else if(ae.kind===an){const De=dn(ae.group,ae.bounds,ae.localEventX,ae.localEventY);De!==void 0&&ae.button===0&&De.onClick(ae)}},[U,zt,Wn,b,v,dn]);Xt("click",yn,pt,!1);const Po=a.useCallback(k=>{const G=ze.current,de=U==null?void 0:U.current;if(G===null||k.target!==G&&k.target!==de||K===void 0)return;const te=zt(G,k.clientX,k.clientY,k);K(te,()=>{k.cancelable&&k.preventDefault()})},[U,zt,K]);Xt("contextmenu",Po,(U==null?void 0:U.current)??null,!1);const Wo=a.useCallback(k=>{mt.current=new Qo(k.map(G=>G.item)),An.current=k,Zn.current(),mt.current=void 0},[]),$o=a.useMemo(()=>new xc(Wo),[Wo]),ur=a.useRef($o);ur.current=$o,a.useLayoutEffect(()=>{const k=ur.current;if(In===void 0||In[1]<0){k.setHovered(In);return}const G=w(In,!0),de=et(G),te=de===void 0&&G.kind===Z.Custom||(de==null?void 0:de.needsHover)!==void 0&&(typeof de.needsHover=="boolean"?de.needsHover:de.needsHover(G));k.setHovered(te?In:void 0)},[w,et,In]);const fr=a.useRef(),pn=a.useCallback(k=>{var ae;const G=ze.current;if(G===null)return;const de=U==null?void 0:U.current,te=k.target!==G&&k.target!==de,_=zt(G,k.clientX,k.clientY,k);if(_.kind!=="out-of-bounds"&&te&&!wo.current&&!_.isTouch)return;const q=(ue,Ht)=>{Rn(me=>me===ue||(me==null?void 0:me[0][0])===(ue==null?void 0:ue[0][0])&&(me==null?void 0:me[0][1])===(ue==null?void 0:ue[0][1])&&((me==null?void 0:me[1][0])===(ue==null?void 0:ue[1][0])&&(me==null?void 0:me[1][1])===(ue==null?void 0:ue[1][1])||!Ht)?me:ue)};if(!Ql(_,fr.current))en(void 0),ce==null||ce(_),q(_.kind===Lr?void 0:[_.location,[_.localEventX,_.localEventY]],!0),fr.current=_;else if(_.kind==="cell"||_.kind===Un||_.kind===an){let ue=!1,Ht=!0;if(_.kind==="cell"){const De=w(_.location);Ht=((ae=et(De))==null?void 0:ae.needsHoverPosition)??De.kind===Z.Custom,ue=Ht}else ue=!0;const me=[_.location,[_.localEventX,_.localEventY]];q(me,Ht),Bn.current=me,ue&&Ln(new Qo([_.location]))}const se=_.location[0]>=(Fe?0:1);Ze(_.kind===Un&&_.isEdge&&se&>===!0),Nr(_.kind==="cell"&&_.isFillHandle),re==null||re(k),ee(_)},[U,zt,Fe,gt,re,ee,ce,w,et,Ln]);Xt("mousemove",pn,pt,!0);const $n=a.useCallback(k=>{const G=ze.current;if(G===null)return;let de,te;A.current!==void 0&&(de=Ft(G,A.current.cell[0],A.current.cell[1]),te=A.current.cell),j==null||j({bounds:de,stopPropagation:()=>k.stopPropagation(),preventDefault:()=>k.preventDefault(),cancel:()=>{},ctrlKey:k.ctrlKey,metaKey:k.metaKey,shiftKey:k.shiftKey,altKey:k.altKey,key:k.key,keyCode:k.keyCode,rawEvent:k,location:te})},[j,A,Ft]),nn=a.useCallback(k=>{const G=ze.current;if(G===null)return;let de,te;A.current!==void 0&&(de=Ft(G,A.current.cell[0],A.current.cell[1]),te=A.current.cell),V==null||V({bounds:de,stopPropagation:()=>k.stopPropagation(),preventDefault:()=>k.preventDefault(),cancel:()=>{},ctrlKey:k.ctrlKey,metaKey:k.metaKey,shiftKey:k.shiftKey,altKey:k.altKey,key:k.key,keyCode:k.keyCode,rawEvent:k,location:te})},[V,A,Ft]),H=a.useCallback(k=>{if(ze.current=k,ne!==void 0&&(ne.current=k),k===null)yt.current=window;else{const G=k.getRootNode();G===document&&(yt.current=window),yt.current=G}},[ne]),wt=a.useCallback(k=>{const G=ze.current;if(G===null||tt===!1||ke){k.preventDefault();return}let de,te;const _=zt(G,k.clientX,k.clientY);if(tt!==!0&&_.kind!==tt){k.preventDefault();return}const q=(De,Ee)=>{de=De,te=Ee};let se,ae,ue;const Ht=(De,Ee,Ye)=>{se=De,ae=Ee,ue=Ye};let me=!1;if(be==null||be({..._,setData:q,setDragImage:Ht,preventDefault:()=>me=!0,defaultPrevented:()=>me}),!me&&de!==void 0&&te!==void 0&&k.dataTransfer!==null)if(k.dataTransfer.setData(de,te),k.dataTransfer.effectAllowed="copyLink",se!==void 0&&ae!==void 0&&ue!==void 0)k.dataTransfer.setDragImage(se,ae,ue);else{const[De,Ee]=_.location;if(Ee!==void 0){const Ye=document.createElement("canvas"),Ct=Ft(G,De,Ee);Zt(Ct!==void 0);const Nt=Math.ceil(window.devicePixelRatio??1);Ye.width=Ct.width*Nt,Ye.height=Ct.height*Nt;const xt=Ye.getContext("2d");xt!==null&&(xt.scale(Nt,Nt),xt.textBaseline="middle",Ee===-1?(xt.font=Me.headerFontFull,xt.fillStyle=Me.bgHeader,xt.fillRect(0,0,Ye.width,Ye.height),Zl(xt,0,0,Ct.width,Ct.height,vt[De],!1,Me,!1,void 0,void 0,!1,0,st,We,!1)):(xt.font=Me.baseFontFull,xt.fillStyle=Me.bgCell,xt.fillRect(0,0,Ye.width,Ye.height),Vl(xt,w([De,Ee]),0,Ee,!1,!1,0,0,Ct.width,Ct.height,!1,Me,Me.bgCell,Ut,st,1,void 0,!1,0,void 0,void 0,void 0,wn,et,()=>{}))),Ye.style.left="-100%",Ye.style.position="absolute",Ye.style.width=`${Ct.width}px`,Ye.style.height=`${Ct.height}px`,document.body.append(Ye),k.dataTransfer.setDragImage(Ye,Ct.width/2,Ct.height/2),window.setTimeout(()=>{Ye.remove()},0)}}else k.preventDefault()},[tt,ke,zt,be,Ft,Me,vt,st,We,w,Ut,wn,et]);Xt("dragstart",wt,(U==null?void 0:U.current)??null,!1,!1);const Hn=a.useRef(),Yr=a.useCallback(k=>{const G=ze.current;if(fe!==void 0&&k.preventDefault(),G===null||Re===void 0)return;const de=zt(G,k.clientX,k.clientY),[te,_]=de.location,q=te-(Fe?0:1),[se,ae]=Hn.current??[];(se!==q||ae!==_)&&(Hn.current=[q,_],Re([q,_],k.dataTransfer))},[Fe,zt,Re,fe]);Xt("dragover",Yr,(U==null?void 0:U.current)??null,!1,!1);const hr=a.useCallback(()=>{Hn.current=void 0,ye==null||ye()},[ye]);Xt("dragend",hr,(U==null?void 0:U.current)??null,!1,!1);const Gr=a.useCallback(k=>{const G=ze.current;if(G===null||fe===void 0)return;k.preventDefault();const de=zt(G,k.clientX,k.clientY),[te,_]=de.location,q=te-(Fe?0:1);fe([q,_],k.dataTransfer)},[Fe,zt,fe]);Xt("drop",Gr,(U==null?void 0:U.current)??null,!1,!1);const Kr=a.useCallback(()=>{Ne==null||Ne()},[Ne]);Xt("dragleave",Kr,(U==null?void 0:U.current)??null,!1,!1);const Ur=a.useRef(A);Ur.current=A;const B=a.useRef(null),Lt=a.useCallback(k=>{var G;ze.current===null||!ze.current.contains(document.activeElement)||(k===null&&Ur.current.current!==void 0?(G=ne==null?void 0:ne.current)==null||G.focus({preventScroll:!0}):k!==null&&k.focus({preventScroll:!0}),B.current=k)},[ne]);a.useImperativeHandle(t,()=>({focus:()=>{var G;const k=B.current;k===null||!document.contains(k)?(G=ne==null?void 0:ne.current)==null||G.focus({preventScroll:!0}):k.focus({preventScroll:!0})},getBounds:(k,G)=>{if(!(ne===void 0||ne.current===null))return Ft(ne.current,k??0,G??-1)},damage:sr}),[ne,sr,Ft]);const St=a.useRef(),_r=qs(()=>{var ae,ue,Ht;if(n<50||(He==null?void 0:He.disableAccessibilityTree)===!0)return null;let k=wi(vt,Xe,n,Ce,Ue);const G=Fe?0:-1;!Fe&&((ae=k[0])==null?void 0:ae.sourceIndex)===0&&(k=k.slice(1));const[de,te]=((ue=A.current)==null?void 0:ue.cell)??[],_=(Ht=A.current)==null?void 0:Ht.range,q=k.map(me=>me.sourceIndex),se=io(s,Math.min(g,s+r));return de!==void 0&&te!==void 0&&!(q.includes(de)&&se.includes(te))&&Lt(null),a.createElement("table",{key:"access-tree",role:"grid","aria-rowcount":g+1,"aria-multiselectable":"true","aria-colcount":vt.length+G},a.createElement("thead",{role:"rowgroup"},a.createElement("tr",{role:"row","aria-rowindex":1},k.map(me=>a.createElement("th",{role:"columnheader","aria-selected":A.columns.hasIndex(me.sourceIndex),"aria-colindex":me.sourceIndex+1+G,tabIndex:-1,onFocus:De=>{if(De.target!==B.current)return Ie==null?void 0:Ie([me.sourceIndex,-1])},key:me.sourceIndex},me.title)))),a.createElement("tbody",{role:"rowgroup"},se.map(me=>a.createElement("tr",{role:"row","aria-selected":A.rows.hasIndex(me),key:me,"aria-rowindex":me+2},k.map(De=>{const Ee=De.sourceIndex,Ye=mn(Ee,me),Ct=de===Ee&&te===me,Nt=_!==void 0&&Ee>=_.x&&Ee<_.x+_.width&&me>=_.y&&me<_.y+_.height,xt=`glide-cell-${Ee}-${me}`,on=[Ee,me],Ge=w(on,!0);return a.createElement("td",{key:Ye,role:"gridcell","aria-colindex":Ee+1+G,"aria-selected":Nt,"aria-readonly":Eo(Ge)||!jo(Ge),id:xt,"data-testid":xt,onClick:()=>{const ft=ne==null?void 0:ne.current;if(ft!=null)return j==null?void 0:j({bounds:Ft(ft,Ee,me),cancel:()=>{},preventDefault:()=>{},stopPropagation:()=>{},ctrlKey:!1,key:"Enter",keyCode:13,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:on})},onFocusCapture:ft=>{var nt,Vt;if(!(ft.target===B.current||((nt=St.current)==null?void 0:nt[0])===Ee&&((Vt=St.current)==null?void 0:Vt[1])===me))return St.current=on,Ie==null?void 0:Ie(on)},ref:Ct?Lt:void 0,tabIndex:-1},Rc(Ge,et))})))))},[n,vt,Xe,Ce,Ue,g,s,r,A,Lt,w,ne,j,Ft,Ie],200),bo=z===0||!$?0:Xe>z?1:sn(-Ue/100,0,1),yo=-s*32+ut,Ot=W?sn(-yo/100,0,1):0,On=a.useMemo(()=>{if(!bo&&!Ot)return null;const k={position:"absolute",top:0,left:Dt,width:n-Dt,height:o,opacity:bo,pointerEvents:"none",transition:qe?void 0:"opacity 0.2s",boxShadow:"inset 13px 0 10px -13px rgba(0, 0, 0, 0.2)"},G={position:"absolute",top:Yt,left:0,width:n,height:o,opacity:Ot,pointerEvents:"none",transition:oe?void 0:"opacity 0.2s",boxShadow:"inset 0 13px 10px -13px rgba(0, 0, 0, 0.2)"};return a.createElement(a.Fragment,null,bo>0&&a.createElement("div",{id:"shadow-x",style:k}),Ot>0&&a.createElement("div",{id:"shadow-y",style:G}))},[bo,Ot,Dt,n,qe,Yt,o,oe]),Vr=a.useMemo(()=>({position:"absolute",top:0,left:0}),[]);return a.createElement(a.Fragment,null,a.createElement("canvas",{"data-testid":"data-grid-canvas",tabIndex:0,onKeyDown:$n,onKeyUp:nn,onFocus:F,onBlur:X,ref:H,style:go},_r),a.createElement("canvas",{ref:Wt,style:Vr}),On)},Ic=a.memo(a.forwardRef(Ec));function qo(e,t,n,o){return sn(Math.round(t-(e.growOffset??0)),Math.ceil(n),Math.floor(o))}const Dc=e=>{const[t,n]=a.useState(),[o,r]=a.useState(),[i,l]=a.useState(),[s,c]=a.useState(),[u,f]=a.useState(!1),[m,g]=a.useState(),[w,h]=a.useState(),[b,v]=a.useState(),[x,C]=a.useState(!1),[F,X]=a.useState(),{onHeaderMenuClick:N,onHeaderIndicatorClick:A,getCellContent:z,onColumnMoved:K,onColumnResize:S,onColumnResizeStart:$,onColumnResizeEnd:W,gridRef:I,maxColumnWidth:R,minColumnWidth:M,onRowMoved:re,lockColumns:ee,onColumnProposeMove:ce,onMouseDown:Ce,onMouseUp:Fe,onItemHovered:j,onDragStart:V,canvasRef:xe}=e,ne=(S??W??$)!==void 0,{columns:be,selection:ye}=e,U=ye.columns,ke=a.useCallback(ie=>{const[We,Ie]=ie.location;i!==void 0&&s!==We&&We>=ee?(f(!0),c(We)):w!==void 0&&Ie!==void 0?(C(!0),v(Math.max(0,Ie))):o===void 0&&!u&&!x&&(j==null||j(ie))},[i,w,s,j,ee,o,u,x]),pe=K!==void 0,je=a.useCallback(ie=>{var We;if(ie.button===0){const[Ie,Re]=ie.location;if(ie.kind==="out-of-bounds"&&ie.isEdge&&ne){const fe=(We=I==null?void 0:I.current)==null?void 0:We.getBounds(be.length-1,-1);fe!==void 0&&(n(fe.x),r(be.length-1))}else if(ie.kind==="header"&&Ie>=ee){const fe=xe==null?void 0:xe.current;if(ie.isEdge&&ne&&fe){n(ie.bounds.x),r(Ie);const Te=fe.getBoundingClientRect().width/fe.offsetWidth,qe=ie.bounds.width/Te;$==null||$(be[Ie],qe,Ie,qe+(be[Ie].growOffset??0))}else ie.kind==="header"&&pe&&(g(ie.bounds.x),l(Ie))}else ie.kind==="cell"&&ee>0&&Ie===0&&Re!==void 0&&re!==void 0&&(X(ie.bounds.y),h(Re))}Ce==null||Ce(ie)},[Ce,ne,ee,re,I,be,pe,$,xe]),tt=a.useCallback((ie,We)=>{u||x||N==null||N(ie,We)},[u,x,N]),gt=a.useCallback((ie,We)=>{u||x||A==null||A(ie,We)},[u,x,A]),Qe=a.useRef(-1),Ae=a.useCallback(()=>{Qe.current=-1,h(void 0),v(void 0),X(void 0),C(!1),l(void 0),c(void 0),g(void 0),f(!1),r(void 0),n(void 0)},[]),Ve=a.useCallback((ie,We)=>{if(ie.button===0){if(o!==void 0){if((U==null?void 0:U.hasIndex(o))===!0)for(const Re of U){if(Re===o)continue;const fe=be[Re],Ne=qo(fe,Qe.current,M,R);S==null||S(fe,Ne,Re,Ne+(fe.growOffset??0))}const Ie=qo(be[o],Qe.current,M,R);if(W==null||W(be[o],Ie,o,Ie+(be[o].growOffset??0)),U.hasIndex(o))for(const Re of U){if(Re===o)continue;const fe=be[Re],Ne=qo(fe,Qe.current,M,R);W==null||W(fe,Ne,Re,Ne+(fe.growOffset??0))}}Ae(),i!==void 0&&s!==void 0&&(K==null||K(i,s)),w!==void 0&&b!==void 0&&(re==null||re(w,b))}Fe==null||Fe(ie,We)},[Fe,o,i,s,w,b,U,W,be,M,R,S,K,re,Ae]),Me=a.useMemo(()=>{if(!(i===void 0||s===void 0)&&i!==s&&(ce==null?void 0:ce(i,s))!==!1)return{src:i,dest:s}},[i,s,ce]),dt=a.useCallback(ie=>{const We=xe==null?void 0:xe.current;if(i!==void 0&&m!==void 0)Math.abs(ie.clientX-m)>20&&f(!0);else if(w!==void 0&&F!==void 0)Math.abs(ie.clientY-F)>20&&C(!0);else if(o!==void 0&&t!==void 0&&We){const Re=We.getBoundingClientRect().width/We.offsetWidth,fe=(ie.clientX-t)/Re,Ne=be[o],Te=qo(Ne,fe,M,R);if(S==null||S(Ne,Te,o,Te+(Ne.growOffset??0)),Qe.current=fe,(U==null?void 0:U.first())===o)for(const qe of U){if(qe===o)continue;const oe=be[qe],He=qo(oe,Qe.current,M,R);S==null||S(oe,He,qe,He+(oe.growOffset??0))}}},[i,m,w,F,o,t,be,M,R,S,U,xe]),rt=a.useCallback((ie,We)=>{if(w===void 0||b===void 0)return z(ie,We);let[Ie,Re]=ie;return Re===b?Re=w:(Re>b&&(Re-=1),Re>=w&&(Re+=1)),z([Ie,Re],We)},[w,b,z]),it=a.useCallback(ie=>{V==null||V(ie),ie.defaultPrevented()||Ae()},[Ae,V]);return a.createElement(Ic,{accessibilityHeight:e.accessibilityHeight,canvasRef:e.canvasRef,cellXOffset:e.cellXOffset,cellYOffset:e.cellYOffset,columns:e.columns,disabledRows:e.disabledRows,drawFocusRing:e.drawFocusRing,drawHeader:e.drawHeader,drawCell:e.drawCell,enableGroups:e.enableGroups,eventTargetRef:e.eventTargetRef,experimental:e.experimental,fillHandle:e.fillHandle,firstColAccessible:e.firstColAccessible,fixedShadowX:e.fixedShadowX,fixedShadowY:e.fixedShadowY,freezeColumns:e.freezeColumns,getCellRenderer:e.getCellRenderer,getGroupDetails:e.getGroupDetails,getRowThemeOverride:e.getRowThemeOverride,groupHeaderHeight:e.groupHeaderHeight,headerHeight:e.headerHeight,headerIcons:e.headerIcons,height:e.height,highlightRegions:e.highlightRegions,imageWindowLoader:e.imageWindowLoader,resizeColumn:o,isDraggable:e.isDraggable,isFilling:e.isFilling,isFocused:e.isFocused,onCanvasBlur:e.onCanvasBlur,onCanvasFocused:e.onCanvasFocused,onCellFocused:e.onCellFocused,onContextMenu:e.onContextMenu,onDragEnd:e.onDragEnd,onDragLeave:e.onDragLeave,onDragOverCell:e.onDragOverCell,onDrop:e.onDrop,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,onMouseMove:e.onMouseMove,prelightCells:e.prelightCells,rowHeight:e.rowHeight,rows:e.rows,selection:e.selection,smoothScrollX:e.smoothScrollX,smoothScrollY:e.smoothScrollY,theme:e.theme,freezeTrailingRows:e.freezeTrailingRows,hasAppendRow:e.hasAppendRow,translateX:e.translateX,translateY:e.translateY,resizeIndicator:e.resizeIndicator,verticalBorder:e.verticalBorder,width:e.width,getCellContent:rt,isResizing:o!==void 0,onHeaderMenuClick:tt,onHeaderIndicatorClick:gt,isDragging:u,onItemHovered:ke,onDragStart:it,onMouseDown:je,allowResize:ne,onMouseUp:Ve,dragAndDropState:Me,onMouseMoveRaw:dt,ref:I})},Fc=Dc;function Hc(e){const t=a.useRef(null),[n,o]=a.useState({width:e==null?void 0:e[0],height:e==null?void 0:e[1]});return a.useLayoutEffect(()=>{const r=l=>{for(const s of l){const{width:c,height:u}=s&&s.contentRect||{};o(f=>f.width===c&&f.height===u?f:{width:c,height:u})}},i=new window.ResizeObserver(r);return t.current&&i.observe(t.current,void 0),()=>{i.disconnect()}},[t.current]),{ref:t,...n}}const Tc=(e,t,n)=>{const o=a.useRef(null),r=a.useRef(null),i=a.useRef(null),l=a.useRef(0),s=a.useRef(t);s.current=t;const c=n.current;a.useEffect(()=>{const u=()=>{var g,w;if(r.current===!1&&c!==null){const h=[c.scrollLeft,c.scrollTop];if(((g=i.current)==null?void 0:g[0])===h[0]&&((w=i.current)==null?void 0:w[1])===h[1])if(l.current>10){i.current=null,r.current=null;return}else l.current++;else l.current=0,s.current(h[0],h[1]),i.current=h;o.current=window.setTimeout(u,8.333333333333334)}},f=()=>{r.current=!0,i.current=null,o.current!==null&&(window.clearTimeout(o.current),o.current=null)},m=g=>{g.touches.length===0&&(r.current=!1,l.current=0,o.current=window.setTimeout(u,8.333333333333334))};if(e&&c!==null){const g=c;return g.addEventListener("touchstart",f),g.addEventListener("touchend",m),()=>{g.removeEventListener("touchstart",f),g.removeEventListener("touchend",m),o.current!==null&&window.clearTimeout(o.current)}}},[e,c])},Ac=Tc,zc=()=>e=>e.isSafari?"scroll":"auto",Bc=Qt("div")({name:"ScrollRegionStyle",class:"gdg-s1dgczr6",propsAsIs:!1,vars:{"s1dgczr6-0":[zc()]}});function Lc(e){const[t,n]=a.useState(!1),o=typeof window>"u"?null:window,r=a.useRef(0);return Xt("touchstart",a.useCallback(()=>{window.clearTimeout(r.current),n(!0)},[]),o,!0,!1),Xt("touchend",a.useCallback(i=>{i.touches.length===0&&(r.current=window.setTimeout(()=>n(!1),e))},[e]),o,!0,!1),t}const Pc=e=>{var ne,be;const{children:t,clientHeight:n,scrollHeight:o,scrollWidth:r,update:i,draggable:l,className:s,preventDiagonalScrolling:c=!1,paddingBottom:u=0,paddingRight:f=0,rightElement:m,rightElementProps:g,kineticScrollPerfHack:w=!1,scrollRef:h,initialSize:b}=e,v=[],x=(g==null?void 0:g.sticky)??!1,C=(g==null?void 0:g.fill)??!1,F=a.useRef(0),X=a.useRef(0),N=a.useRef(null),A=typeof window>"u"?1:window.devicePixelRatio,z=a.useRef({scrollLeft:0,scrollTop:0,lockDirection:void 0}),K=a.useRef(null),S=Lc(200),[$,W]=a.useState(!0),I=a.useRef(0);a.useLayoutEffect(()=>{if(!$||S||z.current.lockDirection===void 0)return;const ye=N.current;if(ye===null)return;const[U,ke]=z.current.lockDirection;U!==void 0?ye.scrollLeft=U:ke!==void 0&&(ye.scrollTop=ke),z.current.lockDirection=void 0},[S,$]);const R=a.useCallback((ye,U)=>{var it;const ke=N.current;if(ke===null)return;U=U??ke.scrollTop,ye=ye??ke.scrollLeft;const pe=z.current.scrollTop,je=z.current.scrollLeft,tt=ye-je,gt=U-pe;S&&tt!==0&>!==0&&(Math.abs(tt)>3||Math.abs(gt)>3)&&c&&z.current.lockDirection===void 0&&(z.current.lockDirection=Math.abs(tt)0&&(Math.abs(dt)>2e3||Me===0||Me===rt)&&o>ke.scrollHeight+5){const ie=Me/rt,We=(o-Ve)*ie;F.current=We-Me}Qe!==void 0&&(window.clearTimeout(I.current),W(!1),I.current=window.setTimeout(()=>W(!0),200)),i({x:ye,y:Me+F.current,width:Ae-f,height:Ve-u,paddingRight:((it=K.current)==null?void 0:it.clientWidth)??0})},[u,f,o,i,c,S]);Ac(w&&zr.value,R,N);const M=a.useRef(R);M.current=R;const re=a.useRef(),ee=a.useRef(!1);a.useLayoutEffect(()=>{ee.current?R():ee.current=!0},[R,u,f]);const ce=a.useCallback(ye=>{N.current=ye,h!==void 0&&(h.current=ye)},[h]);let Ce=0,Fe=0;for(v.push(a.createElement("div",{key:Ce++,style:{width:r,height:0}}));FeM.current(),0),re.current={width:V,height:xe}),(V??0)===0||(xe??0)===0?a.createElement("div",{ref:j}):a.createElement("div",{ref:j},a.createElement(Bc,{isSafari:zr.value},a.createElement("div",{className:"dvn-underlay"},t),a.createElement("div",{ref:ce,style:re.current,draggable:l,onDragStart:ye=>{l||(ye.stopPropagation(),ye.preventDefault())},className:"dvn-scroller "+(s??""),onScroll:()=>R()},a.createElement("div",{className:"dvn-scroll-inner"+(m===void 0?" dvn-hidden":"")},a.createElement("div",{className:"dvn-stack"},v),m!==void 0&&a.createElement(a.Fragment,null,!C&&a.createElement("div",{className:"dvn-spacer"}),a.createElement("div",{ref:K,style:{height:xe,maxHeight:n-Math.ceil(A%1),position:"sticky",top:0,paddingLeft:1,marginBottom:-40,marginRight:f,flexGrow:C?1:void 0,right:x?f??0:void 0,pointerEvents:"auto"}},m))))))},Wc=e=>{const{columns:t,rows:n,rowHeight:o,headerHeight:r,groupHeaderHeight:i,enableGroups:l,freezeColumns:s,experimental:c,nonGrowWidth:u,clientSize:f,className:m,onVisibleRegionChanged:g,scrollRef:w,preventDiagonalScrolling:h,rightElement:b,rightElementProps:v,overscrollX:x,overscrollY:C,initialSize:F,smoothScrollX:X=!1,smoothScrollY:N=!1,isDraggable:A}=e,{paddingRight:z,paddingBottom:K}=c??{},[S,$]=f,W=a.useRef(),I=a.useRef(),R=a.useRef(),M=a.useRef(),re=u+Math.max(0,x??0);let ee=l?r+i:r;if(typeof o=="number")ee+=n*o;else for(let j=0;j{var gt,Qe;if(ce.current===void 0)return;const j={...ce.current};let V=0,xe=j.x<0?-j.x:0,ne=0,be=0;j.x=j.x<0?0:j.x;let ye=0;for(let Ae=0;Ae=Ve+Ae.width)V+=Ae.width,be++,ne++;else if(j.x>Ve)V+=Ae.width,X?xe+=Ve-j.x:be++,ne++;else if(j.x+j.width>Ve)V+=Ae.width,ne++;else break}let U=0,ke=0,pe=0;if(typeof o=="number")N?(ke=Math.floor(j.y/o),U=ke*o-j.y):ke=Math.ceil(j.y/o),pe=Math.ceil(j.height/o)+ke,U<0&&pe++;else{let Ae=0;for(let Ve=0;Ve=Ae+Me)Ae+=Me,ke++,pe++;else if(j.y>dt)Ae+=Me,N?U+=dt-j.y:ke++,pe++;else if(j.y+j.height>Me/2+Ae)Ae+=Me,pe++;else break}}const je={x:be,y:ke,width:ne-be,height:pe-ke},tt=W.current;(tt===void 0||tt.y!==je.y||tt.x!==je.x||tt.height!==je.height||tt.width!==je.width||I.current!==xe||R.current!==U||j.width!==((gt=M.current)==null?void 0:gt[0])||j.height!==((Qe=M.current)==null?void 0:Qe[1]))&&(g==null||g({x:be,y:ke,width:ne-be,height:pe-ke},j.width,j.height,j.paddingRight??0,xe,U),W.current=je,I.current=xe,R.current=U,M.current=[j.width,j.height])},[t,o,n,g,s,X,N]),Fe=a.useCallback(j=>{ce.current=j,Ce()},[Ce]);return a.useEffect(()=>{Ce()},[Ce]),a.createElement(Pc,{scrollRef:w,className:m,kineticScrollPerfHack:c==null?void 0:c.kineticScrollPerfHack,preventDiagonalScrolling:h,draggable:A===!0||typeof A=="string",scrollWidth:re+(z??0),scrollHeight:ee+(K??0),clientHeight:$,rightElement:b,paddingBottom:K,paddingRight:z,rightElementProps:v,update:Fe,initialSize:F},a.createElement(Fc,{eventTargetRef:w,width:S,height:$,accessibilityHeight:e.accessibilityHeight,canvasRef:e.canvasRef,cellXOffset:e.cellXOffset,cellYOffset:e.cellYOffset,columns:e.columns,disabledRows:e.disabledRows,enableGroups:e.enableGroups,fillHandle:e.fillHandle,firstColAccessible:e.firstColAccessible,fixedShadowX:e.fixedShadowX,fixedShadowY:e.fixedShadowY,freezeColumns:e.freezeColumns,getCellContent:e.getCellContent,getCellRenderer:e.getCellRenderer,getGroupDetails:e.getGroupDetails,getRowThemeOverride:e.getRowThemeOverride,groupHeaderHeight:e.groupHeaderHeight,headerHeight:e.headerHeight,highlightRegions:e.highlightRegions,imageWindowLoader:e.imageWindowLoader,isFilling:e.isFilling,isFocused:e.isFocused,lockColumns:e.lockColumns,maxColumnWidth:e.maxColumnWidth,minColumnWidth:e.minColumnWidth,onHeaderMenuClick:e.onHeaderMenuClick,onHeaderIndicatorClick:e.onHeaderIndicatorClick,onMouseMove:e.onMouseMove,prelightCells:e.prelightCells,rowHeight:e.rowHeight,rows:e.rows,selection:e.selection,theme:e.theme,freezeTrailingRows:e.freezeTrailingRows,hasAppendRow:e.hasAppendRow,translateX:e.translateX,translateY:e.translateY,onColumnProposeMove:e.onColumnProposeMove,verticalBorder:e.verticalBorder,drawFocusRing:e.drawFocusRing,drawHeader:e.drawHeader,drawCell:e.drawCell,experimental:e.experimental,gridRef:e.gridRef,headerIcons:e.headerIcons,isDraggable:e.isDraggable,onCanvasBlur:e.onCanvasBlur,onCanvasFocused:e.onCanvasFocused,onCellFocused:e.onCellFocused,onColumnMoved:e.onColumnMoved,onColumnResize:e.onColumnResize,onColumnResizeEnd:e.onColumnResizeEnd,onColumnResizeStart:e.onColumnResizeStart,onContextMenu:e.onContextMenu,onDragEnd:e.onDragEnd,onDragLeave:e.onDragLeave,onDragOverCell:e.onDragOverCell,onDragStart:e.onDragStart,onDrop:e.onDrop,onItemHovered:e.onItemHovered,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onRowMoved:e.onRowMoved,smoothScrollX:e.smoothScrollX,smoothScrollY:e.smoothScrollY,resizeIndicator:e.resizeIndicator}))},$c=Wc,Oc=Qt("div")({name:"SearchWrapper",class:"gdg-seveqep",propsAsIs:!1}),Nc=a.createElement("svg",{className:"button-icon",viewBox:"0 0 512 512"},a.createElement("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M112 244l144-144 144 144M256 120v292"})),Xc=a.createElement("svg",{className:"button-icon",viewBox:"0 0 512 512"},a.createElement("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M112 268l144 144 144-144M256 392V100"})),Yc=a.createElement("svg",{className:"button-icon",viewBox:"0 0 512 512"},a.createElement("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",d:"M368 368L144 144M368 144L144 368"})),Gc=10,Kc=e=>{const{canvasRef:t,cellYOffset:n,rows:o,columns:r,searchInputRef:i,searchValue:l,searchResults:s,onSearchValueChange:c,getCellsForSelection:u,onSearchResultsChanged:f,showSearch:m=!1,onSearchClose:g}=e,[w]=a.useState(()=>"search-box-"+Math.round(Math.random()*1e3)),[h,b]=a.useState(""),v=l??h,x=a.useCallback(V=>{b(V),c==null||c(V)},[c]),[C,F]=a.useState(),X=a.useRef(C);X.current=C,a.useEffect(()=>{s!==void 0&&(s.length>0?F(V=>({rowsSearched:o,results:s.length,selectedIndex:(V==null?void 0:V.selectedIndex)??-1})):F(void 0))},[o,s]);const N=a.useRef();N.current===void 0&&(N.current=new AbortController);const A=a.useRef(),[z,K]=a.useState([]),S=s??z,$=a.useCallback(()=>{A.current!==void 0&&(window.cancelAnimationFrame(A.current),A.current=void 0,N.current.abort())},[]),W=a.useRef(n);W.current=n;const I=a.useCallback(V=>{const xe=new RegExp(V.replace(/([$()*+.?[\\\]^{|}-])/g,"\\$1"),"i");let ne=W.current,be=Math.min(10,o),ye=0;F(void 0),K([]);const U=[],ke=async()=>{var rt;if(u===void 0)return;const pe=performance.now(),je=o-ye;let tt=u({x:0,y:ne,width:r.length,height:Math.min(be,je,o-ne)},N.current.signal);typeof tt=="function"&&(tt=await tt());let gt=!1;for(const[it,ie]of tt.entries())for(const[We,Ie]of ie.entries()){let Re;switch(Ie.kind){case Z.Text:case Z.Number:Re=Ie.displayData;break;case Z.Uri:case Z.Markdown:Re=Ie.data;break;case Z.Boolean:Re=typeof Ie.data=="boolean"?Ie.data.toString():void 0;break;case Z.Image:case Z.Bubble:Re=Ie.data.join("🐳");break;case Z.Custom:Re=Ie.copyData;break}Re!==void 0&&xe.test(Re)&&(U.push([We,it+ne]),gt=!0)}const Qe=performance.now();gt&&K([...U]),ye+=tt.length,Zt(ye<=o);const Ae=((rt=X.current)==null?void 0:rt.selectedIndex)??-1;F({results:U.length,rowsSearched:ye,selectedIndex:Ae}),f==null||f(U,Ae),ne+be>=o?ne=0:ne+=be;const Ve=Qe-pe,Me=Math.max(Ve,1),dt=Gc/Me;be=Math.ceil(be*dt),ye{var V;g==null||g(),F(void 0),K([]),f==null||f([],-1),$(),(V=t==null?void 0:t.current)==null||V.focus()},[$,t,g,f]),M=a.useCallback(V=>{x(V.target.value),s===void 0&&(V.target.value===""?(F(void 0),K([]),$()):I(V.target.value))},[I,$,x,s]);a.useEffect(()=>{m&&i.current!==null&&(x(""),i.current.focus({preventScroll:!0}))},[m,i,x]);const re=a.useCallback(V=>{var ne;if((ne=V==null?void 0:V.stopPropagation)==null||ne.call(V),C===void 0)return;const xe=(C.selectedIndex+1)%C.results;F({...C,selectedIndex:xe}),f==null||f(S,xe)},[C,f,S]),ee=a.useCallback(V=>{var ne;if((ne=V==null?void 0:V.stopPropagation)==null||ne.call(V),C===void 0)return;let xe=(C.selectedIndex-1)%C.results;xe<0&&(xe+=C.results),F({...C,selectedIndex:xe}),f==null||f(S,xe)},[f,S,C]),ce=a.useCallback(V=>{(V.ctrlKey||V.metaKey)&&V.nativeEvent.code==="KeyF"||V.key==="Escape"?(R(),V.stopPropagation(),V.preventDefault()):V.key==="Enter"&&(V.shiftKey?ee():re())},[R,re,ee]);a.useEffect(()=>()=>{$()},[$]);const[Ce,Fe]=a.useState(!1);a.useEffect(()=>{if(m)Fe(!0);else{const V=setTimeout(()=>Fe(!1),150);return()=>clearTimeout(V)}},[m]);const j=a.useMemo(()=>{if(!m&&!Ce)return null;let V;C!==void 0&&(V=C.results>=1e3?"over 1000":`${C.results} result${C.results!==1?"s":""}`,C.selectedIndex>=0&&(V=`${C.selectedIndex+1} of ${V}`));const xe=ye=>{ye.stopPropagation()},be={width:`${Math.floor(((C==null?void 0:C.rowsSearched)??0)/o*100)}%`};return a.createElement(Oc,{className:m?"":"out",onMouseDown:xe,onMouseMove:xe,onMouseUp:xe,onClick:xe},a.createElement("div",{className:"gdg-search-bar-inner"},a.createElement("input",{id:w,"aria-hidden":!m,"data-testid":"search-input",ref:i,onChange:M,value:v,tabIndex:m?void 0:-1,onKeyDownCapture:ce}),a.createElement("button",{"aria-label":"Previous Result","aria-hidden":!m,tabIndex:m?void 0:-1,onClick:ee,disabled:((C==null?void 0:C.results)??0)===0},Nc),a.createElement("button",{"aria-label":"Next Result","aria-hidden":!m,tabIndex:m?void 0:-1,onClick:re,disabled:((C==null?void 0:C.results)??0)===0},Xc),g!==void 0&&a.createElement("button",{"aria-label":"Close Search","aria-hidden":!m,"data-testid":"search-close-button",tabIndex:m?void 0:-1,onClick:R},Yc)),C!==void 0?a.createElement(a.Fragment,null,a.createElement("div",{className:"gdg-search-status"},a.createElement("div",{"data-testid":"search-result-area"},V)),a.createElement("div",{className:"gdg-search-progress",style:be})):a.createElement("div",{className:"gdg-search-status"},a.createElement("label",{htmlFor:w},"Type to search")))},[m,Ce,C,o,w,i,M,v,ce,ee,re,g,R]);return a.createElement(a.Fragment,null,a.createElement($c,{prelightCells:S,accessibilityHeight:e.accessibilityHeight,canvasRef:e.canvasRef,cellXOffset:e.cellXOffset,cellYOffset:e.cellYOffset,className:e.className,clientSize:e.clientSize,columns:e.columns,disabledRows:e.disabledRows,enableGroups:e.enableGroups,fillHandle:e.fillHandle,firstColAccessible:e.firstColAccessible,nonGrowWidth:e.nonGrowWidth,fixedShadowX:e.fixedShadowX,fixedShadowY:e.fixedShadowY,freezeColumns:e.freezeColumns,getCellContent:e.getCellContent,getCellRenderer:e.getCellRenderer,getGroupDetails:e.getGroupDetails,getRowThemeOverride:e.getRowThemeOverride,groupHeaderHeight:e.groupHeaderHeight,headerHeight:e.headerHeight,highlightRegions:e.highlightRegions,imageWindowLoader:e.imageWindowLoader,initialSize:e.initialSize,isFilling:e.isFilling,isFocused:e.isFocused,lockColumns:e.lockColumns,maxColumnWidth:e.maxColumnWidth,minColumnWidth:e.minColumnWidth,onHeaderMenuClick:e.onHeaderMenuClick,onHeaderIndicatorClick:e.onHeaderIndicatorClick,onMouseMove:e.onMouseMove,onVisibleRegionChanged:e.onVisibleRegionChanged,overscrollX:e.overscrollX,overscrollY:e.overscrollY,preventDiagonalScrolling:e.preventDiagonalScrolling,rightElement:e.rightElement,rightElementProps:e.rightElementProps,rowHeight:e.rowHeight,rows:e.rows,scrollRef:e.scrollRef,selection:e.selection,theme:e.theme,freezeTrailingRows:e.freezeTrailingRows,hasAppendRow:e.hasAppendRow,translateX:e.translateX,translateY:e.translateY,verticalBorder:e.verticalBorder,onColumnProposeMove:e.onColumnProposeMove,drawFocusRing:e.drawFocusRing,drawCell:e.drawCell,drawHeader:e.drawHeader,experimental:e.experimental,gridRef:e.gridRef,headerIcons:e.headerIcons,isDraggable:e.isDraggable,onCanvasBlur:e.onCanvasBlur,onCanvasFocused:e.onCanvasFocused,onCellFocused:e.onCellFocused,onColumnMoved:e.onColumnMoved,onColumnResize:e.onColumnResize,onColumnResizeEnd:e.onColumnResizeEnd,onColumnResizeStart:e.onColumnResizeStart,onContextMenu:e.onContextMenu,onDragEnd:e.onDragEnd,onDragLeave:e.onDragLeave,onDragOverCell:e.onDragOverCell,onDragStart:e.onDragStart,onDrop:e.onDrop,onItemHovered:e.onItemHovered,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onRowMoved:e.onRowMoved,smoothScrollX:e.smoothScrollX,smoothScrollY:e.smoothScrollY,resizeIndicator:e.resizeIndicator}),j)},Uc=Kc;class _c extends a.PureComponent{constructor(){super(...arguments);Oe(this,"wrapperRef",a.createRef());Oe(this,"clickOutside",n=>{if(!(this.props.isOutsideClick&&!this.props.isOutsideClick(n))&&this.wrapperRef.current!==null&&!this.wrapperRef.current.contains(n.target)){let o=n.target;for(;o!==null;){if(o.classList.contains("click-outside-ignore"))return;o=o.parentElement}this.props.onClickOutside()}})}componentDidMount(){document.addEventListener("touchend",this.clickOutside,!0),document.addEventListener("mousedown",this.clickOutside,!0),document.addEventListener("contextmenu",this.clickOutside,!0)}componentWillUnmount(){document.removeEventListener("touchend",this.clickOutside,!0),document.removeEventListener("mousedown",this.clickOutside,!0),document.removeEventListener("contextmenu",this.clickOutside,!0)}render(){const{onClickOutside:n,isOutsideClick:o,...r}=this.props;return a.createElement("div",{...r,ref:this.wrapperRef},this.props.children)}}const Vc=()=>e=>Math.max(16,e.targetHeight-10),qc=Qt("input")({name:"RenameInput",class:"gdg-r17m35ur",propsAsIs:!1,vars:{"r17m35ur-0":[Vc(),"px"]}}),jc=e=>{const{bounds:t,group:n,onClose:o,canvasBounds:r,onFinish:i}=e,[l,s]=bt.useState(n);return bt.createElement(_c,{style:{position:"absolute",left:t.x-r.left+1,top:t.y-r.top,width:t.width-2,height:t.height},className:"gdg-c1tqibwd",onClickOutside:o},bt.createElement(qc,{targetHeight:t.height,"data-testid":"group-rename-input",value:l,onBlur:o,onFocus:c=>c.target.setSelectionRange(0,l.length),onChange:c=>s(c.target.value),onKeyDown:c=>{c.key==="Enter"?i(l):c.key==="Escape"&&o()},autoFocus:!0}))};function Zc(e,t){return e===void 0?!1:e.length>1&&e.startsWith("_")?Number.parseInt(e.slice(1))===t.keyCode:e.length===1&&e>="a"&&e<="z"?e.toUpperCase().codePointAt(0)===t.keyCode:e===t.key}function Be(e,t,n){const o=es(e,t);return o&&(n.didMatch=!0),o}function es(e,t){if(e.length===0)return!1;if(e.includes("|")){const c=e.split("|");for(const u of c)if(es(u,t))return!0;return!1}let n=!1,o=!1,r=!1,i=!1;const l=e.split("+"),s=l.pop();if(!Zc(s,t))return!1;if(l[0]==="any")return!0;for(const c of l)switch(c){case"ctrl":n=!0;break;case"shift":o=!0;break;case"alt":r=!0;break;case"meta":i=!0;break;case"primary":Br.value?i=!0:n=!0;break}return t.altKey===r&&t.ctrlKey===n&&t.shiftKey===o&&t.metaKey===i}function Jc(e,t,n,o,r,i){const l=bt.useCallback((u,f,m,g)=>{var C;(i==="cell"||i==="multi-cell")&&u!==void 0&&(u={...u,range:{x:u.cell[0],y:u.cell[1],width:1,height:1}});const w=n==="mixed"&&(m||g==="drag"),h=o==="mixed"&&w,b=r==="mixed"&&w;let v={current:u===void 0?void 0:{...u,rangeStack:g==="drag"?((C=e.current)==null?void 0:C.rangeStack)??[]:[]},columns:h?e.columns:lt.empty(),rows:b?e.rows:lt.empty()};m&&(i==="multi-rect"||i==="multi-cell")&&v.current!==void 0&&e.current!==void 0&&(v={...v,current:{...v.current,rangeStack:[...e.current.rangeStack,e.current.range]}}),t(v,f)},[o,e,n,i,r,t]),s=bt.useCallback((u,f,m)=>{u=u??e.rows,f!==void 0&&(u=u.add(f));let g;if(r==="exclusive"&&u.length>0)g={current:void 0,columns:lt.empty(),rows:u};else{const w=m&&n==="mixed",h=m&&o==="mixed";g={current:w?e.current:void 0,columns:h?e.columns:lt.empty(),rows:u}}t(g,!1)},[o,e,n,r,t]),c=bt.useCallback((u,f,m)=>{u=u??e.columns,f!==void 0&&(u=u.add(f));let g;if(o==="exclusive"&&u.length>0)g={current:void 0,rows:lt.empty(),columns:u};else{const w=m&&n==="mixed",h=m&&r==="mixed";g={current:w?e.current:void 0,rows:h?e.rows:lt.empty(),columns:u}}t(g,!1)},[o,e,n,r,t]);return[l,s,c]}function Qc(e,t,n,o,r){const i=a.useCallback(u=>{if(e===!0){const f=[];for(let m=u.y;m=r?g.push({kind:Z.Loading,allowOverlay:!1}):g.push(t([w,m]));f.push(g)}return f}return(e==null?void 0:e(u,o.signal))??[]},[o.signal,t,e,r]),l=e!==void 0?i:void 0,s=a.useCallback(u=>{if(l===void 0)return[];const f={...u,x:u.x-n};if(f.x<0){f.x=0,f.width--;const m=l(f,o.signal);return typeof m=="function"?async()=>(await m()).map(g=>[{kind:Z.Loading,allowOverlay:!1},...g]):m.map(g=>[{kind:Z.Loading,allowOverlay:!1},...g])}return l(f,o.signal)},[o.signal,l,n]);return[e!==void 0?s:void 0,l]}function ed(e){if(e.copyData!==void 0)return{formatted:e.copyData,rawValue:e.copyData,format:"string"};switch(e.kind){case Z.Boolean:return{formatted:e.data===!0?"TRUE":e.data===!1?"FALSE":e.data===vi?"INDETERMINATE":"",rawValue:e.data,format:"boolean"};case Z.Custom:return{formatted:e.copyData,rawValue:e.copyData,format:"string"};case Z.Image:case Z.Bubble:return{formatted:e.data,rawValue:e.data,format:"string-array"};case Z.Drilldown:return{formatted:e.data.map(t=>t.text),rawValue:e.data.map(t=>t.text),format:"string-array"};case Z.Text:return{formatted:e.displayData??e.data,rawValue:e.data,format:"string"};case Z.Uri:return{formatted:e.displayData??e.data,rawValue:e.data,format:"url"};case Z.Markdown:case Z.RowID:return{formatted:e.data,rawValue:e.data,format:"string"};case Z.Number:return{formatted:e.displayData,rawValue:e.data,format:"number"};case Z.Loading:return{formatted:"#LOADING",rawValue:"",format:"string"};case Z.Protected:return{formatted:"************",rawValue:"",format:"string"};default:er()}}function td(e,t){return e.map((o,r)=>{const i=t[r];return o.map(l=>l.span!==void 0&&l.span[0]!==i?{formatted:"",rawValue:"",format:"string"}:ed(l))})}function fl(e,t){return(t?/[\t\n",]/:/[\t\n"]/).test(e)&&(e=`"${e.replace(/"/g,'""')}"`),e}function nd(e){var n;const t=[];for(const o of e){const r=[];for(const i of o)i.format==="url"?r.push(((n=i.rawValue)==null?void 0:n.toString())??""):i.format==="string-array"?r.push(i.formatted.map(l=>fl(l,!0)).join(",")):r.push(fl(i.formatted,!1));t.push(r.join(" "))}return t.join(` +`)}function di(e){return e.replace(/\t/g," ").replace(/ {2,}/g,t=>" ".repeat(t.length))}function hl(e){return'"'+e.replace(/&/g,"&").replace(/"/g,""").replace(//g,">")+'"'}function od(e){return e.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}function rd(e){var n;const t=[];t.push('',"");for(const o of e){t.push("");for(const r of o){const i=`gdg-format="${r.format}"`;r.format==="url"?t.push(``):r.format==="string-array"?t.push(``):t.push(``)}t.push("")}return t.push("
${di(r.formatted)}
    ${r.formatted.map((l,s)=>`
  1. `+di(l)+"
  2. ").join("")}
${di(r.formatted)}
"),t.join("")}function id(e,t){const n=td(e,t),o=nd(n),r=rd(n);return{textPlain:o,textHtml:r}}function gl(e){var l;const t=document.createElement("html");t.innerHTML=e.replace(/ /g," ");const n=t.querySelector("table");if(n===null)return;const o=[n],r=[];let i;for(;o.length>0;){const s=o.pop();if(s===void 0)break;if(s instanceof HTMLTableElement||s.nodeName==="TBODY")o.push(...[...s.children].reverse());else if(s instanceof HTMLTableRowElement)i!==void 0&&r.push(i),i=[],o.push(...[...s.children].reverse());else if(s instanceof HTMLTableCellElement){const c=s.cloneNode(!0),f=c.children.length===1&&c.children[0].nodeName==="P"?c.children[0]:null,m=(f==null?void 0:f.children.length)===1&&f.children[0].nodeName==="FONT",g=c.querySelectorAll("br");for(const b of g)b.replaceWith(` +`);const w=c.getAttribute("gdg-raw-value"),h=c.getAttribute("gdg-format")??"string";if(c.querySelector("a")!==null)i==null||i.push({rawValue:((l=c.querySelector("a"))==null?void 0:l.getAttribute("href"))??"",formatted:c.textContent??"",format:h});else if(c.querySelector("ol")!==null){const b=c.querySelectorAll("li");i==null||i.push({rawValue:[...b].map(v=>v.getAttribute("gdg-raw-value")??""),formatted:[...b].map(v=>v.textContent??""),format:"string-array"})}else if(w!==null)i==null||i.push({rawValue:od(w),formatted:c.textContent??"",format:h});else{let b=c.textContent??"";m&&(b=b.replace(/\n(?!\n)/g,"")),i==null||i.push({rawValue:b??"",formatted:b??"",format:h})}}}return i!==void 0&&r.push(i),r}function ld(e,t,n,o,r){var s;const i=e;if(o==="allowPartial"||e.current===void 0||t===void 0)return e;let l=!1;do{if((e==null?void 0:e.current)===void 0)break;const c=(s=e.current)==null?void 0:s.range,u=[];if(c.width>2){const g=t({x:c.x,y:c.y,width:1,height:c.height},r.signal);if(typeof g=="function")return i;u.push(...g);const w=t({x:c.x+c.width-1,y:c.y,width:1,height:c.height},r.signal);if(typeof w=="function")return i;u.push(...w)}else{const g=t({x:c.x,y:c.y,width:c.width,height:c.height},r.signal);if(typeof g=="function")return i;u.push(...g)}let f=c.x-n,m=c.x+c.width-1-n;for(const g of u)for(const w of g)w.span!==void 0&&(f=Math.min(w.span[0],f),m=Math.max(w.span[1],m));f===c.x-n&&m===c.x+c.width-1-n?l=!0:e={current:{cell:e.current.cell??[0,0],range:{x:f+n,y:c.y,width:m-f+1,height:c.height},rangeStack:e.current.rangeStack},columns:e.columns,rows:e.rows}}while(!l);return e}function ml(e){return e.startsWith('"')&&e.endsWith('"')&&(e=e.slice(1,-1).replace(/""/g,'"')),e}function sd(e){let t;(function(s){s[s.None=0]="None",s[s.inString=1]="inString",s[s.inStringPostQuote=2]="inStringPostQuote"})(t||(t={}));const n=[];let o=[],r=0,i=t.None;e=e.replace(/\r\n/g,` +`);let l=0;for(const s of e){switch(i){case t.None:s===" "||s===` +`?(o.push(e.slice(r,l)),r=l+1,s===` +`&&(n.push(o),o=[])):s==='"'&&(i=t.inString);break;case t.inString:s==='"'&&(i=t.inStringPostQuote);break;case t.inStringPostQuote:s==='"'?i=t.inString:((s===" "||s===` +`)&&(o.push(ml(e.slice(r,l))),r=l+1,s===` +`&&(n.push(o),o=[])),i=t.None);break}l++}return rs.map(c=>({rawValue:c,formatted:c,format:"string"})))}function wl(e,t,n){var s;const o=id(e,t),r=c=>{var u;(u=window.navigator.clipboard)==null||u.writeText(c)},i=(c,u)=>{var f;return((f=window.navigator.clipboard)==null?void 0:f.write)===void 0?!1:(window.navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([c],{type:"text/plain"}),"text/html":new Blob([u],{type:"text/html"})})]),!0)},l=(c,u)=>{var f,m;try{if(n===void 0||n.clipboardData===null)throw new Error("No clipboard data");(f=n==null?void 0:n.clipboardData)==null||f.setData("text/plain",c),(m=n==null?void 0:n.clipboardData)==null||m.setData("text/html",u)}catch{i(c,u)||r(c)}};((s=window.navigator.clipboard)==null?void 0:s.write)!==void 0||(n==null?void 0:n.clipboardData)!==void 0?l(o.textPlain,o.textHtml):r(o.textPlain),n==null||n.preventDefault()}function ts(e){return e!==!0}function bl(e){return typeof e=="string"?e:`${e}px`}const ad=()=>e=>e.innerWidth,cd=()=>e=>e.innerHeight,dd=Qt("div")({name:"Wrapper",class:"gdg-wmyidgi",propsAsIs:!1,vars:{"wmyidgi-0":[ad()],"wmyidgi-1":[cd()]}}),ud=e=>{const{inWidth:t,inHeight:n,children:o,...r}=e;return a.createElement(dd,{innerHeight:bl(n),innerWidth:bl(t),...r},o)},fd=2,hd=1300;function gd(e,t,n){const o=bt.useRef(0),[r,i]=e??[0,0];bt.useEffect(()=>{if(r===0&&i===0){o.current=0;return}let l=!1,s=0;const c=u=>{var f;if(!l){if(s===0)s=u;else{const m=u-s;o.current=Math.min(1,o.current+m/hd);const g=o.current**1.618*m*fd;(f=t.current)==null||f.scrollBy(r*g,i*g),s=u,n==null||n()}window.requestAnimationFrame(c)}};return window.requestAnimationFrame(c),()=>{l=!0}},[t,r,i,n])}function md({rowHeight:e,headerHeight:t,groupHeaderHeight:n,theme:o,overscrollX:r,overscrollY:i,scaleToRem:l,remSize:s}){const[c,u,f,m,g,w]=bt.useMemo(()=>{if(!l||s===16)return[e,t,n,o,r,i];const h=s/16,b=e,v=Ol();return[typeof b=="number"?b*h:x=>Math.ceil(b(x)*h),Math.ceil(t*h),Math.ceil(n*h),{...o,headerIconSize:((o==null?void 0:o.headerIconSize)??v.headerIconSize)*h,cellHorizontalPadding:((o==null?void 0:o.cellHorizontalPadding)??v.cellHorizontalPadding)*h,cellVerticalPadding:((o==null?void 0:o.cellVerticalPadding)??v.cellVerticalPadding)*h},Math.ceil((r??0)*h),Math.ceil((i??0)*h)]},[n,t,r,i,s,e,l,o]);return{rowHeight:c,headerHeight:u,groupHeaderHeight:f,theme:m,overscrollX:g,overscrollY:w}}const Kn={downFill:!1,rightFill:!1,clear:!0,closeOverlay:!0,acceptOverlayDown:!0,acceptOverlayUp:!0,acceptOverlayLeft:!0,acceptOverlayRight:!0,copy:!0,paste:!0,cut:!0,search:!1,delete:!0,activateCell:!0,scrollToSelectedCell:!0,goToFirstCell:!0,goToFirstColumn:!0,goToFirstRow:!0,goToLastCell:!0,goToLastColumn:!0,goToLastRow:!0,goToNextPage:!0,goToPreviousPage:!0,selectToFirstCell:!0,selectToFirstColumn:!0,selectToFirstRow:!0,selectToLastCell:!0,selectToLastColumn:!0,selectToLastRow:!0,selectAll:!0,selectRow:!0,selectColumn:!0,goUpCell:!0,goRightCell:!0,goDownCell:!0,goLeftCell:!0,goUpCellRetainSelection:!0,goRightCellRetainSelection:!0,goDownCellRetainSelection:!0,goLeftCellRetainSelection:!0,selectGrowUp:!0,selectGrowRight:!0,selectGrowDown:!0,selectGrowLeft:!0};function Le(e,t){return e===!0?t:e===!1?"":e}function yl(e){const t=Br.value;return{activateCell:Le(e.activateCell," |Enter|shift+Enter"),clear:Le(e.clear,"any+Escape"),closeOverlay:Le(e.closeOverlay,"any+Escape"),acceptOverlayDown:Le(e.acceptOverlayDown,"Enter"),acceptOverlayUp:Le(e.acceptOverlayUp,"shift+Enter"),acceptOverlayLeft:Le(e.acceptOverlayLeft,"shift+Tab"),acceptOverlayRight:Le(e.acceptOverlayRight,"Tab"),copy:e.copy,cut:e.cut,delete:Le(e.delete,t?"Backspace|Delete":"Delete"),downFill:Le(e.downFill,"primary+_68"),scrollToSelectedCell:Le(e.scrollToSelectedCell,"primary+Enter"),goDownCell:Le(e.goDownCell,"ArrowDown"),goDownCellRetainSelection:Le(e.goDownCellRetainSelection,"alt+ArrowDown"),goLeftCell:Le(e.goLeftCell,"ArrowLeft|shift+Tab"),goLeftCellRetainSelection:Le(e.goLeftCellRetainSelection,"alt+ArrowLeft"),goRightCell:Le(e.goRightCell,"ArrowRight|Tab"),goRightCellRetainSelection:Le(e.goRightCellRetainSelection,"alt+ArrowRight"),goUpCell:Le(e.goUpCell,"ArrowUp"),goUpCellRetainSelection:Le(e.goUpCellRetainSelection,"alt+ArrowUp"),goToFirstCell:Le(e.goToFirstCell,"primary+Home"),goToFirstColumn:Le(e.goToFirstColumn,"Home|primary+ArrowLeft"),goToFirstRow:Le(e.goToFirstRow,"primary+ArrowUp"),goToLastCell:Le(e.goToLastCell,"primary+End"),goToLastColumn:Le(e.goToLastColumn,"End|primary+ArrowRight"),goToLastRow:Le(e.goToLastRow,"primary+ArrowDown"),goToNextPage:Le(e.goToNextPage,"PageDown"),goToPreviousPage:Le(e.goToPreviousPage,"PageUp"),paste:e.paste,rightFill:Le(e.rightFill,"primary+_82"),search:Le(e.search,"primary+f"),selectAll:Le(e.selectAll,"primary+a"),selectColumn:Le(e.selectColumn,"ctrl+ "),selectGrowDown:Le(e.selectGrowDown,"shift+ArrowDown"),selectGrowLeft:Le(e.selectGrowLeft,"shift+ArrowLeft"),selectGrowRight:Le(e.selectGrowRight,"shift+ArrowRight"),selectGrowUp:Le(e.selectGrowUp,"shift+ArrowUp"),selectRow:Le(e.selectRow,"shift+ "),selectToFirstCell:Le(e.selectToFirstCell,"primary+shift+Home"),selectToFirstColumn:Le(e.selectToFirstColumn,"primary+shift+ArrowLeft"),selectToFirstRow:Le(e.selectToFirstRow,"primary+shift+ArrowUp"),selectToLastCell:Le(e.selectToLastCell,"primary+shift+End"),selectToLastColumn:Le(e.selectToLastColumn,"primary+shift+ArrowRight"),selectToLastRow:Le(e.selectToLastRow,"primary+shift+ArrowDown")}}function wd(e){const t=ea(e);return bt.useMemo(()=>{if(t===void 0)return yl(Kn);const n={...t,goToNextPage:(t==null?void 0:t.goToNextPage)??(t==null?void 0:t.pageDown)??Kn.goToNextPage,goToPreviousPage:(t==null?void 0:t.goToPreviousPage)??(t==null?void 0:t.pageUp)??Kn.goToPreviousPage,goToFirstCell:(t==null?void 0:t.goToFirstCell)??(t==null?void 0:t.first)??Kn.goToFirstCell,goToLastCell:(t==null?void 0:t.goToLastCell)??(t==null?void 0:t.last)??Kn.goToLastCell,selectToFirstCell:(t==null?void 0:t.selectToFirstCell)??(t==null?void 0:t.first)??Kn.selectToFirstCell,selectToLastCell:(t==null?void 0:t.selectToLastCell)??(t==null?void 0:t.last)??Kn.selectToLastCell};return yl({...Kn,...n})},[t])}function bd(e){function t(o,r,i){if(typeof o=="number")return{headerIndex:o,isCollapsed:!1,depth:r,path:i};const l={headerIndex:o.headerIndex,isCollapsed:o.isCollapsed,depth:r,path:i};return o.subGroups!==void 0&&(l.subGroups=o.subGroups.map((s,c)=>t(s,r+1,[...i,c])).sort((s,c)=>s.headerIndex-c.headerIndex)),l}return e.map((o,r)=>t(o,0,[r])).sort((o,r)=>o.headerIndex-r.headerIndex)}function Ii(e,t){const n=[];function o(l,s,c=!1){let u=s!==null?s-l.headerIndex:t-l.headerIndex;if(l.subGroups!==void 0&&(u=l.subGroups[0].headerIndex-l.headerIndex),u--,n.push({headerIndex:l.headerIndex,contentIndex:-1,skip:c,isCollapsed:l.isCollapsed,depth:l.depth,path:l.path,rows:u}),l.subGroups)for(let f=0;fl.skip===!1).map(l=>{const{skip:s,...c}=l;return c})}function Pr(e,t){if(t===void 0||Ii.length===0)return{path:[e],originalIndex:e,isGroupHeader:!1,groupIndex:e,contentIndex:e,groupRows:-1};let n=e;for(const o of t){if(n===0)return{path:[...o.path,-1],originalIndex:o.headerIndex,isGroupHeader:!0,groupIndex:-1,contentIndex:-1,groupRows:o.rows};if(n--,!o.isCollapsed){if(ne===void 0?void 0:Ii(e,t),[e,t]),i=bt.useMemo(()=>r===void 0?t:r.reduce((u,f)=>u+(f.isCollapsed?1:f.rows+1),0),[r,t]),l=bt.useMemo(()=>e===void 0||typeof n=="number"&&e.height===n?n:u=>{const{isGroupHeader:f}=Pr(u,r);return f?e.height:typeof n=="number"?n:n(u)},[r,e,n]),s=bt.useCallback(u=>{if(r===void 0)return u;let f=u;for(const m of r){if(f===0)return;if(f--,!m.isCollapsed){if(f{if(e===void 0)return o==null?void 0:o(u,u,u);if(o===void 0&&(e==null?void 0:e.themeOverride)===void 0)return;const{isGroupHeader:f,contentIndex:m,groupIndex:g}=Pr(u,r);return f?e.themeOverride:o==null?void 0:o(u,g,m)},[r,o,e]));return e===void 0?{rowHeight:l,rows:t,rowNumberMapper:s,getRowThemeOverride:c}:{rowHeight:l,rows:i,rowNumberMapper:s,getRowThemeOverride:c}}function pd(e,t){const n=bt.useMemo(()=>e===void 0?void 0:Ii(e,t),[e,t]);return{getRowGroupingForPath:os,updateRowGroupingByPath:ns,mapper:bt.useCallback(o=>{if(typeof o=="number")return Pr(o,n);const r=Pr(o[1],n);return{...r,originalIndex:[o[0],r.originalIndex]}},[n])}}function ns(e,t,n){const[o,...r]=t;return r[0]===-1?e.map((i,l)=>l===o?{...i,...n}:i):e.map((i,l)=>l===o?{...i,subGroups:ns(i.subGroups??[],r,n)}:i)}function os(e,t){const[n,...o]=t;return o[0]===-1?e[n]:os(e[n].subGroups??[],o)}function vd(e,t){const[n]=a.useState(()=>({value:e,callback:t,facade:{get current(){return n.value},set current(o){const r=n.value;r!==o&&(n.value=o,n.callback(o,r))}}}));return n.callback=t,n.facade}function Cd(e,t,n,o,r){const[i,l]=a.useMemo(()=>[t!==void 0&&typeof n=="number"?Math.floor(t/n):0,t!==void 0&&typeof n=="number"?-(t%n):0],[t,n]),s=a.useMemo(()=>({x:o.current.x,y:i,width:o.current.width??1,height:o.current.height??1,ty:l}),[o,l,i]),[c,u,f]=Qs(s),m=a.useRef(r);m.current=r;const g=vd(null,b=>{b!==null&&t!==void 0?b.scrollTop=t:b!==null&&e!==void 0&&(b.scrollLeft=e)}),w=(c.height??1)>1;a.useLayoutEffect(()=>{if(t!==void 0&&g.current!==null&&w){if(g.current.scrollTop===t)return;g.current.scrollTop=t,g.current.scrollTop!==t&&f(),m.current()}},[t,w,f,g]);const h=(c.width??1)>1;return a.useLayoutEffect(()=>{if(e!==void 0&&g.current!==null&&h){if(g.current.scrollLeft===e)return;g.current.scrollLeft=e,g.current.scrollLeft!==e&&f(),m.current()}},[e,h,f,g]),{visibleRegion:c,setVisibleRegion:u,scrollRef:g}}const xd=a.lazy(async()=>await xl(()=>import("./data-grid-overlay-editor-8FOzbsOH.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url));let kd=0;function Sd(e){return Ns(_i(_i(e).filter(t=>t.span!==void 0).map(t=>{var n,o;return io((((n=t.span)==null?void 0:n[0])??0)+1,(((o=t.span)==null?void 0:o[1])??0)+1)})))}function Ir(e,t){return e===void 0||t===0||e.columns.length===0&&e.current===void 0?e:{current:e.current===void 0?void 0:{cell:[e.current.cell[0]+t,e.current.cell[1]],range:{...e.current.range,x:e.current.range.x+t},rangeStack:e.current.rangeStack.map(n=>({...n,x:n.x+t}))},rows:e.rows,columns:e.columns.offset(t)}}const Dr={kind:Z.Loading,allowOverlay:!1},Fr={columns:lt.empty(),rows:lt.empty(),current:void 0},Md=(e,t)=>{var Gi,Ki,Ui;const[n,o]=a.useState(Fr),[r,i]=a.useState(),l=a.useRef(null),s=a.useRef(null),[c,u]=a.useState(),f=a.useRef(),m=typeof window>"u"?null:window,{imageEditorOverride:g,getRowThemeOverride:w,markdownDivCreateNode:h,width:b,height:v,columns:x,rows:C,getCellContent:F,onCellClicked:X,onCellActivated:N,onFillPattern:A,onFinishedEditing:z,coercePasteValue:K,drawHeader:S,drawCell:$,editorBloom:W,onHeaderClicked:I,onColumnProposeMove:R,spanRangeBehavior:M="default",onGroupHeaderClicked:re,onCellContextMenu:ee,className:ce,onHeaderContextMenu:Ce,getCellsForSelection:Fe,onGroupHeaderContextMenu:j,onGroupHeaderRenamed:V,onCellEdited:xe,onCellsEdited:ne,onSearchResultsChanged:be,searchResults:ye,onSearchValueChange:U,searchValue:ke,onKeyDown:pe,onKeyUp:je,keybindings:tt,editOnType:gt=!0,onRowAppended:Qe,onColumnMoved:Ae,validateCell:Ve,highlightRegions:Me,rangeSelect:dt="rect",columnSelect:rt="multi",rowSelect:it="multi",rangeSelectionBlending:ie="exclusive",columnSelectionBlending:We="exclusive",rowSelectionBlending:Ie="exclusive",onDelete:Re,onDragStart:fe,onMouseMove:Ne,onPaste:Te,copyHeaders:qe=!1,freezeColumns:oe=0,cellActivationBehavior:He="second-click",rowSelectionMode:et="auto",onHeaderMenuClick:$e,onHeaderIndicatorClick:Ue,getGroupDetails:ut,rowGrouping:Xe,onSearchClose:ze,onItemHovered:yt,onSelectionCleared:pt,showSearch:Ut,onVisibleRegionChanged:mt,gridSelection:Et,onGridSelectionChange:It,minColumnWidth:An=50,maxColumnWidth:zn=500,maxColumnAutoWidth:at,provideEditor:Rn,trailingRowOptions:Pe,freezeTrailingRows:Ze=0,allowedFillDirections:Wt="orthogonal",scrollOffsetX:En,scrollOffsetY:en,verticalBorder:$t,onDragOverCell:_e,onDrop:kt,onColumnResize:st,onColumnResizeEnd:Yt,onColumnResizeStart:At,customRenderers:qt,fillHandle:Ao,drawFocusRing:vt=!0,experimental:Dt,fixedShadowX:Ft,fixedShadowY:zt,headerIcons:In,imageWindowLoader:rr,initialSize:Bn,isDraggable:Dn,onDragLeave:Fn,onRowMoved:wn,overscrollX:ir,overscrollY:lr,preventDiagonalScrolling:co,rightElement:uo,rightElementProps:fo,trapFocus:jn=!1,smoothScrollX:Zn,smoothScrollY:Ln,scaleToRem:Or=!1,rowHeight:sr=34,headerHeight:ar=36,groupHeaderHeight:Nr=ar,theme:ho,isOutsideClick:Pn,renderers:zo,resizeIndicator:Xr,scrollToActiveCell:Bo=!0}=e,Bt=typeof e.rowMarkers=="string"?void 0:e.rowMarkers,Gt=(Bt==null?void 0:Bt.kind)??e.rowMarkers??"none",Di=(Bt==null?void 0:Bt.width)??e.rowMarkerWidth,Lo=(Bt==null?void 0:Bt.startIndex)??e.rowMarkerStartIndex??1,go=(Bt==null?void 0:Bt.theme)??e.rowMarkerTheme,Jn=(Bt==null?void 0:Bt.checkboxStyle)??"square",bn=Math.max(An,20),dn=Math.max(zn,bn),Wn=Math.max(at??dn,bn),mo=a.useMemo(()=>typeof window>"u"?{fontSize:"16px"}:window.getComputedStyle(document.documentElement),[]),{rows:ve,rowNumberMapper:wo,rowHeight:cr,getRowThemeOverride:tn}=yd(Xe,C,sr,w),dr=a.useMemo(()=>Number.parseFloat(mo.fontSize),[mo]),{rowHeight:yn,headerHeight:Po,groupHeaderHeight:Wo,theme:$o,overscrollX:ur,overscrollY:fr}=md({groupHeaderHeight:Nr,headerHeight:ar,overscrollX:ir,overscrollY:lr,remSize:dr,rowHeight:cr,scaleToRem:Or,theme:ho}),pn=wd(tt),$n=Di??(C>1e4?48:C>1e3?44:C>100?36:32),nn=Gt!=="none",H=nn?1:0,wt=Qe!==void 0,Hn=(Pe==null?void 0:Pe.sticky)===!0,[Yr,hr]=a.useState(!1),Gr=Ut??Yr,Kr=a.useCallback(()=>{ze!==void 0?ze():hr(!1)},[ze]),B=a.useMemo(()=>Et===void 0?void 0:Ir(Et,H),[Et,H])??n,Lt=a.useRef();Lt.current===void 0&&(Lt.current=new AbortController),a.useEffect(()=>()=>Lt==null?void 0:Lt.current.abort(),[]);const[St,_r]=Qc(Fe,F,H,Lt.current,ve),bo=a.useCallback((d,p,y)=>{if(Ve===void 0)return!0;const D=[d[0]-H,d[1]];return Ve==null?void 0:Ve(D,p,y)},[H,Ve]),yo=a.useRef(Et),Ot=a.useCallback((d,p)=>{p&&(d=ld(d,St,H,M,Lt.current)),It!==void 0?(yo.current=Ir(d,-H),It(yo.current)):o(d)},[It,St,H,M]),On=ro(st,a.useCallback((d,p,y,D)=>{st==null||st(x[y-H],p,y-H,D)},[st,H,x])),Vr=ro(Yt,a.useCallback((d,p,y,D)=>{Yt==null||Yt(x[y-H],p,y-H,D)},[Yt,H,x])),k=ro(At,a.useCallback((d,p,y,D)=>{At==null||At(x[y-H],p,y-H,D)},[At,H,x])),G=ro(S,a.useCallback((d,p)=>(S==null?void 0:S({...d,columnIndex:d.columnIndex-H},p))??!1,[S,H])),de=ro($,a.useCallback((d,p)=>($==null?void 0:$({...d,col:d.col-H},p))??!1,[$,H])),te=a.useCallback(d=>{if(Re!==void 0){const p=Re(Ir(d,-H));return typeof p=="boolean"?p:Ir(p,H)}return!0},[Re,H]),[_,q,se]=Jc(B,Ot,ie,We,Ie,dt),ae=a.useMemo(()=>_n(Ol(),$o),[$o]),[ue,Ht]=a.useState([0,0,0]),me=a.useMemo(()=>{if(zo===void 0)return{};const d={};for(const p of zo)d[p.kind]=p;return d},[zo]),De=a.useCallback(d=>d.kind!==Z.Custom?me[d.kind]:qt==null?void 0:qt.find(p=>p.isMatch(d)),[qt,me]);let{sizedColumns:Ee,nonGrowWidth:Ye}=Ma(x,ve,_r,ue[0]-(H===0?0:$n)-ue[2],bn,Wn,ae,De,Lt.current);Gt!=="none"&&(Ye+=$n);const Ct=a.useMemo(()=>Ee.some(d=>d.group!==void 0),[Ee]),Nt=Ct?Po+Wo:Po,xt=B.rows.length,on=Gt==="none"?void 0:xt===0?!1:xt===ve?!0:void 0,Ge=a.useMemo(()=>Gt==="none"?Ee:[{title:"",width:$n,icon:void 0,hasMenu:!1,style:"normal",themeOverride:go,rowMarker:Jn,rowMarkerChecked:on},...Ee],[Gt,Ee,$n,go,Jn,on]),ft=a.useRef({height:1,width:1,x:0,y:0}),nt=a.useRef(!1),{setVisibleRegion:Vt,visibleRegion:Pt,scrollRef:ot}=Cd(En,en,yn,ft,()=>nt.current=!0);ft.current=Pt;const vn=Pt.x+H,Nn=Pt.y,Tt=a.useRef(null),_t=a.useCallback(d=>{var p;d===!0?(p=Tt.current)==null||p.focus():window.requestAnimationFrame(()=>{var y;(y=Tt.current)==null||y.focus()})},[]),Kt=wt?ve+1:ve,rn=a.useCallback(d=>{const p=H===0?d:d.map(D=>({...D,location:[D.location[0]-H,D.location[1]]})),y=ne==null?void 0:ne(p);if(y!==!0)for(const D of p)xe==null||xe(D.location,D.value);return y},[xe,ne,H]),[Qn,qr]=a.useState(),gr=B.current!==void 0&&B.current.range.width*B.current.range.height>1?B.current.range:void 0,po=vt?(Gi=B.current)==null?void 0:Gi.cell:void 0,mr=po==null?void 0:po[0],wr=po==null?void 0:po[1],rs=a.useMemo(()=>{if((Me===void 0||Me.length===0)&&(gr??mr??wr??Qn)===void 0)return;const d=[];if(Me!==void 0)for(const p of Me){const y=Ge.length-p.range.x-H;y>0&&d.push({color:p.color,range:{...p.range,x:p.range.x+H,width:Math.min(y,p.range.width)},style:p.style})}return Qn!==void 0&&d.push({color:so(ae.accentColor,0),range:Qn,style:"dashed"}),gr!==void 0&&d.push({color:so(ae.accentColor,.5),range:gr,style:"solid-outline"}),mr!==void 0&&wr!==void 0&&d.push({color:ae.accentColor,range:{x:mr,y:wr,width:1,height:1},style:"solid-outline"}),d.length>0?d:void 0},[Qn,gr,mr,wr,Me,Ge.length,ae.accentColor,H]),Fi=a.useRef(Ge);Fi.current=Ge;const jt=a.useCallback(([d,p],y=!1)=>{var P,T,L,O,Y,J,he;const D=wt&&p===Kt-1;if(d===0&&nn){if(D)return Dr;const Q=wo(p);return Q===void 0?Dr:{kind:cn.Marker,allowOverlay:!1,checkboxStyle:Jn,checked:(B==null?void 0:B.rows.hasIndex(p))===!0,markerKind:Gt==="clickable-number"?"number":Gt,row:Lo+Q,drawHandle:wn!==void 0,cursor:Gt==="clickable-number"?"pointer":void 0}}else if(D){const we=d===H?(Pe==null?void 0:Pe.hint)??"":"",le=Fi.current[d];if(((P=le==null?void 0:le.trailingRowOptions)==null?void 0:P.disabled)===!0)return Dr;{const Ke=((T=le==null?void 0:le.trailingRowOptions)==null?void 0:T.hint)??we,Se=((L=le==null?void 0:le.trailingRowOptions)==null?void 0:L.addIcon)??(Pe==null?void 0:Pe.addIcon);return{kind:cn.NewRow,hint:Ke,allowOverlay:!1,icon:Se}}}else{const Q=d-H;if(y||(Dt==null?void 0:Dt.strict)===!0){const le=ft.current,Ke=le.x>Q||Q>le.x+le.width||le.y>p||p>le.y+le.height||p>=Zr.current,Se=Q===((Y=(O=le.extras)==null?void 0:O.selected)==null?void 0:Y[0])&&p===((J=le.extras)==null?void 0:J.selected[1]);let ge=!1;if(((he=le.extras)==null?void 0:he.freezeRegions)!==void 0){for(const Je of le.extras.freezeRegions)if(lo(Je,Q,p)){ge=!0;break}}if(Ke&&!Se&&!ge)return Dr}let we=F([Q,p]);return H!==0&&we.span!==void 0&&(we={...we,span:[we.span[0]+H,we.span[1]+H]}),we}},[wt,Kt,nn,wo,Jn,B==null?void 0:B.rows,Gt,Lo,wn,H,Pe==null?void 0:Pe.hint,Pe==null?void 0:Pe.addIcon,Dt==null?void 0:Dt.strict,F]),jr=a.useCallback(d=>{let p=(ut==null?void 0:ut(d))??{name:d};return V!==void 0&&d!==""&&(p={icon:p.icon,name:p.name,overrideTheme:p.overrideTheme,actions:[...p.actions??[],{title:"Rename",icon:"renameIcon",onClick:y=>Qr({group:p.name,bounds:y.bounds})}]}),p},[ut,V]),br=a.useCallback(d=>{var L;const[p,y]=d.cell,D=Ge[p],E=(D==null?void 0:D.group)!==void 0?(L=jr(D.group))==null?void 0:L.overrideTheme:void 0,P=D==null?void 0:D.themeOverride,T=tn==null?void 0:tn(y);i({...d,theme:_n(ae,E,P,T,d.content.themeOverride)})},[tn,Ge,jr,ae]),vo=a.useCallback((d,p,y)=>{var T;if(B.current===void 0)return;const[D,E]=B.current.cell,P=jt([D,E]);if(P.kind!==Z.Boolean&&P.allowOverlay){let L=P;if(y!==void 0)switch(L.kind){case Z.Number:{const O=Ys(()=>y==="-"?-0:Number.parseFloat(y),0);L={...L,data:Number.isNaN(O)?0:O};break}case Z.Text:case Z.Markdown:case Z.Uri:L={...L,data:y};break}br({target:d,content:L,initialValue:y,cell:[D,E],highlight:y===void 0,forceEditMode:y!==void 0})}else P.kind===Z.Boolean&&p&&P.readonly!==!0&&(rn([{location:B.current.cell,value:{...P,data:ts(P.data)}}]),(T=Tt.current)==null||T.damage([{cell:B.current.cell}]))},[jt,B,rn,br]),Hi=a.useCallback((d,p)=>{var E;const y=(E=Tt.current)==null?void 0:E.getBounds(d,p);if(y===void 0||ot.current===null)return;const D=jt([d,p]);D.allowOverlay&&br({target:y,content:D,initialValue:void 0,highlight:!0,cell:[d,p],forceEditMode:!0})},[jt,ot,br]),Mt=a.useCallback((d,p,y="both",D=0,E=0,P=void 0)=>{if(ot.current!==null){const T=Tt.current,L=s.current,O=typeof d!="number"?d.unit==="cell"?d.amount:void 0:d,Y=typeof p!="number"?p.unit==="cell"?p.amount:void 0:p,J=typeof d!="number"&&d.unit==="px"?d.amount:void 0,he=typeof p!="number"&&p.unit==="px"?p.amount:void 0;if(T!==null&&L!==null){let Q={x:0,y:0,width:0,height:0},we=0,le=0;if((O!==void 0||Y!==void 0)&&(Q=T.getBounds((O??0)+H,Y??0)??Q,Q.width===0||Q.height===0))return;const Ke=L.getBoundingClientRect(),Se=Ke.width/L.offsetWidth;if(J!==void 0&&(Q={...Q,x:J-Ke.left-ot.current.scrollLeft,width:1}),he!==void 0&&(Q={...Q,y:he+Ke.top-ot.current.scrollTop,height:1}),Q!==void 0){const ge={x:Q.x-D,y:Q.y-E,width:Q.width+2*D,height:Q.height+2*E};let Je=0;for(let li=0;li0&&(ht=ao(Kt,Rt,yn));let hn=Je*Se+Ke.left+H*$n*Se,xn=Ke.right,gn=Ke.top+Nt*Se,kn=Ke.bottom-ht*Se;const Sr=Q.width+D*2;switch(P==null?void 0:P.hAlign){case"start":xn=hn+Sr;break;case"end":hn=xn-Sr;break;case"center":hn=Math.floor((hn+xn)/2)-Sr/2,xn=hn+Sr;break}const Mr=Q.height+E*2;switch(P==null?void 0:P.vAlign){case"start":kn=gn+Mr;break;case"end":gn=kn-Mr;break;case"center":gn=Math.floor((gn+kn)/2)-Mr/2,kn=gn+Mr;break}hn>ge.x?we=ge.x-hn:xnge.y?le=ge.y-gn:kn=Kt-Rt)&&(le=0),(we!==0||le!==0)&&(Se!==1&&(we/=Se,le/=Se),ot.current.scrollTo(we+ot.current.scrollLeft,le+ot.current.scrollTop))}}}},[H,Ze,$n,ot,Nt,oe,Ee,Kt,Hn,yn]),Ti=a.useRef(Hi),Ai=a.useRef(F),Zr=a.useRef(ve);Ti.current=Hi,Ai.current=F,Zr.current=ve;const Co=a.useCallback(async(d,p=!0)=>{var O;const y=Ge[d];if(((O=y==null?void 0:y.trailingRowOptions)==null?void 0:O.disabled)===!0)return;const D=Qe==null?void 0:Qe();let E,P=!0;D!==void 0&&(E=await D,E==="top"&&(P=!1),typeof E=="number"&&(P=!1));let T=0;const L=()=>{if(Zr.current<=ve){T<500&&window.setTimeout(L,T),T=50+T*2;return}const Y=typeof E=="number"?E:P?ve:0;kr.current(d-H,Y),_({cell:[d,Y],range:{x:d,y:Y,width:1,height:1}},!1,!1,"edit");const J=Ai.current([d-H,Y]);J.allowOverlay&&jo(J)&&J.readonly!==!0&&p&&window.setTimeout(()=>{Ti.current(d,Y)},0)};L()},[Ge,Qe,H,ve,_]),yr=a.useCallback(d=>{var y,D;const p=((D=(y=Ee[d])==null?void 0:y.trailingRowOptions)==null?void 0:D.targetColumn)??(Pe==null?void 0:Pe.targetColumn);if(typeof p=="number")return p+(nn?1:0);if(typeof p=="object"){const E=x.indexOf(p);if(E>=0)return E+(nn?1:0)}},[Ee,x,nn,Pe==null?void 0:Pe.targetColumn]),Xn=a.useRef(),xo=a.useRef(),Oo=a.useCallback((d,p)=>{var E;const[y,D]=p;return _n(ae,(E=Ge[y])==null?void 0:E.themeOverride,tn==null?void 0:tn(D),d.themeOverride)},[tn,Ge,ae]),{mapper:eo}=pd(Xe,C),un=Xe==null?void 0:Xe.navigationBehavior,No=a.useCallback(d=>{var J,he,Q;const p=Br.value?d.metaKey:d.ctrlKey,y=p&&it==="multi",D=p&&rt==="multi",[E,P]=d.location,T=B.columns,L=B.rows,[O,Y]=((J=B.current)==null?void 0:J.cell)??[];if(d.kind==="cell"){if(xo.current=void 0,to.current=[E,P],E===0&&nn){if(wt===!0&&P===ve||Gt==="number"||it==="none")return;const we=jt(d.location);if(we.kind!==cn.Marker)return;if(wn!==void 0){const Se=De(we);Zt((Se==null?void 0:Se.kind)===cn.Marker);const ge=(he=Se==null?void 0:Se.onClick)==null?void 0:he.call(Se,{...d,cell:we,posX:d.localEventX,posY:d.localEventY,bounds:d.bounds,theme:Oo(we,d.location),preventDefault:()=>{}});if(ge===void 0||ge.checked===we.checked)return}i(void 0),_t();const le=L.hasIndex(P),Ke=Xn.current;if(it==="multi"&&(d.shiftKey||d.isLongTouch===!0)&&Ke!==void 0&&L.hasIndex(Ke)){const Se=[Math.min(Ke,P),Math.max(Ke,P)+1];y||et==="multi"?q(void 0,Se,!0):q(lt.fromSingleSelection(Se),void 0,y)}else y||d.isTouch||et==="multi"?le?q(L.remove(P),void 0,!0):(q(void 0,P,!0),Xn.current=P):le&&L.length===1?q(lt.empty(),void 0,p):(q(lt.fromSingleSelection(P),void 0,p),Xn.current=P)}else if(E>=H&&wt&&P===ve){const we=yr(E);Co(we??E)}else if(O!==E||Y!==P){const we=jt(d.location),le=De(we);if((le==null?void 0:le.onSelect)!==void 0){let ge=!1;if(le.onSelect({...d,cell:we,posX:d.localEventX,posY:d.localEventY,bounds:d.bounds,preventDefault:()=>ge=!0,theme:Oo(we,d.location)}),ge)return}if(un==="block"&&eo(P).isGroupHeader)return;const Ke=Hn&&P===ve,Se=Hn&&B!==void 0&&((Q=B.current)==null?void 0:Q.cell[1])===ve;if((d.shiftKey||d.isLongTouch===!0)&&O!==void 0&&Y!==void 0&&B.current!==void 0&&!Se){if(Ke)return;const ge=Math.min(E,O),Je=Math.max(E,O),ht=Math.min(P,Y),Rt=Math.max(P,Y);_({...B.current,range:{x:ge,y:ht,width:Je-ge+1,height:Rt-ht+1}},!0,p,"click"),Xn.current=void 0,_t()}else _({cell:[E,P],range:{x:E,y:P,width:1,height:1}},!0,p,"click"),Xn.current=void 0,i(void 0),_t()}}else if(d.kind==="header")if(to.current=[E,P],i(void 0),nn&&E===0)Xn.current=void 0,xo.current=void 0,it==="multi"&&(L.length!==ve?q(lt.fromSingleSelection([0,ve]),void 0,p):q(lt.empty(),void 0,p),_t());else{const we=xo.current;if(rt==="multi"&&(d.shiftKey||d.isLongTouch===!0)&&we!==void 0&&T.hasIndex(we)){const le=[Math.min(we,E),Math.max(we,E)+1];D?se(void 0,le,p):se(lt.fromSingleSelection(le),void 0,p)}else D?(T.hasIndex(E)?se(T.remove(E),void 0,p):se(void 0,E,p),xo.current=E):rt!=="none"&&(se(lt.fromSingleSelection(E),void 0,p),xo.current=E);Xn.current=void 0,_t()}else d.kind===an?to.current=[E,P]:d.kind===Lr&&!d.isMaybeScrollbar&&(Ot(Fr,!1),i(void 0),_t(),pt==null||pt(),Xn.current=void 0,xo.current=void 0)},[it,rt,B,nn,H,wt,ve,Gt,jt,wn,_t,et,De,Oo,q,yr,Co,un,eo,Hn,_,se,Ot,pt]),Xo=a.useRef(!1),to=a.useRef(),zi=a.useRef(Pt),ln=a.useRef(),is=a.useCallback(d=>{if(ko.current=!1,zi.current=ft.current,d.button!==0&&d.button!==1){ln.current=void 0;return}const p=performance.now();ln.current={button:d.button,time:p,location:d.location},(d==null?void 0:d.kind)==="header"&&(Xo.current=!0);const y=d.kind==="cell"&&d.isFillHandle;!y&&d.kind!=="cell"&&d.isEdge||(u({previousSelection:B,fillHandle:y}),to.current=void 0,!d.isTouch&&d.button===0&&!y?No(d):!d.isTouch&&d.button===1&&(to.current=d.location))},[B,No]),[Jr,Qr]=a.useState(),Bi=a.useCallback(d=>{if(d.kind!==an||rt!=="multi")return;const p=Br.value?d.metaKey:d.ctrlKey,[y]=d.location,D=B.columns;if(y=H&&tr(E.group,Ge[L].group);L--)P--;for(let L=y+1;L{if(St!==void 0&&On!==void 0){const p=ft.current.y,y=ft.current.height;let D=St({x:d,y:p,width:1,height:Math.min(y,ve-p)},Lt.current.signal);typeof D!="object"&&(D=await D());const E=Ee[d-H],T=document.createElement("canvas").getContext("2d",{alpha:!1});if(T!==null){T.font=ae.baseFontFull;const L=Xl(T,ae,E,0,D,bn,dn,!1,De);On==null||On(E,L.width,d,L.width)}}},[Ee,St,dn,ae,bn,On,H,ve,De]),[ls,ei]=a.useState(),So=a.useCallback(async(d,p)=>{var L,O;const y=(L=d.current)==null?void 0:L.range;if(y===void 0||St===void 0||p.current===void 0)return;const D=p.current.range;if(A!==void 0){let Y=!1;if(A({fillDestination:{...D,x:D.x-H},patternSource:{...y,x:y.x-H},preventDefault:()=>Y=!0}),Y)return}let E=St(y,Lt.current.signal);typeof E!="object"&&(E=await E());const P=E,T=[];for(let Y=0;Y({cell:Y.location})))},[St,rn,A,H]),Li=a.useCallback(()=>{if(B.current===void 0||B.current.range.width<=1)return;const d={...B,current:{...B.current,range:{...B.current.range,width:1}}};So(d,B)},[So,B]),Pi=a.useCallback(()=>{if(B.current===void 0||B.current.range.height<=1)return;const d={...B,current:{...B.current,range:{...B.current.range,height:1}}};So(d,B)},[So,B]),ss=a.useCallback((d,p)=>{var J,he;const y=c;if(u(void 0),qr(void 0),ei(void 0),Xo.current=!1,p)return;if((y==null?void 0:y.fillHandle)===!0&&B.current!==void 0&&((J=y.previousSelection)==null?void 0:J.current)!==void 0){if(Qn===void 0)return;const Q={...B,current:{...B.current,range:_l(y.previousSelection.current.range,Qn)}};So(y.previousSelection,Q),Ot(Q,!0);return}const[D,E]=d.location,[P,T]=to.current??[],L=()=>{ko.current=!0},O=Q=>{var le,Ke,Se;const we=Q.isTouch||P===D&&T===E;if(we&&(X==null||X([D-H,E],{...Q,preventDefault:L})),Q.button===1)return!ko.current;if(!ko.current){const ge=jt(d.location),Je=De(ge);if(Je!==void 0&&Je.onClick!==void 0&&we){const Rt=Je.onClick({...Q,cell:ge,posX:Q.localEventX,posY:Q.localEventY,bounds:Q.bounds,theme:Oo(ge,d.location),preventDefault:L});Rt!==void 0&&!Eo(Rt)&&Ro(Rt)&&(rn([{location:Q.location,value:Rt}]),(le=Tt.current)==null||le.damage([{cell:Q.location}]))}if(ko.current||B.current===void 0)return!1;let ht=!1;switch(ge.activationBehaviorOverride??He){case"double-click":case"second-click":{if(((Se=(Ke=y==null?void 0:y.previousSelection)==null?void 0:Ke.current)==null?void 0:Se.cell)===void 0)break;const[Rt,hn]=B.current.cell,[xn,gn]=y.previousSelection.current.cell;ht=D===Rt&&D===xn&&E===hn&&E===gn&&(Q.isDoubleClick===!0||He==="second-click");break}case"single-click":{ht=!0;break}}if(ht)return N==null||N([D-H,E]),vo(Q.bounds,!1),!0}return!1},Y=d.location[0]-H;if(d.isTouch){const Q=ft.current,we=zi.current;if(Q.x!==we.x||Q.y!==we.y)return;if(d.isLongTouch===!0){if(d.kind==="cell"&&Zo((he=B.current)==null?void 0:he.cell,d.location)){ee==null||ee([Y,d.location[1]],{...d,preventDefault:L});return}else if(d.kind==="header"&&B.columns.hasIndex(D)){Ce==null||Ce(Y,{...d,preventDefault:L});return}else if(d.kind===an){if(Y<0)return;j==null||j(Y,{...d,preventDefault:L});return}}d.kind==="cell"?O(d)||No(d):d.kind===an?re==null||re(Y,{...d,preventDefault:L}):(d.kind===Un&&(I==null||I(Y,{...d,preventDefault:L})),No(d));return}if(d.kind==="header"){if(Y<0)return;d.isEdge?d.isDoubleClick===!0&&pr(D):d.button===0&&D===P&&E===T&&(I==null||I(Y,{...d,preventDefault:L}))}if(d.kind===an){if(Y<0)return;d.button===0&&D===P&&E===T&&(re==null||re(Y,{...d,preventDefault:L}),ko.current||Bi(d))}d.kind==="cell"&&(d.button===0||d.button===1)&&O(d),to.current=void 0},[c,B,H,Qn,So,Ot,X,jt,De,He,Oo,rn,N,vo,ee,Ce,j,No,re,I,pr,Bi]),as=a.useCallback(d=>{const p={...d,location:[d.location[0]-H,d.location[1]]};Ne==null||Ne(p),c!==void 0&&d.buttons===0&&(u(void 0),qr(void 0),ei(void 0),Xo.current=!1),ei(y=>{var D;return Xo.current?[d.scrollEdge[0],0]:d.scrollEdge[0]===(y==null?void 0:y[0])&&d.scrollEdge[1]===y[1]?y:c===void 0||(((D=ln.current)==null?void 0:D.location[0])??0){$e==null||$e(d-H,p)},[$e,H]),ds=a.useCallback((d,p)=>{Ue==null||Ue(d-H,p)},[Ue,H]),Cn=(Ki=B==null?void 0:B.current)==null?void 0:Ki.cell,us=a.useCallback((d,p,y,D,E,P)=>{nt.current=!1;let T=Cn;T!==void 0&&(T=[T[0]-H,T[1]]);const L=oe===0?void 0:{x:0,y:d.y,width:oe,height:d.height},O=[];L!==void 0&&O.push(L),Ze>0&&(O.push({x:d.x-H,y:ve-Ze,width:d.width,height:Ze}),oe>0&&O.push({x:0,y:ve-Ze,width:oe,height:Ze}));const Y={x:d.x-H,y:d.y,width:d.width,height:wt&&d.y+d.height>=ve?d.height-1:d.height,tx:E,ty:P,extras:{selected:T,freezeRegion:L,freezeRegions:O}};ft.current=Y,Vt(Y),Ht([p,y,D]),mt==null||mt(Y,Y.tx,Y.ty,Y.extras)},[Cn,H,wt,ve,oe,Ze,Vt,mt]),fs=ro(Ae,a.useCallback((d,p)=>{Ae==null||Ae(d-H,p-H),rt!=="none"&&se(lt.fromSingleSelection(p),void 0,!0)},[rt,Ae,H,se])),ti=a.useRef(!1),hs=a.useCallback(d=>{if(d.location[0]===0&&H>0){d.preventDefault();return}fe==null||fe({...d,location:[d.location[0]-H,d.location[1]]}),d.defaultPrevented()||(ti.current=!0),u(void 0)},[fe,H]),gs=a.useCallback(()=>{ti.current=!1},[]),Wi=Xe==null?void 0:Xe.selectionBehavior,vr=a.useCallback(d=>{if(Wi!=="block-spanning")return;const{isGroupHeader:p,path:y,groupRows:D}=eo(d);if(p)return[d,d];const E=y[y.length-1],P=d-E,T=d+D-E-1;return[P,T]},[eo,Wi]),ni=a.useRef(),oi=a.useCallback(d=>{var p,y,D;if(!Ql(d,ni.current)&&(ni.current=d,!(((p=ln==null?void 0:ln.current)==null?void 0:p.button)!==void 0&&ln.current.button>=1))){if(d.buttons!==0&&c!==void 0&&((y=ln.current)==null?void 0:y.location[0])===0&&d.location[0]===0&&H===1&&it==="multi"&&c.previousSelection&&!c.previousSelection.rows.hasIndex(ln.current.location[1])&&B.rows.hasIndex(ln.current.location[1])){const E=Math.min(ln.current.location[1],d.location[1]),P=Math.max(ln.current.location[1],d.location[1])+1;q(lt.fromSingleSelection([E,P]),void 0,!1)}if(d.buttons!==0&&c!==void 0&&B.current!==void 0&&!ti.current&&!Xo.current&&(dt==="rect"||dt==="multi-rect")){const[E,P]=B.current.cell;let[T,L]=d.location;if(L<0&&(L=ft.current.y),c.fillHandle===!0&&((D=c.previousSelection)==null?void 0:D.current)!==void 0){const O=c.previousSelection.current.range;L=Math.min(L,wt?ve-1:ve);const Y=oc(O,T,L,Wt);qr(Y)}else{if(wt&&P===ve)return;if(wt&&L===ve)if(d.kind===Lr)L--;else return;T=Math.max(T,H);const J=vr(P);L=J===void 0?L:sn(L,J[0],J[1]);const he=T-E,Q=L-P,we={x:he>=0?E:T,y:Q>=0?P:L,width:Math.abs(he)+1,height:Math.abs(Q)+1};_({...B.current,range:we},!0,!1,"drag")}}yt==null||yt({...d,location:[d.location[0]-H,d.location[1]]})}},[c,H,it,B,dt,yt,q,wt,ve,Wt,vr,_]),ms=a.useCallback(()=>{var T,L;const d=ni.current;if(d===void 0)return;const[p,y]=d.scrollEdge;let[D,E]=d.location;const P=ft.current;p===-1?D=((L=(T=P.extras)==null?void 0:T.freezeRegion)==null?void 0:L.x)??P.x:p===1&&(D=P.x+P.width),y===-1?E=Math.max(0,P.y):y===1&&(E=Math.min(ve-1,P.y+P.height)),D=sn(D,0,Ge.length-1),E=sn(E,0,ve-1),oi({...d,location:[D,E]})},[Ge.length,oi,ve]);gd(ls,ot,ms);const fn=a.useCallback(d=>{if(B.current===void 0)return;const[p,y]=d,[D,E]=B.current.cell,P=B.current.range;let T=P.x,L=P.x+P.width,O=P.y,Y=P.y+P.height;const[J,he]=vr(E)??[0,ve-1],Q=he+1;if(y!==0)switch(y){case 2:{Y=Q,O=E,Mt(0,Y,"vertical");break}case-2:{O=J,Y=E+1,Mt(0,O,"vertical");break}case 1:{OE+1?(Y--,Mt(0,Y,"vertical")):(O=Math.max(J,O-1),Mt(0,O,"vertical"));break}default:er()}if(p!==0)if(p===2)L=Ge.length,T=D,Mt(L-1-H,0,"horizontal");else if(p===-2)T=H,L=D+1,Mt(T-H,0,"horizontal");else{let we=[];if(St!==void 0){const le=St({x:T,y:O,width:L-T-H,height:Y-O},Lt.current.signal);typeof le=="object"&&(we=Sd(le))}if(p===1){let le=!1;if(T0){const Ke=io(T+1,D+1).find(Se=>!we.includes(Se-H));Ke!==void 0&&(T=Ke,le=!0)}else T++,le=!0;le&&Mt(T,0,"horizontal")}le||(L=Math.min(Ge.length,L+1),Mt(L-1-H,0,"horizontal"))}else if(p===-1){let le=!1;if(L>D+1){if(we.length>0){const Ke=io(L-1,D,-1).find(Se=>!we.includes(Se-H));Ke!==void 0&&(L=Ke,le=!0)}else L--,le=!0;le&&Mt(L-H,0,"horizontal")}le||(T=Math.max(H,T-1),Mt(T-H,0,"horizontal"))}else er()}_({cell:B.current.cell,range:{x:T,y:O,width:L-T,height:Y-O}},!0,!1,"keyboard-select")},[St,vr,B,Ge.length,H,ve,Mt,_]),ri=a.useRef(Bo);ri.current=Bo;const Yn=a.useCallback((d,p,y,D)=>{const E=Kt-(y?0:1);d=sn(d,H,Ee.length-1+H),p=sn(p,0,E);const P=Cn==null?void 0:Cn[0],T=Cn==null?void 0:Cn[1];if(d===P&&p===T)return!1;if(D&&B.current!==void 0){const L=[...B.current.rangeStack];(B.current.range.width>1||B.current.range.height>1)&&L.push(B.current.range),Ot({...B,current:{cell:[d,p],range:{x:d,y:p,width:1,height:1},rangeStack:L}},!0)}else _({cell:[d,p],range:{x:d,y:p,width:1,height:1}},!0,!1,"keyboard-nav");return f.current!==void 0&&f.current[0]===d&&f.current[1]===p&&(f.current=void 0),ri.current&&Mt(d-H,p),!0},[Kt,H,Ee.length,Cn,B,Mt,Ot,_]),ws=a.useCallback((d,p)=>{(r==null?void 0:r.cell)!==void 0&&d!==void 0&&Ro(d)&&(rn([{location:r.cell,value:d}]),window.requestAnimationFrame(()=>{var E;(E=Tt.current)==null||E.damage([{cell:r.cell}])})),_t(!0),i(void 0);const[y,D]=p;if(B.current!==void 0&&(y!==0||D!==0)){const E=B.current.cell[1]===Kt-1&&d!==void 0;Yn(sn(B.current.cell[0]+y,0,Ge.length-1),sn(B.current.cell[1]+D,0,Kt-1),E,!1)}z==null||z(d,p)},[r==null?void 0:r.cell,_t,B,z,rn,Kt,Yn,Ge.length]),bs=a.useMemo(()=>`gdg-overlay-${kd++}`,[]),no=a.useCallback(d=>{var y,D,E,P;_t();const p=[];for(let T=d.x;T({cell:T.location})))},[_t,F,De,rn,H]),Yo=r!==void 0,$i=a.useCallback(d=>{var Ke,Se;const p=()=>{d.stopPropagation(),d.preventDefault()},y={didMatch:!1},{bounds:D}=d,E=B.columns,P=B.rows,T=pn;if(!Yo&&Be(T.clear,d,y))Ot(Fr,!1),pt==null||pt();else if(!Yo&&Be(T.selectAll,d,y))Ot({columns:lt.empty(),rows:lt.empty(),current:{cell:((Ke=B.current)==null?void 0:Ke.cell)??[H,0],range:{x:H,y:0,width:x.length,height:ve},rangeStack:[]}},!1);else if(Be(T.search,d,y))(Se=l==null?void 0:l.current)==null||Se.focus({preventScroll:!0}),hr(!0);else if(Be(T.delete,d,y)){const ge=(te==null?void 0:te(B))??!0;if(ge!==!1){const Je=ge===!0?B:ge;if(Je.current!==void 0){no(Je.current.range);for(const ht of Je.current.rangeStack)no(ht)}for(const ht of Je.rows)no({x:H,y:ht,width:x.length,height:1});for(const ht of Je.columns)no({x:ht,y:0,width:1,height:ve})}}if(y.didMatch)return p(),!0;if(B.current===void 0)return!1;let[L,O]=B.current.cell;const[,Y]=B.current.cell;let J=!1,he=!1;if(Be(T.scrollToSelectedCell,d,y)?kr.current(L-H,O):rt!=="none"&&Be(T.selectColumn,d,y)?E.hasIndex(L)?se(E.remove(L),void 0,!0):rt==="single"?se(lt.fromSingleSelection(L),void 0,!0):se(void 0,L,!0):it!=="none"&&Be(T.selectRow,d,y)?P.hasIndex(O)?q(P.remove(O),void 0,!0):it==="single"?q(lt.fromSingleSelection(O),void 0,!0):q(void 0,O,!0):!Yo&&D!==void 0&&Be(T.activateCell,d,y)?O===ve&&wt?window.setTimeout(()=>{const ge=yr(L);Co(ge??L)},0):(N==null||N([L-H,O]),vo(D,!0)):B.current.range.height>1&&Be(T.downFill,d,y)?Pi():B.current.range.width>1&&Be(T.rightFill,d,y)?Li():Be(T.goToNextPage,d,y)?O+=Math.max(1,ft.current.height-4):Be(T.goToPreviousPage,d,y)?O-=Math.max(1,ft.current.height-4):Be(T.goToFirstCell,d,y)?(i(void 0),O=0,L=0):Be(T.goToLastCell,d,y)?(i(void 0),O=Number.MAX_SAFE_INTEGER,L=Number.MAX_SAFE_INTEGER):Be(T.selectToFirstCell,d,y)?(i(void 0),fn([-2,-2])):Be(T.selectToLastCell,d,y)?(i(void 0),fn([2,2])):Yo?(Be(T.closeOverlay,d,y)&&i(void 0),Be(T.acceptOverlayDown,d,y)&&(i(void 0),O++),Be(T.acceptOverlayUp,d,y)&&(i(void 0),O--),Be(T.acceptOverlayLeft,d,y)&&(i(void 0),L--),Be(T.acceptOverlayRight,d,y)&&(i(void 0),L++)):(Be(T.goDownCell,d,y)?O+=1:Be(T.goUpCell,d,y)?O-=1:Be(T.goRightCell,d,y)?L+=1:Be(T.goLeftCell,d,y)?L-=1:Be(T.goDownCellRetainSelection,d,y)?(O+=1,J=!0):Be(T.goUpCellRetainSelection,d,y)?(O-=1,J=!0):Be(T.goRightCellRetainSelection,d,y)?(L+=1,J=!0):Be(T.goLeftCellRetainSelection,d,y)?(L-=1,J=!0):Be(T.goToLastRow,d,y)?O=ve-1:Be(T.goToFirstRow,d,y)?O=Number.MIN_SAFE_INTEGER:Be(T.goToLastColumn,d,y)?L=Number.MAX_SAFE_INTEGER:Be(T.goToFirstColumn,d,y)?L=Number.MIN_SAFE_INTEGER:(dt==="rect"||dt==="multi-rect")&&(Be(T.selectGrowDown,d,y)?fn([0,1]):Be(T.selectGrowUp,d,y)?fn([0,-1]):Be(T.selectGrowRight,d,y)?fn([1,0]):Be(T.selectGrowLeft,d,y)?fn([-1,0]):Be(T.selectToLastRow,d,y)?fn([0,2]):Be(T.selectToFirstRow,d,y)?fn([0,-2]):Be(T.selectToLastColumn,d,y)?fn([2,0]):Be(T.selectToFirstColumn,d,y)&&fn([-2,0])),he=y.didMatch),un!==void 0&&un!=="normal"&&O!==Y){const ge=un==="skip-up"||un==="skip"||un==="block",Je=un==="skip-down"||un==="skip"||un==="block",ht=O=0&&eo(O).isGroupHeader;)O--;O<0&&(O=Y)}else if(!ht&&Je){for(;O=ve&&(O=Y)}}const we=Yn(L,O,!1,J),le=y.didMatch;return le&&(we||!he||jn)&&p(),le},[un,Yo,B,pn,rt,it,dt,H,eo,ve,Yn,Ot,pt,x.length,te,jn,no,se,q,wt,yr,Co,N,vo,Pi,Li,fn]),Go=a.useCallback(d=>{let p=!1;if(pe!==void 0&&pe({...d,cancel:()=>{p=!0}}),p||$i(d)||B.current===void 0)return;const[y,D]=B.current.cell,E=ft.current;if(gt&&!d.metaKey&&!d.ctrlKey&&B.current!==void 0&&d.key.length===1&&/[ -~]/g.test(d.key)&&d.bounds!==void 0&&jo(F([y-H,Math.max(0,Math.min(D,ve-1))]))){if((!wt||D!==ve)&&(E.y>D||D>E.y+E.height||E.x>y||y>E.x+E.width))return;vo(d.bounds,!0,d.key),d.stopPropagation(),d.preventDefault()}},[gt,pe,$i,B,F,H,ve,wt,vo]),ys=a.useCallback((d,p)=>{const y=d.location[0]-H;if(d.kind==="header"&&(Ce==null||Ce(y,{...d,preventDefault:p})),d.kind===an){if(y<0)return;j==null||j(y,{...d,preventDefault:p})}if(d.kind==="cell"){const[D,E]=d.location;ee==null||ee([y,E],{...d,preventDefault:p}),ca(B,d.location)||Yn(D,E,!1,!1)}},[B,ee,j,Ce,H,Yn]),ii=a.useCallback(async d=>{var T,L,O;if(!pn.paste)return;function p(Y,J,he,Q){var le,Ke;const we=typeof he=="object"?(he==null?void 0:he.join(` +`))??"":(he==null?void 0:he.toString())??"";if(!Eo(Y)&&jo(Y)&&Y.readonly!==!0){const Se=K==null?void 0:K(we,Y);if(Se!==void 0&&Ro(Se))return{location:J,value:Se};const ge=De(Y);if(ge===void 0)return;if(ge.kind===Z.Custom){Zt(Y.kind===Z.Custom);const Je=(le=ge.onPaste)==null?void 0:le.call(ge,we,Y.data);return Je===void 0?void 0:{location:J,value:{...Y,data:Je}}}else{const Je=(Ke=ge.onPaste)==null?void 0:Ke.call(ge,we,Y,{formatted:Q,formattedString:typeof Q=="string"?Q:Q==null?void 0:Q.join(` +`),rawValue:he});return Je===void 0?void 0:(Zt(Je.kind===Y.kind),{location:J,value:Je})}}}const y=B.columns,D=B.rows,E=((T=ot.current)==null?void 0:T.contains(document.activeElement))===!0||((L=s.current)==null?void 0:L.contains(document.activeElement))===!0;let P;if(B.current!==void 0?P=[B.current.range.x,B.current.range.y]:y.length===1?P=[y.first()??0,0]:D.length===1&&(P=[H,D.first()??0]),E&&P!==void 0){let Y,J;const he="text/plain",Q="text/html";if(navigator.clipboard.read!==void 0){const Se=await navigator.clipboard.read();for(const ge of Se){if(ge.types.includes(Q)){const ht=await(await ge.getType(Q)).text(),Rt=gl(ht);if(Rt!==void 0){Y=Rt;break}}ge.types.includes(he)&&(J=await(await ge.getType(he)).text())}}else if(navigator.clipboard.readText!==void 0)J=await navigator.clipboard.readText();else if(d!==void 0&&(d==null?void 0:d.clipboardData)!==null){if(d.clipboardData.types.includes(Q)){const Se=d.clipboardData.getData(Q);Y=gl(Se)}Y===void 0&&d.clipboardData.types.includes(he)&&(J=d.clipboardData.getData(he))}else return;const[we,le]=P,Ke=[];do{if(Te===void 0){const Se=jt(P),ge=J??(Y==null?void 0:Y.map(ht=>ht.map(Rt=>Rt.rawValue).join(" ")).join(" "))??"",Je=p(Se,P,ge,void 0);Je!==void 0&&Ke.push(Je);break}if(Y===void 0){if(J===void 0)return;Y=sd(J)}if(Te===!1||typeof Te=="function"&&(Te==null?void 0:Te([P[0]-H,P[1]],Y.map(Se=>Se.map(ge=>{var Je;return((Je=ge.rawValue)==null?void 0:Je.toString())??""}))))!==!0)return;for(const[Se,ge]of Y.entries()){if(Se+le>=ve)break;for(const[Je,ht]of ge.entries()){const Rt=[Je+we,Se+le],[hn,xn]=Rt;if(hn>=Ge.length||xn>=Kt)continue;const gn=jt(Rt),kn=p(gn,Rt,ht.rawValue,ht.formatted);kn!==void 0&&Ke.push(kn)}}}while(!1);rn(Ke),(O=Tt.current)==null||O.damage(Ke.map(Se=>({cell:Se.location})))}},[K,De,jt,B,pn.paste,ot,Ge.length,rn,Kt,Te,H,ve]);Xt("paste",ii,m,!1,!0);const Ko=a.useCallback(async(d,p)=>{var T,L;if(!pn.copy)return;const y=p===!0||((T=ot.current)==null?void 0:T.contains(document.activeElement))===!0||((L=s.current)==null?void 0:L.contains(document.activeElement))===!0,D=B.columns,E=B.rows,P=(O,Y)=>{if(!qe)wl(O,Y,d);else{const J=Y.map(he=>({kind:Z.Text,data:x[he].title,displayData:x[he].title,allowOverlay:!1}));wl([J,...O],Y,d)}};if(y&&St!==void 0){if(B.current!==void 0){let O=St(B.current.range,Lt.current.signal);typeof O!="object"&&(O=await O()),P(O,io(B.current.range.x-H,B.current.range.x+B.current.range.width-H))}else if(E!==void 0&&E.length>0){const Y=[...E].map(J=>{const he=St({x:H,y:J,width:x.length,height:1},Lt.current.signal);return typeof he=="object"?he[0]:he().then(Q=>Q[0])});if(Y.some(J=>J instanceof Promise)){const J=await Promise.all(Y);P(J,io(x.length))}else P(Y,io(x.length))}else if(D.length>0){const O=[],Y=[];for(const J of D){let he=St({x:J,y:0,width:1,height:ve},Lt.current.signal);typeof he!="object"&&(he=await he()),O.push(he),Y.push(J-H)}if(O.length===1)P(O[0],Y);else{const J=O.reduce((he,Q)=>he.map((we,le)=>[...we,...Q[le]]));P(J,Y)}}}},[x,St,B,pn.copy,H,ot,ve,qe]);Xt("copy",Ko,m,!1,!1);const ps=a.useCallback(async d=>{var y,D;if(!(!pn.cut||!(((y=ot.current)==null?void 0:y.contains(document.activeElement))===!0||((D=s.current)==null?void 0:D.contains(document.activeElement))===!0))&&(await Ko(d),B.current!==void 0)){let E={current:{cell:B.current.cell,range:B.current.range,rangeStack:[]},rows:lt.empty(),columns:lt.empty()};const P=te==null?void 0:te(E);if(P===!1||(E=P===!0?E:P,E.current===void 0))return;no(E.current.range)}},[no,B,pn.cut,Ko,ot,te]);Xt("cut",ps,m,!1,!1);const vs=a.useCallback((d,p)=>{if(be!==void 0){H!==0&&(d=d.map(E=>[E[0]-H,E[1]])),be(d,p);return}if(d.length===0||p===-1)return;const[y,D]=d[p];f.current!==void 0&&f.current[0]===y&&f.current[1]===D||(f.current=[y,D],Yn(y,D,!1,!1))},[be,H,Yn]),[Cr,xr]=((Ui=Et==null?void 0:Et.current)==null?void 0:Ui.cell)??[],kr=a.useRef(Mt);kr.current=Mt,a.useLayoutEffect(()=>{var d,p,y,D;ri.current&&!nt.current&&Cr!==void 0&&xr!==void 0&&(Cr!==((p=(d=yo.current)==null?void 0:d.current)==null?void 0:p.cell[0])||xr!==((D=(y=yo.current)==null?void 0:y.current)==null?void 0:D.cell[1]))&&kr.current(Cr,xr),nt.current=!1},[Cr,xr]);const Oi=B.current!==void 0&&(B.current.cell[0]>=Ge.length||B.current.cell[1]>=Kt);a.useLayoutEffect(()=>{Oi&&Ot(Fr,!1)},[Oi,Ot]);const Cs=a.useMemo(()=>wt===!0&&(Pe==null?void 0:Pe.tint)===!0?lt.fromSingleSelection(Kt-1):lt.empty(),[Kt,wt,Pe==null?void 0:Pe.tint]),xs=a.useCallback(d=>typeof $t=="boolean"?$t:($t==null?void 0:$t(d-H))??!0,[H,$t]),ks=a.useMemo(()=>{if(Jr===void 0||s.current===null)return null;const{bounds:d,group:p}=Jr,y=s.current.getBoundingClientRect();return a.createElement(jc,{bounds:d,group:p,canvasBounds:y,onClose:()=>Qr(void 0),onFinish:D=>{Qr(void 0),V==null||V(p,D)}})},[V,Jr]),Ss=Math.min(Ge.length,oe+(nn?1:0));a.useImperativeHandle(t,()=>({appendRow:(d,p)=>Co(d+H,p),updateCells:d=>{var p;return H!==0&&(d=d.map(y=>({cell:[y.cell[0]+H,y.cell[1]]}))),(p=Tt.current)==null?void 0:p.damage(d)},getBounds:(d,p)=>{var y;if(!((s==null?void 0:s.current)===null||(ot==null?void 0:ot.current)===null)){if(d===void 0&&p===void 0){const D=s.current.getBoundingClientRect(),E=D.width/ot.current.clientWidth;return{x:D.x-ot.current.scrollLeft*E,y:D.y-ot.current.scrollTop*E,width:ot.current.scrollWidth*E,height:ot.current.scrollHeight*E}}return(y=Tt.current)==null?void 0:y.getBounds((d??0)+H,p)}},focus:()=>{var d;return(d=Tt.current)==null?void 0:d.focus()},emit:async d=>{switch(d){case"delete":Go({bounds:void 0,cancel:()=>{},stopPropagation:()=>{},preventDefault:()=>{},ctrlKey:!1,key:"Delete",keyCode:46,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case"fill-right":Go({bounds:void 0,cancel:()=>{},stopPropagation:()=>{},preventDefault:()=>{},ctrlKey:!0,key:"r",keyCode:82,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case"fill-down":Go({bounds:void 0,cancel:()=>{},stopPropagation:()=>{},preventDefault:()=>{},ctrlKey:!0,key:"d",keyCode:68,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case"copy":await Ko(void 0,!0);break;case"paste":await ii();break}},scrollTo:Mt,remeasureColumns:d=>{for(const p of d)pr(p+H)}}),[Co,pr,ot,Ko,Go,ii,H,Mt]);const[Ni,Xi]=Cn??[],Ms=a.useCallback(d=>{const[p,y]=d;if(y===-1){rt!=="none"&&(se(lt.fromSingleSelection(p),void 0,!1),_t());return}Ni===p&&Xi===y||(_({cell:d,range:{x:p,y,width:1,height:1}},!0,!1,"keyboard-nav"),Mt(p,y))},[rt,_t,Mt,Ni,Xi,_,se]),[Rs,Es]=a.useState(!1),Yi=a.useRef(kl(d=>{Es(d)},5)),Is=a.useCallback(()=>{Yi.current(!0),B.current===void 0&&B.columns.length===0&&B.rows.length===0&&c===void 0&&_({cell:[H,Nn],range:{x:H,y:Nn,width:1,height:1}},!0,!1,"keyboard-select")},[Nn,B,c,H,_]),Ds=a.useCallback(()=>{Yi.current(!1)},[]),[Fs,Hs]=a.useMemo(()=>{let d;const p=(Dt==null?void 0:Dt.scrollbarWidthOverride)??mi(),y=ve+(wt?1:0);if(typeof yn=="number")d=Nt+y*yn;else{let E=0;const P=Math.min(y,10);for(let T=0;TP.width+E,0)+p;return[`${Math.min(1e5,D)}px`,`${Math.min(1e5,d)}px`]},[Ge,Dt==null?void 0:Dt.scrollbarWidthOverride,yn,ve,wt,Nt]),Ts=a.useMemo(()=>ka(ae),[ae]);return a.createElement(Nl.Provider,{value:ae},a.createElement(ud,{style:Ts,className:ce,inWidth:b??Fs,inHeight:v??Hs},a.createElement(Uc,{fillHandle:Ao,drawFocusRing:vt,experimental:Dt,fixedShadowX:Ft,fixedShadowY:zt,getRowThemeOverride:tn,headerIcons:In,imageWindowLoader:rr,initialSize:Bn,isDraggable:Dn,onDragLeave:Fn,onRowMoved:wn,overscrollX:ur,overscrollY:fr,preventDiagonalScrolling:co,rightElement:uo,rightElementProps:fo,smoothScrollX:Zn,smoothScrollY:Ln,className:ce,enableGroups:Ct,onCanvasFocused:Is,onCanvasBlur:Ds,canvasRef:s,onContextMenu:ys,theme:ae,cellXOffset:vn,cellYOffset:Nn,accessibilityHeight:Pt.height,onDragEnd:gs,columns:Ge,nonGrowWidth:Ye,drawHeader:G,onColumnProposeMove:R,drawCell:de,disabledRows:Cs,freezeColumns:Ss,lockColumns:H,firstColAccessible:H===0,getCellContent:jt,minColumnWidth:bn,maxColumnWidth:dn,searchInputRef:l,showSearch:Gr,onSearchClose:Kr,highlightRegions:rs,getCellsForSelection:St,getGroupDetails:jr,headerHeight:Po,isFocused:Rs,groupHeaderHeight:Ct?Wo:0,freezeTrailingRows:Ze+(wt&&(Pe==null?void 0:Pe.sticky)===!0?1:0),hasAppendRow:wt,onColumnResize:On,onColumnResizeEnd:Vr,onColumnResizeStart:k,onCellFocused:Ms,onColumnMoved:fs,onDragStart:hs,onHeaderMenuClick:cs,onHeaderIndicatorClick:ds,onItemHovered:oi,isFilling:(c==null?void 0:c.fillHandle)===!0,onMouseMove:as,onKeyDown:Go,onKeyUp:je,onMouseDown:is,onMouseUp:ss,onDragOverCell:_e,onDrop:kt,onSearchResultsChanged:vs,onVisibleRegionChanged:us,clientSize:ue,rowHeight:yn,searchResults:ye,searchValue:ke,onSearchValueChange:U,rows:Kt,scrollRef:ot,selection:B,translateX:Pt.tx,translateY:Pt.ty,verticalBorder:xs,gridRef:Tt,getCellRenderer:De,resizeIndicator:Xr}),ks,r!==void 0&&a.createElement(a.Suspense,{fallback:null},a.createElement(xd,{...r,validateCell:bo,bloom:W,id:bs,getCellRenderer:De,className:(Dt==null?void 0:Dt.isSubGrid)===!0?"click-outside-ignore":void 0,provideEditor:Rn,imageEditorOverride:g,onFinishEditing:ws,markdownDivCreateNode:h,isOutsideClick:Pn}))))},Rd=a.forwardRef(Md),pl=20,Ed={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??"false"},kind:Z.Boolean,needsHover:!0,useLabel:!1,needsHoverPosition:!0,measure:()=>50,draw:e=>Id(e,e.cell.data,gi(e.cell),e.cell.maxSize??pl),onDelete:e=>({...e,data:!1}),onClick:e=>{const{cell:t,posX:n,posY:o,bounds:r,theme:i}=e,{width:l,height:s,x:c,y:u}=r,f=t.maxSize??pl,m=Math.floor(r.y+s/2),g=El(f,s,i.cellVerticalPadding),w=Rl(t.contentAlign??"center",c,l,i.cellHorizontalPadding,g),h=Ml(w,m,g),b=Il(c+n,u+o,h);if(gi(t)&&b)return{...t,data:ts(t.data)}},onPaste:(e,t)=>{let n=Tr;return e.toLowerCase()==="true"?n=!0:e.toLowerCase()==="false"?n=!1:e.toLowerCase()==="indeterminate"&&(n=vi),n===t.data?void 0:{...t,data:n}}};function Id(e,t,n,o){if(!n&&t===Tr)return;const{ctx:r,hoverAmount:i,theme:l,rect:s,highlighted:c,hoverX:u,hoverY:f,cell:{contentAlign:m}}=e,{x:g,y:w,width:h,height:b}=s,v=.35;let x=n?1-v+v*i:.4;t===Tr&&(x*=i),x!==0&&(r.globalAlpha=x,Ri(r,l,t,g,w,h,b,c,u,f,o,m),r.globalAlpha=1)}const Dd=Qt("div")({name:"BubblesOverlayEditorStyle",class:"gdg-b1ygi5by",propsAsIs:!1}),Fd=e=>{const{bubbles:t}=e;return a.createElement(Dd,null,t.map((n,o)=>a.createElement("div",{key:o,className:"boe-bubble"},n)),a.createElement("textarea",{className:"gdg-input",autoFocus:!0}))},Hd=Fd,Td={getAccessibilityString:e=>Dl(e.data),kind:Z.Bubble,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,n)=>t.data.reduce((o,r)=>e.measureText(r).width+o+20,0)+2*n.cellHorizontalPadding-4,draw:e=>zd(e,e.cell.data),provideEditor:()=>e=>{const{value:t}=e;return a.createElement(Hd,{bubbles:t.data})},onPaste:()=>{}},Ad=4;function zd(e,t){const{rect:n,theme:o,ctx:r,highlighted:i}=e,{x:l,y:s,width:c,height:u}=n,f=20,m=8,g=Ad;let w=l+o.cellHorizontalPadding;const h=[];for(const b of t){if(w>l+c)break;const v=To(b,r,o.baseFontFull).width;h.push({x:w,width:v}),w+=v+m*2+g}r.beginPath();for(const b of h)Mn(r,b.x,s+(u-f)/2,b.width+m*2,f,o.roundingRadius??f/2);r.fillStyle=i?o.bgBubbleSelected:o.bgBubble,r.fill();for(const[b,v]of h.entries())r.beginPath(),r.fillStyle=o.textBubble,r.fillText(t[b],v.x+m,s+u/2+Vn(r,o))}const Bd=Qt("div")({name:"DrilldownOverlayEditorStyle",class:"gdg-d4zsq0x",propsAsIs:!1}),Ld=e=>{const{drilldowns:t}=e;return a.createElement(Bd,null,t.map((n,o)=>a.createElement("div",{key:o,className:"doe-bubble"},n.img!==void 0&&a.createElement("img",{src:n.img}),a.createElement("div",null,n.text))))},Pd=Ld,Wd={getAccessibilityString:e=>Dl(e.data.map(t=>t.text)),kind:Z.Drilldown,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,n)=>t.data.reduce((o,r)=>e.measureText(r.text).width+o+20+(r.img!==void 0?18:0),0)+2*n.cellHorizontalPadding-4,draw:e=>Nd(e,e.cell.data),provideEditor:()=>e=>{const{value:t}=e;return a.createElement(Pd,{drilldowns:t.data})},onPaste:()=>{}},$d=4,ui={};function Od(e,t,n,o){const r=Math.ceil(window.devicePixelRatio),i=5,l=n-i*2,s=4,c=n*r,u=o+i,f=o*3,m=(f+i*2)*r,g=`${e},${t},${r},${n}`;if(ui[g]!==void 0)return{el:ui[g],height:c,width:m,middleWidth:s*r,sideWidth:u*r,padding:i*r,dpr:r};const w=document.createElement("canvas"),h=w.getContext("2d");return h===null?null:(w.width=m,w.height=c,h.scale(r,r),ui[g]=w,h.beginPath(),Mn(h,i,i,f,l,o),h.shadowColor="rgba(24, 25, 34, 0.4)",h.shadowBlur=1,h.fillStyle=e,h.fill(),h.shadowColor="rgba(24, 25, 34, 0.3)",h.shadowOffsetY=1,h.shadowBlur=5,h.fillStyle=e,h.fill(),h.shadowOffsetY=0,h.shadowBlur=0,h.shadowBlur=0,h.beginPath(),Mn(h,i+.5,i+.5,f,l,o),h.strokeStyle=t,h.lineWidth=1,h.stroke(),{el:w,height:c,width:m,sideWidth:u*r,middleWidth:o*r,padding:i*r,dpr:r})}function Nd(e,t){const{rect:n,theme:o,ctx:r,imageLoader:i,col:l,row:s}=e,{x:c,width:u}=n,f=o.baseFontFull,m=Ll(r,f),g=Math.min(n.height,Math.max(16,Math.ceil(m*o.lineHeight)*2)),w=Math.floor(n.y+(n.height-g)/2),h=g-10,b=8,v=$d;let x=c+o.cellHorizontalPadding;const C=o.roundingRadius??6,F=Od(o.bgCell,o.drilldownBorder,g,C),X=[];for(const N of t){if(x>c+u)break;const z=To(N.text,r,f).width;let K=0;N.img!==void 0&&i.loadOrGetImage(N.img,l,s)!==void 0&&(K=h-8+4);const S=z+K+b*2;X.push({x,width:S}),x+=S+v}if(F!==null){const{el:N,height:A,middleWidth:z,sideWidth:K,width:S,dpr:$,padding:W}=F,I=K/$,R=W/$;for(const M of X){const re=Math.floor(M.x),ee=Math.floor(M.width),ce=ee-(I-R)*2;r.imageSmoothingEnabled=!1,r.drawImage(N,0,0,K,A,re-R,w,I,g),ce>0&&r.drawImage(N,K,0,z,A,re+(I-R),w,ce,g),r.drawImage(N,S-K,0,K,A,re+ee-(I-R),w,I,g),r.imageSmoothingEnabled=!0}}r.beginPath();for(const[N,A]of X.entries()){const z=t[N];let K=A.x+b;if(z.img!==void 0){const S=i.loadOrGetImage(z.img,l,s);if(S!==void 0){const $=h-8;let W=0,I=0,R=S.width,M=S.height;R>M?(W+=(R-M)/2,R=M):M>R&&(I+=(M-R)/2,M=R),r.beginPath(),Mn(r,K,w+g/2-$/2,$,$,o.roundingRadius??3),r.save(),r.clip(),r.drawImage(S,W,I,R,M,K,w+g/2-$/2,$,$),r.restore(),K+=$+4}}r.beginPath(),r.fillStyle=o.textBubble,r.fillText(z.text,K,w+g/2+Vn(r,o))}}const Xd={getAccessibilityString:e=>e.data.join(", "),kind:Z.Image,needsHover:!1,useLabel:!1,needsHoverPosition:!1,draw:e=>Yd(e,e.cell.displayData??e.cell.data,e.cell.rounding??e.theme.roundingRadius??4,e.cell.contentAlign),measure:(e,t)=>t.data.length*50,onDelete:e=>({...e,data:[]}),provideEditor:()=>e=>{const{value:t,onFinishedEditing:n,imageEditorOverride:o}=e,r=o??ta;return a.createElement(r,{urls:t.data,canWrite:t.readonly!==!1,onCancel:n,onChange:i=>{n({...t,data:[i]})}})},onPaste:(e,t)=>{e=e.trim();const o=e.split(",").map(r=>{try{return new URL(r),r}catch{return}}).filter(r=>r!==void 0);if(!(o.length===t.data.length&&o.every((r,i)=>r===t.data[i])))return{...t,data:o}}},fi=4;function Yd(e,t,n,o){const{rect:r,col:i,row:l,theme:s,ctx:c,imageLoader:u}=e,{x:f,y:m,height:g,width:w}=r,h=g-s.cellVerticalPadding*2,b=[];let v=0;for(let C=0;C0&&(c.beginPath(),Mn(c,x,m+s.cellVerticalPadding,F,h,n),c.save(),c.clip()),c.drawImage(C,x,m+s.cellVerticalPadding,F,h),n>0&&c.restore(),x+=F+fi}}function Gd(e,t){let n=e*49632+t*325176;return n^=n<<13,n^=n>>17,n^=n<<5,n/4294967295*2}const Kd={getAccessibilityString:()=>"",kind:Z.Loading,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:()=>120,draw:e=>{const{cell:t,col:n,row:o,ctx:r,rect:i,theme:l}=e;if(t.skeletonWidth===void 0||t.skeletonWidth===0)return;let s=t.skeletonWidth;t.skeletonWidthVariability!==void 0&&t.skeletonWidthVariability>0&&(s+=Math.round(Gd(n,o)*t.skeletonWidthVariability));const c=l.cellHorizontalPadding,u=t.skeletonHeight??Math.min(18,i.height-2*l.cellVerticalPadding);Mn(r,i.x+c,i.y+(i.height-u)/2,s,u,l.roundingRadius??3),r.fillStyle=so(l.textDark,.1),r.fill()},onPaste:()=>{}},Ud=()=>e=>e.targetWidth,vl=Qt("div")({name:"MarkdownOverlayEditorStyle",class:"gdg-m1pnx84e",propsAsIs:!1,vars:{"m1pnx84e-0":[Ud(),"px"]}}),_d=e=>{const{value:t,onChange:n,forceEditMode:o,createNode:r,targetRect:i,onFinish:l,validatedSelection:s}=e,c=t.data,u=t.readonly===!0,[f,m]=a.useState(c===""||o),g=a.useCallback(()=>{m(h=>!h)},[]),w=c?"gdg-ml-6":"";return f?a.createElement(vl,{targetWidth:i.width-20},a.createElement(Wr,{autoFocus:!0,highlight:!1,validatedSelection:s,value:c,onKeyDown:h=>{h.key==="Enter"&&h.stopPropagation()},onChange:n}),a.createElement("div",{className:`gdg-edit-icon gdg-checkmark-hover ${w}`,onClick:()=>l(t)},a.createElement(Vs,null))):a.createElement(vl,{targetWidth:i.width},a.createElement(oa,{contents:c,createNode:r}),!u&&a.createElement(a.Fragment,null,a.createElement("div",{className:"spacer"}),a.createElement("div",{className:`gdg-edit-icon gdg-edit-hover ${w}`,onClick:g},a.createElement(Ci,null))),a.createElement("textarea",{className:"gdg-md-edit-textarea gdg-input",autoFocus:!0}))},Vd={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:Z.Markdown,needsHover:!1,needsHoverPosition:!1,drawPrep:or,measure:(e,t,n)=>{const o=t.data.split(` +`)[0];return e.measureText(o).width+2*n.cellHorizontalPadding},draw:e=>Sn(e,e.cell.data,e.cell.contentAlign),onDelete:e=>({...e,data:""}),provideEditor:()=>e=>{const{onChange:t,value:n,target:o,onFinishedEditing:r,markdownDivCreateNode:i,forceEditMode:l,validatedSelection:s}=e;return a.createElement(_d,{onFinish:r,targetRect:o,value:n,validatedSelection:s,onChange:c=>t({...n,data:c.target.value}),forceEditMode:l,createNode:i})},onPaste:(e,t)=>e===t.data?void 0:{...t,data:e}},qd={getAccessibilityString:e=>e.row.toString(),kind:cn.Marker,needsHover:!0,needsHoverPosition:!1,drawPrep:jd,measure:()=>44,draw:e=>Jd(e,e.cell.row,e.cell.checked,e.cell.markerKind,e.cell.drawHandle,e.cell.checkboxStyle),onClick:e=>{const{bounds:t,cell:n,posX:o,posY:r}=e,{width:i,height:l}=t,s=n.drawHandle?7+(i-7)/2:i/2,c=l/2;if(Math.abs(o-s)<=10&&Math.abs(r-c)<=10)return{...n,checked:!n.checked}},onPaste:()=>{}};function jd(e,t){const{ctx:n,theme:o}=e,r=o.markerFontFull,i=t??{};return(i==null?void 0:i.font)!==r&&(n.font=r,i.font=r),i.deprep=Zd,n.textAlign="center",i}function Zd(e){const{ctx:t}=e;t.textAlign="start"}function Jd(e,t,n,o,r,i){const{ctx:l,rect:s,hoverAmount:c,theme:u}=e,{x:f,y:m,width:g,height:w}=s,h=n?1:o==="checkbox-visible"?.6+.4*c:c;if(o!=="number"&&h>0){l.globalAlpha=h;const b=7*(n?c:1);if(Ri(l,u,n,r?f+b:f,m,r?g-b:g,w,!0,void 0,void 0,18,"center",i),r){l.globalAlpha=c,l.beginPath();for(const v of[3,6])for(const x of[-5,-1,3])l.rect(f+v,m+w/2+x,2,2);l.fillStyle=u.textLight,l.fill(),l.beginPath()}l.globalAlpha=1}if(o==="number"||o==="both"&&!n){const b=t.toString(),v=u.markerFontFull,x=f+g/2;o==="both"&&c!==0&&(l.globalAlpha=1-c),l.fillStyle=u.textLight,l.font=v,l.fillText(b,x,m+w/2+Vn(l,v)),c!==0&&(l.globalAlpha=1)}}const Qd={getAccessibilityString:()=>"",kind:cn.NewRow,needsHover:!0,needsHoverPosition:!1,measure:()=>200,draw:e=>eu(e,e.cell.hint,e.cell.icon),onPaste:()=>{}};function eu(e,t,n){const{ctx:o,rect:r,hoverAmount:i,theme:l,spriteManager:s}=e,{x:c,y:u,width:f,height:m}=r;o.beginPath(),o.globalAlpha=i,o.rect(c+1,u+1,f,m-2),o.fillStyle=l.bgHeaderHovered,o.fill(),o.globalAlpha=1,o.beginPath();const g=t!=="";let w=0;if(n!==void 0){const b=m-8,v=c+8/2,x=u+8/2;s.drawSprite(n,"normal",o,v,x,b,l,g?1:i),w=b}else{w=24;const h=12,b=g?h:i*h,v=g?0:(1-i)*h*.5,x=l.cellHorizontalPadding+4;b>0&&(o.moveTo(c+x+v,u+m/2),o.lineTo(c+x+v+b,u+m/2),o.moveTo(c+x+v+b*.5,u+m/2-b*.5),o.lineTo(c+x+v+b*.5,u+m/2+b*.5),o.lineWidth=2,o.strokeStyle=l.bgIconHeader,o.lineCap="round",o.stroke())}o.fillStyle=l.textMedium,o.fillText(t,w+c+l.cellHorizontalPadding+.5,u+m/2+Vn(o,l)),o.beginPath()}const tu=a.lazy(async()=>await xl(()=>import("./number-overlay-editor-3ljU3NGx.js"),__vite__mapDeps([8,1,3,9]),import.meta.url)),nu={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:Z.Number,needsHover:!1,needsHoverPosition:!1,useLabel:!0,drawPrep:or,draw:e=>Sn(e,e.cell.displayData,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.displayData).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:void 0}),provideEditor:()=>e=>{const{isHighlighted:t,onChange:n,value:o,validatedSelection:r}=e;return a.createElement(a.Suspense,{fallback:null},a.createElement(tu,{highlight:t,disabled:o.readonly===!0,value:o.data,fixedDecimals:o.fixedDecimals,allowNegative:o.allowNegative,thousandSeparator:o.thousandSeparator,decimalSeparator:o.decimalSeparator,validatedSelection:r,onChange:i=>n({...o,data:Number.isNaN(i.floatValue??0)?0:i.floatValue})}))},onPaste:(e,t,n)=>{const o=typeof n.rawValue=="number"?n.rawValue:Number.parseFloat(typeof n.rawValue=="string"?n.rawValue:e);if(!(Number.isNaN(o)||t.data===o))return{...t,data:o,displayData:n.formattedString??t.displayData}}},ou={getAccessibilityString:()=>"",measure:()=>108,kind:Z.Protected,needsHover:!1,needsHoverPosition:!1,draw:ru,onPaste:()=>{}};function ru(e){const{ctx:t,theme:n,rect:o}=e,{x:r,y:i,height:l}=o;t.beginPath();const s=2.5;let c=r+n.cellHorizontalPadding+s;const u=i+l/2,f=Math.cos(Ji(30))*s,m=Math.sin(Ji(30))*s;for(let g=0;g<12;g++)t.moveTo(c,u-s),t.lineTo(c,u+s),t.moveTo(c+f,u-m),t.lineTo(c-f,u+m),t.moveTo(c-f,u-m),t.lineTo(c+f,u+m),c+=8;t.lineWidth=1.1,t.lineCap="square",t.strokeStyle=n.textLight,t.stroke()}const iu={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:Z.RowID,needsHover:!1,needsHoverPosition:!1,drawPrep:(e,t)=>or(e,t,e.theme.textLight),draw:e=>Sn(e,e.cell.data,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.data).width+n.cellHorizontalPadding*2,provideEditor:()=>e=>{const{isHighlighted:t,onChange:n,value:o,validatedSelection:r}=e;return bt.createElement(Wr,{highlight:t,autoFocus:o.readonly!==!0,disabled:o.readonly!==!1,value:o.data,validatedSelection:r,onChange:i=>n({...o,data:i.target.value})})},onPaste:()=>{}},lu={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:Z.Text,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!1,drawPrep:or,useLabel:!0,draw:e=>{const{cell:t,hoverAmount:n,hyperWrapping:o,ctx:r,rect:i,theme:l,overrideCursor:s}=e,{displayData:c,contentAlign:u,hoverEffect:f,allowWrapping:m}=t;if(f===!0&&n>0){r.textBaseline="alphabetic";const g=l.cellHorizontalPadding,w=l.cellVerticalPadding,h=To(c,r,l.baseFontFull,"alphabetic"),b=i.height-w,v=Math.min(b,h.actualBoundingBoxAscent*2.5);r.beginPath(),Mn(r,i.x+g/2,i.y+(i.height-v)/2+1,h.width+g*3,v-1,l.roundingRadius??4),r.globalAlpha=n,r.fillStyle=so(l.textDark,.1),r.fill(),r.globalAlpha=1,r.fillStyle=l.textDark,r.textBaseline="middle",s==null||s("text")}Sn(e,c,u,m,o)},measure:(e,t,n)=>{const o=t.displayData.split(` +`,t.allowWrapping===!0?void 0:1);let r=0;for(const i of o)r=Math.max(r,e.measureText(i).width);return r+2*n.cellHorizontalPadding},onDelete:e=>({...e,data:""}),provideEditor:e=>({disablePadding:e.allowWrapping===!0,editor:t=>{const{isHighlighted:n,onChange:o,value:r,validatedSelection:i}=t;return a.createElement(Wr,{style:e.allowWrapping===!0?{padding:"3px 8.5px"}:void 0,highlight:n,autoFocus:r.readonly!==!0,disabled:r.readonly===!0,altNewline:!0,value:r.data,validatedSelection:i,onChange:l=>o({...r,data:l.target.value})})}}),onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}},su=Qt("div")({name:"UriOverlayEditorStyle",class:"gdg-u1rrojo",propsAsIs:!1}),au=e=>{const{uri:t,onChange:n,forceEditMode:o,readonly:r,validatedSelection:i,preview:l}=e,[s,c]=a.useState(!r&&(t===""||o)),u=a.useCallback(()=>{c(!0)},[]);return s?a.createElement(Wr,{validatedSelection:i,highlight:!0,autoFocus:!0,value:t,onChange:n}):a.createElement(su,null,a.createElement("a",{className:"gdg-link-area",href:t,target:"_blank",rel:"noopener noreferrer"},l),!r&&a.createElement("div",{className:"gdg-edit-icon",onClick:u},a.createElement(Ci,null)),a.createElement("textarea",{className:"gdg-input",autoFocus:!0}))},cu=au;function Cl(e,t,n,o){let r=n.cellHorizontalPadding;const i=t.height/2-e.actualBoundingBoxAscent/2,l=e.width,s=e.actualBoundingBoxAscent;return o==="right"?r=t.width-l-n.cellHorizontalPadding:o==="center"&&(r=t.width/2-l/2),{x:r,y:i,width:l,height:s}}const du={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:Z.Uri,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!0,useLabel:!0,drawPrep:or,draw:e=>{const{cell:t,theme:n,overrideCursor:o,hoverX:r,hoverY:i,rect:l,ctx:s}=e,c=t.displayData??t.data,u=t.hoverEffect===!0;if(o!==void 0&&u&&r!==void 0&&i!==void 0){const f=To(c,s,n.baseFontFull),m=Cl(f,l,n,t.contentAlign),{x:g,y:w,width:h,height:b}=m;if(r>=g-4&&r<=g-4+h+8&&i>=w-4&&i<=w-4+b+8){const v=Vn(s,n.baseFontFull);o("pointer");const x=5,C=w-v;s.beginPath(),s.moveTo(l.x+g,Math.floor(l.y+C+b+x)+.5),s.lineTo(l.x+g+h,Math.floor(l.y+C+b+x)+.5),s.strokeStyle=n.linkColor,s.stroke(),s.save(),s.fillStyle=e.cellFillColor,Sn({...e,rect:{...l,x:l.x-1}},c,t.contentAlign),Sn({...e,rect:{...l,x:l.x-2}},c,t.contentAlign),Sn({...e,rect:{...l,x:l.x+1}},c,t.contentAlign),Sn({...e,rect:{...l,x:l.x+2}},c,t.contentAlign),s.restore()}}s.fillStyle=u?n.linkColor:n.textDark,Sn(e,c,t.contentAlign)},onClick:e=>{const{cell:t,bounds:n,posX:o,posY:r,theme:i}=e,l=t.displayData??t.data;if(t.hoverEffect!==!0||t.onClickUri===void 0)return;const s=zl(l,i.baseFontFull);if(s===void 0)return;const c=Cl(s,n,i,t.contentAlign);lo({x:c.x-4,y:c.y-4,width:c.width+8,height:c.height+8},o,r)&&t.onClickUri(e)},measure:(e,t,n)=>e.measureText(t.displayData??t.data).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:""}),provideEditor:e=>t=>{const{onChange:n,value:o,forceEditMode:r,validatedSelection:i}=t;return a.createElement(cu,{forceEditMode:o.readonly!==!0&&(r||e.hoverEffect===!0&&e.onClickUri!==void 0),uri:o.data,preview:o.displayData??o.data,validatedSelection:i,readonly:o.readonly===!0,onChange:l=>n({...o,data:l.target.value})})},onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}},uu=[qd,Qd,Ed,Td,Wd,Xd,Kd,Vd,nu,ou,iu,lu,du],hi=[];class fu extends Wl{constructor(){super(...arguments);Oe(this,"imageLoaded",()=>{});Oe(this,"loadedLocations",[]);Oe(this,"cache",{});Oe(this,"sendLoaded",Os(()=>{this.imageLoaded(new Qo(this.loadedLocations)),this.loadedLocations=[]},20));Oe(this,"clearOutOfWindow",()=>{const n=Object.keys(this.cache);for(const o of n){const r=this.cache[o];let i=!1;for(let l=0;l{c||(c=!0,hi.length<12?hi.unshift(s):l||(s.src=""))}},f=new Promise(m=>s.addEventListener("load",()=>m(null)));requestAnimationFrame(async()=>{try{s.src=n,await f,await s.decode();const m=this.cache[i];if(m!==void 0&&!c){m.img=s;for(const g of m.cells)this.loadedLocations.push(Mi(g));l=!0,this.sendLoaded()}}catch{u.cancel()}}),this.cache[i]=u}loadOrGetImage(n,o,r){const i=n,l=this.cache[i];if(l!==void 0){const s=mn(o,r);return l.cells.includes(s)||l.cells.push(s),l.img}else this.loadImage(n,o,r,i)}}const hu=fu,gu=(e,t)=>{const n=a.useMemo(()=>({...ec,...e.headerIcons}),[e.headerIcons]),o=a.useMemo(()=>e.imageWindowLoader??new hu,[e.imageWindowLoader]);return a.createElement(Rd,{...e,renderers:uu,headerIcons:n,ref:t,imageWindowLoader:o})},Ru=a.forwardRef(gu);export{_c as C,Ru as D,Z as G,Nl as T,Wr as a,Jt as b,ku as c,Su as d,Cu as e,Ro as f,Vn as g,qi as h,xu as i,Eo as j,Gs as k,ka as l,To as m,Fo as p,Mn as r,Mu as u}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["./data-grid-overlay-editor-8FOzbsOH.js","./index-BMVQvedj.js","./index-wocATsGp.js","./marked.esm-dbrxtycE.js","./iframe-MU0yo5By.js","./throttle-7EuXLZa7.js","./_baseIteratee-WTHxv43n.js","./flatten-qRvRBp6y.js","./number-overlay-editor-3ljU3NGx.js","./react-number-format.es-2Vaki8Uh.js"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} \ No newline at end of file diff --git a/docs/assets/data-editor-all-y1NNmvAL.js b/docs/assets/data-editor-all-y1NNmvAL.js deleted file mode 100644 index f97ce5760..000000000 --- a/docs/assets/data-editor-all-y1NNmvAL.js +++ /dev/null @@ -1,135 +0,0 @@ -var As=Object.defineProperty;var zs=(e,t,n)=>t in e?As(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var $e=(e,t,n)=>(zs(e,typeof t!="symbol"?t+"":t,n),n);import{r as a,R as yt}from"./index-BMVQvedj.js";import{_ as xl}from"./iframe-lQqvcp2b.js";import{h as Bs,d as kl,j as Ls,v as Ps,_ as Ws,g as $s,c as an,r as io,t as Os}from"./throttle-7EuXLZa7.js";import{u as Ns,f as _i}from"./flatten-qRvRBp6y.js";import{s as en,b as Xs}from"./marked.esm-dbrxtycE.js";function Sl(e="This should not happen"){throw new Error(e)}function Jt(e,t="Assertion failed"){if(!e)return Sl(t)}function er(e,t){return Sl(t??"Hell froze over")}function Ys(e,t){try{return e()}catch{return t}}const Vi=Object.prototype.hasOwnProperty;function Do(e,t){let n,o;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((o=e.length)===t.length)for(;o--&&Do(e[o],t[o]););return o===-1}if(!n||typeof e=="object"){o=0;for(n in e)if(Vi.call(e,n)&&++o&&!Vi.call(t,n)||!(n in t)||!Do(e[n],t[n]))return!1;return Object.keys(t).length===o}}return e!==e&&t!==t}const Tr=null,vi=void 0;var Z;(function(e){e.Uri="uri",e.Text="text",e.Image="image",e.RowID="row-id",e.Number="number",e.Bubble="bubble",e.Boolean="boolean",e.Loading="loading",e.Markdown="markdown",e.Drilldown="drilldown",e.Protected="protected",e.Custom="custom"})(Z||(Z={}));var qi;(function(e){e.HeaderRowID="headerRowID",e.HeaderCode="headerCode",e.HeaderNumber="headerNumber",e.HeaderString="headerString",e.HeaderBoolean="headerBoolean",e.HeaderAudioUri="headerAudioUri",e.HeaderVideoUri="headerVideoUri",e.HeaderEmoji="headerEmoji",e.HeaderImage="headerImage",e.HeaderUri="headerUri",e.HeaderPhone="headerPhone",e.HeaderMarkdown="headerMarkdown",e.HeaderDate="headerDate",e.HeaderTime="headerTime",e.HeaderEmail="headerEmail",e.HeaderReference="headerReference",e.HeaderIfThenElse="headerIfThenElse",e.HeaderSingleValue="headerSingleValue",e.HeaderLookup="headerLookup",e.HeaderTextTemplate="headerTextTemplate",e.HeaderMath="headerMath",e.HeaderRollup="headerRollup",e.HeaderJoinStrings="headerJoinStrings",e.HeaderSplitString="headerSplitString",e.HeaderGeoDistance="headerGeoDistance",e.HeaderArray="headerArray",e.RowOwnerOverlay="rowOwnerOverlay",e.ProtectedColumnOverlay="protectedColumnOverlay"})(qi||(qi={}));var Ar;(function(e){e.Triangle="triangle",e.Dots="dots"})(Ar||(Ar={}));function Rr(e){return"width"in e&&typeof e.width=="number"}async function ji(e){return typeof e=="object"?e:await e()}function Mo(e){return!(e.kind===Z.Loading||e.kind===Z.Bubble||e.kind===Z.RowID||e.kind===Z.Protected||e.kind===Z.Drilldown)}function Cu(e){return!(e.kind===Z.Loading||e.kind===Z.Bubble||e.kind===Z.RowID||e.kind===Z.Protected||e.kind===Z.Drilldown||e.kind===Z.Boolean||e.kind===Z.Image||e.kind===Z.Custom)}function Ro(e){return e.kind===cn.Marker||e.kind===cn.NewRow}function jo(e){if(!Mo(e)||e.kind===Z.Image)return!1;if(e.kind===Z.Text||e.kind===Z.Number||e.kind===Z.Markdown||e.kind===Z.Uri||e.kind===Z.Custom||e.kind===Z.Boolean)return e.readonly!==!0;er(e,"A cell was passed with an invalid kind")}function Gs(e){return Bs(e,"editor")}function gi(e){return!(e.readonly??!1)}var cn;(function(e){e.NewRow="new-row",e.Marker="marker"})(cn||(cn={}));function Ks(e){if(e.length===0)return[];const t=[...e],n=[];t.sort(function(o,r){return o[0]-r[0]}),n.push([...t[0]]);for(const o of t.slice(1)){const r=n[n.length-1];r[1][o[0]+t,o[1]+t]);return new Tn(n)}add(t){const n=typeof t=="number"?[t,t+1]:t,o=Ks([...this.items,n]);return new Tn(o)}remove(t){const n=[...this.items],o=typeof t=="number"?t:t[0],r=typeof t=="number"?t+1:t[1];for(const[i,l]of n.entries()){const[s,c]=l;if(s<=r&&o<=c){const u=[];s=o&&tZi??(Zi=new Tn([]))),$e(Tn,"fromSingleSelection",t=>Tn.empty().add(t));let lt=Tn;const Us=en("div")({name:"ImageOverlayEditorStyle",class:"gdg-i2iowwq",propsAsIs:!1});function Xt(e,t,n,o,r=!1){const i=a.useRef();i.current=t,a.useEffect(()=>{if(n===null||n.addEventListener===void 0)return;const l=n,s=c=>{var u;(u=i.current)==null||u.call(l,c)};return l.addEventListener(e,s,{passive:o,capture:r}),()=>{l.removeEventListener(e,s,{capture:r})}},[e,n,o,r])}function ro(e,t){return e===void 0?void 0:t}const _s=Math.PI;function Ji(e){return e*_s/180}const Ml=(e,t,n)=>({x1:e-n/2,y1:t-n/2,x2:e+n/2,y2:t+n/2}),Rl=(e,t,n,o,r)=>{switch(e){case"left":return Math.floor(t)+o+r/2;case"center":return Math.floor(t+n/2);case"right":return Math.floor(t+n)-o-r/2}},El=(e,t,n)=>Math.min(e,t-n*2),Il=(e,t,n)=>n.x1<=e&&e<=n.x2&&n.y1<=t&&t<=n.y2,Ci=e=>{const t=e.fgColor??"currentColor";return a.createElement("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a.createElement("path",{d:"M12.7073 7.05029C7.87391 11.8837 10.4544 9.30322 6.03024 13.7273C5.77392 13.9836 5.58981 14.3071 5.50189 14.6587L4.52521 18.5655C4.38789 19.1148 4.88543 19.6123 5.43472 19.475L9.34146 18.4983C9.69313 18.4104 10.0143 18.2286 10.2706 17.9722L16.9499 11.2929",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"none",vectorEffect:"non-scaling-stroke"}),a.createElement("path",{d:"M20.4854 4.92901L19.0712 3.5148C18.2901 2.73375 17.0238 2.73375 16.2428 3.5148L14.475 5.28257C15.5326 7.71912 16.4736 8.6278 18.7176 9.52521L20.4854 7.75744C21.2665 6.97639 21.2665 5.71006 20.4854 4.92901Z",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"none",vectorEffect:"non-scaling-stroke"}))},Vs=e=>{const t=e.fgColor??"currentColor";return a.createElement("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a.createElement("path",{d:"M19 6L10.3802 17L5.34071 11.8758",vectorEffect:"non-scaling-stroke",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}))};function qs(e,t,n){const[o,r]=a.useState(e),i=a.useRef(!0);a.useEffect(()=>()=>{i.current=!1},[]);const l=a.useRef(kl(s=>{i.current&&r(s)},n));return a.useLayoutEffect(()=>{i.current&&l.current(()=>e())},t),o}const js="֑-߿יִ-﷽ﹰ-ﻼ",Zs="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿",Js=new RegExp("^[^"+Zs+"]*["+js+"]");function xi(e){return Js.test(e)?"rtl":"not-rtl"}let Er;function mi(){if(typeof document>"u")return 0;if(Er!==void 0)return Er;const e=document.createElement("p");e.style.width="100%",e.style.height="200px";const t=document.createElement("div");t.id="testScrollbar",t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.visibility="hidden",t.style.width="200px",t.style.height="150px",t.style.overflow="hidden",t.append(e),document.body.append(t);const n=e.offsetWidth;t.style.overflow="scroll";let o=e.offsetWidth;return n===o&&(o=t.clientWidth),t.remove(),Er=n-o,Er}const oo=Symbol();function Qs(e){const t=a.useRef([oo,e]);t.current[1]!==e&&(t.current[0]=e),t.current[1]=e;const[n,o]=a.useState(e),[,r]=a.useState(),i=a.useCallback(s=>{const c=t.current[0];c!==oo&&(s=typeof s=="function"?s(c):s,s===c)||(c!==oo&&r({}),o(u=>typeof s=="function"?s(c===oo?u:c):s),t.current[0]=oo)},[]),l=a.useCallback(()=>{t.current[0]=oo,r({})},[]);return[t.current[0]===oo?n:t.current[0],i,l]}function Dl(e){if(e.length===0)return"";let t=0,n=0;for(const o of e){if(n+=o.length,n>1e4)break;t++}return e.slice(0,t).join(", ")}function ea(e){const t=a.useRef(e);return Do(e,t.current)||(t.current=e),t.current}const ta=e=>{const{urls:t,canWrite:n,onEditClick:o,renderImage:r}=e,i=t.filter(s=>s!=="");if(i.length===0)return null;const l=i.length>1;return a.createElement(Us,{"data-testid":"GDG-default-image-overlay-editor"},a.createElement(Ls.Carousel,{showArrows:l,showThumbs:!1,swipeable:l,emulateTouch:l,infiniteLoop:l},i.map(s=>{const c=(r==null?void 0:r(s))??a.createElement("img",{draggable:!1,src:s});return a.createElement("div",{className:"gdg-centering-container",key:s},c)})),n&&o&&a.createElement("button",{className:"gdg-edit-icon",onClick:o},a.createElement(Ci,null)))},na=en("div")({name:"MarkdownContainer",class:"gdg-mnuv029",propsAsIs:!1});class oa extends yt.PureComponent{constructor(){super(...arguments);$e(this,"targetElement",null);$e(this,"containerRefHook",n=>{this.targetElement=n,this.renderMarkdownIntoDiv()})}renderMarkdownIntoDiv(){const{targetElement:n,props:o}=this;if(n===null)return;const{contents:r,createNode:i}=o,l=Xs(r),s=document.createRange();s.selectNodeContents(n),s.deleteContents();let c=i==null?void 0:i(l);if(c===void 0){const f=document.createElement("template");f.innerHTML=l,c=f.content}n.append(c);const u=n.getElementsByTagName("a");for(const f of u)f.target="_blank",f.rel="noreferrer noopener"}render(){return this.renderMarkdownIntoDiv(),yt.createElement(na,{ref:this.containerRefHook})}}const ra=en("textarea")({name:"InputBox",class:"gdg-izpuzkl",propsAsIs:!1}),ia=en("div")({name:"ShadowBox",class:"gdg-s69h75o",propsAsIs:!1}),la=en("div")({name:"GrowingEntryStyle",class:"gdg-g1y0xocz",propsAsIs:!1});let Qi=0;const Wr=e=>{const{placeholder:t,value:n,onKeyDown:o,highlight:r,altNewline:i,validatedSelection:l,...s}=e,{onChange:c,className:u}=s,f=a.useRef(null),w=n??"";Jt(c!==void 0,"GrowingEntry must be a controlled input area");const[m]=a.useState(()=>"input-box-"+(Qi=(Qi+1)%1e7));a.useEffect(()=>{const h=f.current;if(h===null||h.disabled)return;const y=w.toString().length;h.focus(),h.setSelectionRange(r?0:y,y)},[]),a.useLayoutEffect(()=>{var h;if(l!==void 0){const y=typeof l=="number"?[l,null]:l;(h=f.current)==null||h.setSelectionRange(y[0],y[1])}},[l]);const g=a.useCallback(h=>{h.key==="Enter"&&h.shiftKey&&i===!0||o==null||o(h)},[i,o]);return a.createElement(la,{className:"gdg-growing-entry"},a.createElement(ia,{className:u},w+` -`),a.createElement(ra,{...s,className:(u??"")+" gdg-input",id:m,ref:f,onKeyDown:g,value:w,placeholder:t,dir:"auto"}))},si={};let Gn=null;function sa(){const e=document.createElement("div");return e.style.opacity="0",e.style.pointerEvents="none",e.style.position="fixed",document.body.append(e),e}function Fo(e){const t=e.toLowerCase().trim();if(si[t]!==void 0)return si[t];Gn=Gn||sa(),Gn.style.color="#000",Gn.style.color=t;const n=getComputedStyle(Gn).color;Gn.style.color="#fff",Gn.style.color=t;const o=getComputedStyle(Gn).color;if(o!==n)return[0,0,0,1];let r=o.replace(/[^\d.,]/g,"").split(",").map(Number.parseFloat);return r.length<4&&r.push(1),r=r.map(i=>Number.isNaN(i)?0:i),si[t]=r,r}function lo(e,t){const[n,o,r]=Fo(e);return`rgba(${n}, ${o}, ${r}, ${t})`}const el=new Map;function tl(e,t){const n=`${e}-${t}`,o=el.get(n);if(o!==void 0)return o;const r=Qt(e,t);return el.set(n,r),r}function Qt(e,t){if(t===void 0)return e;const[n,o,r,i]=Fo(e);if(i===1)return e;const[l,s,c,u]=Fo(t),f=i+u*(1-i),w=(i*n+u*l*(1-i))/f,m=(i*o+u*s*(1-i))/f,g=(i*r+u*c*(1-i))/f;return`rgba(${w}, ${m}, ${g}, ${f})`}function xu(e,t,n){if(n<=0)return e;if(n>=1)return t;const o=[...Fo(e)];o[0]=o[0]*o[3],o[1]=o[1]*o[3],o[2]=o[2]*o[3];const r=[...Fo(t)];r[0]=r[0]*r[3],r[1]=r[1]*r[3],r[2]=r[2]*r[3];const i=n,l=1-n,s=o[3]*l+r[3]*i,c=Math.floor((o[0]*l+r[0]*i)/s),u=Math.floor((o[1]*l+r[1]*i)/s),f=Math.floor((o[2]*l+r[2]*i)/s);return`rgba(${c}, ${u}, ${f}, ${s})`}function ku(e){if(e==="transparent")return 0;function t(i){const l=i/255;return l<=.04045?l/12.92:Math.pow((l+.055)/1.055,2.4)}const[n,o,r]=Fo(e);return .2126*t(n)+.7152*t(o)+.0722*t(r)}function aa(e,t){return yt.useMemo(()=>e.map((n,o)=>({group:n.group,grow:n.grow,hasMenu:n.hasMenu,icon:n.icon,id:n.id,menuIcon:n.menuIcon,overlayIcon:n.overlayIcon,sourceIndex:o,sticky:o=i.x&&n=i.y&&o=t.span[0]&&n.current.cell[0]<=t.span[1]}function Fl(e,t){const[n,o]=e;return n>=t.x&&n=t.y&&ol)return!1;if(t.span===void 0)return s>=o&&s<=r;const[u,f]=t.span;return u>=o&&u<=r||f>=o&&u<=r||ur}function ua(e,t,n,o){let r=0;if(n.current===void 0)return r;const i=n.current.range;(o||i.height*i.width>1)&&nl(e,t,i)&&r++;for(const l of n.current.rangeStack)nl(e,t,l)&&r++;return r}function Tl(e,t){let n=e;if(t!==void 0){let o=[...e];const r=n[t.src];t.src>t.dest?(o.splice(t.src,1),o.splice(t.dest,0,r)):(o.splice(t.dest+1,0,r),o.splice(t.src,1)),o=o.map((i,l)=>({...i,sticky:e[l].sticky})),n=o}return n}function Ho(e,t){let n=0;const o=Tl(e,t);for(let r=0;r0)for(const u of l)n-=u.width;let s=t,c=r??0;for(;c<=n&&s=w)return y}const m=i-u,g=e-(c??0);if(typeof l=="number"){const h=Math.floor((g-f)/l)+s;return h>=m?void 0:h}else{let h=f;for(let y=s;y"u";async function ma(){var e;ga||((e=document==null?void 0:document.fonts)==null?void 0:e.ready)===void 0||(await document.fonts.ready,Hr=0,Jo={},Ps())}ma();function Al(e,t,n,o){return`${e}_${o??(t==null?void 0:t.font)}_${n}`}function To(e,t,n,o="middle"){const r=Al(e,t,o,n);let i=Jo[r];return i===void 0&&(i=t.measureText(e),Jo[r]=i,Hr++),Hr>1e4&&(Jo={},Hr=0),i}function zl(e,t){const n=Al(e,void 0,"middle",t);return Jo[n]}function Vn(e,t){return typeof t!="string"&&(t=t.baseFontFull),wa(e,t)}function ol(e,t){const n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";e.save(),e.textBaseline=t;const o=e.measureText(n);return e.restore(),o}const rl=[];function wa(e,t){for(const i of rl)if(i.key===t)return i.val;const n=ol(e,"alphabetic"),r=-(ol(e,"middle").actualBoundingBoxDescent-n.actualBoundingBoxDescent)+n.actualBoundingBoxAscent/2;return rl.push({key:t,val:r}),r}function ya(e,t,n,o,r,i){const{ctx:l,rect:s,theme:c}=e;let u=Number.MAX_SAFE_INTEGER;const f=500;if(t!==void 0&&(u=n-t,un&&(e=e.slice(0,n)),e}function pa(e,t,n,o,r,i,l,s,c,u){const f=s.baseFontFull,w=Ws(e,t,f,r-s.cellHorizontalPadding*2,u??!1),m=Ll(e,f),g=s.lineHeight*m,h=m+g*(w.length-1),y=h+s.cellVerticalPadding>i;y&&(e.save(),e.rect(n,o,r,i),e.clip());const b=o+i/2-h/2;let C=Math.max(o+s.cellVerticalPadding,b);for(const x of w)if(Bl(e,x,n,C,r,m,l,s,c),C+=g,C>o+i)break;y&&e.restore()}function Sn(e,t,n,o,r){const{ctx:i,rect:l,theme:s}=e,{x:c,y:u,width:f,height:w}=l;o=o??!1,o||(t=ba(t,f));const m=Vn(i,s),g=xi(t)==="rtl";if(n===void 0&&g&&(n="right"),g&&(i.direction="rtl"),t.length>0){let h=!1;n==="right"?(i.textAlign="right",h=!0):n!==void 0&&n!=="left"&&(i.textAlign=n,h=!0),o?pa(i,t,c,u,f,w,m,s,n,r):Bl(i,t,c,u,f,w,m,s,n),h&&(i.textAlign="start"),g&&(i.direction="inherit")}}function Mn(e,t,n,o,r,i){typeof i=="number"&&(i={tl:i,tr:i,br:i,bl:i}),i={tl:Math.max(0,Math.min(i.tl,r/2,o/2)),tr:Math.max(0,Math.min(i.tr,r/2,o/2)),bl:Math.max(0,Math.min(i.bl,r/2,o/2)),br:Math.max(0,Math.min(i.br,r/2,o/2))},e.moveTo(t+i.tl,n),e.arcTo(t+o,n,t+o,n+i.tr,i.tr),e.arcTo(t+o,n+r,t+o-i.br,n+r,i.br),e.arcTo(t,n+r,t,n+r-i.bl,i.bl),e.arcTo(t,n,t+i.tl,n,i.tl)}function va(e,t,n){e.arc(t,n-1.25*3.5,1.25,0,2*Math.PI,!1),e.arc(t,n,1.25,0,2*Math.PI,!1),e.arc(t,n+1.25*3.5,1.25,0,2*Math.PI,!1)}function Ca(e,t,n){const o=function(s,c){const u=c.x-s.x,f=c.y-s.y,w=Math.sqrt(u*u+f*f),m=u/w,g=f/w;return{x:u,y:c.y-s.y,len:w,nx:m,ny:g,ang:Math.atan2(g,m)}};let r;const i=t.length;let l=t[i-1];for(let s=0;s1?1:m),y=1,b=!1;g<0?h<0?h=Math.PI+h:(h=Math.PI-h,y=-1,b=!0):h>0&&(y=-1,b=!0),r=c.radius!==void 0?c.radius:n;const C=h/2;let x=Math.abs(Math.cos(C)*r/Math.sin(C)),F;x>Math.min(f.len/2,w.len/2)?(x=Math.min(f.len/2,w.len/2),F=Math.abs(x*Math.sin(C)/Math.cos(C))):F=r;let Y=c.x+w.nx*x,N=c.y+w.ny*x;Y+=-w.ny*F*y,N+=w.nx*F*y,e.arc(Y,N,F,f.ang+Math.PI/2*y,w.ang-Math.PI/2*y,b),l=c,c=u}e.closePath()}function yi(e,t,n,o,r,i,l,s,c,u,f,w,m,g,h){const y={x:0,y:i+u,width:0,height:0};if(e>=g.length||t>=f||t<-2||e<0)return y;const b=i-r;if(e>=w){const C=l>e?-1:1,x=Ho(g);y.x+=x+c;for(let F=l;F!==e;F+=C)y.x+=g[C===1?F:F-1].width*C}else for(let C=0;C0&&tr(g[C-1].group,x)&&g[C-1].sticky===F;){const N=g[C-1];y.x-=N.width,y.width+=N.width,C--}let Y=e;for(;Y+1n&&(y.width=n-y.x)}}else if(t>=f-m){let C=f-t;for(y.y=o;C>0;){const x=t+C-1;y.height=typeof h=="number"?h:h(x),y.y-=y.height,C--}y.height+=1}else{const C=s>t?-1:1;if(typeof h=="number"){const x=t-s;y.y+=x*h}else for(let x=s;x!==t;x+=C)y.y+=h(x)*C;y.height=(typeof h=="number"?h:h(t))+1}return y}const ki=1<<21;function mn(e,t){return(t+2)*ki+e}function Pl(e){return e%ki}function Si(e){return Math.floor(e/ki)-2}function Mi(e){const t=Pl(e),n=Si(e);return[t,n]}class Wl{constructor(){$e(this,"visibleWindow",{x:0,y:0,width:0,height:0});$e(this,"freezeCols",0);$e(this,"freezeRows",[]);$e(this,"isInWindow",t=>{const n=Pl(t),o=Si(t),r=this.visibleWindow,i=n>=r.x&&n<=r.x+r.width||n=r.y&&o<=r.y+r.height||this.freezeRows.includes(o);return i&&l})}setWindow(t,n,o){this.visibleWindow.x===t.x&&this.visibleWindow.y===t.y&&this.visibleWindow.width===t.width&&this.visibleWindow.height===t.height&&this.freezeCols===n&&Do(this.freezeRows,o)||(this.visibleWindow=t,this.freezeCols=n,this.freezeRows=o,this.clearOutOfWindow())}}class xa extends Wl{constructor(){super(...arguments);$e(this,"cache",new Map);$e(this,"setValue",(n,o)=>{this.cache.set(mn(n[0],n[1]),o)});$e(this,"getValue",n=>this.cache.get(mn(n[0],n[1])));$e(this,"clearOutOfWindow",()=>{for(const[n]of this.cache.entries())this.isInWindow(n)||this.cache.delete(n)})}}class Qo{constructor(t=[]){$e(this,"cells");this.cells=new Set(t.map(n=>mn(n[0],n[1])))}add(t){this.cells.add(mn(t[0],t[1]))}has(t){return t===void 0?!1:this.cells.has(mn(t[0],t[1]))}remove(t){this.cells.delete(mn(t[0],t[1]))}clear(){this.cells.clear()}get size(){return this.cells.size}hasHeader(){for(const t of this.cells)if(Si(t)<0)return!0;return!1}hasItemInRectangle(t){for(let n=t.y;n{const g=Sa(e,m[o],t,c);return u=Math.max(u,g),g});if(f.length>5&&s){u=0;let m=0;for(const h of f)m+=h;const g=m/f.length;for(let h=0;h=g*2?f[h]=0:u=Math.max(u,f[h])}u=Math.max(u,e.measureText(n.title).width+16+(n.icon===void 0?0:28));const w=Math.max(Math.ceil(i),Math.min(Math.floor(l),Math.ceil(u)));return{...n,width:w}}function Ma(e,t,n,o,r,i,l,s,c){const u=a.useRef(t),f=a.useRef(n),w=a.useRef(l);u.current=t,f.current=n,w.current=l;const[m,g]=a.useMemo(()=>{if(typeof window>"u")return[null,null];const x=document.createElement("canvas");return x.style.display="none",x.style.opacity="0",x.style.position="fixed",[x,x.getContext("2d",{alpha:!1})]},[]);a.useLayoutEffect(()=>(m&&document.documentElement.append(m),()=>{m==null||m.remove()}),[m]);const h=a.useRef({}),y=a.useRef(),[b,C]=a.useState();return a.useLayoutEffect(()=>{const x=f.current;if(x===void 0||e.every(Rr))return;let F=Math.max(1,10-Math.floor(e.length/1e4)),Y=0;F1&&(F--,Y=1);const N={x:0,y:0,width:e.length,height:Math.min(u.current,F)},z={x:0,y:u.current-1,width:e.length,height:1};(async()=>{const G=x(N,c.signal),S=Y>0?x(z,c.signal):void 0;let $;typeof G=="object"?$=G:$=await ji(G),S!==void 0&&(typeof S=="object"?$=[...$,...S]:$=[...$,...await ji(S)]),y.current=e,C($)})()},[c.signal,e]),a.useMemo(()=>{let F=e.every(Rr)?e:g===null?e.map(H=>Rr(H)?H:{...H,width:bi}):(g.font=w.current.baseFontFull,e.map((H,G)=>{if(Rr(H))return H;if(h.current[H.id]!==void 0)return{...H,width:h.current[H.id]};if(b===void 0||y.current!==e||H.id===void 0)return{...H,width:bi};const S=Xl(g,l,H,G,b,r,i,!0,s);return h.current[H.id]=S.width,S})),Y=0,N=0;const z=[];for(const[H,G]of F.entries())Y+=G.width,G.grow!==void 0&&G.grow>0&&(N+=G.grow,z.push(H));if(Y0){const H=[...F],G=o-Y;let S=G;for(let $=0;${const t=e.fgColor,n=e.bgColor;return` - ${ct}`},Ea=e=>{const t=e.fgColor,n=e.bgColor;return` - ${ct}`},Ia=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - - `},Da=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - -`},Fa=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - -`},Yl=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - - - - `},Ha=e=>{const t=e.bgColor;return`${ct} - - - - -`},Ta=Yl,Aa=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - -`},za=e=>{const t=e.fgColor,n=e.bgColor;return` - ${ct} - - - - - - - - `},Ba=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - - -`},La=e=>{const t=e.fgColor,n=e.bgColor;return` - ${ct} - - - `},Pa=e=>{const t=e.fgColor,n=e.bgColor;return` - ${ct} - - - `},Wa=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - -`},$a=e=>{const t=e.fgColor,n=e.bgColor;return` - ${ct} - - - - `},Oa=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - - -`},Na=e=>{const t=e.fgColor,n=e.bgColor;return` - ${ct} - - - - `},Xa=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - -`},Ya=e=>{const t=e.fgColor,n=e.bgColor;return` - ${ct} - - - `},Ga=e=>{const t=e.fgColor,n=e.bgColor;return` - ${ct} - - - `},Ka=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - -`},Ua=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - - - - -`},_a=e=>{const t=e.fgColor,n=e.bgColor;return` - ${ct} - - - `},Va=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - -`},qa=e=>{const t=e.fgColor,n=e.bgColor;return` - ${ct} - - - `},ja=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - - -`},Za=e=>{const t=e.fgColor,n=e.bgColor;return`${ct} - - -`},Ja=e=>{const t=e.fgColor;return` - - - `},Qa=e=>{const t=e.fgColor;return` - - - -`},ec={headerRowID:Ra,headerNumber:Ia,headerCode:Ea,headerString:Da,headerBoolean:Fa,headerAudioUri:Ta,headerVideoUri:Aa,headerEmoji:za,headerImage:Ba,headerUri:Yl,headerPhone:La,headerMarkdown:Pa,headerDate:Wa,headerTime:$a,headerEmail:Oa,headerReference:Na,headerIfThenElse:Xa,headerSingleValue:Ya,headerLookup:Ga,headerTextTemplate:Ka,headerMath:Ua,headerRollup:_a,headerJoinStrings:Va,headerSplitString:qa,headerGeoDistance:ja,headerArray:Za,rowOwnerOverlay:Ja,protectedColumnOverlay:Qa,renameIcon:Ha};function tc(e,t){return e==="normal"?[t.bgIconHeader,t.fgIconHeader]:e==="selected"?["white",t.accentColor]:[t.accentColor,t.bgHeader]}class nc{constructor(t,n){$e(this,"onSettled");$e(this,"spriteMap",new Map);$e(this,"headerIcons");$e(this,"inFlight",0);this.onSettled=n,this.headerIcons=t??{}}drawSprite(t,n,o,r,i,l,s,c=1){const[u,f]=tc(n,s),w=l*Math.ceil(window.devicePixelRatio),m=`${u}_${f}_${w}_${t}`;let g=this.spriteMap.get(m);if(g===void 0){const h=this.headerIcons[t];if(h===void 0)return;g=document.createElement("canvas");const y=g.getContext("2d");if(y===null)return;const b=new Image;b.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(h({fgColor:f,bgColor:u}))}`,this.spriteMap.set(m,g);const C=b.decode();if(C===void 0)return;this.inFlight++,C.then(()=>{y.drawImage(b,0,0,w,w)}).finally(()=>{this.inFlight--,this.inFlight===0&&this.onSettled()})}else c<1&&(o.globalAlpha=c),o.drawImage(g,0,0,w,w,r,i,l,l),c<1&&(o.globalAlpha=1)}}function Gl(e){if(e.length===0)return;let t;for(const n of e)t=Math.min(t??n.y,n.y)}function $r(e,t,n,o,r,i,l,s,c){s=s??t;let u=t,f=e;const w=o-i;let m=!1;for(;us&&c(u,f,g,!1,l&&f===o-1)===!0){m=!0;break}u+=g,f++}if(!m){u=n;for(let g=0;g!g.sticky))==null?void 0:m.sourceIndex)??0;if(c>w){const g=Math.max(s,w);let h=t,y=o;for(let b=i.sourceIndex-1;b>=g;b--)h-=l[b].width,y+=l[b].width;for(let b=i.sourceIndex+1;b<=c;b++)y+=l[b].width;f={x:h,y:n,width:y,height:r}}if(w>s){const g=Math.min(c,w-1);let h=t,y=o;for(let b=i.sourceIndex-1;b>=s;b--)h-=l[b].width,y+=l[b].width;for(let b=i.sourceIndex+1;b<=g;b++)y+=l[b].width;u={x:h,y:n,width:y,height:r}}return[u,f]}function oc(e,t,n,o){if(o==="any")return _l(e,{x:t,y:n,width:1,height:1});if(o==="vertical"&&(t=e.x),o==="horizontal"&&(n=e.y),Fl([t,n],e))return;const r=t-e.x,i=e.x+e.width-t,l=n-e.y+1,s=e.y+e.height-n,c=Math.min(o==="vertical"?Number.MAX_SAFE_INTEGER:r,o==="vertical"?Number.MAX_SAFE_INTEGER:i,o==="horizontal"?Number.MAX_SAFE_INTEGER:l,o==="horizontal"?Number.MAX_SAFE_INTEGER:s);return c===s?{x:e.x,y:e.y+e.height,width:e.width,height:n-e.y-e.height+1}:c===l?{x:e.x,y:n,width:e.width,height:e.y-n}:c===i?{x:e.x+e.width,y:e.y,width:t-e.x-e.width+1,height:e.height}:{x:t,y:e.y,width:e.x-t,height:e.height}}function nr(e,t,n,o,r,i,l,s){return e<=r+l&&r<=e+n&&t<=i+s&&i<=t+o}function Io(e,t,n){return t>=e.x&&t<=e.x+e.width&&n>=e.y&&n<=e.y+e.height}function _l(e,t){const n=Math.min(e.x,t.x),o=Math.min(e.y,t.y),r=Math.max(e.x+e.width,t.x+t.width)-n,i=Math.max(e.y+e.height,t.y+t.height)-o;return{x:n,y:o,width:r,height:i}}function rc(e,t){return e.x<=t.x&&e.y<=t.y&&e.x+e.width>=t.x+t.width&&e.y+e.height>=t.y+t.height}function ic(e,t,n,o){if(e.x>t||e.y>n||e.x<0&&e.y<0&&e.x+e.width>t&&e.y+e.height>n)return;if(e.x>=0&&e.y>=0&&e.x+e.width<=t&&e.y+e.height<=n)return e;const r=-4,i=-4,l=t+4,s=n+4,c=r-e.x,u=e.x+e.width-l,f=i-e.y,w=e.y+e.height-s,m=c>0?e.x+Math.floor(c/o)*o:e.x,g=u>0?e.x+e.width-Math.floor(u/o)*o:e.x+e.width,h=f>0?e.y+Math.floor(f/o)*o:e.y,y=w>0?e.y+e.height-Math.floor(w/o)*o:e.y+e.height;return{x:m,y:h,width:g-m,height:y-h}}function lc(e,t,n,o,r){const[i,l,s,c]=t,[u,f,w,m]=r,{x:g,y:h,width:y,height:b}=e,C=[];if(y<=0||b<=0)return C;const x=g+y,F=h+b,Y=gs,H=h+b>c,G=g>=i&&gi&&x<=s||gs,S=h>=l&&hl&&F<=c||hc;if(G&&S){const W=Math.max(g,i),I=Math.max(h,l),R=Math.min(x,s),M=Math.min(F,c);C.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:u,y:f,width:w-u+1,height:m-f+1}})}if(Y&&N){const W=g,I=h,R=Math.min(x,i),M=Math.min(F,l);C.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:0,y:0,width:u+1,height:f+1}})}if(N&&G){const W=Math.max(g,i),I=h,R=Math.min(x,s),M=Math.min(F,l);C.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:u,y:0,width:w-u+1,height:f+1}})}if(N&&z){const W=Math.max(g,s),I=h,R=x,M=Math.min(F,l);C.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:w,y:0,width:n-w+1,height:f+1}})}if(Y&&S){const W=g,I=Math.max(h,l),R=Math.min(x,i),M=Math.min(F,c);C.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:0,y:f,width:u+1,height:m-f+1}})}if(z&&S){const W=Math.max(g,s),I=Math.max(h,l),R=x,M=Math.min(F,c);C.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:w,y:f,width:n-w+1,height:m-f+1}})}if(Y&&H){const W=g,I=Math.max(h,c),R=Math.min(x,i),M=F;C.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:0,y:m,width:u+1,height:o-m+1}})}if(H&&G){const W=Math.max(g,i),I=Math.max(h,c),R=Math.min(x,s),M=F;C.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:u,y:m,width:w-u+1,height:o-m+1}})}if(z&&H){const W=Math.max(g,s),I=Math.max(h,c),R=x,M=F;C.push({rect:{x:W,y:I,width:R-W,height:M-I},clip:{x:w,y:m,width:n-w+1,height:o-m+1}})}return C}const sc={kind:Z.Loading,allowOverlay:!1};function il(e,t,n,o,r,i,l,s,c,u,f,w,m,g,h,y,b,C,x,F,Y,N,z,H,G,S,$,W,I,R,M,ee,te,ae,me){let Ke=(F==null?void 0:F.size)??Number.MAX_SAFE_INTEGER;const j=performance.now();let U=R.baseFontFull;e.font=U;const pe={ctx:e},ie=[0,0],Se=b>0?so(c,b,u):0;let ve,V;const De=Gl(x);return qn(t,s,i,l,r,(Ce,ot,et,gt,Je)=>{const Te=Math.max(0,gt-ot),Ve=ot+Te,ke=r+1,dt=Ce.width-Te,rt=o-r-1;if(x.length>0){let Oe=!1;for(let He=0;He{e.save(),e.beginPath(),e.rect(Ve,ke,dt,rt),e.clip()},re=Y.columns.hasIndex(Ce.sourceIndex),Pe=w(Ce.group??"").overrideTheme,Ee=Ce.themeOverride===void 0&&Pe===void 0?R:_n(R,Pe,Ce.themeOverride),Me=Ee.baseFontFull;Me!==U&&(U=Me,e.font=Me),it();let fe;return $r(Je,et,o,c,u,b,C,De,(Oe,He,qe,oe,Fe)=>{var En,tn,$t;if(He<0||(ie[0]=Ce.sourceIndex,ie[1]=He,F!==void 0&&!F.has(ie)))return;if(x.length>0){let _e=!1;for(let kt=0;ktUe.span!==void 0&&_e>=Ue.span[0]&&_e<=Ue.span[1]);Et&&!h&&y?It=0:Et&&y&&(It=Math.max(It,1)),An&&It++,Et||(Qe&&It++,re&&!Fe&&It++);const zn=Ue.kind===Z.Protected?mt.bgCellMedium:mt.bgCell;let at;if((oe||zn!==R.bgCell)&&(at=Qt(zn,at)),It>0||We){We&&(at=Qt(mt.bgHeader,at));for(let _e=0;_eme&&!bt){const _e=mt.baseFontFull;_e!==U&&(e.font=_e,U=_e),fe=Vl(e,Ue,Ce.sourceIndex,He,Le,je,ut,Oe,Ne,qe,It>0,mt,at??mt.bgCell,H,G,(Wt==null?void 0:Wt.hoverAmount)??0,$,I,j,W,fe,M,ee,te,ae)}return Rn&&e.restore(),Ue.style==="faded"&&(e.globalAlpha=1),Ke--,Ae&&(e.restore(),($t=fe==null?void 0:fe.deprep)==null||$t.call(fe,pe),fe=void 0,it(),U=Me,e.font=Me),Ke<=0}),e.restore(),Ke<=0}),ve}const Uo=[0,0],_o={x:0,y:0,width:0,height:0},ai=[void 0,()=>{}];let pi=!1;function ac(){pi=!0}function Vl(e,t,n,o,r,i,l,s,c,u,f,w,m,g,h,y,b,C,x,F,Y,N,z,H,G){var ee,te;let S,$;b!==void 0&&b[0][0]===n&&b[0][1]===o&&(S=b[1][0],$=b[1][1]);let W;Uo[0]=n,Uo[1]=o,_o.x=l,_o.y=s,_o.width=c,_o.height=u,ai[0]=z.getValue(Uo),ai[1]=ae=>z.setValue(Uo,ae),pi=!1;const I={ctx:e,theme:w,col:n,row:o,cell:t,rect:_o,highlighted:f,cellFillColor:m,hoverAmount:y,frameTime:x,hoverX:S,drawState:ai,hoverY:$,imageLoader:g,spriteManager:h,hyperWrapping:C,overrideCursor:S!==void 0?G:void 0,requestAnimationFrame:ac},R=ya(I,t.lastUpdated,x,Y,r,i),M=H(t);if(M!==void 0){(Y==null?void 0:Y.renderer)!==M&&((ee=Y==null?void 0:Y.deprep)==null||ee.call(Y,I),Y=void 0);const ae=(te=M.drawPrep)==null?void 0:te.call(M,I,Y);F!==void 0&&!Ro(I.cell)?F(I,()=>M.draw(I,t)):M.draw(I,t),W=ae===void 0?void 0:{deprep:ae==null?void 0:ae.deprep,fillStyle:ae==null?void 0:ae.fillStyle,font:ae==null?void 0:ae.font,renderer:M}}return(R||pi)&&(N==null||N(Uo)),W}function Ri(e,t,n,o,r,i,l,s,c=-20,u=-20,f=32,w="center",m="square"){const g=Math.floor(r+l/2),h=m==="circle"?1e4:t.roundingRadius??4;let y=El(f,l,t.cellVerticalPadding),b=y/2;const C=Rl(w,o,i,t.cellHorizontalPadding,y),x=Ml(C,g,y),F=Il(o+c,r+u,x);switch(n){case!0:{e.beginPath(),Mn(e,C-y/2,g-y/2,y,y,h),m==="circle"&&(b*=.8,y*=.8),e.fillStyle=s?t.accentColor:t.textMedium,e.fill(),e.beginPath(),e.moveTo(C-b+y/4.23,g-b+y/1.97),e.lineTo(C-b+y/2.42,g-b+y/1.44),e.lineTo(C-b+y/1.29,g-b+y/3.25),e.strokeStyle=t.bgCell,e.lineJoin="round",e.lineCap="round",e.lineWidth=1.9,e.stroke();break}case Tr:case!1:{e.beginPath(),Mn(e,C-y/2+.5,g-y/2+.5,y-1,y-1,h),e.lineWidth=1,e.strokeStyle=F?t.textDark:t.textMedium,e.stroke();break}case vi:{e.beginPath(),Mn(e,C-y/2,g-y/2,y,y,h),e.fillStyle=F?t.textMedium:t.textLight,e.fill(),m==="circle"&&(b*=.8,y*=.8),e.beginPath(),e.moveTo(C-y/3,g),e.lineTo(C+y/3,g),e.strokeStyle=t.bgCell,e.lineCap="round",e.lineWidth=1.9,e.stroke();break}default:er()}}function cc(e,t,n,o,r,i,l,s,c,u,f,w,m,g,h,y,b,C,x){const F=l+s;if(F<=0)return;e.fillStyle=w.bgHeader,e.fillRect(0,0,r,F);const[Y,N]=(o==null?void 0:o[0])??[],z=w.headerFontFull;e.font=z,qn(t,0,i,0,F,(H,G,S,$)=>{var pe;if(b!==void 0&&!b.has([H.sourceIndex,-1]))return;const W=Math.max(0,$-G);e.save(),e.beginPath(),e.rect(G+W,s,H.width-W,l),e.clip();const I=y(H.group??"").overrideTheme,R=H.themeOverride===void 0&&I===void 0?w:_n(w,I,H.themeOverride);R.bgHeader!==w.bgHeader&&(e.fillStyle=R.bgHeader,e.fill()),R!==w&&(e.font=R.baseFontFull);const M=f.columns.hasIndex(H.sourceIndex),ee=c!==void 0||u,te=!ee&&N===-1&&Y===H.sourceIndex,ae=ee?0:((pe=g.find(ie=>ie.item[0]===H.sourceIndex&&ie.item[1]===-1))==null?void 0:pe.hoverAmount)??0,me=(f==null?void 0:f.current)!==void 0&&f.current.cell[0]===H.sourceIndex,Ke=M?R.accentColor:me?R.bgHeaderHasFocus:R.bgHeader,j=n?s:0,U=H.sourceIndex===0?0:1;M?(e.fillStyle=Ke,e.fillRect(G+U,j,H.width-U,l)):(me||ae>0)&&(e.beginPath(),e.rect(G+U,j,H.width-U,l),me&&(e.fillStyle=R.bgHeaderHasFocus,e.fill()),ae>0&&(e.globalAlpha=ae,e.fillStyle=R.bgHeaderHovered,e.fill(),e.globalAlpha=1)),Zl(e,G,j,H.width,l,H,M,R,te,me,ae,m,C,x),e.restore()}),n&&dc(e,t,r,i,s,o,w,m,g,h,y,b)}function dc(e,t,n,o,r,i,l,s,c,u,f,w){const[g,h]=(i==null?void 0:i[0])??[];let y=0;Kl(t,n,o,r,(b,C,x,F,Y,N)=>{if(w!==void 0&&!w.hasItemInRectangle({x:b[0],y:-2,width:b[1]-b[0]+1,height:1}))return;e.save(),e.beginPath(),e.rect(x,F,Y,N),e.clip();const z=f(C),H=(z==null?void 0:z.overrideTheme)===void 0?l:_n(l,z.overrideTheme),G=h===-2&&g!==void 0&&g>=b[0]&&g<=b[1],S=G?H.bgHeaderHovered:H.bgHeader;if(S!==l.bgHeader&&(e.fillStyle=S,e.fill()),e.fillStyle=H.textGroupHeader??H.textHeader,z!==void 0){let $=x;if(z.icon!==void 0&&(s.drawSprite(z.icon,"normal",e,$+8,(r-20)/2,20,H),$+=26),e.fillText(z.name,$+8,r/2+Vn(e,l.headerFontFull)),z.actions!==void 0&&G){const W=ql({x,y:F,width:Y,height:N},z.actions);e.beginPath();const I=W[0].x-10,R=x+Y-I;e.rect(I,0,R,r);const M=e.createLinearGradient(I,0,I+R,0),ee=lo(S,0);M.addColorStop(0,ee),M.addColorStop(10/R,S),M.addColorStop(1,S),e.fillStyle=M,e.fill(),e.globalAlpha=.6;const[te,ae]=(i==null?void 0:i[1])??[-1,-1];for(let me=0;me35){const C=m?35:o-35,x=m?35*.7:o-35*.7,F=C/o,Y=x/o,N=e.createLinearGradient(t,0,t+o,0),z=lo(h,0);N.addColorStop(m?1:0,h),N.addColorStop(F,h),N.addColorStop(Y,z),N.addColorStop(m?0:1,z),e.fillStyle=N}else e.fillStyle=h;if(m&&(e.textAlign="right"),g.textBounds!==void 0&&e.fillText(i.title,m?g.textBounds.x+g.textBounds.width:g.textBounds.x,n+r/2+Vn(e,s.headerFontFull)),m&&(e.textAlign="left"),i.indicatorIcon!==void 0&&g.indicatorIconBounds!==void 0&&(!y||!nr(g.menuBounds.x,g.menuBounds.y,g.menuBounds.width,g.menuBounds.height,g.indicatorIconBounds.x,g.indicatorIconBounds.y,g.indicatorIconBounds.width,g.indicatorIconBounds.height))){let b=l?"selected":"normal";i.style==="highlight"&&(b=l?"selected":"special"),f.drawSprite(i.indicatorIcon,b,e,g.indicatorIconBounds.x,g.indicatorIconBounds.y,g.indicatorIconBounds.width,s)}if(y&&g.menuBounds!==void 0){const b=g.menuBounds;if(i.menuIcon===void 0||i.menuIcon===Ar.Triangle){e.beginPath();const C=b.x+b.width/2-5.5,x=b.y+b.height/2-3;Ca(e,[{x:C,y:x},{x:C+11,y:x},{x:C+5.5,y:x+6}],1),e.fillStyle=h,e.fill()}else if(i.menuIcon===Ar.Dots){e.beginPath();const C=b.x+b.width/2,x=b.y+b.height/2;va(e,C,x),e.fillStyle=h,e.fill()}else{const C=b.x+(b.width-s.headerIconSize)/2,x=b.y+(b.height-s.headerIconSize)/2;f.drawSprite(i.menuIcon,"normal",e,C,x,s.headerIconSize,s)}}}function Zl(e,t,n,o,r,i,l,s,c,u,f,w,m,g){const h=xi(i.title)==="rtl",y=jl(e,i,t,n,o,r,s,h);m!==void 0?m({ctx:e,theme:s,rect:{x:t,y:n,width:o,height:r},column:i,columnIndex:i.sourceIndex,isSelected:l,hoverAmount:f,isHovered:c,hasSelectedCell:u,spriteManager:w,menuBounds:(y==null?void 0:y.menuBounds)??{x:0,y:0,height:0,width:0}},()=>ll(e,t,n,o,r,i,l,s,c,f,w,g,h,y)):ll(e,t,n,o,r,i,l,s,c,f,w,g,h,y)}function fc(e,t,n,o,r,i,l,s,c,u,f,w,m,g,h,y,b,C,x){if(C!==void 0||t[t.length-1]!==n[t.length-1])return;const F=Gl(b);qn(t,c,l,s,i,(Y,N,z,H,G)=>{if(Y!==t[t.length-1])return;N+=Y.width;const S=Math.max(N,H);S>o||(e.save(),e.beginPath(),e.rect(S,i+1,1e4,r-i-1),e.clip(),$r(G,z,r,u,f,h,y,F,($,W,I,R)=>{if(!R&&b.length>0&&!b.some(me=>nr(N,$,1e4,I,me.x,me.y,me.width,me.height)))return;const M=m.hasIndex(W),ee=g.hasIndex(W);e.beginPath();const te=w==null?void 0:w(W),ae=te===void 0?x:_n(x,te);ae.bgCell!==x.bgCell&&(e.fillStyle=ae.bgCell,e.fillRect(N,$,1e4,I)),ee&&(e.fillStyle=ae.bgHeader,e.fillRect(N,$,1e4,I)),M&&(e.fillStyle=ae.accentLight,e.fillRect(N,$,1e4,I))}),e.restore())})}function hc(e,t,n,o,r,i,l,s,c){let u=!1;for(const h of t)if(!h.sticky){u=l(h.sourceIndex);break}const f=c.horizontalBorderColor??c.borderColor,w=c.borderColor,m=u?Ho(t):0;let g;if(m!==0&&(g=tl(w,c.bgCell),e.beginPath(),e.moveTo(m+.5,0),e.lineTo(m+.5,o),e.strokeStyle=g,e.stroke()),r>0){const h=w===f&&g!==void 0?g:tl(f,c.bgCell),y=so(i,r,s);e.beginPath(),e.moveTo(0,o-y+.5),e.lineTo(n,o-y+.5),e.strokeStyle=h,e.stroke()}}const Jl=(e,t,n)=>{let o=0,r=t,i=0,l=n;if(e!==void 0&&e.length>0){o=Number.MAX_SAFE_INTEGER,i=Number.MAX_SAFE_INTEGER,r=Number.MIN_SAFE_INTEGER,l=Number.MIN_SAFE_INTEGER;for(const s of e)o=Math.min(o,s.x-1),r=Math.max(r,s.x+s.width+1),i=Math.min(i,s.y-1),l=Math.max(l,s.y+s.height+1)}return{minX:o,maxX:r,minY:i,maxY:l}};function gc(e,t,n,o,r,i,l,s,c,u,f,w,m,g,h){var I;const y=h.bgCell,{minX:b,maxX:C,minY:x,maxY:F}=Jl(s,i,l),Y=[],N=l-so(g,m,u);let z=c,H=n,G=0;for(;z+r=x&&R<=F-1){const ee=f==null?void 0:f(H),te=ee==null?void 0:ee.bgCell;te!==void 0&&te!==y&&H>=g-m&&Y.push({x:b,y:R,w:C-b,h:M,color:te})}z+=M,H0)for(let R=0;R=b&&ee<=C&&w(R+1)&&Y.push({x:ee,y:G,w:M.width,h:$,color:te}),S+=M.width}if(Y.length===0)return;let W;e.beginPath();for(let R=Y.length-1;R>=0;R--){const M=Y[R];W===void 0?W=M.color:M.color!==W&&(e.fillStyle=W,e.fill(),e.beginPath(),W=M.color),e.rect(M.x,M.y,M.w,M.h)}W!==void 0&&(e.fillStyle=W,e.fill()),e.beginPath()}function sl(e,t,n,o,r,i,l,s,c,u,f,w,m,g,h,y,b,C=!1){if(c!==void 0){e.beginPath(),e.save(),e.rect(0,0,i,l);for(const I of c)e.rect(I.x+1,I.y+1,I.width-1,I.height-1);e.clip("evenodd")}const x=b.horizontalBorderColor??b.borderColor,F=b.borderColor,{minX:Y,maxX:N,minY:z,maxY:H}=Jl(s,i,l),G=[];e.beginPath();let S=.5;for(let I=0;I=Y&&M<=N&&g(I+1)&&G.push({x1:M,y1:Math.max(u,z),x2:M,y2:Math.min(l,H),color:F})}let $=l+.5;for(let I=y-h;I=z&&ee<=H-1){const te=m==null?void 0:m(R);G.push({x1:Y,y1:ee,x2:N,y2:ee,color:(te==null?void 0:te.horizontalBorderColor)??(te==null?void 0:te.borderColor)??x})}I+=w(R),R++}}const W=$s(G,I=>I.color);for(const I of Object.keys(W)){e.strokeStyle=I;for(const R of W[I])e.moveTo(R.x1,R.y1),e.lineTo(R.x2,R.y2);e.stroke(),e.beginPath()}c!==void 0&&e.restore()}function mc(e,t,n,o,r,i,l,s,c,u,f,w,m,g,h,y,b,C,x){const F=[];e.imageSmoothingEnabled=!1;const Y=Math.min(r.cellYOffset,l),N=Math.max(r.cellYOffset,l);let z=0;if(typeof C=="number")z+=(N-Y)*C;else for(let M=Y;Mr.cellYOffset&&(z=-z),z+=c-r.translateY;const H=Math.min(r.cellXOffset,i),G=Math.max(r.cellXOffset,i);let S=0;for(let M=H;Mr.cellXOffset&&(S=-S),S+=s-r.translateX;const $=Ho(b);if(S!==0&&z!==0)return{regions:[]};const W=u>0?so(m,u,C):0,I=f-$-Math.abs(S),R=w-g-W-Math.abs(z)-1;if(I>150&&R>150){const M={sx:0,sy:0,sw:f*h,sh:w*h,dx:0,dy:0,dw:f*h,dh:w*h};if(z>0?(M.sy=(g+1)*h,M.sh=R*h,M.dy=(z+g+1)*h,M.dh=R*h,F.push({x:0,y:g,width:f,height:z+1})):z<0&&(M.sy=(-z+g+1)*h,M.sh=R*h,M.dy=(g+1)*h,M.dh=R*h,F.push({x:0,y:w+z-W,width:f,height:-z+W})),S>0?(M.sx=$*h,M.sw=I*h,M.dx=(S+$)*h,M.dw=I*h,F.push({x:$-1,y:0,width:S+2,height:w})):S<0&&(M.sx=($-S)*h,M.sw=I*h,M.dx=$*h,M.dw=I*h,F.push({x:f+S,y:0,width:-S,height:w})),e.setTransform(1,0,0,1,0,0),x){if($>0&&S!==0&&z===0&&(o===void 0||(n==null?void 0:n[1])!==!1)){const ee=$*h,te=w*h;e.drawImage(t,0,0,ee,te,0,0,ee,te)}if(W>0&&S===0&&z!==0&&(o===void 0||(n==null?void 0:n[0])!==!1)){const ee=(w-W)*h,te=f*h,ae=W*h;e.drawImage(t,0,ee,te,ae,0,ee,te,ae)}}e.drawImage(t,M.sx,M.sy,M.sw,M.sh,M.dx,M.dy,M.dw,M.dh),e.scale(h,h)}return e.imageSmoothingEnabled=!0,{regions:F}}function wc(e,t,n,o,r,i,l,s,c,u){const f=[];return t!==e.cellXOffset||n!==e.cellYOffset||o!==e.translateX||r!==e.translateY||qn(c,n,o,r,s,(w,m,g,h)=>{if(w.sourceIndex===u){const y=Math.max(m,h)+1;return f.push({x:y,y:0,width:i-y,height:l}),!0}}),f}function yc(e,t){if(t===void 0||e.width!==t.width||e.height!==t.height||e.theme!==t.theme||e.headerHeight!==t.headerHeight||e.rowHeight!==t.rowHeight||e.rows!==t.rows||e.freezeColumns!==t.freezeColumns||e.getRowThemeOverride!==t.getRowThemeOverride||e.isFocused!==t.isFocused||e.isResizing!==t.isResizing||e.verticalBorder!==t.verticalBorder||e.getCellContent!==t.getCellContent||e.highlightRegions!==t.highlightRegions||e.selection!==t.selection||e.dragAndDropState!==t.dragAndDropState||e.prelightCells!==t.prelightCells||e.touchMode!==t.touchMode||e.maxScaleFactor!==t.maxScaleFactor)return!1;if(e.mappedColumns!==t.mappedColumns){if(e.mappedColumns.length>100||e.mappedColumns.length!==t.mappedColumns.length)return!1;let n;for(let o=0;oH.style!=="no-outline");if(b===void 0||b.length===0)return;const C=Ho(s),x=so(g,m,w),F=[c,0,s.length,g-m],Y=[C,0,t,n-x],N=b.map(H=>{const G=H.range,S=H.style??"dashed";return lc(G,F,t,n,Y).map($=>{const W=$.rect,I=yi(W.x,W.y,t,n,f,u+f,o,r,i,l,g,c,m,s,w),R=W.width===1&&W.height===1?I:yi(W.x+W.width-1,W.y+W.height-1,t,n,f,u+f,o,r,i,l,g,c,m,s,w);return W.x+W.width>=s.length&&(R.width-=1),W.y+W.height>=g&&(R.height-=1),{color:H.color,style:S,clip:$.clip,rect:ic({x:I.x,y:I.y,width:R.x+R.width-I.x,height:R.y+R.height-I.y},t,n,8)}})}),z=()=>{e.lineWidth=1;let H=!1;for(const G of N)for(const S of G)if((S==null?void 0:S.rect)!==void 0&&nr(0,0,t,n,S.rect.x,S.rect.y,S.rect.width,S.rect.height)){const $=H,W=!rc(S.clip,S.rect);W&&(e.save(),e.rect(S.clip.x,S.clip.y,S.clip.width,S.clip.height),e.clip()),S.style==="dashed"&&!H?(e.setLineDash([5,3]),H=!0):(S.style==="solid"||S.style==="solid-outline")&&H&&(e.setLineDash([]),H=!1),e.strokeStyle=S.style==="solid-outline"?Qt(Qt(S.color,y.borderColor),y.bgCell):lo(S.color,1),e.strokeRect(S.rect.x+.5,S.rect.y+.5,S.rect.width-1,S.rect.height-1),W&&(e.restore(),H=$)}H&&e.setLineDash([])};return z(),z}function cl(e,t,n,o,r){e.beginPath(),e.moveTo(t,n),e.lineTo(t,o),e.lineWidth=2,e.strokeStyle=r,e.stroke(),e.globalAlpha=1}function ci(e,t,n,o,r,i,l,s,c,u,f,w,m,g,h,y,b){if(f.current===void 0)return;const C=f.current.range,x=f.current.cell,F=[C.x+C.width-1,C.y+C.height-1];if(x[1]>=b&&F[1]>=b||!l.some(M=>M.sourceIndex===x[0]||M.sourceIndex===F[0]))return;const[N,z]=f.current.cell,H=m(f.current.cell),G=H.span??[N,N],S=z>=b-g,$=g>0&&!S?so(b,g,w)-1:0,W=F[1];let I;if(qn(l,o,r,i,u,(M,ee,te,ae,me)=>{if(M.sticky&&N>M.sourceIndex)return;const Ke=M.sourceIndexG[1],U=M.sourceIndex===F[0];if(!(!U&&(Ke||j)))return $r(me,te,n,b,w,g,h,void 0,(pe,ie,Se)=>{if(ie!==z&&ie!==W)return;let ve=ee,V=M.width;if(H.span!==void 0){const Ce=Ul(H.span,ee,pe,M.width,Se,M,s),ot=M.sticky?Ce[0]:Ce[1];ot!==void 0&&(ve=ot.x,V=ot.width)}return ie===W&&U&&y&&(I=()=>{var Ce;ae>ve&&!M.sticky&&(e.beginPath(),e.rect(ae,0,t-ae,n),e.clip()),e.beginPath(),e.rect(ve+V-4,pe+Se-4,4,4),e.fillStyle=((Ce=M.themeOverride)==null?void 0:Ce.accentColor)??c.accentColor,e.fill()}),I!==void 0}),I!==void 0}),I===void 0)return;const R=()=>{e.save(),e.beginPath(),e.rect(0,u,t,n-u-$),e.clip(),I==null||I(),e.restore()};return R(),R}function bc(e,t,n,o,r,i,l,s,c){c===void 0||c.size===0||(e.beginPath(),Kl(t,n,i,o,(u,f,w,m,g,h)=>{c.hasItemInRectangle({x:u[0],y:-2,width:u[1]-u[0]+1,height:1})&&e.rect(w,m,g,h)}),qn(t,s,i,l,r,(u,f,w,m)=>{const g=Math.max(0,m-f),h=f+g+1,y=u.width-g-1;c.has([u.sourceIndex,-1])&&e.rect(h,o,y,r-o)}),e.clip())}function pc(e,t,n,o,r,i,l,s,c,u){let f=0;return qn(e,i,o,r,n,(w,m,g,h,y)=>($r(y,g,t,l,s,c,u,void 0,(b,C,x,F)=>{F||(f=Math.max(C,f))}),!0)),f}function dl(e,t){var Le;const{canvasCtx:n,headerCanvasCtx:o,width:r,height:i,cellXOffset:l,cellYOffset:s,translateX:c,translateY:u,mappedColumns:f,enableGroups:w,freezeColumns:m,dragAndDropState:g,theme:h,drawFocus:y,headerHeight:b,groupHeaderHeight:C,disabledRows:x,rowHeight:F,verticalBorder:Y,overrideCursor:N,isResizing:z,selection:H,fillHandle:G,freezeTrailingRows:S,rows:$,getCellContent:W,getGroupDetails:I,getRowThemeOverride:R,isFocused:M,drawHeaderCallback:ee,prelightCells:te,drawCellCallback:ae,highlightRegions:me,resizeCol:Ke,imageLoader:j,lastBlitData:U,hoverValues:pe,hyperWrapping:ie,hoverInfo:Se,spriteManager:ve,maxScaleFactor:V,hasAppendRow:De,touchMode:Ce,enqueue:ot,renderStateProvider:et,getCellRenderer:gt,renderStrategy:Je,bufferACtx:Te,bufferBCtx:Ve,damage:ke,minimumCellWidth:dt,resizeIndicator:rt}=e;if(r===0||i===0)return;const it=Je==="double-buffer",re=Math.min(V,Math.ceil(window.devicePixelRatio??1)),Pe=Je!=="direct"&&yc(e,t),Ee=n.canvas;(Ee.width!==r*re||Ee.height!==i*re)&&(Ee.width=r*re,Ee.height=i*re,Ee.style.width=r+"px",Ee.style.height=i+"px");const Me=o.canvas,fe=w?C+b:b,Oe=fe+1;(Me.width!==r*re||Me.height!==Oe*re)&&(Me.width=r*re,Me.height=Oe*re,Me.style.width=r+"px",Me.style.height=Oe+"px");const He=Te.canvas,qe=Ve.canvas;it&&(He.width!==r*re||He.height!==i*re)&&(He.width=r*re,He.height=i*re,U.current!==void 0&&(U.current.aBufferScroll=void 0)),it&&(qe.width!==r*re||qe.height!==i*re)&&(qe.width=r*re,qe.height=i*re,U.current!==void 0&&(U.current.bBufferScroll=void 0));const oe=U.current;if(Pe===!0&&l===(oe==null?void 0:oe.cellXOffset)&&s===(oe==null?void 0:oe.cellYOffset)&&c===(oe==null?void 0:oe.translateX)&&u===(oe==null?void 0:oe.translateY))return;let Fe=null;it&&(Fe=n);const Qe=o;let We;it?ke!==void 0?We=(oe==null?void 0:oe.lastBuffer)==="b"?Ve:Te:We=(oe==null?void 0:oe.lastBuffer)==="b"?Te:Ve:We=n;const Ue=We.canvas,ut=it?Ue===He?qe:He:Ee,Ne=typeof F=="number"?()=>F:F;Qe.save(),We.save(),Qe.beginPath(),We.beginPath(),Qe.textBaseline="middle",We.textBaseline="middle",re!==1&&(Qe.scale(re,re),We.scale(re,re));const Ae=wi(f,l,r,g,c);let bt=[];const pt=y&&((Le=H.current)==null?void 0:Le.cell[1])===s&&u===0;let Ut=!1;if(me!==void 0){for(const je of me)if(je.style!=="no-outline"&&je.range.y===s&&u===0){Ut=!0;break}}const mt=()=>{cc(Qe,Ae,w,Se,r,c,b,C,g,z,H,h,ve,pe,Y,I,ke,ee,Ce),sl(Qe,Ae,s,c,u,r,i,void 0,void 0,C,fe,Ne,R,Y,S,$,h,!0),Qe.beginPath(),Qe.moveTo(0,Oe-.5),Qe.lineTo(r,Oe-.5),Qe.strokeStyle=Qt(h.headerBottomBorderColor??h.horizontalBorderColor??h.borderColor,h.bgHeader),Qe.stroke(),Ut&&al(Qe,r,i,l,s,c,u,f,m,b,C,F,S,$,me,h),pt&&ci(Qe,r,i,s,c,u,Ae,f,h,fe,H,Ne,W,S,De,G,$)};if(ke!==void 0){const je=Ae[Ae.length-1].sourceIndex+1,Wt=ke.hasItemInRegion([{x:l,y:-2,width:je,height:2},{x:l,y:s,width:je,height:300},{x:0,y:s,width:m,height:300},{x:0,y:-2,width:m,height:2},{x:l,y:$-S,width:je,height:S,when:S>0}]),En=tn=>{il(tn,Ae,f,i,fe,c,u,s,$,Ne,W,I,R,x,M,y,S,De,bt,ke,H,te,me,j,ve,pe,Se,ae,ie,h,ot,et,gt,N,dt);const $t=H.current;G&&y&&$t!==void 0&&ke.has(Hl($t.range))&&ci(tn,r,i,s,c,u,Ae,f,h,fe,H,Ne,W,S,De,G,$)};Wt&&(En(We),Fe!==null&&(Fe.save(),Fe.scale(re,re),Fe.textBaseline="middle",En(Fe),Fe.restore()),ke.hasHeader()&&(bc(Qe,Ae,r,C,fe,c,u,s,ke),mt())),We.restore(),Qe.restore();return}if((Pe!==!0||l!==(oe==null?void 0:oe.cellXOffset)||c!==(oe==null?void 0:oe.translateX)||pt!==(oe==null?void 0:oe.mustDrawFocusOnHeader)||Ut!==(oe==null?void 0:oe.mustDrawHighlightRingsOnHeader))&&mt(),Pe===!0){Jt(ut!==void 0&&oe!==void 0);const{regions:je}=mc(We,ut,ut===He?oe.aBufferScroll:oe.bBufferScroll,ut===He?oe.bBufferScroll:oe.aBufferScroll,oe,l,s,c,u,S,r,i,$,fe,re,f,Ae,F,it);bt=je}else Pe!==!1&&(Jt(oe!==void 0),bt=wc(oe,l,s,c,u,r,i,fe,Ae,Pe));hc(We,Ae,r,i,S,$,Y,Ne,h);const Et=al(We,r,i,l,s,c,u,f,m,b,C,F,S,$,me,h),It=y?ci(We,r,i,s,c,u,Ae,f,h,fe,H,Ne,W,S,De,G,$):void 0;if(We.fillStyle=h.bgCell,bt.length>0){We.beginPath();for(const je of bt)We.rect(je.x,je.y,je.width,je.height);We.clip(),We.fill(),We.beginPath()}else We.fillRect(0,0,r,i);const An=il(We,Ae,f,i,fe,c,u,s,$,Ne,W,I,R,x,M,y,S,De,bt,ke,H,te,me,j,ve,pe,Se,ae,ie,h,ot,et,gt,N,dt);fc(We,Ae,f,r,i,fe,c,u,s,$,Ne,R,H.rows,x,S,De,bt,ke,h),gc(We,Ae,s,c,u,r,i,bt,fe,Ne,R,Y,S,$,h),sl(We,Ae,s,c,u,r,i,bt,An,C,fe,Ne,R,Y,S,$,h),Et==null||Et(),It==null||It(),z&&rt!=="none"&&qn(Ae,0,c,0,fe,(je,Wt)=>je.sourceIndex===Ke?(cl(Qe,Wt+je.width,0,fe+1,Qt(h.resizeIndicatorColor??h.accentLight,h.bgHeader)),rt==="full"&&cl(We,Wt+je.width,fe,i,Qt(h.resizeIndicatorColor??h.accentLight,h.bgCell)),!0):!1),Fe!==null&&(Fe.fillStyle=h.bgCell,Fe.fillRect(0,0,r,i),Fe.drawImage(We.canvas,0,0));const zn=pc(Ae,i,fe,c,u,s,$,Ne,S,De);j==null||j.setWindow({x:l,y:s,width:Ae.length,height:zn-s},m,Array.from({length:S},(je,Wt)=>$-1-Wt));const at=oe!==void 0&&(l!==oe.cellXOffset||c!==oe.translateX),Rn=oe!==void 0&&(s!==oe.cellYOffset||u!==oe.translateY);U.current={cellXOffset:l,cellYOffset:s,translateX:c,translateY:u,mustDrawFocusOnHeader:pt,mustDrawHighlightRingsOnHeader:Ut,lastBuffer:it?Ue===He?"a":"b":void 0,aBufferScroll:Ue===He?[at,Rn]:oe==null?void 0:oe.aBufferScroll,bBufferScroll:Ue===qe?[at,Rn]:oe==null?void 0:oe.bBufferScroll},We.restore(),Qe.restore()}const vc=80;function Cc(e){const t=e-1;return t*t*t+1}class xc{constructor(t){$e(this,"callback");$e(this,"currentHoveredItem");$e(this,"leavingItems",[]);$e(this,"lastAnimationTime");$e(this,"addToLeavingItems",t=>{this.leavingItems.some(o=>Zo(o.item,t.item))||this.leavingItems.push(t)});$e(this,"removeFromLeavingItems",t=>{const n=this.leavingItems.find(o=>Zo(o.item,t));return this.leavingItems=this.leavingItems.filter(o=>o!==n),(n==null?void 0:n.hoverAmount)??0});$e(this,"cleanUpLeavingElements",()=>{this.leavingItems=this.leavingItems.filter(t=>t.hoverAmount>0)});$e(this,"shouldStep",()=>{const t=this.leavingItems.length>0,n=this.currentHoveredItem!==void 0&&this.currentHoveredItem.hoverAmount<1;return t||n});$e(this,"getAnimatingItems",()=>this.currentHoveredItem!==void 0?[...this.leavingItems,this.currentHoveredItem]:this.leavingItems.map(t=>({...t,hoverAmount:Cc(t.hoverAmount)})));$e(this,"step",t=>{if(this.lastAnimationTime===void 0)this.lastAnimationTime=t;else{const o=(t-this.lastAnimationTime)/vc;for(const i of this.leavingItems)i.hoverAmount=an(i.hoverAmount-o,0,1);this.currentHoveredItem!==void 0&&(this.currentHoveredItem.hoverAmount=an(this.currentHoveredItem.hoverAmount+o,0,1));const r=this.getAnimatingItems();this.callback(r),this.cleanUpLeavingElements()}this.shouldStep()?(this.lastAnimationTime=t,window.requestAnimationFrame(this.step)):this.lastAnimationTime=void 0});$e(this,"setHovered",t=>{var n;if(!Zo((n=this.currentHoveredItem)==null?void 0:n.item,t)){if(this.currentHoveredItem!==void 0&&this.addToLeavingItems(this.currentHoveredItem),t!==void 0){const o=this.removeFromLeavingItems(t);this.currentHoveredItem={item:t,hoverAmount:o}}else this.currentHoveredItem=void 0;this.lastAnimationTime===void 0&&window.requestAnimationFrame(this.step)}});this.callback=t}}class kc{constructor(t){$e(this,"fn");$e(this,"val");this.fn=t}get value(){return this.val??(this.val=this.fn())}}function Ei(e){return new kc(e)}const Sc=Ei(()=>window.navigator.userAgent.includes("Firefox")),zr=Ei(()=>window.navigator.userAgent.includes("Mac OS")&&window.navigator.userAgent.includes("Safari")&&!window.navigator.userAgent.includes("Chrome")),Br=Ei(()=>window.navigator.platform.toLowerCase().startsWith("mac"));function Mc(e){const t=a.useRef([]),n=a.useRef(0),o=a.useRef(e);o.current=e;const r=a.useCallback(()=>{const i=()=>window.requestAnimationFrame(l),l=()=>{const s=t.current.map(Mi);t.current=[],o.current(new Qo(s)),t.current.length>0?n.current++:n.current=0};window.requestAnimationFrame(n.current>600?i:l)},[]);return a.useCallback(i=>{t.current.length===0&&r();const l=mn(i[0],i[1]);t.current.includes(l)||t.current.push(l)},[r])}const Un="header",Zt="group-header",Lr="out-of-bounds";var Eo;(function(e){e[e.Start=-2]="Start",e[e.StartPadding=-1]="StartPadding",e[e.Center=0]="Center",e[e.EndPadding=1]="EndPadding",e[e.End=2]="End"})(Eo||(Eo={}));function Ql(e,t){return e===t?!0:(e==null?void 0:e.kind)==="out-of-bounds"?(e==null?void 0:e.kind)===(t==null?void 0:t.kind)&&(e==null?void 0:e.location[0])===(t==null?void 0:t.location[0])&&(e==null?void 0:e.location[1])===(t==null?void 0:t.location[1])&&(e==null?void 0:e.region[0])===(t==null?void 0:t.region[0])&&(e==null?void 0:e.region[1])===(t==null?void 0:t.region[1]):(e==null?void 0:e.kind)===(t==null?void 0:t.kind)&&(e==null?void 0:e.location[0])===(t==null?void 0:t.location[0])&&(e==null?void 0:e.location[1])===(t==null?void 0:t.location[1])}const ul=6,Rc=(e,t)=>{if(e.kind===Z.Custom)return e.copyData;const n=t==null?void 0:t(e);return(n==null?void 0:n.getAccessibilityString(e))??""},Ec=(e,t)=>{const{width:n,height:o,accessibilityHeight:r,columns:i,cellXOffset:l,cellYOffset:s,headerHeight:c,fillHandle:u=!1,groupHeaderHeight:f,rowHeight:w,rows:m,getCellContent:g,getRowThemeOverride:h,onHeaderMenuClick:y,onHeaderIndicatorClick:b,enableGroups:C,isFilling:x,onCanvasFocused:F,onCanvasBlur:Y,isFocused:N,selection:z,freezeColumns:H,onContextMenu:G,freezeTrailingRows:S,fixedShadowX:$=!0,fixedShadowY:W=!0,drawFocusRing:I,onMouseDown:R,onMouseUp:M,onMouseMoveRaw:ee,onMouseMove:te,onItemHovered:ae,dragAndDropState:me,firstColAccessible:Ke,onKeyDown:j,onKeyUp:U,highlightRegions:pe,canvasRef:ie,onDragStart:Se,onDragEnd:ve,eventTargetRef:V,isResizing:De,resizeColumn:Ce,isDragging:ot,isDraggable:et=!1,allowResize:gt,disabledRows:Je,hasAppendRow:Te,getGroupDetails:Ve,theme:ke,prelightCells:dt,headerIcons:rt,verticalBorder:it,drawCell:re,drawHeader:Pe,onCellFocused:Ee,onDragOverCell:Me,onDrop:fe,onDragLeave:Oe,imageWindowLoader:He,smoothScrollX:qe=!1,smoothScrollY:oe=!1,experimental:Fe,getCellRenderer:Qe,resizeIndicator:We="full"}=e,Ue=e.translateX??0,ut=e.translateY??0,Ne=Math.max(H,Math.min(i.length-1,l)),Ae=a.useRef(null),bt=a.useRef(window),pt=bt.current,Ut=He,mt=a.useRef(),[Et,It]=a.useState(!1),An=a.useRef([]),zn=a.useRef(),[at,Rn]=a.useState(),[Le,je]=a.useState(),Wt=a.useRef(null),[En,tn]=a.useState(),[$t,_e]=a.useState(!1),kt=a.useRef($t);kt.current=$t;const st=a.useMemo(()=>new nc(rt,()=>{ao.current=void 0,Zn.current()}),[rt]),Yt=C?f+c:c,At=a.useRef(-1),qt=((Fe==null?void 0:Fe.enableFirefoxRescaling)??!1)&&Sc.value,Ao=((Fe==null?void 0:Fe.enableSafariRescaling)??!1)&&zr.value;a.useLayoutEffect(()=>{window.devicePixelRatio===1||!qt&&!Ao||(At.current!==-1&&It(!0),window.clearTimeout(At.current),At.current=window.setTimeout(()=>{It(!1),At.current=-1},200))},[s,Ne,Ue,ut,qt,Ao]);const vt=aa(i,H),Dt=$?Ho(vt,me):0,Ft=a.useCallback((k,K,de)=>{const ne=k.getBoundingClientRect();if(K>=vt.length||de>=m)return;const _=ne.width/n,q=yi(K,de,n,o,f,Yt,Ne,s,Ue,ut,m,H,S,vt,w);return _!==1&&(q.x*=_,q.y*=_,q.width*=_,q.height*=_),q.x+=ne.x,q.y+=ne.y,q},[n,o,f,Yt,Ne,s,Ue,ut,m,H,S,vt,w]),zt=a.useCallback((k,K,de,ne)=>{const _=k.getBoundingClientRect(),q=_.width/n,se=(K-_.left)/q,ce=(de-_.top)/q,ue=5,Ht=wi(vt,Ne,n,void 0,Ue);let we=0,Ie=0;ne instanceof MouseEvent&&(we=ne.button,Ie=ne.buttons);const Re=fa(se,Ht,Ue),Xe=ha(ce,o,C,c,f,m,w,s,ut,S),Ct=(ne==null?void 0:ne.shiftKey)===!0,Nt=(ne==null?void 0:ne.ctrlKey)===!0,xt=(ne==null?void 0:ne.metaKey)===!0,rn=ne!==void 0&&!(ne instanceof MouseEvent)||(ne==null?void 0:ne.pointerType)==="touch",Ye=[se<0?-1:nn||ce>o){const tt=se>n?1:se<0?-1:0,Vt=ce>o?1:ce<0?-1:0;let Pt=tt*2,nt=Vt*2;tt===0&&(Pt=Re===-1?Eo.EndPadding:Eo.Center),Vt===0&&(nt=Xe===void 0?Eo.EndPadding:Eo.Center);let vn=!1;if(Re===-1&&Xe===-1){const Tt=Ft(k,vt.length-1,-1);Jt(Tt!==void 0),vn=Kn&&seo&&ce=0?(Vt=!0,tt=Ft(k,Pt,Xe),Jt(tt!==void 0),ft={kind:C&&Xe===-2?Zt:Un,location:[Pt,Xe],bounds:tt,group:vt[Pt].group??"",isEdge:Vt,shiftKey:Ct,ctrlKey:Nt,metaKey:xt,isTouch:rn,localEventX:K-tt.x,localEventY:de-tt.y,button:we,buttons:Ie,scrollEdge:Ye}):ft={kind:C&&Xe===-2?Zt:Un,group:vt[Re].group??"",location:[Re,Xe],bounds:tt,isEdge:Vt,shiftKey:Ct,ctrlKey:Nt,metaKey:xt,isTouch:rn,localEventX:K-tt.x,localEventY:de-tt.y,button:we,buttons:Ie,scrollEdge:Ye}}else{const tt=Ft(k,Re,Xe);Jt(tt!==void 0);const Vt=tt!==void 0&&tt.x+tt.width-K{}),Bn=a.useRef(at);Bn.current=at;const[Dn,Fn]=a.useMemo(()=>{const k=document.createElement("canvas"),K=document.createElement("canvas");return k.style.display="none",k.style.opacity="0",k.style.position="fixed",K.style.display="none",K.style.opacity="0",K.style.position="fixed",[k.getContext("2d",{alpha:!1}),K.getContext("2d",{alpha:!1})]},[]);a.useLayoutEffect(()=>{if(!(Dn===null||Fn===null))return document.documentElement.append(Dn.canvas),document.documentElement.append(Fn.canvas),()=>{Dn.canvas.remove(),Fn.canvas.remove()}},[Dn,Fn]);const wn=a.useMemo(()=>new xa,[]),ir=qt&&Et?1:Ao&&Et?2:5,lr=(Fe==null?void 0:Fe.disableMinimumCellWidth)===!0?1:10,ao=a.useRef(),co=a.useRef(null),uo=a.useRef(null),jn=a.useCallback(()=>{var se;const k=Ae.current,K=Wt.current;if(k===null||K===null||(co.current===null&&(co.current=k.getContext("2d",{alpha:!1}),k.width=0,k.height=0),uo.current===null&&(uo.current=K.getContext("2d",{alpha:!1}),K.width=0,K.height=0),co.current===null||uo.current===null||Dn===null||Fn===null))return;let de=!1;const ne=ce=>{de=!0,tn(ce)},_=ao.current,q={headerCanvasCtx:uo.current,canvasCtx:co.current,bufferACtx:Dn,bufferBCtx:Fn,width:n,height:o,cellXOffset:Ne,cellYOffset:s,translateX:Math.round(Ue),translateY:Math.round(ut),mappedColumns:vt,enableGroups:C,freezeColumns:H,dragAndDropState:me,theme:ke,headerHeight:c,groupHeaderHeight:f,disabledRows:Je??lt.empty(),rowHeight:w,verticalBorder:it,isResizing:De,resizeCol:Ce,isFocused:N,selection:z,fillHandle:u,drawCellCallback:re,hasAppendRow:Te,overrideCursor:ne,maxScaleFactor:ir,freezeTrailingRows:S,rows:m,drawFocus:I,getCellContent:g,getGroupDetails:Ve??(ce=>({name:ce})),getRowThemeOverride:h,drawHeaderCallback:Pe,prelightCells:dt,highlightRegions:pe,imageLoader:Ut,lastBlitData:zn,damage:mt.current,hoverValues:An.current,hoverInfo:Bn.current,spriteManager:st,scrolling:Et,hyperWrapping:(Fe==null?void 0:Fe.hyperWrapping)??!1,touchMode:$t,enqueue:rr.current,renderStateProvider:wn,renderStrategy:(Fe==null?void 0:Fe.renderStrategy)??(zr.value?"double-buffer":"single-buffer"),getCellRenderer:Qe,minimumCellWidth:lr,resizeIndicator:We};q.damage===void 0?(ao.current=q,dl(q,_)):dl(q,void 0),!de&&(q.damage===void 0||q.damage.has((se=Bn==null?void 0:Bn.current)==null?void 0:se[0]))&&tn(void 0)},[Dn,Fn,n,o,Ne,s,Ue,ut,vt,C,H,me,ke,c,f,Je,w,it,De,Te,Ce,N,z,u,S,m,I,ir,g,Ve,h,re,Pe,dt,pe,Ut,st,Et,Fe==null?void 0:Fe.hyperWrapping,Fe==null?void 0:Fe.renderStrategy,$t,wn,Qe,lr,We]),Zn=a.useRef(jn);a.useLayoutEffect(()=>{jn(),Zn.current=jn},[jn]),a.useLayoutEffect(()=>{(async()=>{var K;((K=document==null?void 0:document.fonts)==null?void 0:K.ready)!==void 0&&(await document.fonts.ready,ao.current=void 0,Zn.current())})()},[]);const Ln=a.useCallback(k=>{mt.current=k,Zn.current(),mt.current=void 0},[]),Or=Mc(Ln);rr.current=Or;const sr=a.useCallback(k=>{Ln(new Qo(k.map(K=>K.cell)))},[Ln]);Ut.setCallback(Ln);const[ar,Nr]=a.useState(!1),[fo,Pn]=In??[],zo=fo!==void 0&&Pn===-1,Xr=fo!==void 0&&Pn===-2;let Bo=!1,Bt=!1,Gt=En;if(Gt===void 0&&fo!==void 0&&Pn!==void 0&&Pn>-1&&Pn({contain:"strict",display:"block",cursor:Lo}),[Lo]),Jn=a.useRef("default"),yn=V==null?void 0:V.current;yn!=null&&Jn.current!==ho.cursor&&(yn.style.cursor=Jn.current=ho.cursor);const dn=a.useCallback((k,K,de,ne)=>{if(Ve===void 0)return;const _=Ve(k);if(_.actions!==void 0){const q=ql(K,_.actions);for(const[se,ce]of q.entries())if(Io(ce,de+K.x,ne+ce.y))return _.actions[se]}},[Ve]),Wn=a.useCallback((k,K,de,ne)=>{const _=vt[K];if(!ot&&!De&&!(Le??!1)){const q=Ft(k,K,-1);Jt(q!==void 0);const se=jl(void 0,_,q.x,q.y,q.width,q.height,ke,xi(_.title)==="rtl");if(_.hasMenu===!0&&se.menuBounds!==void 0&&Io(se.menuBounds,de,ne))return{area:"menu",bounds:se.menuBounds};if(_.indicatorIcon!==void 0&&se.indicatorIconBounds!==void 0&&Io(se.indicatorIconBounds,de,ne))return{area:"indicator",bounds:se.indicatorIconBounds}}},[vt,Ft,Le,ot,De,ke]),go=a.useRef(0),be=a.useRef(),mo=a.useRef(!1),cr=a.useCallback(k=>{const K=Ae.current,de=V==null?void 0:V.current;if(K===null||k.target!==K&&k.target!==de)return;mo.current=!0;let ne,_;if(k instanceof MouseEvent?(ne=k.clientX,_=k.clientY):(ne=k.touches[0].clientX,_=k.touches[0].clientY),k.target===de&&de!==null){const se=de.getBoundingClientRect();if(ne>se.right||_>se.bottom)return}const q=zt(K,ne,_,k);be.current=q.location,q.isTouch&&(go.current=Date.now()),kt.current!==q.isTouch&&_e(q.isTouch),!(q.kind===Un&&Wn(K,q.location[0],ne,_)!==void 0)&&(q.kind===Zt&&dn(q.group,q.bounds,q.localEventX,q.localEventY)!==void 0||(R==null||R(q),!q.isTouch&&et!==!0&&et!==q.kind&&q.button<3&&q.button!==1&&k.preventDefault()))},[V,et,zt,dn,Wn,R]);Xt("touchstart",cr,pt,!1),Xt("mousedown",cr,pt,!1);const nn=a.useRef(0),dr=a.useCallback(k=>{var Ie,Re;const K=nn.current;nn.current=Date.now();const de=Ae.current;if(mo.current=!1,M===void 0||de===null)return;const ne=V==null?void 0:V.current,_=k.target!==de&&k.target!==ne;let q,se,ce=!0;if(k instanceof MouseEvent){if(q=k.clientX,se=k.clientY,ce=k.button<3,k.pointerType==="touch")return}else q=k.changedTouches[0].clientX,se=k.changedTouches[0].clientY;let ue=zt(de,q,se,k);ue.isTouch&&go.current!==0&&Date.now()-go.current>500&&(ue={...ue,isLongTouch:!0}),K!==0&&Date.now()-K<(ue.isTouch?1e3:500)&&(ue={...ue,isDoubleClick:!0}),kt.current!==ue.isTouch&&_e(ue.isTouch),!_&&k.cancelable&&ce&&k.preventDefault();const[Ht]=ue.location,we=Wn(de,Ht,q,se);if(ue.kind===Un&&we!==void 0){(ue.button!==0||((Ie=be.current)==null?void 0:Ie[0])!==Ht||((Re=be.current)==null?void 0:Re[1])!==-1)&&M(ue,!0);return}else if(ue.kind===Zt){const Xe=dn(ue.group,ue.bounds,ue.localEventX,ue.localEventY);if(Xe!==void 0){ue.button===0&&Xe.onClick(ue);return}}M(ue,_)},[M,V,zt,Wn,dn]);Xt("mouseup",dr,pt,!1),Xt("touchend",dr,pt,!1);const bn=a.useCallback(k=>{var Ht,we;const K=Ae.current;if(K===null)return;const de=V==null?void 0:V.current,ne=k.target!==K&&k.target!==de;let _,q,se=!0;k instanceof MouseEvent?(_=k.clientX,q=k.clientY,se=k.button<3):(_=k.changedTouches[0].clientX,q=k.changedTouches[0].clientY);const ce=zt(K,_,q,k);kt.current!==ce.isTouch&&_e(ce.isTouch),!ne&&k.cancelable&&se&&k.preventDefault();const[ue]=ce.location;if(ce.kind===Un){const Ie=Wn(K,ue,_,q);Ie!==void 0&&ce.button===0&&((Ht=be.current)==null?void 0:Ht[0])===ue&&((we=be.current)==null?void 0:we[1])===-1&&(Ie.area==="menu"?y==null||y(ue,Ie.bounds):Ie.area==="indicator"&&(b==null||b(ue,Ie.bounds)))}else if(ce.kind===Zt){const Ie=dn(ce.group,ce.bounds,ce.localEventX,ce.localEventY);Ie!==void 0&&ce.button===0&&Ie.onClick(ce)}},[V,zt,Wn,y,b,dn]);Xt("click",bn,pt,!1);const Po=a.useCallback(k=>{const K=Ae.current,de=V==null?void 0:V.current;if(K===null||k.target!==K&&k.target!==de||G===void 0)return;const ne=zt(K,k.clientX,k.clientY,k);G(ne,()=>{k.cancelable&&k.preventDefault()})},[V,zt,G]);Xt("contextmenu",Po,(V==null?void 0:V.current)??null,!1);const Wo=a.useCallback(k=>{mt.current=new Qo(k.map(K=>K.item)),An.current=k,Zn.current(),mt.current=void 0},[]),$o=a.useMemo(()=>new xc(Wo),[Wo]),ur=a.useRef($o);ur.current=$o,a.useLayoutEffect(()=>{const k=ur.current;if(In===void 0||In[1]<0){k.setHovered(In);return}const K=g(In,!0),de=Qe(K),ne=de===void 0&&K.kind===Z.Custom||(de==null?void 0:de.needsHover)!==void 0&&(typeof de.needsHover=="boolean"?de.needsHover:de.needsHover(K));k.setHovered(ne?In:void 0)},[g,Qe,In]);const fr=a.useRef(),pn=a.useCallback(k=>{var ce;const K=Ae.current;if(K===null)return;const de=V==null?void 0:V.current,ne=k.target!==K&&k.target!==de,_=zt(K,k.clientX,k.clientY,k);if(_.kind!=="out-of-bounds"&&ne&&!mo.current&&!_.isTouch)return;const q=(ue,Ht)=>{Rn(we=>we===ue||(we==null?void 0:we[0][0])===(ue==null?void 0:ue[0][0])&&(we==null?void 0:we[0][1])===(ue==null?void 0:ue[0][1])&&((we==null?void 0:we[1][0])===(ue==null?void 0:ue[1][0])&&(we==null?void 0:we[1][1])===(ue==null?void 0:ue[1][1])||!Ht)?we:ue)};if(!Ql(_,fr.current))tn(void 0),ae==null||ae(_),q(_.kind===Lr?void 0:[_.location,[_.localEventX,_.localEventY]],!0),fr.current=_;else if(_.kind==="cell"||_.kind===Un||_.kind===Zt){let ue=!1,Ht=!0;if(_.kind==="cell"){const Ie=g(_.location);Ht=((ce=Qe(Ie))==null?void 0:ce.needsHoverPosition)??Ie.kind===Z.Custom,ue=Ht}else _.kind===Zt&&(ue=!0);const we=[_.location,[_.localEventX,_.localEventY]];q(we,Ht),Bn.current=we,ue&&Ln(new Qo([_.location]))}const se=_.location[0]>=(Ke?0:1);je(_.kind===Un&&_.isEdge&&se&>===!0),Nr(_.kind==="cell"&&_.isFillHandle),ee==null||ee(k),te(_)},[V,zt,Ke,gt,ee,te,ae,g,Qe,Ln]);Xt("mousemove",pn,pt,!0);const $n=a.useCallback(k=>{const K=Ae.current;if(K===null)return;let de,ne;z.current!==void 0&&(de=Ft(K,z.current.cell[0],z.current.cell[1]),ne=z.current.cell),j==null||j({bounds:de,stopPropagation:()=>k.stopPropagation(),preventDefault:()=>k.preventDefault(),cancel:()=>{},ctrlKey:k.ctrlKey,metaKey:k.metaKey,shiftKey:k.shiftKey,altKey:k.altKey,key:k.key,keyCode:k.keyCode,rawEvent:k,location:ne})},[j,z,Ft]),on=a.useCallback(k=>{const K=Ae.current;if(K===null)return;let de,ne;z.current!==void 0&&(de=Ft(K,z.current.cell[0],z.current.cell[1]),ne=z.current.cell),U==null||U({bounds:de,stopPropagation:()=>k.stopPropagation(),preventDefault:()=>k.preventDefault(),cancel:()=>{},ctrlKey:k.ctrlKey,metaKey:k.metaKey,shiftKey:k.shiftKey,altKey:k.altKey,key:k.key,keyCode:k.keyCode,rawEvent:k,location:ne})},[U,z,Ft]),T=a.useCallback(k=>{if(Ae.current=k,ie!==void 0&&(ie.current=k),k===null)bt.current=window;else{const K=k.getRootNode();K===document&&(bt.current=window),bt.current=K}},[ie]),wt=a.useCallback(k=>{const K=Ae.current;if(K===null||et===!1||De){k.preventDefault();return}let de,ne;const _=zt(K,k.clientX,k.clientY);if(et!==!0&&_.kind!==et){k.preventDefault();return}const q=(Ie,Re)=>{de=Ie,ne=Re};let se,ce,ue;const Ht=(Ie,Re,Xe)=>{se=Ie,ce=Re,ue=Xe};let we=!1;if(Se==null||Se({..._,setData:q,setDragImage:Ht,preventDefault:()=>we=!0,defaultPrevented:()=>we}),!we&&de!==void 0&&ne!==void 0&&k.dataTransfer!==null)if(k.dataTransfer.setData(de,ne),k.dataTransfer.effectAllowed="copyLink",se!==void 0&&ce!==void 0&&ue!==void 0)k.dataTransfer.setDragImage(se,ce,ue);else{const[Ie,Re]=_.location;if(Re!==void 0){const Xe=document.createElement("canvas"),Ct=Ft(K,Ie,Re);Jt(Ct!==void 0);const Nt=Math.ceil(window.devicePixelRatio??1);Xe.width=Ct.width*Nt,Xe.height=Ct.height*Nt;const xt=Xe.getContext("2d");xt!==null&&(xt.scale(Nt,Nt),xt.textBaseline="middle",Re===-1?(xt.font=ke.headerFontFull,xt.fillStyle=ke.bgHeader,xt.fillRect(0,0,Xe.width,Xe.height),Zl(xt,0,0,Ct.width,Ct.height,vt[Ie],!1,ke,!1,!1,0,st,Pe,!1)):(xt.font=ke.baseFontFull,xt.fillStyle=ke.bgCell,xt.fillRect(0,0,Xe.width,Xe.height),Vl(xt,g([Ie,Re]),0,Re,!1,!1,0,0,Ct.width,Ct.height,!1,ke,ke.bgCell,Ut,st,1,void 0,!1,0,void 0,void 0,void 0,wn,Qe,()=>{}))),Xe.style.left="-100%",Xe.style.position="absolute",Xe.style.width=`${Ct.width}px`,Xe.style.height=`${Ct.height}px`,document.body.append(Xe),k.dataTransfer.setDragImage(Xe,Ct.width/2,Ct.height/2),window.setTimeout(()=>{Xe.remove()},0)}}else k.preventDefault()},[et,De,zt,Se,Ft,ke,vt,st,Pe,g,Ut,wn,Qe]);Xt("dragstart",wt,(V==null?void 0:V.current)??null,!1,!1);const Hn=a.useRef(),Yr=a.useCallback(k=>{const K=Ae.current;if(fe!==void 0&&k.preventDefault(),K===null||Me===void 0)return;const de=zt(K,k.clientX,k.clientY),[ne,_]=de.location,q=ne-(Ke?0:1),[se,ce]=Hn.current??[];(se!==q||ce!==_)&&(Hn.current=[q,_],Me([q,_],k.dataTransfer))},[Ke,zt,Me,fe]);Xt("dragover",Yr,(V==null?void 0:V.current)??null,!1,!1);const hr=a.useCallback(()=>{Hn.current=void 0,ve==null||ve()},[ve]);Xt("dragend",hr,(V==null?void 0:V.current)??null,!1,!1);const Gr=a.useCallback(k=>{const K=Ae.current;if(K===null||fe===void 0)return;k.preventDefault();const de=zt(K,k.clientX,k.clientY),[ne,_]=de.location,q=ne-(Ke?0:1);fe([q,_],k.dataTransfer)},[Ke,zt,fe]);Xt("drop",Gr,(V==null?void 0:V.current)??null,!1,!1);const Kr=a.useCallback(()=>{Oe==null||Oe()},[Oe]);Xt("dragleave",Kr,(V==null?void 0:V.current)??null,!1,!1);const Ur=a.useRef(z);Ur.current=z;const B=a.useRef(null),Lt=a.useCallback(k=>{var K;Ae.current===null||!Ae.current.contains(document.activeElement)||(k===null&&Ur.current.current!==void 0?(K=ie==null?void 0:ie.current)==null||K.focus({preventScroll:!0}):k!==null&&k.focus({preventScroll:!0}),B.current=k)},[ie]);a.useImperativeHandle(t,()=>({focus:()=>{var K;const k=B.current;k===null||!document.contains(k)?(K=ie==null?void 0:ie.current)==null||K.focus({preventScroll:!0}):k.focus({preventScroll:!0})},getBounds:(k,K)=>{if(!(ie===void 0||ie.current===null))return Ft(ie.current,k??0,K??-1)},damage:sr}),[ie,sr,Ft]);const St=a.useRef(),_r=qs(()=>{var ce,ue,Ht;if(n<50||(Fe==null?void 0:Fe.disableAccessibilityTree)===!0)return null;let k=wi(vt,Ne,n,me,Ue);const K=Ke?0:-1;!Ke&&((ce=k[0])==null?void 0:ce.sourceIndex)===0&&(k=k.slice(1));const[de,ne]=((ue=z.current)==null?void 0:ue.cell)??[],_=(Ht=z.current)==null?void 0:Ht.range,q=k.map(we=>we.sourceIndex),se=io(s,Math.min(m,s+r));return de!==void 0&&ne!==void 0&&!(q.includes(de)&&se.includes(ne))&&Lt(null),a.createElement("table",{key:"access-tree",role:"grid","aria-rowcount":m+1,"aria-multiselectable":"true","aria-colcount":vt.length+K},a.createElement("thead",{role:"rowgroup"},a.createElement("tr",{role:"row","aria-rowindex":1},k.map(we=>a.createElement("th",{role:"columnheader","aria-selected":z.columns.hasIndex(we.sourceIndex),"aria-colindex":we.sourceIndex+1+K,tabIndex:-1,onFocus:Ie=>{if(Ie.target!==B.current)return Ee==null?void 0:Ee([we.sourceIndex,-1])},key:we.sourceIndex},we.title)))),a.createElement("tbody",{role:"rowgroup"},se.map(we=>a.createElement("tr",{role:"row","aria-selected":z.rows.hasIndex(we),key:we,"aria-rowindex":we+2},k.map(Ie=>{const Re=Ie.sourceIndex,Xe=mn(Re,we),Ct=de===Re&&ne===we,Nt=_!==void 0&&Re>=_.x&&Re<_.x+_.width&&we>=_.y&&we<_.y+_.height,xt=`glide-cell-${Re}-${we}`,rn=[Re,we],Ye=g(rn,!0);return a.createElement("td",{key:Xe,role:"gridcell","aria-colindex":Re+1+K,"aria-selected":Nt,"aria-readonly":Ro(Ye)||!jo(Ye),id:xt,"data-testid":xt,onClick:()=>{const ft=ie==null?void 0:ie.current;if(ft!=null)return j==null?void 0:j({bounds:Ft(ft,Re,we),cancel:()=>{},preventDefault:()=>{},stopPropagation:()=>{},ctrlKey:!1,key:"Enter",keyCode:13,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:rn})},onFocusCapture:ft=>{var tt,Vt;if(!(ft.target===B.current||((tt=St.current)==null?void 0:tt[0])===Re&&((Vt=St.current)==null?void 0:Vt[1])===we))return St.current=rn,Ee==null?void 0:Ee(rn)},ref:Ct?Lt:void 0,tabIndex:-1},Rc(Ye,Qe))})))))},[n,vt,Ne,me,Ue,m,s,r,z,Lt,g,ie,j,Ft,Ee],200),wo=H===0||!$?0:Ne>H?1:an(-Ue/100,0,1),yo=-s*32+ut,Ot=W?an(-yo/100,0,1):0,On=a.useMemo(()=>{if(!wo&&!Ot)return null;const k={position:"absolute",top:0,left:Dt,width:n-Dt,height:o,opacity:wo,pointerEvents:"none",transition:qe?void 0:"opacity 0.2s",boxShadow:"inset 13px 0 10px -13px rgba(0, 0, 0, 0.2)"},K={position:"absolute",top:Yt,left:0,width:n,height:o,opacity:Ot,pointerEvents:"none",transition:oe?void 0:"opacity 0.2s",boxShadow:"inset 0 13px 10px -13px rgba(0, 0, 0, 0.2)"};return a.createElement(a.Fragment,null,wo>0&&a.createElement("div",{id:"shadow-x",style:k}),Ot>0&&a.createElement("div",{id:"shadow-y",style:K}))},[wo,Ot,Dt,n,qe,Yt,o,oe]),Vr=a.useMemo(()=>({position:"absolute",top:0,left:0}),[]);return a.createElement(a.Fragment,null,a.createElement("canvas",{"data-testid":"data-grid-canvas",tabIndex:0,onKeyDown:$n,onKeyUp:on,onFocus:F,onBlur:Y,ref:T,style:ho},_r),a.createElement("canvas",{ref:Wt,style:Vr}),On)},Ic=a.memo(a.forwardRef(Ec));function qo(e,t,n,o){return an(Math.round(t-(e.growOffset??0)),Math.ceil(n),Math.floor(o))}const Dc=e=>{const[t,n]=a.useState(),[o,r]=a.useState(),[i,l]=a.useState(),[s,c]=a.useState(),[u,f]=a.useState(!1),[w,m]=a.useState(),[g,h]=a.useState(),[y,b]=a.useState(),[C,x]=a.useState(!1),[F,Y]=a.useState(),{onHeaderMenuClick:N,onHeaderIndicatorClick:z,getCellContent:H,onColumnMoved:G,onColumnResize:S,onColumnResizeStart:$,onColumnResizeEnd:W,gridRef:I,maxColumnWidth:R,minColumnWidth:M,onRowMoved:ee,lockColumns:te,onColumnProposeMove:ae,onMouseDown:me,onMouseUp:Ke,onItemHovered:j,onDragStart:U,canvasRef:pe}=e,ie=(S??W??$)!==void 0,{columns:Se,selection:ve}=e,V=ve.columns,De=a.useCallback(re=>{const[Pe,Ee]=re.location;i!==void 0&&s!==Pe&&Pe>=te?(f(!0),c(Pe)):g!==void 0&&Ee!==void 0?(x(!0),b(Math.max(0,Ee))):o===void 0&&!u&&!C&&(j==null||j(re))},[i,g,s,j,te,o,u,C]),Ce=G!==void 0,ot=a.useCallback(re=>{var Pe;if(re.button===0){const[Ee,Me]=re.location;if(re.kind==="out-of-bounds"&&re.isEdge&&ie){const fe=(Pe=I==null?void 0:I.current)==null?void 0:Pe.getBounds(Se.length-1,-1);fe!==void 0&&(n(fe.x),r(Se.length-1))}else if(re.kind==="header"&&Ee>=te){const fe=pe==null?void 0:pe.current;if(re.isEdge&&ie&&fe){n(re.bounds.x),r(Ee);const He=fe.getBoundingClientRect().width/fe.offsetWidth,qe=re.bounds.width/He;$==null||$(Se[Ee],qe,Ee,qe+(Se[Ee].growOffset??0))}else re.kind==="header"&&Ce&&(m(re.bounds.x),l(Ee))}else re.kind==="cell"&&te>0&&Ee===0&&Me!==void 0&&ee!==void 0&&(Y(re.bounds.y),h(Me))}me==null||me(re)},[me,ie,te,ee,I,Se,Ce,$,pe]),et=a.useCallback((re,Pe)=>{u||C||N==null||N(re,Pe)},[u,C,N]),gt=a.useCallback((re,Pe)=>{u||C||z==null||z(re,Pe)},[u,C,z]),Je=a.useRef(-1),Te=a.useCallback(()=>{Je.current=-1,h(void 0),b(void 0),Y(void 0),x(!1),l(void 0),c(void 0),m(void 0),f(!1),r(void 0),n(void 0)},[]),Ve=a.useCallback((re,Pe)=>{if(re.button===0){if(o!==void 0){if((V==null?void 0:V.hasIndex(o))===!0)for(const Me of V){if(Me===o)continue;const fe=Se[Me],Oe=qo(fe,Je.current,M,R);S==null||S(fe,Oe,Me,Oe+(fe.growOffset??0))}const Ee=qo(Se[o],Je.current,M,R);if(W==null||W(Se[o],Ee,o,Ee+(Se[o].growOffset??0)),V.hasIndex(o))for(const Me of V){if(Me===o)continue;const fe=Se[Me],Oe=qo(fe,Je.current,M,R);W==null||W(fe,Oe,Me,Oe+(fe.growOffset??0))}}Te(),i!==void 0&&s!==void 0&&(G==null||G(i,s)),g!==void 0&&y!==void 0&&(ee==null||ee(g,y))}Ke==null||Ke(re,Pe)},[Ke,o,i,s,g,y,V,W,Se,M,R,S,G,ee,Te]),ke=a.useMemo(()=>{if(!(i===void 0||s===void 0)&&i!==s&&(ae==null?void 0:ae(i,s))!==!1)return{src:i,dest:s}},[i,s,ae]),dt=a.useCallback(re=>{const Pe=pe==null?void 0:pe.current;if(i!==void 0&&w!==void 0)Math.abs(re.clientX-w)>20&&f(!0);else if(g!==void 0&&F!==void 0)Math.abs(re.clientY-F)>20&&x(!0);else if(o!==void 0&&t!==void 0&&Pe){const Me=Pe.getBoundingClientRect().width/Pe.offsetWidth,fe=(re.clientX-t)/Me,Oe=Se[o],He=qo(Oe,fe,M,R);if(S==null||S(Oe,He,o,He+(Oe.growOffset??0)),Je.current=fe,(V==null?void 0:V.first())===o)for(const qe of V){if(qe===o)continue;const oe=Se[qe],Fe=qo(oe,Je.current,M,R);S==null||S(oe,Fe,qe,Fe+(oe.growOffset??0))}}},[i,w,g,F,o,t,Se,M,R,S,V,pe]),rt=a.useCallback((re,Pe)=>{if(g===void 0||y===void 0)return H(re,Pe);let[Ee,Me]=re;return Me===y?Me=g:(Me>y&&(Me-=1),Me>=g&&(Me+=1)),H([Ee,Me],Pe)},[g,y,H]),it=a.useCallback(re=>{U==null||U(re),re.defaultPrevented()||Te()},[Te,U]);return a.createElement(Ic,{accessibilityHeight:e.accessibilityHeight,canvasRef:e.canvasRef,cellXOffset:e.cellXOffset,cellYOffset:e.cellYOffset,columns:e.columns,disabledRows:e.disabledRows,drawFocusRing:e.drawFocusRing,drawHeader:e.drawHeader,drawCell:e.drawCell,enableGroups:e.enableGroups,eventTargetRef:e.eventTargetRef,experimental:e.experimental,fillHandle:e.fillHandle,firstColAccessible:e.firstColAccessible,fixedShadowX:e.fixedShadowX,fixedShadowY:e.fixedShadowY,freezeColumns:e.freezeColumns,getCellRenderer:e.getCellRenderer,getGroupDetails:e.getGroupDetails,getRowThemeOverride:e.getRowThemeOverride,groupHeaderHeight:e.groupHeaderHeight,headerHeight:e.headerHeight,headerIcons:e.headerIcons,height:e.height,highlightRegions:e.highlightRegions,imageWindowLoader:e.imageWindowLoader,resizeColumn:o,isDraggable:e.isDraggable,isFilling:e.isFilling,isFocused:e.isFocused,onCanvasBlur:e.onCanvasBlur,onCanvasFocused:e.onCanvasFocused,onCellFocused:e.onCellFocused,onContextMenu:e.onContextMenu,onDragEnd:e.onDragEnd,onDragLeave:e.onDragLeave,onDragOverCell:e.onDragOverCell,onDrop:e.onDrop,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,onMouseMove:e.onMouseMove,prelightCells:e.prelightCells,rowHeight:e.rowHeight,rows:e.rows,selection:e.selection,smoothScrollX:e.smoothScrollX,smoothScrollY:e.smoothScrollY,theme:e.theme,freezeTrailingRows:e.freezeTrailingRows,hasAppendRow:e.hasAppendRow,translateX:e.translateX,translateY:e.translateY,resizeIndicator:e.resizeIndicator,verticalBorder:e.verticalBorder,width:e.width,getCellContent:rt,isResizing:o!==void 0,onHeaderMenuClick:et,onHeaderIndicatorClick:gt,isDragging:u,onItemHovered:De,onDragStart:it,onMouseDown:ot,allowResize:ie,onMouseUp:Ve,dragAndDropState:ke,onMouseMoveRaw:dt,ref:I})},Fc=Dc;function Hc(e){const t=a.useRef(null),[n,o]=a.useState({width:e==null?void 0:e[0],height:e==null?void 0:e[1]});return a.useLayoutEffect(()=>{const r=l=>{for(const s of l){const{width:c,height:u}=s&&s.contentRect||{};o(f=>f.width===c&&f.height===u?f:{width:c,height:u})}},i=new window.ResizeObserver(r);return t.current&&i.observe(t.current,void 0),()=>{i.disconnect()}},[t.current]),{ref:t,...n}}const Tc=(e,t,n)=>{const o=a.useRef(null),r=a.useRef(null),i=a.useRef(null),l=a.useRef(0),s=a.useRef(t);s.current=t;const c=n.current;a.useEffect(()=>{const u=()=>{var m,g;if(r.current===!1&&c!==null){const h=[c.scrollLeft,c.scrollTop];if(((m=i.current)==null?void 0:m[0])===h[0]&&((g=i.current)==null?void 0:g[1])===h[1])if(l.current>10){i.current=null,r.current=null;return}else l.current++;else l.current=0,s.current(h[0],h[1]),i.current=h;o.current=window.setTimeout(u,8.333333333333334)}},f=()=>{r.current=!0,i.current=null,o.current!==null&&(window.clearTimeout(o.current),o.current=null)},w=m=>{m.touches.length===0&&(r.current=!1,l.current=0,o.current=window.setTimeout(u,8.333333333333334))};if(e&&c!==null){const m=c;return m.addEventListener("touchstart",f),m.addEventListener("touchend",w),()=>{m.removeEventListener("touchstart",f),m.removeEventListener("touchend",w),o.current!==null&&window.clearTimeout(o.current)}}},[e,c])},Ac=Tc,zc=()=>e=>e.isSafari?"scroll":"auto",Bc=en("div")({name:"ScrollRegionStyle",class:"gdg-s1dgczr6",propsAsIs:!1,vars:{"s1dgczr6-0":[zc()]}});function Lc(e){const[t,n]=a.useState(!1),o=typeof window>"u"?null:window,r=a.useRef(0);return Xt("touchstart",a.useCallback(()=>{window.clearTimeout(r.current),n(!0)},[]),o,!0,!1),Xt("touchend",a.useCallback(i=>{i.touches.length===0&&(r.current=window.setTimeout(()=>n(!1),e))},[e]),o,!0,!1),t}const Pc=e=>{var ie,Se;const{children:t,clientHeight:n,scrollHeight:o,scrollWidth:r,update:i,draggable:l,className:s,preventDiagonalScrolling:c=!1,paddingBottom:u=0,paddingRight:f=0,rightElement:w,rightElementProps:m,kineticScrollPerfHack:g=!1,scrollRef:h,initialSize:y}=e,b=[],C=(m==null?void 0:m.sticky)??!1,x=(m==null?void 0:m.fill)??!1,F=a.useRef(0),Y=a.useRef(0),N=a.useRef(null),z=typeof window>"u"?1:window.devicePixelRatio,H=a.useRef({scrollLeft:0,scrollTop:0,lockDirection:void 0}),G=a.useRef(null),S=Lc(200),[$,W]=a.useState(!0),I=a.useRef(0);a.useLayoutEffect(()=>{if(!$||S||H.current.lockDirection===void 0)return;const ve=N.current;if(ve===null)return;const[V,De]=H.current.lockDirection;V!==void 0?ve.scrollLeft=V:De!==void 0&&(ve.scrollTop=De),H.current.lockDirection=void 0},[S,$]);const R=a.useCallback((ve,V)=>{var it;const De=N.current;if(De===null)return;V=V??De.scrollTop,ve=ve??De.scrollLeft;const Ce=H.current.scrollTop,ot=H.current.scrollLeft,et=ve-ot,gt=V-Ce;S&&et!==0&>!==0&&(Math.abs(et)>3||Math.abs(gt)>3)&&c&&H.current.lockDirection===void 0&&(H.current.lockDirection=Math.abs(et)0&&(Math.abs(dt)>2e3||ke===0||ke===rt)&&o>De.scrollHeight+5){const re=ke/rt,Pe=(o-Ve)*re;F.current=Pe-ke}Je!==void 0&&(window.clearTimeout(I.current),W(!1),I.current=window.setTimeout(()=>W(!0),200)),i({x:ve,y:ke+F.current,width:Te-f,height:Ve-u,paddingRight:((it=G.current)==null?void 0:it.clientWidth)??0})},[u,f,o,i,c,S]);Ac(g&&zr.value,R,N);const M=a.useRef(R);M.current=R;const ee=a.useRef(),te=a.useRef(!1);a.useLayoutEffect(()=>{te.current?R():te.current=!0},[R,u,f]);const ae=a.useCallback(ve=>{N.current=ve,h!==void 0&&(h.current=ve)},[h]);let me=0,Ke=0;for(b.push(a.createElement("div",{key:me++,style:{width:r,height:0}}));KeM.current(),0),ee.current={width:U,height:pe}),(U??0)===0||(pe??0)===0?a.createElement("div",{ref:j}):a.createElement("div",{ref:j},a.createElement(Bc,{isSafari:zr.value},a.createElement("div",{className:"dvn-underlay"},t),a.createElement("div",{ref:ae,style:ee.current,draggable:l,onDragStart:ve=>{l||(ve.stopPropagation(),ve.preventDefault())},className:"dvn-scroller "+(s??""),onScroll:()=>R()},a.createElement("div",{className:"dvn-scroll-inner"+(w===void 0?" dvn-hidden":"")},a.createElement("div",{className:"dvn-stack"},b),w!==void 0&&a.createElement(a.Fragment,null,!x&&a.createElement("div",{className:"dvn-spacer"}),a.createElement("div",{ref:G,style:{height:pe,maxHeight:n-Math.ceil(z%1),position:"sticky",top:0,paddingLeft:1,marginBottom:-40,marginRight:f,flexGrow:x?1:void 0,right:C?f??0:void 0,pointerEvents:"auto"}},w))))))},Wc=e=>{const{columns:t,rows:n,rowHeight:o,headerHeight:r,groupHeaderHeight:i,enableGroups:l,freezeColumns:s,experimental:c,nonGrowWidth:u,clientSize:f,className:w,onVisibleRegionChanged:m,scrollRef:g,preventDiagonalScrolling:h,rightElement:y,rightElementProps:b,overscrollX:C,overscrollY:x,initialSize:F,smoothScrollX:Y=!1,smoothScrollY:N=!1,isDraggable:z}=e,{paddingRight:H,paddingBottom:G}=c??{},[S,$]=f,W=a.useRef(),I=a.useRef(),R=a.useRef(),M=a.useRef(),ee=u+Math.max(0,C??0);let te=l?r+i:r;if(typeof o=="number")te+=n*o;else for(let j=0;j{var gt,Je;if(ae.current===void 0)return;const j={...ae.current};let U=0,pe=j.x<0?-j.x:0,ie=0,Se=0;j.x=j.x<0?0:j.x;let ve=0;for(let Te=0;Te=Ve+Te.width)U+=Te.width,Se++,ie++;else if(j.x>Ve)U+=Te.width,Y?pe+=Ve-j.x:Se++,ie++;else if(j.x+j.width>Ve)U+=Te.width,ie++;else break}let V=0,De=0,Ce=0;if(typeof o=="number")N?(De=Math.floor(j.y/o),V=De*o-j.y):De=Math.ceil(j.y/o),Ce=Math.ceil(j.height/o)+De,V<0&&Ce++;else{let Te=0;for(let Ve=0;Ve=Te+ke)Te+=ke,De++,Ce++;else if(j.y>dt)Te+=ke,N?V+=dt-j.y:De++,Ce++;else if(j.y+j.height>ke/2+Te)Te+=ke,Ce++;else break}}const ot={x:Se,y:De,width:ie-Se,height:Ce-De},et=W.current;(et===void 0||et.y!==ot.y||et.x!==ot.x||et.height!==ot.height||et.width!==ot.width||I.current!==pe||R.current!==V||j.width!==((gt=M.current)==null?void 0:gt[0])||j.height!==((Je=M.current)==null?void 0:Je[1]))&&(m==null||m({x:Se,y:De,width:ie-Se,height:Ce-De},j.width,j.height,j.paddingRight??0,pe,V),W.current=ot,I.current=pe,R.current=V,M.current=[j.width,j.height])},[t,o,n,m,s,Y,N]),Ke=a.useCallback(j=>{ae.current=j,me()},[me]);return a.useEffect(()=>{me()},[me]),a.createElement(Pc,{scrollRef:g,className:w,kineticScrollPerfHack:c==null?void 0:c.kineticScrollPerfHack,preventDiagonalScrolling:h,draggable:z===!0||typeof z=="string",scrollWidth:ee+(H??0),scrollHeight:te+(G??0),clientHeight:$,rightElement:y,paddingBottom:G,paddingRight:H,rightElementProps:b,update:Ke,initialSize:F},a.createElement(Fc,{eventTargetRef:g,width:S,height:$,accessibilityHeight:e.accessibilityHeight,canvasRef:e.canvasRef,cellXOffset:e.cellXOffset,cellYOffset:e.cellYOffset,columns:e.columns,disabledRows:e.disabledRows,enableGroups:e.enableGroups,fillHandle:e.fillHandle,firstColAccessible:e.firstColAccessible,fixedShadowX:e.fixedShadowX,fixedShadowY:e.fixedShadowY,freezeColumns:e.freezeColumns,getCellContent:e.getCellContent,getCellRenderer:e.getCellRenderer,getGroupDetails:e.getGroupDetails,getRowThemeOverride:e.getRowThemeOverride,groupHeaderHeight:e.groupHeaderHeight,headerHeight:e.headerHeight,highlightRegions:e.highlightRegions,imageWindowLoader:e.imageWindowLoader,isFilling:e.isFilling,isFocused:e.isFocused,lockColumns:e.lockColumns,maxColumnWidth:e.maxColumnWidth,minColumnWidth:e.minColumnWidth,onHeaderMenuClick:e.onHeaderMenuClick,onHeaderIndicatorClick:e.onHeaderIndicatorClick,onMouseMove:e.onMouseMove,prelightCells:e.prelightCells,rowHeight:e.rowHeight,rows:e.rows,selection:e.selection,theme:e.theme,freezeTrailingRows:e.freezeTrailingRows,hasAppendRow:e.hasAppendRow,translateX:e.translateX,translateY:e.translateY,onColumnProposeMove:e.onColumnProposeMove,verticalBorder:e.verticalBorder,drawFocusRing:e.drawFocusRing,drawHeader:e.drawHeader,drawCell:e.drawCell,experimental:e.experimental,gridRef:e.gridRef,headerIcons:e.headerIcons,isDraggable:e.isDraggable,onCanvasBlur:e.onCanvasBlur,onCanvasFocused:e.onCanvasFocused,onCellFocused:e.onCellFocused,onColumnMoved:e.onColumnMoved,onColumnResize:e.onColumnResize,onColumnResizeEnd:e.onColumnResizeEnd,onColumnResizeStart:e.onColumnResizeStart,onContextMenu:e.onContextMenu,onDragEnd:e.onDragEnd,onDragLeave:e.onDragLeave,onDragOverCell:e.onDragOverCell,onDragStart:e.onDragStart,onDrop:e.onDrop,onItemHovered:e.onItemHovered,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onRowMoved:e.onRowMoved,smoothScrollX:e.smoothScrollX,smoothScrollY:e.smoothScrollY,resizeIndicator:e.resizeIndicator}))},$c=Wc,Oc=en("div")({name:"SearchWrapper",class:"gdg-seveqep",propsAsIs:!1}),Nc=a.createElement("svg",{className:"button-icon",viewBox:"0 0 512 512"},a.createElement("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M112 244l144-144 144 144M256 120v292"})),Xc=a.createElement("svg",{className:"button-icon",viewBox:"0 0 512 512"},a.createElement("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M112 268l144 144 144-144M256 392V100"})),Yc=a.createElement("svg",{className:"button-icon",viewBox:"0 0 512 512"},a.createElement("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",d:"M368 368L144 144M368 144L144 368"})),Gc=10,Kc=e=>{const{canvasRef:t,cellYOffset:n,rows:o,columns:r,searchInputRef:i,searchValue:l,searchResults:s,onSearchValueChange:c,getCellsForSelection:u,onSearchResultsChanged:f,showSearch:w=!1,onSearchClose:m}=e,[g]=a.useState(()=>"search-box-"+Math.round(Math.random()*1e3)),[h,y]=a.useState(""),b=l??h,C=a.useCallback(U=>{y(U),c==null||c(U)},[c]),[x,F]=a.useState(),Y=a.useRef(x);Y.current=x,a.useEffect(()=>{s!==void 0&&(s.length>0?F(U=>({rowsSearched:o,results:s.length,selectedIndex:(U==null?void 0:U.selectedIndex)??-1})):F(void 0))},[o,s]);const N=a.useRef();N.current===void 0&&(N.current=new AbortController);const z=a.useRef(),[H,G]=a.useState([]),S=s??H,$=a.useCallback(()=>{z.current!==void 0&&(window.cancelAnimationFrame(z.current),z.current=void 0,N.current.abort())},[]),W=a.useRef(n);W.current=n;const I=a.useCallback(U=>{const pe=new RegExp(U.replace(/([$()*+.?[\\\]^{|}-])/g,"\\$1"),"i");let ie=W.current,Se=Math.min(10,o),ve=0;F(void 0),G([]);const V=[],De=async()=>{var rt;if(u===void 0)return;const Ce=performance.now(),ot=o-ve;let et=u({x:0,y:ie,width:r.length,height:Math.min(Se,ot,o-ie)},N.current.signal);typeof et=="function"&&(et=await et());let gt=!1;for(const[it,re]of et.entries())for(const[Pe,Ee]of re.entries()){let Me;switch(Ee.kind){case Z.Text:case Z.Number:Me=Ee.displayData;break;case Z.Uri:case Z.Markdown:Me=Ee.data;break;case Z.Boolean:Me=typeof Ee.data=="boolean"?Ee.data.toString():void 0;break;case Z.Image:case Z.Bubble:Me=Ee.data.join("🐳");break;case Z.Custom:Me=Ee.copyData;break}Me!==void 0&&pe.test(Me)&&(V.push([Pe,it+ie]),gt=!0)}const Je=performance.now();gt&&G([...V]),ve+=et.length,Jt(ve<=o);const Te=((rt=Y.current)==null?void 0:rt.selectedIndex)??-1;F({results:V.length,rowsSearched:ve,selectedIndex:Te}),f==null||f(V,Te),ie+Se>=o?ie=0:ie+=Se;const Ve=Je-Ce,ke=Math.max(Ve,1),dt=Gc/ke;Se=Math.ceil(Se*dt),ve{var U;m==null||m(),F(void 0),G([]),f==null||f([],-1),$(),(U=t==null?void 0:t.current)==null||U.focus()},[$,t,m,f]),M=a.useCallback(U=>{C(U.target.value),s===void 0&&(U.target.value===""?(F(void 0),G([]),$()):I(U.target.value))},[I,$,C,s]);a.useEffect(()=>{w&&i.current!==null&&(C(""),i.current.focus({preventScroll:!0}))},[w,i,C]);const ee=a.useCallback(U=>{var ie;if((ie=U==null?void 0:U.stopPropagation)==null||ie.call(U),x===void 0)return;const pe=(x.selectedIndex+1)%x.results;F({...x,selectedIndex:pe}),f==null||f(S,pe)},[x,f,S]),te=a.useCallback(U=>{var ie;if((ie=U==null?void 0:U.stopPropagation)==null||ie.call(U),x===void 0)return;let pe=(x.selectedIndex-1)%x.results;pe<0&&(pe+=x.results),F({...x,selectedIndex:pe}),f==null||f(S,pe)},[f,S,x]),ae=a.useCallback(U=>{(U.ctrlKey||U.metaKey)&&U.nativeEvent.code==="KeyF"||U.key==="Escape"?(R(),U.stopPropagation(),U.preventDefault()):U.key==="Enter"&&(U.shiftKey?te():ee())},[R,ee,te]);a.useEffect(()=>()=>{$()},[$]);const[me,Ke]=a.useState(!1);a.useEffect(()=>{if(w)Ke(!0);else{const U=setTimeout(()=>Ke(!1),150);return()=>clearTimeout(U)}},[w]);const j=a.useMemo(()=>{if(!w&&!me)return null;let U;x!==void 0&&(U=x.results>=1e3?"over 1000":`${x.results} result${x.results!==1?"s":""}`,x.selectedIndex>=0&&(U=`${x.selectedIndex+1} of ${U}`));const pe=ve=>{ve.stopPropagation()},Se={width:`${Math.floor(((x==null?void 0:x.rowsSearched)??0)/o*100)}%`};return a.createElement(Oc,{className:w?"":"out",onMouseDown:pe,onMouseMove:pe,onMouseUp:pe,onClick:pe},a.createElement("div",{className:"gdg-search-bar-inner"},a.createElement("input",{id:g,"aria-hidden":!w,"data-testid":"search-input",ref:i,onChange:M,value:b,tabIndex:w?void 0:-1,onKeyDownCapture:ae}),a.createElement("button",{"aria-label":"Previous Result","aria-hidden":!w,tabIndex:w?void 0:-1,onClick:te,disabled:((x==null?void 0:x.results)??0)===0},Nc),a.createElement("button",{"aria-label":"Next Result","aria-hidden":!w,tabIndex:w?void 0:-1,onClick:ee,disabled:((x==null?void 0:x.results)??0)===0},Xc),m!==void 0&&a.createElement("button",{"aria-label":"Close Search","aria-hidden":!w,"data-testid":"search-close-button",tabIndex:w?void 0:-1,onClick:R},Yc)),x!==void 0?a.createElement(a.Fragment,null,a.createElement("div",{className:"gdg-search-status"},a.createElement("div",{"data-testid":"search-result-area"},U)),a.createElement("div",{className:"gdg-search-progress",style:Se})):a.createElement("div",{className:"gdg-search-status"},a.createElement("label",{htmlFor:g},"Type to search")))},[w,me,x,o,g,i,M,b,ae,te,ee,m,R]);return a.createElement(a.Fragment,null,a.createElement($c,{prelightCells:S,accessibilityHeight:e.accessibilityHeight,canvasRef:e.canvasRef,cellXOffset:e.cellXOffset,cellYOffset:e.cellYOffset,className:e.className,clientSize:e.clientSize,columns:e.columns,disabledRows:e.disabledRows,enableGroups:e.enableGroups,fillHandle:e.fillHandle,firstColAccessible:e.firstColAccessible,nonGrowWidth:e.nonGrowWidth,fixedShadowX:e.fixedShadowX,fixedShadowY:e.fixedShadowY,freezeColumns:e.freezeColumns,getCellContent:e.getCellContent,getCellRenderer:e.getCellRenderer,getGroupDetails:e.getGroupDetails,getRowThemeOverride:e.getRowThemeOverride,groupHeaderHeight:e.groupHeaderHeight,headerHeight:e.headerHeight,highlightRegions:e.highlightRegions,imageWindowLoader:e.imageWindowLoader,initialSize:e.initialSize,isFilling:e.isFilling,isFocused:e.isFocused,lockColumns:e.lockColumns,maxColumnWidth:e.maxColumnWidth,minColumnWidth:e.minColumnWidth,onHeaderMenuClick:e.onHeaderMenuClick,onHeaderIndicatorClick:e.onHeaderIndicatorClick,onMouseMove:e.onMouseMove,onVisibleRegionChanged:e.onVisibleRegionChanged,overscrollX:e.overscrollX,overscrollY:e.overscrollY,preventDiagonalScrolling:e.preventDiagonalScrolling,rightElement:e.rightElement,rightElementProps:e.rightElementProps,rowHeight:e.rowHeight,rows:e.rows,scrollRef:e.scrollRef,selection:e.selection,theme:e.theme,freezeTrailingRows:e.freezeTrailingRows,hasAppendRow:e.hasAppendRow,translateX:e.translateX,translateY:e.translateY,verticalBorder:e.verticalBorder,onColumnProposeMove:e.onColumnProposeMove,drawFocusRing:e.drawFocusRing,drawCell:e.drawCell,drawHeader:e.drawHeader,experimental:e.experimental,gridRef:e.gridRef,headerIcons:e.headerIcons,isDraggable:e.isDraggable,onCanvasBlur:e.onCanvasBlur,onCanvasFocused:e.onCanvasFocused,onCellFocused:e.onCellFocused,onColumnMoved:e.onColumnMoved,onColumnResize:e.onColumnResize,onColumnResizeEnd:e.onColumnResizeEnd,onColumnResizeStart:e.onColumnResizeStart,onContextMenu:e.onContextMenu,onDragEnd:e.onDragEnd,onDragLeave:e.onDragLeave,onDragOverCell:e.onDragOverCell,onDragStart:e.onDragStart,onDrop:e.onDrop,onItemHovered:e.onItemHovered,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onRowMoved:e.onRowMoved,smoothScrollX:e.smoothScrollX,smoothScrollY:e.smoothScrollY,resizeIndicator:e.resizeIndicator}),j)},Uc=Kc;class _c extends a.PureComponent{constructor(){super(...arguments);$e(this,"wrapperRef",a.createRef());$e(this,"clickOutside",n=>{if(!(this.props.isOutsideClick&&!this.props.isOutsideClick(n))&&this.wrapperRef.current!==null&&!this.wrapperRef.current.contains(n.target)){let o=n.target;for(;o!==null;){if(o.classList.contains("click-outside-ignore"))return;o=o.parentElement}this.props.onClickOutside()}})}componentDidMount(){document.addEventListener("touchend",this.clickOutside,!0),document.addEventListener("mousedown",this.clickOutside,!0),document.addEventListener("contextmenu",this.clickOutside,!0)}componentWillUnmount(){document.removeEventListener("touchend",this.clickOutside,!0),document.removeEventListener("mousedown",this.clickOutside,!0),document.removeEventListener("contextmenu",this.clickOutside,!0)}render(){const{onClickOutside:n,isOutsideClick:o,...r}=this.props;return a.createElement("div",{...r,ref:this.wrapperRef},this.props.children)}}const Vc=()=>e=>Math.max(16,e.targetHeight-10),qc=en("input")({name:"RenameInput",class:"gdg-r17m35ur",propsAsIs:!1,vars:{"r17m35ur-0":[Vc(),"px"]}}),jc=e=>{const{bounds:t,group:n,onClose:o,canvasBounds:r,onFinish:i}=e,[l,s]=yt.useState(n);return yt.createElement(_c,{style:{position:"absolute",left:t.x-r.left+1,top:t.y-r.top,width:t.width-2,height:t.height},className:"gdg-c1tqibwd",onClickOutside:o},yt.createElement(qc,{targetHeight:t.height,"data-testid":"group-rename-input",value:l,onBlur:o,onFocus:c=>c.target.setSelectionRange(0,l.length),onChange:c=>s(c.target.value),onKeyDown:c=>{c.key==="Enter"?i(l):c.key==="Escape"&&o()},autoFocus:!0}))};function Zc(e,t){return e===void 0?!1:e.length>1&&e.startsWith("_")?Number.parseInt(e.slice(1))===t.keyCode:e.length===1&&e>="a"&&e<="z"?e.toUpperCase().codePointAt(0)===t.keyCode:e===t.key}function ze(e,t,n){const o=es(e,t);return o&&(n.didMatch=!0),o}function es(e,t){if(e.length===0)return!1;if(e.includes("|")){const c=e.split("|");for(const u of c)if(es(u,t))return!0;return!1}let n=!1,o=!1,r=!1,i=!1;const l=e.split("+"),s=l.pop();if(!Zc(s,t))return!1;if(l[0]==="any")return!0;for(const c of l)switch(c){case"ctrl":n=!0;break;case"shift":o=!0;break;case"alt":r=!0;break;case"meta":i=!0;break;case"primary":Br.value?i=!0:n=!0;break}return t.altKey===r&&t.ctrlKey===n&&t.shiftKey===o&&t.metaKey===i}function Jc(e,t,n,o,r,i){const l=yt.useCallback((u,f,w,m)=>{var x;(i==="cell"||i==="multi-cell")&&u!==void 0&&(u={...u,range:{x:u.cell[0],y:u.cell[1],width:1,height:1}});const g=n==="mixed"&&(w||m==="drag"),h=o==="mixed"&&g,y=r==="mixed"&&g;let b={current:u===void 0?void 0:{...u,rangeStack:m==="drag"?((x=e.current)==null?void 0:x.rangeStack)??[]:[]},columns:h?e.columns:lt.empty(),rows:y?e.rows:lt.empty()};w&&(i==="multi-rect"||i==="multi-cell")&&b.current!==void 0&&e.current!==void 0&&(b={...b,current:{...b.current,rangeStack:[...e.current.rangeStack,e.current.range]}}),t(b,f)},[o,e,n,i,r,t]),s=yt.useCallback((u,f,w)=>{u=u??e.rows,f!==void 0&&(u=u.add(f));let m;if(r==="exclusive"&&u.length>0)m={current:void 0,columns:lt.empty(),rows:u};else{const g=w&&n==="mixed",h=w&&o==="mixed";m={current:g?e.current:void 0,columns:h?e.columns:lt.empty(),rows:u}}t(m,!1)},[o,e,n,r,t]),c=yt.useCallback((u,f,w)=>{u=u??e.columns,f!==void 0&&(u=u.add(f));let m;if(o==="exclusive"&&u.length>0)m={current:void 0,rows:lt.empty(),columns:u};else{const g=w&&n==="mixed",h=w&&r==="mixed";m={current:g?e.current:void 0,rows:h?e.rows:lt.empty(),columns:u}}t(m,!1)},[o,e,n,r,t]);return[l,s,c]}function Qc(e,t,n,o,r){const i=a.useCallback(u=>{if(e===!0){const f=[];for(let w=u.y;w=r?m.push({kind:Z.Loading,allowOverlay:!1}):m.push(t([g,w]));f.push(m)}return f}return(e==null?void 0:e(u,o.signal))??[]},[o.signal,t,e,r]),l=e!==void 0?i:void 0,s=a.useCallback(u=>{if(l===void 0)return[];const f={...u,x:u.x-n};if(f.x<0){f.x=0,f.width--;const w=l(f,o.signal);return typeof w=="function"?async()=>(await w()).map(m=>[{kind:Z.Loading,allowOverlay:!1},...m]):w.map(m=>[{kind:Z.Loading,allowOverlay:!1},...m])}return l(f,o.signal)},[o.signal,l,n]);return[e!==void 0?s:void 0,l]}function ed(e){if(e.copyData!==void 0)return{formatted:e.copyData,rawValue:e.copyData,format:"string"};switch(e.kind){case Z.Boolean:return{formatted:e.data===!0?"TRUE":e.data===!1?"FALSE":e.data===vi?"INDETERMINATE":"",rawValue:e.data,format:"boolean"};case Z.Custom:return{formatted:e.copyData,rawValue:e.copyData,format:"string"};case Z.Image:case Z.Bubble:return{formatted:e.data,rawValue:e.data,format:"string-array"};case Z.Drilldown:return{formatted:e.data.map(t=>t.text),rawValue:e.data.map(t=>t.text),format:"string-array"};case Z.Text:return{formatted:e.displayData??e.data,rawValue:e.data,format:"string"};case Z.Uri:return{formatted:e.displayData??e.data,rawValue:e.data,format:"url"};case Z.Markdown:case Z.RowID:return{formatted:e.data,rawValue:e.data,format:"string"};case Z.Number:return{formatted:e.displayData,rawValue:e.data,format:"number"};case Z.Loading:return{formatted:"#LOADING",rawValue:"",format:"string"};case Z.Protected:return{formatted:"************",rawValue:"",format:"string"};default:er()}}function td(e,t){return e.map((o,r)=>{const i=t[r];return o.map(l=>l.span!==void 0&&l.span[0]!==i?{formatted:"",rawValue:"",format:"string"}:ed(l))})}function fl(e,t){return(t?/[\t\n",]/:/[\t\n"]/).test(e)&&(e=`"${e.replace(/"/g,'""')}"`),e}function nd(e){var n;const t=[];for(const o of e){const r=[];for(const i of o)i.format==="url"?r.push(((n=i.rawValue)==null?void 0:n.toString())??""):i.format==="string-array"?r.push(i.formatted.map(l=>fl(l,!0)).join(",")):r.push(fl(i.formatted,!1));t.push(r.join(" "))}return t.join(` -`)}function di(e){return e.replace(/\t/g," ").replace(/ {2,}/g,t=>" ".repeat(t.length))}function hl(e){return'"'+e.replace(/&/g,"&").replace(/"/g,""").replace(//g,">")+'"'}function od(e){return e.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}function rd(e){var n;const t=[];t.push('',"");for(const o of e){t.push("");for(const r of o){const i=`gdg-format="${r.format}"`;r.format==="url"?t.push(``):r.format==="string-array"?t.push(``):t.push(``)}t.push("")}return t.push("
${di(r.formatted)}
    ${r.formatted.map((l,s)=>`
  1. `+di(l)+"
  2. ").join("")}
${di(r.formatted)}
"),t.join("")}function id(e,t){const n=td(e,t),o=nd(n),r=rd(n);return{textPlain:o,textHtml:r}}function gl(e){var l;const t=document.createElement("html");t.innerHTML=e.replace(/ /g," ");const n=t.querySelector("table");if(n===null)return;const o=[n],r=[];let i;for(;o.length>0;){const s=o.pop();if(s===void 0)break;if(s instanceof HTMLTableElement||s.nodeName==="TBODY")o.push(...[...s.children].reverse());else if(s instanceof HTMLTableRowElement)i!==void 0&&r.push(i),i=[],o.push(...[...s.children].reverse());else if(s instanceof HTMLTableCellElement){const c=s.cloneNode(!0),f=c.children.length===1&&c.children[0].nodeName==="P"?c.children[0]:null,w=(f==null?void 0:f.children.length)===1&&f.children[0].nodeName==="FONT",m=c.querySelectorAll("br");for(const y of m)y.replaceWith(` -`);const g=c.getAttribute("gdg-raw-value"),h=c.getAttribute("gdg-format")??"string";if(c.querySelector("a")!==null)i==null||i.push({rawValue:((l=c.querySelector("a"))==null?void 0:l.getAttribute("href"))??"",formatted:c.textContent??"",format:h});else if(c.querySelector("ol")!==null){const y=c.querySelectorAll("li");i==null||i.push({rawValue:[...y].map(b=>b.getAttribute("gdg-raw-value")??""),formatted:[...y].map(b=>b.textContent??""),format:"string-array"})}else if(g!==null)i==null||i.push({rawValue:od(g),formatted:c.textContent??"",format:h});else{let y=c.textContent??"";w&&(y=y.replace(/\n(?!\n)/g,"")),i==null||i.push({rawValue:y??"",formatted:y??"",format:h})}}}return i!==void 0&&r.push(i),r}function ld(e,t,n,o,r){var s;const i=e;if(o==="allowPartial"||e.current===void 0||t===void 0)return e;let l=!1;do{if((e==null?void 0:e.current)===void 0)break;const c=(s=e.current)==null?void 0:s.range,u=[];if(c.width>2){const m=t({x:c.x,y:c.y,width:1,height:c.height},r.signal);if(typeof m=="function")return i;u.push(...m);const g=t({x:c.x+c.width-1,y:c.y,width:1,height:c.height},r.signal);if(typeof g=="function")return i;u.push(...g)}else{const m=t({x:c.x,y:c.y,width:c.width,height:c.height},r.signal);if(typeof m=="function")return i;u.push(...m)}let f=c.x-n,w=c.x+c.width-1-n;for(const m of u)for(const g of m)g.span!==void 0&&(f=Math.min(g.span[0],f),w=Math.max(g.span[1],w));f===c.x-n&&w===c.x+c.width-1-n?l=!0:e={current:{cell:e.current.cell??[0,0],range:{x:f+n,y:c.y,width:w-f+1,height:c.height},rangeStack:e.current.rangeStack},columns:e.columns,rows:e.rows}}while(!l);return e}function ml(e){return e.startsWith('"')&&e.endsWith('"')&&(e=e.slice(1,-1).replace(/""/g,'"')),e}function sd(e){let t;(function(s){s[s.None=0]="None",s[s.inString=1]="inString",s[s.inStringPostQuote=2]="inStringPostQuote"})(t||(t={}));const n=[];let o=[],r=0,i=t.None;e=e.replace(/\r\n/g,` -`);let l=0;for(const s of e){switch(i){case t.None:s===" "||s===` -`?(o.push(e.slice(r,l)),r=l+1,s===` -`&&(n.push(o),o=[])):s==='"'&&(i=t.inString);break;case t.inString:s==='"'&&(i=t.inStringPostQuote);break;case t.inStringPostQuote:s==='"'?i=t.inString:((s===" "||s===` -`)&&(o.push(ml(e.slice(r,l))),r=l+1,s===` -`&&(n.push(o),o=[])),i=t.None);break}l++}return rs.map(c=>({rawValue:c,formatted:c,format:"string"})))}function wl(e,t,n){var s;const o=id(e,t),r=c=>{var u;(u=window.navigator.clipboard)==null||u.writeText(c)},i=(c,u)=>{var f;return((f=window.navigator.clipboard)==null?void 0:f.write)===void 0?!1:(window.navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([c],{type:"text/plain"}),"text/html":new Blob([u],{type:"text/html"})})]),!0)},l=(c,u)=>{var f,w;try{if(n===void 0||n.clipboardData===null)throw new Error("No clipboard data");(f=n==null?void 0:n.clipboardData)==null||f.setData("text/plain",c),(w=n==null?void 0:n.clipboardData)==null||w.setData("text/html",u)}catch{i(c,u)||r(c)}};((s=window.navigator.clipboard)==null?void 0:s.write)!==void 0||(n==null?void 0:n.clipboardData)!==void 0?l(o.textPlain,o.textHtml):r(o.textPlain),n==null||n.preventDefault()}function ts(e){return e!==!0}function yl(e){return typeof e=="string"?e:`${e}px`}const ad=()=>e=>e.innerWidth,cd=()=>e=>e.innerHeight,dd=en("div")({name:"Wrapper",class:"gdg-wmyidgi",propsAsIs:!1,vars:{"wmyidgi-0":[ad()],"wmyidgi-1":[cd()]}}),ud=e=>{const{inWidth:t,inHeight:n,children:o,...r}=e;return a.createElement(dd,{innerHeight:yl(n),innerWidth:yl(t),...r},o)},fd=2,hd=1300;function gd(e,t,n){const o=yt.useRef(0),[r,i]=e??[0,0];yt.useEffect(()=>{if(r===0&&i===0){o.current=0;return}let l=!1,s=0;const c=u=>{var f;if(!l){if(s===0)s=u;else{const w=u-s;o.current=Math.min(1,o.current+w/hd);const m=o.current**1.618*w*fd;(f=t.current)==null||f.scrollBy(r*m,i*m),s=u,n==null||n()}window.requestAnimationFrame(c)}};return window.requestAnimationFrame(c),()=>{l=!0}},[t,r,i,n])}function md({rowHeight:e,headerHeight:t,groupHeaderHeight:n,theme:o,overscrollX:r,overscrollY:i,scaleToRem:l,remSize:s}){const[c,u,f,w,m,g]=yt.useMemo(()=>{if(!l||s===16)return[e,t,n,o,r,i];const h=s/16,y=e,b=Ol();return[typeof y=="number"?y*h:C=>Math.ceil(y(C)*h),Math.ceil(t*h),Math.ceil(n*h),{...o,headerIconSize:((o==null?void 0:o.headerIconSize)??b.headerIconSize)*h,cellHorizontalPadding:((o==null?void 0:o.cellHorizontalPadding)??b.cellHorizontalPadding)*h,cellVerticalPadding:((o==null?void 0:o.cellVerticalPadding)??b.cellVerticalPadding)*h},Math.ceil((r??0)*h),Math.ceil((i??0)*h)]},[n,t,r,i,s,e,l,o]);return{rowHeight:c,headerHeight:u,groupHeaderHeight:f,theme:w,overscrollX:m,overscrollY:g}}const Kn={downFill:!1,rightFill:!1,clear:!0,closeOverlay:!0,acceptOverlayDown:!0,acceptOverlayUp:!0,acceptOverlayLeft:!0,acceptOverlayRight:!0,copy:!0,paste:!0,cut:!0,search:!1,delete:!0,activateCell:!0,scrollToSelectedCell:!0,goToFirstCell:!0,goToFirstColumn:!0,goToFirstRow:!0,goToLastCell:!0,goToLastColumn:!0,goToLastRow:!0,goToNextPage:!0,goToPreviousPage:!0,selectToFirstCell:!0,selectToFirstColumn:!0,selectToFirstRow:!0,selectToLastCell:!0,selectToLastColumn:!0,selectToLastRow:!0,selectAll:!0,selectRow:!0,selectColumn:!0,goUpCell:!0,goRightCell:!0,goDownCell:!0,goLeftCell:!0,goUpCellRetainSelection:!0,goRightCellRetainSelection:!0,goDownCellRetainSelection:!0,goLeftCellRetainSelection:!0,selectGrowUp:!0,selectGrowRight:!0,selectGrowDown:!0,selectGrowLeft:!0};function Be(e,t){return e===!0?t:e===!1?"":e}function bl(e){const t=Br.value;return{activateCell:Be(e.activateCell," |Enter|shift+Enter"),clear:Be(e.clear,"any+Escape"),closeOverlay:Be(e.closeOverlay,"any+Escape"),acceptOverlayDown:Be(e.acceptOverlayDown,"Enter"),acceptOverlayUp:Be(e.acceptOverlayUp,"shift+Enter"),acceptOverlayLeft:Be(e.acceptOverlayLeft,"shift+Tab"),acceptOverlayRight:Be(e.acceptOverlayRight,"Tab"),copy:e.copy,cut:e.cut,delete:Be(e.delete,t?"Backspace|Delete":"Delete"),downFill:Be(e.downFill,"primary+_68"),scrollToSelectedCell:Be(e.scrollToSelectedCell,"primary+Enter"),goDownCell:Be(e.goDownCell,"ArrowDown"),goDownCellRetainSelection:Be(e.goDownCellRetainSelection,"alt+ArrowDown"),goLeftCell:Be(e.goLeftCell,"ArrowLeft|shift+Tab"),goLeftCellRetainSelection:Be(e.goLeftCellRetainSelection,"alt+ArrowLeft"),goRightCell:Be(e.goRightCell,"ArrowRight|Tab"),goRightCellRetainSelection:Be(e.goRightCellRetainSelection,"alt+ArrowRight"),goUpCell:Be(e.goUpCell,"ArrowUp"),goUpCellRetainSelection:Be(e.goUpCellRetainSelection,"alt+ArrowUp"),goToFirstCell:Be(e.goToFirstCell,"primary+Home"),goToFirstColumn:Be(e.goToFirstColumn,"Home|primary+ArrowLeft"),goToFirstRow:Be(e.goToFirstRow,"primary+ArrowUp"),goToLastCell:Be(e.goToLastCell,"primary+End"),goToLastColumn:Be(e.goToLastColumn,"End|primary+ArrowRight"),goToLastRow:Be(e.goToLastRow,"primary+ArrowDown"),goToNextPage:Be(e.goToNextPage,"PageDown"),goToPreviousPage:Be(e.goToPreviousPage,"PageUp"),paste:e.paste,rightFill:Be(e.rightFill,"primary+_82"),search:Be(e.search,"primary+f"),selectAll:Be(e.selectAll,"primary+a"),selectColumn:Be(e.selectColumn,"ctrl+ "),selectGrowDown:Be(e.selectGrowDown,"shift+ArrowDown"),selectGrowLeft:Be(e.selectGrowLeft,"shift+ArrowLeft"),selectGrowRight:Be(e.selectGrowRight,"shift+ArrowRight"),selectGrowUp:Be(e.selectGrowUp,"shift+ArrowUp"),selectRow:Be(e.selectRow,"shift+ "),selectToFirstCell:Be(e.selectToFirstCell,"primary+shift+Home"),selectToFirstColumn:Be(e.selectToFirstColumn,"primary+shift+ArrowLeft"),selectToFirstRow:Be(e.selectToFirstRow,"primary+shift+ArrowUp"),selectToLastCell:Be(e.selectToLastCell,"primary+shift+End"),selectToLastColumn:Be(e.selectToLastColumn,"primary+shift+ArrowRight"),selectToLastRow:Be(e.selectToLastRow,"primary+shift+ArrowDown")}}function wd(e){const t=ea(e);return yt.useMemo(()=>{if(t===void 0)return bl(Kn);const n={...t,goToNextPage:(t==null?void 0:t.goToNextPage)??(t==null?void 0:t.pageDown)??Kn.goToNextPage,goToPreviousPage:(t==null?void 0:t.goToPreviousPage)??(t==null?void 0:t.pageUp)??Kn.goToPreviousPage,goToFirstCell:(t==null?void 0:t.goToFirstCell)??(t==null?void 0:t.first)??Kn.goToFirstCell,goToLastCell:(t==null?void 0:t.goToLastCell)??(t==null?void 0:t.last)??Kn.goToLastCell,selectToFirstCell:(t==null?void 0:t.selectToFirstCell)??(t==null?void 0:t.first)??Kn.selectToFirstCell,selectToLastCell:(t==null?void 0:t.selectToLastCell)??(t==null?void 0:t.last)??Kn.selectToLastCell};return bl({...Kn,...n})},[t])}function yd(e){function t(o,r,i){if(typeof o=="number")return{headerIndex:o,isCollapsed:!1,depth:r,path:i};const l={headerIndex:o.headerIndex,isCollapsed:o.isCollapsed,depth:r,path:i};return o.subGroups!==void 0&&(l.subGroups=o.subGroups.map((s,c)=>t(s,r+1,[...i,c])).sort((s,c)=>s.headerIndex-c.headerIndex)),l}return e.map((o,r)=>t(o,0,[r])).sort((o,r)=>o.headerIndex-r.headerIndex)}function Ii(e,t){const n=[];function o(l,s,c=!1){let u=s!==null?s-l.headerIndex:t-l.headerIndex;if(l.subGroups!==void 0&&(u=l.subGroups[0].headerIndex-l.headerIndex),u--,n.push({headerIndex:l.headerIndex,contentIndex:-1,skip:c,isCollapsed:l.isCollapsed,depth:l.depth,path:l.path,rows:u}),l.subGroups)for(let f=0;fl.skip===!1).map(l=>{const{skip:s,...c}=l;return c})}function Pr(e,t){if(t===void 0||Ii.length===0)return{path:[e],originalIndex:e,isGroupHeader:!1,groupIndex:e,contentIndex:e,groupRows:-1};let n=e;for(const o of t){if(n===0)return{path:[...o.path,-1],originalIndex:o.headerIndex,isGroupHeader:!0,groupIndex:-1,contentIndex:-1,groupRows:o.rows};if(n--,!o.isCollapsed){if(ne===void 0?void 0:Ii(e,t),[e,t]),i=yt.useMemo(()=>r===void 0?t:r.reduce((u,f)=>u+(f.isCollapsed?1:f.rows+1),0),[r,t]),l=yt.useMemo(()=>e===void 0||typeof n=="number"&&e.height===n?n:u=>{const{isGroupHeader:f}=Pr(u,r);return f?e.height:typeof n=="number"?n:n(u)},[r,e,n]),s=yt.useCallback(u=>{if(r===void 0)return u;let f=u;for(const w of r){if(f===0)return;if(f--,!w.isCollapsed){if(f{if(e===void 0)return o==null?void 0:o(u,u,u);if(o===void 0&&(e==null?void 0:e.themeOverride)===void 0)return;const{isGroupHeader:f,contentIndex:w,groupIndex:m}=Pr(u,r);return f?e.themeOverride:o==null?void 0:o(u,m,w)},[r,o,e]));return e===void 0?{rowHeight:l,rows:t,rowNumberMapper:s,getRowThemeOverride:c}:{rowHeight:l,rows:i,rowNumberMapper:s,getRowThemeOverride:c}}function pd(e,t){const n=yt.useMemo(()=>e===void 0?void 0:Ii(e,t),[e,t]);return{getRowGroupingForPath:os,updateRowGroupingByPath:ns,mapper:yt.useCallback(o=>{if(typeof o=="number")return Pr(o,n);const r=Pr(o[1],n);return{...r,originalIndex:[o[0],r.originalIndex]}},[n])}}function ns(e,t,n){const[o,...r]=t;return r[0]===-1?e.map((i,l)=>l===o?{...i,...n}:i):e.map((i,l)=>l===o?{...i,subGroups:ns(i.subGroups??[],r,n)}:i)}function os(e,t){const[n,...o]=t;return o[0]===-1?e[n]:os(e[n].subGroups??[],o)}function vd(e,t){const[n]=a.useState(()=>({value:e,callback:t,facade:{get current(){return n.value},set current(o){const r=n.value;r!==o&&(n.value=o,n.callback(o,r))}}}));return n.callback=t,n.facade}function Cd(e,t,n,o,r){const[i,l]=a.useMemo(()=>[t!==void 0&&typeof n=="number"?Math.floor(t/n):0,t!==void 0&&typeof n=="number"?-(t%n):0],[t,n]),s=a.useMemo(()=>({x:o.current.x,y:i,width:o.current.width??1,height:o.current.height??1,ty:l}),[o,l,i]),[c,u,f]=Qs(s),w=a.useRef(r);w.current=r;const m=vd(null,y=>{y!==null&&t!==void 0?y.scrollTop=t:y!==null&&e!==void 0&&(y.scrollLeft=e)}),g=(c.height??1)>1;a.useLayoutEffect(()=>{if(t!==void 0&&m.current!==null&&g){if(m.current.scrollTop===t)return;m.current.scrollTop=t,m.current.scrollTop!==t&&f(),w.current()}},[t,g,f,m]);const h=(c.width??1)>1;return a.useLayoutEffect(()=>{if(e!==void 0&&m.current!==null&&h){if(m.current.scrollLeft===e)return;m.current.scrollLeft=e,m.current.scrollLeft!==e&&f(),w.current()}},[e,h,f,m]),{visibleRegion:c,setVisibleRegion:u,scrollRef:m}}const xd=a.lazy(async()=>await xl(()=>import("./data-grid-overlay-editor-xO4XWyG_.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url));let kd=0;function Sd(e){return Ns(_i(_i(e).filter(t=>t.span!==void 0).map(t=>{var n,o;return io((((n=t.span)==null?void 0:n[0])??0)+1,(((o=t.span)==null?void 0:o[1])??0)+1)})))}function Ir(e,t){return e===void 0||t===0||e.columns.length===0&&e.current===void 0?e:{current:e.current===void 0?void 0:{cell:[e.current.cell[0]+t,e.current.cell[1]],range:{...e.current.range,x:e.current.range.x+t},rangeStack:e.current.rangeStack.map(n=>({...n,x:n.x+t}))},rows:e.rows,columns:e.columns.offset(t)}}const Dr={kind:Z.Loading,allowOverlay:!1},Fr={columns:lt.empty(),rows:lt.empty(),current:void 0},Md=(e,t)=>{var Gi,Ki,Ui;const[n,o]=a.useState(Fr),[r,i]=a.useState(),l=a.useRef(null),s=a.useRef(null),[c,u]=a.useState(),f=a.useRef(),w=typeof window>"u"?null:window,{imageEditorOverride:m,getRowThemeOverride:g,markdownDivCreateNode:h,width:y,height:b,columns:C,rows:x,getCellContent:F,onCellClicked:Y,onCellActivated:N,onFillPattern:z,onFinishedEditing:H,coercePasteValue:G,drawHeader:S,drawCell:$,editorBloom:W,onHeaderClicked:I,onColumnProposeMove:R,spanRangeBehavior:M="default",onGroupHeaderClicked:ee,onCellContextMenu:te,className:ae,onHeaderContextMenu:me,getCellsForSelection:Ke,onGroupHeaderContextMenu:j,onGroupHeaderRenamed:U,onCellEdited:pe,onCellsEdited:ie,onSearchResultsChanged:Se,searchResults:ve,onSearchValueChange:V,searchValue:De,onKeyDown:Ce,onKeyUp:ot,keybindings:et,editOnType:gt=!0,onRowAppended:Je,onColumnMoved:Te,validateCell:Ve,highlightRegions:ke,rangeSelect:dt="rect",columnSelect:rt="multi",rowSelect:it="multi",rangeSelectionBlending:re="exclusive",columnSelectionBlending:Pe="exclusive",rowSelectionBlending:Ee="exclusive",onDelete:Me,onDragStart:fe,onMouseMove:Oe,onPaste:He,copyHeaders:qe=!1,freezeColumns:oe=0,cellActivationBehavior:Fe="second-click",rowSelectionMode:Qe="auto",onHeaderMenuClick:We,onHeaderIndicatorClick:Ue,getGroupDetails:ut,rowGrouping:Ne,onSearchClose:Ae,onItemHovered:bt,onSelectionCleared:pt,showSearch:Ut,onVisibleRegionChanged:mt,gridSelection:Et,onGridSelectionChange:It,minColumnWidth:An=50,maxColumnWidth:zn=500,maxColumnAutoWidth:at,provideEditor:Rn,trailingRowOptions:Le,freezeTrailingRows:je=0,allowedFillDirections:Wt="orthogonal",scrollOffsetX:En,scrollOffsetY:tn,verticalBorder:$t,onDragOverCell:_e,onDrop:kt,onColumnResize:st,onColumnResizeEnd:Yt,onColumnResizeStart:At,customRenderers:qt,fillHandle:Ao,drawFocusRing:vt=!0,experimental:Dt,fixedShadowX:Ft,fixedShadowY:zt,headerIcons:In,imageWindowLoader:rr,initialSize:Bn,isDraggable:Dn,onDragLeave:Fn,onRowMoved:wn,overscrollX:ir,overscrollY:lr,preventDiagonalScrolling:ao,rightElement:co,rightElementProps:uo,trapFocus:jn=!1,smoothScrollX:Zn,smoothScrollY:Ln,scaleToRem:Or=!1,rowHeight:sr=34,headerHeight:ar=36,groupHeaderHeight:Nr=ar,theme:fo,isOutsideClick:Pn,renderers:zo,resizeIndicator:Xr,scrollToActiveCell:Bo=!0}=e,Bt=typeof e.rowMarkers=="string"?void 0:e.rowMarkers,Gt=(Bt==null?void 0:Bt.kind)??e.rowMarkers??"none",Di=(Bt==null?void 0:Bt.width)??e.rowMarkerWidth,Lo=(Bt==null?void 0:Bt.startIndex)??e.rowMarkerStartIndex??1,ho=(Bt==null?void 0:Bt.theme)??e.rowMarkerTheme,Jn=(Bt==null?void 0:Bt.checkboxStyle)??"square",yn=Math.max(An,20),dn=Math.max(zn,yn),Wn=Math.max(at??dn,yn),go=a.useMemo(()=>typeof window>"u"?{fontSize:"16px"}:window.getComputedStyle(document.documentElement),[]),{rows:be,rowNumberMapper:mo,rowHeight:cr,getRowThemeOverride:nn}=bd(Ne,x,sr,g),dr=a.useMemo(()=>Number.parseFloat(go.fontSize),[go]),{rowHeight:bn,headerHeight:Po,groupHeaderHeight:Wo,theme:$o,overscrollX:ur,overscrollY:fr}=md({groupHeaderHeight:Nr,headerHeight:ar,overscrollX:ir,overscrollY:lr,remSize:dr,rowHeight:cr,scaleToRem:Or,theme:fo}),pn=wd(et),$n=Di??(x>1e4?48:x>1e3?44:x>100?36:32),on=Gt!=="none",T=on?1:0,wt=Je!==void 0,Hn=(Le==null?void 0:Le.sticky)===!0,[Yr,hr]=a.useState(!1),Gr=Ut??Yr,Kr=a.useCallback(()=>{Ae!==void 0?Ae():hr(!1)},[Ae]),B=a.useMemo(()=>Et===void 0?void 0:Ir(Et,T),[Et,T])??n,Lt=a.useRef();Lt.current===void 0&&(Lt.current=new AbortController),a.useEffect(()=>()=>Lt==null?void 0:Lt.current.abort(),[]);const[St,_r]=Qc(Ke,F,T,Lt.current,be),wo=a.useCallback((d,v,p)=>{if(Ve===void 0)return!0;const D=[d[0]-T,d[1]];return Ve==null?void 0:Ve(D,v,p)},[T,Ve]),yo=a.useRef(Et),Ot=a.useCallback((d,v)=>{v&&(d=ld(d,St,T,M,Lt.current)),It!==void 0?(yo.current=Ir(d,-T),It(yo.current)):o(d)},[It,St,T,M]),On=ro(st,a.useCallback((d,v,p,D)=>{st==null||st(C[p-T],v,p-T,D)},[st,T,C])),Vr=ro(Yt,a.useCallback((d,v,p,D)=>{Yt==null||Yt(C[p-T],v,p-T,D)},[Yt,T,C])),k=ro(At,a.useCallback((d,v,p,D)=>{At==null||At(C[p-T],v,p-T,D)},[At,T,C])),K=ro(S,a.useCallback((d,v)=>(S==null?void 0:S({...d,columnIndex:d.columnIndex-T},v))??!1,[S,T])),de=ro($,a.useCallback((d,v)=>($==null?void 0:$({...d,col:d.col-T},v))??!1,[$,T])),ne=a.useCallback(d=>{if(Me!==void 0){const v=Me(Ir(d,-T));return typeof v=="boolean"?v:Ir(v,T)}return!0},[Me,T]),[_,q,se]=Jc(B,Ot,re,Pe,Ee,dt),ce=a.useMemo(()=>_n(Ol(),$o),[$o]),[ue,Ht]=a.useState([0,0,0]),we=a.useMemo(()=>{if(zo===void 0)return{};const d={};for(const v of zo)d[v.kind]=v;return d},[zo]),Ie=a.useCallback(d=>d.kind!==Z.Custom?we[d.kind]:qt==null?void 0:qt.find(v=>v.isMatch(d)),[qt,we]);let{sizedColumns:Re,nonGrowWidth:Xe}=Ma(C,be,_r,ue[0]-(T===0?0:$n)-ue[2],yn,Wn,ce,Ie,Lt.current);Gt!=="none"&&(Xe+=$n);const Ct=a.useMemo(()=>Re.some(d=>d.group!==void 0),[Re]),Nt=Ct?Po+Wo:Po,xt=B.rows.length,rn=Gt==="none"?void 0:xt===0?!1:xt===be?!0:void 0,Ye=a.useMemo(()=>Gt==="none"?Re:[{title:"",width:$n,icon:void 0,hasMenu:!1,style:"normal",themeOverride:ho,rowMarker:Jn,rowMarkerChecked:rn},...Re],[Gt,Re,$n,ho,Jn,rn]),ft=a.useRef({height:1,width:1,x:0,y:0}),tt=a.useRef(!1),{setVisibleRegion:Vt,visibleRegion:Pt,scrollRef:nt}=Cd(En,tn,bn,ft,()=>tt.current=!0);ft.current=Pt;const vn=Pt.x+T,Nn=Pt.y,Tt=a.useRef(null),_t=a.useCallback(d=>{var v;d===!0?(v=Tt.current)==null||v.focus():window.requestAnimationFrame(()=>{var p;(p=Tt.current)==null||p.focus()})},[]),Kt=wt?be+1:be,ln=a.useCallback(d=>{const v=T===0?d:d.map(D=>({...D,location:[D.location[0]-T,D.location[1]]})),p=ie==null?void 0:ie(v);if(p!==!0)for(const D of v)pe==null||pe(D.location,D.value);return p},[pe,ie,T]),[Qn,qr]=a.useState(),gr=B.current!==void 0&&B.current.range.width*B.current.range.height>1?B.current.range:void 0,bo=vt?(Gi=B.current)==null?void 0:Gi.cell:void 0,mr=bo==null?void 0:bo[0],wr=bo==null?void 0:bo[1],rs=a.useMemo(()=>{if((ke===void 0||ke.length===0)&&(gr??mr??wr??Qn)===void 0)return;const d=[];if(ke!==void 0)for(const v of ke){const p=Ye.length-v.range.x-T;p>0&&d.push({color:v.color,range:{...v.range,x:v.range.x+T,width:Math.min(p,v.range.width)},style:v.style})}return Qn!==void 0&&d.push({color:lo(ce.accentColor,0),range:Qn,style:"dashed"}),gr!==void 0&&d.push({color:lo(ce.accentColor,.5),range:gr,style:"solid-outline"}),mr!==void 0&&wr!==void 0&&d.push({color:ce.accentColor,range:{x:mr,y:wr,width:1,height:1},style:"solid-outline"}),d.length>0?d:void 0},[Qn,gr,mr,wr,ke,Ye.length,ce.accentColor,T]),Fi=a.useRef(Ye);Fi.current=Ye;const jt=a.useCallback(([d,v],p=!1)=>{var P,A,L,O,X,J,he;const D=wt&&v===Kt-1;if(d===0&&on){if(D)return Dr;const Q=mo(v);return Q===void 0?Dr:{kind:cn.Marker,allowOverlay:!1,checkboxStyle:Jn,checked:(B==null?void 0:B.rows.hasIndex(v))===!0,markerKind:Gt==="clickable-number"?"number":Gt,row:Lo+Q,drawHandle:wn!==void 0,cursor:Gt==="clickable-number"?"pointer":void 0}}else if(D){const ye=d===T?(Le==null?void 0:Le.hint)??"":"",le=Fi.current[d];if(((P=le==null?void 0:le.trailingRowOptions)==null?void 0:P.disabled)===!0)return Dr;{const Ge=((A=le==null?void 0:le.trailingRowOptions)==null?void 0:A.hint)??ye,xe=((L=le==null?void 0:le.trailingRowOptions)==null?void 0:L.addIcon)??(Le==null?void 0:Le.addIcon);return{kind:cn.NewRow,hint:Ge,allowOverlay:!1,icon:xe}}}else{const Q=d-T;if(p||(Dt==null?void 0:Dt.strict)===!0){const le=ft.current,Ge=le.x>Q||Q>le.x+le.width||le.y>v||v>le.y+le.height||v>=Zr.current,xe=Q===((X=(O=le.extras)==null?void 0:O.selected)==null?void 0:X[0])&&v===((J=le.extras)==null?void 0:J.selected[1]);let ge=!1;if(((he=le.extras)==null?void 0:he.freezeRegions)!==void 0){for(const Ze of le.extras.freezeRegions)if(Io(Ze,Q,v)){ge=!0;break}}if(Ge&&!xe&&!ge)return Dr}let ye=F([Q,v]);return T!==0&&ye.span!==void 0&&(ye={...ye,span:[ye.span[0]+T,ye.span[1]+T]}),ye}},[wt,Kt,on,mo,Jn,B==null?void 0:B.rows,Gt,Lo,wn,T,Le==null?void 0:Le.hint,Le==null?void 0:Le.addIcon,Dt==null?void 0:Dt.strict,F]),jr=a.useCallback(d=>{let v=(ut==null?void 0:ut(d))??{name:d};return U!==void 0&&d!==""&&(v={icon:v.icon,name:v.name,overrideTheme:v.overrideTheme,actions:[...v.actions??[],{title:"Rename",icon:"renameIcon",onClick:p=>Qr({group:v.name,bounds:p.bounds})}]}),v},[ut,U]),yr=a.useCallback(d=>{var L;const[v,p]=d.cell,D=Ye[v],E=(D==null?void 0:D.group)!==void 0?(L=jr(D.group))==null?void 0:L.overrideTheme:void 0,P=D==null?void 0:D.themeOverride,A=nn==null?void 0:nn(p);i({...d,theme:_n(ce,E,P,A,d.content.themeOverride)})},[nn,Ye,jr,ce]),po=a.useCallback((d,v,p)=>{var A;if(B.current===void 0)return;const[D,E]=B.current.cell,P=jt([D,E]);if(P.kind!==Z.Boolean&&P.allowOverlay){let L=P;if(p!==void 0)switch(L.kind){case Z.Number:{const O=Ys(()=>p==="-"?-0:Number.parseFloat(p),0);L={...L,data:Number.isNaN(O)?0:O};break}case Z.Text:case Z.Markdown:case Z.Uri:L={...L,data:p};break}yr({target:d,content:L,initialValue:p,cell:[D,E],highlight:p===void 0,forceEditMode:p!==void 0})}else P.kind===Z.Boolean&&v&&P.readonly!==!0&&(ln([{location:B.current.cell,value:{...P,data:ts(P.data)}}]),(A=Tt.current)==null||A.damage([{cell:B.current.cell}]))},[jt,B,ln,yr]),Hi=a.useCallback((d,v)=>{var E;const p=(E=Tt.current)==null?void 0:E.getBounds(d,v);if(p===void 0||nt.current===null)return;const D=jt([d,v]);D.allowOverlay&&yr({target:p,content:D,initialValue:void 0,highlight:!0,cell:[d,v],forceEditMode:!0})},[jt,nt,yr]),Mt=a.useCallback((d,v,p="both",D=0,E=0,P=void 0)=>{if(nt.current!==null){const A=Tt.current,L=s.current,O=typeof d!="number"?d.unit==="cell"?d.amount:void 0:d,X=typeof v!="number"?v.unit==="cell"?v.amount:void 0:v,J=typeof d!="number"&&d.unit==="px"?d.amount:void 0,he=typeof v!="number"&&v.unit==="px"?v.amount:void 0;if(A!==null&&L!==null){let Q={x:0,y:0,width:0,height:0},ye=0,le=0;if((O!==void 0||X!==void 0)&&(Q=A.getBounds((O??0)+T,X??0)??Q,Q.width===0||Q.height===0))return;const Ge=L.getBoundingClientRect(),xe=Ge.width/L.offsetWidth;if(J!==void 0&&(Q={...Q,x:J-Ge.left-nt.current.scrollLeft,width:1}),he!==void 0&&(Q={...Q,y:he+Ge.top-nt.current.scrollTop,height:1}),Q!==void 0){const ge={x:Q.x-D,y:Q.y-E,width:Q.width+2*D,height:Q.height+2*E};let Ze=0;for(let li=0;li0&&(ht=so(Kt,Rt,bn));let hn=Ze*xe+Ge.left+T*$n*xe,xn=Ge.right,gn=Ge.top+Nt*xe,kn=Ge.bottom-ht*xe;const Sr=Q.width+D*2;switch(P==null?void 0:P.hAlign){case"start":xn=hn+Sr;break;case"end":hn=xn-Sr;break;case"center":hn=Math.floor((hn+xn)/2)-Sr/2,xn=hn+Sr;break}const Mr=Q.height+E*2;switch(P==null?void 0:P.vAlign){case"start":kn=gn+Mr;break;case"end":gn=kn-Mr;break;case"center":gn=Math.floor((gn+kn)/2)-Mr/2,kn=gn+Mr;break}hn>ge.x?ye=ge.x-hn:xnge.y?le=ge.y-gn:kn=Kt-Rt)&&(le=0),(ye!==0||le!==0)&&(xe!==1&&(ye/=xe,le/=xe),nt.current.scrollTo(ye+nt.current.scrollLeft,le+nt.current.scrollTop))}}}},[T,je,$n,nt,Nt,oe,Re,Kt,Hn,bn]),Ti=a.useRef(Hi),Ai=a.useRef(F),Zr=a.useRef(be);Ti.current=Hi,Ai.current=F,Zr.current=be;const vo=a.useCallback(async(d,v=!0)=>{var O;const p=Ye[d];if(((O=p==null?void 0:p.trailingRowOptions)==null?void 0:O.disabled)===!0)return;const D=Je==null?void 0:Je();let E,P=!0;D!==void 0&&(E=await D,E==="top"&&(P=!1),typeof E=="number"&&(P=!1));let A=0;const L=()=>{if(Zr.current<=be){A<500&&window.setTimeout(L,A),A=50+A*2;return}const X=typeof E=="number"?E:P?be:0;kr.current(d-T,X),_({cell:[d,X],range:{x:d,y:X,width:1,height:1}},!1,!1,"edit");const J=Ai.current([d-T,X]);J.allowOverlay&&jo(J)&&J.readonly!==!0&&v&&window.setTimeout(()=>{Ti.current(d,X)},0)};L()},[Ye,Je,T,be,_]),br=a.useCallback(d=>{var p,D;const v=((D=(p=Re[d])==null?void 0:p.trailingRowOptions)==null?void 0:D.targetColumn)??(Le==null?void 0:Le.targetColumn);if(typeof v=="number")return v+(on?1:0);if(typeof v=="object"){const E=C.indexOf(v);if(E>=0)return E+(on?1:0)}},[Re,C,on,Le==null?void 0:Le.targetColumn]),Xn=a.useRef(),Co=a.useRef(),Oo=a.useCallback((d,v)=>{var E;const[p,D]=v;return _n(ce,(E=Ye[p])==null?void 0:E.themeOverride,nn==null?void 0:nn(D),d.themeOverride)},[nn,Ye,ce]),{mapper:eo}=pd(Ne,x),un=Ne==null?void 0:Ne.navigationBehavior,No=a.useCallback(d=>{var J,he,Q;const v=Br.value?d.metaKey:d.ctrlKey,p=v&&it==="multi",D=v&&rt==="multi",[E,P]=d.location,A=B.columns,L=B.rows,[O,X]=((J=B.current)==null?void 0:J.cell)??[];if(d.kind==="cell"){if(Co.current=void 0,to.current=[E,P],E===0&&on){if(wt===!0&&P===be||Gt==="number"||it==="none")return;const ye=jt(d.location);if(ye.kind!==cn.Marker)return;if(wn!==void 0){const xe=Ie(ye);Jt((xe==null?void 0:xe.kind)===cn.Marker);const ge=(he=xe==null?void 0:xe.onClick)==null?void 0:he.call(xe,{...d,cell:ye,posX:d.localEventX,posY:d.localEventY,bounds:d.bounds,theme:Oo(ye,d.location),preventDefault:()=>{}});if(ge===void 0||ge.checked===ye.checked)return}i(void 0),_t();const le=L.hasIndex(P),Ge=Xn.current;if(it==="multi"&&(d.shiftKey||d.isLongTouch===!0)&&Ge!==void 0&&L.hasIndex(Ge)){const xe=[Math.min(Ge,P),Math.max(Ge,P)+1];p||Qe==="multi"?q(void 0,xe,!0):q(lt.fromSingleSelection(xe),void 0,p)}else p||d.isTouch||Qe==="multi"?le?q(L.remove(P),void 0,!0):(q(void 0,P,!0),Xn.current=P):le&&L.length===1?q(lt.empty(),void 0,v):(q(lt.fromSingleSelection(P),void 0,v),Xn.current=P)}else if(E>=T&&wt&&P===be){const ye=br(E);vo(ye??E)}else if(O!==E||X!==P){const ye=jt(d.location),le=Ie(ye);if((le==null?void 0:le.onSelect)!==void 0){let ge=!1;if(le.onSelect({...d,cell:ye,posX:d.localEventX,posY:d.localEventY,bounds:d.bounds,preventDefault:()=>ge=!0,theme:Oo(ye,d.location)}),ge)return}if(un==="block"&&eo(P).isGroupHeader)return;const Ge=Hn&&P===be,xe=Hn&&B!==void 0&&((Q=B.current)==null?void 0:Q.cell[1])===be;if((d.shiftKey||d.isLongTouch===!0)&&O!==void 0&&X!==void 0&&B.current!==void 0&&!xe){if(Ge)return;const ge=Math.min(E,O),Ze=Math.max(E,O),ht=Math.min(P,X),Rt=Math.max(P,X);_({...B.current,range:{x:ge,y:ht,width:Ze-ge+1,height:Rt-ht+1}},!0,v,"click"),Xn.current=void 0,_t()}else _({cell:[E,P],range:{x:E,y:P,width:1,height:1}},!0,v,"click"),Xn.current=void 0,i(void 0),_t()}}else if(d.kind==="header")if(to.current=[E,P],i(void 0),on&&E===0)Xn.current=void 0,Co.current=void 0,it==="multi"&&(L.length!==be?q(lt.fromSingleSelection([0,be]),void 0,v):q(lt.empty(),void 0,v),_t());else{const ye=Co.current;if(rt==="multi"&&(d.shiftKey||d.isLongTouch===!0)&&ye!==void 0&&A.hasIndex(ye)){const le=[Math.min(ye,E),Math.max(ye,E)+1];D?se(void 0,le,v):se(lt.fromSingleSelection(le),void 0,v)}else D?(A.hasIndex(E)?se(A.remove(E),void 0,v):se(void 0,E,v),Co.current=E):rt!=="none"&&(se(lt.fromSingleSelection(E),void 0,v),Co.current=E);Xn.current=void 0,_t()}else d.kind===Zt?to.current=[E,P]:d.kind===Lr&&!d.isMaybeScrollbar&&(Ot(Fr,!1),i(void 0),_t(),pt==null||pt(),Xn.current=void 0,Co.current=void 0)},[it,rt,B,on,T,wt,be,Gt,jt,wn,_t,Qe,Ie,Oo,q,br,vo,un,eo,Hn,_,se,Ot,pt]),Xo=a.useRef(!1),to=a.useRef(),zi=a.useRef(Pt),sn=a.useRef(),is=a.useCallback(d=>{if(xo.current=!1,zi.current=ft.current,d.button!==0&&d.button!==1){sn.current=void 0;return}const v=performance.now();sn.current={button:d.button,time:v,location:d.location},(d==null?void 0:d.kind)==="header"&&(Xo.current=!0);const p=d.kind==="cell"&&d.isFillHandle;!p&&d.kind!=="cell"&&d.isEdge||(u({previousSelection:B,fillHandle:p}),to.current=void 0,!d.isTouch&&d.button===0&&!p?No(d):!d.isTouch&&d.button===1&&(to.current=d.location))},[B,No]),[Jr,Qr]=a.useState(),Bi=a.useCallback(d=>{if(d.kind!==Zt||rt!=="multi")return;const v=Br.value?d.metaKey:d.ctrlKey,[p]=d.location,D=B.columns;if(p=T&&tr(E.group,Ye[L].group);L--)P--;for(let L=p+1;L{if(St!==void 0&&On!==void 0){const v=ft.current.y,p=ft.current.height;let D=St({x:d,y:v,width:1,height:Math.min(p,be-v)},Lt.current.signal);typeof D!="object"&&(D=await D());const E=Re[d-T],A=document.createElement("canvas").getContext("2d",{alpha:!1});if(A!==null){A.font=ce.baseFontFull;const L=Xl(A,ce,E,0,D,yn,dn,!1,Ie);On==null||On(E,L.width,d,L.width)}}},[Re,St,dn,ce,yn,On,T,be,Ie]),[ls,ei]=a.useState(),ko=a.useCallback(async(d,v)=>{var L,O;const p=(L=d.current)==null?void 0:L.range;if(p===void 0||St===void 0||v.current===void 0)return;const D=v.current.range;if(z!==void 0){let X=!1;if(z({fillDestination:{...D,x:D.x-T},patternSource:{...p,x:p.x-T},preventDefault:()=>X=!0}),X)return}let E=St(p,Lt.current.signal);typeof E!="object"&&(E=await E());const P=E,A=[];for(let X=0;X({cell:X.location})))},[St,ln,z,T]),Li=a.useCallback(()=>{if(B.current===void 0||B.current.range.width<=1)return;const d={...B,current:{...B.current,range:{...B.current.range,width:1}}};ko(d,B)},[ko,B]),Pi=a.useCallback(()=>{if(B.current===void 0||B.current.range.height<=1)return;const d={...B,current:{...B.current,range:{...B.current.range,height:1}}};ko(d,B)},[ko,B]),ss=a.useCallback((d,v)=>{var J,he;const p=c;if(u(void 0),qr(void 0),ei(void 0),Xo.current=!1,v)return;if((p==null?void 0:p.fillHandle)===!0&&B.current!==void 0&&((J=p.previousSelection)==null?void 0:J.current)!==void 0){if(Qn===void 0)return;const Q={...B,current:{...B.current,range:_l(p.previousSelection.current.range,Qn)}};ko(p.previousSelection,Q),Ot(Q,!0);return}const[D,E]=d.location,[P,A]=to.current??[],L=()=>{xo.current=!0},O=Q=>{var le,Ge,xe;const ye=Q.isTouch||P===D&&A===E;if(ye&&(Y==null||Y([D-T,E],{...Q,preventDefault:L})),Q.button===1)return!xo.current;if(!xo.current){const ge=jt(d.location),Ze=Ie(ge);if(Ze!==void 0&&Ze.onClick!==void 0&&ye){const Rt=Ze.onClick({...Q,cell:ge,posX:Q.localEventX,posY:Q.localEventY,bounds:Q.bounds,theme:Oo(ge,d.location),preventDefault:L});Rt!==void 0&&!Ro(Rt)&&Mo(Rt)&&(ln([{location:Q.location,value:Rt}]),(le=Tt.current)==null||le.damage([{cell:Q.location}]))}if(xo.current||B.current===void 0)return!1;let ht=!1;switch(ge.activationBehaviorOverride??Fe){case"double-click":case"second-click":{if(((xe=(Ge=p==null?void 0:p.previousSelection)==null?void 0:Ge.current)==null?void 0:xe.cell)===void 0)break;const[Rt,hn]=B.current.cell,[xn,gn]=p.previousSelection.current.cell;ht=D===Rt&&D===xn&&E===hn&&E===gn&&(Q.isDoubleClick===!0||Fe==="second-click");break}case"single-click":{ht=!0;break}}if(ht)return N==null||N([D-T,E]),po(Q.bounds,!1),!0}return!1},X=d.location[0]-T;if(d.isTouch){const Q=ft.current,ye=zi.current;if(Q.x!==ye.x||Q.y!==ye.y)return;if(d.isLongTouch===!0){if(d.kind==="cell"&&Zo((he=B.current)==null?void 0:he.cell,d.location)){te==null||te([X,d.location[1]],{...d,preventDefault:L});return}else if(d.kind==="header"&&B.columns.hasIndex(D)){me==null||me(X,{...d,preventDefault:L});return}else if(d.kind===Zt){if(X<0)return;j==null||j(X,{...d,preventDefault:L});return}}d.kind==="cell"?O(d)||No(d):d.kind===Zt?ee==null||ee(X,{...d,preventDefault:L}):(d.kind===Un&&(I==null||I(X,{...d,preventDefault:L})),No(d));return}if(d.kind==="header"){if(X<0)return;d.isEdge?d.isDoubleClick===!0&&pr(D):d.button===0&&D===P&&E===A&&(I==null||I(X,{...d,preventDefault:L}))}if(d.kind===Zt){if(X<0)return;d.button===0&&D===P&&E===A&&(ee==null||ee(X,{...d,preventDefault:L}),xo.current||Bi(d))}d.kind==="cell"&&(d.button===0||d.button===1)&&O(d),to.current=void 0},[c,B,T,Qn,ko,Ot,Y,jt,Ie,Fe,Oo,ln,N,po,te,me,j,No,ee,I,pr,Bi]),as=a.useCallback(d=>{const v={...d,location:[d.location[0]-T,d.location[1]]};Oe==null||Oe(v),c!==void 0&&d.buttons===0&&(u(void 0),qr(void 0),ei(void 0),Xo.current=!1),ei(p=>{var D;return Xo.current?[d.scrollEdge[0],0]:d.scrollEdge[0]===(p==null?void 0:p[0])&&d.scrollEdge[1]===p[1]?p:c===void 0||(((D=sn.current)==null?void 0:D.location[0])??0){We==null||We(d-T,v)},[We,T]),ds=a.useCallback((d,v)=>{Ue==null||Ue(d-T,v)},[Ue,T]),Cn=(Ki=B==null?void 0:B.current)==null?void 0:Ki.cell,us=a.useCallback((d,v,p,D,E,P)=>{tt.current=!1;let A=Cn;A!==void 0&&(A=[A[0]-T,A[1]]);const L=oe===0?void 0:{x:0,y:d.y,width:oe,height:d.height},O=[];L!==void 0&&O.push(L),je>0&&(O.push({x:d.x-T,y:be-je,width:d.width,height:je}),oe>0&&O.push({x:0,y:be-je,width:oe,height:je}));const X={x:d.x-T,y:d.y,width:d.width,height:wt&&d.y+d.height>=be?d.height-1:d.height,tx:E,ty:P,extras:{selected:A,freezeRegion:L,freezeRegions:O}};ft.current=X,Vt(X),Ht([v,p,D]),mt==null||mt(X,X.tx,X.ty,X.extras)},[Cn,T,wt,be,oe,je,Vt,mt]),fs=ro(Te,a.useCallback((d,v)=>{Te==null||Te(d-T,v-T),rt!=="none"&&se(lt.fromSingleSelection(v),void 0,!0)},[rt,Te,T,se])),ti=a.useRef(!1),hs=a.useCallback(d=>{if(d.location[0]===0&&T>0){d.preventDefault();return}fe==null||fe({...d,location:[d.location[0]-T,d.location[1]]}),d.defaultPrevented()||(ti.current=!0),u(void 0)},[fe,T]),gs=a.useCallback(()=>{ti.current=!1},[]),Wi=Ne==null?void 0:Ne.selectionBehavior,vr=a.useCallback(d=>{if(Wi!=="block-spanning")return;const{isGroupHeader:v,path:p,groupRows:D}=eo(d);if(v)return[d,d];const E=p[p.length-1],P=d-E,A=d+D-E-1;return[P,A]},[eo,Wi]),ni=a.useRef(),oi=a.useCallback(d=>{var v,p,D;if(!Ql(d,ni.current)&&(ni.current=d,!(((v=sn==null?void 0:sn.current)==null?void 0:v.button)!==void 0&&sn.current.button>=1))){if(d.buttons!==0&&c!==void 0&&((p=sn.current)==null?void 0:p.location[0])===0&&d.location[0]===0&&T===1&&it==="multi"&&c.previousSelection&&!c.previousSelection.rows.hasIndex(sn.current.location[1])&&B.rows.hasIndex(sn.current.location[1])){const E=Math.min(sn.current.location[1],d.location[1]),P=Math.max(sn.current.location[1],d.location[1])+1;q(lt.fromSingleSelection([E,P]),void 0,!1)}if(d.buttons!==0&&c!==void 0&&B.current!==void 0&&!ti.current&&!Xo.current&&(dt==="rect"||dt==="multi-rect")){const[E,P]=B.current.cell;let[A,L]=d.location;if(L<0&&(L=ft.current.y),c.fillHandle===!0&&((D=c.previousSelection)==null?void 0:D.current)!==void 0){const O=c.previousSelection.current.range;L=Math.min(L,wt?be-1:be);const X=oc(O,A,L,Wt);qr(X)}else{if(wt&&P===be)return;if(wt&&L===be)if(d.kind===Lr)L--;else return;A=Math.max(A,T);const J=vr(P);L=J===void 0?L:an(L,J[0],J[1]);const he=A-E,Q=L-P,ye={x:he>=0?E:A,y:Q>=0?P:L,width:Math.abs(he)+1,height:Math.abs(Q)+1};_({...B.current,range:ye},!0,!1,"drag")}}bt==null||bt({...d,location:[d.location[0]-T,d.location[1]]})}},[c,T,it,B,dt,bt,q,wt,be,Wt,vr,_]),ms=a.useCallback(()=>{var A,L;const d=ni.current;if(d===void 0)return;const[v,p]=d.scrollEdge;let[D,E]=d.location;const P=ft.current;v===-1?D=((L=(A=P.extras)==null?void 0:A.freezeRegion)==null?void 0:L.x)??P.x:v===1&&(D=P.x+P.width),p===-1?E=Math.max(0,P.y):p===1&&(E=Math.min(be-1,P.y+P.height)),D=an(D,0,Ye.length-1),E=an(E,0,be-1),oi({...d,location:[D,E]})},[Ye.length,oi,be]);gd(ls,nt,ms);const fn=a.useCallback(d=>{if(B.current===void 0)return;const[v,p]=d,[D,E]=B.current.cell,P=B.current.range;let A=P.x,L=P.x+P.width,O=P.y,X=P.y+P.height;const[J,he]=vr(E)??[0,be-1],Q=he+1;if(p!==0)switch(p){case 2:{X=Q,O=E,Mt(0,X,"vertical");break}case-2:{O=J,X=E+1,Mt(0,O,"vertical");break}case 1:{OE+1?(X--,Mt(0,X,"vertical")):(O=Math.max(J,O-1),Mt(0,O,"vertical"));break}default:er()}if(v!==0)if(v===2)L=Ye.length,A=D,Mt(L-1-T,0,"horizontal");else if(v===-2)A=T,L=D+1,Mt(A-T,0,"horizontal");else{let ye=[];if(St!==void 0){const le=St({x:A,y:O,width:L-A-T,height:X-O},Lt.current.signal);typeof le=="object"&&(ye=Sd(le))}if(v===1){let le=!1;if(A0){const Ge=io(A+1,D+1).find(xe=>!ye.includes(xe-T));Ge!==void 0&&(A=Ge,le=!0)}else A++,le=!0;le&&Mt(A,0,"horizontal")}le||(L=Math.min(Ye.length,L+1),Mt(L-1-T,0,"horizontal"))}else if(v===-1){let le=!1;if(L>D+1){if(ye.length>0){const Ge=io(L-1,D,-1).find(xe=>!ye.includes(xe-T));Ge!==void 0&&(L=Ge,le=!0)}else L--,le=!0;le&&Mt(L-T,0,"horizontal")}le||(A=Math.max(T,A-1),Mt(A-T,0,"horizontal"))}else er()}_({cell:B.current.cell,range:{x:A,y:O,width:L-A,height:X-O}},!0,!1,"keyboard-select")},[St,vr,B,Ye.length,T,be,Mt,_]),ri=a.useRef(Bo);ri.current=Bo;const Yn=a.useCallback((d,v,p,D)=>{const E=Kt-(p?0:1);d=an(d,T,Re.length-1+T),v=an(v,0,E);const P=Cn==null?void 0:Cn[0],A=Cn==null?void 0:Cn[1];if(d===P&&v===A)return!1;if(D&&B.current!==void 0){const L=[...B.current.rangeStack];(B.current.range.width>1||B.current.range.height>1)&&L.push(B.current.range),Ot({...B,current:{cell:[d,v],range:{x:d,y:v,width:1,height:1},rangeStack:L}},!0)}else _({cell:[d,v],range:{x:d,y:v,width:1,height:1}},!0,!1,"keyboard-nav");return f.current!==void 0&&f.current[0]===d&&f.current[1]===v&&(f.current=void 0),ri.current&&Mt(d-T,v),!0},[Kt,T,Re.length,Cn,B,Mt,Ot,_]),ws=a.useCallback((d,v)=>{(r==null?void 0:r.cell)!==void 0&&d!==void 0&&Mo(d)&&(ln([{location:r.cell,value:d}]),window.requestAnimationFrame(()=>{var E;(E=Tt.current)==null||E.damage([{cell:r.cell}])})),_t(!0),i(void 0);const[p,D]=v;if(B.current!==void 0&&(p!==0||D!==0)){const E=B.current.cell[1]===Kt-1&&d!==void 0;Yn(an(B.current.cell[0]+p,0,Ye.length-1),an(B.current.cell[1]+D,0,Kt-1),E,!1)}H==null||H(d,v)},[r==null?void 0:r.cell,_t,B,H,ln,Kt,Yn,Ye.length]),ys=a.useMemo(()=>`gdg-overlay-${kd++}`,[]),no=a.useCallback(d=>{var p,D,E,P;_t();const v=[];for(let A=d.x;A({cell:A.location})))},[_t,F,Ie,ln,T]),Yo=r!==void 0,$i=a.useCallback(d=>{var Ge,xe;const v=()=>{d.stopPropagation(),d.preventDefault()},p={didMatch:!1},{bounds:D}=d,E=B.columns,P=B.rows,A=pn;if(!Yo&&ze(A.clear,d,p))Ot(Fr,!1),pt==null||pt();else if(!Yo&&ze(A.selectAll,d,p))Ot({columns:lt.empty(),rows:lt.empty(),current:{cell:((Ge=B.current)==null?void 0:Ge.cell)??[T,0],range:{x:T,y:0,width:C.length,height:be},rangeStack:[]}},!1);else if(ze(A.search,d,p))(xe=l==null?void 0:l.current)==null||xe.focus({preventScroll:!0}),hr(!0);else if(ze(A.delete,d,p)){const ge=(ne==null?void 0:ne(B))??!0;if(ge!==!1){const Ze=ge===!0?B:ge;if(Ze.current!==void 0){no(Ze.current.range);for(const ht of Ze.current.rangeStack)no(ht)}for(const ht of Ze.rows)no({x:T,y:ht,width:C.length,height:1});for(const ht of Ze.columns)no({x:ht,y:0,width:1,height:be})}}if(p.didMatch)return v(),!0;if(B.current===void 0)return!1;let[L,O]=B.current.cell;const[,X]=B.current.cell;let J=!1,he=!1;if(ze(A.scrollToSelectedCell,d,p)?kr.current(L-T,O):rt!=="none"&&ze(A.selectColumn,d,p)?E.hasIndex(L)?se(E.remove(L),void 0,!0):rt==="single"?se(lt.fromSingleSelection(L),void 0,!0):se(void 0,L,!0):it!=="none"&&ze(A.selectRow,d,p)?P.hasIndex(O)?q(P.remove(O),void 0,!0):it==="single"?q(lt.fromSingleSelection(O),void 0,!0):q(void 0,O,!0):!Yo&&D!==void 0&&ze(A.activateCell,d,p)?O===be&&wt?window.setTimeout(()=>{const ge=br(L);vo(ge??L)},0):(N==null||N([L-T,O]),po(D,!0)):B.current.range.height>1&&ze(A.downFill,d,p)?Pi():B.current.range.width>1&&ze(A.rightFill,d,p)?Li():ze(A.goToNextPage,d,p)?O+=Math.max(1,ft.current.height-4):ze(A.goToPreviousPage,d,p)?O-=Math.max(1,ft.current.height-4):ze(A.goToFirstCell,d,p)?(i(void 0),O=0,L=0):ze(A.goToLastCell,d,p)?(i(void 0),O=Number.MAX_SAFE_INTEGER,L=Number.MAX_SAFE_INTEGER):ze(A.selectToFirstCell,d,p)?(i(void 0),fn([-2,-2])):ze(A.selectToLastCell,d,p)?(i(void 0),fn([2,2])):Yo?(ze(A.closeOverlay,d,p)&&i(void 0),ze(A.acceptOverlayDown,d,p)&&(i(void 0),O++),ze(A.acceptOverlayUp,d,p)&&(i(void 0),O--),ze(A.acceptOverlayLeft,d,p)&&(i(void 0),L--),ze(A.acceptOverlayRight,d,p)&&(i(void 0),L++)):(ze(A.goDownCell,d,p)?O+=1:ze(A.goUpCell,d,p)?O-=1:ze(A.goRightCell,d,p)?L+=1:ze(A.goLeftCell,d,p)?L-=1:ze(A.goDownCellRetainSelection,d,p)?(O+=1,J=!0):ze(A.goUpCellRetainSelection,d,p)?(O-=1,J=!0):ze(A.goRightCellRetainSelection,d,p)?(L+=1,J=!0):ze(A.goLeftCellRetainSelection,d,p)?(L-=1,J=!0):ze(A.goToLastRow,d,p)?O=be-1:ze(A.goToFirstRow,d,p)?O=Number.MIN_SAFE_INTEGER:ze(A.goToLastColumn,d,p)?L=Number.MAX_SAFE_INTEGER:ze(A.goToFirstColumn,d,p)?L=Number.MIN_SAFE_INTEGER:(dt==="rect"||dt==="multi-rect")&&(ze(A.selectGrowDown,d,p)?fn([0,1]):ze(A.selectGrowUp,d,p)?fn([0,-1]):ze(A.selectGrowRight,d,p)?fn([1,0]):ze(A.selectGrowLeft,d,p)?fn([-1,0]):ze(A.selectToLastRow,d,p)?fn([0,2]):ze(A.selectToFirstRow,d,p)?fn([0,-2]):ze(A.selectToLastColumn,d,p)?fn([2,0]):ze(A.selectToFirstColumn,d,p)&&fn([-2,0])),he=p.didMatch),un!==void 0&&un!=="normal"&&O!==X){const ge=un==="skip-up"||un==="skip"||un==="block",Ze=un==="skip-down"||un==="skip"||un==="block",ht=O=0&&eo(O).isGroupHeader;)O--;O<0&&(O=X)}else if(!ht&&Ze){for(;O=be&&(O=X)}}const ye=Yn(L,O,!1,J),le=p.didMatch;return le&&(ye||!he||jn)&&v(),le},[un,Yo,B,pn,rt,it,dt,T,eo,be,Yn,Ot,pt,C.length,ne,jn,no,se,q,wt,br,vo,N,po,Pi,Li,fn]),Go=a.useCallback(d=>{let v=!1;if(Ce!==void 0&&Ce({...d,cancel:()=>{v=!0}}),v||$i(d)||B.current===void 0)return;const[p,D]=B.current.cell,E=ft.current;if(gt&&!d.metaKey&&!d.ctrlKey&&B.current!==void 0&&d.key.length===1&&/[ -~]/g.test(d.key)&&d.bounds!==void 0&&jo(F([p-T,Math.max(0,Math.min(D,be-1))]))){if((!wt||D!==be)&&(E.y>D||D>E.y+E.height||E.x>p||p>E.x+E.width))return;po(d.bounds,!0,d.key),d.stopPropagation(),d.preventDefault()}},[gt,Ce,$i,B,F,T,be,wt,po]),bs=a.useCallback((d,v)=>{const p=d.location[0]-T;if(d.kind==="header"&&(me==null||me(p,{...d,preventDefault:v})),d.kind===Zt){if(p<0)return;j==null||j(p,{...d,preventDefault:v})}if(d.kind==="cell"){const[D,E]=d.location;te==null||te([p,E],{...d,preventDefault:v}),ca(B,d.location)||Yn(D,E,!1,!1)}},[B,te,j,me,T,Yn]),ii=a.useCallback(async d=>{var A,L,O;if(!pn.paste)return;function v(X,J,he,Q){var le,Ge;const ye=typeof he=="object"?(he==null?void 0:he.join(` -`))??"":(he==null?void 0:he.toString())??"";if(!Ro(X)&&jo(X)&&X.readonly!==!0){const xe=G==null?void 0:G(ye,X);if(xe!==void 0&&Mo(xe))return{location:J,value:xe};const ge=Ie(X);if(ge===void 0)return;if(ge.kind===Z.Custom){Jt(X.kind===Z.Custom);const Ze=(le=ge.onPaste)==null?void 0:le.call(ge,ye,X.data);return Ze===void 0?void 0:{location:J,value:{...X,data:Ze}}}else{const Ze=(Ge=ge.onPaste)==null?void 0:Ge.call(ge,ye,X,{formatted:Q,formattedString:typeof Q=="string"?Q:Q==null?void 0:Q.join(` -`),rawValue:he});return Ze===void 0?void 0:(Jt(Ze.kind===X.kind),{location:J,value:Ze})}}}const p=B.columns,D=B.rows,E=((A=nt.current)==null?void 0:A.contains(document.activeElement))===!0||((L=s.current)==null?void 0:L.contains(document.activeElement))===!0;let P;if(B.current!==void 0?P=[B.current.range.x,B.current.range.y]:p.length===1?P=[p.first()??0,0]:D.length===1&&(P=[T,D.first()??0]),E&&P!==void 0){let X,J;const he="text/plain",Q="text/html";if(navigator.clipboard.read!==void 0){const xe=await navigator.clipboard.read();for(const ge of xe){if(ge.types.includes(Q)){const ht=await(await ge.getType(Q)).text(),Rt=gl(ht);if(Rt!==void 0){X=Rt;break}}ge.types.includes(he)&&(J=await(await ge.getType(he)).text())}}else if(navigator.clipboard.readText!==void 0)J=await navigator.clipboard.readText();else if(d!==void 0&&(d==null?void 0:d.clipboardData)!==null){if(d.clipboardData.types.includes(Q)){const xe=d.clipboardData.getData(Q);X=gl(xe)}X===void 0&&d.clipboardData.types.includes(he)&&(J=d.clipboardData.getData(he))}else return;const[ye,le]=P,Ge=[];do{if(He===void 0){const xe=jt(P),ge=J??(X==null?void 0:X.map(ht=>ht.map(Rt=>Rt.rawValue).join(" ")).join(" "))??"",Ze=v(xe,P,ge,void 0);Ze!==void 0&&Ge.push(Ze);break}if(X===void 0){if(J===void 0)return;X=sd(J)}if(He===!1||typeof He=="function"&&(He==null?void 0:He([P[0]-T,P[1]],X.map(xe=>xe.map(ge=>{var Ze;return((Ze=ge.rawValue)==null?void 0:Ze.toString())??""}))))!==!0)return;for(const[xe,ge]of X.entries()){if(xe+le>=be)break;for(const[Ze,ht]of ge.entries()){const Rt=[Ze+ye,xe+le],[hn,xn]=Rt;if(hn>=Ye.length||xn>=Kt)continue;const gn=jt(Rt),kn=v(gn,Rt,ht.rawValue,ht.formatted);kn!==void 0&&Ge.push(kn)}}}while(!1);ln(Ge),(O=Tt.current)==null||O.damage(Ge.map(xe=>({cell:xe.location})))}},[G,Ie,jt,B,pn.paste,nt,Ye.length,ln,Kt,He,T,be]);Xt("paste",ii,w,!1,!0);const Ko=a.useCallback(async(d,v)=>{var A,L;if(!pn.copy)return;const p=v===!0||((A=nt.current)==null?void 0:A.contains(document.activeElement))===!0||((L=s.current)==null?void 0:L.contains(document.activeElement))===!0,D=B.columns,E=B.rows,P=(O,X)=>{if(!qe)wl(O,X,d);else{const J=X.map(he=>({kind:Z.Text,data:C[he].title,displayData:C[he].title,allowOverlay:!1}));wl([J,...O],X,d)}};if(p&&St!==void 0){if(B.current!==void 0){let O=St(B.current.range,Lt.current.signal);typeof O!="object"&&(O=await O()),P(O,io(B.current.range.x-T,B.current.range.x+B.current.range.width-T))}else if(E!==void 0&&E.length>0){const X=[...E].map(J=>{const he=St({x:T,y:J,width:C.length,height:1},Lt.current.signal);return typeof he=="object"?he[0]:he().then(Q=>Q[0])});if(X.some(J=>J instanceof Promise)){const J=await Promise.all(X);P(J,io(C.length))}else P(X,io(C.length))}else if(D.length>0){const O=[],X=[];for(const J of D){let he=St({x:J,y:0,width:1,height:be},Lt.current.signal);typeof he!="object"&&(he=await he()),O.push(he),X.push(J-T)}if(O.length===1)P(O[0],X);else{const J=O.reduce((he,Q)=>he.map((ye,le)=>[...ye,...Q[le]]));P(J,X)}}}},[C,St,B,pn.copy,T,nt,be,qe]);Xt("copy",Ko,w,!1,!1);const ps=a.useCallback(async d=>{var p,D;if(!(!pn.cut||!(((p=nt.current)==null?void 0:p.contains(document.activeElement))===!0||((D=s.current)==null?void 0:D.contains(document.activeElement))===!0))&&(await Ko(d),B.current!==void 0)){let E={current:{cell:B.current.cell,range:B.current.range,rangeStack:[]},rows:lt.empty(),columns:lt.empty()};const P=ne==null?void 0:ne(E);if(P===!1||(E=P===!0?E:P,E.current===void 0))return;no(E.current.range)}},[no,B,pn.cut,Ko,nt,ne]);Xt("cut",ps,w,!1,!1);const vs=a.useCallback((d,v)=>{if(Se!==void 0){T!==0&&(d=d.map(E=>[E[0]-T,E[1]])),Se(d,v);return}if(d.length===0||v===-1)return;const[p,D]=d[v];f.current!==void 0&&f.current[0]===p&&f.current[1]===D||(f.current=[p,D],Yn(p,D,!1,!1))},[Se,T,Yn]),[Cr,xr]=((Ui=Et==null?void 0:Et.current)==null?void 0:Ui.cell)??[],kr=a.useRef(Mt);kr.current=Mt,a.useLayoutEffect(()=>{var d,v,p,D;ri.current&&!tt.current&&Cr!==void 0&&xr!==void 0&&(Cr!==((v=(d=yo.current)==null?void 0:d.current)==null?void 0:v.cell[0])||xr!==((D=(p=yo.current)==null?void 0:p.current)==null?void 0:D.cell[1]))&&kr.current(Cr,xr),tt.current=!1},[Cr,xr]);const Oi=B.current!==void 0&&(B.current.cell[0]>=Ye.length||B.current.cell[1]>=Kt);a.useLayoutEffect(()=>{Oi&&Ot(Fr,!1)},[Oi,Ot]);const Cs=a.useMemo(()=>wt===!0&&(Le==null?void 0:Le.tint)===!0?lt.fromSingleSelection(Kt-1):lt.empty(),[Kt,wt,Le==null?void 0:Le.tint]),xs=a.useCallback(d=>typeof $t=="boolean"?$t:($t==null?void 0:$t(d-T))??!0,[T,$t]),ks=a.useMemo(()=>{if(Jr===void 0||s.current===null)return null;const{bounds:d,group:v}=Jr,p=s.current.getBoundingClientRect();return a.createElement(jc,{bounds:d,group:v,canvasBounds:p,onClose:()=>Qr(void 0),onFinish:D=>{Qr(void 0),U==null||U(v,D)}})},[U,Jr]),Ss=Math.min(Ye.length,oe+(on?1:0));a.useImperativeHandle(t,()=>({appendRow:(d,v)=>vo(d+T,v),updateCells:d=>{var v;return T!==0&&(d=d.map(p=>({cell:[p.cell[0]+T,p.cell[1]]}))),(v=Tt.current)==null?void 0:v.damage(d)},getBounds:(d,v)=>{var p;if(!((s==null?void 0:s.current)===null||(nt==null?void 0:nt.current)===null)){if(d===void 0&&v===void 0){const D=s.current.getBoundingClientRect(),E=D.width/nt.current.clientWidth;return{x:D.x-nt.current.scrollLeft*E,y:D.y-nt.current.scrollTop*E,width:nt.current.scrollWidth*E,height:nt.current.scrollHeight*E}}return(p=Tt.current)==null?void 0:p.getBounds((d??0)+T,v)}},focus:()=>{var d;return(d=Tt.current)==null?void 0:d.focus()},emit:async d=>{switch(d){case"delete":Go({bounds:void 0,cancel:()=>{},stopPropagation:()=>{},preventDefault:()=>{},ctrlKey:!1,key:"Delete",keyCode:46,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case"fill-right":Go({bounds:void 0,cancel:()=>{},stopPropagation:()=>{},preventDefault:()=>{},ctrlKey:!0,key:"r",keyCode:82,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case"fill-down":Go({bounds:void 0,cancel:()=>{},stopPropagation:()=>{},preventDefault:()=>{},ctrlKey:!0,key:"d",keyCode:68,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case"copy":await Ko(void 0,!0);break;case"paste":await ii();break}},scrollTo:Mt,remeasureColumns:d=>{for(const v of d)pr(v+T)}}),[vo,pr,nt,Ko,Go,ii,T,Mt]);const[Ni,Xi]=Cn??[],Ms=a.useCallback(d=>{const[v,p]=d;if(p===-1){rt!=="none"&&(se(lt.fromSingleSelection(v),void 0,!1),_t());return}Ni===v&&Xi===p||(_({cell:d,range:{x:v,y:p,width:1,height:1}},!0,!1,"keyboard-nav"),Mt(v,p))},[rt,_t,Mt,Ni,Xi,_,se]),[Rs,Es]=a.useState(!1),Yi=a.useRef(kl(d=>{Es(d)},5)),Is=a.useCallback(()=>{Yi.current(!0),B.current===void 0&&B.columns.length===0&&B.rows.length===0&&c===void 0&&_({cell:[T,Nn],range:{x:T,y:Nn,width:1,height:1}},!0,!1,"keyboard-select")},[Nn,B,c,T,_]),Ds=a.useCallback(()=>{Yi.current(!1)},[]),[Fs,Hs]=a.useMemo(()=>{let d;const v=(Dt==null?void 0:Dt.scrollbarWidthOverride)??mi(),p=be+(wt?1:0);if(typeof bn=="number")d=Nt+p*bn;else{let E=0;const P=Math.min(p,10);for(let A=0;AP.width+E,0)+v;return[`${Math.min(1e5,D)}px`,`${Math.min(1e5,d)}px`]},[Ye,Dt==null?void 0:Dt.scrollbarWidthOverride,bn,be,wt,Nt]),Ts=a.useMemo(()=>ka(ce),[ce]);return a.createElement(Nl.Provider,{value:ce},a.createElement(ud,{style:Ts,className:ae,inWidth:y??Fs,inHeight:b??Hs},a.createElement(Uc,{fillHandle:Ao,drawFocusRing:vt,experimental:Dt,fixedShadowX:Ft,fixedShadowY:zt,getRowThemeOverride:nn,headerIcons:In,imageWindowLoader:rr,initialSize:Bn,isDraggable:Dn,onDragLeave:Fn,onRowMoved:wn,overscrollX:ur,overscrollY:fr,preventDiagonalScrolling:ao,rightElement:co,rightElementProps:uo,smoothScrollX:Zn,smoothScrollY:Ln,className:ae,enableGroups:Ct,onCanvasFocused:Is,onCanvasBlur:Ds,canvasRef:s,onContextMenu:bs,theme:ce,cellXOffset:vn,cellYOffset:Nn,accessibilityHeight:Pt.height,onDragEnd:gs,columns:Ye,nonGrowWidth:Xe,drawHeader:K,onColumnProposeMove:R,drawCell:de,disabledRows:Cs,freezeColumns:Ss,lockColumns:T,firstColAccessible:T===0,getCellContent:jt,minColumnWidth:yn,maxColumnWidth:dn,searchInputRef:l,showSearch:Gr,onSearchClose:Kr,highlightRegions:rs,getCellsForSelection:St,getGroupDetails:jr,headerHeight:Po,isFocused:Rs,groupHeaderHeight:Ct?Wo:0,freezeTrailingRows:je+(wt&&(Le==null?void 0:Le.sticky)===!0?1:0),hasAppendRow:wt,onColumnResize:On,onColumnResizeEnd:Vr,onColumnResizeStart:k,onCellFocused:Ms,onColumnMoved:fs,onDragStart:hs,onHeaderMenuClick:cs,onHeaderIndicatorClick:ds,onItemHovered:oi,isFilling:(c==null?void 0:c.fillHandle)===!0,onMouseMove:as,onKeyDown:Go,onKeyUp:ot,onMouseDown:is,onMouseUp:ss,onDragOverCell:_e,onDrop:kt,onSearchResultsChanged:vs,onVisibleRegionChanged:us,clientSize:ue,rowHeight:bn,searchResults:ve,searchValue:De,onSearchValueChange:V,rows:Kt,scrollRef:nt,selection:B,translateX:Pt.tx,translateY:Pt.ty,verticalBorder:xs,gridRef:Tt,getCellRenderer:Ie,resizeIndicator:Xr}),ks,r!==void 0&&a.createElement(a.Suspense,{fallback:null},a.createElement(xd,{...r,validateCell:wo,bloom:W,id:ys,getCellRenderer:Ie,className:(Dt==null?void 0:Dt.isSubGrid)===!0?"click-outside-ignore":void 0,provideEditor:Rn,imageEditorOverride:m,onFinishEditing:ws,markdownDivCreateNode:h,isOutsideClick:Pn}))))},Rd=a.forwardRef(Md),pl=20,Ed={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??"false"},kind:Z.Boolean,needsHover:!0,useLabel:!1,needsHoverPosition:!0,measure:()=>50,draw:e=>Id(e,e.cell.data,gi(e.cell),e.cell.maxSize??pl),onDelete:e=>({...e,data:!1}),onClick:e=>{const{cell:t,posX:n,posY:o,bounds:r,theme:i}=e,{width:l,height:s,x:c,y:u}=r,f=t.maxSize??pl,w=Math.floor(r.y+s/2),m=El(f,s,i.cellVerticalPadding),g=Rl(t.contentAlign??"center",c,l,i.cellHorizontalPadding,m),h=Ml(g,w,m),y=Il(c+n,u+o,h);if(gi(t)&&y)return{...t,data:ts(t.data)}},onPaste:(e,t)=>{let n=Tr;return e.toLowerCase()==="true"?n=!0:e.toLowerCase()==="false"?n=!1:e.toLowerCase()==="indeterminate"&&(n=vi),n===t.data?void 0:{...t,data:n}}};function Id(e,t,n,o){if(!n&&t===Tr)return;const{ctx:r,hoverAmount:i,theme:l,rect:s,highlighted:c,hoverX:u,hoverY:f,cell:{contentAlign:w}}=e,{x:m,y:g,width:h,height:y}=s,b=.35;let C=n?1-b+b*i:.4;t===Tr&&(C*=i),C!==0&&(r.globalAlpha=C,Ri(r,l,t,m,g,h,y,c,u,f,o,w),r.globalAlpha=1)}const Dd=en("div")({name:"BubblesOverlayEditorStyle",class:"gdg-b1ygi5by",propsAsIs:!1}),Fd=e=>{const{bubbles:t}=e;return a.createElement(Dd,null,t.map((n,o)=>a.createElement("div",{key:o,className:"boe-bubble"},n)),a.createElement("textarea",{className:"gdg-input",autoFocus:!0}))},Hd=Fd,Td={getAccessibilityString:e=>Dl(e.data),kind:Z.Bubble,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,n)=>t.data.reduce((o,r)=>e.measureText(r).width+o+20,0)+2*n.cellHorizontalPadding-4,draw:e=>zd(e,e.cell.data),provideEditor:()=>e=>{const{value:t}=e;return a.createElement(Hd,{bubbles:t.data})},onPaste:()=>{}},Ad=4;function zd(e,t){const{rect:n,theme:o,ctx:r,highlighted:i}=e,{x:l,y:s,width:c,height:u}=n,f=20,w=8,m=Ad;let g=l+o.cellHorizontalPadding;const h=[];for(const y of t){if(g>l+c)break;const b=To(y,r,o.baseFontFull).width;h.push({x:g,width:b}),g+=b+w*2+m}r.beginPath();for(const y of h)Mn(r,y.x,s+(u-f)/2,y.width+w*2,f,o.roundingRadius??f/2);r.fillStyle=i?o.bgBubbleSelected:o.bgBubble,r.fill();for(const[y,b]of h.entries())r.beginPath(),r.fillStyle=o.textBubble,r.fillText(t[y],b.x+w,s+u/2+Vn(r,o))}const Bd=en("div")({name:"DrilldownOverlayEditorStyle",class:"gdg-d4zsq0x",propsAsIs:!1}),Ld=e=>{const{drilldowns:t}=e;return a.createElement(Bd,null,t.map((n,o)=>a.createElement("div",{key:o,className:"doe-bubble"},n.img!==void 0&&a.createElement("img",{src:n.img}),a.createElement("div",null,n.text))))},Pd=Ld,Wd={getAccessibilityString:e=>Dl(e.data.map(t=>t.text)),kind:Z.Drilldown,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,n)=>t.data.reduce((o,r)=>e.measureText(r.text).width+o+20+(r.img!==void 0?18:0),0)+2*n.cellHorizontalPadding-4,draw:e=>Nd(e,e.cell.data),provideEditor:()=>e=>{const{value:t}=e;return a.createElement(Pd,{drilldowns:t.data})},onPaste:()=>{}},$d=4,ui={};function Od(e,t,n,o){const r=Math.ceil(window.devicePixelRatio),i=5,l=n-i*2,s=4,c=n*r,u=o+i,f=o*3,w=(f+i*2)*r,m=`${e},${t},${r},${n}`;if(ui[m]!==void 0)return{el:ui[m],height:c,width:w,middleWidth:s*r,sideWidth:u*r,padding:i*r,dpr:r};const g=document.createElement("canvas"),h=g.getContext("2d");return h===null?null:(g.width=w,g.height=c,h.scale(r,r),ui[m]=g,h.beginPath(),Mn(h,i,i,f,l,o),h.shadowColor="rgba(24, 25, 34, 0.4)",h.shadowBlur=1,h.fillStyle=e,h.fill(),h.shadowColor="rgba(24, 25, 34, 0.3)",h.shadowOffsetY=1,h.shadowBlur=5,h.fillStyle=e,h.fill(),h.shadowOffsetY=0,h.shadowBlur=0,h.shadowBlur=0,h.beginPath(),Mn(h,i+.5,i+.5,f,l,o),h.strokeStyle=t,h.lineWidth=1,h.stroke(),{el:g,height:c,width:w,sideWidth:u*r,middleWidth:o*r,padding:i*r,dpr:r})}function Nd(e,t){const{rect:n,theme:o,ctx:r,imageLoader:i,col:l,row:s}=e,{x:c,width:u}=n,f=o.baseFontFull,w=Ll(r,f),m=Math.min(n.height,Math.max(16,Math.ceil(w*o.lineHeight)*2)),g=Math.floor(n.y+(n.height-m)/2),h=m-10,y=8,b=$d;let C=c+o.cellHorizontalPadding;const x=o.roundingRadius??6,F=Od(o.bgCell,o.drilldownBorder,m,x),Y=[];for(const N of t){if(C>c+u)break;const H=To(N.text,r,f).width;let G=0;N.img!==void 0&&i.loadOrGetImage(N.img,l,s)!==void 0&&(G=h-8+4);const S=H+G+y*2;Y.push({x:C,width:S}),C+=S+b}if(F!==null){const{el:N,height:z,middleWidth:H,sideWidth:G,width:S,dpr:$,padding:W}=F,I=G/$,R=W/$;for(const M of Y){const ee=Math.floor(M.x),te=Math.floor(M.width),ae=te-(I-R)*2;r.imageSmoothingEnabled=!1,r.drawImage(N,0,0,G,z,ee-R,g,I,m),ae>0&&r.drawImage(N,G,0,H,z,ee+(I-R),g,ae,m),r.drawImage(N,S-G,0,G,z,ee+te-(I-R),g,I,m),r.imageSmoothingEnabled=!0}}r.beginPath();for(const[N,z]of Y.entries()){const H=t[N];let G=z.x+y;if(H.img!==void 0){const S=i.loadOrGetImage(H.img,l,s);if(S!==void 0){const $=h-8;let W=0,I=0,R=S.width,M=S.height;R>M?(W+=(R-M)/2,R=M):M>R&&(I+=(M-R)/2,M=R),r.beginPath(),Mn(r,G,g+m/2-$/2,$,$,o.roundingRadius??3),r.save(),r.clip(),r.drawImage(S,W,I,R,M,G,g+m/2-$/2,$,$),r.restore(),G+=$+4}}r.beginPath(),r.fillStyle=o.textBubble,r.fillText(H.text,G,g+m/2+Vn(r,o))}}const Xd={getAccessibilityString:e=>e.data.join(", "),kind:Z.Image,needsHover:!1,useLabel:!1,needsHoverPosition:!1,draw:e=>Yd(e,e.cell.displayData??e.cell.data,e.cell.rounding??e.theme.roundingRadius??4,e.cell.contentAlign),measure:(e,t)=>t.data.length*50,onDelete:e=>({...e,data:[]}),provideEditor:()=>e=>{const{value:t,onFinishedEditing:n,imageEditorOverride:o}=e,r=o??ta;return a.createElement(r,{urls:t.data,canWrite:t.readonly!==!1,onCancel:n,onChange:i=>{n({...t,data:[i]})}})},onPaste:(e,t)=>{e=e.trim();const o=e.split(",").map(r=>{try{return new URL(r),r}catch{return}}).filter(r=>r!==void 0);if(!(o.length===t.data.length&&o.every((r,i)=>r===t.data[i])))return{...t,data:o}}},fi=4;function Yd(e,t,n,o){const{rect:r,col:i,row:l,theme:s,ctx:c,imageLoader:u}=e,{x:f,y:w,height:m,width:g}=r,h=m-s.cellVerticalPadding*2,y=[];let b=0;for(let x=0;x0&&(c.beginPath(),Mn(c,C,w+s.cellVerticalPadding,F,h,n),c.save(),c.clip()),c.drawImage(x,C,w+s.cellVerticalPadding,F,h),n>0&&c.restore(),C+=F+fi}}function Gd(e,t){let n=e*49632+t*325176;return n^=n<<13,n^=n>>17,n^=n<<5,n/4294967295*2}const Kd={getAccessibilityString:()=>"",kind:Z.Loading,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:()=>120,draw:e=>{const{cell:t,col:n,row:o,ctx:r,rect:i,theme:l}=e;if(t.skeletonWidth===void 0||t.skeletonWidth===0)return;let s=t.skeletonWidth;t.skeletonWidthVariability!==void 0&&t.skeletonWidthVariability>0&&(s+=Math.round(Gd(n,o)*t.skeletonWidthVariability));const c=l.cellHorizontalPadding,u=t.skeletonHeight??Math.min(18,i.height-2*l.cellVerticalPadding);Mn(r,i.x+c,i.y+(i.height-u)/2,s,u,l.roundingRadius??3),r.fillStyle=lo(l.textDark,.1),r.fill()},onPaste:()=>{}},Ud=()=>e=>e.targetWidth,vl=en("div")({name:"MarkdownOverlayEditorStyle",class:"gdg-m1pnx84e",propsAsIs:!1,vars:{"m1pnx84e-0":[Ud(),"px"]}}),_d=e=>{const{value:t,onChange:n,forceEditMode:o,createNode:r,targetRect:i,onFinish:l,validatedSelection:s}=e,c=t.data,u=t.readonly===!0,[f,w]=a.useState(c===""||o),m=a.useCallback(()=>{w(h=>!h)},[]),g=c?"gdg-ml-6":"";return f?a.createElement(vl,{targetWidth:i.width-20},a.createElement(Wr,{autoFocus:!0,highlight:!1,validatedSelection:s,value:c,onKeyDown:h=>{h.key==="Enter"&&h.stopPropagation()},onChange:n}),a.createElement("div",{className:`gdg-edit-icon gdg-checkmark-hover ${g}`,onClick:()=>l(t)},a.createElement(Vs,null))):a.createElement(vl,{targetWidth:i.width},a.createElement(oa,{contents:c,createNode:r}),!u&&a.createElement(a.Fragment,null,a.createElement("div",{className:"spacer"}),a.createElement("div",{className:`gdg-edit-icon gdg-edit-hover ${g}`,onClick:m},a.createElement(Ci,null))),a.createElement("textarea",{className:"gdg-md-edit-textarea gdg-input",autoFocus:!0}))},Vd={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:Z.Markdown,needsHover:!1,needsHoverPosition:!1,drawPrep:or,measure:(e,t,n)=>{const o=t.data.split(` -`)[0];return e.measureText(o).width+2*n.cellHorizontalPadding},draw:e=>Sn(e,e.cell.data,e.cell.contentAlign),onDelete:e=>({...e,data:""}),provideEditor:()=>e=>{const{onChange:t,value:n,target:o,onFinishedEditing:r,markdownDivCreateNode:i,forceEditMode:l,validatedSelection:s}=e;return a.createElement(_d,{onFinish:r,targetRect:o,value:n,validatedSelection:s,onChange:c=>t({...n,data:c.target.value}),forceEditMode:l,createNode:i})},onPaste:(e,t)=>e===t.data?void 0:{...t,data:e}},qd={getAccessibilityString:e=>e.row.toString(),kind:cn.Marker,needsHover:!0,needsHoverPosition:!1,drawPrep:jd,measure:()=>44,draw:e=>Jd(e,e.cell.row,e.cell.checked,e.cell.markerKind,e.cell.drawHandle,e.cell.checkboxStyle),onClick:e=>{const{bounds:t,cell:n,posX:o,posY:r}=e,{width:i,height:l}=t,s=n.drawHandle?7+(i-7)/2:i/2,c=l/2;if(Math.abs(o-s)<=10&&Math.abs(r-c)<=10)return{...n,checked:!n.checked}},onPaste:()=>{}};function jd(e,t){const{ctx:n,theme:o}=e,r=o.markerFontFull,i=t??{};return(i==null?void 0:i.font)!==r&&(n.font=r,i.font=r),i.deprep=Zd,n.textAlign="center",i}function Zd(e){const{ctx:t}=e;t.textAlign="start"}function Jd(e,t,n,o,r,i){const{ctx:l,rect:s,hoverAmount:c,theme:u}=e,{x:f,y:w,width:m,height:g}=s,h=n?1:o==="checkbox-visible"?.6+.4*c:c;if(o!=="number"&&h>0){l.globalAlpha=h;const y=7*(n?c:1);if(Ri(l,u,n,r?f+y:f,w,r?m-y:m,g,!0,void 0,void 0,18,"center",i),r){l.globalAlpha=c,l.beginPath();for(const b of[3,6])for(const C of[-5,-1,3])l.rect(f+b,w+g/2+C,2,2);l.fillStyle=u.textLight,l.fill(),l.beginPath()}l.globalAlpha=1}if(o==="number"||o==="both"&&!n){const y=t.toString(),b=u.markerFontFull,C=f+m/2;o==="both"&&c!==0&&(l.globalAlpha=1-c),l.fillStyle=u.textLight,l.font=b,l.fillText(y,C,w+g/2+Vn(l,b)),c!==0&&(l.globalAlpha=1)}}const Qd={getAccessibilityString:()=>"",kind:cn.NewRow,needsHover:!0,needsHoverPosition:!1,measure:()=>200,draw:e=>eu(e,e.cell.hint,e.cell.icon),onPaste:()=>{}};function eu(e,t,n){const{ctx:o,rect:r,hoverAmount:i,theme:l,spriteManager:s}=e,{x:c,y:u,width:f,height:w}=r;o.beginPath(),o.globalAlpha=i,o.rect(c+1,u+1,f,w-2),o.fillStyle=l.bgHeaderHovered,o.fill(),o.globalAlpha=1,o.beginPath();const m=t!=="";let g=0;if(n!==void 0){const y=w-8,b=c+8/2,C=u+8/2;s.drawSprite(n,"normal",o,b,C,y,l,m?1:i),g=y}else{g=24;const h=12,y=m?h:i*h,b=m?0:(1-i)*h*.5,C=l.cellHorizontalPadding+4;y>0&&(o.moveTo(c+C+b,u+w/2),o.lineTo(c+C+b+y,u+w/2),o.moveTo(c+C+b+y*.5,u+w/2-y*.5),o.lineTo(c+C+b+y*.5,u+w/2+y*.5),o.lineWidth=2,o.strokeStyle=l.bgIconHeader,o.lineCap="round",o.stroke())}o.fillStyle=l.textMedium,o.fillText(t,g+c+l.cellHorizontalPadding+.5,u+w/2+Vn(o,l)),o.beginPath()}const tu=a.lazy(async()=>await xl(()=>import("./number-overlay-editor-3ljU3NGx.js"),__vite__mapDeps([8,1,3,9]),import.meta.url)),nu={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:Z.Number,needsHover:!1,needsHoverPosition:!1,useLabel:!0,drawPrep:or,draw:e=>Sn(e,e.cell.displayData,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.displayData).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:void 0}),provideEditor:()=>e=>{const{isHighlighted:t,onChange:n,value:o,validatedSelection:r}=e;return a.createElement(a.Suspense,{fallback:null},a.createElement(tu,{highlight:t,disabled:o.readonly===!0,value:o.data,fixedDecimals:o.fixedDecimals,allowNegative:o.allowNegative,thousandSeparator:o.thousandSeparator,decimalSeparator:o.decimalSeparator,validatedSelection:r,onChange:i=>n({...o,data:Number.isNaN(i.floatValue??0)?0:i.floatValue})}))},onPaste:(e,t,n)=>{const o=typeof n.rawValue=="number"?n.rawValue:Number.parseFloat(typeof n.rawValue=="string"?n.rawValue:e);if(!(Number.isNaN(o)||t.data===o))return{...t,data:o,displayData:n.formattedString??t.displayData}}},ou={getAccessibilityString:()=>"",measure:()=>108,kind:Z.Protected,needsHover:!1,needsHoverPosition:!1,draw:ru,onPaste:()=>{}};function ru(e){const{ctx:t,theme:n,rect:o}=e,{x:r,y:i,height:l}=o;t.beginPath();const s=2.5;let c=r+n.cellHorizontalPadding+s;const u=i+l/2,f=Math.cos(Ji(30))*s,w=Math.sin(Ji(30))*s;for(let m=0;m<12;m++)t.moveTo(c,u-s),t.lineTo(c,u+s),t.moveTo(c+f,u-w),t.lineTo(c-f,u+w),t.moveTo(c-f,u-w),t.lineTo(c+f,u+w),c+=8;t.lineWidth=1.1,t.lineCap="square",t.strokeStyle=n.textLight,t.stroke()}const iu={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:Z.RowID,needsHover:!1,needsHoverPosition:!1,drawPrep:(e,t)=>or(e,t,e.theme.textLight),draw:e=>Sn(e,e.cell.data,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.data).width+n.cellHorizontalPadding*2,provideEditor:()=>e=>{const{isHighlighted:t,onChange:n,value:o,validatedSelection:r}=e;return yt.createElement(Wr,{highlight:t,autoFocus:o.readonly!==!0,disabled:o.readonly!==!1,value:o.data,validatedSelection:r,onChange:i=>n({...o,data:i.target.value})})},onPaste:()=>{}},lu={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:Z.Text,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!1,drawPrep:or,useLabel:!0,draw:e=>{const{cell:t,hoverAmount:n,hyperWrapping:o,ctx:r,rect:i,theme:l,overrideCursor:s}=e,{displayData:c,contentAlign:u,hoverEffect:f,allowWrapping:w}=t;if(f===!0&&n>0){r.textBaseline="alphabetic";const m=l.cellHorizontalPadding,g=l.cellVerticalPadding,h=To(c,r,l.baseFontFull,"alphabetic"),y=i.height-g,b=Math.min(y,h.actualBoundingBoxAscent*2.5);r.beginPath(),Mn(r,i.x+m/2,i.y+(i.height-b)/2+1,h.width+m*3,b-1,l.roundingRadius??4),r.globalAlpha=n,r.fillStyle=lo(l.textDark,.1),r.fill(),r.globalAlpha=1,r.fillStyle=l.textDark,r.textBaseline="middle",s==null||s("text")}Sn(e,c,u,w,o)},measure:(e,t,n)=>{const o=t.displayData.split(` -`,t.allowWrapping===!0?void 0:1);let r=0;for(const i of o)r=Math.max(r,e.measureText(i).width);return r+2*n.cellHorizontalPadding},onDelete:e=>({...e,data:""}),provideEditor:e=>({disablePadding:e.allowWrapping===!0,editor:t=>{const{isHighlighted:n,onChange:o,value:r,validatedSelection:i}=t;return a.createElement(Wr,{style:e.allowWrapping===!0?{padding:"3px 8.5px"}:void 0,highlight:n,autoFocus:r.readonly!==!0,disabled:r.readonly===!0,altNewline:!0,value:r.data,validatedSelection:i,onChange:l=>o({...r,data:l.target.value})})}}),onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}},su=en("div")({name:"UriOverlayEditorStyle",class:"gdg-u1rrojo",propsAsIs:!1}),au=e=>{const{uri:t,onChange:n,forceEditMode:o,readonly:r,validatedSelection:i,preview:l}=e,[s,c]=a.useState(!r&&(t===""||o)),u=a.useCallback(()=>{c(!0)},[]);return s?a.createElement(Wr,{validatedSelection:i,highlight:!0,autoFocus:!0,value:t,onChange:n}):a.createElement(su,null,a.createElement("a",{className:"gdg-link-area",href:t,target:"_blank",rel:"noopener noreferrer"},l),!r&&a.createElement("div",{className:"gdg-edit-icon",onClick:u},a.createElement(Ci,null)),a.createElement("textarea",{className:"gdg-input",autoFocus:!0}))},cu=au;function Cl(e,t,n,o){let r=n.cellHorizontalPadding;const i=t.height/2-e.actualBoundingBoxAscent/2,l=e.width,s=e.actualBoundingBoxAscent;return o==="right"?r=t.width-l-n.cellHorizontalPadding:o==="center"&&(r=t.width/2-l/2),{x:r,y:i,width:l,height:s}}const du={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:Z.Uri,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!0,useLabel:!0,drawPrep:or,draw:e=>{const{cell:t,theme:n,overrideCursor:o,hoverX:r,hoverY:i,rect:l,ctx:s}=e,c=t.displayData??t.data,u=t.hoverEffect===!0;if(o!==void 0&&u&&r!==void 0&&i!==void 0){const f=To(c,s,n.baseFontFull),w=Cl(f,l,n,t.contentAlign),{x:m,y:g,width:h,height:y}=w;if(r>=m-4&&r<=m-4+h+8&&i>=g-4&&i<=g-4+y+8){const b=Vn(s,n.baseFontFull);o("pointer");const C=5,x=g-b;s.beginPath(),s.moveTo(l.x+m,Math.floor(l.y+x+y+C)+.5),s.lineTo(l.x+m+h,Math.floor(l.y+x+y+C)+.5),s.strokeStyle=n.linkColor,s.stroke(),s.save(),s.fillStyle=e.cellFillColor,Sn({...e,rect:{...l,x:l.x-1}},c,t.contentAlign),Sn({...e,rect:{...l,x:l.x-2}},c,t.contentAlign),Sn({...e,rect:{...l,x:l.x+1}},c,t.contentAlign),Sn({...e,rect:{...l,x:l.x+2}},c,t.contentAlign),s.restore()}}s.fillStyle=u?n.linkColor:n.textDark,Sn(e,c,t.contentAlign)},onClick:e=>{const{cell:t,bounds:n,posX:o,posY:r,theme:i}=e,l=t.displayData??t.data;if(t.hoverEffect!==!0||t.onClickUri===void 0)return;const s=zl(l,i.baseFontFull);if(s===void 0)return;const c=Cl(s,n,i,t.contentAlign);Io({x:c.x-4,y:c.y-4,width:c.width+8,height:c.height+8},o,r)&&t.onClickUri(e)},measure:(e,t,n)=>e.measureText(t.displayData??t.data).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:""}),provideEditor:e=>t=>{const{onChange:n,value:o,forceEditMode:r,validatedSelection:i}=t;return a.createElement(cu,{forceEditMode:o.readonly!==!0&&(r||e.hoverEffect===!0&&e.onClickUri!==void 0),uri:o.data,preview:o.displayData??o.data,validatedSelection:i,readonly:o.readonly===!0,onChange:l=>n({...o,data:l.target.value})})},onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}},uu=[qd,Qd,Ed,Td,Wd,Xd,Kd,Vd,nu,ou,iu,lu,du],hi=[];class fu extends Wl{constructor(){super(...arguments);$e(this,"imageLoaded",()=>{});$e(this,"loadedLocations",[]);$e(this,"cache",{});$e(this,"sendLoaded",Os(()=>{this.imageLoaded(new Qo(this.loadedLocations)),this.loadedLocations=[]},20));$e(this,"clearOutOfWindow",()=>{const n=Object.keys(this.cache);for(const o of n){const r=this.cache[o];let i=!1;for(let l=0;l{c||(c=!0,hi.length<12?hi.unshift(s):l||(s.src=""))}},f=new Promise(w=>s.addEventListener("load",()=>w(null)));requestAnimationFrame(async()=>{try{s.src=n,await f,await s.decode();const w=this.cache[i];if(w!==void 0&&!c){w.img=s;for(const m of w.cells)this.loadedLocations.push(Mi(m));l=!0,this.sendLoaded()}}catch{u.cancel()}}),this.cache[i]=u}loadOrGetImage(n,o,r){const i=n,l=this.cache[i];if(l!==void 0){const s=mn(o,r);return l.cells.includes(s)||l.cells.push(s),l.img}else this.loadImage(n,o,r,i)}}const hu=fu,gu=(e,t)=>{const n=a.useMemo(()=>({...ec,...e.headerIcons}),[e.headerIcons]),o=a.useMemo(()=>e.imageWindowLoader??new hu,[e.imageWindowLoader]);return a.createElement(Rd,{...e,renderers:uu,headerIcons:n,ref:t,imageWindowLoader:o})},Ru=a.forwardRef(gu);export{_c as C,Ru as D,Z as G,Nl as T,Wr as a,Qt as b,ku as c,Su as d,Cu as e,Mo as f,Vn as g,qi as h,xu as i,Ro as j,Gs as k,ka as l,To as m,Fo as p,Mn as r,Mu as u}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["./data-grid-overlay-editor-xO4XWyG_.js","./index-BMVQvedj.js","./index-wocATsGp.js","./marked.esm-dbrxtycE.js","./iframe-lQqvcp2b.js","./throttle-7EuXLZa7.js","./_baseIteratee-WTHxv43n.js","./flatten-qRvRBp6y.js","./number-overlay-editor-3ljU3NGx.js","./react-number-format.es-2Vaki8Uh.js"] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} \ No newline at end of file diff --git a/docs/assets/data-editor-repros.stories-k_HFRk8A.js b/docs/assets/data-editor-repros.stories-xR5iEpqT.js similarity index 92% rename from docs/assets/data-editor-repros.stories-k_HFRk8A.js rename to docs/assets/data-editor-repros.stories-xR5iEpqT.js index 68eb3fee0..f022b8569 100644 --- a/docs/assets/data-editor-repros.stories-k_HFRk8A.js +++ b/docs/assets/data-editor-repros.stories-xR5iEpqT.js @@ -1,4 +1,4 @@ -import{j as t,a as m,s as w}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{B as f}from"./story-utils-K2EZnGjM.js";import{G as p}from"./image-window-loader-aMebukIX.js";import{D as g}from"./data-editor-all-kwt0I9Kc.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";const{useState:T,useMemo:S}=__STORYBOOK_MODULE_ADDONS__,$={title:"Tests/TestCases/Bugs",decorators:[e=>t(f,{width:1e3,height:800,children:t(e,{})})]},A=([,e])=>({allowOverlay:!0,kind:p.Number,data:e,displayData:e.toString()}),x=()=>{},v=w("div")({name:"Bug70Style",class:"b1nvh7n2",propsAsIs:!1});function o(){return m(v,{className:"App",children:[t("p",{children:"To cause error: scroll down at least one row, edit a cell in Col2, and hit Tab"}),t("a",{href:"https://github.com/glideapps/glide-data-grid/issues/70",target:"_blank",rel:"noreferrer",children:"Original report"}),t(g,{width:500,height:500,rows:100,columns:[{title:"Col1",width:100},{title:"Col2",width:100}],getCellContent:A,onCellEdited:x})]})}const _=([e,r])=>({allowOverlay:!0,kind:p.Text,data:`${e} - ${r}`,displayData:`${e} - ${r}`}),l=[{title:"Col AAAA",width:120},{title:"Col AAA",width:120},{title:"Col AA",width:120},{title:"Col A",width:120},{title:"Col",width:120}];function n(){const[e,r]=T(""),C=S(()=>e===""?l:l.filter(s=>s.title.toLowerCase().includes(e.toLowerCase())),[e]);return m("div",{children:[t("input",{value:e,onChange:s=>{r(s.target.value)}}),t(g,{width:1e3,height:500,rows:100,columns:C,getCellContent:_,smoothScrollX:!0,smoothScrollY:!0})]})}var a,i,c;o.parameters={...o.parameters,docs:{...(a=o.parameters)==null?void 0:a.docs,source:{originalSource:`function Bug70() { +import{j as t,a as m,s as w}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{B as f}from"./story-utils-K2EZnGjM.js";import{G as p}from"./image-window-loader-Hk1rG8Sr.js";import{D as g}from"./data-editor-all-3W5wpw6K.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";const{useState:T,useMemo:S}=__STORYBOOK_MODULE_ADDONS__,$={title:"Tests/TestCases/Bugs",decorators:[e=>t(f,{width:1e3,height:800,children:t(e,{})})]},A=([,e])=>({allowOverlay:!0,kind:p.Number,data:e,displayData:e.toString()}),x=()=>{},v=w("div")({name:"Bug70Style",class:"b1nvh7n2",propsAsIs:!1});function o(){return m(v,{className:"App",children:[t("p",{children:"To cause error: scroll down at least one row, edit a cell in Col2, and hit Tab"}),t("a",{href:"https://github.com/glideapps/glide-data-grid/issues/70",target:"_blank",rel:"noreferrer",children:"Original report"}),t(g,{width:500,height:500,rows:100,columns:[{title:"Col1",width:100},{title:"Col2",width:100}],getCellContent:A,onCellEdited:x})]})}const _=([e,r])=>({allowOverlay:!0,kind:p.Text,data:`${e} - ${r}`,displayData:`${e} - ${r}`}),l=[{title:"Col AAAA",width:120},{title:"Col AAA",width:120},{title:"Col AA",width:120},{title:"Col A",width:120},{title:"Col",width:120}];function n(){const[e,r]=T(""),C=S(()=>e===""?l:l.filter(s=>s.title.toLowerCase().includes(e.toLowerCase())),[e]);return m("div",{children:[t("input",{value:e,onChange:s=>{r(s.target.value)}}),t(g,{width:1e3,height:500,rows:100,columns:C,getCellContent:_,smoothScrollX:!0,smoothScrollY:!0})]})}var a,i,c;o.parameters={...o.parameters,docs:{...(a=o.parameters)==null?void 0:a.docs,source:{originalSource:`function Bug70() { const cols = [{ title: "Col1", width: 100 diff --git a/docs/assets/data-editor.stories-xfc7Qva0.js b/docs/assets/data-editor.stories-HliuGAmP.js similarity index 98% rename from docs/assets/data-editor.stories-xfc7Qva0.js rename to docs/assets/data-editor.stories-HliuGAmP.js index 044fed26a..e2647e667 100644 --- a/docs/assets/data-editor.stories-xfc7Qva0.js +++ b/docs/assets/data-editor.stories-HliuGAmP.js @@ -1,4 +1,4 @@ -import{j as a}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{B as Me}from"./story-utils-K2EZnGjM.js";import{C,G as i}from"./image-window-loader-aMebukIX.js";import{D as c}from"./data-editor-all-kwt0I9Kc.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";const{useState:d,useCallback:m,useMemo:g}=__STORYBOOK_MODULE_ADDONS__,Fe={title:"Tests/TestCases",decorators:[e=>a(Me,{width:1e3,height:800,children:a(e,{})})]};function w([e,t]){return e===0?{kind:i.RowID,data:`RowID ${e}, ${t}`,allowOverlay:!1}:e===1?{kind:i.Bubble,data:[`Bub ${e}`,`Bub ${t}`,`Bub ${e}`,`Bub ${t}`,`Bub ${e}`,`Bub ${t}`,`Bub ${e}`,`Bub ${t}`,`Bub ${e}`,`Bub ${t}`],allowOverlay:!0}:e===2?{kind:i.Image,data:["https://i.imgur.com/5J0BftG.jpg","https://preview.redd.it/7jlqkp2cyap51.jpg?width=575&auto=webp&s=26fa9ed15b16fb450ee08ed1f2f0ccb5e0223581"],allowOverlay:!0,readonly:!1}:e===3?{kind:i.Markdown,data:`## Markdown has titles +import{j as a}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{B as Me}from"./story-utils-K2EZnGjM.js";import{C,G as i}from"./image-window-loader-Hk1rG8Sr.js";import{D as c}from"./data-editor-all-3W5wpw6K.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";const{useState:d,useCallback:m,useMemo:g}=__STORYBOOK_MODULE_ADDONS__,Fe={title:"Tests/TestCases",decorators:[e=>a(Me,{width:1e3,height:800,children:a(e,{})})]};function w([e,t]){return e===0?{kind:i.RowID,data:`RowID ${e}, ${t}`,allowOverlay:!1}:e===1?{kind:i.Bubble,data:[`Bub ${e}`,`Bub ${t}`,`Bub ${e}`,`Bub ${t}`,`Bub ${e}`,`Bub ${t}`,`Bub ${e}`,`Bub ${t}`,`Bub ${e}`,`Bub ${t}`],allowOverlay:!0}:e===2?{kind:i.Image,data:["https://i.imgur.com/5J0BftG.jpg","https://preview.redd.it/7jlqkp2cyap51.jpg?width=575&auto=webp&s=26fa9ed15b16fb450ee08ed1f2f0ccb5e0223581"],allowOverlay:!0,readonly:!1}:e===3?{kind:i.Markdown,data:`## Markdown has titles And supports newline chars and automatic wrapping text that just needs to be long enough to trigger it. diff --git a/docs/assets/data-grid-overlay-editor-xO4XWyG_.js b/docs/assets/data-grid-overlay-editor-8FOzbsOH.js similarity index 96% rename from docs/assets/data-grid-overlay-editor-xO4XWyG_.js rename to docs/assets/data-grid-overlay-editor-8FOzbsOH.js index 3c9afb5c4..c43254fdd 100644 --- a/docs/assets/data-grid-overlay-editor-xO4XWyG_.js +++ b/docs/assets/data-grid-overlay-editor-8FOzbsOH.js @@ -1 +1 @@ -import{r}from"./index-BMVQvedj.js";import{r as $}from"./index-wocATsGp.js";import{f as w,j as z,k as J,T as Q,C as U,l as Z}from"./data-editor-all-y1NNmvAL.js";import{s as ee}from"./marked.esm-dbrxtycE.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";const te=()=>t=>t.targetX,re=()=>t=>t.targetY,ne=()=>t=>t.targetWidth,ie=()=>t=>t.targetHeight,se=()=>t=>t.targetY+10,ae=()=>t=>Math.max(0,(t.targetHeight-28)/2),oe=ee("div")({name:"DataGridOverlayEditorStyle",class:"gdg-d19meir1",propsAsIs:!1,vars:{"d19meir1-0":[re(),"px"],"d19meir1-1":[te(),"px"],"d19meir1-2":[ne(),"px"],"d19meir1-3":[ie(),"px"],"d19meir1-4":[se(),"px"],"d19meir1-5":[ae(),"px"]}});function de(){const[t,s]=r.useState();return[t??void 0,s]}function le(){const[t,s]=de(),[i,y]=r.useState(0),[g,O]=r.useState(!0);r.useLayoutEffect(()=>{if(t===void 0||!("IntersectionObserver"in window))return;const a=new IntersectionObserver(o=>{o.length!==0&&O(o[0].isIntersecting)},{threshold:1});return a.observe(t),()=>a.disconnect()},[t]),r.useEffect(()=>{if(g||t===void 0)return;let a;const o=()=>{const{right:S}=t.getBoundingClientRect();y(p=>Math.min(p+window.innerWidth-S-10,0)),a=requestAnimationFrame(o)};return a=requestAnimationFrame(o),()=>{a!==void 0&&cancelAnimationFrame(a)}},[t,g]);const b=r.useMemo(()=>({transform:`translateX(${i}px)`}),[i]);return{ref:s,style:b}}const Ce=t=>{const{target:s,content:i,onFinishEditing:y,forceEditMode:g,initialValue:O,imageEditorOverride:b,markdownDivCreateNode:a,highlight:o,className:S,theme:p,id:H,cell:k,bloom:c,validateCell:d,getCellRenderer:F,provideEditor:h,isOutsideClick:X}=t,[l,j]=r.useState(g?i:void 0),v=r.useRef(l??i);v.current=l??i;const[E,R]=r.useState(()=>d===void 0?!0:!(w(i)&&(d==null?void 0:d(k,i,v.current))===!1)),f=r.useCallback((e,n)=>{y(E?e:void 0,n)},[E,y]),A=r.useCallback(e=>{if(d!==void 0&&e!==void 0&&w(e)){const n=d(k,e,v.current);n===!1?R(!1):(typeof n=="object"&&(e=n),R(!0))}j(e)},[k,d]),C=r.useRef(!1),m=r.useRef(void 0),K=r.useCallback(()=>{f(l,[0,0]),C.current=!0},[l,f]),W=r.useCallback((e,n)=>{f(e,n??m.current??[0,0]),C.current=!0},[f]),Y=r.useCallback(async e=>{let n=!1;e.key==="Escape"?(e.stopPropagation(),e.preventDefault(),m.current=[0,0]):e.key==="Enter"&&!e.shiftKey?(e.stopPropagation(),e.preventDefault(),m.current=[0,1],n=!0):e.key==="Tab"&&(e.stopPropagation(),e.preventDefault(),m.current=[e.shiftKey?-1:1,0],n=!0),window.setTimeout(()=>{!C.current&&m.current!==void 0&&(f(n?l:void 0,m.current),C.current=!0)},0)},[f,l]),D=l??i,[u,q]=r.useMemo(()=>{var n,G;if(z(i))return[];const e=h==null?void 0:h(i);return e!==void 0?[e,!1]:[(G=(n=F(i))==null?void 0:n.provideEditor)==null?void 0:G.call(n,i),!1]},[i,F,h]),{ref:B,style:L}=le();let P=!0,M,_=!0,x;if(u!==void 0){P=u.disablePadding!==!0,_=u.disableStyling!==!0;const e=J(u);e&&(x=u.styleOverride);const n=e?u.editor:u;M=r.createElement(n,{isHighlighted:o,onChange:A,value:D,initialValue:O,onFinishedEditing:W,validatedSelection:w(D)?D.selectionRange:void 0,forceEditMode:g,target:s,imageEditorOverride:b,markdownDivCreateNode:a,isValid:E,theme:p})}x={...x,...L};const N=document.getElementById("portal");if(N===null)return console.error('Cannot open Data Grid overlay editor, because portal not found. Please add `
` as the last child of your ``.'),null;let I=_?"gdg-style":"gdg-unstyle";E||(I+=" gdg-invalid"),P&&(I+=" gdg-pad");const T=(c==null?void 0:c[0])??1,V=(c==null?void 0:c[1])??1;return $.createPortal(r.createElement(Q.Provider,{value:p},r.createElement(U,{style:Z(p),className:S,onClickOutside:K,isOutsideClick:X},r.createElement(oe,{ref:B,id:H,className:I,style:x,as:q===!0?"label":void 0,targetX:s.x-T,targetY:s.y-V,targetWidth:s.width+T*2,targetHeight:s.height+V*2},r.createElement("div",{className:"gdg-clip-region",onKeyDown:Y},M)))),N)};export{Ce as default}; +import{r}from"./index-BMVQvedj.js";import{r as $}from"./index-wocATsGp.js";import{f as w,j as z,k as J,T as Q,C as U,l as Z}from"./data-editor-all-ql0Al2pT.js";import{s as ee}from"./marked.esm-dbrxtycE.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";const te=()=>t=>t.targetX,re=()=>t=>t.targetY,ne=()=>t=>t.targetWidth,ie=()=>t=>t.targetHeight,se=()=>t=>t.targetY+10,ae=()=>t=>Math.max(0,(t.targetHeight-28)/2),oe=ee("div")({name:"DataGridOverlayEditorStyle",class:"gdg-d19meir1",propsAsIs:!1,vars:{"d19meir1-0":[re(),"px"],"d19meir1-1":[te(),"px"],"d19meir1-2":[ne(),"px"],"d19meir1-3":[ie(),"px"],"d19meir1-4":[se(),"px"],"d19meir1-5":[ae(),"px"]}});function de(){const[t,s]=r.useState();return[t??void 0,s]}function le(){const[t,s]=de(),[i,y]=r.useState(0),[g,O]=r.useState(!0);r.useLayoutEffect(()=>{if(t===void 0||!("IntersectionObserver"in window))return;const a=new IntersectionObserver(o=>{o.length!==0&&O(o[0].isIntersecting)},{threshold:1});return a.observe(t),()=>a.disconnect()},[t]),r.useEffect(()=>{if(g||t===void 0)return;let a;const o=()=>{const{right:S}=t.getBoundingClientRect();y(p=>Math.min(p+window.innerWidth-S-10,0)),a=requestAnimationFrame(o)};return a=requestAnimationFrame(o),()=>{a!==void 0&&cancelAnimationFrame(a)}},[t,g]);const b=r.useMemo(()=>({transform:`translateX(${i}px)`}),[i]);return{ref:s,style:b}}const Ce=t=>{const{target:s,content:i,onFinishEditing:y,forceEditMode:g,initialValue:O,imageEditorOverride:b,markdownDivCreateNode:a,highlight:o,className:S,theme:p,id:H,cell:k,bloom:c,validateCell:d,getCellRenderer:F,provideEditor:h,isOutsideClick:X}=t,[l,j]=r.useState(g?i:void 0),v=r.useRef(l??i);v.current=l??i;const[E,R]=r.useState(()=>d===void 0?!0:!(w(i)&&(d==null?void 0:d(k,i,v.current))===!1)),f=r.useCallback((e,n)=>{y(E?e:void 0,n)},[E,y]),A=r.useCallback(e=>{if(d!==void 0&&e!==void 0&&w(e)){const n=d(k,e,v.current);n===!1?R(!1):(typeof n=="object"&&(e=n),R(!0))}j(e)},[k,d]),C=r.useRef(!1),m=r.useRef(void 0),K=r.useCallback(()=>{f(l,[0,0]),C.current=!0},[l,f]),W=r.useCallback((e,n)=>{f(e,n??m.current??[0,0]),C.current=!0},[f]),Y=r.useCallback(async e=>{let n=!1;e.key==="Escape"?(e.stopPropagation(),e.preventDefault(),m.current=[0,0]):e.key==="Enter"&&!e.shiftKey?(e.stopPropagation(),e.preventDefault(),m.current=[0,1],n=!0):e.key==="Tab"&&(e.stopPropagation(),e.preventDefault(),m.current=[e.shiftKey?-1:1,0],n=!0),window.setTimeout(()=>{!C.current&&m.current!==void 0&&(f(n?l:void 0,m.current),C.current=!0)},0)},[f,l]),D=l??i,[u,q]=r.useMemo(()=>{var n,G;if(z(i))return[];const e=h==null?void 0:h(i);return e!==void 0?[e,!1]:[(G=(n=F(i))==null?void 0:n.provideEditor)==null?void 0:G.call(n,i),!1]},[i,F,h]),{ref:B,style:L}=le();let P=!0,M,_=!0,x;if(u!==void 0){P=u.disablePadding!==!0,_=u.disableStyling!==!0;const e=J(u);e&&(x=u.styleOverride);const n=e?u.editor:u;M=r.createElement(n,{isHighlighted:o,onChange:A,value:D,initialValue:O,onFinishedEditing:W,validatedSelection:w(D)?D.selectionRange:void 0,forceEditMode:g,target:s,imageEditorOverride:b,markdownDivCreateNode:a,isValid:E,theme:p})}x={...x,...L};const N=document.getElementById("portal");if(N===null)return console.error('Cannot open Data Grid overlay editor, because portal not found. Please add `
` as the last child of your ``.'),null;let I=_?"gdg-style":"gdg-unstyle";E||(I+=" gdg-invalid"),P&&(I+=" gdg-pad");const T=(c==null?void 0:c[0])??1,V=(c==null?void 0:c[1])??1;return $.createPortal(r.createElement(Q.Provider,{value:p},r.createElement(U,{style:Z(p),className:S,onClickOutside:K,isOutsideClick:X},r.createElement(oe,{ref:B,id:H,className:I,style:x,as:q===!0?"label":void 0,targetX:s.x-T,targetY:s.y-V,targetWidth:s.width+T*2,targetHeight:s.height+V*2},r.createElement("div",{className:"gdg-clip-region",onKeyDown:Y},M)))),N)};export{Ce as default}; diff --git a/docs/assets/data-grid-overlay-editor-inrfGB7O.js b/docs/assets/data-grid-overlay-editor-kiC5KI5i.js similarity index 93% rename from docs/assets/data-grid-overlay-editor-inrfGB7O.js rename to docs/assets/data-grid-overlay-editor-kiC5KI5i.js index 94c0807f8..2b0b59012 100644 --- a/docs/assets/data-grid-overlay-editor-inrfGB7O.js +++ b/docs/assets/data-grid-overlay-editor-kiC5KI5i.js @@ -1 +1 @@ -import{s as $,j as h}from"./marked.esm-dbrxtycE.js";import{r as i}from"./index-BMVQvedj.js";import{r as J}from"./index-wocATsGp.js";import{C as Q}from"./data-editor-all-kwt0I9Kc.js";import{E as P,s as U,F as Z,T as ee,M as te}from"./image-window-loader-aMebukIX.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";const re=()=>t=>t.targetX,ie=()=>t=>t.targetY,se=()=>t=>t.targetWidth,ne=()=>t=>t.targetHeight,oe=()=>t=>t.targetY+10,ae=()=>t=>Math.max(0,(t.targetHeight-28)/2),le=$("div")({name:"DataGridOverlayEditorStyle",class:"d16c1ze1",propsAsIs:!1,vars:{"d16c1ze1-0":[ie(),"px"],"d16c1ze1-1":[re(),"px"],"d16c1ze1-2":[se(),"px"],"d16c1ze1-3":[ne(),"px"],"d16c1ze1-4":[oe(),"px"],"d16c1ze1-5":[ae(),"px"]}});function ce(){const[t,n]=i.useState();return[t??void 0,n]}function de(){const[t,n]=ce(),[s,y]=i.useState(0),[p,C]=i.useState(!0);i.useLayoutEffect(()=>{if(t===void 0||!("IntersectionObserver"in window))return;const o=new IntersectionObserver(a=>{a.length!==0&&C(a[0].isIntersecting)},{threshold:1});return o.observe(t),()=>o.disconnect()},[t]),i.useEffect(()=>{if(p||t===void 0)return;let o;const a=()=>{const{right:O}=t.getBoundingClientRect();y(m=>Math.min(m+window.innerWidth-O-10,0)),o=requestAnimationFrame(a)};return o=requestAnimationFrame(a),()=>{o!==void 0&&cancelAnimationFrame(o)}},[t,p]);const S=i.useMemo(()=>({transform:`translateX(${s}px)`}),[s]);return{ref:n,style:S}}const Ce=t=>{const{target:n,content:s,onFinishEditing:y,forceEditMode:p,initialValue:C,imageEditorOverride:S,markdownDivCreateNode:o,highlight:a,className:O,theme:m,id:X,cell:k,bloom:u,validateCell:l,getCellRenderer:w,provideEditor:v,isOutsideClick:A}=t,[c,N]=i.useState(p?s:void 0),R=i.useRef(c??s);R.current=c??s;const[E,I]=i.useState(()=>l===void 0?!0:!(P(s)&&(l==null?void 0:l(k,s,R.current))===!1)),f=i.useCallback((e,r)=>{y(E?e:void 0,r)},[E,y]),V=i.useCallback(e=>{if(l!==void 0&&e!==void 0&&P(e)){const r=l(k,e,R.current);r===!1?I(!1):(typeof r=="object"&&(e=r),I(!0))}N(e)},[k,l]),x=i.useRef(!1),g=i.useRef(void 0),W=i.useCallback(()=>{f(c,[0,0]),x.current=!0},[c,f]),Y=i.useCallback((e,r)=>{f(e,r??g.current??[0,0]),x.current=!0},[f]),K=i.useCallback(async e=>{let r=!1;e.key==="Escape"?(e.stopPropagation(),e.preventDefault(),g.current=[0,0]):e.key==="Enter"&&!e.shiftKey?(e.stopPropagation(),e.preventDefault(),g.current=[0,1],r=!0):e.key==="Tab"&&(e.stopPropagation(),e.preventDefault(),g.current=[e.shiftKey?-1:1,0],r=!0),window.setTimeout(()=>{!x.current&&g.current!==void 0&&(f(r?c:void 0,g.current),x.current=!0)},0)},[f,c]),D=c??s,[d,q]=i.useMemo(()=>{var r,H;if(U(s))return[];const e=v==null?void 0:v(s);return e!==void 0?[e,!1]:[(H=(r=w(s))==null?void 0:r.provideEditor)==null?void 0:H.call(r,s),!1]},[s,w,v]),{ref:B,style:L}=de();let z=!0,M,_=!0,b;if(d!==void 0){z=d.disablePadding!==!0,_=d.disableStyling!==!0;const e=Z(d);e&&(b=d.styleOverride);const r=e?d.editor:d;M=h(r,{isHighlighted:a,onChange:V,value:D,initialValue:C,onFinishedEditing:Y,validatedSelection:P(D)?D.selectionRange:void 0,forceEditMode:p,target:n,imageEditorOverride:S,markdownDivCreateNode:o,isValid:E,theme:m})}b={...b,...L};const T=document.getElementById("portal");if(T===null)return console.error('Cannot open Data Grid overlay editor, because portal not found. Please add `
` as the last child of your ``.'),null;let F=_?"gdg-style":"gdg-unstyle";E||(F+=" gdg-invalid"),z&&(F+=" gdg-pad");const j=(u==null?void 0:u[0])??1,G=(u==null?void 0:u[1])??1;return J.createPortal(h(ee.Provider,{value:m,children:h(Q,{style:te(m),className:O,onClickOutside:W,isOutsideClick:A,children:h(le,{ref:B,id:X,className:F,style:b,as:q===!0?"label":void 0,targetX:n.x-j,targetY:n.y-G,targetWidth:n.width+j*2,targetHeight:n.height+G*2,children:h("div",{className:"gdg-clip-region",onKeyDown:K,children:M})})})}),T)};export{Ce as default}; +import{s as $,j as h}from"./marked.esm-dbrxtycE.js";import{r as i}from"./index-BMVQvedj.js";import{r as J}from"./index-wocATsGp.js";import{C as Q}from"./data-editor-all-3W5wpw6K.js";import{E as P,s as U,F as Z,T as ee,M as te}from"./image-window-loader-Hk1rG8Sr.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";const re=()=>t=>t.targetX,ie=()=>t=>t.targetY,se=()=>t=>t.targetWidth,ne=()=>t=>t.targetHeight,oe=()=>t=>t.targetY+10,ae=()=>t=>Math.max(0,(t.targetHeight-28)/2),le=$("div")({name:"DataGridOverlayEditorStyle",class:"d16c1ze1",propsAsIs:!1,vars:{"d16c1ze1-0":[ie(),"px"],"d16c1ze1-1":[re(),"px"],"d16c1ze1-2":[se(),"px"],"d16c1ze1-3":[ne(),"px"],"d16c1ze1-4":[oe(),"px"],"d16c1ze1-5":[ae(),"px"]}});function ce(){const[t,n]=i.useState();return[t??void 0,n]}function de(){const[t,n]=ce(),[s,y]=i.useState(0),[p,C]=i.useState(!0);i.useLayoutEffect(()=>{if(t===void 0||!("IntersectionObserver"in window))return;const o=new IntersectionObserver(a=>{a.length!==0&&C(a[0].isIntersecting)},{threshold:1});return o.observe(t),()=>o.disconnect()},[t]),i.useEffect(()=>{if(p||t===void 0)return;let o;const a=()=>{const{right:O}=t.getBoundingClientRect();y(m=>Math.min(m+window.innerWidth-O-10,0)),o=requestAnimationFrame(a)};return o=requestAnimationFrame(a),()=>{o!==void 0&&cancelAnimationFrame(o)}},[t,p]);const S=i.useMemo(()=>({transform:`translateX(${s}px)`}),[s]);return{ref:n,style:S}}const Ce=t=>{const{target:n,content:s,onFinishEditing:y,forceEditMode:p,initialValue:C,imageEditorOverride:S,markdownDivCreateNode:o,highlight:a,className:O,theme:m,id:X,cell:k,bloom:u,validateCell:l,getCellRenderer:w,provideEditor:v,isOutsideClick:A}=t,[c,N]=i.useState(p?s:void 0),R=i.useRef(c??s);R.current=c??s;const[E,I]=i.useState(()=>l===void 0?!0:!(P(s)&&(l==null?void 0:l(k,s,R.current))===!1)),f=i.useCallback((e,r)=>{y(E?e:void 0,r)},[E,y]),V=i.useCallback(e=>{if(l!==void 0&&e!==void 0&&P(e)){const r=l(k,e,R.current);r===!1?I(!1):(typeof r=="object"&&(e=r),I(!0))}N(e)},[k,l]),x=i.useRef(!1),g=i.useRef(void 0),W=i.useCallback(()=>{f(c,[0,0]),x.current=!0},[c,f]),Y=i.useCallback((e,r)=>{f(e,r??g.current??[0,0]),x.current=!0},[f]),K=i.useCallback(async e=>{let r=!1;e.key==="Escape"?(e.stopPropagation(),e.preventDefault(),g.current=[0,0]):e.key==="Enter"&&!e.shiftKey?(e.stopPropagation(),e.preventDefault(),g.current=[0,1],r=!0):e.key==="Tab"&&(e.stopPropagation(),e.preventDefault(),g.current=[e.shiftKey?-1:1,0],r=!0),window.setTimeout(()=>{!x.current&&g.current!==void 0&&(f(r?c:void 0,g.current),x.current=!0)},0)},[f,c]),D=c??s,[d,q]=i.useMemo(()=>{var r,H;if(U(s))return[];const e=v==null?void 0:v(s);return e!==void 0?[e,!1]:[(H=(r=w(s))==null?void 0:r.provideEditor)==null?void 0:H.call(r,s),!1]},[s,w,v]),{ref:B,style:L}=de();let z=!0,M,_=!0,b;if(d!==void 0){z=d.disablePadding!==!0,_=d.disableStyling!==!0;const e=Z(d);e&&(b=d.styleOverride);const r=e?d.editor:d;M=h(r,{isHighlighted:a,onChange:V,value:D,initialValue:C,onFinishedEditing:Y,validatedSelection:P(D)?D.selectionRange:void 0,forceEditMode:p,target:n,imageEditorOverride:S,markdownDivCreateNode:o,isValid:E,theme:m})}b={...b,...L};const T=document.getElementById("portal");if(T===null)return console.error('Cannot open Data Grid overlay editor, because portal not found. Please add `
` as the last child of your ``.'),null;let F=_?"gdg-style":"gdg-unstyle";E||(F+=" gdg-invalid"),z&&(F+=" gdg-pad");const j=(u==null?void 0:u[0])??1,G=(u==null?void 0:u[1])??1;return J.createPortal(h(ee.Provider,{value:m,children:h(Q,{style:te(m),className:O,onClickOutside:W,isOutsideClick:A,children:h(le,{ref:B,id:X,className:F,style:b,as:q===!0?"label":void 0,targetX:n.x-j,targetY:n.y-G,targetWidth:n.width+j*2,targetHeight:n.height+G*2,children:h("div",{className:"gdg-clip-region",onKeyDown:K,children:M})})})}),T)};export{Ce as default}; diff --git a/docs/assets/data-grid.stories-8ZqcKFS1.js b/docs/assets/data-grid.stories-IFrWuEXW.js similarity index 99% rename from docs/assets/data-grid.stories-8ZqcKFS1.js rename to docs/assets/data-grid.stories-IFrWuEXW.js index 4564c3946..de888a29e 100644 --- a/docs/assets/data-grid.stories-8ZqcKFS1.js +++ b/docs/assets/data-grid.stories-IFrWuEXW.js @@ -1,4 +1,4 @@ -import{j as i}from"./marked.esm-dbrxtycE.js";import{r as m}from"./index-BMVQvedj.js";import{B as b}from"./story-utils-K2EZnGjM.js";import{C as d,Q as g,O as v,G as r,m as c,g as h,P as I}from"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";const B={title:"Subcomponents/DataGrid",decorators:[n=>i("div",{children:i(b,{width:1800,height:1e3,children:i("div",{style:{position:"relative"},children:i(n,{})})})})]},Y={columns:d.empty(),rows:d.empty(),current:void 0},w=n=>{if(n.kind!==r.Custom)return I.find(e=>e.kind===n.kind)};function l(){let n=0;const[e,o]=m.useState(0);return m.useEffect(()=>{let t=0;const a=()=>{o(O=>O+1),t=window.requestAnimationFrame(a)};return a(),()=>window.cancelAnimationFrame(t)},[]),i(g,{getCellRenderer:w,width:1800,height:1e3,cellXOffset:0,drawHeader:void 0,drawCell:void 0,experimental:void 0,onHeaderIndicatorClick:()=>{},headerIcons:void 0,isDraggable:void 0,onCanvasBlur:()=>{},onCanvasFocused:()=>{},onCellFocused:()=>{},onContextMenu:()=>{},onDragEnd:()=>{},onDragLeave:()=>{},onDragOverCell:()=>{},onDragStart:()=>{},onDrop:()=>{},onItemHovered:()=>{},onKeyDown:()=>{},onKeyUp:()=>{},onMouseDown:()=>{},onMouseMoveRaw:()=>{},onMouseUp:()=>{},resizeColumn:void 0,smoothScrollX:void 0,smoothScrollY:void 0,allowResize:void 0,canvasRef:void 0,disabledRows:void 0,eventTargetRef:void 0,fillHandle:void 0,fixedShadowX:void 0,fixedShadowY:void 0,getGroupDetails:void 0,getRowThemeOverride:void 0,highlightRegions:void 0,imageWindowLoader:new v,onHeaderMenuClick:void 0,prelightCells:void 0,translateX:void 0,translateY:void 0,dragAndDropState:void 0,drawFocusRing:!0,isFocused:!0,cellYOffset:e,isFilling:!1,onMouseMove:()=>{},groupHeaderHeight:0,accessibilityHeight:50,enableGroups:!1,selection:Y,rows:1e5,headerHeight:44,rowHeight:34,columns:["One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven"].map(t=>({title:t,width:122+(n+=10)})),getCellContent:([t,a])=>({kind:r.Text,displayData:`${t},${a} Testing things that are way too long`,data:`${t},${a} Testing things that are way too long`,allowOverlay:!1,owned:!0}),freezeColumns:0,firstColAccessible:!0,verticalBorder:()=>!0,freezeTrailingRows:0,hasAppendRow:!1,isResizing:!1,isDragging:!1,theme:c(h()),resizeIndicator:"full"})}function s(){let n=0;return i(g,{getCellRenderer:w,width:1800,height:1e3,cellXOffset:0,isFocused:!0,resizeIndicator:"full",drawHeader:void 0,drawCell:void 0,experimental:void 0,headerIcons:void 0,isDraggable:void 0,onCanvasBlur:()=>{},onCanvasFocused:()=>{},onHeaderIndicatorClick:()=>{},onCellFocused:()=>{},onContextMenu:()=>{},onDragEnd:()=>{},onDragLeave:()=>{},onDragOverCell:()=>{},onDragStart:()=>{},onDrop:()=>{},onItemHovered:()=>{},onKeyDown:()=>{},onKeyUp:()=>{},onMouseDown:()=>{},onMouseMoveRaw:()=>{},onMouseUp:()=>{},smoothScrollX:void 0,resizeColumn:void 0,smoothScrollY:void 0,allowResize:void 0,canvasRef:void 0,disabledRows:void 0,eventTargetRef:void 0,fillHandle:void 0,fixedShadowX:void 0,fixedShadowY:void 0,getGroupDetails:void 0,getRowThemeOverride:void 0,highlightRegions:void 0,imageWindowLoader:new v,onHeaderMenuClick:void 0,prelightCells:void 0,translateX:void 0,translateY:void 0,dragAndDropState:void 0,drawFocusRing:!0,onMouseMove:()=>{},accessibilityHeight:50,isFilling:!1,cellYOffset:0,groupHeaderHeight:34,enableGroups:!1,rows:1e3,headerHeight:44,rowHeight:34,columns:["One","Two","Three","Four","Five","Six","Seven"].map(e=>({title:e,width:122+(n+=10)})),getCellContent:([e,o])=>({kind:r.Text,displayData:`${e},${o} Testing things that are way too long`,data:`${e},${o} Testing things that are way too long`,allowOverlay:!1,owned:!0}),selection:{current:{cell:[2,2],range:{x:2,y:2,width:1,height:1},rangeStack:[]},columns:d.empty(),rows:d.empty()},freezeColumns:0,firstColAccessible:!0,verticalBorder:()=>!0,freezeTrailingRows:0,hasAppendRow:!1,isResizing:!1,isDragging:!1,theme:c(h())})}function u(){let n=0;return i(g,{getCellRenderer:w,onMouseMove:()=>{},width:1800,height:1e3,cellXOffset:0,cellYOffset:0,isFocused:!0,resizeIndicator:"full",resizeColumn:void 0,drawHeader:void 0,drawCell:void 0,experimental:void 0,headerIcons:void 0,isDraggable:void 0,onCanvasBlur:()=>{},onCanvasFocused:()=>{},onCellFocused:()=>{},onContextMenu:()=>{},onDragEnd:()=>{},onHeaderIndicatorClick:()=>{},onDragLeave:()=>{},onDragOverCell:()=>{},onDragStart:()=>{},onDrop:()=>{},onItemHovered:()=>{},onKeyDown:()=>{},onKeyUp:()=>{},onMouseDown:()=>{},onMouseMoveRaw:()=>{},onMouseUp:()=>{},smoothScrollX:void 0,smoothScrollY:void 0,allowResize:void 0,canvasRef:void 0,disabledRows:void 0,eventTargetRef:void 0,fillHandle:void 0,fixedShadowX:void 0,fixedShadowY:void 0,getGroupDetails:void 0,getRowThemeOverride:void 0,highlightRegions:void 0,imageWindowLoader:new v,onHeaderMenuClick:void 0,prelightCells:void 0,translateX:void 0,translateY:void 0,dragAndDropState:void 0,drawFocusRing:!0,groupHeaderHeight:34,accessibilityHeight:50,isFilling:!1,enableGroups:!1,rows:1e3,headerHeight:44,rowHeight:34,columns:["One","Two","Three","Four","Five","Six","Seven"].map(e=>({title:e,width:122+(n+=10)})),getCellContent:([e,o])=>({kind:r.Text,displayData:`${e},${o} Testing things that are way too long`,data:`${e},${o} Testing things that are way too long`,allowOverlay:!1,owned:!0}),selection:{current:void 0,rows:d.fromSingleSelection([2,4]),columns:d.empty()},freezeColumns:0,firstColAccessible:!0,verticalBorder:()=>!0,freezeTrailingRows:0,hasAppendRow:!1,isResizing:!1,isDragging:!1,theme:c(h())})}const f=()=>{let n=0;return i(g,{getCellRenderer:w,onMouseMove:()=>{},width:1800,height:1e3,cellXOffset:0,cellYOffset:0,isFocused:!0,resizeIndicator:"full",resizeColumn:void 0,drawHeader:void 0,experimental:void 0,headerIcons:void 0,isDraggable:void 0,onCanvasBlur:()=>{},onCanvasFocused:()=>{},onHeaderIndicatorClick:()=>{},onCellFocused:()=>{},onContextMenu:()=>{},onDragEnd:()=>{},onDragLeave:()=>{},onDragOverCell:()=>{},onDragStart:()=>{},onDrop:()=>{},onItemHovered:()=>{},onKeyDown:()=>{},onKeyUp:()=>{},onMouseDown:()=>{},onMouseMoveRaw:()=>{},onMouseUp:()=>{},smoothScrollX:void 0,smoothScrollY:void 0,allowResize:void 0,canvasRef:void 0,disabledRows:void 0,eventTargetRef:void 0,fillHandle:void 0,fixedShadowX:void 0,fixedShadowY:void 0,getGroupDetails:void 0,getRowThemeOverride:void 0,highlightRegions:void 0,imageWindowLoader:new v,onHeaderMenuClick:void 0,prelightCells:void 0,translateX:void 0,translateY:void 0,dragAndDropState:void 0,drawCell:void 0,drawFocusRing:!0,accessibilityHeight:50,isFilling:!1,groupHeaderHeight:34,enableGroups:!1,rows:1e3,headerHeight:44,rowHeight:34,columns:["One","Two","Three","Four","Five","Six","Seven"].map(e=>({title:e,width:122+(n+=10)})),getCellContent:([e,o])=>({kind:r.Text,displayData:`${e},${o} Testing things that are way too long`,data:`${e},${o} Testing things that are way too long`,allowOverlay:!1,owned:!0}),selection:{current:void 0,rows:d.empty(),columns:d.fromSingleSelection([2,4])},freezeColumns:0,firstColAccessible:!0,verticalBorder:()=>!0,freezeTrailingRows:0,hasAppendRow:!1,isResizing:!1,isDragging:!1,theme:c(h())})};var p,C,R;l.parameters={...l.parameters,docs:{...(p=l.parameters)==null?void 0:p.docs,source:{originalSource:`function Simplenotest() { +import{j as i}from"./marked.esm-dbrxtycE.js";import{r as m}from"./index-BMVQvedj.js";import{B as b}from"./story-utils-K2EZnGjM.js";import{C as d,Q as g,O as v,G as r,m as c,g as h,P as I}from"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";const B={title:"Subcomponents/DataGrid",decorators:[n=>i("div",{children:i(b,{width:1800,height:1e3,children:i("div",{style:{position:"relative"},children:i(n,{})})})})]},Y={columns:d.empty(),rows:d.empty(),current:void 0},w=n=>{if(n.kind!==r.Custom)return I.find(e=>e.kind===n.kind)};function l(){let n=0;const[e,o]=m.useState(0);return m.useEffect(()=>{let t=0;const a=()=>{o(O=>O+1),t=window.requestAnimationFrame(a)};return a(),()=>window.cancelAnimationFrame(t)},[]),i(g,{getCellRenderer:w,width:1800,height:1e3,cellXOffset:0,drawHeader:void 0,drawCell:void 0,experimental:void 0,onHeaderIndicatorClick:()=>{},headerIcons:void 0,isDraggable:void 0,onCanvasBlur:()=>{},onCanvasFocused:()=>{},onCellFocused:()=>{},onContextMenu:()=>{},onDragEnd:()=>{},onDragLeave:()=>{},onDragOverCell:()=>{},onDragStart:()=>{},onDrop:()=>{},onItemHovered:()=>{},onKeyDown:()=>{},onKeyUp:()=>{},onMouseDown:()=>{},onMouseMoveRaw:()=>{},onMouseUp:()=>{},resizeColumn:void 0,smoothScrollX:void 0,smoothScrollY:void 0,allowResize:void 0,canvasRef:void 0,disabledRows:void 0,eventTargetRef:void 0,fillHandle:void 0,fixedShadowX:void 0,fixedShadowY:void 0,getGroupDetails:void 0,getRowThemeOverride:void 0,highlightRegions:void 0,imageWindowLoader:new v,onHeaderMenuClick:void 0,prelightCells:void 0,translateX:void 0,translateY:void 0,dragAndDropState:void 0,drawFocusRing:!0,isFocused:!0,cellYOffset:e,isFilling:!1,onMouseMove:()=>{},groupHeaderHeight:0,accessibilityHeight:50,enableGroups:!1,selection:Y,rows:1e5,headerHeight:44,rowHeight:34,columns:["One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven"].map(t=>({title:t,width:122+(n+=10)})),getCellContent:([t,a])=>({kind:r.Text,displayData:`${t},${a} Testing things that are way too long`,data:`${t},${a} Testing things that are way too long`,allowOverlay:!1,owned:!0}),freezeColumns:0,firstColAccessible:!0,verticalBorder:()=>!0,freezeTrailingRows:0,hasAppendRow:!1,isResizing:!1,isDragging:!1,theme:c(h()),resizeIndicator:"full"})}function s(){let n=0;return i(g,{getCellRenderer:w,width:1800,height:1e3,cellXOffset:0,isFocused:!0,resizeIndicator:"full",drawHeader:void 0,drawCell:void 0,experimental:void 0,headerIcons:void 0,isDraggable:void 0,onCanvasBlur:()=>{},onCanvasFocused:()=>{},onHeaderIndicatorClick:()=>{},onCellFocused:()=>{},onContextMenu:()=>{},onDragEnd:()=>{},onDragLeave:()=>{},onDragOverCell:()=>{},onDragStart:()=>{},onDrop:()=>{},onItemHovered:()=>{},onKeyDown:()=>{},onKeyUp:()=>{},onMouseDown:()=>{},onMouseMoveRaw:()=>{},onMouseUp:()=>{},smoothScrollX:void 0,resizeColumn:void 0,smoothScrollY:void 0,allowResize:void 0,canvasRef:void 0,disabledRows:void 0,eventTargetRef:void 0,fillHandle:void 0,fixedShadowX:void 0,fixedShadowY:void 0,getGroupDetails:void 0,getRowThemeOverride:void 0,highlightRegions:void 0,imageWindowLoader:new v,onHeaderMenuClick:void 0,prelightCells:void 0,translateX:void 0,translateY:void 0,dragAndDropState:void 0,drawFocusRing:!0,onMouseMove:()=>{},accessibilityHeight:50,isFilling:!1,cellYOffset:0,groupHeaderHeight:34,enableGroups:!1,rows:1e3,headerHeight:44,rowHeight:34,columns:["One","Two","Three","Four","Five","Six","Seven"].map(e=>({title:e,width:122+(n+=10)})),getCellContent:([e,o])=>({kind:r.Text,displayData:`${e},${o} Testing things that are way too long`,data:`${e},${o} Testing things that are way too long`,allowOverlay:!1,owned:!0}),selection:{current:{cell:[2,2],range:{x:2,y:2,width:1,height:1},rangeStack:[]},columns:d.empty(),rows:d.empty()},freezeColumns:0,firstColAccessible:!0,verticalBorder:()=>!0,freezeTrailingRows:0,hasAppendRow:!1,isResizing:!1,isDragging:!1,theme:c(h())})}function u(){let n=0;return i(g,{getCellRenderer:w,onMouseMove:()=>{},width:1800,height:1e3,cellXOffset:0,cellYOffset:0,isFocused:!0,resizeIndicator:"full",resizeColumn:void 0,drawHeader:void 0,drawCell:void 0,experimental:void 0,headerIcons:void 0,isDraggable:void 0,onCanvasBlur:()=>{},onCanvasFocused:()=>{},onCellFocused:()=>{},onContextMenu:()=>{},onDragEnd:()=>{},onHeaderIndicatorClick:()=>{},onDragLeave:()=>{},onDragOverCell:()=>{},onDragStart:()=>{},onDrop:()=>{},onItemHovered:()=>{},onKeyDown:()=>{},onKeyUp:()=>{},onMouseDown:()=>{},onMouseMoveRaw:()=>{},onMouseUp:()=>{},smoothScrollX:void 0,smoothScrollY:void 0,allowResize:void 0,canvasRef:void 0,disabledRows:void 0,eventTargetRef:void 0,fillHandle:void 0,fixedShadowX:void 0,fixedShadowY:void 0,getGroupDetails:void 0,getRowThemeOverride:void 0,highlightRegions:void 0,imageWindowLoader:new v,onHeaderMenuClick:void 0,prelightCells:void 0,translateX:void 0,translateY:void 0,dragAndDropState:void 0,drawFocusRing:!0,groupHeaderHeight:34,accessibilityHeight:50,isFilling:!1,enableGroups:!1,rows:1e3,headerHeight:44,rowHeight:34,columns:["One","Two","Three","Four","Five","Six","Seven"].map(e=>({title:e,width:122+(n+=10)})),getCellContent:([e,o])=>({kind:r.Text,displayData:`${e},${o} Testing things that are way too long`,data:`${e},${o} Testing things that are way too long`,allowOverlay:!1,owned:!0}),selection:{current:void 0,rows:d.fromSingleSelection([2,4]),columns:d.empty()},freezeColumns:0,firstColAccessible:!0,verticalBorder:()=>!0,freezeTrailingRows:0,hasAppendRow:!1,isResizing:!1,isDragging:!1,theme:c(h())})}const f=()=>{let n=0;return i(g,{getCellRenderer:w,onMouseMove:()=>{},width:1800,height:1e3,cellXOffset:0,cellYOffset:0,isFocused:!0,resizeIndicator:"full",resizeColumn:void 0,drawHeader:void 0,experimental:void 0,headerIcons:void 0,isDraggable:void 0,onCanvasBlur:()=>{},onCanvasFocused:()=>{},onHeaderIndicatorClick:()=>{},onCellFocused:()=>{},onContextMenu:()=>{},onDragEnd:()=>{},onDragLeave:()=>{},onDragOverCell:()=>{},onDragStart:()=>{},onDrop:()=>{},onItemHovered:()=>{},onKeyDown:()=>{},onKeyUp:()=>{},onMouseDown:()=>{},onMouseMoveRaw:()=>{},onMouseUp:()=>{},smoothScrollX:void 0,smoothScrollY:void 0,allowResize:void 0,canvasRef:void 0,disabledRows:void 0,eventTargetRef:void 0,fillHandle:void 0,fixedShadowX:void 0,fixedShadowY:void 0,getGroupDetails:void 0,getRowThemeOverride:void 0,highlightRegions:void 0,imageWindowLoader:new v,onHeaderMenuClick:void 0,prelightCells:void 0,translateX:void 0,translateY:void 0,dragAndDropState:void 0,drawCell:void 0,drawFocusRing:!0,accessibilityHeight:50,isFilling:!1,groupHeaderHeight:34,enableGroups:!1,rows:1e3,headerHeight:44,rowHeight:34,columns:["One","Two","Three","Four","Five","Six","Seven"].map(e=>({title:e,width:122+(n+=10)})),getCellContent:([e,o])=>({kind:r.Text,displayData:`${e},${o} Testing things that are way too long`,data:`${e},${o} Testing things that are way too long`,allowOverlay:!1,owned:!0}),selection:{current:void 0,rows:d.empty(),columns:d.fromSingleSelection([2,4])},freezeColumns:0,firstColAccessible:!0,verticalBorder:()=>!0,freezeTrailingRows:0,hasAppendRow:!1,isResizing:!1,isDragging:!1,theme:c(h())})};var p,C,R;l.parameters={...l.parameters,docs:{...(p=l.parameters)==null?void 0:p.docs,source:{originalSource:`function Simplenotest() { let x = 0; const [y, setY] = React.useState(0); React.useEffect(() => { diff --git a/docs/assets/drag-source.stories-pyXRdLMW.js b/docs/assets/drag-source.stories-xjiY8fZ2.js similarity index 81% rename from docs/assets/drag-source.stories-pyXRdLMW.js rename to docs/assets/drag-source.stories-xjiY8fZ2.js index 557f25d97..acd82bb6e 100644 --- a/docs/assets/drag-source.stories-pyXRdLMW.js +++ b/docs/assets/drag-source.stories-xjiY8fZ2.js @@ -1,4 +1,4 @@ -import{j as e,F as m,a as c}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as g}from"./data-editor-all-kwt0I9Kc.js";import{B as u,D,P as w,u as h,d as C}from"./utils-rXlmyYaC.js";import{S as M}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const y={title:"Glide-Data-Grid/DataEditor Demos",decorators:[a=>e(M,{children:e(u,{title:"Drag source",description:e(m,{children:c(D,{children:["Setting the ",e(w,{children:"isDraggable"})," prop can allow for more granular control over what is draggable in the grid via HTML drag and drop."]})}),children:e(a,{})})})]},o=a=>{const{cols:i,getCellContent:d,onColumnResize:p}=h(200);return e(g,{...C,getCellContent:d,columns:i,rowMarkers:"both",rows:5e3,onRowMoved:(r,t)=>window.alert(`Moved row ${r} to ${t}`),onColumnMoved:(r,t)=>window.alert(`Moved col ${r} to ${t}`),onColumnResize:p,isDraggable:a.isDraggable,onDragStart:r=>{r.setData("text/plain","Drag data here!")}})};o.argTypes={isDraggable:{control:{type:"select"},options:[!0,!1,"cell","header"]}};o.args={isDraggable:!1};var s,n,l;o.parameters={...o.parameters,docs:{...(s=o.parameters)==null?void 0:s.docs,source:{originalSource:`p => { +import{j as e,F as m,a as c}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as g}from"./data-editor-all-3W5wpw6K.js";import{B as u,D,P as w,u as h,d as C}from"./utils--Nf55hQd.js";import{S as M}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const y={title:"Glide-Data-Grid/DataEditor Demos",decorators:[a=>e(M,{children:e(u,{title:"Drag source",description:e(m,{children:c(D,{children:["Setting the ",e(w,{children:"isDraggable"})," prop can allow for more granular control over what is draggable in the grid via HTML drag and drop."]})}),children:e(a,{})})})]},o=a=>{const{cols:i,getCellContent:d,onColumnResize:p}=h(200);return e(g,{...C,getCellContent:d,columns:i,rowMarkers:"both",rows:5e3,onRowMoved:(r,t)=>window.alert(`Moved row ${r} to ${t}`),onColumnMoved:(r,t)=>window.alert(`Moved col ${r} to ${t}`),onColumnResize:p,isDraggable:a.isDraggable,onDragStart:r=>{r.setData("text/plain","Drag data here!")}})};o.argTypes={isDraggable:{control:{type:"select"},options:[!0,!1,"cell","header"]}};o.args={isDraggable:!1};var s,n,l;o.parameters={...o.parameters,docs:{...(s=o.parameters)==null?void 0:s.docs,source:{originalSource:`p => { const { cols, getCellContent, diff --git a/docs/assets/drop-events.stories-WZen-OYB.js b/docs/assets/drop-events.stories-SmnsTd1w.js similarity index 93% rename from docs/assets/drop-events.stories-WZen-OYB.js rename to docs/assets/drop-events.stories-SmnsTd1w.js index 16d1db2a2..47c947416 100644 --- a/docs/assets/drop-events.stories-WZen-OYB.js +++ b/docs/assets/drop-events.stories-SmnsTd1w.js @@ -1,4 +1,4 @@ -import{j as e,a as g,F as h}from"./marked.esm-dbrxtycE.js";import{R as o}from"./index-BMVQvedj.js";import{D as M}from"./data-editor-all-kwt0I9Kc.js";import{a as w,B as b,D as L,P as u,M as f,d as N}from"./utils-rXlmyYaC.js";import{G as C}from"./image-window-loader-aMebukIX.js";import{S as U}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const Q={title:"Glide-Data-Grid/DataEditor Demos",decorators:[a=>e(U,{children:e(a,{})})]},D=new Set(["image/png","image/gif","image/bmp","image/jpeg"]),i=()=>{const{cols:a,getCellContent:c,onColumnResize:P,setCellValue:p}=w(),[E,l]=o.useState([]),[m,O]=o.useState(),S=o.useCallback((n,t)=>{if(l([]),t===null)return;const{files:r}=t;if(r.length!==1)return;const[s]=r;if(!D.has(s.type))return;const d=URL.createObjectURL(s);p(n,{kind:C.Image,data:[d],allowOverlay:!0,readonly:!0},!0,!0),O(n)},[p]),I=o.useCallback((n,t)=>{if(t===null)return;const{items:r}=t;if(r.length!==1)return;const[s]=r;if(!D.has(s.type))return;const[d,k]=n;c(n).kind===C.Image?l([{color:"#44BB0022",range:{x:d,y:k,width:1,height:1}}]):l([])},[c]),T=o.useCallback(()=>{l([])},[]);return e(b,{title:"Drop events",description:g(h,{children:[g(L,{children:["You can drag and drop into cells by using ",e(u,{children:"onDragOverCell"})," and"," ",e(u,{children:"onDrop"}),"."]}),e("div",{children:m===void 0?e(f,{children:"Nothing dropped, yet"}):e(h,{children:g(f,{children:["You last dropped in cell ",e(u,{children:JSON.stringify(m)})]})})})]}),children:e(M,{...N,getCellContent:c,columns:a,onCellEdited:p,onColumnResize:P,rows:1e3,onDrop:S,onDragOverCell:I,onDragLeave:T,highlightRegions:E,rowMarkers:"none"})})};var v,R,y;i.parameters={...i.parameters,docs:{...(v=i.parameters)==null?void 0:v.docs,source:{originalSource:`() => { +import{j as e,a as g,F as h}from"./marked.esm-dbrxtycE.js";import{R as o}from"./index-BMVQvedj.js";import{D as M}from"./data-editor-all-3W5wpw6K.js";import{a as w,B as b,D as L,P as u,M as f,d as N}from"./utils--Nf55hQd.js";import{G as C}from"./image-window-loader-Hk1rG8Sr.js";import{S as U}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const Q={title:"Glide-Data-Grid/DataEditor Demos",decorators:[a=>e(U,{children:e(a,{})})]},D=new Set(["image/png","image/gif","image/bmp","image/jpeg"]),i=()=>{const{cols:a,getCellContent:c,onColumnResize:P,setCellValue:p}=w(),[E,l]=o.useState([]),[m,O]=o.useState(),S=o.useCallback((n,t)=>{if(l([]),t===null)return;const{files:r}=t;if(r.length!==1)return;const[s]=r;if(!D.has(s.type))return;const d=URL.createObjectURL(s);p(n,{kind:C.Image,data:[d],allowOverlay:!0,readonly:!0},!0,!0),O(n)},[p]),I=o.useCallback((n,t)=>{if(t===null)return;const{items:r}=t;if(r.length!==1)return;const[s]=r;if(!D.has(s.type))return;const[d,k]=n;c(n).kind===C.Image?l([{color:"#44BB0022",range:{x:d,y:k,width:1,height:1}}]):l([])},[c]),T=o.useCallback(()=>{l([])},[]);return e(b,{title:"Drop events",description:g(h,{children:[g(L,{children:["You can drag and drop into cells by using ",e(u,{children:"onDragOverCell"})," and"," ",e(u,{children:"onDrop"}),"."]}),e("div",{children:m===void 0?e(f,{children:"Nothing dropped, yet"}):e(h,{children:g(f,{children:["You last dropped in cell ",e(u,{children:JSON.stringify(m)})]})})})]}),children:e(M,{...N,getCellContent:c,columns:a,onCellEdited:p,onColumnResize:P,rows:1e3,onDrop:S,onDragOverCell:I,onDragLeave:T,highlightRegions:E,rowMarkers:"none"})})};var v,R,y;i.parameters={...i.parameters,docs:{...(v=i.parameters)==null?void 0:v.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/fill-handle.stories-GBcAoSLk.js b/docs/assets/fill-handle.stories-9ThwR_H2.js similarity index 88% rename from docs/assets/fill-handle.stories-GBcAoSLk.js rename to docs/assets/fill-handle.stories-9ThwR_H2.js index 82a238889..aa1a5d27f 100644 --- a/docs/assets/fill-handle.stories-GBcAoSLk.js +++ b/docs/assets/fill-handle.stories-9ThwR_H2.js @@ -1,4 +1,4 @@ -import{j as t,a as c,F as f}from"./marked.esm-dbrxtycE.js";import{R as s}from"./index-BMVQvedj.js";import{D as h}from"./data-editor-all-kwt0I9Kc.js";import{B as k,D as b,M as D,P as F,u as M,c as v,d as y}from"./utils-rXlmyYaC.js";import{G as E}from"./image-window-loader-aMebukIX.js";import{S as G}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const J={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>t(G,{children:t(k,{title:"Fill handle",description:c(f,{children:[t(b,{children:"Fill handles can be used to downfill data with the mouse."}),c(D,{children:["Just click and drag, the top row will be copied down. Enable using the"," ",t(F,{children:"fillHandle"})," prop."]})]}),children:t(r,{})})})]},o=()=>{const{cols:r,getCellContent:n,setCellValueRaw:i,setCellValue:m}=M(60,!1),[a,w]=s.useState(50),C=s.useCallback(l=>{let e=n(l);return l[0]===1&&e.kind===E.Text&&(e={...e,readonly:!0}),e},[n]),R=s.useCallback(()=>{const l=a;for(let e=0;e<6;e++){const g=n([e,l]);i([e,l],v(g))}w(e=>e+1)},[n,a,i]);return t(h,{...y,getCellContent:C,columns:r,rowMarkers:"both",onPaste:!0,fillHandle:!0,keybindings:{downFill:!0,rightFill:!0},onCellEdited:m,trailingRowOptions:{sticky:!0,tint:!0,hint:"New row..."},rows:a,onRowAppended:R})};var d,u,p;o.parameters={...o.parameters,docs:{...(d=o.parameters)==null?void 0:d.docs,source:{originalSource:`() => { +import{j as t,a as c,F as f}from"./marked.esm-dbrxtycE.js";import{R as s}from"./index-BMVQvedj.js";import{D as h}from"./data-editor-all-3W5wpw6K.js";import{B as k,D as b,M as D,P as F,u as M,c as v,d as y}from"./utils--Nf55hQd.js";import{G as E}from"./image-window-loader-Hk1rG8Sr.js";import{S as G}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const J={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>t(G,{children:t(k,{title:"Fill handle",description:c(f,{children:[t(b,{children:"Fill handles can be used to downfill data with the mouse."}),c(D,{children:["Just click and drag, the top row will be copied down. Enable using the"," ",t(F,{children:"fillHandle"})," prop."]})]}),children:t(r,{})})})]},o=()=>{const{cols:r,getCellContent:n,setCellValueRaw:i,setCellValue:m}=M(60,!1),[a,w]=s.useState(50),C=s.useCallback(l=>{let e=n(l);return l[0]===1&&e.kind===E.Text&&(e={...e,readonly:!0}),e},[n]),R=s.useCallback(()=>{const l=a;for(let e=0;e<6;e++){const g=n([e,l]);i([e,l],v(g))}w(e=>e+1)},[n,a,i]);return t(h,{...y,getCellContent:C,columns:r,rowMarkers:"both",onPaste:!0,fillHandle:!0,keybindings:{downFill:!0,rightFill:!0},onCellEdited:m,trailingRowOptions:{sticky:!0,tint:!0,hint:"New row..."},rows:a,onRowAppended:R})};var d,u,p;o.parameters={...o.parameters,docs:{...(d=o.parameters)==null?void 0:d.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/freeze-columns.stories-85plTtuP.js b/docs/assets/freeze-columns.stories-JYuu47lq.js similarity index 77% rename from docs/assets/freeze-columns.stories-85plTtuP.js rename to docs/assets/freeze-columns.stories-JYuu47lq.js index 1e438deb3..0fc471cd1 100644 --- a/docs/assets/freeze-columns.stories-85plTtuP.js +++ b/docs/assets/freeze-columns.stories-JYuu47lq.js @@ -1,4 +1,4 @@ -import{j as r,a as m}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as i}from"./data-editor-all-kwt0I9Kc.js";import{B as p,D as c,P as u,u as d,d as f}from"./utils-rXlmyYaC.js";import{S as C}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>r(C,{children:r(p,{title:"Freeze columns",description:m(c,{children:["Columns at the start of your grid can be frozen in place by settings"," ",r(u,{children:"freezeColumns"})," to a number greater than 0."]}),children:r(o,{})})})]},e=o=>{const{cols:n,getCellContent:l}=d(100);return r(i,{...f,rowMarkers:"both",freezeColumns:o.freezeColumns,getCellContent:l,columns:n,verticalBorder:!1,rows:1e3})};e.argTypes={freezeColumns:{control:{type:"range",min:0,max:10}}};e.args={freezeColumns:1};var t,s,a;e.parameters={...e.parameters,docs:{...(t=e.parameters)==null?void 0:t.docs,source:{originalSource:`(p: { +import{j as r,a as m}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as i}from"./data-editor-all-3W5wpw6K.js";import{B as p,D as c,P as u,u as d,d as f}from"./utils--Nf55hQd.js";import{S as C}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>r(C,{children:r(p,{title:"Freeze columns",description:m(c,{children:["Columns at the start of your grid can be frozen in place by settings"," ",r(u,{children:"freezeColumns"})," to a number greater than 0."]}),children:r(o,{})})})]},e=o=>{const{cols:n,getCellContent:l}=d(100);return r(i,{...f,rowMarkers:"both",freezeColumns:o.freezeColumns,getCellContent:l,columns:n,verticalBorder:!1,rows:1e3})};e.argTypes={freezeColumns:{control:{type:"range",min:0,max:10}}};e.args={freezeColumns:1};var t,s,a;e.parameters={...e.parameters,docs:{...(t=e.parameters)==null?void 0:t.docs,source:{originalSource:`(p: { freezeColumns: number; }) => { const { diff --git a/docs/assets/freeze-rows.stories-BHzAD4R7.js b/docs/assets/freeze-rows.stories-10LaASUY.js similarity index 88% rename from docs/assets/freeze-rows.stories-BHzAD4R7.js rename to docs/assets/freeze-rows.stories-10LaASUY.js index dd40cd46f..11e8f4fde 100644 --- a/docs/assets/freeze-rows.stories-BHzAD4R7.js +++ b/docs/assets/freeze-rows.stories-10LaASUY.js @@ -1,4 +1,4 @@ -import{j as t,F as h}from"./marked.esm-dbrxtycE.js";import{R as c}from"./index-BMVQvedj.js";import{D as C}from"./data-editor-all-kwt0I9Kc.js";import{B as g,D as f,u as k,c as D,d as S}from"./utils-rXlmyYaC.js";import{S as z}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const _={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>t(z,{children:t(g,{title:"Freeze rows",description:t(h,{children:t(f,{children:"Rows can be frozen to make sure the user always sees them."})}),children:t(o,{})})})]},r=()=>{const{cols:o,getCellContent:n,setCellValueRaw:l,setCellValue:m}=k(60,!1),[s,p]=c.useState(50),d=c.useCallback(()=>{const a=s;for(let e=0;ee+1)},[o.length,n,s,l]);return t(C,{...S,getCellContent:n,columns:o,rowMarkers:"both",freezeTrailingRows:2,experimental:{kineticScrollPerfHack:!0},onPaste:!0,onCellEdited:m,trailingRowOptions:{sticky:!0,tint:!0,hint:"New row..."},rows:s,onRowAppended:d})};var i,u,w;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`() => { +import{j as t,F as h}from"./marked.esm-dbrxtycE.js";import{R as c}from"./index-BMVQvedj.js";import{D as C}from"./data-editor-all-3W5wpw6K.js";import{B as g,D as f,u as k,c as D,d as S}from"./utils--Nf55hQd.js";import{S as z}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const _={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>t(z,{children:t(g,{title:"Freeze rows",description:t(h,{children:t(f,{children:"Rows can be frozen to make sure the user always sees them."})}),children:t(o,{})})})]},r=()=>{const{cols:o,getCellContent:n,setCellValueRaw:l,setCellValue:m}=k(60,!1),[s,p]=c.useState(50),d=c.useCallback(()=>{const a=s;for(let e=0;ee+1)},[o.length,n,s,l]);return t(C,{...S,getCellContent:n,columns:o,rowMarkers:"both",freezeTrailingRows:2,experimental:{kineticScrollPerfHack:!0},onPaste:!0,onCellEdited:m,trailingRowOptions:{sticky:!0,tint:!0,hint:"New row..."},rows:s,onRowAppended:d})};var i,u,w;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/header-menus.stories-b7mVW4Hc.js b/docs/assets/header-menus.stories-bIp2Ut7G.js similarity index 93% rename from docs/assets/header-menus.stories-b7mVW4Hc.js rename to docs/assets/header-menus.stories-bIp2Ut7G.js index 9e9113f58..7734d972e 100644 --- a/docs/assets/header-menus.stories-b7mVW4Hc.js +++ b/docs/assets/header-menus.stories-bIp2Ut7G.js @@ -1,4 +1,4 @@ -import{j as n,F as p,a as l,s as y}from"./marked.esm-dbrxtycE.js";import{R as d}from"./index-BMVQvedj.js";import{u as H}from"./react-laag.esm-PpDllAFI.js";import{D as x}from"./data-editor-all-kwt0I9Kc.js";import{B as O,D as w,P as D,a as R,d as S}from"./utils-rXlmyYaC.js";import{S as A}from"./story-utils-K2EZnGjM.js";import"./index-wocATsGp.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";const J={title:"Glide-Data-Grid/DataEditor Demos",decorators:[s=>n(A,{children:n(O,{title:"Header menus",description:n(p,{children:l(w,{children:["Headers on the data grid can be configured to support menus. We provide the events and the menu icon, you provide the menu. The menu icon can be modified via the"," ",n(D,{children:"menuIcon"})," prop."]})}),children:n(s,{})})})]},I=y("div")({name:"SimpleMenu",class:"s7szcfi",propsAsIs:!1}),i=()=>{const{cols:s,getCellContent:h,onColumnResize:C,setCellValue:g}=R(),f=d.useMemo(()=>s.map((t,r)=>r===2?{...t,hasMenu:!0,menuIcon:"dots",overlayIcon:"rowOwnerOverlay"}:r===3?{...t,hasMenu:!0,menuIcon:"headerUri"}:{...t,hasMenu:!0}),[s]),[e,o]=d.useState(),a=e!==void 0,{layerProps:b,renderLayer:M}=H({isOpen:a,auto:!0,placement:"bottom-end",triggerOffset:2,onOutsideClick:()=>o(void 0),trigger:{getBounds:()=>({left:(e==null?void 0:e.bounds.x)??0,top:(e==null?void 0:e.bounds.y)??0,width:(e==null?void 0:e.bounds.width)??0,height:(e==null?void 0:e.bounds.height)??0,right:((e==null?void 0:e.bounds.x)??0)+((e==null?void 0:e.bounds.width)??0),bottom:((e==null?void 0:e.bounds.y)??0)+((e==null?void 0:e.bounds.height)??0)})}}),v=d.useCallback((t,r)=>{o({col:t,bounds:r})},[]),k=d.useCallback(()=>{console.log("Header clicked")},[]);return l(p,{children:[n(x,{...S,getCellContent:h,onHeaderMenuClick:v,onHeaderClicked:k,columns:f,onCellContextMenu:(t,r)=>r.preventDefault(),onCellEdited:g,onColumnResize:C,rows:1e3}),a&&M(l(I,{...b,children:[n("div",{onClick:()=>o(void 0),children:"These do nothing"}),n("div",{onClick:()=>o(void 0),children:"Add column right"}),n("div",{onClick:()=>o(void 0),children:"Add column left"}),n("div",{className:"danger",onClick:()=>o(void 0),children:"Delete"})]}))]})};var u,c,m;i.parameters={...i.parameters,docs:{...(u=i.parameters)==null?void 0:u.docs,source:{originalSource:`() => { +import{j as n,F as p,a as l,s as y}from"./marked.esm-dbrxtycE.js";import{R as d}from"./index-BMVQvedj.js";import{u as H}from"./react-laag.esm-PpDllAFI.js";import{D as x}from"./data-editor-all-3W5wpw6K.js";import{B as O,D as w,P as D,a as R,d as S}from"./utils--Nf55hQd.js";import{S as A}from"./story-utils-K2EZnGjM.js";import"./index-wocATsGp.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";const J={title:"Glide-Data-Grid/DataEditor Demos",decorators:[s=>n(A,{children:n(O,{title:"Header menus",description:n(p,{children:l(w,{children:["Headers on the data grid can be configured to support menus. We provide the events and the menu icon, you provide the menu. The menu icon can be modified via the"," ",n(D,{children:"menuIcon"})," prop."]})}),children:n(s,{})})})]},I=y("div")({name:"SimpleMenu",class:"s7szcfi",propsAsIs:!1}),i=()=>{const{cols:s,getCellContent:h,onColumnResize:C,setCellValue:g}=R(),f=d.useMemo(()=>s.map((t,r)=>r===2?{...t,hasMenu:!0,menuIcon:"dots",overlayIcon:"rowOwnerOverlay"}:r===3?{...t,hasMenu:!0,menuIcon:"headerUri"}:{...t,hasMenu:!0}),[s]),[e,o]=d.useState(),a=e!==void 0,{layerProps:b,renderLayer:M}=H({isOpen:a,auto:!0,placement:"bottom-end",triggerOffset:2,onOutsideClick:()=>o(void 0),trigger:{getBounds:()=>({left:(e==null?void 0:e.bounds.x)??0,top:(e==null?void 0:e.bounds.y)??0,width:(e==null?void 0:e.bounds.width)??0,height:(e==null?void 0:e.bounds.height)??0,right:((e==null?void 0:e.bounds.x)??0)+((e==null?void 0:e.bounds.width)??0),bottom:((e==null?void 0:e.bounds.y)??0)+((e==null?void 0:e.bounds.height)??0)})}}),v=d.useCallback((t,r)=>{o({col:t,bounds:r})},[]),k=d.useCallback(()=>{console.log("Header clicked")},[]);return l(p,{children:[n(x,{...S,getCellContent:h,onHeaderMenuClick:v,onHeaderClicked:k,columns:f,onCellContextMenu:(t,r)=>r.preventDefault(),onCellEdited:g,onColumnResize:C,rows:1e3}),a&&M(l(I,{...b,children:[n("div",{onClick:()=>o(void 0),children:"These do nothing"}),n("div",{onClick:()=>o(void 0),children:"Add column right"}),n("div",{onClick:()=>o(void 0),children:"Add column left"}),n("div",{className:"danger",onClick:()=>o(void 0),children:"Delete"})]}))]})};var u,c,m;i.parameters={...i.parameters,docs:{...(u=i.parameters)==null?void 0:u.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/highlight-cells.stories-rFv2D_b5.js b/docs/assets/highlight-cells.stories-aVv3lpjs.js similarity index 87% rename from docs/assets/highlight-cells.stories-rFv2D_b5.js rename to docs/assets/highlight-cells.stories-aVv3lpjs.js index 2968949cb..8a99d5dfb 100644 --- a/docs/assets/highlight-cells.stories-rFv2D_b5.js +++ b/docs/assets/highlight-cells.stories-aVv3lpjs.js @@ -1,4 +1,4 @@ -import{j as e,a as p}from"./marked.esm-dbrxtycE.js";import{R as l}from"./index-BMVQvedj.js";import{D as u}from"./data-editor-all-kwt0I9Kc.js";import{B as S,D as C,P as f,u as w,d as D}from"./utils-rXlmyYaC.js";import{C as s}from"./image-window-loader-aMebukIX.js";import{S as y}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const W={title:"Glide-Data-Grid/DataEditor Demos",decorators:[n=>e(y,{children:e(S,{title:"HighlightCells",description:p(C,{children:["The ",e(f,{children:"highlightRegions"})," prop can be set to provide additional hinting or context for the current selection."]}),children:e(n,{})})})]},r=()=>{const{cols:n,getCellContent:d}=w(100),[t,g]=l.useState({columns:s.empty(),rows:s.empty()}),m=l.useMemo(()=>{if(t.current===void 0)return;const[o,i]=t.current.cell;return[{color:"#44BB0022",range:{x:o+2,y:i,width:10,height:10},style:"solid"},{color:"#b000b021",range:{x:o,y:i+2,width:1,height:1}}]},[t]);return e(u,{...D,rowMarkers:"both",freezeColumns:1,highlightRegions:m,gridSelection:t,onGridSelectionChange:g,getCellContent:d,columns:n,verticalBorder:o=>o>0,rows:1e3})};var c,a,h;r.parameters={...r.parameters,docs:{...(c=r.parameters)==null?void 0:c.docs,source:{originalSource:`() => { +import{j as e,a as p}from"./marked.esm-dbrxtycE.js";import{R as l}from"./index-BMVQvedj.js";import{D as u}from"./data-editor-all-3W5wpw6K.js";import{B as S,D as C,P as f,u as w,d as D}from"./utils--Nf55hQd.js";import{C as s}from"./image-window-loader-Hk1rG8Sr.js";import{S as y}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const W={title:"Glide-Data-Grid/DataEditor Demos",decorators:[n=>e(y,{children:e(S,{title:"HighlightCells",description:p(C,{children:["The ",e(f,{children:"highlightRegions"})," prop can be set to provide additional hinting or context for the current selection."]}),children:e(n,{})})})]},r=()=>{const{cols:n,getCellContent:d}=w(100),[t,g]=l.useState({columns:s.empty(),rows:s.empty()}),m=l.useMemo(()=>{if(t.current===void 0)return;const[o,i]=t.current.cell;return[{color:"#44BB0022",range:{x:o+2,y:i,width:10,height:10},style:"solid"},{color:"#b000b021",range:{x:o,y:i+2,width:1,height:1}}]},[t]);return e(u,{...D,rowMarkers:"both",freezeColumns:1,highlightRegions:m,gridSelection:t,onGridSelectionChange:g,getCellContent:d,columns:n,verticalBorder:o=>o>0,rows:1e3})};var c,a,h;r.parameters={...r.parameters,docs:{...(c=r.parameters)==null?void 0:c.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/iframe-lQqvcp2b.js b/docs/assets/iframe-MU0yo5By.js similarity index 61% rename from docs/assets/iframe-lQqvcp2b.js rename to docs/assets/iframe-MU0yo5By.js index 918240e9b..716c6fa28 100644 --- a/docs/assets/iframe-lQqvcp2b.js +++ b/docs/assets/iframe-MU0yo5By.js @@ -1,7 +1,7 @@ -import"../sb-preview/runtime.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))_(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const t of s.addedNodes)t.tagName==="LINK"&&t.rel==="modulepreload"&&_(t)}).observe(document,{childList:!0,subtree:!0});function i(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function _(r){if(r.ep)return;r.ep=!0;const s=i(r);fetch(r.href,s)}})();const u="modulepreload",E=function(a,o){return new URL(a,o).href},n={},e=function(o,i,_){if(!i||i.length===0)return o();const r=document.getElementsByTagName("link");return Promise.all(i.map(s=>{if(s=E(s,_),s in n)return;n[s]=!0;const t=s.endsWith(".css"),d=t?'[rel="stylesheet"]':"";if(!!_)for(let m=r.length-1;m>=0;m--){const p=r[m];if(p.href===s&&(!t||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${d}`))return;const c=document.createElement("link");if(c.rel=t?"stylesheet":u,t||(c.as="script",c.crossOrigin=""),c.href=s,document.head.appendChild(c),t)return new Promise((m,p)=>{c.addEventListener("load",m),c.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>o()).catch(s=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=s,window.dispatchEvent(t),!t.defaultPrevented)throw s})},{createBrowserChannel:x}=__STORYBOOK_MODULE_CHANNELS__,{addons:O}=__STORYBOOK_MODULE_PREVIEW_API__,l=x({page:"preview"});O.setChannel(l);window.__STORYBOOK_ADDONS_CHANNEL__=l;window.CONFIG_TYPE==="DEVELOPMENT"&&(window.__STORYBOOK_SERVER_CHANNEL__=l);const g={"./packages/cells/src/cell.stories.tsx":async()=>e(()=>import("./cell.stories-fIZdO5lz.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url),"./packages/core/src/data-editor/stories/data-editor-repros.stories.tsx":async()=>e(()=>import("./data-editor-repros.stories-k_HFRk8A.js"),__vite__mapDeps([11,1,2,12,13,14,4,5,15,16,6,17,18,19,20]),import.meta.url),"./packages/core/src/data-editor/stories/data-editor.stories.tsx":async()=>e(()=>import("./data-editor.stories-xfc7Qva0.js"),__vite__mapDeps([21,1,2,12,13,14,4,5,15,16,6,17,18,19]),import.meta.url),"./packages/core/src/docs/00-faq.stories.tsx":async()=>e(()=>import("./00-faq.stories-PKS7OADQ.js"),__vite__mapDeps([22,1,2,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/01-getting-started.stories.tsx":async()=>e(()=>import("./01-getting-started.stories-_xqwTdwo.js"),__vite__mapDeps([25,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/02-editing-data.stories.tsx":async()=>e(()=>import("./02-editing-data.stories-vm8AfesG.js"),__vite__mapDeps([26,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/03-grid-column.stories.tsx":async()=>e(()=>import("./03-grid-column.stories-rBwMNHDn.js"),__vite__mapDeps([27,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/04-streaming-data.stories.tsx":async()=>e(()=>import("./04-streaming-data.stories-h22tR7YO.js"),__vite__mapDeps([28,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/06-search.stories.tsx":async()=>e(()=>import("./06-search.stories-Qw-UGUDi.js"),__vite__mapDeps([29,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/07-column-grouping.stories.tsx":async()=>e(()=>import("./07-column-grouping.stories-1PTlT5yc.js"),__vite__mapDeps([30,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/08-theming.stories.tsx":async()=>e(()=>import("./08-theming.stories-EvfeKvn0.js"),__vite__mapDeps([31,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/09-menus.stories.tsx":async()=>e(()=>import("./09-menus.stories-4DrjQ85I.js"),__vite__mapDeps([32,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24,33,8]),import.meta.url),"./packages/core/src/docs/examples/add-column.stories.tsx":async()=>e(()=>import("./add-column.stories-KOCGDfFW.js"),__vite__mapDeps([34,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/add-data-to-middle.stories.tsx":async()=>e(()=>import("./add-data-to-middle.stories-GAGXVPO1.js"),__vite__mapDeps([38,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/add-data-to-top.stories.tsx":async()=>e(()=>import("./add-data-to-top.stories-1B9P7ELS.js"),__vite__mapDeps([39,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/add-data.stories.tsx":async()=>e(()=>import("./add-data.stories-3Uf7-abx.js"),__vite__mapDeps([40,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/all-cell-kinds.stories.tsx":async()=>e(()=>import("./all-cell-kinds.stories-2AbRjkYn.js"),__vite__mapDeps([41,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/append-row-handle.stories.tsx":async()=>e(()=>import("./append-row-handle.stories-aapZvExI.js"),__vite__mapDeps([42,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/automatic-row-markers.stories.tsx":async()=>e(()=>import("./automatic-row-markers.stories-N_SNJNQY.js"),__vite__mapDeps([43,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/built-in-search.stories.tsx":async()=>e(()=>import("./built-in-search.stories-GK5NSyEp.js"),__vite__mapDeps([44,1,2,14,4,5,15,16,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/cell-activated-event.stories.tsx":async()=>e(()=>import("./cell-activated-event.stories-95MEeYVD.js"),__vite__mapDeps([45,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/column-group-collapse.stories.tsx":async()=>e(()=>import("./column-group-collapse.stories-9QNc0yTH.js"),__vite__mapDeps([46,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/column-groups.stories.tsx":async()=>e(()=>import("./column-groups.stories-kDGVGm7X.js"),__vite__mapDeps([47,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/content-alignment.stories.tsx":async()=>e(()=>import("./content-alignment.stories-ZQQYC7se.js"),__vite__mapDeps([48,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/controlled-search.stories.tsx":async()=>e(()=>import("./controlled-search.stories-e--yqllM.js"),__vite__mapDeps([49,1,2,14,4,5,15,16,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/controlled-selection.stories.tsx":async()=>e(()=>import("./controlled-selection.stories-sXlQf9oy.js"),__vite__mapDeps([50,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/copy-support.stories.tsx":async()=>e(()=>import("./copy-support.stories-k3DqhHY5.js"),__vite__mapDeps([51,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/custom-header-icons.stories.tsx":async()=>e(()=>import("./custom-header-icons.stories-O_N2joUp.js"),__vite__mapDeps([52,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/custom-header.stories.tsx":async()=>e(()=>import("./custom-header.stories-2GF4qBZk.js"),__vite__mapDeps([53,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/drag-source.stories.tsx":async()=>e(()=>import("./drag-source.stories-pyXRdLMW.js"),__vite__mapDeps([54,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/drop-events.stories.tsx":async()=>e(()=>import("./drop-events.stories-WZen-OYB.js"),__vite__mapDeps([55,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/fill-handle.stories.tsx":async()=>e(()=>import("./fill-handle.stories-GBcAoSLk.js"),__vite__mapDeps([56,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/freeze-columns.stories.tsx":async()=>e(()=>import("./freeze-columns.stories-85plTtuP.js"),__vite__mapDeps([57,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/freeze-rows.stories.tsx":async()=>e(()=>import("./freeze-rows.stories-BHzAD4R7.js"),__vite__mapDeps([58,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/header-menus.stories.tsx":async()=>e(()=>import("./header-menus.stories-b7mVW4Hc.js"),__vite__mapDeps([59,1,2,33,8,16,14,4,5,15,6,17,18,19,35,36,9,37,12,13,60]),import.meta.url),"./packages/core/src/docs/examples/highlight-cells.stories.tsx":async()=>e(()=>import("./highlight-cells.stories-rFv2D_b5.js"),__vite__mapDeps([61,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/imperative-scroll.stories.tsx":async()=>e(()=>import("./imperative-scroll.stories-RBPWaAQt.js"),__vite__mapDeps([62,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/input-blending.stories.tsx":async()=>e(()=>import("./input-blending.stories-nU-4gQGB.js"),__vite__mapDeps([63,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/keybindings.stories.tsx":async()=>e(()=>import("./keybindings.stories-pj-qJmK5.js"),__vite__mapDeps([64,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/layout-integration.stories.tsx":async()=>e(()=>import("./layout-integration.stories-4rqTdFZx.js"),__vite__mapDeps([65,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/multi-select-columns.stories.tsx":async()=>e(()=>import("./multi-select-columns.stories-df7dzZfN.js"),__vite__mapDeps([66,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/new-column-button.stories.tsx":async()=>e(()=>import("./new-column-button.stories-Ukr2c62E.js"),__vite__mapDeps([67,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/obscured-grid.stories.tsx":async()=>e(()=>import("./obscured-grid.stories-dzKX0-Va.js"),__vite__mapDeps([68,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/observe-visible-region.stories.tsx":async()=>e(()=>import("./observe-visible-region.stories-VBERjiaI.js"),__vite__mapDeps([69,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/one-hundred-thousand-columns.stories.tsx":async()=>e(()=>import("./one-hundred-thousand-columns.stories-B65s-hu6.js"),__vite__mapDeps([70,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/one-million-rows.stories.tsx":async()=>e(()=>import("./one-million-rows.stories-siQRN1mD.js"),__vite__mapDeps([71,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/overscroll.stories.tsx":async()=>e(()=>import("./overscroll.stories-eDnogoJL.js"),__vite__mapDeps([72,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/padding.stories.tsx":async()=>e(()=>import("./padding.stories-LQeTRVYn.js"),__vite__mapDeps([73,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/paste-support.stories.tsx":async()=>e(()=>import("./paste-support.stories-YLgQ3BbB.js"),__vite__mapDeps([74,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/prevent-diagonal-scroll.stories.tsx":async()=>e(()=>import("./prevent-diagonal-scroll.stories-aYu87AG0.js"),__vite__mapDeps([75,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/rapid-updates.stories.tsx":async()=>e(()=>import("./rapid-updates.stories-hZit4TOS.js"),__vite__mapDeps([76,1,2,35,14,4,5,15,36,9,8,6,37,12,13,16,17,18,19]),import.meta.url),"./packages/core/src/docs/examples/rearrange-columns.stories.tsx":async()=>e(()=>import("./rearrange-columns.stories-tRdCAtaK.js"),__vite__mapDeps([77,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/reorder-rows.stories.tsx":async()=>e(()=>import("./reorder-rows.stories-t9yHLkO8.js"),__vite__mapDeps([78,1,2,79,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/resizable-columns.stories.tsx":async()=>e(()=>import("./resizable-columns.stories-TbP8xy4s.js"),__vite__mapDeps([80,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/right-element.stories.tsx":async()=>e(()=>import("./right-element.stories-G8MshNdc.js"),__vite__mapDeps([81,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/right-to-left.stories.tsx":async()=>e(()=>import("./right-to-left.stories-4x8eT4bn.js"),__vite__mapDeps([82,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/row-and-header-sizes.stories.tsx":async()=>e(()=>import("./row-and-header-sizes.stories-igQOQ4QY.js"),__vite__mapDeps([83,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/row-grouping.stories.tsx":async()=>e(()=>import("./row-grouping.stories-X1TLE1Gz.js"),__vite__mapDeps([84,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13,79]),import.meta.url),"./packages/core/src/docs/examples/row-hover.stories.tsx":async()=>e(()=>import("./row-hover.stories-lVCyLdIV.js"),__vite__mapDeps([85,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/row-markers.stories.tsx":async()=>e(()=>import("./row-markers.stories-8WixJ6y1.js"),__vite__mapDeps([86,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/scaled-view.stories.tsx":async()=>e(()=>import("./scaled-view.stories-gTdtubI3.js"),__vite__mapDeps([87,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/scroll-offset.stories.tsx":async()=>e(()=>import("./scroll-offset.stories-qDoSgiMj.js"),__vite__mapDeps([88,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13,79]),import.meta.url),"./packages/core/src/docs/examples/scroll-shadows.stories.tsx":async()=>e(()=>import("./scroll-shadows.stories-tVRkU660.js"),__vite__mapDeps([89,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/search-as-filter.stories.tsx":async()=>e(()=>import("./search-as-filter.stories-u4X7aSyM.js"),__vite__mapDeps([90,1,2,14,4,5,15,16,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/server-side-data.stories.tsx":async()=>e(()=>import("./server-side-data.stories-VfmvTkjM.js"),__vite__mapDeps([91,1,2,14,4,5,15,12,13,16,6,17,18,19,35,36,9,8,37,23,7,24]),import.meta.url),"./packages/core/src/docs/examples/shadow-dom.stories.tsx":async()=>e(()=>import("./shadow-dom.stories-VsN2L4WY.js"),__vite__mapDeps([92,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/silly-numbers.stories.tsx":async()=>e(()=>import("./silly-numbers.stories-l1vFF-ko.js"),__vite__mapDeps([93,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/small-editable-grid.stories.tsx":async()=>e(()=>import("./small-editable-grid.stories-1FF4Nr8X.js"),__vite__mapDeps([94,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/smooth-scrolling-grid.stories.tsx":async()=>e(()=>import("./smooth-scrolling-grid.stories-ac4ZWDTK.js"),__vite__mapDeps([95,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/span-cell.stories.tsx":async()=>e(()=>import("./span-cell.stories-iFF9QQON.js"),__vite__mapDeps([96,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/stretch-column-size.stories.tsx":async()=>e(()=>import("./stretch-column-size.stories-7XjTLcUX.js"),__vite__mapDeps([97,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/ten-million-cells.stories.tsx":async()=>e(()=>import("./ten-million-cells.stories-zLJq4q7r.js"),__vite__mapDeps([98,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/theme-per-column.stories.tsx":async()=>e(()=>import("./theme-per-column.stories-lurrvglA.js"),__vite__mapDeps([99,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/theme-per-row.stories.tsx":async()=>e(()=>import("./theme-per-row.stories-txF47PKD.js"),__vite__mapDeps([100,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/theme-support.stories.tsx":async()=>e(()=>import("./theme-support.stories-FI1Qdj8y.js"),__vite__mapDeps([101,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/tooltips.stories.tsx":async()=>e(()=>import("./tooltips.stories-kSHF_53J.js"),__vite__mapDeps([102,1,2,33,8,16,14,4,5,15,6,17,18,19,35,36,9,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/trailing-row-options.stories.tsx":async()=>e(()=>import("./trailing-row-options.stories-Ib8hE_1a.js"),__vite__mapDeps([103,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/uneven-rows.stories.tsx":async()=>e(()=>import("./uneven-rows.stories-cq3AjEh6.js"),__vite__mapDeps([104,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/validate-data.stories.tsx":async()=>e(()=>import("./validate-data.stories-7_b9R9LW.js"),__vite__mapDeps([105,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/wrapping-text.stories.tsx":async()=>e(()=>import("./wrapping-text.stories-8jiaFcXr.js"),__vite__mapDeps([106,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/internal/data-grid/data-grid.stories.tsx":async()=>e(()=>import("./data-grid.stories-8ZqcKFS1.js"),__vite__mapDeps([107,1,2,12,13,14,4,5,15]),import.meta.url),"./packages/core/src/internal/scrolling-data-grid/scrolling-data-grid.stories.tsx":async()=>e(()=>import("./scrolling-data-grid.stories-3LZhQ26y.js"),__vite__mapDeps([108,1,2,12,13,17,4,5,14,15,18,109]),import.meta.url),"./packages/source/src/stories/use-data-source.stories.tsx":async()=>e(()=>import("./use-data-source.stories-FbEW0dFJ.js"),__vite__mapDeps([110,1,2,9,8,36,5,3,4,6,111]),import.meta.url)};async function R(a){return g[a]()}const{composeConfigs:v,PreviewWeb:P,ClientApi:T}=__STORYBOOK_MODULE_PREVIEW_API__,y=async()=>{const a=await Promise.all([e(()=>import("./entry-preview-rD48AoDU.js"),__vite__mapDeps([112,2,8]),import.meta.url),e(()=>import("./entry-preview-docs-TnItVWWf.js"),__vite__mapDeps([113,2,5]),import.meta.url),e(()=>import("./preview-z4T7Lhw3.js"),__vite__mapDeps([]),import.meta.url)]);return v(a)};window.__STORYBOOK_PREVIEW__=window.__STORYBOOK_PREVIEW__||new P;window.__STORYBOOK_STORY_STORE__=window.__STORYBOOK_STORY_STORE__||window.__STORYBOOK_PREVIEW__.storyStore;window.__STORYBOOK_CLIENT_API__=window.__STORYBOOK_CLIENT_API__||new T({storyStore:window.__STORYBOOK_PREVIEW__.storyStore});window.__STORYBOOK_PREVIEW__.initialize({importFn:R,getProjectAnnotations:y});export{e as _}; +import"../sb-preview/runtime.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))_(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const t of s.addedNodes)t.tagName==="LINK"&&t.rel==="modulepreload"&&_(t)}).observe(document,{childList:!0,subtree:!0});function i(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function _(r){if(r.ep)return;r.ep=!0;const s=i(r);fetch(r.href,s)}})();const u="modulepreload",E=function(a,o){return new URL(a,o).href},n={},e=function(o,i,_){if(!i||i.length===0)return o();const r=document.getElementsByTagName("link");return Promise.all(i.map(s=>{if(s=E(s,_),s in n)return;n[s]=!0;const t=s.endsWith(".css"),d=t?'[rel="stylesheet"]':"";if(!!_)for(let m=r.length-1;m>=0;m--){const p=r[m];if(p.href===s&&(!t||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${d}`))return;const c=document.createElement("link");if(c.rel=t?"stylesheet":u,t||(c.as="script",c.crossOrigin=""),c.href=s,document.head.appendChild(c),t)return new Promise((m,p)=>{c.addEventListener("load",m),c.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>o()).catch(s=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=s,window.dispatchEvent(t),!t.defaultPrevented)throw s})},{createBrowserChannel:x}=__STORYBOOK_MODULE_CHANNELS__,{addons:O}=__STORYBOOK_MODULE_PREVIEW_API__,l=x({page:"preview"});O.setChannel(l);window.__STORYBOOK_ADDONS_CHANNEL__=l;window.CONFIG_TYPE==="DEVELOPMENT"&&(window.__STORYBOOK_SERVER_CHANNEL__=l);const g={"./packages/cells/src/cell.stories.tsx":async()=>e(()=>import("./cell.stories-515e25HC.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url),"./packages/core/src/data-editor/stories/data-editor-repros.stories.tsx":async()=>e(()=>import("./data-editor-repros.stories-xR5iEpqT.js"),__vite__mapDeps([11,1,2,12,13,14,4,5,15,16,6,17,18,19,20]),import.meta.url),"./packages/core/src/data-editor/stories/data-editor.stories.tsx":async()=>e(()=>import("./data-editor.stories-HliuGAmP.js"),__vite__mapDeps([21,1,2,12,13,14,4,5,15,16,6,17,18,19]),import.meta.url),"./packages/core/src/docs/00-faq.stories.tsx":async()=>e(()=>import("./00-faq.stories-PKS7OADQ.js"),__vite__mapDeps([22,1,2,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/01-getting-started.stories.tsx":async()=>e(()=>import("./01-getting-started.stories-KReOJ8ZC.js"),__vite__mapDeps([25,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/02-editing-data.stories.tsx":async()=>e(()=>import("./02-editing-data.stories-9icbe2r1.js"),__vite__mapDeps([26,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/03-grid-column.stories.tsx":async()=>e(()=>import("./03-grid-column.stories-0h8SCulf.js"),__vite__mapDeps([27,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/04-streaming-data.stories.tsx":async()=>e(()=>import("./04-streaming-data.stories-bs-y83t4.js"),__vite__mapDeps([28,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/06-search.stories.tsx":async()=>e(()=>import("./06-search.stories-GCaD3uDs.js"),__vite__mapDeps([29,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/07-column-grouping.stories.tsx":async()=>e(()=>import("./07-column-grouping.stories-xREWe1Ho.js"),__vite__mapDeps([30,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/08-theming.stories.tsx":async()=>e(()=>import("./08-theming.stories-92jCxUk4.js"),__vite__mapDeps([31,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24]),import.meta.url),"./packages/core/src/docs/09-menus.stories.tsx":async()=>e(()=>import("./09-menus.stories-fsKs99FO.js"),__vite__mapDeps([32,1,2,14,4,5,15,16,6,17,18,19,12,13,23,7,24,33,8]),import.meta.url),"./packages/core/src/docs/examples/add-column.stories.tsx":async()=>e(()=>import("./add-column.stories-o_yTp7FV.js"),__vite__mapDeps([34,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/add-data-to-middle.stories.tsx":async()=>e(()=>import("./add-data-to-middle.stories-OiRUqyyE.js"),__vite__mapDeps([38,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/add-data-to-top.stories.tsx":async()=>e(()=>import("./add-data-to-top.stories-tqJbWcKP.js"),__vite__mapDeps([39,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/add-data.stories.tsx":async()=>e(()=>import("./add-data.stories-rLd3eK3G.js"),__vite__mapDeps([40,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/all-cell-kinds.stories.tsx":async()=>e(()=>import("./all-cell-kinds.stories-ljbwmHHG.js"),__vite__mapDeps([41,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/append-row-handle.stories.tsx":async()=>e(()=>import("./append-row-handle.stories-hNn75Cqb.js"),__vite__mapDeps([42,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/automatic-row-markers.stories.tsx":async()=>e(()=>import("./automatic-row-markers.stories-jrGzOj4q.js"),__vite__mapDeps([43,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/built-in-search.stories.tsx":async()=>e(()=>import("./built-in-search.stories-IEe7X1V-.js"),__vite__mapDeps([44,1,2,14,4,5,15,16,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/cell-activated-event.stories.tsx":async()=>e(()=>import("./cell-activated-event.stories-0Jp3S41A.js"),__vite__mapDeps([45,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/column-group-collapse.stories.tsx":async()=>e(()=>import("./column-group-collapse.stories-TRFC5vFT.js"),__vite__mapDeps([46,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/column-groups.stories.tsx":async()=>e(()=>import("./column-groups.stories-_y1bWhvw.js"),__vite__mapDeps([47,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/content-alignment.stories.tsx":async()=>e(()=>import("./content-alignment.stories-J1HmwqQE.js"),__vite__mapDeps([48,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/controlled-search.stories.tsx":async()=>e(()=>import("./controlled-search.stories-0UBin77v.js"),__vite__mapDeps([49,1,2,14,4,5,15,16,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/controlled-selection.stories.tsx":async()=>e(()=>import("./controlled-selection.stories-WxVxysKb.js"),__vite__mapDeps([50,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/copy-support.stories.tsx":async()=>e(()=>import("./copy-support.stories-cza5eV_t.js"),__vite__mapDeps([51,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/custom-header-icons.stories.tsx":async()=>e(()=>import("./custom-header-icons.stories-kzKcQ_St.js"),__vite__mapDeps([52,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/custom-header.stories.tsx":async()=>e(()=>import("./custom-header.stories-49B80E42.js"),__vite__mapDeps([53,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/drag-source.stories.tsx":async()=>e(()=>import("./drag-source.stories-xjiY8fZ2.js"),__vite__mapDeps([54,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/drop-events.stories.tsx":async()=>e(()=>import("./drop-events.stories-SmnsTd1w.js"),__vite__mapDeps([55,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/fill-handle.stories.tsx":async()=>e(()=>import("./fill-handle.stories-9ThwR_H2.js"),__vite__mapDeps([56,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/freeze-columns.stories.tsx":async()=>e(()=>import("./freeze-columns.stories-JYuu47lq.js"),__vite__mapDeps([57,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/freeze-rows.stories.tsx":async()=>e(()=>import("./freeze-rows.stories-10LaASUY.js"),__vite__mapDeps([58,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/header-menus.stories.tsx":async()=>e(()=>import("./header-menus.stories-bIp2Ut7G.js"),__vite__mapDeps([59,1,2,33,8,16,14,4,5,15,6,17,18,19,35,36,9,37,12,13,60]),import.meta.url),"./packages/core/src/docs/examples/highlight-cells.stories.tsx":async()=>e(()=>import("./highlight-cells.stories-aVv3lpjs.js"),__vite__mapDeps([61,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/imperative-scroll.stories.tsx":async()=>e(()=>import("./imperative-scroll.stories-y3gSc3eQ.js"),__vite__mapDeps([62,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/input-blending.stories.tsx":async()=>e(()=>import("./input-blending.stories-05pnBYfU.js"),__vite__mapDeps([63,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/keybindings.stories.tsx":async()=>e(()=>import("./keybindings.stories-khzrIeAT.js"),__vite__mapDeps([64,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/layout-integration.stories.tsx":async()=>e(()=>import("./layout-integration.stories-TDasRRdi.js"),__vite__mapDeps([65,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/multi-select-columns.stories.tsx":async()=>e(()=>import("./multi-select-columns.stories-7L1MeFOj.js"),__vite__mapDeps([66,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/new-column-button.stories.tsx":async()=>e(()=>import("./new-column-button.stories-btvWGGLu.js"),__vite__mapDeps([67,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/obscured-grid.stories.tsx":async()=>e(()=>import("./obscured-grid.stories-Sxr4_hgz.js"),__vite__mapDeps([68,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/observe-visible-region.stories.tsx":async()=>e(()=>import("./observe-visible-region.stories-d_K5DrAi.js"),__vite__mapDeps([69,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/one-hundred-thousand-columns.stories.tsx":async()=>e(()=>import("./one-hundred-thousand-columns.stories-GUGwiwE-.js"),__vite__mapDeps([70,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/one-million-rows.stories.tsx":async()=>e(()=>import("./one-million-rows.stories-ecKFr2fk.js"),__vite__mapDeps([71,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/overscroll.stories.tsx":async()=>e(()=>import("./overscroll.stories--00iIFjI.js"),__vite__mapDeps([72,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/padding.stories.tsx":async()=>e(()=>import("./padding.stories-gGAkrL6U.js"),__vite__mapDeps([73,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/paste-support.stories.tsx":async()=>e(()=>import("./paste-support.stories-00YxhDIm.js"),__vite__mapDeps([74,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/prevent-diagonal-scroll.stories.tsx":async()=>e(()=>import("./prevent-diagonal-scroll.stories-eyaK6XCn.js"),__vite__mapDeps([75,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/rapid-updates.stories.tsx":async()=>e(()=>import("./rapid-updates.stories-rfLgmMAI.js"),__vite__mapDeps([76,1,2,35,14,4,5,15,36,9,8,6,37,12,13,16,17,18,19]),import.meta.url),"./packages/core/src/docs/examples/rearrange-columns.stories.tsx":async()=>e(()=>import("./rearrange-columns.stories-saNqxbHc.js"),__vite__mapDeps([77,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/reorder-rows.stories.tsx":async()=>e(()=>import("./reorder-rows.stories-3Viw5Csb.js"),__vite__mapDeps([78,1,2,79,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/resizable-columns.stories.tsx":async()=>e(()=>import("./resizable-columns.stories-21_6VX6P.js"),__vite__mapDeps([80,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/right-element.stories.tsx":async()=>e(()=>import("./right-element.stories-Pu7ka8hk.js"),__vite__mapDeps([81,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/right-to-left.stories.tsx":async()=>e(()=>import("./right-to-left.stories-cYrmy-d1.js"),__vite__mapDeps([82,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/row-and-header-sizes.stories.tsx":async()=>e(()=>import("./row-and-header-sizes.stories-3O6D-eJY.js"),__vite__mapDeps([83,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/row-grouping.stories.tsx":async()=>e(()=>import("./row-grouping.stories-3v0t01Cd.js"),__vite__mapDeps([84,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13,79]),import.meta.url),"./packages/core/src/docs/examples/row-hover.stories.tsx":async()=>e(()=>import("./row-hover.stories-jYpKu5x5.js"),__vite__mapDeps([85,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/row-markers.stories.tsx":async()=>e(()=>import("./row-markers.stories-UGSZ8bQr.js"),__vite__mapDeps([86,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/scaled-view.stories.tsx":async()=>e(()=>import("./scaled-view.stories-hWOvFuvx.js"),__vite__mapDeps([87,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/scroll-offset.stories.tsx":async()=>e(()=>import("./scroll-offset.stories-ucbjSxav.js"),__vite__mapDeps([88,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13,79]),import.meta.url),"./packages/core/src/docs/examples/scroll-shadows.stories.tsx":async()=>e(()=>import("./scroll-shadows.stories-quW1KZP_.js"),__vite__mapDeps([89,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/search-as-filter.stories.tsx":async()=>e(()=>import("./search-as-filter.stories-HebIWnA5.js"),__vite__mapDeps([90,1,2,14,4,5,15,16,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/server-side-data.stories.tsx":async()=>e(()=>import("./server-side-data.stories-eD3RQJ11.js"),__vite__mapDeps([91,1,2,14,4,5,15,12,13,16,6,17,18,19,35,36,9,8,37,23,7,24]),import.meta.url),"./packages/core/src/docs/examples/shadow-dom.stories.tsx":async()=>e(()=>import("./shadow-dom.stories-Ky0i0BF3.js"),__vite__mapDeps([92,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/silly-numbers.stories.tsx":async()=>e(()=>import("./silly-numbers.stories-dDaRCc9X.js"),__vite__mapDeps([93,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/small-editable-grid.stories.tsx":async()=>e(()=>import("./small-editable-grid.stories-HqG9oNiY.js"),__vite__mapDeps([94,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/smooth-scrolling-grid.stories.tsx":async()=>e(()=>import("./smooth-scrolling-grid.stories-YGxA26KD.js"),__vite__mapDeps([95,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/span-cell.stories.tsx":async()=>e(()=>import("./span-cell.stories-zAFCslGb.js"),__vite__mapDeps([96,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/stretch-column-size.stories.tsx":async()=>e(()=>import("./stretch-column-size.stories-IX69CyzJ.js"),__vite__mapDeps([97,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/ten-million-cells.stories.tsx":async()=>e(()=>import("./ten-million-cells.stories-d_xrA1LY.js"),__vite__mapDeps([98,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/theme-per-column.stories.tsx":async()=>e(()=>import("./theme-per-column.stories-FUXVRk7J.js"),__vite__mapDeps([99,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/theme-per-row.stories.tsx":async()=>e(()=>import("./theme-per-row.stories-sPo9HrPn.js"),__vite__mapDeps([100,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/theme-support.stories.tsx":async()=>e(()=>import("./theme-support.stories-zhmcTHHH.js"),__vite__mapDeps([101,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/tooltips.stories.tsx":async()=>e(()=>import("./tooltips.stories-TRnRsIDs.js"),__vite__mapDeps([102,1,2,33,8,16,14,4,5,15,6,17,18,19,35,36,9,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/trailing-row-options.stories.tsx":async()=>e(()=>import("./trailing-row-options.stories-SxTP-5h0.js"),__vite__mapDeps([103,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/uneven-rows.stories.tsx":async()=>e(()=>import("./uneven-rows.stories-qXM-7Ikb.js"),__vite__mapDeps([104,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/validate-data.stories.tsx":async()=>e(()=>import("./validate-data.stories-XmCJ-hiO.js"),__vite__mapDeps([105,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/docs/examples/wrapping-text.stories.tsx":async()=>e(()=>import("./wrapping-text.stories-7xxNmV7x.js"),__vite__mapDeps([106,1,2,16,14,4,5,15,6,17,18,19,35,36,9,8,37,12,13]),import.meta.url),"./packages/core/src/internal/data-grid/data-grid.stories.tsx":async()=>e(()=>import("./data-grid.stories-IFrWuEXW.js"),__vite__mapDeps([107,1,2,12,13,14,4,5,15]),import.meta.url),"./packages/core/src/internal/scrolling-data-grid/scrolling-data-grid.stories.tsx":async()=>e(()=>import("./scrolling-data-grid.stories-Vo-oDGAY.js"),__vite__mapDeps([108,1,2,12,13,17,4,5,14,15,18,109]),import.meta.url),"./packages/source/src/stories/use-data-source.stories.tsx":async()=>e(()=>import("./use-data-source.stories-5Bzlxi35.js"),__vite__mapDeps([110,1,2,9,8,36,5,3,4,6,111]),import.meta.url)};async function R(a){return g[a]()}const{composeConfigs:v,PreviewWeb:P,ClientApi:T}=__STORYBOOK_MODULE_PREVIEW_API__,y=async()=>{const a=await Promise.all([e(()=>import("./entry-preview-rD48AoDU.js"),__vite__mapDeps([112,2,8]),import.meta.url),e(()=>import("./entry-preview-docs-TnItVWWf.js"),__vite__mapDeps([113,2,5]),import.meta.url),e(()=>import("./preview-z4T7Lhw3.js"),__vite__mapDeps([]),import.meta.url)]);return v(a)};window.__STORYBOOK_PREVIEW__=window.__STORYBOOK_PREVIEW__||new P;window.__STORYBOOK_STORY_STORE__=window.__STORYBOOK_STORY_STORE__||window.__STORYBOOK_PREVIEW__.storyStore;window.__STORYBOOK_CLIENT_API__=window.__STORYBOOK_CLIENT_API__||new T({storyStore:window.__STORYBOOK_PREVIEW__.storyStore});window.__STORYBOOK_PREVIEW__.initialize({importFn:R,getProjectAnnotations:y});export{e as _}; function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["./cell.stories-fIZdO5lz.js","./marked.esm-dbrxtycE.js","./index-BMVQvedj.js","./data-editor-all-y1NNmvAL.js","./throttle-7EuXLZa7.js","./_baseIteratee-WTHxv43n.js","./flatten-qRvRBp6y.js","./toConsumableArray-ppDpjNRJ.js","./index-wocATsGp.js","./index.esm-Ejw8GwRl.js","./cell-hbkxrWJd.css","./data-editor-repros.stories-k_HFRk8A.js","./story-utils-K2EZnGjM.js","./story-utils-P19cgLKl.css","./image-window-loader-aMebukIX.js","./image-window-loader-1jHxuE_X.css","./data-editor-all-kwt0I9Kc.js","./scrolling-data-grid-AbyJF5mC.js","./scrolling-data-grid-dE2iz8sf.css","./data-editor-all-n_zxn1vv.css","./data-editor-repros-3oka-WZT.css","./data-editor.stories-xfc7Qva0.js","./00-faq.stories-PKS7OADQ.js","./doc-wrapper-m1-LpzDL.js","./doc-wrapper-WI-RO4K9.css","./01-getting-started.stories-_xqwTdwo.js","./02-editing-data.stories-vm8AfesG.js","./03-grid-column.stories-rBwMNHDn.js","./04-streaming-data.stories-h22tR7YO.js","./06-search.stories-Qw-UGUDi.js","./07-column-grouping.stories-1PTlT5yc.js","./08-theming.stories-EvfeKvn0.js","./09-menus.stories-4DrjQ85I.js","./react-laag.esm-PpDllAFI.js","./add-column.stories-KOCGDfFW.js","./utils-rXlmyYaC.js","./index-PWBWJyi_.js","./utils-ybqXy1Bp.css","./add-data-to-middle.stories-GAGXVPO1.js","./add-data-to-top.stories-1B9P7ELS.js","./add-data.stories-3Uf7-abx.js","./all-cell-kinds.stories-2AbRjkYn.js","./append-row-handle.stories-aapZvExI.js","./automatic-row-markers.stories-N_SNJNQY.js","./built-in-search.stories-GK5NSyEp.js","./cell-activated-event.stories-95MEeYVD.js","./column-group-collapse.stories-9QNc0yTH.js","./column-groups.stories-kDGVGm7X.js","./content-alignment.stories-ZQQYC7se.js","./controlled-search.stories-e--yqllM.js","./controlled-selection.stories-sXlQf9oy.js","./copy-support.stories-k3DqhHY5.js","./custom-header-icons.stories-O_N2joUp.js","./custom-header.stories-2GF4qBZk.js","./drag-source.stories-pyXRdLMW.js","./drop-events.stories-WZen-OYB.js","./fill-handle.stories-GBcAoSLk.js","./freeze-columns.stories-85plTtuP.js","./freeze-rows.stories-BHzAD4R7.js","./header-menus.stories-b7mVW4Hc.js","./header-menus-N_BOUD_t.css","./highlight-cells.stories-rFv2D_b5.js","./imperative-scroll.stories-RBPWaAQt.js","./input-blending.stories-nU-4gQGB.js","./keybindings.stories-pj-qJmK5.js","./layout-integration.stories-4rqTdFZx.js","./multi-select-columns.stories-df7dzZfN.js","./new-column-button.stories-Ukr2c62E.js","./obscured-grid.stories-dzKX0-Va.js","./observe-visible-region.stories-VBERjiaI.js","./one-hundred-thousand-columns.stories-B65s-hu6.js","./one-million-rows.stories-siQRN1mD.js","./overscroll.stories-eDnogoJL.js","./padding.stories-LQeTRVYn.js","./paste-support.stories-YLgQ3BbB.js","./prevent-diagonal-scroll.stories-aYu87AG0.js","./rapid-updates.stories-hZit4TOS.js","./rearrange-columns.stories-tRdCAtaK.js","./reorder-rows.stories-t9yHLkO8.js","./lodash-8jIGfDyZ.js","./resizable-columns.stories-TbP8xy4s.js","./right-element.stories-G8MshNdc.js","./right-to-left.stories-4x8eT4bn.js","./row-and-header-sizes.stories-igQOQ4QY.js","./row-grouping.stories-X1TLE1Gz.js","./row-hover.stories-lVCyLdIV.js","./row-markers.stories-8WixJ6y1.js","./scaled-view.stories-gTdtubI3.js","./scroll-offset.stories-qDoSgiMj.js","./scroll-shadows.stories-tVRkU660.js","./search-as-filter.stories-u4X7aSyM.js","./server-side-data.stories-VfmvTkjM.js","./shadow-dom.stories-VsN2L4WY.js","./silly-numbers.stories-l1vFF-ko.js","./small-editable-grid.stories-1FF4Nr8X.js","./smooth-scrolling-grid.stories-ac4ZWDTK.js","./span-cell.stories-iFF9QQON.js","./stretch-column-size.stories-7XjTLcUX.js","./ten-million-cells.stories-zLJq4q7r.js","./theme-per-column.stories-lurrvglA.js","./theme-per-row.stories-txF47PKD.js","./theme-support.stories-FI1Qdj8y.js","./tooltips.stories-kSHF_53J.js","./trailing-row-options.stories-Ib8hE_1a.js","./uneven-rows.stories-cq3AjEh6.js","./validate-data.stories-7_b9R9LW.js","./wrapping-text.stories-8jiaFcXr.js","./data-grid.stories-8ZqcKFS1.js","./scrolling-data-grid.stories-3LZhQ26y.js","./scrolling-data-grid-OMNPNZ5X.css","./use-data-source.stories-FbEW0dFJ.js","./use-data-source-ruk7orBA.css","./entry-preview-rD48AoDU.js","./entry-preview-docs-TnItVWWf.js"] + __vite__mapDeps.viteFileDeps = ["./cell.stories-515e25HC.js","./marked.esm-dbrxtycE.js","./index-BMVQvedj.js","./data-editor-all-ql0Al2pT.js","./throttle-7EuXLZa7.js","./_baseIteratee-WTHxv43n.js","./flatten-qRvRBp6y.js","./toConsumableArray-ppDpjNRJ.js","./index-wocATsGp.js","./index.esm-Ejw8GwRl.js","./cell-6_dc3_o0.css","./data-editor-repros.stories-xR5iEpqT.js","./story-utils-K2EZnGjM.js","./story-utils-P19cgLKl.css","./image-window-loader-Hk1rG8Sr.js","./image-window-loader-1jHxuE_X.css","./data-editor-all-3W5wpw6K.js","./scrolling-data-grid-6oMlsc5s.js","./scrolling-data-grid-dE2iz8sf.css","./data-editor-all-n_zxn1vv.css","./data-editor-repros-3oka-WZT.css","./data-editor.stories-HliuGAmP.js","./00-faq.stories-PKS7OADQ.js","./doc-wrapper-m1-LpzDL.js","./doc-wrapper-WI-RO4K9.css","./01-getting-started.stories-KReOJ8ZC.js","./02-editing-data.stories-9icbe2r1.js","./03-grid-column.stories-0h8SCulf.js","./04-streaming-data.stories-bs-y83t4.js","./06-search.stories-GCaD3uDs.js","./07-column-grouping.stories-xREWe1Ho.js","./08-theming.stories-92jCxUk4.js","./09-menus.stories-fsKs99FO.js","./react-laag.esm-PpDllAFI.js","./add-column.stories-o_yTp7FV.js","./utils--Nf55hQd.js","./index-PWBWJyi_.js","./utils-ybqXy1Bp.css","./add-data-to-middle.stories-OiRUqyyE.js","./add-data-to-top.stories-tqJbWcKP.js","./add-data.stories-rLd3eK3G.js","./all-cell-kinds.stories-ljbwmHHG.js","./append-row-handle.stories-hNn75Cqb.js","./automatic-row-markers.stories-jrGzOj4q.js","./built-in-search.stories-IEe7X1V-.js","./cell-activated-event.stories-0Jp3S41A.js","./column-group-collapse.stories-TRFC5vFT.js","./column-groups.stories-_y1bWhvw.js","./content-alignment.stories-J1HmwqQE.js","./controlled-search.stories-0UBin77v.js","./controlled-selection.stories-WxVxysKb.js","./copy-support.stories-cza5eV_t.js","./custom-header-icons.stories-kzKcQ_St.js","./custom-header.stories-49B80E42.js","./drag-source.stories-xjiY8fZ2.js","./drop-events.stories-SmnsTd1w.js","./fill-handle.stories-9ThwR_H2.js","./freeze-columns.stories-JYuu47lq.js","./freeze-rows.stories-10LaASUY.js","./header-menus.stories-bIp2Ut7G.js","./header-menus-N_BOUD_t.css","./highlight-cells.stories-aVv3lpjs.js","./imperative-scroll.stories-y3gSc3eQ.js","./input-blending.stories-05pnBYfU.js","./keybindings.stories-khzrIeAT.js","./layout-integration.stories-TDasRRdi.js","./multi-select-columns.stories-7L1MeFOj.js","./new-column-button.stories-btvWGGLu.js","./obscured-grid.stories-Sxr4_hgz.js","./observe-visible-region.stories-d_K5DrAi.js","./one-hundred-thousand-columns.stories-GUGwiwE-.js","./one-million-rows.stories-ecKFr2fk.js","./overscroll.stories--00iIFjI.js","./padding.stories-gGAkrL6U.js","./paste-support.stories-00YxhDIm.js","./prevent-diagonal-scroll.stories-eyaK6XCn.js","./rapid-updates.stories-rfLgmMAI.js","./rearrange-columns.stories-saNqxbHc.js","./reorder-rows.stories-3Viw5Csb.js","./lodash-8jIGfDyZ.js","./resizable-columns.stories-21_6VX6P.js","./right-element.stories-Pu7ka8hk.js","./right-to-left.stories-cYrmy-d1.js","./row-and-header-sizes.stories-3O6D-eJY.js","./row-grouping.stories-3v0t01Cd.js","./row-hover.stories-jYpKu5x5.js","./row-markers.stories-UGSZ8bQr.js","./scaled-view.stories-hWOvFuvx.js","./scroll-offset.stories-ucbjSxav.js","./scroll-shadows.stories-quW1KZP_.js","./search-as-filter.stories-HebIWnA5.js","./server-side-data.stories-eD3RQJ11.js","./shadow-dom.stories-Ky0i0BF3.js","./silly-numbers.stories-dDaRCc9X.js","./small-editable-grid.stories-HqG9oNiY.js","./smooth-scrolling-grid.stories-YGxA26KD.js","./span-cell.stories-zAFCslGb.js","./stretch-column-size.stories-IX69CyzJ.js","./ten-million-cells.stories-d_xrA1LY.js","./theme-per-column.stories-FUXVRk7J.js","./theme-per-row.stories-sPo9HrPn.js","./theme-support.stories-zhmcTHHH.js","./tooltips.stories-TRnRsIDs.js","./trailing-row-options.stories-SxTP-5h0.js","./uneven-rows.stories-qXM-7Ikb.js","./validate-data.stories-XmCJ-hiO.js","./wrapping-text.stories-7xxNmV7x.js","./data-grid.stories-IFrWuEXW.js","./scrolling-data-grid.stories-Vo-oDGAY.js","./scrolling-data-grid-OMNPNZ5X.css","./use-data-source.stories-5Bzlxi35.js","./use-data-source-ruk7orBA.css","./entry-preview-rD48AoDU.js","./entry-preview-docs-TnItVWWf.js"] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } \ No newline at end of file diff --git a/docs/assets/image-window-loader-Hk1rG8Sr.js b/docs/assets/image-window-loader-Hk1rG8Sr.js new file mode 100644 index 000000000..bd77879d8 --- /dev/null +++ b/docs/assets/image-window-loader-Hk1rG8Sr.js @@ -0,0 +1,18 @@ +var Li=Object.defineProperty;var Ni=(e,t,n)=>t in e?Li(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var oe=(e,t,n)=>(Ni(e,typeof t!="symbol"?t+"":t,n),n);import{a as Je,j as $,F as Xn,s as gt,b as Oi}from"./marked.esm-dbrxtycE.js";import{r as I,R as Gn}from"./index-BMVQvedj.js";import{h as Xi,d as $i,v as Yi,_ as _i,g as Ui,c as wn,r as qi,j as ji,t as Vi}from"./throttle-7EuXLZa7.js";import{_ as Ki}from"./iframe-MU0yo5By.js";function Vo(e="This should not happen"){throw new Error(e)}function ft(e,t="Assertion failed"){if(!e)return Vo(t)}function Jn(e,t){return Vo(t??"Hell froze over")}function tl(e,t){try{return e()}catch{return t}}const Co=Object.prototype.hasOwnProperty;function Xt(e,t){let n,o;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((o=e.length)===t.length)for(;o--&&Xt(e[o],t[o]););return o===-1}if(!n||typeof e=="object"){o=0;for(n in e)if(Co.call(e,n)&&++o&&!Co.call(t,n)||!(n in t)||!Xt(e[n],t[n]))return!1;return Object.keys(t).length===o}}return e!==e&&t!==t}const xn=null,Qn=void 0;var ae=(e=>(e.Uri="uri",e.Text="text",e.Image="image",e.RowID="row-id",e.Number="number",e.Bubble="bubble",e.Boolean="boolean",e.Loading="loading",e.Markdown="markdown",e.Drilldown="drilldown",e.Protected="protected",e.Custom="custom",e))(ae||{}),Gi=(e=>(e.HeaderRowID="headerRowID",e.HeaderCode="headerCode",e.HeaderNumber="headerNumber",e.HeaderString="headerString",e.HeaderBoolean="headerBoolean",e.HeaderAudioUri="headerAudioUri",e.HeaderVideoUri="headerVideoUri",e.HeaderEmoji="headerEmoji",e.HeaderImage="headerImage",e.HeaderUri="headerUri",e.HeaderPhone="headerPhone",e.HeaderMarkdown="headerMarkdown",e.HeaderDate="headerDate",e.HeaderTime="headerTime",e.HeaderEmail="headerEmail",e.HeaderReference="headerReference",e.HeaderIfThenElse="headerIfThenElse",e.HeaderSingleValue="headerSingleValue",e.HeaderLookup="headerLookup",e.HeaderTextTemplate="headerTextTemplate",e.HeaderMath="headerMath",e.HeaderRollup="headerRollup",e.HeaderJoinStrings="headerJoinStrings",e.HeaderSplitString="headerSplitString",e.HeaderGeoDistance="headerGeoDistance",e.HeaderArray="headerArray",e.RowOwnerOverlay="rowOwnerOverlay",e.ProtectedColumnOverlay="protectedColumnOverlay",e))(Gi||{}),$n=(e=>(e.Triangle="triangle",e.Dots="dots",e))($n||{});function nl(e){return"width"in e&&typeof e.width=="number"}async function ol(e){return typeof e=="object"?e:await e()}function Ji(e){return!(e.kind==="loading"||e.kind==="bubble"||e.kind==="row-id"||e.kind==="protected"||e.kind==="drilldown")}function il(e){return!(e.kind==="loading"||e.kind==="bubble"||e.kind==="row-id"||e.kind==="protected"||e.kind==="drilldown"||e.kind==="boolean"||e.kind==="image"||e.kind==="custom")}function Ko(e){return e.kind==="marker"||e.kind==="new-row"}function Qi(e){if(!Ji(e)||e.kind==="image")return!1;if(e.kind==="text"||e.kind==="number"||e.kind==="markdown"||e.kind==="uri"||e.kind==="custom"||e.kind==="boolean")return e.readonly!==!0;Jn(e,"A cell was passed with an invalid kind")}function rl(e){return Xi(e,"editor")}function Yn(e){return!(e.readonly??!1)}var tn=(e=>(e.NewRow="new-row",e.Marker="marker",e))(tn||{});function Zi(e){if(e.length===0)return[];const t=[...e],n=[];t.sort(function(o,i){return o[0]-i[0]}),n.push([...t[0]]);for(const o of t.slice(1)){const i=n[n.length-1];i[1][o[0]+t,o[1]+t]);return new ut(n)}add(t){const n=typeof t=="number"?[t,t+1]:t,o=Zi([...this.items,n]);return new ut(o)}remove(t){const n=[...this.items],o=typeof t=="number"?t:t[0],i=typeof t=="number"?t+1:t[1];for(const[r,l]of n.entries()){const[s,a]=l;if(s<=i&&o<=a){const d=[];s=o&&tSo??(So=new ut([]))),oe(ut,"fromSingleSelection",t=>ut.empty().add(t));let _n=ut;function Ge(e,t,n,o,i=!1){const r=I.useRef();r.current=t,I.useEffect(()=>{if(n===null||n.addEventListener===void 0)return;const l=n,s=a=>{var d;(d=r.current)==null||d.call(l,a)};return l.addEventListener(e,s,{passive:o,capture:i}),()=>{l.removeEventListener(e,s,{capture:i})}},[e,n,o,i])}function sl(e,t){return e===void 0?void 0:t}const er=Math.PI;function Io(e){return e*er/180}const Go=(e,t,n)=>({x1:e-n/2,y1:t-n/2,x2:e+n/2,y2:t+n/2}),Jo=(e,t,n,o,i)=>{switch(e){case"left":return Math.floor(t)+o+i/2;case"center":return Math.floor(t+n/2);case"right":return Math.floor(t+n)-o-i/2}},Qo=(e,t,n)=>Math.min(e,t-n*2),Zo=(e,t,n)=>n.x1<=e&&e<=n.x2&&n.y1<=t&&t<=n.y2,Zn=e=>{const t=e.fgColor??"currentColor";return Je("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[$("path",{d:"M12.7073 7.05029C7.87391 11.8837 10.4544 9.30322 6.03024 13.7273C5.77392 13.9836 5.58981 14.3071 5.50189 14.6587L4.52521 18.5655C4.38789 19.1148 4.88543 19.6123 5.43472 19.475L9.34146 18.4983C9.69313 18.4104 10.0143 18.2286 10.2706 17.9722L16.9499 11.2929",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"none",vectorEffect:"non-scaling-stroke"}),$("path",{d:"M20.4854 4.92901L19.0712 3.5148C18.2901 2.73375 17.0238 2.73375 16.2428 3.5148L14.475 5.28257C15.5326 7.71912 16.4736 8.6278 18.7176 9.52521L20.4854 7.75744C21.2665 6.97639 21.2665 5.71006 20.4854 4.92901Z",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"none",vectorEffect:"non-scaling-stroke"})]})},tr=e=>{const t=e.fgColor??"currentColor";return $("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:$("path",{d:"M19 6L10.3802 17L5.34071 11.8758",vectorEffect:"non-scaling-stroke",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})};function nr(e,t,n){const[o,i]=I.useState(e),r=I.useRef(!0);I.useEffect(()=>()=>{r.current=!1},[]);const l=I.useRef($i(s=>{r.current&&i(s)},n));return I.useLayoutEffect(()=>{r.current&&l.current(()=>e())},t),o}const or="֑-߿יִ-﷽ﹰ-ﻼ",ir="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿",rr=new RegExp("^[^"+ir+"]*["+or+"]");function eo(e){return rr.test(e)?"rtl":"not-rtl"}let vn;function Mo(){if(typeof document>"u")return 0;if(vn!==void 0)return vn;const e=document.createElement("p");e.style.width="100%",e.style.height="200px";const t=document.createElement("div");t.id="testScrollbar",t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.visibility="hidden",t.style.width="200px",t.style.height="150px",t.style.overflow="hidden",t.append(e),document.body.append(t);const n=e.offsetWidth;t.style.overflow="scroll";let o=e.offsetWidth;return n===o&&(o=t.clientWidth),t.remove(),vn=n-o,vn}const Ft=Symbol();function ll(e){const t=I.useRef([Ft,e]);t.current[1]!==e&&(t.current[0]=e),t.current[1]=e;const[n,o]=I.useState(e),[,i]=I.useState(),r=I.useCallback(s=>{const a=t.current[0];a!==Ft&&(s=typeof s=="function"?s(a):s,s===a)||(a!==Ft&&i({}),o(d=>typeof s=="function"?s(a===Ft?d:a):s),t.current[0]=Ft)},[]),l=I.useCallback(()=>{t.current[0]=Ft,i({})},[]);return[t.current[0]===Ft?n:t.current[0],r,l]}function ei(e){if(e.length===0)return"";let t=0,n=0;for(const o of e){if(n+=o.length,n>1e4)break;t++}return e.slice(0,t).join(", ")}function al(e){const t=I.useRef(e);return Xt(e,t.current)||(t.current=e),t.current}function sr(e,t){return Gn.useMemo(()=>e.map((n,o)=>({group:n.group,grow:n.grow,hasMenu:n.hasMenu,icon:n.icon,id:n.id,menuIcon:n.menuIcon,overlayIcon:n.overlayIcon,sourceIndex:o,sticky:o=r.x&&n=r.y&&o=t.span[0]&&n.current.cell[0]<=t.span[1]}function ar(e,t){const[n,o]=e;return n>=t.x&&n=t.y&&ol)return!1;if(t.span===void 0)return s>=o&&s<=i;const[d,f]=t.span;return d>=o&&d<=i||f>=o&&d<=i||di}function cr(e,t,n,o){let i=0;if(n.current===void 0)return i;const r=n.current.range;(o||r.height*r.width>1)&&Eo(e,t,r)&&i++;for(const l of n.current.rangeStack)Eo(e,t,l)&&i++;return i}function ni(e,t){let n=e;if(t!==void 0){let o=[...e];const i=n[t.src];t.src>t.dest?(o.splice(t.src,1),o.splice(t.dest,0,i)):(o.splice(t.dest+1,0,i),o.splice(t.src,1)),o=o.map((r,l)=>({...r,sticky:e[l].sticky})),n=o}return n}function $t(e,t){let n=0;const o=ni(e,t);for(let i=0;i0)for(const d of l)n-=d.width;let s=t,a=i??0;for(;a<=n&&s=g)return u}const m=r-d,h=e-(a??0);if(typeof l=="number"){const c=Math.floor((h-f)/l)+s;return c>=m?void 0:c}else{let c=f;for(let u=s;u"u";async function hr(){var e;fr||((e=document==null?void 0:document.fonts)==null?void 0:e.ready)===void 0||(await document.fonts.ready,pn=0,Zt={},Yi())}hr();function oi(e,t,n,o){return`${e}_${o??(t==null?void 0:t.font)}_${n}`}function _t(e,t,n,o="middle"){const i=oi(e,t,o,n);let r=Zt[i];return r===void 0&&(r=t.measureText(e),Zt[i]=r,pn++),pn>1e4&&(Zt={},pn=0),r}function ii(e,t){const n=oi(e,void 0,"middle",t);return Zt[n]}function xt(e,t){return typeof t!="string"&&(t=t.baseFontFull),gr(e,t)}function Bo(e,t){const n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";e.save(),e.textBaseline=t;const o=e.measureText(n);return e.restore(),o}const Fo=[];function gr(e,t){for(const r of Fo)if(r.key===t)return r.val;const n=Bo(e,"alphabetic"),i=-(Bo(e,"middle").actualBoundingBoxDescent-n.actualBoundingBoxDescent)+n.actualBoundingBoxAscent/2;return Fo.push({key:t,val:i}),i}function mr(e,t,n,o,i,r){const{ctx:l,rect:s,theme:a}=e;let d=Number.MAX_SAFE_INTEGER;const f=500;if(t!==void 0&&(d=n-t,dn&&(e=e.slice(0,n)),e}function vr(e,t,n,o,i,r,l,s,a,d){const f=s.baseFontFull,g=_i(e,t,f,i-s.cellHorizontalPadding*2,d??!1),m=si(e,f),h=s.lineHeight*m,c=m+h*(g.length-1),u=c+s.cellVerticalPadding>r;u&&(e.save(),e.rect(n,o,i,r),e.clip());const y=o+r/2-c/2;let b=Math.max(o+s.cellVerticalPadding,y);for(const w of g)if(ri(e,w,n,b,i,m,l,s,a),b+=h,b>o+r)break;u&&e.restore()}function ht(e,t,n,o,i){const{ctx:r,rect:l,theme:s}=e,{x:a,y:d,width:f,height:g}=l;o=o??!1,o||(t=yr(t,f));const m=xt(r,s),h=eo(t)==="rtl";if(n===void 0&&h&&(n="right"),h&&(r.direction="rtl"),t.length>0){let c=!1;n==="right"?(r.textAlign="right",c=!0):n!==void 0&&n!=="left"&&(r.textAlign=n,c=!0),o?vr(r,t,a,d,f,g,m,s,n,i):ri(r,t,a,d,f,g,m,s,n),c&&(r.textAlign="start"),h&&(r.direction="inherit")}}function st(e,t,n,o,i,r){typeof r=="number"&&(r={tl:r,tr:r,br:r,bl:r}),r={tl:Math.max(0,Math.min(r.tl,i/2,o/2)),tr:Math.max(0,Math.min(r.tr,i/2,o/2)),bl:Math.max(0,Math.min(r.bl,i/2,o/2)),br:Math.max(0,Math.min(r.br,i/2,o/2))},e.moveTo(t+r.tl,n),e.arcTo(t+o,n,t+o,n+r.tr,r.tr),e.arcTo(t+o,n+i,t+o-r.br,n+i,r.br),e.arcTo(t,n+i,t,n+i-r.bl,r.bl),e.arcTo(t,n,t+r.tl,n,r.tl)}function br(e,t,n){e.arc(t,n-1.25*3.5,1.25,0,2*Math.PI,!1),e.arc(t,n,1.25,0,2*Math.PI,!1),e.arc(t,n+1.25*3.5,1.25,0,2*Math.PI,!1)}function pr(e,t,n){const o=function(s,a){const d=a.x-s.x,f=a.y-s.y,g=Math.sqrt(d*d+f*f),m=d/g,h=f/g;return{x:d,y:a.y-s.y,len:g,nx:m,ny:h,ang:Math.atan2(h,m)}};let i;const r=t.length;let l=t[r-1];for(let s=0;s1?1:m),u=1,y=!1;h<0?c<0?c=Math.PI+c:(c=Math.PI-c,u=-1,y=!0):c>0&&(u=-1,y=!0),i=a.radius!==void 0?a.radius:n;const b=c/2;let w=Math.abs(Math.cos(b)*i/Math.sin(b)),M;w>Math.min(f.len/2,g.len/2)?(w=Math.min(f.len/2,g.len/2),M=Math.abs(w*Math.sin(b)/Math.cos(b))):M=i;let F=a.x+g.nx*w,P=a.y+g.ny*w;F+=-g.ny*M*u,P+=g.nx*M*u,e.arc(F,P,M,f.ang+Math.PI/2*u,g.ang-Math.PI/2*u,y),l=a,a=d}e.closePath()}function jn(e,t,n,o,i,r,l,s,a,d,f,g,m,h,c){const u={x:0,y:r+d,width:0,height:0};if(e>=h.length||t>=f||t<-2||e<0)return u;const y=r-i;if(e>=g){const b=l>e?-1:1,w=$t(h);u.x+=w+a;for(let M=l;M!==e;M+=b)u.x+=h[b===1?M:M-1].width*b}else for(let b=0;b0&&Un(h[b-1].group,w)&&h[b-1].sticky===M;){const P=h[b-1];u.x-=P.width,u.width+=P.width,b--}let F=e;for(;F+1n&&(u.width=n-u.x)}}else if(t>=f-m){let b=f-t;for(u.y=o;b>0;){const w=t+b-1;u.height=typeof c=="number"?c:c(w),u.y-=u.height,b--}u.height+=1}else{const b=s>t?-1:1;if(typeof c=="number"){const w=t-s;u.y+=w*c}else for(let w=s;w!==t;w+=b)u.y+=c(w)*b;u.height=(typeof c=="number"?c:c(t))+1}return u}const to=1<<21;function tt(e,t){return(t+2)*to+e}function li(e){return e%to}function no(e){return Math.floor(e/to)-2}function oo(e){const t=li(e),n=no(e);return[t,n]}class ai{constructor(){oe(this,"visibleWindow",{x:0,y:0,width:0,height:0});oe(this,"freezeCols",0);oe(this,"freezeRows",[]);oe(this,"isInWindow",t=>{const n=li(t),o=no(t),i=this.visibleWindow,r=n>=i.x&&n<=i.x+i.width||n=i.y&&o<=i.y+i.height||this.freezeRows.includes(o);return r&&l})}setWindow(t,n,o){this.visibleWindow.x===t.x&&this.visibleWindow.y===t.y&&this.visibleWindow.width===t.width&&this.visibleWindow.height===t.height&&this.freezeCols===n&&Xt(this.freezeRows,o)||(this.visibleWindow=t,this.freezeCols=n,this.freezeRows=o,this.clearOutOfWindow())}}class wr extends ai{constructor(){super(...arguments);oe(this,"cache",new Map);oe(this,"setValue",(n,o)=>{this.cache.set(tt(n[0],n[1]),o)});oe(this,"getValue",n=>this.cache.get(tt(n[0],n[1])));oe(this,"clearOutOfWindow",()=>{for(const[n]of this.cache.entries())this.isInWindow(n)||this.cache.delete(n)})}}class en{constructor(t=[]){oe(this,"cells");this.cells=new Set(t.map(n=>tt(n[0],n[1])))}add(t){this.cells.add(tt(t[0],t[1]))}has(t){return t===void 0?!1:this.cells.has(tt(t[0],t[1]))}remove(t){this.cells.delete(tt(t[0],t[1]))}clear(){this.cells.clear()}get size(){return this.cells.size}hasHeader(){for(const t of this.cells)if(no(t)<0)return!0;return!1}hasItemInRectangle(t){for(let n=t.y;n{u.drawImage(y,0,0,g,g)}).finally(()=>{this.inFlight--,this.inFlight===0&&this.onSettled()})}else a<1&&(o.globalAlpha=a),o.drawImage(h,0,0,g,g,i,r,l,l),a<1&&(o.globalAlpha=1)}}const Rn={};let wt=null;function Cr(){const e=document.createElement("div");return e.style.opacity="0",e.style.pointerEvents="none",e.style.position="fixed",document.body.append(e),e}function Vn(e){const t=e.toLowerCase().trim();if(Rn[t]!==void 0)return Rn[t];wt=wt||Cr(),wt.style.color="#000",wt.style.color=t;const n=getComputedStyle(wt).color;wt.style.color="#fff",wt.style.color=t;const o=getComputedStyle(wt).color;if(o!==n)return[0,0,0,1];let i=o.replace(/[^\d.,]/g,"").split(",").map(Number.parseFloat);return i.length<4&&i.push(1),i=i.map(r=>Number.isNaN(r)?0:r),Rn[t]=i,i}function sn(e,t){const[n,o,i]=Vn(e);return`rgba(${n}, ${o}, ${i}, ${t})`}const Ao=new Map;function Do(e,t){const n=`${e}-${t}`,o=Ao.get(n);if(o!==void 0)return o;const i=qe(e,t);return Ao.set(n,i),i}function qe(e,t){if(t===void 0)return e;const[n,o,i,r]=Vn(e);if(r===1)return e;const[l,s,a,d]=Vn(t),f=r+d*(1-r),g=(r*n+d*l*(1-r))/f,m=(r*o+d*s*(1-r))/f,h=(r*i+d*a*(1-r))/f;return`rgba(${g}, ${m}, ${h}, ${f})`}function ci(e){if(e.length===0)return;let t;for(const n of e)t=Math.min(t??n.y,n.y)}function kn(e,t,n,o,i,r,l,s,a){s=s??t;let d=t,f=e;const g=o-r;let m=!1;for(;ds&&a(d,f,h,!1,l&&f===o-1)===!0){m=!0;break}d+=h,f++}if(!m){d=n;for(let h=0;h!h.sticky))==null?void 0:m.sourceIndex)??0;if(a>g){const h=Math.max(s,g);let c=t,u=o;for(let y=r.sourceIndex-1;y>=h;y--)c-=l[y].width,u+=l[y].width;for(let y=r.sourceIndex+1;y<=a;y++)u+=l[y].width;f={x:c,y:n,width:u,height:i}}if(g>s){const h=Math.min(a,g-1);let c=t,u=o;for(let y=r.sourceIndex-1;y>=s;y--)c-=l[y].width,u+=l[y].width;for(let y=r.sourceIndex+1;y<=h;y++)u+=l[y].width;d={x:c,y:n,width:u,height:i}}return[d,f]}function dl(e){return{"--gdg-accent-color":e.accentColor,"--gdg-accent-fg":e.accentFg,"--gdg-accent-light":e.accentLight,"--gdg-text-dark":e.textDark,"--gdg-text-medium":e.textMedium,"--gdg-text-light":e.textLight,"--gdg-text-bubble":e.textBubble,"--gdg-bg-icon-header":e.bgIconHeader,"--gdg-fg-icon-header":e.fgIconHeader,"--gdg-text-header":e.textHeader,"--gdg-text-group-header":e.textGroupHeader??e.textHeader,"--gdg-text-header-selected":e.textHeaderSelected,"--gdg-bg-cell":e.bgCell,"--gdg-bg-cell-medium":e.bgCellMedium,"--gdg-bg-header":e.bgHeader,"--gdg-bg-header-has-focus":e.bgHeaderHasFocus,"--gdg-bg-header-hovered":e.bgHeaderHovered,"--gdg-bg-bubble":e.bgBubble,"--gdg-bg-bubble-selected":e.bgBubbleSelected,"--gdg-bg-search-result":e.bgSearchResult,"--gdg-border-color":e.borderColor,"--gdg-horizontal-border-color":e.horizontalBorderColor??e.borderColor,"--gdg-drilldown-border":e.drilldownBorder,"--gdg-link-color":e.linkColor,"--gdg-cell-horizontal-padding":`${e.cellHorizontalPadding}px`,"--gdg-cell-vertical-padding":`${e.cellVerticalPadding}px`,"--gdg-header-font-style":e.headerFontStyle,"--gdg-base-font-style":e.baseFontStyle,"--gdg-marker-font-style":e.markerFontStyle,"--gdg-font-family":e.fontFamily,"--gdg-editor-font-size":e.editorFontSize,...e.resizeIndicatorColor===void 0?{}:{"--gdg-resize-indicator-color":e.resizeIndicatorColor},...e.headerBottomBorderColor===void 0?{}:{"--gdg-header-bottom-border-color":e.headerBottomBorderColor},...e.roundingRadius===void 0?{}:{"--gdg-rounding-radius":`${e.roundingRadius}px`}}}const fi={accentColor:"#4F5DFF",accentFg:"#FFFFFF",accentLight:"rgba(62, 116, 253, 0.1)",textDark:"#313139",textMedium:"#737383",textLight:"#B2B2C0",textBubble:"#313139",bgIconHeader:"#737383",fgIconHeader:"#FFFFFF",textHeader:"#313139",textGroupHeader:"#313139BB",textHeaderSelected:"#FFFFFF",bgCell:"#FFFFFF",bgCellMedium:"#FAFAFB",bgHeader:"#F7F7F8",bgHeaderHasFocus:"#E9E9EB",bgHeaderHovered:"#EFEFF1",bgBubble:"#EDEDF3",bgBubbleSelected:"#FFFFFF",bgSearchResult:"#fff9e3",borderColor:"rgba(115, 116, 131, 0.16)",drilldownBorder:"rgba(0, 0, 0, 0)",linkColor:"#353fb5",cellHorizontalPadding:8,cellVerticalPadding:3,headerIconSize:18,headerFontStyle:"600 13px",baseFontStyle:"13px",markerFontStyle:"9px",fontFamily:"Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif",editorFontSize:"13px",lineHeight:1.4};function ul(){return fi}const fl=Gn.createContext(fi);function nn(e,...t){const n={...e};for(const o of t)if(o!==void 0)for(const i in o)o.hasOwnProperty(i)&&(i==="bgCell"?n[i]=qe(o[i],n[i]):n[i]=o[i]);return(n.headerFontFull===void 0||e.fontFamily!==n.fontFamily||e.headerFontStyle!==n.headerFontStyle)&&(n.headerFontFull=`${n.headerFontStyle} ${n.fontFamily}`),(n.baseFontFull===void 0||e.fontFamily!==n.fontFamily||e.baseFontStyle!==n.baseFontStyle)&&(n.baseFontFull=`${n.baseFontStyle} ${n.fontFamily}`),(n.markerFontFull===void 0||e.fontFamily!==n.fontFamily||e.markerFontStyle!==n.markerFontStyle)&&(n.markerFontFull=`${n.markerFontStyle} ${n.fontFamily}`),n}function hl(e,t,n,o){if(o==="any")return Sr(e,{x:t,y:n,width:1,height:1});if(o==="vertical"&&(t=e.x),o==="horizontal"&&(n=e.y),ar([t,n],e))return;const i=t-e.x,r=e.x+e.width-t,l=n-e.y+1,s=e.y+e.height-n,a=Math.min(o==="vertical"?Number.MAX_SAFE_INTEGER:i,o==="vertical"?Number.MAX_SAFE_INTEGER:r,o==="horizontal"?Number.MAX_SAFE_INTEGER:l,o==="horizontal"?Number.MAX_SAFE_INTEGER:s);return a===s?{x:e.x,y:e.y+e.height,width:e.width,height:n-e.y-e.height+1}:a===l?{x:e.x,y:n,width:e.width,height:e.y-n}:a===r?{x:e.x+e.width,y:e.y,width:t-e.x-e.width+1,height:e.height}:{x:t,y:e.y,width:e.x-t,height:e.height}}function on(e,t,n,o,i,r,l,s){return e<=i+l&&i<=e+n&&t<=r+s&&r<=t+o}function Ot(e,t,n){return t>=e.x&&t<=e.x+e.width&&n>=e.y&&n<=e.y+e.height}function Sr(e,t){const n=Math.min(e.x,t.x),o=Math.min(e.y,t.y),i=Math.max(e.x+e.width,t.x+t.width)-n,r=Math.max(e.y+e.height,t.y+t.height)-o;return{x:n,y:o,width:i,height:r}}function Ir(e,t){return e.x<=t.x&&e.y<=t.y&&e.x+e.width>=t.x+t.width&&e.y+e.height>=t.y+t.height}function Mr(e,t,n,o){if(e.x>t||e.y>n||e.x<0&&e.y<0&&e.x+e.width>t&&e.y+e.height>n)return;if(e.x>=0&&e.y>=0&&e.x+e.width<=t&&e.y+e.height<=n)return e;const i=-4,r=-4,l=t+4,s=n+4,a=i-e.x,d=e.x+e.width-l,f=r-e.y,g=e.y+e.height-s,m=a>0?e.x+Math.floor(a/o)*o:e.x,h=d>0?e.x+e.width-Math.floor(d/o)*o:e.x+e.width,c=f>0?e.y+Math.floor(f/o)*o:e.y,u=g>0?e.y+e.height-Math.floor(g/o)*o:e.y+e.height;return{x:m,y:c,width:h-m,height:u-c}}function Er(e,t,n,o,i){const[r,l,s,a]=t,[d,f,g,m]=i,{x:h,y:c,width:u,height:y}=e,b=[];if(u<=0||y<=0)return b;const w=h+u,M=c+y,F=hs,A=c+y>a,W=h>=r&&hr&&w<=s||hs,C=c>=l&&cl&&M<=a||ca;if(W&&C){const B=Math.max(h,r),k=Math.max(c,l),x=Math.min(w,s),p=Math.min(M,a);b.push({rect:{x:B,y:k,width:x-B,height:p-k},clip:{x:d,y:f,width:g-d+1,height:m-f+1}})}if(F&&P){const B=h,k=c,x=Math.min(w,r),p=Math.min(M,l);b.push({rect:{x:B,y:k,width:x-B,height:p-k},clip:{x:0,y:0,width:d+1,height:f+1}})}if(P&&W){const B=Math.max(h,r),k=c,x=Math.min(w,s),p=Math.min(M,l);b.push({rect:{x:B,y:k,width:x-B,height:p-k},clip:{x:d,y:0,width:g-d+1,height:f+1}})}if(P&&S){const B=Math.max(h,s),k=c,x=w,p=Math.min(M,l);b.push({rect:{x:B,y:k,width:x-B,height:p-k},clip:{x:g,y:0,width:n-g+1,height:f+1}})}if(F&&C){const B=h,k=Math.max(c,l),x=Math.min(w,r),p=Math.min(M,a);b.push({rect:{x:B,y:k,width:x-B,height:p-k},clip:{x:0,y:f,width:d+1,height:m-f+1}})}if(S&&C){const B=Math.max(h,s),k=Math.max(c,l),x=w,p=Math.min(M,a);b.push({rect:{x:B,y:k,width:x-B,height:p-k},clip:{x:g,y:f,width:n-g+1,height:m-f+1}})}if(F&&A){const B=h,k=Math.max(c,a),x=Math.min(w,r),p=M;b.push({rect:{x:B,y:k,width:x-B,height:p-k},clip:{x:0,y:m,width:d+1,height:o-m+1}})}if(A&&W){const B=Math.max(h,r),k=Math.max(c,a),x=Math.min(w,s),p=M;b.push({rect:{x:B,y:k,width:x-B,height:p-k},clip:{x:d,y:m,width:g-d+1,height:o-m+1}})}if(S&&A){const B=Math.max(h,s),k=Math.max(c,a),x=w,p=M;b.push({rect:{x:B,y:k,width:x-B,height:p-k},clip:{x:g,y:m,width:n-g+1,height:o-m+1}})}return b}const Br={kind:ae.Loading,allowOverlay:!1};function Po(e,t,n,o,i,r,l,s,a,d,f,g,m,h,c,u,y,b,w,M,F,P,S,A,W,C,H,B,k,x,p,j,U,q,ce){let se=(M==null?void 0:M.size)??Number.MAX_SAFE_INTEGER;const he=performance.now();let ge=x.baseFontFull;e.font=ge;const Ne={ctx:e},K=[0,0],De=y>0?Yt(a,y,d):0;let Se,O;const we=ci(w);return kt(t,s,r,l,i,(J,Ie,je,lt,Ct)=>{const at=Math.max(0,lt-Ie),Ve=Ie+at,ye=i+1,mt=J.width-at,yt=o-i-1;if(w.length>0){let ke=!1;for(let le=0;le{e.save(),e.beginPath(),e.rect(Ve,ye,mt,yt),e.clip()},de=F.columns.hasIndex(J.sourceIndex),$e=g(J.group??"").overrideTheme,Me=J.themeOverride===void 0&&$e===void 0?x:nn(x,$e,J.themeOverride),We=Me.baseFontFull;We!==ge&&(ge=We,e.font=We),Xe();let Q;return kn(Ct,je,o,a,d,y,b,we,(ke,le,ve,L,V)=>{var It,nt,ot;if(le<0||(K[0]=J.sourceIndex,K[1]=le,M!==void 0&&!M.has(K)))return;if(w.length>0){let ne=!1;for(let Be=0;Beie.span!==void 0&&ne>=ie.span[0]&&ne<=ie.span[1]);Ke&&!c&&u?ze=0:Ke&&u&&(ze=Math.max(ze,1)),Dt&&ze++,Ke||(ue&&ze++,de&&!V&&ze++);const Pt=ie.kind===ae.Protected?Ee.bgCellMedium:Ee.bgCell;let be;if((L||Pt!==x.bgCell)&&(be=qe(Pt,be)),ze>0||te){te&&(be=qe(Ee.bgHeader,be));for(let ne=0;nece&&!Te){const ne=Ee.baseFontFull;ne!==ge&&(e.font=ne,ge=ne),Q=hi(e,ie,J.sourceIndex,le,ct,pe,Ce,ke,fe,ve,ze>0,Ee,be??Ee.bgCell,A,W,(Oe==null?void 0:Oe.hoverAmount)??0,H,k,he,B,Q,p,j,U,q)}return St&&e.restore(),ie.style==="faded"&&(e.globalAlpha=1),se--,G&&(e.restore(),(ot=Q==null?void 0:Q.deprep)==null||ot.call(Q,Ne),Q=void 0,Xe(),ge=We,e.font=We),se<=0}),e.restore(),se<=0}),Se}const Kt=[0,0],Gt={x:0,y:0,width:0,height:0},Tn=[void 0,()=>{}];let Kn=!1;function Fr(){Kn=!0}function hi(e,t,n,o,i,r,l,s,a,d,f,g,m,h,c,u,y,b,w,M,F,P,S,A,W){var j,U;let C,H;y!==void 0&&y[0][0]===n&&y[0][1]===o&&(C=y[1][0],H=y[1][1]);let B;Kt[0]=n,Kt[1]=o,Gt.x=l,Gt.y=s,Gt.width=a,Gt.height=d,Tn[0]=S.getValue(Kt),Tn[1]=q=>S.setValue(Kt,q),Kn=!1;const k={ctx:e,theme:g,col:n,row:o,cell:t,rect:Gt,highlighted:f,cellFillColor:m,hoverAmount:u,frameTime:w,hoverX:C,drawState:Tn,hoverY:H,imageLoader:h,spriteManager:c,hyperWrapping:b,overrideCursor:C!==void 0?W:void 0,requestAnimationFrame:Fr},x=mr(k,t.lastUpdated,w,F,i,r),p=A(t);if(p!==void 0){(F==null?void 0:F.renderer)!==p&&((j=F==null?void 0:F.deprep)==null||j.call(F,k),F=void 0);const q=(U=p.drawPrep)==null?void 0:U.call(p,k,F);M!==void 0&&!Ko(k.cell)?M(k,()=>p.draw(k,t)):p.draw(k,t),B=q===void 0?void 0:{deprep:q==null?void 0:q.deprep,fillStyle:q==null?void 0:q.fillStyle,font:q==null?void 0:q.font,renderer:p}}return(x||Kn)&&(P==null||P(Kt)),B}function io(e,t,n,o,i,r,l,s,a=-20,d=-20,f=32,g="center",m="square"){const h=Math.floor(i+l/2),c=m==="circle"?1e4:t.roundingRadius??4;let u=Qo(f,l,t.cellVerticalPadding),y=u/2;const b=Jo(g,o,r,t.cellHorizontalPadding,u),w=Go(b,h,u),M=Zo(o+a,i+d,w);switch(n){case!0:{e.beginPath(),st(e,b-u/2,h-u/2,u,u,c),m==="circle"&&(y*=.8,u*=.8),e.fillStyle=s?t.accentColor:t.textMedium,e.fill(),e.beginPath(),e.moveTo(b-y+u/4.23,h-y+u/1.97),e.lineTo(b-y+u/2.42,h-y+u/1.44),e.lineTo(b-y+u/1.29,h-y+u/3.25),e.strokeStyle=t.bgCell,e.lineJoin="round",e.lineCap="round",e.lineWidth=1.9,e.stroke();break}case xn:case!1:{e.beginPath(),st(e,b-u/2+.5,h-u/2+.5,u-1,u-1,c),e.lineWidth=1,e.strokeStyle=M?t.textDark:t.textMedium,e.stroke();break}case Qn:{e.beginPath(),st(e,b-u/2,h-u/2,u,u,c),e.fillStyle=M?t.textMedium:t.textLight,e.fill(),m==="circle"&&(y*=.8,u*=.8),e.beginPath(),e.moveTo(b-u/3,h),e.lineTo(b+u/3,h),e.strokeStyle=t.bgCell,e.lineCap="round",e.lineWidth=1.9,e.stroke();break}default:Jn()}}function Ar(e,t,n,o,i,r,l,s,a,d,f,g,m,h,c,u,y,b,w){var C,H,B,k;const M=l+s;if(M<=0)return;e.fillStyle=g.bgHeader,e.fillRect(0,0,i,M);const F=(C=o==null?void 0:o[0])==null?void 0:C[0],P=(H=o==null?void 0:o[0])==null?void 0:H[1],S=(B=o==null?void 0:o[1])==null?void 0:B[0],A=(k=o==null?void 0:o[1])==null?void 0:k[1],W=g.headerFontFull;e.font=W,kt(t,0,r,0,M,(x,p,j,U)=>{var J;if(y!==void 0&&!y.has([x.sourceIndex,-1]))return;const q=Math.max(0,U-p);e.save(),e.beginPath(),e.rect(p+q,s,x.width-q,l),e.clip();const ce=u(x.group??"").overrideTheme,se=x.themeOverride===void 0&&ce===void 0?g:nn(g,ce,x.themeOverride);se.bgHeader!==g.bgHeader&&(e.fillStyle=se.bgHeader,e.fill()),se!==g&&(e.font=se.baseFontFull);const he=f.columns.hasIndex(x.sourceIndex),ge=a!==void 0||d,Ne=!ge&&P===-1&&F===x.sourceIndex,K=ge?0:((J=h.find(Ie=>Ie.item[0]===x.sourceIndex&&Ie.item[1]===-1))==null?void 0:J.hoverAmount)??0,De=(f==null?void 0:f.current)!==void 0&&f.current.cell[0]===x.sourceIndex,Se=he?se.accentColor:De?se.bgHeaderHasFocus:se.bgHeader,O=n?s:0,we=x.sourceIndex===0?0:1;he?(e.fillStyle=Se,e.fillRect(p+we,O,x.width-we,l)):(De||K>0)&&(e.beginPath(),e.rect(p+we,O,x.width-we,l),De&&(e.fillStyle=se.bgHeaderHasFocus,e.fill()),K>0&&(e.globalAlpha=K,e.fillStyle=se.bgHeaderHovered,e.fill(),e.globalAlpha=1)),yi(e,p,O,x.width,l,x,he,se,Ne,Ne?S:void 0,Ne?A:void 0,De,K,m,b,w),e.restore()}),n&&Dr(e,t,i,r,s,o,g,m,h,c,u,y)}function Dr(e,t,n,o,i,r,l,s,a,d,f,g){const[h,c]=(r==null?void 0:r[0])??[];let u=0;di(t,n,o,i,(y,b,w,M,F,P)=>{if(g!==void 0&&!g.hasItemInRectangle({x:y[0],y:-2,width:y[1]-y[0]+1,height:1}))return;e.save(),e.beginPath(),e.rect(w,M,F,P),e.clip();const S=f(b),A=(S==null?void 0:S.overrideTheme)===void 0?l:nn(l,S.overrideTheme),W=c===-2&&h!==void 0&&h>=y[0]&&h<=y[1],C=W?A.bgHeaderHovered:A.bgHeader;if(C!==l.bgHeader&&(e.fillStyle=C,e.fill()),e.fillStyle=A.textGroupHeader??A.textHeader,S!==void 0){let H=w;if(S.icon!==void 0&&(s.drawSprite(S.icon,"normal",e,H+8,(i-20)/2,20,A),H+=26),e.fillText(S.name,H+8,i/2+xt(e,l.headerFontFull)),S.actions!==void 0&&W){const B=gi({x:w,y:M,width:F,height:P},S.actions);e.beginPath();const k=B[0].x-10,x=w+F-k;e.rect(k,0,x,i);const p=e.createLinearGradient(k,0,k+x,0),j=sn(C,0);p.addColorStop(0,j),p.addColorStop(10/x,C),p.addColorStop(1,C),e.fillStyle=p,e.fill(),e.globalAlpha=.6;const[U,q]=(r==null?void 0:r[1])??[-1,-1];for(let ce=0;ce35){const M=c?35:o-35,F=c?35*.7:o-35*.7,P=M/o,S=F/o,A=e.createLinearGradient(t,0,t+o,0),W=sn(y,0);A.addColorStop(c?1:0,y),A.addColorStop(P,y),A.addColorStop(S,W),A.addColorStop(c?0:1,W),e.fillStyle=A}else e.fillStyle=y;if(c&&(e.textAlign="right"),u.textBounds!==void 0&&e.fillText(r.title,c?u.textBounds.x+u.textBounds.width:u.textBounds.x,n+i/2+xt(e,s.headerFontFull)),c&&(e.textAlign="left"),r.indicatorIcon!==void 0&&u.indicatorIconBounds!==void 0&&(!b||!on(u.menuBounds.x,u.menuBounds.y,u.menuBounds.width,u.menuBounds.height,u.indicatorIconBounds.x,u.indicatorIconBounds.y,u.indicatorIconBounds.width,u.indicatorIconBounds.height))){let w=l?"selected":"normal";r.style==="highlight"&&(w=l?"selected":"special"),m.drawSprite(r.indicatorIcon,w,e,u.indicatorIconBounds.x,u.indicatorIconBounds.y,u.indicatorIconBounds.width,s)}if(b&&u.menuBounds!==void 0){const w=u.menuBounds,M=d!==void 0&&f!==void 0&&Ot(w,d+t,f+n);if(M||(e.globalAlpha=.7),r.menuIcon===void 0||r.menuIcon===$n.Triangle){e.beginPath();const F=w.x+w.width/2-5.5,P=w.y+w.height/2-3;pr(e,[{x:F,y:P},{x:F+11,y:P},{x:F+5.5,y:P+6}],1),e.fillStyle=y,e.fill()}else if(r.menuIcon===$n.Dots){e.beginPath();const F=w.x+w.width/2,P=w.y+w.height/2;br(e,F,P),e.fillStyle=y,e.fill()}else{const F=w.x+(w.width-s.headerIconSize)/2,P=w.y+(w.height-s.headerIconSize)/2;m.drawSprite(r.menuIcon,"normal",e,F,P,s.headerIconSize,s)}M||(e.globalAlpha=1)}}function yi(e,t,n,o,i,r,l,s,a,d,f,g,m,h,c,u){const y=eo(r.title)==="rtl",b=mi(e,r,t,n,o,i,s,y);c!==void 0?c({ctx:e,theme:s,rect:{x:t,y:n,width:o,height:i},column:r,columnIndex:r.sourceIndex,isSelected:l,hoverAmount:m,isHovered:a,hasSelectedCell:g,spriteManager:h,menuBounds:(b==null?void 0:b.menuBounds)??{x:0,y:0,height:0,width:0}},()=>Ho(e,t,n,o,i,r,l,s,a,d,f,m,h,u,y,b)):Ho(e,t,n,o,i,r,l,s,a,d,f,m,h,u,y,b)}function Hr(e,t,n,o,i,r,l,s,a,d,f,g,m,h,c,u,y,b,w){if(b!==void 0||t[t.length-1]!==n[t.length-1])return;const M=ci(y);kt(t,a,l,s,r,(F,P,S,A,W)=>{if(F!==t[t.length-1])return;P+=F.width;const C=Math.max(P,A);C>o||(e.save(),e.beginPath(),e.rect(C,r+1,1e4,i-r-1),e.clip(),kn(W,S,i,d,f,c,u,M,(H,B,k,x)=>{if(!x&&y.length>0&&!y.some(ce=>on(P,H,1e4,k,ce.x,ce.y,ce.width,ce.height)))return;const p=m.hasIndex(B),j=h.hasIndex(B);e.beginPath();const U=g==null?void 0:g(B),q=U===void 0?w:nn(w,U);q.bgCell!==w.bgCell&&(e.fillStyle=q.bgCell,e.fillRect(P,H,1e4,k)),j&&(e.fillStyle=q.bgHeader,e.fillRect(P,H,1e4,k)),p&&(e.fillStyle=q.accentLight,e.fillRect(P,H,1e4,k))}),e.restore())})}function Rr(e,t,n,o,i,r,l,s,a){let d=!1;for(const c of t)if(!c.sticky){d=l(c.sourceIndex);break}const f=a.horizontalBorderColor??a.borderColor,g=a.borderColor,m=d?$t(t):0;let h;if(m!==0&&(h=Do(g,a.bgCell),e.beginPath(),e.moveTo(m+.5,0),e.lineTo(m+.5,o),e.strokeStyle=h,e.stroke()),i>0){const c=g===f&&h!==void 0?h:Do(f,a.bgCell),u=Yt(r,i,s);e.beginPath(),e.moveTo(0,o-u+.5),e.lineTo(n,o-u+.5),e.strokeStyle=c,e.stroke()}}const vi=(e,t,n)=>{let o=0,i=t,r=0,l=n;if(e!==void 0&&e.length>0){o=Number.MAX_SAFE_INTEGER,r=Number.MAX_SAFE_INTEGER,i=Number.MIN_SAFE_INTEGER,l=Number.MIN_SAFE_INTEGER;for(const s of e)o=Math.min(o,s.x-1),i=Math.max(i,s.x+s.width+1),r=Math.min(r,s.y-1),l=Math.max(l,s.y+s.height+1)}return{minX:o,maxX:i,minY:r,maxY:l}};function Tr(e,t,n,o,i,r,l,s,a,d,f,g,m,h,c){var k;const u=c.bgCell,{minX:y,maxX:b,minY:w,maxY:M}=vi(s,r,l),F=[],P=l-Yt(h,m,d);let S=a,A=n,W=0;for(;S+i=w&&x<=M-1){const j=f==null?void 0:f(A),U=j==null?void 0:j.bgCell;U!==void 0&&U!==u&&A>=h-m&&F.push({x:y,y:x,w:b-y,h:p,color:U})}S+=p,A0)for(let x=0;x=y&&j<=b&&g(x+1)&&F.push({x:j,y:W,w:p.width,h:H,color:U}),C+=p.width}if(F.length===0)return;let B;e.beginPath();for(let x=F.length-1;x>=0;x--){const p=F[x];B===void 0?B=p.color:p.color!==B&&(e.fillStyle=B,e.fill(),e.beginPath(),B=p.color),e.rect(p.x,p.y,p.w,p.h)}B!==void 0&&(e.fillStyle=B,e.fill()),e.beginPath()}function Ro(e,t,n,o,i,r,l,s,a,d,f,g,m,h,c,u,y,b=!1){if(a!==void 0){e.beginPath(),e.save(),e.rect(0,0,r,l);for(const k of a)e.rect(k.x+1,k.y+1,k.width-1,k.height-1);e.clip("evenodd")}const w=y.horizontalBorderColor??y.borderColor,M=y.borderColor,{minX:F,maxX:P,minY:S,maxY:A}=vi(s,r,l),W=[];e.beginPath();let C=.5;for(let k=0;k=F&&p<=P&&h(k+1)&&W.push({x1:p,y1:Math.max(d,S),x2:p,y2:Math.min(l,A),color:M})}let H=l+.5;for(let k=u-c;k=S&&j<=A-1){const U=m==null?void 0:m(x);W.push({x1:F,y1:j,x2:P,y2:j,color:(U==null?void 0:U.horizontalBorderColor)??(U==null?void 0:U.borderColor)??w})}k+=g(x),x++}}const B=Ui(W,k=>k.color);for(const k of Object.keys(B)){e.strokeStyle=k;for(const x of B[k])e.moveTo(x.x1,x.y1),e.lineTo(x.x2,x.y2);e.stroke(),e.beginPath()}a!==void 0&&e.restore()}function Wr(e,t,n,o,i,r,l,s,a,d,f,g,m,h,c,u,y,b,w){const M=[];e.imageSmoothingEnabled=!1;const F=Math.min(i.cellYOffset,l),P=Math.max(i.cellYOffset,l);let S=0;if(typeof b=="number")S+=(P-F)*b;else for(let p=F;pi.cellYOffset&&(S=-S),S+=a-i.translateY;const A=Math.min(i.cellXOffset,r),W=Math.max(i.cellXOffset,r);let C=0;for(let p=A;pi.cellXOffset&&(C=-C),C+=s-i.translateX;const H=$t(y);if(C!==0&&S!==0)return{regions:[]};const B=d>0?Yt(m,d,b):0,k=f-H-Math.abs(C),x=g-h-B-Math.abs(S)-1;if(k>150&&x>150){const p={sx:0,sy:0,sw:f*c,sh:g*c,dx:0,dy:0,dw:f*c,dh:g*c};if(S>0?(p.sy=(h+1)*c,p.sh=x*c,p.dy=(S+h+1)*c,p.dh=x*c,M.push({x:0,y:h,width:f,height:S+1})):S<0&&(p.sy=(-S+h+1)*c,p.sh=x*c,p.dy=(h+1)*c,p.dh=x*c,M.push({x:0,y:g+S-B,width:f,height:-S+B})),C>0?(p.sx=H*c,p.sw=k*c,p.dx=(C+H)*c,p.dw=k*c,M.push({x:H-1,y:0,width:C+2,height:g})):C<0&&(p.sx=(H-C)*c,p.sw=k*c,p.dx=H*c,p.dw=k*c,M.push({x:f+C,y:0,width:-C,height:g})),e.setTransform(1,0,0,1,0,0),w){if(H>0&&C!==0&&S===0&&(o===void 0||(n==null?void 0:n[1])!==!1)){const j=H*c,U=g*c;e.drawImage(t,0,0,j,U,0,0,j,U)}if(B>0&&C===0&&S!==0&&(o===void 0||(n==null?void 0:n[0])!==!1)){const j=(g-B)*c,U=f*c,q=B*c;e.drawImage(t,0,j,U,q,0,j,U,q)}}e.drawImage(t,p.sx,p.sy,p.sw,p.sh,p.dx,p.dy,p.dw,p.dh),e.scale(c,c)}return e.imageSmoothingEnabled=!0,{regions:M}}function zr(e,t,n,o,i,r,l,s,a,d){const f=[];return t!==e.cellXOffset||n!==e.cellYOffset||o!==e.translateX||i!==e.translateY||kt(a,n,o,i,s,(g,m,h,c)=>{if(g.sourceIndex===d){const u=Math.max(m,c)+1;return f.push({x:u,y:0,width:r-u,height:l}),!0}}),f}function Lr(e,t){if(t===void 0||e.width!==t.width||e.height!==t.height||e.theme!==t.theme||e.headerHeight!==t.headerHeight||e.rowHeight!==t.rowHeight||e.rows!==t.rows||e.freezeColumns!==t.freezeColumns||e.getRowThemeOverride!==t.getRowThemeOverride||e.isFocused!==t.isFocused||e.isResizing!==t.isResizing||e.verticalBorder!==t.verticalBorder||e.getCellContent!==t.getCellContent||e.highlightRegions!==t.highlightRegions||e.selection!==t.selection||e.dragAndDropState!==t.dragAndDropState||e.prelightCells!==t.prelightCells||e.touchMode!==t.touchMode||e.maxScaleFactor!==t.maxScaleFactor)return!1;if(e.mappedColumns!==t.mappedColumns){if(e.mappedColumns.length>100||e.mappedColumns.length!==t.mappedColumns.length)return!1;let n;for(let o=0;oA.style!=="no-outline");if(y===void 0||y.length===0)return;const b=$t(s),w=Yt(h,m,g),M=[a,0,s.length,h-m],F=[b,0,t,n-w],P=y.map(A=>{const W=A.range,C=A.style??"dashed";return Er(W,M,t,n,F).map(H=>{const B=H.rect,k=jn(B.x,B.y,t,n,f,d+f,o,i,r,l,h,a,m,s,g),x=B.width===1&&B.height===1?k:jn(B.x+B.width-1,B.y+B.height-1,t,n,f,d+f,o,i,r,l,h,a,m,s,g);return B.x+B.width>=s.length&&(x.width-=1),B.y+B.height>=h&&(x.height-=1),{color:A.color,style:C,clip:H.clip,rect:Mr({x:k.x,y:k.y,width:x.x+x.width-k.x,height:x.y+x.height-k.y},t,n,8)}})}),S=()=>{e.lineWidth=1;let A=!1;for(const W of P)for(const C of W)if((C==null?void 0:C.rect)!==void 0&&on(0,0,t,n,C.rect.x,C.rect.y,C.rect.width,C.rect.height)){const H=A,B=!Ir(C.clip,C.rect);B&&(e.save(),e.rect(C.clip.x,C.clip.y,C.clip.width,C.clip.height),e.clip()),C.style==="dashed"&&!A?(e.setLineDash([5,3]),A=!0):(C.style==="solid"||C.style==="solid-outline")&&A&&(e.setLineDash([]),A=!1),e.strokeStyle=C.style==="solid-outline"?qe(qe(C.color,u.borderColor),u.bgCell):sn(C.color,1),e.strokeRect(C.rect.x+.5,C.rect.y+.5,C.rect.width-1,C.rect.height-1),B&&(e.restore(),A=H)}A&&e.setLineDash([])};return S(),S}function Wo(e,t,n,o,i){e.beginPath(),e.moveTo(t,n),e.lineTo(t,o),e.lineWidth=2,e.strokeStyle=i,e.stroke(),e.globalAlpha=1}function Wn(e,t,n,o,i,r,l,s,a,d,f,g,m,h,c,u,y){if(f.current===void 0)return;const b=f.current.range,w=f.current.cell,M=[b.x+b.width-1,b.y+b.height-1];if(w[1]>=y&&M[1]>=y||!l.some(p=>p.sourceIndex===w[0]||p.sourceIndex===M[0]))return;const[P,S]=f.current.cell,A=m(f.current.cell),W=A.span??[P,P],C=S>=y-h,H=h>0&&!C?Yt(y,h,g)-1:0,B=M[1];let k;if(kt(l,o,i,r,d,(p,j,U,q,ce)=>{if(p.sticky&&P>p.sourceIndex)return;const se=p.sourceIndexW[1],ge=p.sourceIndex===M[0];if(!(!ge&&(se||he)))return kn(ce,U,n,y,g,h,c,void 0,(Ne,K,De)=>{if(K!==S&&K!==B)return;let Se=j,O=p.width;if(A.span!==void 0){const J=ui(A.span,j,Ne,p.width,De,p,s),Ie=p.sticky?J[0]:J[1];Ie!==void 0&&(Se=Ie.x,O=Ie.width)}return K===B&&ge&&u&&(k=()=>{var J;q>Se&&!p.sticky&&(e.beginPath(),e.rect(q,0,t-q,n),e.clip()),e.beginPath(),e.rect(Se+O-4,Ne+De-4,4,4),e.fillStyle=((J=p.themeOverride)==null?void 0:J.accentColor)??a.accentColor,e.fill()}),k!==void 0}),k!==void 0}),k===void 0)return;const x=()=>{e.save(),e.beginPath(),e.rect(0,d,t,n-d-H),e.clip(),k==null||k(),e.restore()};return x(),x}function Nr(e,t,n,o,i,r,l,s,a){a===void 0||a.size===0||(e.beginPath(),di(t,n,r,o,(d,f,g,m,h,c)=>{a.hasItemInRectangle({x:d[0],y:-2,width:d[1]-d[0]+1,height:1})&&e.rect(g,m,h,c)}),kt(t,s,r,l,i,(d,f,g,m)=>{const h=Math.max(0,m-f),c=f+h+1,u=d.width-h-1;a.has([d.sourceIndex,-1])&&e.rect(c,o,u,i-o)}),e.clip())}function Or(e,t,n,o,i,r,l,s,a,d){let f=0;return kt(e,r,o,i,n,(g,m,h,c,u)=>(kn(u,h,t,l,s,a,d,void 0,(y,b,w,M)=>{M||(f=Math.max(b,f))}),!0)),f}function zo(e,t){var ct;const{canvasCtx:n,headerCanvasCtx:o,width:i,height:r,cellXOffset:l,cellYOffset:s,translateX:a,translateY:d,mappedColumns:f,enableGroups:g,freezeColumns:m,dragAndDropState:h,theme:c,drawFocus:u,headerHeight:y,groupHeaderHeight:b,disabledRows:w,rowHeight:M,verticalBorder:F,overrideCursor:P,isResizing:S,selection:A,fillHandle:W,freezeTrailingRows:C,rows:H,getCellContent:B,getGroupDetails:k,getRowThemeOverride:x,isFocused:p,drawHeaderCallback:j,prelightCells:U,drawCellCallback:q,highlightRegions:ce,resizeCol:se,imageLoader:he,lastBlitData:ge,hoverValues:Ne,hyperWrapping:K,hoverInfo:De,spriteManager:Se,maxScaleFactor:O,hasAppendRow:we,touchMode:J,enqueue:Ie,renderStateProvider:je,getCellRenderer:lt,renderStrategy:Ct,bufferACtx:at,bufferBCtx:Ve,damage:ye,minimumCellWidth:mt,resizeIndicator:yt}=e;if(i===0||r===0)return;const Xe=Ct==="double-buffer",de=Math.min(O,Math.ceil(window.devicePixelRatio??1)),$e=Ct!=="direct"&&Lr(e,t),Me=n.canvas;(Me.width!==i*de||Me.height!==r*de)&&(Me.width=i*de,Me.height=r*de,Me.style.width=i+"px",Me.style.height=r+"px");const We=o.canvas,Q=g?b+y:y,ke=Q+1;(We.width!==i*de||We.height!==ke*de)&&(We.width=i*de,We.height=ke*de,We.style.width=i+"px",We.style.height=ke+"px");const le=at.canvas,ve=Ve.canvas;Xe&&(le.width!==i*de||le.height!==r*de)&&(le.width=i*de,le.height=r*de,ge.current!==void 0&&(ge.current.aBufferScroll=void 0)),Xe&&(ve.width!==i*de||ve.height!==r*de)&&(ve.width=i*de,ve.height=r*de,ge.current!==void 0&&(ge.current.bBufferScroll=void 0));const L=ge.current;if($e===!0&&l===(L==null?void 0:L.cellXOffset)&&s===(L==null?void 0:L.cellYOffset)&&a===(L==null?void 0:L.translateX)&&d===(L==null?void 0:L.translateY))return;let V=null;Xe&&(V=n);const ue=o;let te;Xe?ye!==void 0?te=(L==null?void 0:L.lastBuffer)==="b"?Ve:at:te=(L==null?void 0:L.lastBuffer)==="b"?at:Ve:te=n;const ie=te.canvas,Ce=Xe?ie===le?ve:le:Me,fe=typeof M=="number"?()=>M:M;ue.save(),te.save(),ue.beginPath(),te.beginPath(),ue.textBaseline="middle",te.textBaseline="middle",de!==1&&(ue.scale(de,de),te.scale(de,de));const G=qn(f,l,i,h,a);let Te=[];const Ye=u&&((ct=A.current)==null?void 0:ct.cell[1])===s&&d===0;let _e=!1;if(ce!==void 0){for(const pe of ce)if(pe.style!=="no-outline"&&pe.range.y===s&&d===0){_e=!0;break}}const Ee=()=>{Ar(ue,G,g,De,i,a,y,b,h,S,A,c,Se,Ne,F,k,ye,j,J),Ro(ue,G,s,a,d,i,r,void 0,void 0,b,Q,fe,x,F,C,H,c,!0),ue.beginPath(),ue.moveTo(0,ke-.5),ue.lineTo(i,ke-.5),ue.strokeStyle=qe(c.headerBottomBorderColor??c.horizontalBorderColor??c.borderColor,c.bgHeader),ue.stroke(),_e&&To(ue,i,r,l,s,a,d,f,m,y,b,M,C,H,ce,c),Ye&&Wn(ue,i,r,s,a,d,G,f,c,Q,A,fe,B,C,we,W,H)};if(ye!==void 0){const pe=G[G.length-1].sourceIndex+1,Oe=ye.hasItemInRegion([{x:l,y:-2,width:pe,height:2},{x:l,y:s,width:pe,height:300},{x:0,y:s,width:m,height:300},{x:0,y:-2,width:m,height:2},{x:l,y:H-C,width:pe,height:C,when:C>0}]),It=nt=>{Po(nt,G,f,r,Q,a,d,s,H,fe,B,k,x,w,p,u,C,we,Te,ye,A,U,ce,he,Se,Ne,De,q,K,c,Ie,je,lt,P,mt);const ot=A.current;W&&u&&ot!==void 0&&ye.has(ti(ot.range))&&Wn(nt,i,r,s,a,d,G,f,c,Q,A,fe,B,C,we,W,H)};Oe&&(It(te),V!==null&&(V.save(),V.scale(de,de),V.textBaseline="middle",It(V),V.restore()),ye.hasHeader()&&(Nr(ue,G,i,b,Q,a,d,s,ye),Ee())),te.restore(),ue.restore();return}if(($e!==!0||l!==(L==null?void 0:L.cellXOffset)||a!==(L==null?void 0:L.translateX)||Ye!==(L==null?void 0:L.mustDrawFocusOnHeader)||_e!==(L==null?void 0:L.mustDrawHighlightRingsOnHeader))&&Ee(),$e===!0){ft(Ce!==void 0&&L!==void 0);const{regions:pe}=Wr(te,Ce,Ce===le?L.aBufferScroll:L.bBufferScroll,Ce===le?L.bBufferScroll:L.aBufferScroll,L,l,s,a,d,C,i,r,H,Q,de,f,G,M,Xe);Te=pe}else $e!==!1&&(ft(L!==void 0),Te=zr(L,l,s,a,d,i,r,Q,G,$e));Rr(te,G,i,r,C,H,F,fe,c);const Ke=To(te,i,r,l,s,a,d,f,m,y,b,M,C,H,ce,c),ze=u?Wn(te,i,r,s,a,d,G,f,c,Q,A,fe,B,C,we,W,H):void 0;if(te.fillStyle=c.bgCell,Te.length>0){te.beginPath();for(const pe of Te)te.rect(pe.x,pe.y,pe.width,pe.height);te.clip(),te.fill(),te.beginPath()}else te.fillRect(0,0,i,r);const Dt=Po(te,G,f,r,Q,a,d,s,H,fe,B,k,x,w,p,u,C,we,Te,ye,A,U,ce,he,Se,Ne,De,q,K,c,Ie,je,lt,P,mt);Hr(te,G,f,i,r,Q,a,d,s,H,fe,x,A.rows,w,C,we,Te,ye,c),Tr(te,G,s,a,d,i,r,Te,Q,fe,x,F,C,H,c),Ro(te,G,s,a,d,i,r,Te,Dt,b,Q,fe,x,F,C,H,c),Ke==null||Ke(),ze==null||ze(),S&&yt!=="none"&&kt(G,0,a,0,Q,(pe,Oe)=>pe.sourceIndex===se?(Wo(ue,Oe+pe.width,0,Q+1,qe(c.resizeIndicatorColor??c.accentLight,c.bgHeader)),yt==="full"&&Wo(te,Oe+pe.width,Q,r,qe(c.resizeIndicatorColor??c.accentLight,c.bgCell)),!0):!1),V!==null&&(V.fillStyle=c.bgCell,V.fillRect(0,0,i,r),V.drawImage(te.canvas,0,0));const Pt=Or(G,r,Q,a,d,s,H,fe,C,we);he==null||he.setWindow({x:l,y:s,width:G.length,height:Pt-s},m,Array.from({length:C},(pe,Oe)=>H-1-Oe));const be=L!==void 0&&(l!==L.cellXOffset||a!==L.translateX),St=L!==void 0&&(s!==L.cellYOffset||d!==L.translateY);ge.current={cellXOffset:l,cellYOffset:s,translateX:a,translateY:d,mustDrawFocusOnHeader:Ye,mustDrawHighlightRingsOnHeader:_e,lastBuffer:Xe?ie===le?"a":"b":void 0,aBufferScroll:ie===le?[be,St]:L==null?void 0:L.aBufferScroll,bBufferScroll:ie===ve?[be,St]:L==null?void 0:L.bBufferScroll},te.restore(),ue.restore()}const Xr=80;function $r(e){const t=e-1;return t*t*t+1}class Yr{constructor(t){oe(this,"currentHoveredItem");oe(this,"leavingItems",[]);oe(this,"lastAnimationTime");oe(this,"addToLeavingItems",t=>{this.leavingItems.some(o=>bn(o.item,t.item))||this.leavingItems.push(t)});oe(this,"removeFromLeavingItems",t=>{const n=this.leavingItems.find(o=>bn(o.item,t));return this.leavingItems=this.leavingItems.filter(o=>o!==n),(n==null?void 0:n.hoverAmount)??0});oe(this,"cleanUpLeavingElements",()=>{this.leavingItems=this.leavingItems.filter(t=>t.hoverAmount>0)});oe(this,"shouldStep",()=>{const t=this.leavingItems.length>0,n=this.currentHoveredItem!==void 0&&this.currentHoveredItem.hoverAmount<1;return t||n});oe(this,"getAnimatingItems",()=>this.currentHoveredItem!==void 0?[...this.leavingItems,this.currentHoveredItem]:this.leavingItems.map(t=>({...t,hoverAmount:$r(t.hoverAmount)})));oe(this,"step",t=>{if(this.lastAnimationTime===void 0)this.lastAnimationTime=t;else{const o=(t-this.lastAnimationTime)/Xr;for(const r of this.leavingItems)r.hoverAmount=wn(r.hoverAmount-o,0,1);this.currentHoveredItem!==void 0&&(this.currentHoveredItem.hoverAmount=wn(this.currentHoveredItem.hoverAmount+o,0,1));const i=this.getAnimatingItems();this.callback(i),this.cleanUpLeavingElements()}this.shouldStep()?(this.lastAnimationTime=t,window.requestAnimationFrame(this.step)):this.lastAnimationTime=void 0});oe(this,"setHovered",t=>{var n;if(!bn((n=this.currentHoveredItem)==null?void 0:n.item,t)){if(this.currentHoveredItem!==void 0&&this.addToLeavingItems(this.currentHoveredItem),t!==void 0){const o=this.removeFromLeavingItems(t);this.currentHoveredItem={item:t,hoverAmount:o}}else this.currentHoveredItem=void 0;this.lastAnimationTime===void 0&&window.requestAnimationFrame(this.step)}});this.callback=t}}class _r{constructor(t){oe(this,"fn");oe(this,"val");this.fn=t}get value(){return this.val??(this.val=this.fn())}}function ro(e){return new _r(e)}const Ur=ro(()=>window.navigator.userAgent.includes("Firefox")),Lo=ro(()=>window.navigator.userAgent.includes("Mac OS")&&window.navigator.userAgent.includes("Safari")&&!window.navigator.userAgent.includes("Chrome")),gl=ro(()=>window.navigator.platform.toLowerCase().startsWith("mac"));function qr(e){const t=I.useRef([]),n=I.useRef(0),o=I.useRef(e);o.current=e;const i=I.useCallback(()=>{const r=()=>window.requestAnimationFrame(l),l=()=>{const s=t.current.map(oo);t.current=[],o.current(new en(s)),t.current.length>0?n.current++:n.current=0};window.requestAnimationFrame(n.current>600?r:l)},[]);return I.useCallback(r=>{t.current.length===0&&i();const l=tt(r[0],r[1]);t.current.includes(l)||t.current.push(l)},[i])}const At="header",Nt="group-header",No="out-of-bounds";var Qt=(e=>(e[e.Start=-2]="Start",e[e.StartPadding=-1]="StartPadding",e[e.Center=0]="Center",e[e.EndPadding=1]="EndPadding",e[e.End=2]="End",e))(Qt||{});function jr(e,t){return e===t?!0:(e==null?void 0:e.kind)==="out-of-bounds"?(e==null?void 0:e.kind)===(t==null?void 0:t.kind)&&(e==null?void 0:e.location[0])===(t==null?void 0:t.location[0])&&(e==null?void 0:e.location[1])===(t==null?void 0:t.location[1])&&(e==null?void 0:e.region[0])===(t==null?void 0:t.region[0])&&(e==null?void 0:e.region[1])===(t==null?void 0:t.region[1]):(e==null?void 0:e.kind)===(t==null?void 0:t.kind)&&(e==null?void 0:e.location[0])===(t==null?void 0:t.location[0])&&(e==null?void 0:e.location[1])===(t==null?void 0:t.location[1])}const Oo=6,Vr=(e,t)=>{if(e.kind===ae.Custom)return e.copyData;const n=t==null?void 0:t(e);return(n==null?void 0:n.getAccessibilityString(e))??""},Kr=(e,t)=>{const{width:n,height:o,accessibilityHeight:i,columns:r,cellXOffset:l,cellYOffset:s,headerHeight:a,fillHandle:d=!1,groupHeaderHeight:f,rowHeight:g,rows:m,getCellContent:h,getRowThemeOverride:c,onHeaderMenuClick:u,onHeaderIndicatorClick:y,enableGroups:b,isFilling:w,onCanvasFocused:M,onCanvasBlur:F,isFocused:P,selection:S,freezeColumns:A,onContextMenu:W,freezeTrailingRows:C,fixedShadowX:H=!0,fixedShadowY:B=!0,drawFocusRing:k,onMouseDown:x,onMouseUp:p,onMouseMoveRaw:j,onMouseMove:U,onItemHovered:q,dragAndDropState:ce,firstColAccessible:se,onKeyDown:he,onKeyUp:ge,highlightRegions:Ne,canvasRef:K,onDragStart:De,onDragEnd:Se,eventTargetRef:O,isResizing:we,resizeColumn:J,isDragging:Ie,isDraggable:je=!1,allowResize:lt,disabledRows:Ct,hasAppendRow:at,getGroupDetails:Ve,theme:ye,prelightCells:mt,headerIcons:yt,verticalBorder:Xe,drawCell:de,drawHeader:$e,onCellFocused:Me,onDragOverCell:We,onDrop:Q,onDragLeave:ke,imageWindowLoader:le,smoothScrollX:ve=!1,smoothScrollY:L=!1,experimental:V,getCellRenderer:ue,resizeIndicator:te="full"}=e,ie=e.translateX??0,Ce=e.translateY??0,fe=Math.max(A,Math.min(r.length-1,l)),G=I.useRef(null),Te=I.useRef(window),Ye=Te.current,_e=le,Ee=I.useRef(),[Ke,ze]=I.useState(!1),Dt=I.useRef([]),Pt=I.useRef(),[be,St]=I.useState(),[ct,pe]=I.useState(),Oe=I.useRef(null),[It,nt]=I.useState(),[ot,ne]=I.useState(!1),Be=I.useRef(ot);Be.current=ot;const xe=I.useMemo(()=>new kr(yt,()=>{an.current=void 0,Ut.current()}),[yt]),it=b?f+a:a,Ue=I.useRef(-1),vt=((V==null?void 0:V.enableFirefoxRescaling)??!1)&&Ur.value,Sn=((V==null?void 0:V.enableSafariRescaling)??!1)&&Lo.value;I.useLayoutEffect(()=>{window.devicePixelRatio===1||!vt&&!Sn||(Ue.current!==-1&&ze(!0),window.clearTimeout(Ue.current),Ue.current=window.setTimeout(()=>{ze(!1),Ue.current=-1},200))},[s,fe,ie,Ce,vt,Sn]);const Fe=sr(r,A),In=H?$t(Fe,ce):0,Pe=I.useCallback((v,E,z)=>{const T=v.getBoundingClientRect();if(E>=Fe.length||z>=m)return;const D=T.width/n,R=jn(E,z,n,o,f,it,fe,s,ie,Ce,m,A,C,Fe,g);return D!==1&&(R.x*=D,R.y*=D,R.width*=D,R.height*=D),R.x+=T.x,R.y+=T.y,R},[n,o,f,it,fe,s,ie,Ce,m,A,C,Fe,g]),Le=I.useCallback((v,E,z,T)=>{const D=v.getBoundingClientRect(),R=D.width/n,Y=(E-D.left)/R,_=(z-D.top)/R,N=5,He=qn(Fe,fe,n,void 0,ie);let X=0,re=0;T instanceof MouseEvent&&(X=T.button,re=T.buttons);const Z=dr(Y,He,ie),ee=ur(_,o,b,a,f,m,g,s,Ce,C),Re=(T==null?void 0:T.shiftKey)===!0,Qe=(T==null?void 0:T.ctrlKey)===!0,Ae=(T==null?void 0:T.metaKey)===!0,dt=T!==void 0&&!(T instanceof MouseEvent)||(T==null?void 0:T.pointerType)==="touch",bt=[Y<0?-1:nn||_>o){const me=Y>n?1:Y<0?-1:0,et=_>o?1:_<0?-1:0;let rt=me*2,jt=et*2;me===0&&(rt=Z===-1?Qt.EndPadding:Qt.Center),et===0&&(jt=ee===void 0?Qt.EndPadding:Qt.Center);let pt=!1;if(Z===-1&&ee===-1){const Vt=Pe(v,Fe.length-1,-1);ft(Vt!==void 0),pt=En&&Yo&&_=0?(et=!0,me=Pe(v,rt,ee),ft(me!==void 0),Ze={kind:b&&ee===-2?Nt:At,location:[rt,ee],bounds:me,group:Fe[rt].group??"",isEdge:et,shiftKey:Re,ctrlKey:Qe,metaKey:Ae,isTouch:dt,localEventX:E-me.x,localEventY:z-me.y,button:X,buttons:re,scrollEdge:bt}):Ze={kind:b&&ee===-2?Nt:At,group:Fe[Z].group??"",location:[Z,ee],bounds:me,isEdge:et,shiftKey:Re,ctrlKey:Qe,metaKey:Ae,isTouch:dt,localEventX:E-me.x,localEventY:z-me.y,button:X,buttons:re,scrollEdge:bt}}else{const me=Pe(v,Z,ee);ft(me!==void 0);const et=me!==void 0&&me.x+me.width-E{}),Ht=I.useRef(be);Ht.current=be;const[Et,Bt]=I.useMemo(()=>{const v=document.createElement("canvas"),E=document.createElement("canvas");return v.style.display="none",v.style.opacity="0",v.style.position="fixed",E.style.display="none",E.style.opacity="0",E.style.position="fixed",[v.getContext("2d",{alpha:!1}),E.getContext("2d",{alpha:!1})]},[]);I.useLayoutEffect(()=>{if(!(Et===null||Bt===null))return document.documentElement.append(Et.canvas),document.documentElement.append(Bt.canvas),()=>{Et.canvas.remove(),Bt.canvas.remove()}},[Et,Bt]);const ln=I.useMemo(()=>new wr,[]),lo=vt&&Ke?1:Sn&&Ke?2:5,ao=(V==null?void 0:V.disableMinimumCellWidth)===!0?1:10,an=I.useRef(),cn=I.useRef(null),dn=I.useRef(null),un=I.useCallback(()=>{var Y;const v=G.current,E=Oe.current;if(v===null||E===null||(cn.current===null&&(cn.current=v.getContext("2d",{alpha:!1}),v.width=0,v.height=0),dn.current===null&&(dn.current=E.getContext("2d",{alpha:!1}),E.width=0,E.height=0),cn.current===null||dn.current===null||Et===null||Bt===null))return;let z=!1;const T=_=>{z=!0,nt(_)},D=an.current,R={headerCanvasCtx:dn.current,canvasCtx:cn.current,bufferACtx:Et,bufferBCtx:Bt,width:n,height:o,cellXOffset:fe,cellYOffset:s,translateX:Math.round(ie),translateY:Math.round(Ce),mappedColumns:Fe,enableGroups:b,freezeColumns:A,dragAndDropState:ce,theme:ye,headerHeight:a,groupHeaderHeight:f,disabledRows:Ct??_n.empty(),rowHeight:g,verticalBorder:Xe,isResizing:we,resizeCol:J,isFocused:P,selection:S,fillHandle:d,drawCellCallback:de,hasAppendRow:at,overrideCursor:T,maxScaleFactor:lo,freezeTrailingRows:C,rows:m,drawFocus:k,getCellContent:h,getGroupDetails:Ve??(_=>({name:_})),getRowThemeOverride:c,drawHeaderCallback:$e,prelightCells:mt,highlightRegions:Ne,imageLoader:_e,lastBlitData:Pt,damage:Ee.current,hoverValues:Dt.current,hoverInfo:Ht.current,spriteManager:xe,scrolling:Ke,hyperWrapping:(V==null?void 0:V.hyperWrapping)??!1,touchMode:ot,enqueue:so.current,renderStateProvider:ln,renderStrategy:(V==null?void 0:V.renderStrategy)??(Lo.value?"double-buffer":"single-buffer"),getCellRenderer:ue,minimumCellWidth:ao,resizeIndicator:te};R.damage===void 0?(an.current=R,zo(R,D)):zo(R,void 0),!z&&(R.damage===void 0||R.damage.has((Y=Ht==null?void 0:Ht.current)==null?void 0:Y[0]))&&nt(void 0)},[Et,Bt,n,o,fe,s,ie,Ce,Fe,b,A,ce,ye,a,f,Ct,g,Xe,we,at,J,P,S,d,C,m,k,lo,h,Ve,c,de,$e,mt,Ne,_e,xe,Ke,V==null?void 0:V.hyperWrapping,V==null?void 0:V.renderStrategy,ot,ln,ue,ao,te]),Ut=I.useRef(un);I.useLayoutEffect(()=>{un(),Ut.current=un},[un]),I.useLayoutEffect(()=>{(async()=>{var E;((E=document==null?void 0:document.fonts)==null?void 0:E.ready)!==void 0&&(await document.fonts.ready,an.current=void 0,Ut.current())})()},[]);const Rt=I.useCallback(v=>{Ee.current=v,Ut.current(),Ee.current=void 0},[]),bi=qr(Rt);so.current=bi;const co=I.useCallback(v=>{Rt(new en(v.map(E=>E.cell)))},[Rt]);_e.setCallback(Rt);const[pi,wi]=I.useState(!1),[fn,Tt]=Mt??[],xi=fn!==void 0&&Tt===-1,ki=fn!==void 0&&Tt===-2;let uo=!1,fo=!1,hn=It;if(hn===void 0&&fn!==void 0&&Tt!==void 0&&Tt>-1&&Tt({contain:"strict",display:"block",cursor:ho}),[ho]),go=I.useRef("default"),En=O==null?void 0:O.current;En!=null&&go.current!==Mn.cursor&&(En.style.cursor=go.current=Mn.cursor);const Wt=I.useCallback((v,E,z,T)=>{if(Ve===void 0)return;const D=Ve(v);if(D.actions!==void 0){const R=gi(E,D.actions);for(const[Y,_]of R.entries())if(Ot(_,z+E.x,T+_.y))return D.actions[Y]}},[Ve]),zt=I.useCallback((v,E,z,T)=>{const D=Fe[E];if(!Ie&&!we&&!(ct??!1)){const R=Pe(v,E,-1);ft(R!==void 0);const Y=mi(void 0,D,R.x,R.y,R.width,R.height,ye,eo(D.title)==="rtl");if(D.hasMenu===!0&&Y.menuBounds!==void 0&&Ot(Y.menuBounds,z,T))return{area:"menu",bounds:Y.menuBounds};if(D.indicatorIcon!==void 0&&Y.indicatorIconBounds!==void 0&&Ot(Y.indicatorIconBounds,z,T))return{area:"indicator",bounds:Y.indicatorIconBounds}}},[Fe,Pe,ct,Ie,we,ye]),Bn=I.useRef(0),qt=I.useRef(),Fn=I.useRef(!1),mo=I.useCallback(v=>{const E=G.current,z=O==null?void 0:O.current;if(E===null||v.target!==E&&v.target!==z)return;Fn.current=!0;let T,D;if(v instanceof MouseEvent?(T=v.clientX,D=v.clientY):(T=v.touches[0].clientX,D=v.touches[0].clientY),v.target===z&&z!==null){const Y=z.getBoundingClientRect();if(T>Y.right||D>Y.bottom)return}const R=Le(E,T,D,v);qt.current=R.location,R.isTouch&&(Bn.current=Date.now()),Be.current!==R.isTouch&&ne(R.isTouch),!(R.kind===At&&zt(E,R.location[0],T,D)!==void 0)&&(R.kind===Nt&&Wt(R.group,R.bounds,R.localEventX,R.localEventY)!==void 0||(x==null||x(R),!R.isTouch&&je!==!0&&je!==R.kind&&R.button<3&&R.button!==1&&v.preventDefault()))},[O,je,Le,Wt,zt,x]);Ge("touchstart",mo,Ye,!1),Ge("mousedown",mo,Ye,!1);const yo=I.useRef(0),vo=I.useCallback(v=>{var re,Z;const E=yo.current;yo.current=Date.now();const z=G.current;if(Fn.current=!1,p===void 0||z===null)return;const T=O==null?void 0:O.current,D=v.target!==z&&v.target!==T;let R,Y,_=!0;if(v instanceof MouseEvent){if(R=v.clientX,Y=v.clientY,_=v.button<3,v.pointerType==="touch")return}else R=v.changedTouches[0].clientX,Y=v.changedTouches[0].clientY;let N=Le(z,R,Y,v);N.isTouch&&Bn.current!==0&&Date.now()-Bn.current>500&&(N={...N,isLongTouch:!0}),E!==0&&Date.now()-E<(N.isTouch?1e3:500)&&(N={...N,isDoubleClick:!0}),Be.current!==N.isTouch&&ne(N.isTouch),!D&&v.cancelable&&_&&v.preventDefault();const[He]=N.location,X=zt(z,He,R,Y);if(N.kind===At&&X!==void 0){(N.button!==0||((re=qt.current)==null?void 0:re[0])!==He||((Z=qt.current)==null?void 0:Z[1])!==-1)&&p(N,!0);return}else if(N.kind===Nt){const ee=Wt(N.group,N.bounds,N.localEventX,N.localEventY);if(ee!==void 0){N.button===0&&ee.onClick(N);return}}p(N,D)},[p,O,Le,zt,Wt]);Ge("mouseup",vo,Ye,!1),Ge("touchend",vo,Ye,!1);const Ci=I.useCallback(v=>{var He,X;const E=G.current;if(E===null)return;const z=O==null?void 0:O.current,T=v.target!==E&&v.target!==z;let D,R,Y=!0;v instanceof MouseEvent?(D=v.clientX,R=v.clientY,Y=v.button<3):(D=v.changedTouches[0].clientX,R=v.changedTouches[0].clientY);const _=Le(E,D,R,v);Be.current!==_.isTouch&&ne(_.isTouch),!T&&v.cancelable&&Y&&v.preventDefault();const[N]=_.location;if(_.kind===At){const re=zt(E,N,D,R);re!==void 0&&_.button===0&&((He=qt.current)==null?void 0:He[0])===N&&((X=qt.current)==null?void 0:X[1])===-1&&(re.area==="menu"?u==null||u(N,re.bounds):re.area==="indicator"&&(y==null||y(N,re.bounds)))}else if(_.kind===Nt){const re=Wt(_.group,_.bounds,_.localEventX,_.localEventY);re!==void 0&&_.button===0&&re.onClick(_)}},[O,Le,zt,u,y,Wt]);Ge("click",Ci,Ye,!1);const Si=I.useCallback(v=>{const E=G.current,z=O==null?void 0:O.current;if(E===null||v.target!==E&&v.target!==z||W===void 0)return;const T=Le(E,v.clientX,v.clientY,v);W(T,()=>{v.cancelable&&v.preventDefault()})},[O,Le,W]);Ge("contextmenu",Si,(O==null?void 0:O.current)??null,!1);const bo=I.useCallback(v=>{Ee.current=new en(v.map(E=>E.item)),Dt.current=v,Ut.current(),Ee.current=void 0},[]),po=I.useMemo(()=>new Yr(bo),[bo]),wo=I.useRef(po);wo.current=po,I.useLayoutEffect(()=>{const v=wo.current;if(Mt===void 0||Mt[1]<0){v.setHovered(Mt);return}const E=h(Mt,!0),z=ue(E),T=z===void 0&&E.kind===ae.Custom||(z==null?void 0:z.needsHover)!==void 0&&(typeof z.needsHover=="boolean"?z.needsHover:z.needsHover(E));v.setHovered(T?Mt:void 0)},[h,ue,Mt]);const xo=I.useRef(),Ii=I.useCallback(v=>{var _;const E=G.current;if(E===null)return;const z=O==null?void 0:O.current,T=v.target!==E&&v.target!==z,D=Le(E,v.clientX,v.clientY,v);if(D.kind!=="out-of-bounds"&&T&&!Fn.current&&!D.isTouch)return;const R=(N,He)=>{St(X=>X===N||(X==null?void 0:X[0][0])===(N==null?void 0:N[0][0])&&(X==null?void 0:X[0][1])===(N==null?void 0:N[0][1])&&((X==null?void 0:X[1][0])===(N==null?void 0:N[1][0])&&(X==null?void 0:X[1][1])===(N==null?void 0:N[1][1])||!He)?X:N)};if(!jr(D,xo.current))nt(void 0),q==null||q(D),R(D.kind===No?void 0:[D.location,[D.localEventX,D.localEventY]],!0),xo.current=D;else if(D.kind==="cell"||D.kind===At||D.kind===Nt){let N=!1,He=!0;if(D.kind==="cell"){const re=h(D.location);He=((_=ue(re))==null?void 0:_.needsHoverPosition)??re.kind===ae.Custom,N=He}else N=!0;const X=[D.location,[D.localEventX,D.localEventY]];R(X,He),Ht.current=X,N&&Rt(new en([D.location]))}const Y=D.location[0]>=(se?0:1);pe(D.kind===At&&D.isEdge&&Y&<===!0),wi(D.kind==="cell"&&D.isFillHandle),j==null||j(v),U(D)},[O,Le,se,lt,j,U,q,h,ue,Rt]);Ge("mousemove",Ii,Ye,!0);const Mi=I.useCallback(v=>{const E=G.current;if(E===null)return;let z,T;S.current!==void 0&&(z=Pe(E,S.current.cell[0],S.current.cell[1]),T=S.current.cell),he==null||he({bounds:z,stopPropagation:()=>v.stopPropagation(),preventDefault:()=>v.preventDefault(),cancel:()=>{},ctrlKey:v.ctrlKey,metaKey:v.metaKey,shiftKey:v.shiftKey,altKey:v.altKey,key:v.key,keyCode:v.keyCode,rawEvent:v,location:T})},[he,S,Pe]),Ei=I.useCallback(v=>{const E=G.current;if(E===null)return;let z,T;S.current!==void 0&&(z=Pe(E,S.current.cell[0],S.current.cell[1]),T=S.current.cell),ge==null||ge({bounds:z,stopPropagation:()=>v.stopPropagation(),preventDefault:()=>v.preventDefault(),cancel:()=>{},ctrlKey:v.ctrlKey,metaKey:v.metaKey,shiftKey:v.shiftKey,altKey:v.altKey,key:v.key,keyCode:v.keyCode,rawEvent:v,location:T})},[ge,S,Pe]),Bi=I.useCallback(v=>{if(G.current=v,K!==void 0&&(K.current=v),v===null)Te.current=window;else{const E=v.getRootNode();E===document&&(Te.current=window),Te.current=E}},[K]),Fi=I.useCallback(v=>{const E=G.current;if(E===null||je===!1||we){v.preventDefault();return}let z,T;const D=Le(E,v.clientX,v.clientY);if(je!==!0&&D.kind!==je){v.preventDefault();return}const R=(re,Z)=>{z=re,T=Z};let Y,_,N;const He=(re,Z,ee)=>{Y=re,_=Z,N=ee};let X=!1;if(De==null||De({...D,setData:R,setDragImage:He,preventDefault:()=>X=!0,defaultPrevented:()=>X}),!X&&z!==void 0&&T!==void 0&&v.dataTransfer!==null)if(v.dataTransfer.setData(z,T),v.dataTransfer.effectAllowed="copyLink",Y!==void 0&&_!==void 0&&N!==void 0)v.dataTransfer.setDragImage(Y,_,N);else{const[re,Z]=D.location;if(Z!==void 0){const ee=document.createElement("canvas"),Re=Pe(E,re,Z);ft(Re!==void 0);const Qe=Math.ceil(window.devicePixelRatio??1);ee.width=Re.width*Qe,ee.height=Re.height*Qe;const Ae=ee.getContext("2d");Ae!==null&&(Ae.scale(Qe,Qe),Ae.textBaseline="middle",Z===-1?(Ae.font=ye.headerFontFull,Ae.fillStyle=ye.bgHeader,Ae.fillRect(0,0,ee.width,ee.height),yi(Ae,0,0,Re.width,Re.height,Fe[re],!1,ye,!1,void 0,void 0,!1,0,xe,$e,!1)):(Ae.font=ye.baseFontFull,Ae.fillStyle=ye.bgCell,Ae.fillRect(0,0,ee.width,ee.height),hi(Ae,h([re,Z]),0,Z,!1,!1,0,0,Re.width,Re.height,!1,ye,ye.bgCell,_e,xe,1,void 0,!1,0,void 0,void 0,void 0,ln,ue,()=>{}))),ee.style.left="-100%",ee.style.position="absolute",ee.style.width=`${Re.width}px`,ee.style.height=`${Re.height}px`,document.body.append(ee),v.dataTransfer.setDragImage(ee,Re.width/2,Re.height/2),window.setTimeout(()=>{ee.remove()},0)}}else v.preventDefault()},[je,we,Le,De,Pe,ye,Fe,xe,$e,h,_e,ln,ue]);Ge("dragstart",Fi,(O==null?void 0:O.current)??null,!1,!1);const An=I.useRef(),Ai=I.useCallback(v=>{const E=G.current;if(Q!==void 0&&v.preventDefault(),E===null||We===void 0)return;const z=Le(E,v.clientX,v.clientY),[T,D]=z.location,R=T-(se?0:1),[Y,_]=An.current??[];(Y!==R||_!==D)&&(An.current=[R,D],We([R,D],v.dataTransfer))},[se,Le,We,Q]);Ge("dragover",Ai,(O==null?void 0:O.current)??null,!1,!1);const Di=I.useCallback(()=>{An.current=void 0,Se==null||Se()},[Se]);Ge("dragend",Di,(O==null?void 0:O.current)??null,!1,!1);const Pi=I.useCallback(v=>{const E=G.current;if(E===null||Q===void 0)return;v.preventDefault();const z=Le(E,v.clientX,v.clientY),[T,D]=z.location,R=T-(se?0:1);Q([R,D],v.dataTransfer)},[se,Le,Q]);Ge("drop",Pi,(O==null?void 0:O.current)??null,!1,!1);const Hi=I.useCallback(()=>{ke==null||ke()},[ke]);Ge("dragleave",Hi,(O==null?void 0:O.current)??null,!1,!1);const ko=I.useRef(S);ko.current=S;const gn=I.useRef(null),Dn=I.useCallback(v=>{var E;G.current===null||!G.current.contains(document.activeElement)||(v===null&&ko.current.current!==void 0?(E=K==null?void 0:K.current)==null||E.focus({preventScroll:!0}):v!==null&&v.focus({preventScroll:!0}),gn.current=v)},[K]);I.useImperativeHandle(t,()=>({focus:()=>{var E;const v=gn.current;v===null||!document.contains(v)?(E=K==null?void 0:K.current)==null||E.focus({preventScroll:!0}):v.focus({preventScroll:!0})},getBounds:(v,E)=>{if(!(K===void 0||K.current===null))return Pe(K.current,v??0,E??-1)},damage:co}),[K,co,Pe]);const Pn=I.useRef(),Ri=nr(()=>{var _,N,He;if(n<50||(V==null?void 0:V.disableAccessibilityTree)===!0)return null;let v=qn(Fe,fe,n,ce,ie);const E=se?0:-1;!se&&((_=v[0])==null?void 0:_.sourceIndex)===0&&(v=v.slice(1));const[z,T]=((N=S.current)==null?void 0:N.cell)??[],D=(He=S.current)==null?void 0:He.range,R=v.map(X=>X.sourceIndex),Y=qi(s,Math.min(m,s+i));return z!==void 0&&T!==void 0&&!(R.includes(z)&&Y.includes(T))&&Dn(null),Je("table",{role:"grid","aria-rowcount":m+1,"aria-multiselectable":"true","aria-colcount":Fe.length+E,children:[$("thead",{role:"rowgroup",children:$("tr",{role:"row","aria-rowindex":1,children:v.map(X=>$("th",{role:"columnheader","aria-selected":S.columns.hasIndex(X.sourceIndex),"aria-colindex":X.sourceIndex+1+E,tabIndex:-1,onFocus:re=>{if(re.target!==gn.current)return Me==null?void 0:Me([X.sourceIndex,-1])},children:X.title},X.sourceIndex))})}),$("tbody",{role:"rowgroup",children:Y.map(X=>$("tr",{role:"row","aria-selected":S.rows.hasIndex(X),"aria-rowindex":X+2,children:v.map(re=>{const Z=re.sourceIndex,ee=tt(Z,X),Re=z===Z&&T===X,Qe=D!==void 0&&Z>=D.x&&Z=D.y&&X{const Ze=K==null?void 0:K.current;if(Ze!=null)return he==null?void 0:he({bounds:Pe(Ze,Z,X),cancel:()=>{},preventDefault:()=>{},stopPropagation:()=>{},ctrlKey:!1,key:"Enter",keyCode:13,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:dt})},onFocusCapture:Ze=>{var me,et;if(!(Ze.target===gn.current||((me=Pn.current)==null?void 0:me[0])===Z&&((et=Pn.current)==null?void 0:et[1])===X))return Pn.current=dt,Me==null?void 0:Me(dt)},ref:Re?Dn:void 0,tabIndex:-1,children:Vr(bt,ue)},ee)})},X))})]},"access-tree")},[n,Fe,fe,ce,ie,m,s,i,S,Dn,h,K,he,Pe,Me],200),mn=A===0||!H?0:fe>A?1:wn(-ie/100,0,1),Ti=-s*32+Ce,yn=B?wn(-Ti/100,0,1):0,Wi=I.useMemo(()=>{if(!mn&&!yn)return null;const v={position:"absolute",top:0,left:In,width:n-In,height:o,opacity:mn,pointerEvents:"none",transition:ve?void 0:"opacity 0.2s",boxShadow:"inset 13px 0 10px -13px rgba(0, 0, 0, 0.2)"},E={position:"absolute",top:it,left:0,width:n,height:o,opacity:yn,pointerEvents:"none",transition:L?void 0:"opacity 0.2s",boxShadow:"inset 0 13px 10px -13px rgba(0, 0, 0, 0.2)"};return Je(Xn,{children:[mn>0&&$("div",{id:"shadow-x",style:v}),yn>0&&$("div",{id:"shadow-y",style:E})]})},[mn,yn,In,n,ve,it,o,L]),zi=I.useMemo(()=>({position:"absolute",top:0,left:0}),[]);return Je(Xn,{children:[$("canvas",{"data-testid":"data-grid-canvas",tabIndex:0,onKeyDown:Mi,onKeyUp:Ei,onFocus:M,onBlur:F,ref:Bi,style:Mn,children:Ri}),$("canvas",{ref:Oe,style:zi}),Wi]})},ml=I.memo(I.forwardRef(Kr));function Gr(e){if(e.copyData!==void 0)return{formatted:e.copyData,rawValue:e.copyData,format:"string"};switch(e.kind){case ae.Boolean:return{formatted:e.data===!0?"TRUE":e.data===!1?"FALSE":e.data===Qn?"INDETERMINATE":"",rawValue:e.data,format:"boolean"};case ae.Custom:return{formatted:e.copyData,rawValue:e.copyData,format:"string"};case ae.Image:case ae.Bubble:return{formatted:e.data,rawValue:e.data,format:"string-array"};case ae.Drilldown:return{formatted:e.data.map(t=>t.text),rawValue:e.data.map(t=>t.text),format:"string-array"};case ae.Text:return{formatted:e.displayData??e.data,rawValue:e.data,format:"string"};case ae.Uri:return{formatted:e.displayData??e.data,rawValue:e.data,format:"url"};case ae.Markdown:case ae.RowID:return{formatted:e.data,rawValue:e.data,format:"string"};case ae.Number:return{formatted:e.displayData,rawValue:e.data,format:"number"};case ae.Loading:return{formatted:"#LOADING",rawValue:"",format:"string"};case ae.Protected:return{formatted:"************",rawValue:"",format:"string"};default:Jn()}}function Jr(e,t){return e.map((o,i)=>{const r=t[i];return o.map(l=>l.span!==void 0&&l.span[0]!==r?{formatted:"",rawValue:"",format:"string"}:Gr(l))})}function Xo(e,t){return(t?/[\t\n",]/:/[\t\n"]/).test(e)&&(e=`"${e.replace(/"/g,'""')}"`),e}function Qr(e){var n;const t=[];for(const o of e){const i=[];for(const r of o)r.format==="url"?i.push(((n=r.rawValue)==null?void 0:n.toString())??""):r.format==="string-array"?i.push(r.formatted.map(l=>Xo(l,!0)).join(",")):i.push(Xo(r.formatted,!1));t.push(i.join(" "))}return t.join(` +`)}function zn(e){return e.replace(/\t/g," ").replace(/ {2,}/g,t=>" ".repeat(t.length))}function $o(e){return'"'+e.replace(/&/g,"&").replace(/"/g,""").replace(//g,">")+'"'}function Zr(e){return e.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}function es(e){var n;const t=[];t.push('',"");for(const o of e){t.push("");for(const i of o){const r=`gdg-format="${i.format}"`;i.format==="url"?t.push(``):i.format==="string-array"?t.push(``):t.push(``)}t.push("")}return t.push("
${zn(i.formatted)}
    ${i.formatted.map((l,s)=>`
  1. `+zn(l)+"
  2. ").join("")}
${zn(i.formatted)}
"),t.join("")}function ts(e,t){const n=Jr(e,t),o=Qr(n),i=es(n);return{textPlain:o,textHtml:i}}function yl(e){var l;const t=document.createElement("html");t.innerHTML=e.replace(/ /g," ");const n=t.querySelector("table");if(n===null)return;const o=[n],i=[];let r;for(;o.length>0;){const s=o.pop();if(s===void 0)break;if(s instanceof HTMLTableElement||s.nodeName==="TBODY")o.push(...[...s.children].reverse());else if(s instanceof HTMLTableRowElement)r!==void 0&&i.push(r),r=[],o.push(...[...s.children].reverse());else if(s instanceof HTMLTableCellElement){const a=s.cloneNode(!0),f=a.children.length===1&&a.children[0].nodeName==="P"?a.children[0]:null,g=(f==null?void 0:f.children.length)===1&&f.children[0].nodeName==="FONT",m=a.querySelectorAll("br");for(const u of m)u.replaceWith(` +`);const h=a.getAttribute("gdg-raw-value"),c=a.getAttribute("gdg-format")??"string";if(a.querySelector("a")!==null)r==null||r.push({rawValue:((l=a.querySelector("a"))==null?void 0:l.getAttribute("href"))??"",formatted:a.textContent??"",format:c});else if(a.querySelector("ol")!==null){const u=a.querySelectorAll("li");r==null||r.push({rawValue:[...u].map(y=>y.getAttribute("gdg-raw-value")??""),formatted:[...u].map(y=>y.textContent??""),format:"string-array"})}else if(h!==null)r==null||r.push({rawValue:Zr(h),formatted:a.textContent??"",format:c});else{let u=a.textContent??"";g&&(u=u.replace(/\n(?!\n)/g,"")),r==null||r.push({rawValue:u??"",formatted:u??"",format:c})}}}return r!==void 0&&i.push(r),i}function vl(e,t,n,o,i){var s;const r=e;if(o==="allowPartial"||e.current===void 0||t===void 0)return e;let l=!1;do{if((e==null?void 0:e.current)===void 0)break;const a=(s=e.current)==null?void 0:s.range,d=[];if(a.width>2){const m=t({x:a.x,y:a.y,width:1,height:a.height},i.signal);if(typeof m=="function")return r;d.push(...m);const h=t({x:a.x+a.width-1,y:a.y,width:1,height:a.height},i.signal);if(typeof h=="function")return r;d.push(...h)}else{const m=t({x:a.x,y:a.y,width:a.width,height:a.height},i.signal);if(typeof m=="function")return r;d.push(...m)}let f=a.x-n,g=a.x+a.width-1-n;for(const m of d)for(const h of m)h.span!==void 0&&(f=Math.min(h.span[0],f),g=Math.max(h.span[1],g));f===a.x-n&&g===a.x+a.width-1-n?l=!0:e={current:{cell:e.current.cell??[0,0],range:{x:f+n,y:a.y,width:g-f+1,height:a.height},rangeStack:e.current.rangeStack},columns:e.columns,rows:e.rows}}while(!l);return e}function Yo(e){return e.startsWith('"')&&e.endsWith('"')&&(e=e.slice(1,-1).replace(/""/g,'"')),e}function bl(e){let t;(s=>{s[s.None=0]="None",s[s.inString=1]="inString",s[s.inStringPostQuote=2]="inStringPostQuote"})(t||(t={}));const n=[];let o=[],i=0,r=0;e=e.replace(/\r\n/g,` +`);let l=0;for(const s of e){switch(r){case 0:s===" "||s===` +`?(o.push(e.slice(i,l)),i=l+1,s===` +`&&(n.push(o),o=[])):s==='"'&&(r=1);break;case 1:s==='"'&&(r=2);break;case 2:s==='"'?r=1:((s===" "||s===` +`)&&(o.push(Yo(e.slice(i,l))),i=l+1,s===` +`&&(n.push(o),o=[])),r=0);break}l++}return is.map(a=>({rawValue:a,formatted:a,format:"string"})))}function pl(e,t,n){var s;const o=ts(e,t),i=a=>{var d;(d=window.navigator.clipboard)==null||d.writeText(a)},r=(a,d)=>{var f;return((f=window.navigator.clipboard)==null?void 0:f.write)===void 0?!1:(window.navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([a],{type:"text/plain"}),"text/html":new Blob([d],{type:"text/html"})})]),!0)},l=(a,d)=>{var f,g;try{if(n===void 0||n.clipboardData===null)throw new Error("No clipboard data");(f=n==null?void 0:n.clipboardData)==null||f.setData("text/plain",a),(g=n==null?void 0:n.clipboardData)==null||g.setData("text/html",d)}catch{r(a,d)||i(a)}};((s=window.navigator.clipboard)==null?void 0:s.write)!==void 0||(n==null?void 0:n.clipboardData)!==void 0?l(o.textPlain,o.textHtml):i(o.textPlain),n==null||n.preventDefault()}function ns(e){return e!==!0}const _o=20,os={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??"false"},kind:ae.Boolean,needsHover:!0,useLabel:!1,needsHoverPosition:!0,measure:()=>50,draw:e=>is(e,e.cell.data,Yn(e.cell),e.cell.maxSize??_o),onDelete:e=>({...e,data:!1}),onClick:e=>{const{cell:t,posX:n,posY:o,bounds:i,theme:r}=e,{width:l,height:s,x:a,y:d}=i,f=t.maxSize??_o,g=Math.floor(i.y+s/2),m=Qo(f,s,r.cellVerticalPadding),h=Jo(t.contentAlign??"center",a,l,r.cellHorizontalPadding,m),c=Go(h,g,m),u=Zo(a+n,d+o,c);if(Yn(t)&&u)return{...t,data:ns(t.data)}},onPaste:(e,t)=>{let n=xn;return e.toLowerCase()==="true"?n=!0:e.toLowerCase()==="false"?n=!1:e.toLowerCase()==="indeterminate"&&(n=Qn),n===t.data?void 0:{...t,data:n}}};function is(e,t,n,o){if(!n&&t===xn)return;const{ctx:i,hoverAmount:r,theme:l,rect:s,highlighted:a,hoverX:d,hoverY:f,cell:{contentAlign:g}}=e,{x:m,y:h,width:c,height:u}=s,y=.35;let b=n?1-y+y*r:.4;t===xn&&(b*=r),b!==0&&(i.globalAlpha=b,io(i,l,t,m,h,c,u,a,d,f,o,g),i.globalAlpha=1)}const rs=gt("div")({name:"BubblesOverlayEditorStyle",class:"bed7b9f",propsAsIs:!1}),ss=e=>{const{bubbles:t}=e;return Je(rs,{children:[t.map((n,o)=>$("div",{className:"boe-bubble",children:n},o)),$("textarea",{className:"gdg-input",autoFocus:!0})]})},ls=ss,as={getAccessibilityString:e=>ei(e.data),kind:ae.Bubble,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,n)=>t.data.reduce((o,i)=>e.measureText(i).width+o+20,0)+2*n.cellHorizontalPadding-4,draw:e=>ds(e,e.cell.data),provideEditor:()=>e=>{const{value:t}=e;return $(ls,{bubbles:t.data})},onPaste:()=>{}},cs=4;function ds(e,t){const{rect:n,theme:o,ctx:i,highlighted:r}=e,{x:l,y:s,width:a,height:d}=n,f=20,g=8,m=cs;let h=l+o.cellHorizontalPadding;const c=[];for(const u of t){if(h>l+a)break;const y=_t(u,i,o.baseFontFull).width;c.push({x:h,width:y}),h+=y+g*2+m}i.beginPath();for(const u of c)st(i,u.x,s+(d-f)/2,u.width+g*2,f,o.roundingRadius??f/2);i.fillStyle=r?o.bgBubbleSelected:o.bgBubble,i.fill();for(const[u,y]of c.entries())i.beginPath(),i.fillStyle=o.textBubble,i.fillText(t[u],y.x+g,s+d/2+xt(i,o))}const us=gt("div")({name:"DrilldownOverlayEditorStyle",class:"dy18k32",propsAsIs:!1}),fs=e=>{const{drilldowns:t}=e;return $(us,{children:t.map((n,o)=>Je("div",{className:"doe-bubble",children:[n.img!==void 0&&$("img",{src:n.img}),$("div",{children:n.text})]},o))})},hs=fs,gs={getAccessibilityString:e=>ei(e.data.map(t=>t.text)),kind:ae.Drilldown,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,n)=>t.data.reduce((o,i)=>e.measureText(i.text).width+o+20+(i.img!==void 0?18:0),0)+2*n.cellHorizontalPadding-4,draw:e=>vs(e,e.cell.data),provideEditor:()=>e=>{const{value:t}=e;return $(hs,{drilldowns:t.data})},onPaste:()=>{}},ms=4,Ln={};function ys(e,t,n,o){const i=Math.ceil(window.devicePixelRatio),r=5,l=n-r*2,s=4,a=n*i,d=o+r,f=o*3,g=(f+r*2)*i,m=`${e},${t},${i},${n}`;if(Ln[m]!==void 0)return{el:Ln[m],height:a,width:g,middleWidth:s*i,sideWidth:d*i,padding:r*i,dpr:i};const h=document.createElement("canvas"),c=h.getContext("2d");return c===null?null:(h.width=g,h.height=a,c.scale(i,i),Ln[m]=h,c.beginPath(),st(c,r,r,f,l,o),c.shadowColor="rgba(24, 25, 34, 0.4)",c.shadowBlur=1,c.fillStyle=e,c.fill(),c.shadowColor="rgba(24, 25, 34, 0.3)",c.shadowOffsetY=1,c.shadowBlur=5,c.fillStyle=e,c.fill(),c.shadowOffsetY=0,c.shadowBlur=0,c.shadowBlur=0,c.beginPath(),st(c,r+.5,r+.5,f,l,o),c.strokeStyle=t,c.lineWidth=1,c.stroke(),{el:h,height:a,width:g,sideWidth:d*i,middleWidth:o*i,padding:r*i,dpr:i})}function vs(e,t){const{rect:n,theme:o,ctx:i,imageLoader:r,col:l,row:s}=e,{x:a,width:d}=n,f=o.baseFontFull,g=si(i,f),m=Math.min(n.height,Math.max(16,Math.ceil(g*o.lineHeight)*2)),h=Math.floor(n.y+(n.height-m)/2),c=m-10,u=8,y=ms;let b=a+o.cellHorizontalPadding;const w=o.roundingRadius??6,M=ys(o.bgCell,o.drilldownBorder,m,w),F=[];for(const P of t){if(b>a+d)break;const A=_t(P.text,i,f).width;let W=0;P.img!==void 0&&r.loadOrGetImage(P.img,l,s)!==void 0&&(W=c-8+4);const C=A+W+u*2;F.push({x:b,width:C}),b+=C+y}if(M!==null){const{el:P,height:S,middleWidth:A,sideWidth:W,width:C,dpr:H,padding:B}=M,k=W/H,x=B/H;for(const p of F){const j=Math.floor(p.x),U=Math.floor(p.width),q=U-(k-x)*2;i.imageSmoothingEnabled=!1,i.drawImage(P,0,0,W,S,j-x,h,k,m),q>0&&i.drawImage(P,W,0,A,S,j+(k-x),h,q,m),i.drawImage(P,C-W,0,W,S,j+U-(k-x),h,k,m),i.imageSmoothingEnabled=!0}}i.beginPath();for(const[P,S]of F.entries()){const A=t[P];let W=S.x+u;if(A.img!==void 0){const C=r.loadOrGetImage(A.img,l,s);if(C!==void 0){const H=c-8;let B=0,k=0,x=C.width,p=C.height;x>p?(B+=(x-p)/2,x=p):p>x&&(k+=(p-x)/2,p=x),i.beginPath(),st(i,W,h+m/2-H/2,H,H,o.roundingRadius??3),i.save(),i.clip(),i.drawImage(C,B,k,x,p,W,h+m/2-H/2,H,H),i.restore(),W+=H+4}}i.beginPath(),i.fillStyle=o.textBubble,i.fillText(A.text,W,h+m/2+xt(i,o))}}const bs=gt("div")({name:"ImageOverlayEditorStyle",class:"i1f2fhaz",propsAsIs:!1}),ps=e=>{const{urls:t,canWrite:n,onEditClick:o,renderImage:i}=e,r=t.filter(s=>s!=="");if(r.length===0)return null;const l=r.length>1;return Je(bs,{"data-testid":"GDG-default-image-overlay-editor",children:[$(ji.Carousel,{showArrows:l,showThumbs:!1,swipeable:l,emulateTouch:l,infiniteLoop:l,children:r.map(s=>{const a=(i==null?void 0:i(s))??$("img",{draggable:!1,src:s});return $("div",{className:"gdg-centering-container",children:a},s)})}),n&&o&&$("button",{className:"gdg-edit-icon",onClick:o,children:$(Zn,{})})]})},ws={getAccessibilityString:e=>e.data.join(", "),kind:ae.Image,needsHover:!1,useLabel:!1,needsHoverPosition:!1,draw:e=>xs(e,e.cell.displayData??e.cell.data,e.cell.rounding??e.theme.roundingRadius??4,e.cell.contentAlign),measure:(e,t)=>t.data.length*50,onDelete:e=>({...e,data:[]}),provideEditor:()=>e=>{const{value:t,onFinishedEditing:n,imageEditorOverride:o}=e;return $(o??ps,{urls:t.data,canWrite:t.readonly!==!1,onCancel:n,onChange:r=>{n({...t,data:[r]})}})},onPaste:(e,t)=>{e=e.trim();const o=e.split(",").map(i=>{try{return new URL(i),i}catch{return}}).filter(i=>i!==void 0);if(!(o.length===t.data.length&&o.every((i,r)=>i===t.data[r])))return{...t,data:o}}},Nn=4;function xs(e,t,n,o){const{rect:i,col:r,row:l,theme:s,ctx:a,imageLoader:d}=e,{x:f,y:g,height:m,width:h}=i,c=m-s.cellVerticalPadding*2,u=[];let y=0;for(let w=0;w0&&(a.beginPath(),st(a,b,g+s.cellVerticalPadding,M,c,n),a.save(),a.clip()),a.drawImage(w,b,g+s.cellVerticalPadding,M,c),n>0&&a.restore(),b+=M+Nn}}function ks(e,t){let n=e*49632+t*325176;return n^=n<<13,n^=n>>17,n^=n<<5,n/4294967295*2}const Cs={getAccessibilityString:()=>"",kind:ae.Loading,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:()=>120,draw:e=>{const{cell:t,col:n,row:o,ctx:i,rect:r,theme:l}=e;if(t.skeletonWidth===void 0||t.skeletonWidth===0)return;let s=t.skeletonWidth;t.skeletonWidthVariability!==void 0&&t.skeletonWidthVariability>0&&(s+=Math.round(ks(n,o)*t.skeletonWidthVariability));const a=l.cellHorizontalPadding,d=t.skeletonHeight??Math.min(18,r.height-2*l.cellVerticalPadding);st(i,r.x+a,r.y+(r.height-d)/2,s,d,l.roundingRadius??3),i.fillStyle=sn(l.textDark,.1),i.fill()},onPaste:()=>{}},Ss=gt("div")({name:"MarkdownContainer",class:"m1ec5h7p",propsAsIs:!1});class Is extends Gn.PureComponent{constructor(){super(...arguments);oe(this,"targetElement",null);oe(this,"containerRefHook",n=>{this.targetElement=n,this.renderMarkdownIntoDiv()})}renderMarkdownIntoDiv(){const{targetElement:n,props:o}=this;if(n===null)return;const{contents:i,createNode:r}=o,l=Oi(i),s=document.createRange();s.selectNodeContents(n),s.deleteContents();let a=r==null?void 0:r(l);if(a===void 0){const f=document.createElement("template");f.innerHTML=l,a=f.content}n.append(a);const d=n.getElementsByTagName("a");for(const f of d)f.target="_blank",f.rel="noreferrer noopener"}render(){return this.renderMarkdownIntoDiv(),$(Ss,{ref:this.containerRefHook})}}const Ms=gt("textarea")({name:"InputBox",class:"iotb8b8",propsAsIs:!1}),Es=gt("div")({name:"ShadowBox",class:"s1xtsfdl",propsAsIs:!1}),Bs=gt("div")({name:"GrowingEntryStyle",class:"g1d7u5bt",propsAsIs:!1});let Uo=0;const Cn=e=>{const{placeholder:t,value:n,onKeyDown:o,highlight:i,altNewline:r,validatedSelection:l,...s}=e,{onChange:a,className:d}=s,f=I.useRef(null),g=n??"";ft(a!==void 0,"GrowingEntry must be a controlled input area");const[m]=I.useState(()=>"input-box-"+(Uo=(Uo+1)%1e7));I.useEffect(()=>{const c=f.current;if(c===null||c.disabled)return;const u=g.toString().length;c.focus(),c.setSelectionRange(i?0:u,u)},[]),I.useLayoutEffect(()=>{var c;if(l!==void 0){const u=typeof l=="number"?[l,null]:l;(c=f.current)==null||c.setSelectionRange(u[0],u[1])}},[l]);const h=I.useCallback(c=>{c.key==="Enter"&&c.shiftKey&&r===!0||o==null||o(c)},[r,o]);return Je(Bs,{className:"gdg-growing-entry",children:[$(Es,{className:d,children:g+` +`}),$(Ms,{...s,className:(d??"")+" gdg-input",id:m,ref:f,onKeyDown:h,value:g,placeholder:t,dir:"auto"})]})},Fs=()=>e=>e.targetWidth,qo=gt("div")({name:"MarkdownOverlayEditorStyle",class:"mmv7gx6",propsAsIs:!1,vars:{"mmv7gx6-0":[Fs(),"px"]}}),As=e=>{const{value:t,onChange:n,forceEditMode:o,createNode:i,targetRect:r,onFinish:l,validatedSelection:s}=e,a=t.data,d=t.readonly===!0,[f,g]=I.useState(a===""||o),m=I.useCallback(()=>{g(c=>!c)},[]),h=a?"gdg-ml-6":"";return f?Je(qo,{targetWidth:r.width-20,children:[$(Cn,{autoFocus:!0,highlight:!1,validatedSelection:s,value:a,onKeyDown:c=>{c.key==="Enter"&&c.stopPropagation()},onChange:n}),$("div",{className:`gdg-edit-icon gdg-checkmark-hover ${h}`,onClick:()=>l(t),children:$(tr,{})})]}):Je(qo,{targetWidth:r.width,children:[$(Is,{contents:a,createNode:i}),!d&&Je(Xn,{children:[$("div",{className:"spacer"}),$("div",{className:`gdg-edit-icon gdg-edit-hover ${h}`,onClick:m,children:$(Zn,{})})]}),$("textarea",{className:"gdg-md-edit-textarea gdg-input",autoFocus:!0})]})},Ds={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:ae.Markdown,needsHover:!1,needsHoverPosition:!1,drawPrep:rn,measure:(e,t,n)=>{const o=t.data.split(` +`)[0];return e.measureText(o).width+2*n.cellHorizontalPadding},draw:e=>ht(e,e.cell.data,e.cell.contentAlign),onDelete:e=>({...e,data:""}),provideEditor:()=>e=>{const{onChange:t,value:n,target:o,onFinishedEditing:i,markdownDivCreateNode:r,forceEditMode:l,validatedSelection:s}=e;return $(As,{onFinish:i,targetRect:o,value:n,validatedSelection:s,onChange:a=>t({...n,data:a.target.value}),forceEditMode:l,createNode:r})},onPaste:(e,t)=>e===t.data?void 0:{...t,data:e}},Ps={getAccessibilityString:e=>e.row.toString(),kind:tn.Marker,needsHover:!0,needsHoverPosition:!1,drawPrep:Hs,measure:()=>44,draw:e=>Ts(e,e.cell.row,e.cell.checked,e.cell.markerKind,e.cell.drawHandle,e.cell.checkboxStyle),onClick:e=>{const{bounds:t,cell:n,posX:o,posY:i}=e,{width:r,height:l}=t,s=n.drawHandle?7+(r-7)/2:r/2,a=l/2;if(Math.abs(o-s)<=10&&Math.abs(i-a)<=10)return{...n,checked:!n.checked}},onPaste:()=>{}};function Hs(e,t){const{ctx:n,theme:o}=e,i=o.markerFontFull,r=t??{};return(r==null?void 0:r.font)!==i&&(n.font=i,r.font=i),r.deprep=Rs,n.textAlign="center",r}function Rs(e){const{ctx:t}=e;t.textAlign="start"}function Ts(e,t,n,o,i,r){const{ctx:l,rect:s,hoverAmount:a,theme:d}=e,{x:f,y:g,width:m,height:h}=s,c=n?1:o==="checkbox-visible"?.6+.4*a:a;if(o!=="number"&&c>0){l.globalAlpha=c;const u=7*(n?a:1);if(io(l,d,n,i?f+u:f,g,i?m-u:m,h,!0,void 0,void 0,18,"center",r),i){l.globalAlpha=a,l.beginPath();for(const y of[3,6])for(const b of[-5,-1,3])l.rect(f+y,g+h/2+b,2,2);l.fillStyle=d.textLight,l.fill(),l.beginPath()}l.globalAlpha=1}if(o==="number"||o==="both"&&!n){const u=t.toString(),y=d.markerFontFull,b=f+m/2;o==="both"&&a!==0&&(l.globalAlpha=1-a),l.fillStyle=d.textLight,l.font=y,l.fillText(u,b,g+h/2+xt(l,y)),a!==0&&(l.globalAlpha=1)}}const Ws={getAccessibilityString:()=>"",kind:tn.NewRow,needsHover:!0,needsHoverPosition:!1,measure:()=>200,draw:e=>zs(e,e.cell.hint,e.cell.icon),onPaste:()=>{}};function zs(e,t,n){const{ctx:o,rect:i,hoverAmount:r,theme:l,spriteManager:s}=e,{x:a,y:d,width:f,height:g}=i;o.beginPath(),o.globalAlpha=r,o.rect(a+1,d+1,f,g-2),o.fillStyle=l.bgHeaderHovered,o.fill(),o.globalAlpha=1,o.beginPath();const m=t!=="";let h=0;if(n!==void 0){const u=g-8,y=a+8/2,b=d+8/2;s.drawSprite(n,"normal",o,y,b,u,l,m?1:r),h=u}else{h=24;const c=12,u=m?c:r*c,y=m?0:(1-r)*c*.5,b=l.cellHorizontalPadding+4;u>0&&(o.moveTo(a+b+y,d+g/2),o.lineTo(a+b+y+u,d+g/2),o.moveTo(a+b+y+u*.5,d+g/2-u*.5),o.lineTo(a+b+y+u*.5,d+g/2+u*.5),o.lineWidth=2,o.strokeStyle=l.bgIconHeader,o.lineCap="round",o.stroke())}o.fillStyle=l.textMedium,o.fillText(t,h+a+l.cellHorizontalPadding+.5,d+g/2+xt(o,l)),o.beginPath()}const Ls=I.lazy(async()=>await Ki(()=>import("./number-overlay-editor-wZgFM_Mr.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)),Ns={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:ae.Number,needsHover:!1,needsHoverPosition:!1,useLabel:!0,drawPrep:rn,draw:e=>ht(e,e.cell.displayData,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.displayData).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:void 0}),provideEditor:()=>e=>{const{isHighlighted:t,onChange:n,value:o,validatedSelection:i}=e;return $(I.Suspense,{fallback:null,children:$(Ls,{highlight:t,disabled:o.readonly===!0,value:o.data,fixedDecimals:o.fixedDecimals,allowNegative:o.allowNegative,thousandSeparator:o.thousandSeparator,decimalSeparator:o.decimalSeparator,validatedSelection:i,onChange:r=>n({...o,data:Number.isNaN(r.floatValue??0)?0:r.floatValue})})})},onPaste:(e,t,n)=>{const o=typeof n.rawValue=="number"?n.rawValue:Number.parseFloat(typeof n.rawValue=="string"?n.rawValue:e);if(!(Number.isNaN(o)||t.data===o))return{...t,data:o,displayData:n.formattedString??t.displayData}}},Os={getAccessibilityString:()=>"",measure:()=>108,kind:ae.Protected,needsHover:!1,needsHoverPosition:!1,draw:Xs,onPaste:()=>{}};function Xs(e){const{ctx:t,theme:n,rect:o}=e,{x:i,y:r,height:l}=o;t.beginPath();const s=2.5;let a=i+n.cellHorizontalPadding+s;const d=r+l/2,f=Math.cos(Io(30))*s,g=Math.sin(Io(30))*s;for(let m=0;m<12;m++)t.moveTo(a,d-s),t.lineTo(a,d+s),t.moveTo(a+f,d-g),t.lineTo(a-f,d+g),t.moveTo(a-f,d-g),t.lineTo(a+f,d+g),a+=8;t.lineWidth=1.1,t.lineCap="square",t.strokeStyle=n.textLight,t.stroke()}const $s={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:ae.RowID,needsHover:!1,needsHoverPosition:!1,drawPrep:(e,t)=>rn(e,t,e.theme.textLight),draw:e=>ht(e,e.cell.data,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.data).width+n.cellHorizontalPadding*2,provideEditor:()=>e=>{const{isHighlighted:t,onChange:n,value:o,validatedSelection:i}=e;return $(Cn,{highlight:t,autoFocus:o.readonly!==!0,disabled:o.readonly!==!1,value:o.data,validatedSelection:i,onChange:r=>n({...o,data:r.target.value})})},onPaste:()=>{}},Ys={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:ae.Text,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!1,drawPrep:rn,useLabel:!0,draw:e=>{const{cell:t,hoverAmount:n,hyperWrapping:o,ctx:i,rect:r,theme:l,overrideCursor:s}=e,{displayData:a,contentAlign:d,hoverEffect:f,allowWrapping:g}=t;if(f===!0&&n>0){i.textBaseline="alphabetic";const m=l.cellHorizontalPadding,h=l.cellVerticalPadding,c=_t(a,i,l.baseFontFull,"alphabetic"),u=r.height-h,y=Math.min(u,c.actualBoundingBoxAscent*2.5);i.beginPath(),st(i,r.x+m/2,r.y+(r.height-y)/2+1,c.width+m*3,y-1,l.roundingRadius??4),i.globalAlpha=n,i.fillStyle=sn(l.textDark,.1),i.fill(),i.globalAlpha=1,i.fillStyle=l.textDark,i.textBaseline="middle",s==null||s("text")}ht(e,a,d,g,o)},measure:(e,t,n)=>{const o=t.displayData.split(` +`,t.allowWrapping===!0?void 0:1);let i=0;for(const r of o)i=Math.max(i,e.measureText(r).width);return i+2*n.cellHorizontalPadding},onDelete:e=>({...e,data:""}),provideEditor:e=>({disablePadding:e.allowWrapping===!0,editor:t=>{const{isHighlighted:n,onChange:o,value:i,validatedSelection:r}=t;return $(Cn,{style:e.allowWrapping===!0?{padding:"3px 8.5px"}:void 0,highlight:n,autoFocus:i.readonly!==!0,disabled:i.readonly===!0,altNewline:!0,value:i.data,validatedSelection:r,onChange:l=>o({...i,data:l.target.value})})}}),onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}},_s=gt("div")({name:"UriOverlayEditorStyle",class:"uwr6ffw",propsAsIs:!1}),Us=e=>{const{uri:t,onChange:n,forceEditMode:o,readonly:i,validatedSelection:r,preview:l}=e,[s,a]=I.useState(!i&&(t===""||o)),d=I.useCallback(()=>{a(!0)},[]);return s?$(Cn,{validatedSelection:r,highlight:!0,autoFocus:!0,value:t,onChange:n}):Je(_s,{children:[$("a",{className:"gdg-link-area",href:t,target:"_blank",rel:"noopener noreferrer",children:l}),!i&&$("div",{className:"gdg-edit-icon",onClick:d,children:$(Zn,{})}),$("textarea",{className:"gdg-input",autoFocus:!0})]})},qs=Us;function jo(e,t,n,o){let i=n.cellHorizontalPadding;const r=t.height/2-e.actualBoundingBoxAscent/2,l=e.width,s=e.actualBoundingBoxAscent;return o==="right"?i=t.width-l-n.cellHorizontalPadding:o==="center"&&(i=t.width/2-l/2),{x:i,y:r,width:l,height:s}}const js={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:ae.Uri,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!0,useLabel:!0,drawPrep:rn,draw:e=>{const{cell:t,theme:n,overrideCursor:o,hoverX:i,hoverY:r,rect:l,ctx:s}=e,a=t.displayData??t.data,d=t.hoverEffect===!0;if(o!==void 0&&d&&i!==void 0&&r!==void 0){const f=_t(a,s,n.baseFontFull),g=jo(f,l,n,t.contentAlign),{x:m,y:h,width:c,height:u}=g;if(i>=m-4&&i<=m-4+c+8&&r>=h-4&&r<=h-4+u+8){const y=xt(s,n.baseFontFull);o("pointer");const b=5,w=h-y;s.beginPath(),s.moveTo(l.x+m,Math.floor(l.y+w+u+b)+.5),s.lineTo(l.x+m+c,Math.floor(l.y+w+u+b)+.5),s.strokeStyle=n.linkColor,s.stroke(),s.save(),s.fillStyle=e.cellFillColor,ht({...e,rect:{...l,x:l.x-1}},a,t.contentAlign),ht({...e,rect:{...l,x:l.x-2}},a,t.contentAlign),ht({...e,rect:{...l,x:l.x+1}},a,t.contentAlign),ht({...e,rect:{...l,x:l.x+2}},a,t.contentAlign),s.restore()}}s.fillStyle=d?n.linkColor:n.textDark,ht(e,a,t.contentAlign)},onClick:e=>{const{cell:t,bounds:n,posX:o,posY:i,theme:r}=e,l=t.displayData??t.data;if(t.hoverEffect!==!0||t.onClickUri===void 0)return;const s=ii(l,r.baseFontFull);if(s===void 0)return;const a=jo(s,n,r,t.contentAlign);Ot({x:a.x-4,y:a.y-4,width:a.width+8,height:a.height+8},o,i)&&t.onClickUri(e)},measure:(e,t,n)=>e.measureText(t.displayData??t.data).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:""}),provideEditor:e=>t=>{const{onChange:n,value:o,forceEditMode:i,validatedSelection:r}=t;return $(qs,{forceEditMode:o.readonly!==!0&&(i||e.hoverEffect===!0&&e.onClickUri!==void 0),uri:o.data,preview:o.displayData??o.data,validatedSelection:r,readonly:o.readonly===!0,onChange:l=>n({...o,data:l.target.value})})},onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}},wl=[Ps,Ws,os,as,gs,ws,Cs,Ds,Ns,Os,$s,Ys,js],On=[];class Vs extends ai{constructor(){super(...arguments);oe(this,"imageLoaded",()=>{});oe(this,"loadedLocations",[]);oe(this,"cache",{});oe(this,"sendLoaded",Vi(()=>{this.imageLoaded(new en(this.loadedLocations)),this.loadedLocations=[]},20));oe(this,"clearOutOfWindow",()=>{const n=Object.keys(this.cache);for(const o of n){const i=this.cache[o];let r=!1;for(let l=0;l{a||(a=!0,On.length<12?On.unshift(s):l||(s.src=""))}},f=new Promise(g=>s.addEventListener("load",()=>g(null)));requestAnimationFrame(async()=>{try{s.src=n,await f,await s.decode();const g=this.cache[r];if(g!==void 0&&!a){g.img=s;for(const m of g.cells)this.loadedLocations.push(oo(m));l=!0,this.sendLoaded()}}catch{d.cancel()}}),this.cache[r]=d}loadOrGetImage(n,o,i){const r=n,l=this.cache[r];if(l!==void 0){const s=tt(o,i);return l.cells.includes(s)||l.cells.push(s),l.img}else this.loadImage(n,o,i,r)}}const xl=Vs;export{jr as A,hl as B,_n as C,Jn as D,Ji as E,rl as F,ae as G,cl as H,tn as I,yl as J,bl as K,Mo as L,dl as M,pl as N,xl as O,wl as P,ml as Q,Lo as R,Ur as S,fl as T,il as U,Gi as a,ft as b,gl as c,al as d,ll as e,vl as f,ul as g,sn as h,nl as i,tl as j,Yt as k,Nt as l,nn as m,Un as n,No as o,Ot as p,ar as q,ol as r,Ko as s,ns as t,Ge as u,Qi as v,sl as w,Sr as x,bn as y,At as z}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["./number-overlay-editor-wZgFM_Mr.js","./marked.esm-dbrxtycE.js","./index-BMVQvedj.js","./react-number-format.es-2Vaki8Uh.js","./number-overlay-editor-8QJ1sjy4.css"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} \ No newline at end of file diff --git a/docs/assets/image-window-loader-aMebukIX.js b/docs/assets/image-window-loader-aMebukIX.js deleted file mode 100644 index 831d4ebb6..000000000 --- a/docs/assets/image-window-loader-aMebukIX.js +++ /dev/null @@ -1,18 +0,0 @@ -var Li=Object.defineProperty;var Ni=(e,t,n)=>t in e?Li(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ne=(e,t,n)=>(Ni(e,typeof t!="symbol"?t+"":t,n),n);import{a as Je,j as $,F as Xn,s as gt,b as Oi}from"./marked.esm-dbrxtycE.js";import{r as I,R as Gn}from"./index-BMVQvedj.js";import{h as Xi,d as $i,v as Yi,_ as _i,g as Ui,c as wn,r as qi,j as ji,t as Vi}from"./throttle-7EuXLZa7.js";import{_ as Ki}from"./iframe-lQqvcp2b.js";function Vo(e="This should not happen"){throw new Error(e)}function ft(e,t="Assertion failed"){if(!e)return Vo(t)}function Jn(e,t){return Vo(t??"Hell froze over")}function tl(e,t){try{return e()}catch{return t}}const Co=Object.prototype.hasOwnProperty;function Ot(e,t){let n,o;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((o=e.length)===t.length)for(;o--&&Ot(e[o],t[o]););return o===-1}if(!n||typeof e=="object"){o=0;for(n in e)if(Co.call(e,n)&&++o&&!Co.call(t,n)||!(n in t)||!Ot(e[n],t[n]))return!1;return Object.keys(t).length===o}}return e!==e&&t!==t}const xn=null,Qn=void 0;var ae=(e=>(e.Uri="uri",e.Text="text",e.Image="image",e.RowID="row-id",e.Number="number",e.Bubble="bubble",e.Boolean="boolean",e.Loading="loading",e.Markdown="markdown",e.Drilldown="drilldown",e.Protected="protected",e.Custom="custom",e))(ae||{}),Gi=(e=>(e.HeaderRowID="headerRowID",e.HeaderCode="headerCode",e.HeaderNumber="headerNumber",e.HeaderString="headerString",e.HeaderBoolean="headerBoolean",e.HeaderAudioUri="headerAudioUri",e.HeaderVideoUri="headerVideoUri",e.HeaderEmoji="headerEmoji",e.HeaderImage="headerImage",e.HeaderUri="headerUri",e.HeaderPhone="headerPhone",e.HeaderMarkdown="headerMarkdown",e.HeaderDate="headerDate",e.HeaderTime="headerTime",e.HeaderEmail="headerEmail",e.HeaderReference="headerReference",e.HeaderIfThenElse="headerIfThenElse",e.HeaderSingleValue="headerSingleValue",e.HeaderLookup="headerLookup",e.HeaderTextTemplate="headerTextTemplate",e.HeaderMath="headerMath",e.HeaderRollup="headerRollup",e.HeaderJoinStrings="headerJoinStrings",e.HeaderSplitString="headerSplitString",e.HeaderGeoDistance="headerGeoDistance",e.HeaderArray="headerArray",e.RowOwnerOverlay="rowOwnerOverlay",e.ProtectedColumnOverlay="protectedColumnOverlay",e))(Gi||{}),$n=(e=>(e.Triangle="triangle",e.Dots="dots",e))($n||{});function nl(e){return"width"in e&&typeof e.width=="number"}async function ol(e){return typeof e=="object"?e:await e()}function Ji(e){return!(e.kind==="loading"||e.kind==="bubble"||e.kind==="row-id"||e.kind==="protected"||e.kind==="drilldown")}function il(e){return!(e.kind==="loading"||e.kind==="bubble"||e.kind==="row-id"||e.kind==="protected"||e.kind==="drilldown"||e.kind==="boolean"||e.kind==="image"||e.kind==="custom")}function Ko(e){return e.kind==="marker"||e.kind==="new-row"}function Qi(e){if(!Ji(e)||e.kind==="image")return!1;if(e.kind==="text"||e.kind==="number"||e.kind==="markdown"||e.kind==="uri"||e.kind==="custom"||e.kind==="boolean")return e.readonly!==!0;Jn(e,"A cell was passed with an invalid kind")}function rl(e){return Xi(e,"editor")}function Yn(e){return!(e.readonly??!1)}var tn=(e=>(e.NewRow="new-row",e.Marker="marker",e))(tn||{});function Zi(e){if(e.length===0)return[];const t=[...e],n=[];t.sort(function(o,i){return o[0]-i[0]}),n.push([...t[0]]);for(const o of t.slice(1)){const i=n[n.length-1];i[1][o[0]+t,o[1]+t]);return new ut(n)}add(t){const n=typeof t=="number"?[t,t+1]:t,o=Zi([...this.items,n]);return new ut(o)}remove(t){const n=[...this.items],o=typeof t=="number"?t:t[0],i=typeof t=="number"?t+1:t[1];for(const[r,l]of n.entries()){const[s,a]=l;if(s<=i&&o<=a){const d=[];s=o&&tSo??(So=new ut([]))),ne(ut,"fromSingleSelection",t=>ut.empty().add(t));let _n=ut;function Ge(e,t,n,o,i=!1){const r=I.useRef();r.current=t,I.useEffect(()=>{if(n===null||n.addEventListener===void 0)return;const l=n,s=a=>{var d;(d=r.current)==null||d.call(l,a)};return l.addEventListener(e,s,{passive:o,capture:i}),()=>{l.removeEventListener(e,s,{capture:i})}},[e,n,o,i])}function sl(e,t){return e===void 0?void 0:t}const er=Math.PI;function Io(e){return e*er/180}const Go=(e,t,n)=>({x1:e-n/2,y1:t-n/2,x2:e+n/2,y2:t+n/2}),Jo=(e,t,n,o,i)=>{switch(e){case"left":return Math.floor(t)+o+i/2;case"center":return Math.floor(t+n/2);case"right":return Math.floor(t+n)-o-i/2}},Qo=(e,t,n)=>Math.min(e,t-n*2),Zo=(e,t,n)=>n.x1<=e&&e<=n.x2&&n.y1<=t&&t<=n.y2,Zn=e=>{const t=e.fgColor??"currentColor";return Je("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[$("path",{d:"M12.7073 7.05029C7.87391 11.8837 10.4544 9.30322 6.03024 13.7273C5.77392 13.9836 5.58981 14.3071 5.50189 14.6587L4.52521 18.5655C4.38789 19.1148 4.88543 19.6123 5.43472 19.475L9.34146 18.4983C9.69313 18.4104 10.0143 18.2286 10.2706 17.9722L16.9499 11.2929",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"none",vectorEffect:"non-scaling-stroke"}),$("path",{d:"M20.4854 4.92901L19.0712 3.5148C18.2901 2.73375 17.0238 2.73375 16.2428 3.5148L14.475 5.28257C15.5326 7.71912 16.4736 8.6278 18.7176 9.52521L20.4854 7.75744C21.2665 6.97639 21.2665 5.71006 20.4854 4.92901Z",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"none",vectorEffect:"non-scaling-stroke"})]})},tr=e=>{const t=e.fgColor??"currentColor";return $("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:$("path",{d:"M19 6L10.3802 17L5.34071 11.8758",vectorEffect:"non-scaling-stroke",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})};function nr(e,t,n){const[o,i]=I.useState(e),r=I.useRef(!0);I.useEffect(()=>()=>{r.current=!1},[]);const l=I.useRef($i(s=>{r.current&&i(s)},n));return I.useLayoutEffect(()=>{r.current&&l.current(()=>e())},t),o}const or="֑-߿יִ-﷽ﹰ-ﻼ",ir="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿",rr=new RegExp("^[^"+ir+"]*["+or+"]");function eo(e){return rr.test(e)?"rtl":"not-rtl"}let vn;function Mo(){if(typeof document>"u")return 0;if(vn!==void 0)return vn;const e=document.createElement("p");e.style.width="100%",e.style.height="200px";const t=document.createElement("div");t.id="testScrollbar",t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.visibility="hidden",t.style.width="200px",t.style.height="150px",t.style.overflow="hidden",t.append(e),document.body.append(t);const n=e.offsetWidth;t.style.overflow="scroll";let o=e.offsetWidth;return n===o&&(o=t.clientWidth),t.remove(),vn=n-o,vn}const Ft=Symbol();function ll(e){const t=I.useRef([Ft,e]);t.current[1]!==e&&(t.current[0]=e),t.current[1]=e;const[n,o]=I.useState(e),[,i]=I.useState(),r=I.useCallback(s=>{const a=t.current[0];a!==Ft&&(s=typeof s=="function"?s(a):s,s===a)||(a!==Ft&&i({}),o(d=>typeof s=="function"?s(a===Ft?d:a):s),t.current[0]=Ft)},[]),l=I.useCallback(()=>{t.current[0]=Ft,i({})},[]);return[t.current[0]===Ft?n:t.current[0],r,l]}function ei(e){if(e.length===0)return"";let t=0,n=0;for(const o of e){if(n+=o.length,n>1e4)break;t++}return e.slice(0,t).join(", ")}function al(e){const t=I.useRef(e);return Ot(e,t.current)||(t.current=e),t.current}function sr(e,t){return Gn.useMemo(()=>e.map((n,o)=>({group:n.group,grow:n.grow,hasMenu:n.hasMenu,icon:n.icon,id:n.id,menuIcon:n.menuIcon,overlayIcon:n.overlayIcon,sourceIndex:o,sticky:o=r.x&&n=r.y&&o=t.span[0]&&n.current.cell[0]<=t.span[1]}function ar(e,t){const[n,o]=e;return n>=t.x&&n=t.y&&ol)return!1;if(t.span===void 0)return s>=o&&s<=i;const[d,f]=t.span;return d>=o&&d<=i||f>=o&&d<=i||di}function cr(e,t,n,o){let i=0;if(n.current===void 0)return i;const r=n.current.range;(o||r.height*r.width>1)&&Eo(e,t,r)&&i++;for(const l of n.current.rangeStack)Eo(e,t,l)&&i++;return i}function ni(e,t){let n=e;if(t!==void 0){let o=[...e];const i=n[t.src];t.src>t.dest?(o.splice(t.src,1),o.splice(t.dest,0,i)):(o.splice(t.dest+1,0,i),o.splice(t.src,1)),o=o.map((r,l)=>({...r,sticky:e[l].sticky})),n=o}return n}function Xt(e,t){let n=0;const o=ni(e,t);for(let i=0;i0)for(const d of l)n-=d.width;let s=t,a=i??0;for(;a<=n&&s=g)return h}const m=r-d,u=e-(a??0);if(typeof l=="number"){const c=Math.floor((u-f)/l)+s;return c>=m?void 0:c}else{let c=f;for(let h=s;h"u";async function hr(){var e;fr||((e=document==null?void 0:document.fonts)==null?void 0:e.ready)===void 0||(await document.fonts.ready,pn=0,Qt={},Yi())}hr();function oi(e,t,n,o){return`${e}_${o??(t==null?void 0:t.font)}_${n}`}function Yt(e,t,n,o="middle"){const i=oi(e,t,o,n);let r=Qt[i];return r===void 0&&(r=t.measureText(e),Qt[i]=r,pn++),pn>1e4&&(Qt={},pn=0),r}function ii(e,t){const n=oi(e,void 0,"middle",t);return Qt[n]}function xt(e,t){return typeof t!="string"&&(t=t.baseFontFull),gr(e,t)}function Bo(e,t){const n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";e.save(),e.textBaseline=t;const o=e.measureText(n);return e.restore(),o}const Fo=[];function gr(e,t){for(const r of Fo)if(r.key===t)return r.val;const n=Bo(e,"alphabetic"),i=-(Bo(e,"middle").actualBoundingBoxDescent-n.actualBoundingBoxDescent)+n.actualBoundingBoxAscent/2;return Fo.push({key:t,val:i}),i}function mr(e,t,n,o,i,r){const{ctx:l,rect:s,theme:a}=e;let d=Number.MAX_SAFE_INTEGER;const f=500;if(t!==void 0&&(d=n-t,dn&&(e=e.slice(0,n)),e}function vr(e,t,n,o,i,r,l,s,a,d){const f=s.baseFontFull,g=_i(e,t,f,i-s.cellHorizontalPadding*2,d??!1),m=si(e,f),u=s.lineHeight*m,c=m+u*(g.length-1),h=c+s.cellVerticalPadding>r;h&&(e.save(),e.rect(n,o,i,r),e.clip());const y=o+r/2-c/2;let b=Math.max(o+s.cellVerticalPadding,y);for(const k of g)if(ri(e,k,n,b,i,m,l,s,a),b+=u,b>o+r)break;h&&e.restore()}function ht(e,t,n,o,i){const{ctx:r,rect:l,theme:s}=e,{x:a,y:d,width:f,height:g}=l;o=o??!1,o||(t=yr(t,f));const m=xt(r,s),u=eo(t)==="rtl";if(n===void 0&&u&&(n="right"),u&&(r.direction="rtl"),t.length>0){let c=!1;n==="right"?(r.textAlign="right",c=!0):n!==void 0&&n!=="left"&&(r.textAlign=n,c=!0),o?vr(r,t,a,d,f,g,m,s,n,i):ri(r,t,a,d,f,g,m,s,n),c&&(r.textAlign="start"),u&&(r.direction="inherit")}}function st(e,t,n,o,i,r){typeof r=="number"&&(r={tl:r,tr:r,br:r,bl:r}),r={tl:Math.max(0,Math.min(r.tl,i/2,o/2)),tr:Math.max(0,Math.min(r.tr,i/2,o/2)),bl:Math.max(0,Math.min(r.bl,i/2,o/2)),br:Math.max(0,Math.min(r.br,i/2,o/2))},e.moveTo(t+r.tl,n),e.arcTo(t+o,n,t+o,n+r.tr,r.tr),e.arcTo(t+o,n+i,t+o-r.br,n+i,r.br),e.arcTo(t,n+i,t,n+i-r.bl,r.bl),e.arcTo(t,n,t+r.tl,n,r.tl)}function br(e,t,n){e.arc(t,n-1.25*3.5,1.25,0,2*Math.PI,!1),e.arc(t,n,1.25,0,2*Math.PI,!1),e.arc(t,n+1.25*3.5,1.25,0,2*Math.PI,!1)}function pr(e,t,n){const o=function(s,a){const d=a.x-s.x,f=a.y-s.y,g=Math.sqrt(d*d+f*f),m=d/g,u=f/g;return{x:d,y:a.y-s.y,len:g,nx:m,ny:u,ang:Math.atan2(u,m)}};let i;const r=t.length;let l=t[r-1];for(let s=0;s1?1:m),h=1,y=!1;u<0?c<0?c=Math.PI+c:(c=Math.PI-c,h=-1,y=!0):c>0&&(h=-1,y=!0),i=a.radius!==void 0?a.radius:n;const b=c/2;let k=Math.abs(Math.cos(b)*i/Math.sin(b)),E;k>Math.min(f.len/2,g.len/2)?(k=Math.min(f.len/2,g.len/2),E=Math.abs(k*Math.sin(b)/Math.cos(b))):E=i;let A=a.x+g.nx*k,H=a.y+g.ny*k;A+=-g.ny*E*h,H+=g.nx*E*h,e.arc(A,H,E,f.ang+Math.PI/2*h,g.ang-Math.PI/2*h,y),l=a,a=d}e.closePath()}function jn(e,t,n,o,i,r,l,s,a,d,f,g,m,u,c){const h={x:0,y:r+d,width:0,height:0};if(e>=u.length||t>=f||t<-2||e<0)return h;const y=r-i;if(e>=g){const b=l>e?-1:1,k=Xt(u);h.x+=k+a;for(let E=l;E!==e;E+=b)h.x+=u[b===1?E:E-1].width*b}else for(let b=0;b0&&Un(u[b-1].group,k)&&u[b-1].sticky===E;){const H=u[b-1];h.x-=H.width,h.width+=H.width,b--}let A=e;for(;A+1n&&(h.width=n-h.x)}}else if(t>=f-m){let b=f-t;for(h.y=o;b>0;){const k=t+b-1;h.height=typeof c=="number"?c:c(k),h.y-=h.height,b--}h.height+=1}else{const b=s>t?-1:1;if(typeof c=="number"){const k=t-s;h.y+=k*c}else for(let k=s;k!==t;k+=b)h.y+=c(k)*b;h.height=(typeof c=="number"?c:c(t))+1}return h}const to=1<<21;function tt(e,t){return(t+2)*to+e}function li(e){return e%to}function no(e){return Math.floor(e/to)-2}function oo(e){const t=li(e),n=no(e);return[t,n]}class ai{constructor(){ne(this,"visibleWindow",{x:0,y:0,width:0,height:0});ne(this,"freezeCols",0);ne(this,"freezeRows",[]);ne(this,"isInWindow",t=>{const n=li(t),o=no(t),i=this.visibleWindow,r=n>=i.x&&n<=i.x+i.width||n=i.y&&o<=i.y+i.height||this.freezeRows.includes(o);return r&&l})}setWindow(t,n,o){this.visibleWindow.x===t.x&&this.visibleWindow.y===t.y&&this.visibleWindow.width===t.width&&this.visibleWindow.height===t.height&&this.freezeCols===n&&Ot(this.freezeRows,o)||(this.visibleWindow=t,this.freezeCols=n,this.freezeRows=o,this.clearOutOfWindow())}}class wr extends ai{constructor(){super(...arguments);ne(this,"cache",new Map);ne(this,"setValue",(n,o)=>{this.cache.set(tt(n[0],n[1]),o)});ne(this,"getValue",n=>this.cache.get(tt(n[0],n[1])));ne(this,"clearOutOfWindow",()=>{for(const[n]of this.cache.entries())this.isInWindow(n)||this.cache.delete(n)})}}class Zt{constructor(t=[]){ne(this,"cells");this.cells=new Set(t.map(n=>tt(n[0],n[1])))}add(t){this.cells.add(tt(t[0],t[1]))}has(t){return t===void 0?!1:this.cells.has(tt(t[0],t[1]))}remove(t){this.cells.delete(tt(t[0],t[1]))}clear(){this.cells.clear()}get size(){return this.cells.size}hasHeader(){for(const t of this.cells)if(no(t)<0)return!0;return!1}hasItemInRectangle(t){for(let n=t.y;n{h.drawImage(y,0,0,g,g)}).finally(()=>{this.inFlight--,this.inFlight===0&&this.onSettled()})}else a<1&&(o.globalAlpha=a),o.drawImage(u,0,0,g,g,i,r,l,l),a<1&&(o.globalAlpha=1)}}const Rn={};let wt=null;function Cr(){const e=document.createElement("div");return e.style.opacity="0",e.style.pointerEvents="none",e.style.position="fixed",document.body.append(e),e}function Vn(e){const t=e.toLowerCase().trim();if(Rn[t]!==void 0)return Rn[t];wt=wt||Cr(),wt.style.color="#000",wt.style.color=t;const n=getComputedStyle(wt).color;wt.style.color="#fff",wt.style.color=t;const o=getComputedStyle(wt).color;if(o!==n)return[0,0,0,1];let i=o.replace(/[^\d.,]/g,"").split(",").map(Number.parseFloat);return i.length<4&&i.push(1),i=i.map(r=>Number.isNaN(r)?0:r),Rn[t]=i,i}function sn(e,t){const[n,o,i]=Vn(e);return`rgba(${n}, ${o}, ${i}, ${t})`}const Do=new Map;function Ao(e,t){const n=`${e}-${t}`,o=Do.get(n);if(o!==void 0)return o;const i=qe(e,t);return Do.set(n,i),i}function qe(e,t){if(t===void 0)return e;const[n,o,i,r]=Vn(e);if(r===1)return e;const[l,s,a,d]=Vn(t),f=r+d*(1-r),g=(r*n+d*l*(1-r))/f,m=(r*o+d*s*(1-r))/f,u=(r*i+d*a*(1-r))/f;return`rgba(${g}, ${m}, ${u}, ${f})`}function ci(e){if(e.length===0)return;let t;for(const n of e)t=Math.min(t??n.y,n.y)}function kn(e,t,n,o,i,r,l,s,a){s=s??t;let d=t,f=e;const g=o-r;let m=!1;for(;ds&&a(d,f,u,!1,l&&f===o-1)===!0){m=!0;break}d+=u,f++}if(!m){d=n;for(let u=0;u!u.sticky))==null?void 0:m.sourceIndex)??0;if(a>g){const u=Math.max(s,g);let c=t,h=o;for(let y=r.sourceIndex-1;y>=u;y--)c-=l[y].width,h+=l[y].width;for(let y=r.sourceIndex+1;y<=a;y++)h+=l[y].width;f={x:c,y:n,width:h,height:i}}if(g>s){const u=Math.min(a,g-1);let c=t,h=o;for(let y=r.sourceIndex-1;y>=s;y--)c-=l[y].width,h+=l[y].width;for(let y=r.sourceIndex+1;y<=u;y++)h+=l[y].width;d={x:c,y:n,width:h,height:i}}return[d,f]}function dl(e){return{"--gdg-accent-color":e.accentColor,"--gdg-accent-fg":e.accentFg,"--gdg-accent-light":e.accentLight,"--gdg-text-dark":e.textDark,"--gdg-text-medium":e.textMedium,"--gdg-text-light":e.textLight,"--gdg-text-bubble":e.textBubble,"--gdg-bg-icon-header":e.bgIconHeader,"--gdg-fg-icon-header":e.fgIconHeader,"--gdg-text-header":e.textHeader,"--gdg-text-group-header":e.textGroupHeader??e.textHeader,"--gdg-text-header-selected":e.textHeaderSelected,"--gdg-bg-cell":e.bgCell,"--gdg-bg-cell-medium":e.bgCellMedium,"--gdg-bg-header":e.bgHeader,"--gdg-bg-header-has-focus":e.bgHeaderHasFocus,"--gdg-bg-header-hovered":e.bgHeaderHovered,"--gdg-bg-bubble":e.bgBubble,"--gdg-bg-bubble-selected":e.bgBubbleSelected,"--gdg-bg-search-result":e.bgSearchResult,"--gdg-border-color":e.borderColor,"--gdg-horizontal-border-color":e.horizontalBorderColor??e.borderColor,"--gdg-drilldown-border":e.drilldownBorder,"--gdg-link-color":e.linkColor,"--gdg-cell-horizontal-padding":`${e.cellHorizontalPadding}px`,"--gdg-cell-vertical-padding":`${e.cellVerticalPadding}px`,"--gdg-header-font-style":e.headerFontStyle,"--gdg-base-font-style":e.baseFontStyle,"--gdg-marker-font-style":e.markerFontStyle,"--gdg-font-family":e.fontFamily,"--gdg-editor-font-size":e.editorFontSize,...e.resizeIndicatorColor===void 0?{}:{"--gdg-resize-indicator-color":e.resizeIndicatorColor},...e.headerBottomBorderColor===void 0?{}:{"--gdg-header-bottom-border-color":e.headerBottomBorderColor},...e.roundingRadius===void 0?{}:{"--gdg-rounding-radius":`${e.roundingRadius}px`}}}const fi={accentColor:"#4F5DFF",accentFg:"#FFFFFF",accentLight:"rgba(62, 116, 253, 0.1)",textDark:"#313139",textMedium:"#737383",textLight:"#B2B2C0",textBubble:"#313139",bgIconHeader:"#737383",fgIconHeader:"#FFFFFF",textHeader:"#313139",textGroupHeader:"#313139BB",textHeaderSelected:"#FFFFFF",bgCell:"#FFFFFF",bgCellMedium:"#FAFAFB",bgHeader:"#F7F7F8",bgHeaderHasFocus:"#E9E9EB",bgHeaderHovered:"#EFEFF1",bgBubble:"#EDEDF3",bgBubbleSelected:"#FFFFFF",bgSearchResult:"#fff9e3",borderColor:"rgba(115, 116, 131, 0.16)",drilldownBorder:"rgba(0, 0, 0, 0)",linkColor:"#353fb5",cellHorizontalPadding:8,cellVerticalPadding:3,headerIconSize:18,headerFontStyle:"600 13px",baseFontStyle:"13px",markerFontStyle:"9px",fontFamily:"Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif",editorFontSize:"13px",lineHeight:1.4};function ul(){return fi}const fl=Gn.createContext(fi);function nn(e,...t){const n={...e};for(const o of t)if(o!==void 0)for(const i in o)o.hasOwnProperty(i)&&(i==="bgCell"?n[i]=qe(o[i],n[i]):n[i]=o[i]);return(n.headerFontFull===void 0||e.fontFamily!==n.fontFamily||e.headerFontStyle!==n.headerFontStyle)&&(n.headerFontFull=`${n.headerFontStyle} ${n.fontFamily}`),(n.baseFontFull===void 0||e.fontFamily!==n.fontFamily||e.baseFontStyle!==n.baseFontStyle)&&(n.baseFontFull=`${n.baseFontStyle} ${n.fontFamily}`),(n.markerFontFull===void 0||e.fontFamily!==n.fontFamily||e.markerFontStyle!==n.markerFontStyle)&&(n.markerFontFull=`${n.markerFontStyle} ${n.fontFamily}`),n}function hl(e,t,n,o){if(o==="any")return Sr(e,{x:t,y:n,width:1,height:1});if(o==="vertical"&&(t=e.x),o==="horizontal"&&(n=e.y),ar([t,n],e))return;const i=t-e.x,r=e.x+e.width-t,l=n-e.y+1,s=e.y+e.height-n,a=Math.min(o==="vertical"?Number.MAX_SAFE_INTEGER:i,o==="vertical"?Number.MAX_SAFE_INTEGER:r,o==="horizontal"?Number.MAX_SAFE_INTEGER:l,o==="horizontal"?Number.MAX_SAFE_INTEGER:s);return a===s?{x:e.x,y:e.y+e.height,width:e.width,height:n-e.y-e.height+1}:a===l?{x:e.x,y:n,width:e.width,height:e.y-n}:a===r?{x:e.x+e.width,y:e.y,width:t-e.x-e.width+1,height:e.height}:{x:t,y:e.y,width:e.x-t,height:e.height}}function on(e,t,n,o,i,r,l,s){return e<=i+l&&i<=e+n&&t<=r+s&&r<=t+o}function en(e,t,n){return t>=e.x&&t<=e.x+e.width&&n>=e.y&&n<=e.y+e.height}function Sr(e,t){const n=Math.min(e.x,t.x),o=Math.min(e.y,t.y),i=Math.max(e.x+e.width,t.x+t.width)-n,r=Math.max(e.y+e.height,t.y+t.height)-o;return{x:n,y:o,width:i,height:r}}function Ir(e,t){return e.x<=t.x&&e.y<=t.y&&e.x+e.width>=t.x+t.width&&e.y+e.height>=t.y+t.height}function Mr(e,t,n,o){if(e.x>t||e.y>n||e.x<0&&e.y<0&&e.x+e.width>t&&e.y+e.height>n)return;if(e.x>=0&&e.y>=0&&e.x+e.width<=t&&e.y+e.height<=n)return e;const i=-4,r=-4,l=t+4,s=n+4,a=i-e.x,d=e.x+e.width-l,f=r-e.y,g=e.y+e.height-s,m=a>0?e.x+Math.floor(a/o)*o:e.x,u=d>0?e.x+e.width-Math.floor(d/o)*o:e.x+e.width,c=f>0?e.y+Math.floor(f/o)*o:e.y,h=g>0?e.y+e.height-Math.floor(g/o)*o:e.y+e.height;return{x:m,y:c,width:u-m,height:h-c}}function Er(e,t,n,o,i){const[r,l,s,a]=t,[d,f,g,m]=i,{x:u,y:c,width:h,height:y}=e,b=[];if(h<=0||y<=0)return b;const k=u+h,E=c+y,A=us,F=c+y>a,W=u>=r&&ur&&k<=s||us,C=c>=l&&cl&&E<=a||ca;if(W&&C){const B=Math.max(u,r),w=Math.max(c,l),x=Math.min(k,s),p=Math.min(E,a);b.push({rect:{x:B,y:w,width:x-B,height:p-w},clip:{x:d,y:f,width:g-d+1,height:m-f+1}})}if(A&&H){const B=u,w=c,x=Math.min(k,r),p=Math.min(E,l);b.push({rect:{x:B,y:w,width:x-B,height:p-w},clip:{x:0,y:0,width:d+1,height:f+1}})}if(H&&W){const B=Math.max(u,r),w=c,x=Math.min(k,s),p=Math.min(E,l);b.push({rect:{x:B,y:w,width:x-B,height:p-w},clip:{x:d,y:0,width:g-d+1,height:f+1}})}if(H&&S){const B=Math.max(u,s),w=c,x=k,p=Math.min(E,l);b.push({rect:{x:B,y:w,width:x-B,height:p-w},clip:{x:g,y:0,width:n-g+1,height:f+1}})}if(A&&C){const B=u,w=Math.max(c,l),x=Math.min(k,r),p=Math.min(E,a);b.push({rect:{x:B,y:w,width:x-B,height:p-w},clip:{x:0,y:f,width:d+1,height:m-f+1}})}if(S&&C){const B=Math.max(u,s),w=Math.max(c,l),x=k,p=Math.min(E,a);b.push({rect:{x:B,y:w,width:x-B,height:p-w},clip:{x:g,y:f,width:n-g+1,height:m-f+1}})}if(A&&F){const B=u,w=Math.max(c,a),x=Math.min(k,r),p=E;b.push({rect:{x:B,y:w,width:x-B,height:p-w},clip:{x:0,y:m,width:d+1,height:o-m+1}})}if(F&&W){const B=Math.max(u,r),w=Math.max(c,a),x=Math.min(k,s),p=E;b.push({rect:{x:B,y:w,width:x-B,height:p-w},clip:{x:d,y:m,width:g-d+1,height:o-m+1}})}if(S&&F){const B=Math.max(u,s),w=Math.max(c,a),x=k,p=E;b.push({rect:{x:B,y:w,width:x-B,height:p-w},clip:{x:g,y:m,width:n-g+1,height:o-m+1}})}return b}const Br={kind:ae.Loading,allowOverlay:!1};function Ho(e,t,n,o,i,r,l,s,a,d,f,g,m,u,c,h,y,b,k,E,A,H,S,F,W,C,P,B,w,x,p,U,j,Y,se){let xe=(E==null?void 0:E.size)??Number.MAX_SAFE_INTEGER;const he=performance.now();let ce=x.baseFontFull;e.font=ce;const Le={ctx:e},G=[0,0],Oe=y>0?$t(a,y,d):0;let He,X;const Be=ci(k);return kt(t,s,r,l,i,(oe,Re,je,lt,Ct)=>{const at=Math.max(0,lt-Re),Ve=Re+at,me=i+1,mt=oe.width-at,yt=o-i-1;if(k.length>0){let we=!1;for(let le=0;le{e.save(),e.beginPath(),e.rect(Ve,me,mt,yt),e.clip()},de=A.columns.hasIndex(oe.sourceIndex),$e=g(oe.group??"").overrideTheme,Ce=oe.themeOverride===void 0&&$e===void 0?x:nn(x,$e,oe.themeOverride),Te=Ce.baseFontFull;Te!==ce&&(ce=Te,e.font=Te),Xe();let J;return kn(Ct,je,o,a,d,y,b,Be,(we,le,ye,L,V)=>{var It,nt,ot;if(le<0||(G[0]=oe.sourceIndex,G[1]=le,E!==void 0&&!E.has(G)))return;if(k.length>0){let te=!1;for(let Ie=0;Ieie.span!==void 0&&te>=ie.span[0]&&te<=ie.span[1]);Ke&&!c&&h?We=0:Ke&&h&&(We=Math.max(We,1)),Ht&&We++,Ke||(ue&&We++,de&&!V&&We++);const Pt=ie.kind===ae.Protected?Se.bgCellMedium:Se.bgCell;let ve;if((L||Pt!==x.bgCell)&&(ve=qe(Pt,ve)),We>0||ee){ee&&(ve=qe(Se.bgHeader,ve));for(let te=0;tese&&!Pe){const te=Se.baseFontFull;te!==ce&&(e.font=te,ce=te),J=hi(e,ie,oe.sourceIndex,le,ct,be,ke,we,fe,ye,We>0,Se,ve??Se.bgCell,F,W,(Ne==null?void 0:Ne.hoverAmount)??0,P,w,he,B,J,p,U,j,Y)}return St&&e.restore(),ie.style==="faded"&&(e.globalAlpha=1),xe--,K&&(e.restore(),(ot=J==null?void 0:J.deprep)==null||ot.call(J,Le),J=void 0,Xe(),ce=Te,e.font=Te),xe<=0}),e.restore(),xe<=0}),He}const Vt=[0,0],Kt={x:0,y:0,width:0,height:0},Tn=[void 0,()=>{}];let Kn=!1;function Fr(){Kn=!0}function hi(e,t,n,o,i,r,l,s,a,d,f,g,m,u,c,h,y,b,k,E,A,H,S,F,W){var U,j;let C,P;y!==void 0&&y[0][0]===n&&y[0][1]===o&&(C=y[1][0],P=y[1][1]);let B;Vt[0]=n,Vt[1]=o,Kt.x=l,Kt.y=s,Kt.width=a,Kt.height=d,Tn[0]=S.getValue(Vt),Tn[1]=Y=>S.setValue(Vt,Y),Kn=!1;const w={ctx:e,theme:g,col:n,row:o,cell:t,rect:Kt,highlighted:f,cellFillColor:m,hoverAmount:h,frameTime:k,hoverX:C,drawState:Tn,hoverY:P,imageLoader:u,spriteManager:c,hyperWrapping:b,overrideCursor:C!==void 0?W:void 0,requestAnimationFrame:Fr},x=mr(w,t.lastUpdated,k,A,i,r),p=F(t);if(p!==void 0){(A==null?void 0:A.renderer)!==p&&((U=A==null?void 0:A.deprep)==null||U.call(A,w),A=void 0);const Y=(j=p.drawPrep)==null?void 0:j.call(p,w,A);E!==void 0&&!Ko(w.cell)?E(w,()=>p.draw(w,t)):p.draw(w,t),B=Y===void 0?void 0:{deprep:Y==null?void 0:Y.deprep,fillStyle:Y==null?void 0:Y.fillStyle,font:Y==null?void 0:Y.font,renderer:p}}return(x||Kn)&&(H==null||H(Vt)),B}function io(e,t,n,o,i,r,l,s,a=-20,d=-20,f=32,g="center",m="square"){const u=Math.floor(i+l/2),c=m==="circle"?1e4:t.roundingRadius??4;let h=Qo(f,l,t.cellVerticalPadding),y=h/2;const b=Jo(g,o,r,t.cellHorizontalPadding,h),k=Go(b,u,h),E=Zo(o+a,i+d,k);switch(n){case!0:{e.beginPath(),st(e,b-h/2,u-h/2,h,h,c),m==="circle"&&(y*=.8,h*=.8),e.fillStyle=s?t.accentColor:t.textMedium,e.fill(),e.beginPath(),e.moveTo(b-y+h/4.23,u-y+h/1.97),e.lineTo(b-y+h/2.42,u-y+h/1.44),e.lineTo(b-y+h/1.29,u-y+h/3.25),e.strokeStyle=t.bgCell,e.lineJoin="round",e.lineCap="round",e.lineWidth=1.9,e.stroke();break}case xn:case!1:{e.beginPath(),st(e,b-h/2+.5,u-h/2+.5,h-1,h-1,c),e.lineWidth=1,e.strokeStyle=E?t.textDark:t.textMedium,e.stroke();break}case Qn:{e.beginPath(),st(e,b-h/2,u-h/2,h,h,c),e.fillStyle=E?t.textMedium:t.textLight,e.fill(),m==="circle"&&(y*=.8,h*=.8),e.beginPath(),e.moveTo(b-h/3,u),e.lineTo(b+h/3,u),e.strokeStyle=t.bgCell,e.lineCap="round",e.lineWidth=1.9,e.stroke();break}default:Jn()}}function Dr(e,t,n,o,i,r,l,s,a,d,f,g,m,u,c,h,y,b,k){const E=l+s;if(E<=0)return;e.fillStyle=g.bgHeader,e.fillRect(0,0,i,E);const[A,H]=(o==null?void 0:o[0])??[],S=g.headerFontFull;e.font=S,kt(t,0,r,0,E,(F,W,C,P)=>{var Le;if(y!==void 0&&!y.has([F.sourceIndex,-1]))return;const B=Math.max(0,P-W);e.save(),e.beginPath(),e.rect(W+B,s,F.width-B,l),e.clip();const w=h(F.group??"").overrideTheme,x=F.themeOverride===void 0&&w===void 0?g:nn(g,w,F.themeOverride);x.bgHeader!==g.bgHeader&&(e.fillStyle=x.bgHeader,e.fill()),x!==g&&(e.font=x.baseFontFull);const p=f.columns.hasIndex(F.sourceIndex),U=a!==void 0||d,j=!U&&H===-1&&A===F.sourceIndex,Y=U?0:((Le=u.find(G=>G.item[0]===F.sourceIndex&&G.item[1]===-1))==null?void 0:Le.hoverAmount)??0,se=(f==null?void 0:f.current)!==void 0&&f.current.cell[0]===F.sourceIndex,xe=p?x.accentColor:se?x.bgHeaderHasFocus:x.bgHeader,he=n?s:0,ce=F.sourceIndex===0?0:1;p?(e.fillStyle=xe,e.fillRect(W+ce,he,F.width-ce,l)):(se||Y>0)&&(e.beginPath(),e.rect(W+ce,he,F.width-ce,l),se&&(e.fillStyle=x.bgHeaderHasFocus,e.fill()),Y>0&&(e.globalAlpha=Y,e.fillStyle=x.bgHeaderHovered,e.fill(),e.globalAlpha=1)),yi(e,W,he,F.width,l,F,p,x,j,se,Y,m,b,k),e.restore()}),n&&Ar(e,t,i,r,s,o,g,m,u,c,h,y)}function Ar(e,t,n,o,i,r,l,s,a,d,f,g){const[u,c]=(r==null?void 0:r[0])??[];let h=0;di(t,n,o,i,(y,b,k,E,A,H)=>{if(g!==void 0&&!g.hasItemInRectangle({x:y[0],y:-2,width:y[1]-y[0]+1,height:1}))return;e.save(),e.beginPath(),e.rect(k,E,A,H),e.clip();const S=f(b),F=(S==null?void 0:S.overrideTheme)===void 0?l:nn(l,S.overrideTheme),W=c===-2&&u!==void 0&&u>=y[0]&&u<=y[1],C=W?F.bgHeaderHovered:F.bgHeader;if(C!==l.bgHeader&&(e.fillStyle=C,e.fill()),e.fillStyle=F.textGroupHeader??F.textHeader,S!==void 0){let P=k;if(S.icon!==void 0&&(s.drawSprite(S.icon,"normal",e,P+8,(i-20)/2,20,F),P+=26),e.fillText(S.name,P+8,i/2+xt(e,l.headerFontFull)),S.actions!==void 0&&W){const B=gi({x:k,y:E,width:A,height:H},S.actions);e.beginPath();const w=B[0].x-10,x=k+A-w;e.rect(w,0,x,i);const p=e.createLinearGradient(w,0,w+x,0),U=sn(C,0);p.addColorStop(0,U),p.addColorStop(10/x,C),p.addColorStop(1,C),e.fillStyle=p,e.fill(),e.globalAlpha=.6;const[j,Y]=(r==null?void 0:r[1])??[-1,-1];for(let se=0;se35){const b=m?35:o-35,k=m?35*.7:o-35*.7,E=b/o,A=k/o,H=e.createLinearGradient(t,0,t+o,0),S=sn(c,0);H.addColorStop(m?1:0,c),H.addColorStop(E,c),H.addColorStop(A,S),H.addColorStop(m?0:1,S),e.fillStyle=H}else e.fillStyle=c;if(m&&(e.textAlign="right"),u.textBounds!==void 0&&e.fillText(r.title,m?u.textBounds.x+u.textBounds.width:u.textBounds.x,n+i/2+xt(e,s.headerFontFull)),m&&(e.textAlign="left"),r.indicatorIcon!==void 0&&u.indicatorIconBounds!==void 0&&(!h||!on(u.menuBounds.x,u.menuBounds.y,u.menuBounds.width,u.menuBounds.height,u.indicatorIconBounds.x,u.indicatorIconBounds.y,u.indicatorIconBounds.width,u.indicatorIconBounds.height))){let y=l?"selected":"normal";r.style==="highlight"&&(y=l?"selected":"special"),f.drawSprite(r.indicatorIcon,y,e,u.indicatorIconBounds.x,u.indicatorIconBounds.y,u.indicatorIconBounds.width,s)}if(h&&u.menuBounds!==void 0){const y=u.menuBounds;if(r.menuIcon===void 0||r.menuIcon===$n.Triangle){e.beginPath();const b=y.x+y.width/2-5.5,k=y.y+y.height/2-3;pr(e,[{x:b,y:k},{x:b+11,y:k},{x:b+5.5,y:k+6}],1),e.fillStyle=c,e.fill()}else if(r.menuIcon===$n.Dots){e.beginPath();const b=y.x+y.width/2,k=y.y+y.height/2;br(e,b,k),e.fillStyle=c,e.fill()}else{const b=y.x+(y.width-s.headerIconSize)/2,k=y.y+(y.height-s.headerIconSize)/2;f.drawSprite(r.menuIcon,"normal",e,b,k,s.headerIconSize,s)}}}function yi(e,t,n,o,i,r,l,s,a,d,f,g,m,u){const c=eo(r.title)==="rtl",h=mi(e,r,t,n,o,i,s,c);m!==void 0?m({ctx:e,theme:s,rect:{x:t,y:n,width:o,height:i},column:r,columnIndex:r.sourceIndex,isSelected:l,hoverAmount:f,isHovered:a,hasSelectedCell:d,spriteManager:g,menuBounds:(h==null?void 0:h.menuBounds)??{x:0,y:0,height:0,width:0}},()=>Po(e,t,n,o,i,r,l,s,a,f,g,u,c,h)):Po(e,t,n,o,i,r,l,s,a,f,g,u,c,h)}function Pr(e,t,n,o,i,r,l,s,a,d,f,g,m,u,c,h,y,b,k){if(b!==void 0||t[t.length-1]!==n[t.length-1])return;const E=ci(y);kt(t,a,l,s,r,(A,H,S,F,W)=>{if(A!==t[t.length-1])return;H+=A.width;const C=Math.max(H,F);C>o||(e.save(),e.beginPath(),e.rect(C,r+1,1e4,i-r-1),e.clip(),kn(W,S,i,d,f,c,h,E,(P,B,w,x)=>{if(!x&&y.length>0&&!y.some(se=>on(H,P,1e4,w,se.x,se.y,se.width,se.height)))return;const p=m.hasIndex(B),U=u.hasIndex(B);e.beginPath();const j=g==null?void 0:g(B),Y=j===void 0?k:nn(k,j);Y.bgCell!==k.bgCell&&(e.fillStyle=Y.bgCell,e.fillRect(H,P,1e4,w)),U&&(e.fillStyle=Y.bgHeader,e.fillRect(H,P,1e4,w)),p&&(e.fillStyle=Y.accentLight,e.fillRect(H,P,1e4,w))}),e.restore())})}function Rr(e,t,n,o,i,r,l,s,a){let d=!1;for(const c of t)if(!c.sticky){d=l(c.sourceIndex);break}const f=a.horizontalBorderColor??a.borderColor,g=a.borderColor,m=d?Xt(t):0;let u;if(m!==0&&(u=Ao(g,a.bgCell),e.beginPath(),e.moveTo(m+.5,0),e.lineTo(m+.5,o),e.strokeStyle=u,e.stroke()),i>0){const c=g===f&&u!==void 0?u:Ao(f,a.bgCell),h=$t(r,i,s);e.beginPath(),e.moveTo(0,o-h+.5),e.lineTo(n,o-h+.5),e.strokeStyle=c,e.stroke()}}const vi=(e,t,n)=>{let o=0,i=t,r=0,l=n;if(e!==void 0&&e.length>0){o=Number.MAX_SAFE_INTEGER,r=Number.MAX_SAFE_INTEGER,i=Number.MIN_SAFE_INTEGER,l=Number.MIN_SAFE_INTEGER;for(const s of e)o=Math.min(o,s.x-1),i=Math.max(i,s.x+s.width+1),r=Math.min(r,s.y-1),l=Math.max(l,s.y+s.height+1)}return{minX:o,maxX:i,minY:r,maxY:l}};function Tr(e,t,n,o,i,r,l,s,a,d,f,g,m,u,c){var w;const h=c.bgCell,{minX:y,maxX:b,minY:k,maxY:E}=vi(s,r,l),A=[],H=l-$t(u,m,d);let S=a,F=n,W=0;for(;S+i=k&&x<=E-1){const U=f==null?void 0:f(F),j=U==null?void 0:U.bgCell;j!==void 0&&j!==h&&F>=u-m&&A.push({x:y,y:x,w:b-y,h:p,color:j})}S+=p,F0)for(let x=0;x=y&&U<=b&&g(x+1)&&A.push({x:U,y:W,w:p.width,h:P,color:j}),C+=p.width}if(A.length===0)return;let B;e.beginPath();for(let x=A.length-1;x>=0;x--){const p=A[x];B===void 0?B=p.color:p.color!==B&&(e.fillStyle=B,e.fill(),e.beginPath(),B=p.color),e.rect(p.x,p.y,p.w,p.h)}B!==void 0&&(e.fillStyle=B,e.fill()),e.beginPath()}function Ro(e,t,n,o,i,r,l,s,a,d,f,g,m,u,c,h,y,b=!1){if(a!==void 0){e.beginPath(),e.save(),e.rect(0,0,r,l);for(const w of a)e.rect(w.x+1,w.y+1,w.width-1,w.height-1);e.clip("evenodd")}const k=y.horizontalBorderColor??y.borderColor,E=y.borderColor,{minX:A,maxX:H,minY:S,maxY:F}=vi(s,r,l),W=[];e.beginPath();let C=.5;for(let w=0;w=A&&p<=H&&u(w+1)&&W.push({x1:p,y1:Math.max(d,S),x2:p,y2:Math.min(l,F),color:E})}let P=l+.5;for(let w=h-c;w=S&&U<=F-1){const j=m==null?void 0:m(x);W.push({x1:A,y1:U,x2:H,y2:U,color:(j==null?void 0:j.horizontalBorderColor)??(j==null?void 0:j.borderColor)??k})}w+=g(x),x++}}const B=Ui(W,w=>w.color);for(const w of Object.keys(B)){e.strokeStyle=w;for(const x of B[w])e.moveTo(x.x1,x.y1),e.lineTo(x.x2,x.y2);e.stroke(),e.beginPath()}a!==void 0&&e.restore()}function Wr(e,t,n,o,i,r,l,s,a,d,f,g,m,u,c,h,y,b,k){const E=[];e.imageSmoothingEnabled=!1;const A=Math.min(i.cellYOffset,l),H=Math.max(i.cellYOffset,l);let S=0;if(typeof b=="number")S+=(H-A)*b;else for(let p=A;pi.cellYOffset&&(S=-S),S+=a-i.translateY;const F=Math.min(i.cellXOffset,r),W=Math.max(i.cellXOffset,r);let C=0;for(let p=F;pi.cellXOffset&&(C=-C),C+=s-i.translateX;const P=Xt(y);if(C!==0&&S!==0)return{regions:[]};const B=d>0?$t(m,d,b):0,w=f-P-Math.abs(C),x=g-u-B-Math.abs(S)-1;if(w>150&&x>150){const p={sx:0,sy:0,sw:f*c,sh:g*c,dx:0,dy:0,dw:f*c,dh:g*c};if(S>0?(p.sy=(u+1)*c,p.sh=x*c,p.dy=(S+u+1)*c,p.dh=x*c,E.push({x:0,y:u,width:f,height:S+1})):S<0&&(p.sy=(-S+u+1)*c,p.sh=x*c,p.dy=(u+1)*c,p.dh=x*c,E.push({x:0,y:g+S-B,width:f,height:-S+B})),C>0?(p.sx=P*c,p.sw=w*c,p.dx=(C+P)*c,p.dw=w*c,E.push({x:P-1,y:0,width:C+2,height:g})):C<0&&(p.sx=(P-C)*c,p.sw=w*c,p.dx=P*c,p.dw=w*c,E.push({x:f+C,y:0,width:-C,height:g})),e.setTransform(1,0,0,1,0,0),k){if(P>0&&C!==0&&S===0&&(o===void 0||(n==null?void 0:n[1])!==!1)){const U=P*c,j=g*c;e.drawImage(t,0,0,U,j,0,0,U,j)}if(B>0&&C===0&&S!==0&&(o===void 0||(n==null?void 0:n[0])!==!1)){const U=(g-B)*c,j=f*c,Y=B*c;e.drawImage(t,0,U,j,Y,0,U,j,Y)}}e.drawImage(t,p.sx,p.sy,p.sw,p.sh,p.dx,p.dy,p.dw,p.dh),e.scale(c,c)}return e.imageSmoothingEnabled=!0,{regions:E}}function zr(e,t,n,o,i,r,l,s,a,d){const f=[];return t!==e.cellXOffset||n!==e.cellYOffset||o!==e.translateX||i!==e.translateY||kt(a,n,o,i,s,(g,m,u,c)=>{if(g.sourceIndex===d){const h=Math.max(m,c)+1;return f.push({x:h,y:0,width:r-h,height:l}),!0}}),f}function Lr(e,t){if(t===void 0||e.width!==t.width||e.height!==t.height||e.theme!==t.theme||e.headerHeight!==t.headerHeight||e.rowHeight!==t.rowHeight||e.rows!==t.rows||e.freezeColumns!==t.freezeColumns||e.getRowThemeOverride!==t.getRowThemeOverride||e.isFocused!==t.isFocused||e.isResizing!==t.isResizing||e.verticalBorder!==t.verticalBorder||e.getCellContent!==t.getCellContent||e.highlightRegions!==t.highlightRegions||e.selection!==t.selection||e.dragAndDropState!==t.dragAndDropState||e.prelightCells!==t.prelightCells||e.touchMode!==t.touchMode||e.maxScaleFactor!==t.maxScaleFactor)return!1;if(e.mappedColumns!==t.mappedColumns){if(e.mappedColumns.length>100||e.mappedColumns.length!==t.mappedColumns.length)return!1;let n;for(let o=0;oF.style!=="no-outline");if(y===void 0||y.length===0)return;const b=Xt(s),k=$t(u,m,g),E=[a,0,s.length,u-m],A=[b,0,t,n-k],H=y.map(F=>{const W=F.range,C=F.style??"dashed";return Er(W,E,t,n,A).map(P=>{const B=P.rect,w=jn(B.x,B.y,t,n,f,d+f,o,i,r,l,u,a,m,s,g),x=B.width===1&&B.height===1?w:jn(B.x+B.width-1,B.y+B.height-1,t,n,f,d+f,o,i,r,l,u,a,m,s,g);return B.x+B.width>=s.length&&(x.width-=1),B.y+B.height>=u&&(x.height-=1),{color:F.color,style:C,clip:P.clip,rect:Mr({x:w.x,y:w.y,width:x.x+x.width-w.x,height:x.y+x.height-w.y},t,n,8)}})}),S=()=>{e.lineWidth=1;let F=!1;for(const W of H)for(const C of W)if((C==null?void 0:C.rect)!==void 0&&on(0,0,t,n,C.rect.x,C.rect.y,C.rect.width,C.rect.height)){const P=F,B=!Ir(C.clip,C.rect);B&&(e.save(),e.rect(C.clip.x,C.clip.y,C.clip.width,C.clip.height),e.clip()),C.style==="dashed"&&!F?(e.setLineDash([5,3]),F=!0):(C.style==="solid"||C.style==="solid-outline")&&F&&(e.setLineDash([]),F=!1),e.strokeStyle=C.style==="solid-outline"?qe(qe(C.color,h.borderColor),h.bgCell):sn(C.color,1),e.strokeRect(C.rect.x+.5,C.rect.y+.5,C.rect.width-1,C.rect.height-1),B&&(e.restore(),F=P)}F&&e.setLineDash([])};return S(),S}function Wo(e,t,n,o,i){e.beginPath(),e.moveTo(t,n),e.lineTo(t,o),e.lineWidth=2,e.strokeStyle=i,e.stroke(),e.globalAlpha=1}function Wn(e,t,n,o,i,r,l,s,a,d,f,g,m,u,c,h,y){if(f.current===void 0)return;const b=f.current.range,k=f.current.cell,E=[b.x+b.width-1,b.y+b.height-1];if(k[1]>=y&&E[1]>=y||!l.some(p=>p.sourceIndex===k[0]||p.sourceIndex===E[0]))return;const[H,S]=f.current.cell,F=m(f.current.cell),W=F.span??[H,H],C=S>=y-u,P=u>0&&!C?$t(y,u,g)-1:0,B=E[1];let w;if(kt(l,o,i,r,d,(p,U,j,Y,se)=>{if(p.sticky&&H>p.sourceIndex)return;const xe=p.sourceIndexW[1],ce=p.sourceIndex===E[0];if(!(!ce&&(xe||he)))return kn(se,j,n,y,g,u,c,void 0,(Le,G,Oe)=>{if(G!==S&&G!==B)return;let He=U,X=p.width;if(F.span!==void 0){const oe=ui(F.span,U,Le,p.width,Oe,p,s),Re=p.sticky?oe[0]:oe[1];Re!==void 0&&(He=Re.x,X=Re.width)}return G===B&&ce&&h&&(w=()=>{var oe;Y>He&&!p.sticky&&(e.beginPath(),e.rect(Y,0,t-Y,n),e.clip()),e.beginPath(),e.rect(He+X-4,Le+Oe-4,4,4),e.fillStyle=((oe=p.themeOverride)==null?void 0:oe.accentColor)??a.accentColor,e.fill()}),w!==void 0}),w!==void 0}),w===void 0)return;const x=()=>{e.save(),e.beginPath(),e.rect(0,d,t,n-d-P),e.clip(),w==null||w(),e.restore()};return x(),x}function Nr(e,t,n,o,i,r,l,s,a){a===void 0||a.size===0||(e.beginPath(),di(t,n,r,o,(d,f,g,m,u,c)=>{a.hasItemInRectangle({x:d[0],y:-2,width:d[1]-d[0]+1,height:1})&&e.rect(g,m,u,c)}),kt(t,s,r,l,i,(d,f,g,m)=>{const u=Math.max(0,m-f),c=f+u+1,h=d.width-u-1;a.has([d.sourceIndex,-1])&&e.rect(c,o,h,i-o)}),e.clip())}function Or(e,t,n,o,i,r,l,s,a,d){let f=0;return kt(e,r,o,i,n,(g,m,u,c,h)=>(kn(h,u,t,l,s,a,d,void 0,(y,b,k,E)=>{E||(f=Math.max(b,f))}),!0)),f}function zo(e,t){var ct;const{canvasCtx:n,headerCanvasCtx:o,width:i,height:r,cellXOffset:l,cellYOffset:s,translateX:a,translateY:d,mappedColumns:f,enableGroups:g,freezeColumns:m,dragAndDropState:u,theme:c,drawFocus:h,headerHeight:y,groupHeaderHeight:b,disabledRows:k,rowHeight:E,verticalBorder:A,overrideCursor:H,isResizing:S,selection:F,fillHandle:W,freezeTrailingRows:C,rows:P,getCellContent:B,getGroupDetails:w,getRowThemeOverride:x,isFocused:p,drawHeaderCallback:U,prelightCells:j,drawCellCallback:Y,highlightRegions:se,resizeCol:xe,imageLoader:he,lastBlitData:ce,hoverValues:Le,hyperWrapping:G,hoverInfo:Oe,spriteManager:He,maxScaleFactor:X,hasAppendRow:Be,touchMode:oe,enqueue:Re,renderStateProvider:je,getCellRenderer:lt,renderStrategy:Ct,bufferACtx:at,bufferBCtx:Ve,damage:me,minimumCellWidth:mt,resizeIndicator:yt}=e;if(i===0||r===0)return;const Xe=Ct==="double-buffer",de=Math.min(X,Math.ceil(window.devicePixelRatio??1)),$e=Ct!=="direct"&&Lr(e,t),Ce=n.canvas;(Ce.width!==i*de||Ce.height!==r*de)&&(Ce.width=i*de,Ce.height=r*de,Ce.style.width=i+"px",Ce.style.height=r+"px");const Te=o.canvas,J=g?b+y:y,we=J+1;(Te.width!==i*de||Te.height!==we*de)&&(Te.width=i*de,Te.height=we*de,Te.style.width=i+"px",Te.style.height=we+"px");const le=at.canvas,ye=Ve.canvas;Xe&&(le.width!==i*de||le.height!==r*de)&&(le.width=i*de,le.height=r*de,ce.current!==void 0&&(ce.current.aBufferScroll=void 0)),Xe&&(ye.width!==i*de||ye.height!==r*de)&&(ye.width=i*de,ye.height=r*de,ce.current!==void 0&&(ce.current.bBufferScroll=void 0));const L=ce.current;if($e===!0&&l===(L==null?void 0:L.cellXOffset)&&s===(L==null?void 0:L.cellYOffset)&&a===(L==null?void 0:L.translateX)&&d===(L==null?void 0:L.translateY))return;let V=null;Xe&&(V=n);const ue=o;let ee;Xe?me!==void 0?ee=(L==null?void 0:L.lastBuffer)==="b"?Ve:at:ee=(L==null?void 0:L.lastBuffer)==="b"?at:Ve:ee=n;const ie=ee.canvas,ke=Xe?ie===le?ye:le:Ce,fe=typeof E=="number"?()=>E:E;ue.save(),ee.save(),ue.beginPath(),ee.beginPath(),ue.textBaseline="middle",ee.textBaseline="middle",de!==1&&(ue.scale(de,de),ee.scale(de,de));const K=qn(f,l,i,u,a);let Pe=[];const Ye=h&&((ct=F.current)==null?void 0:ct.cell[1])===s&&d===0;let _e=!1;if(se!==void 0){for(const be of se)if(be.style!=="no-outline"&&be.range.y===s&&d===0){_e=!0;break}}const Se=()=>{Dr(ue,K,g,Oe,i,a,y,b,u,S,F,c,He,Le,A,w,me,U,oe),Ro(ue,K,s,a,d,i,r,void 0,void 0,b,J,fe,x,A,C,P,c,!0),ue.beginPath(),ue.moveTo(0,we-.5),ue.lineTo(i,we-.5),ue.strokeStyle=qe(c.headerBottomBorderColor??c.horizontalBorderColor??c.borderColor,c.bgHeader),ue.stroke(),_e&&To(ue,i,r,l,s,a,d,f,m,y,b,E,C,P,se,c),Ye&&Wn(ue,i,r,s,a,d,K,f,c,J,F,fe,B,C,Be,W,P)};if(me!==void 0){const be=K[K.length-1].sourceIndex+1,Ne=me.hasItemInRegion([{x:l,y:-2,width:be,height:2},{x:l,y:s,width:be,height:300},{x:0,y:s,width:m,height:300},{x:0,y:-2,width:m,height:2},{x:l,y:P-C,width:be,height:C,when:C>0}]),It=nt=>{Ho(nt,K,f,r,J,a,d,s,P,fe,B,w,x,k,p,h,C,Be,Pe,me,F,j,se,he,He,Le,Oe,Y,G,c,Re,je,lt,H,mt);const ot=F.current;W&&h&&ot!==void 0&&me.has(ti(ot.range))&&Wn(nt,i,r,s,a,d,K,f,c,J,F,fe,B,C,Be,W,P)};Ne&&(It(ee),V!==null&&(V.save(),V.scale(de,de),V.textBaseline="middle",It(V),V.restore()),me.hasHeader()&&(Nr(ue,K,i,b,J,a,d,s,me),Se())),ee.restore(),ue.restore();return}if(($e!==!0||l!==(L==null?void 0:L.cellXOffset)||a!==(L==null?void 0:L.translateX)||Ye!==(L==null?void 0:L.mustDrawFocusOnHeader)||_e!==(L==null?void 0:L.mustDrawHighlightRingsOnHeader))&&Se(),$e===!0){ft(ke!==void 0&&L!==void 0);const{regions:be}=Wr(ee,ke,ke===le?L.aBufferScroll:L.bBufferScroll,ke===le?L.bBufferScroll:L.aBufferScroll,L,l,s,a,d,C,i,r,P,J,de,f,K,E,Xe);Pe=be}else $e!==!1&&(ft(L!==void 0),Pe=zr(L,l,s,a,d,i,r,J,K,$e));Rr(ee,K,i,r,C,P,A,fe,c);const Ke=To(ee,i,r,l,s,a,d,f,m,y,b,E,C,P,se,c),We=h?Wn(ee,i,r,s,a,d,K,f,c,J,F,fe,B,C,Be,W,P):void 0;if(ee.fillStyle=c.bgCell,Pe.length>0){ee.beginPath();for(const be of Pe)ee.rect(be.x,be.y,be.width,be.height);ee.clip(),ee.fill(),ee.beginPath()}else ee.fillRect(0,0,i,r);const Ht=Ho(ee,K,f,r,J,a,d,s,P,fe,B,w,x,k,p,h,C,Be,Pe,me,F,j,se,he,He,Le,Oe,Y,G,c,Re,je,lt,H,mt);Pr(ee,K,f,i,r,J,a,d,s,P,fe,x,F.rows,k,C,Be,Pe,me,c),Tr(ee,K,s,a,d,i,r,Pe,J,fe,x,A,C,P,c),Ro(ee,K,s,a,d,i,r,Pe,Ht,b,J,fe,x,A,C,P,c),Ke==null||Ke(),We==null||We(),S&&yt!=="none"&&kt(K,0,a,0,J,(be,Ne)=>be.sourceIndex===xe?(Wo(ue,Ne+be.width,0,J+1,qe(c.resizeIndicatorColor??c.accentLight,c.bgHeader)),yt==="full"&&Wo(ee,Ne+be.width,J,r,qe(c.resizeIndicatorColor??c.accentLight,c.bgCell)),!0):!1),V!==null&&(V.fillStyle=c.bgCell,V.fillRect(0,0,i,r),V.drawImage(ee.canvas,0,0));const Pt=Or(K,r,J,a,d,s,P,fe,C,Be);he==null||he.setWindow({x:l,y:s,width:K.length,height:Pt-s},m,Array.from({length:C},(be,Ne)=>P-1-Ne));const ve=L!==void 0&&(l!==L.cellXOffset||a!==L.translateX),St=L!==void 0&&(s!==L.cellYOffset||d!==L.translateY);ce.current={cellXOffset:l,cellYOffset:s,translateX:a,translateY:d,mustDrawFocusOnHeader:Ye,mustDrawHighlightRingsOnHeader:_e,lastBuffer:Xe?ie===le?"a":"b":void 0,aBufferScroll:ie===le?[ve,St]:L==null?void 0:L.aBufferScroll,bBufferScroll:ie===ye?[ve,St]:L==null?void 0:L.bBufferScroll},ee.restore(),ue.restore()}const Xr=80;function $r(e){const t=e-1;return t*t*t+1}class Yr{constructor(t){ne(this,"currentHoveredItem");ne(this,"leavingItems",[]);ne(this,"lastAnimationTime");ne(this,"addToLeavingItems",t=>{this.leavingItems.some(o=>bn(o.item,t.item))||this.leavingItems.push(t)});ne(this,"removeFromLeavingItems",t=>{const n=this.leavingItems.find(o=>bn(o.item,t));return this.leavingItems=this.leavingItems.filter(o=>o!==n),(n==null?void 0:n.hoverAmount)??0});ne(this,"cleanUpLeavingElements",()=>{this.leavingItems=this.leavingItems.filter(t=>t.hoverAmount>0)});ne(this,"shouldStep",()=>{const t=this.leavingItems.length>0,n=this.currentHoveredItem!==void 0&&this.currentHoveredItem.hoverAmount<1;return t||n});ne(this,"getAnimatingItems",()=>this.currentHoveredItem!==void 0?[...this.leavingItems,this.currentHoveredItem]:this.leavingItems.map(t=>({...t,hoverAmount:$r(t.hoverAmount)})));ne(this,"step",t=>{if(this.lastAnimationTime===void 0)this.lastAnimationTime=t;else{const o=(t-this.lastAnimationTime)/Xr;for(const r of this.leavingItems)r.hoverAmount=wn(r.hoverAmount-o,0,1);this.currentHoveredItem!==void 0&&(this.currentHoveredItem.hoverAmount=wn(this.currentHoveredItem.hoverAmount+o,0,1));const i=this.getAnimatingItems();this.callback(i),this.cleanUpLeavingElements()}this.shouldStep()?(this.lastAnimationTime=t,window.requestAnimationFrame(this.step)):this.lastAnimationTime=void 0});ne(this,"setHovered",t=>{var n;if(!bn((n=this.currentHoveredItem)==null?void 0:n.item,t)){if(this.currentHoveredItem!==void 0&&this.addToLeavingItems(this.currentHoveredItem),t!==void 0){const o=this.removeFromLeavingItems(t);this.currentHoveredItem={item:t,hoverAmount:o}}else this.currentHoveredItem=void 0;this.lastAnimationTime===void 0&&window.requestAnimationFrame(this.step)}});this.callback=t}}class _r{constructor(t){ne(this,"fn");ne(this,"val");this.fn=t}get value(){return this.val??(this.val=this.fn())}}function ro(e){return new _r(e)}const Ur=ro(()=>window.navigator.userAgent.includes("Firefox")),Lo=ro(()=>window.navigator.userAgent.includes("Mac OS")&&window.navigator.userAgent.includes("Safari")&&!window.navigator.userAgent.includes("Chrome")),gl=ro(()=>window.navigator.platform.toLowerCase().startsWith("mac"));function qr(e){const t=I.useRef([]),n=I.useRef(0),o=I.useRef(e);o.current=e;const i=I.useCallback(()=>{const r=()=>window.requestAnimationFrame(l),l=()=>{const s=t.current.map(oo);t.current=[],o.current(new Zt(s)),t.current.length>0?n.current++:n.current=0};window.requestAnimationFrame(n.current>600?r:l)},[]);return I.useCallback(r=>{t.current.length===0&&i();const l=tt(r[0],r[1]);t.current.includes(l)||t.current.push(l)},[i])}const Dt="header",At="group-header",No="out-of-bounds";var Jt=(e=>(e[e.Start=-2]="Start",e[e.StartPadding=-1]="StartPadding",e[e.Center=0]="Center",e[e.EndPadding=1]="EndPadding",e[e.End=2]="End",e))(Jt||{});function jr(e,t){return e===t?!0:(e==null?void 0:e.kind)==="out-of-bounds"?(e==null?void 0:e.kind)===(t==null?void 0:t.kind)&&(e==null?void 0:e.location[0])===(t==null?void 0:t.location[0])&&(e==null?void 0:e.location[1])===(t==null?void 0:t.location[1])&&(e==null?void 0:e.region[0])===(t==null?void 0:t.region[0])&&(e==null?void 0:e.region[1])===(t==null?void 0:t.region[1]):(e==null?void 0:e.kind)===(t==null?void 0:t.kind)&&(e==null?void 0:e.location[0])===(t==null?void 0:t.location[0])&&(e==null?void 0:e.location[1])===(t==null?void 0:t.location[1])}const Oo=6,Vr=(e,t)=>{if(e.kind===ae.Custom)return e.copyData;const n=t==null?void 0:t(e);return(n==null?void 0:n.getAccessibilityString(e))??""},Kr=(e,t)=>{const{width:n,height:o,accessibilityHeight:i,columns:r,cellXOffset:l,cellYOffset:s,headerHeight:a,fillHandle:d=!1,groupHeaderHeight:f,rowHeight:g,rows:m,getCellContent:u,getRowThemeOverride:c,onHeaderMenuClick:h,onHeaderIndicatorClick:y,enableGroups:b,isFilling:k,onCanvasFocused:E,onCanvasBlur:A,isFocused:H,selection:S,freezeColumns:F,onContextMenu:W,freezeTrailingRows:C,fixedShadowX:P=!0,fixedShadowY:B=!0,drawFocusRing:w,onMouseDown:x,onMouseUp:p,onMouseMoveRaw:U,onMouseMove:j,onItemHovered:Y,dragAndDropState:se,firstColAccessible:xe,onKeyDown:he,onKeyUp:ce,highlightRegions:Le,canvasRef:G,onDragStart:Oe,onDragEnd:He,eventTargetRef:X,isResizing:Be,resizeColumn:oe,isDragging:Re,isDraggable:je=!1,allowResize:lt,disabledRows:Ct,hasAppendRow:at,getGroupDetails:Ve,theme:me,prelightCells:mt,headerIcons:yt,verticalBorder:Xe,drawCell:de,drawHeader:$e,onCellFocused:Ce,onDragOverCell:Te,onDrop:J,onDragLeave:we,imageWindowLoader:le,smoothScrollX:ye=!1,smoothScrollY:L=!1,experimental:V,getCellRenderer:ue,resizeIndicator:ee="full"}=e,ie=e.translateX??0,ke=e.translateY??0,fe=Math.max(F,Math.min(r.length-1,l)),K=I.useRef(null),Pe=I.useRef(window),Ye=Pe.current,_e=le,Se=I.useRef(),[Ke,We]=I.useState(!1),Ht=I.useRef([]),Pt=I.useRef(),[ve,St]=I.useState(),[ct,be]=I.useState(),Ne=I.useRef(null),[It,nt]=I.useState(),[ot,te]=I.useState(!1),Ie=I.useRef(ot);Ie.current=ot;const pe=I.useMemo(()=>new kr(yt,()=>{an.current=void 0,_t.current()}),[yt]),it=b?f+a:a,Ue=I.useRef(-1),vt=((V==null?void 0:V.enableFirefoxRescaling)??!1)&&Ur.value,Sn=((V==null?void 0:V.enableSafariRescaling)??!1)&&Lo.value;I.useLayoutEffect(()=>{window.devicePixelRatio===1||!vt&&!Sn||(Ue.current!==-1&&We(!0),window.clearTimeout(Ue.current),Ue.current=window.setTimeout(()=>{We(!1),Ue.current=-1},200))},[s,fe,ie,ke,vt,Sn]);const Me=sr(r,F),In=P?Xt(Me,se):0,Fe=I.useCallback((v,M,z)=>{const T=v.getBoundingClientRect();if(M>=Me.length||z>=m)return;const D=T.width/n,R=jn(M,z,n,o,f,it,fe,s,ie,ke,m,F,C,Me,g);return D!==1&&(R.x*=D,R.y*=D,R.width*=D,R.height*=D),R.x+=T.x,R.y+=T.y,R},[n,o,f,it,fe,s,ie,ke,m,F,C,Me,g]),ze=I.useCallback((v,M,z,T)=>{const D=v.getBoundingClientRect(),R=D.width/n,_=(M-D.left)/R,q=(z-D.top)/R,N=5,De=qn(Me,fe,n,void 0,ie);let O=0,re=0;T instanceof MouseEvent&&(O=T.button,re=T.buttons);const Q=dr(_,De,ie),Z=ur(q,o,b,a,f,m,g,s,ke,C),Ae=(T==null?void 0:T.shiftKey)===!0,Qe=(T==null?void 0:T.ctrlKey)===!0,Ee=(T==null?void 0:T.metaKey)===!0,dt=T!==void 0&&!(T instanceof MouseEvent)||(T==null?void 0:T.pointerType)==="touch",bt=[_<0?-1:n<_?1:0,qn||q>o){const ge=_>n?1:_<0?-1:0,et=q>o?1:q<0?-1:0;let rt=ge*2,qt=et*2;ge===0&&(rt=Q===-1?Jt.EndPadding:Jt.Center),et===0&&(qt=Z===void 0?Jt.EndPadding:Jt.Center);let pt=!1;if(Q===-1&&Z===-1){const jt=Fe(v,Me.length-1,-1);ft(jt!==void 0),pt=Mn&&_o&&q=0?(et=!0,ge=Fe(v,rt,Z),ft(ge!==void 0),Ze={kind:b&&Z===-2?At:Dt,location:[rt,Z],bounds:ge,group:Me[rt].group??"",isEdge:et,shiftKey:Ae,ctrlKey:Qe,metaKey:Ee,isTouch:dt,localEventX:M-ge.x,localEventY:z-ge.y,button:O,buttons:re,scrollEdge:bt}):Ze={kind:b&&Z===-2?At:Dt,group:Me[Q].group??"",location:[Q,Z],bounds:ge,isEdge:et,shiftKey:Ae,ctrlKey:Qe,metaKey:Ee,isTouch:dt,localEventX:M-ge.x,localEventY:z-ge.y,button:O,buttons:re,scrollEdge:bt}}else{const ge=Fe(v,Q,Z);ft(ge!==void 0);const et=ge!==void 0&&ge.x+ge.width-M{}),Rt=I.useRef(ve);Rt.current=ve;const[Et,Bt]=I.useMemo(()=>{const v=document.createElement("canvas"),M=document.createElement("canvas");return v.style.display="none",v.style.opacity="0",v.style.position="fixed",M.style.display="none",M.style.opacity="0",M.style.position="fixed",[v.getContext("2d",{alpha:!1}),M.getContext("2d",{alpha:!1})]},[]);I.useLayoutEffect(()=>{if(!(Et===null||Bt===null))return document.documentElement.append(Et.canvas),document.documentElement.append(Bt.canvas),()=>{Et.canvas.remove(),Bt.canvas.remove()}},[Et,Bt]);const ln=I.useMemo(()=>new wr,[]),lo=vt&&Ke?1:Sn&&Ke?2:5,ao=(V==null?void 0:V.disableMinimumCellWidth)===!0?1:10,an=I.useRef(),cn=I.useRef(null),dn=I.useRef(null),un=I.useCallback(()=>{var _;const v=K.current,M=Ne.current;if(v===null||M===null||(cn.current===null&&(cn.current=v.getContext("2d",{alpha:!1}),v.width=0,v.height=0),dn.current===null&&(dn.current=M.getContext("2d",{alpha:!1}),M.width=0,M.height=0),cn.current===null||dn.current===null||Et===null||Bt===null))return;let z=!1;const T=q=>{z=!0,nt(q)},D=an.current,R={headerCanvasCtx:dn.current,canvasCtx:cn.current,bufferACtx:Et,bufferBCtx:Bt,width:n,height:o,cellXOffset:fe,cellYOffset:s,translateX:Math.round(ie),translateY:Math.round(ke),mappedColumns:Me,enableGroups:b,freezeColumns:F,dragAndDropState:se,theme:me,headerHeight:a,groupHeaderHeight:f,disabledRows:Ct??_n.empty(),rowHeight:g,verticalBorder:Xe,isResizing:Be,resizeCol:oe,isFocused:H,selection:S,fillHandle:d,drawCellCallback:de,hasAppendRow:at,overrideCursor:T,maxScaleFactor:lo,freezeTrailingRows:C,rows:m,drawFocus:w,getCellContent:u,getGroupDetails:Ve??(q=>({name:q})),getRowThemeOverride:c,drawHeaderCallback:$e,prelightCells:mt,highlightRegions:Le,imageLoader:_e,lastBlitData:Pt,damage:Se.current,hoverValues:Ht.current,hoverInfo:Rt.current,spriteManager:pe,scrolling:Ke,hyperWrapping:(V==null?void 0:V.hyperWrapping)??!1,touchMode:ot,enqueue:so.current,renderStateProvider:ln,renderStrategy:(V==null?void 0:V.renderStrategy)??(Lo.value?"double-buffer":"single-buffer"),getCellRenderer:ue,minimumCellWidth:ao,resizeIndicator:ee};R.damage===void 0?(an.current=R,zo(R,D)):zo(R,void 0),!z&&(R.damage===void 0||R.damage.has((_=Rt==null?void 0:Rt.current)==null?void 0:_[0]))&&nt(void 0)},[Et,Bt,n,o,fe,s,ie,ke,Me,b,F,se,me,a,f,Ct,g,Xe,Be,at,oe,H,S,d,C,m,w,lo,u,Ve,c,de,$e,mt,Le,_e,pe,Ke,V==null?void 0:V.hyperWrapping,V==null?void 0:V.renderStrategy,ot,ln,ue,ao,ee]),_t=I.useRef(un);I.useLayoutEffect(()=>{un(),_t.current=un},[un]),I.useLayoutEffect(()=>{(async()=>{var M;((M=document==null?void 0:document.fonts)==null?void 0:M.ready)!==void 0&&(await document.fonts.ready,an.current=void 0,_t.current())})()},[]);const Tt=I.useCallback(v=>{Se.current=v,_t.current(),Se.current=void 0},[]),bi=qr(Tt);so.current=bi;const co=I.useCallback(v=>{Tt(new Zt(v.map(M=>M.cell)))},[Tt]);_e.setCallback(Tt);const[pi,wi]=I.useState(!1),[fn,Wt]=Mt??[],xi=fn!==void 0&&Wt===-1,ki=fn!==void 0&&Wt===-2;let uo=!1,fo=!1,hn=It;if(hn===void 0&&fn!==void 0&&Wt!==void 0&&Wt>-1&&Wt({contain:"strict",display:"block",cursor:ho}),[ho]),go=I.useRef("default"),En=X==null?void 0:X.current;En!=null&&go.current!==Mn.cursor&&(En.style.cursor=go.current=Mn.cursor);const zt=I.useCallback((v,M,z,T)=>{if(Ve===void 0)return;const D=Ve(v);if(D.actions!==void 0){const R=gi(M,D.actions);for(const[_,q]of R.entries())if(en(q,z+M.x,T+q.y))return D.actions[_]}},[Ve]),Lt=I.useCallback((v,M,z,T)=>{const D=Me[M];if(!Re&&!Be&&!(ct??!1)){const R=Fe(v,M,-1);ft(R!==void 0);const _=mi(void 0,D,R.x,R.y,R.width,R.height,me,eo(D.title)==="rtl");if(D.hasMenu===!0&&_.menuBounds!==void 0&&en(_.menuBounds,z,T))return{area:"menu",bounds:_.menuBounds};if(D.indicatorIcon!==void 0&&_.indicatorIconBounds!==void 0&&en(_.indicatorIconBounds,z,T))return{area:"indicator",bounds:_.indicatorIconBounds}}},[Me,Fe,ct,Re,Be,me]),Bn=I.useRef(0),Ut=I.useRef(),Fn=I.useRef(!1),mo=I.useCallback(v=>{const M=K.current,z=X==null?void 0:X.current;if(M===null||v.target!==M&&v.target!==z)return;Fn.current=!0;let T,D;if(v instanceof MouseEvent?(T=v.clientX,D=v.clientY):(T=v.touches[0].clientX,D=v.touches[0].clientY),v.target===z&&z!==null){const _=z.getBoundingClientRect();if(T>_.right||D>_.bottom)return}const R=ze(M,T,D,v);Ut.current=R.location,R.isTouch&&(Bn.current=Date.now()),Ie.current!==R.isTouch&&te(R.isTouch),!(R.kind===Dt&&Lt(M,R.location[0],T,D)!==void 0)&&(R.kind===At&&zt(R.group,R.bounds,R.localEventX,R.localEventY)!==void 0||(x==null||x(R),!R.isTouch&&je!==!0&&je!==R.kind&&R.button<3&&R.button!==1&&v.preventDefault()))},[X,je,ze,zt,Lt,x]);Ge("touchstart",mo,Ye,!1),Ge("mousedown",mo,Ye,!1);const yo=I.useRef(0),vo=I.useCallback(v=>{var re,Q;const M=yo.current;yo.current=Date.now();const z=K.current;if(Fn.current=!1,p===void 0||z===null)return;const T=X==null?void 0:X.current,D=v.target!==z&&v.target!==T;let R,_,q=!0;if(v instanceof MouseEvent){if(R=v.clientX,_=v.clientY,q=v.button<3,v.pointerType==="touch")return}else R=v.changedTouches[0].clientX,_=v.changedTouches[0].clientY;let N=ze(z,R,_,v);N.isTouch&&Bn.current!==0&&Date.now()-Bn.current>500&&(N={...N,isLongTouch:!0}),M!==0&&Date.now()-M<(N.isTouch?1e3:500)&&(N={...N,isDoubleClick:!0}),Ie.current!==N.isTouch&&te(N.isTouch),!D&&v.cancelable&&q&&v.preventDefault();const[De]=N.location,O=Lt(z,De,R,_);if(N.kind===Dt&&O!==void 0){(N.button!==0||((re=Ut.current)==null?void 0:re[0])!==De||((Q=Ut.current)==null?void 0:Q[1])!==-1)&&p(N,!0);return}else if(N.kind===At){const Z=zt(N.group,N.bounds,N.localEventX,N.localEventY);if(Z!==void 0){N.button===0&&Z.onClick(N);return}}p(N,D)},[p,X,ze,Lt,zt]);Ge("mouseup",vo,Ye,!1),Ge("touchend",vo,Ye,!1);const Ci=I.useCallback(v=>{var De,O;const M=K.current;if(M===null)return;const z=X==null?void 0:X.current,T=v.target!==M&&v.target!==z;let D,R,_=!0;v instanceof MouseEvent?(D=v.clientX,R=v.clientY,_=v.button<3):(D=v.changedTouches[0].clientX,R=v.changedTouches[0].clientY);const q=ze(M,D,R,v);Ie.current!==q.isTouch&&te(q.isTouch),!T&&v.cancelable&&_&&v.preventDefault();const[N]=q.location;if(q.kind===Dt){const re=Lt(M,N,D,R);re!==void 0&&q.button===0&&((De=Ut.current)==null?void 0:De[0])===N&&((O=Ut.current)==null?void 0:O[1])===-1&&(re.area==="menu"?h==null||h(N,re.bounds):re.area==="indicator"&&(y==null||y(N,re.bounds)))}else if(q.kind===At){const re=zt(q.group,q.bounds,q.localEventX,q.localEventY);re!==void 0&&q.button===0&&re.onClick(q)}},[X,ze,Lt,h,y,zt]);Ge("click",Ci,Ye,!1);const Si=I.useCallback(v=>{const M=K.current,z=X==null?void 0:X.current;if(M===null||v.target!==M&&v.target!==z||W===void 0)return;const T=ze(M,v.clientX,v.clientY,v);W(T,()=>{v.cancelable&&v.preventDefault()})},[X,ze,W]);Ge("contextmenu",Si,(X==null?void 0:X.current)??null,!1);const bo=I.useCallback(v=>{Se.current=new Zt(v.map(M=>M.item)),Ht.current=v,_t.current(),Se.current=void 0},[]),po=I.useMemo(()=>new Yr(bo),[bo]),wo=I.useRef(po);wo.current=po,I.useLayoutEffect(()=>{const v=wo.current;if(Mt===void 0||Mt[1]<0){v.setHovered(Mt);return}const M=u(Mt,!0),z=ue(M),T=z===void 0&&M.kind===ae.Custom||(z==null?void 0:z.needsHover)!==void 0&&(typeof z.needsHover=="boolean"?z.needsHover:z.needsHover(M));v.setHovered(T?Mt:void 0)},[u,ue,Mt]);const xo=I.useRef(),Ii=I.useCallback(v=>{var q;const M=K.current;if(M===null)return;const z=X==null?void 0:X.current,T=v.target!==M&&v.target!==z,D=ze(M,v.clientX,v.clientY,v);if(D.kind!=="out-of-bounds"&&T&&!Fn.current&&!D.isTouch)return;const R=(N,De)=>{St(O=>O===N||(O==null?void 0:O[0][0])===(N==null?void 0:N[0][0])&&(O==null?void 0:O[0][1])===(N==null?void 0:N[0][1])&&((O==null?void 0:O[1][0])===(N==null?void 0:N[1][0])&&(O==null?void 0:O[1][1])===(N==null?void 0:N[1][1])||!De)?O:N)};if(!jr(D,xo.current))nt(void 0),Y==null||Y(D),R(D.kind===No?void 0:[D.location,[D.localEventX,D.localEventY]],!0),xo.current=D;else if(D.kind==="cell"||D.kind===Dt||D.kind===At){let N=!1,De=!0;if(D.kind==="cell"){const re=u(D.location);De=((q=ue(re))==null?void 0:q.needsHoverPosition)??re.kind===ae.Custom,N=De}else D.kind===At&&(N=!0);const O=[D.location,[D.localEventX,D.localEventY]];R(O,De),Rt.current=O,N&&Tt(new Zt([D.location]))}const _=D.location[0]>=(xe?0:1);be(D.kind===Dt&&D.isEdge&&_&<===!0),wi(D.kind==="cell"&&D.isFillHandle),U==null||U(v),j(D)},[X,ze,xe,lt,U,j,Y,u,ue,Tt]);Ge("mousemove",Ii,Ye,!0);const Mi=I.useCallback(v=>{const M=K.current;if(M===null)return;let z,T;S.current!==void 0&&(z=Fe(M,S.current.cell[0],S.current.cell[1]),T=S.current.cell),he==null||he({bounds:z,stopPropagation:()=>v.stopPropagation(),preventDefault:()=>v.preventDefault(),cancel:()=>{},ctrlKey:v.ctrlKey,metaKey:v.metaKey,shiftKey:v.shiftKey,altKey:v.altKey,key:v.key,keyCode:v.keyCode,rawEvent:v,location:T})},[he,S,Fe]),Ei=I.useCallback(v=>{const M=K.current;if(M===null)return;let z,T;S.current!==void 0&&(z=Fe(M,S.current.cell[0],S.current.cell[1]),T=S.current.cell),ce==null||ce({bounds:z,stopPropagation:()=>v.stopPropagation(),preventDefault:()=>v.preventDefault(),cancel:()=>{},ctrlKey:v.ctrlKey,metaKey:v.metaKey,shiftKey:v.shiftKey,altKey:v.altKey,key:v.key,keyCode:v.keyCode,rawEvent:v,location:T})},[ce,S,Fe]),Bi=I.useCallback(v=>{if(K.current=v,G!==void 0&&(G.current=v),v===null)Pe.current=window;else{const M=v.getRootNode();M===document&&(Pe.current=window),Pe.current=M}},[G]),Fi=I.useCallback(v=>{const M=K.current;if(M===null||je===!1||Be){v.preventDefault();return}let z,T;const D=ze(M,v.clientX,v.clientY);if(je!==!0&&D.kind!==je){v.preventDefault();return}const R=(re,Q)=>{z=re,T=Q};let _,q,N;const De=(re,Q,Z)=>{_=re,q=Q,N=Z};let O=!1;if(Oe==null||Oe({...D,setData:R,setDragImage:De,preventDefault:()=>O=!0,defaultPrevented:()=>O}),!O&&z!==void 0&&T!==void 0&&v.dataTransfer!==null)if(v.dataTransfer.setData(z,T),v.dataTransfer.effectAllowed="copyLink",_!==void 0&&q!==void 0&&N!==void 0)v.dataTransfer.setDragImage(_,q,N);else{const[re,Q]=D.location;if(Q!==void 0){const Z=document.createElement("canvas"),Ae=Fe(M,re,Q);ft(Ae!==void 0);const Qe=Math.ceil(window.devicePixelRatio??1);Z.width=Ae.width*Qe,Z.height=Ae.height*Qe;const Ee=Z.getContext("2d");Ee!==null&&(Ee.scale(Qe,Qe),Ee.textBaseline="middle",Q===-1?(Ee.font=me.headerFontFull,Ee.fillStyle=me.bgHeader,Ee.fillRect(0,0,Z.width,Z.height),yi(Ee,0,0,Ae.width,Ae.height,Me[re],!1,me,!1,!1,0,pe,$e,!1)):(Ee.font=me.baseFontFull,Ee.fillStyle=me.bgCell,Ee.fillRect(0,0,Z.width,Z.height),hi(Ee,u([re,Q]),0,Q,!1,!1,0,0,Ae.width,Ae.height,!1,me,me.bgCell,_e,pe,1,void 0,!1,0,void 0,void 0,void 0,ln,ue,()=>{}))),Z.style.left="-100%",Z.style.position="absolute",Z.style.width=`${Ae.width}px`,Z.style.height=`${Ae.height}px`,document.body.append(Z),v.dataTransfer.setDragImage(Z,Ae.width/2,Ae.height/2),window.setTimeout(()=>{Z.remove()},0)}}else v.preventDefault()},[je,Be,ze,Oe,Fe,me,Me,pe,$e,u,_e,ln,ue]);Ge("dragstart",Fi,(X==null?void 0:X.current)??null,!1,!1);const Dn=I.useRef(),Di=I.useCallback(v=>{const M=K.current;if(J!==void 0&&v.preventDefault(),M===null||Te===void 0)return;const z=ze(M,v.clientX,v.clientY),[T,D]=z.location,R=T-(xe?0:1),[_,q]=Dn.current??[];(_!==R||q!==D)&&(Dn.current=[R,D],Te([R,D],v.dataTransfer))},[xe,ze,Te,J]);Ge("dragover",Di,(X==null?void 0:X.current)??null,!1,!1);const Ai=I.useCallback(()=>{Dn.current=void 0,He==null||He()},[He]);Ge("dragend",Ai,(X==null?void 0:X.current)??null,!1,!1);const Hi=I.useCallback(v=>{const M=K.current;if(M===null||J===void 0)return;v.preventDefault();const z=ze(M,v.clientX,v.clientY),[T,D]=z.location,R=T-(xe?0:1);J([R,D],v.dataTransfer)},[xe,ze,J]);Ge("drop",Hi,(X==null?void 0:X.current)??null,!1,!1);const Pi=I.useCallback(()=>{we==null||we()},[we]);Ge("dragleave",Pi,(X==null?void 0:X.current)??null,!1,!1);const ko=I.useRef(S);ko.current=S;const gn=I.useRef(null),An=I.useCallback(v=>{var M;K.current===null||!K.current.contains(document.activeElement)||(v===null&&ko.current.current!==void 0?(M=G==null?void 0:G.current)==null||M.focus({preventScroll:!0}):v!==null&&v.focus({preventScroll:!0}),gn.current=v)},[G]);I.useImperativeHandle(t,()=>({focus:()=>{var M;const v=gn.current;v===null||!document.contains(v)?(M=G==null?void 0:G.current)==null||M.focus({preventScroll:!0}):v.focus({preventScroll:!0})},getBounds:(v,M)=>{if(!(G===void 0||G.current===null))return Fe(G.current,v??0,M??-1)},damage:co}),[G,co,Fe]);const Hn=I.useRef(),Ri=nr(()=>{var q,N,De;if(n<50||(V==null?void 0:V.disableAccessibilityTree)===!0)return null;let v=qn(Me,fe,n,se,ie);const M=xe?0:-1;!xe&&((q=v[0])==null?void 0:q.sourceIndex)===0&&(v=v.slice(1));const[z,T]=((N=S.current)==null?void 0:N.cell)??[],D=(De=S.current)==null?void 0:De.range,R=v.map(O=>O.sourceIndex),_=qi(s,Math.min(m,s+i));return z!==void 0&&T!==void 0&&!(R.includes(z)&&_.includes(T))&&An(null),Je("table",{role:"grid","aria-rowcount":m+1,"aria-multiselectable":"true","aria-colcount":Me.length+M,children:[$("thead",{role:"rowgroup",children:$("tr",{role:"row","aria-rowindex":1,children:v.map(O=>$("th",{role:"columnheader","aria-selected":S.columns.hasIndex(O.sourceIndex),"aria-colindex":O.sourceIndex+1+M,tabIndex:-1,onFocus:re=>{if(re.target!==gn.current)return Ce==null?void 0:Ce([O.sourceIndex,-1])},children:O.title},O.sourceIndex))})}),$("tbody",{role:"rowgroup",children:_.map(O=>$("tr",{role:"row","aria-selected":S.rows.hasIndex(O),"aria-rowindex":O+2,children:v.map(re=>{const Q=re.sourceIndex,Z=tt(Q,O),Ae=z===Q&&T===O,Qe=D!==void 0&&Q>=D.x&&Q=D.y&&O{const Ze=G==null?void 0:G.current;if(Ze!=null)return he==null?void 0:he({bounds:Fe(Ze,Q,O),cancel:()=>{},preventDefault:()=>{},stopPropagation:()=>{},ctrlKey:!1,key:"Enter",keyCode:13,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:dt})},onFocusCapture:Ze=>{var ge,et;if(!(Ze.target===gn.current||((ge=Hn.current)==null?void 0:ge[0])===Q&&((et=Hn.current)==null?void 0:et[1])===O))return Hn.current=dt,Ce==null?void 0:Ce(dt)},ref:Ae?An:void 0,tabIndex:-1,children:Vr(bt,ue)},Z)})},O))})]},"access-tree")},[n,Me,fe,se,ie,m,s,i,S,An,u,G,he,Fe,Ce],200),mn=F===0||!P?0:fe>F?1:wn(-ie/100,0,1),Ti=-s*32+ke,yn=B?wn(-Ti/100,0,1):0,Wi=I.useMemo(()=>{if(!mn&&!yn)return null;const v={position:"absolute",top:0,left:In,width:n-In,height:o,opacity:mn,pointerEvents:"none",transition:ye?void 0:"opacity 0.2s",boxShadow:"inset 13px 0 10px -13px rgba(0, 0, 0, 0.2)"},M={position:"absolute",top:it,left:0,width:n,height:o,opacity:yn,pointerEvents:"none",transition:L?void 0:"opacity 0.2s",boxShadow:"inset 0 13px 10px -13px rgba(0, 0, 0, 0.2)"};return Je(Xn,{children:[mn>0&&$("div",{id:"shadow-x",style:v}),yn>0&&$("div",{id:"shadow-y",style:M})]})},[mn,yn,In,n,ye,it,o,L]),zi=I.useMemo(()=>({position:"absolute",top:0,left:0}),[]);return Je(Xn,{children:[$("canvas",{"data-testid":"data-grid-canvas",tabIndex:0,onKeyDown:Mi,onKeyUp:Ei,onFocus:E,onBlur:A,ref:Bi,style:Mn,children:Ri}),$("canvas",{ref:Ne,style:zi}),Wi]})},ml=I.memo(I.forwardRef(Kr));function Gr(e){if(e.copyData!==void 0)return{formatted:e.copyData,rawValue:e.copyData,format:"string"};switch(e.kind){case ae.Boolean:return{formatted:e.data===!0?"TRUE":e.data===!1?"FALSE":e.data===Qn?"INDETERMINATE":"",rawValue:e.data,format:"boolean"};case ae.Custom:return{formatted:e.copyData,rawValue:e.copyData,format:"string"};case ae.Image:case ae.Bubble:return{formatted:e.data,rawValue:e.data,format:"string-array"};case ae.Drilldown:return{formatted:e.data.map(t=>t.text),rawValue:e.data.map(t=>t.text),format:"string-array"};case ae.Text:return{formatted:e.displayData??e.data,rawValue:e.data,format:"string"};case ae.Uri:return{formatted:e.displayData??e.data,rawValue:e.data,format:"url"};case ae.Markdown:case ae.RowID:return{formatted:e.data,rawValue:e.data,format:"string"};case ae.Number:return{formatted:e.displayData,rawValue:e.data,format:"number"};case ae.Loading:return{formatted:"#LOADING",rawValue:"",format:"string"};case ae.Protected:return{formatted:"************",rawValue:"",format:"string"};default:Jn()}}function Jr(e,t){return e.map((o,i)=>{const r=t[i];return o.map(l=>l.span!==void 0&&l.span[0]!==r?{formatted:"",rawValue:"",format:"string"}:Gr(l))})}function Xo(e,t){return(t?/[\t\n",]/:/[\t\n"]/).test(e)&&(e=`"${e.replace(/"/g,'""')}"`),e}function Qr(e){var n;const t=[];for(const o of e){const i=[];for(const r of o)r.format==="url"?i.push(((n=r.rawValue)==null?void 0:n.toString())??""):r.format==="string-array"?i.push(r.formatted.map(l=>Xo(l,!0)).join(",")):i.push(Xo(r.formatted,!1));t.push(i.join(" "))}return t.join(` -`)}function zn(e){return e.replace(/\t/g," ").replace(/ {2,}/g,t=>" ".repeat(t.length))}function $o(e){return'"'+e.replace(/&/g,"&").replace(/"/g,""").replace(//g,">")+'"'}function Zr(e){return e.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}function es(e){var n;const t=[];t.push('',"");for(const o of e){t.push("");for(const i of o){const r=`gdg-format="${i.format}"`;i.format==="url"?t.push(``):i.format==="string-array"?t.push(``):t.push(``)}t.push("")}return t.push("
${zn(i.formatted)}
    ${i.formatted.map((l,s)=>`
  1. `+zn(l)+"
  2. ").join("")}
${zn(i.formatted)}
"),t.join("")}function ts(e,t){const n=Jr(e,t),o=Qr(n),i=es(n);return{textPlain:o,textHtml:i}}function yl(e){var l;const t=document.createElement("html");t.innerHTML=e.replace(/ /g," ");const n=t.querySelector("table");if(n===null)return;const o=[n],i=[];let r;for(;o.length>0;){const s=o.pop();if(s===void 0)break;if(s instanceof HTMLTableElement||s.nodeName==="TBODY")o.push(...[...s.children].reverse());else if(s instanceof HTMLTableRowElement)r!==void 0&&i.push(r),r=[],o.push(...[...s.children].reverse());else if(s instanceof HTMLTableCellElement){const a=s.cloneNode(!0),f=a.children.length===1&&a.children[0].nodeName==="P"?a.children[0]:null,g=(f==null?void 0:f.children.length)===1&&f.children[0].nodeName==="FONT",m=a.querySelectorAll("br");for(const h of m)h.replaceWith(` -`);const u=a.getAttribute("gdg-raw-value"),c=a.getAttribute("gdg-format")??"string";if(a.querySelector("a")!==null)r==null||r.push({rawValue:((l=a.querySelector("a"))==null?void 0:l.getAttribute("href"))??"",formatted:a.textContent??"",format:c});else if(a.querySelector("ol")!==null){const h=a.querySelectorAll("li");r==null||r.push({rawValue:[...h].map(y=>y.getAttribute("gdg-raw-value")??""),formatted:[...h].map(y=>y.textContent??""),format:"string-array"})}else if(u!==null)r==null||r.push({rawValue:Zr(u),formatted:a.textContent??"",format:c});else{let h=a.textContent??"";g&&(h=h.replace(/\n(?!\n)/g,"")),r==null||r.push({rawValue:h??"",formatted:h??"",format:c})}}}return r!==void 0&&i.push(r),i}function vl(e,t,n,o,i){var s;const r=e;if(o==="allowPartial"||e.current===void 0||t===void 0)return e;let l=!1;do{if((e==null?void 0:e.current)===void 0)break;const a=(s=e.current)==null?void 0:s.range,d=[];if(a.width>2){const m=t({x:a.x,y:a.y,width:1,height:a.height},i.signal);if(typeof m=="function")return r;d.push(...m);const u=t({x:a.x+a.width-1,y:a.y,width:1,height:a.height},i.signal);if(typeof u=="function")return r;d.push(...u)}else{const m=t({x:a.x,y:a.y,width:a.width,height:a.height},i.signal);if(typeof m=="function")return r;d.push(...m)}let f=a.x-n,g=a.x+a.width-1-n;for(const m of d)for(const u of m)u.span!==void 0&&(f=Math.min(u.span[0],f),g=Math.max(u.span[1],g));f===a.x-n&&g===a.x+a.width-1-n?l=!0:e={current:{cell:e.current.cell??[0,0],range:{x:f+n,y:a.y,width:g-f+1,height:a.height},rangeStack:e.current.rangeStack},columns:e.columns,rows:e.rows}}while(!l);return e}function Yo(e){return e.startsWith('"')&&e.endsWith('"')&&(e=e.slice(1,-1).replace(/""/g,'"')),e}function bl(e){let t;(s=>{s[s.None=0]="None",s[s.inString=1]="inString",s[s.inStringPostQuote=2]="inStringPostQuote"})(t||(t={}));const n=[];let o=[],i=0,r=0;e=e.replace(/\r\n/g,` -`);let l=0;for(const s of e){switch(r){case 0:s===" "||s===` -`?(o.push(e.slice(i,l)),i=l+1,s===` -`&&(n.push(o),o=[])):s==='"'&&(r=1);break;case 1:s==='"'&&(r=2);break;case 2:s==='"'?r=1:((s===" "||s===` -`)&&(o.push(Yo(e.slice(i,l))),i=l+1,s===` -`&&(n.push(o),o=[])),r=0);break}l++}return is.map(a=>({rawValue:a,formatted:a,format:"string"})))}function pl(e,t,n){var s;const o=ts(e,t),i=a=>{var d;(d=window.navigator.clipboard)==null||d.writeText(a)},r=(a,d)=>{var f;return((f=window.navigator.clipboard)==null?void 0:f.write)===void 0?!1:(window.navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([a],{type:"text/plain"}),"text/html":new Blob([d],{type:"text/html"})})]),!0)},l=(a,d)=>{var f,g;try{if(n===void 0||n.clipboardData===null)throw new Error("No clipboard data");(f=n==null?void 0:n.clipboardData)==null||f.setData("text/plain",a),(g=n==null?void 0:n.clipboardData)==null||g.setData("text/html",d)}catch{r(a,d)||i(a)}};((s=window.navigator.clipboard)==null?void 0:s.write)!==void 0||(n==null?void 0:n.clipboardData)!==void 0?l(o.textPlain,o.textHtml):i(o.textPlain),n==null||n.preventDefault()}function ns(e){return e!==!0}const _o=20,os={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??"false"},kind:ae.Boolean,needsHover:!0,useLabel:!1,needsHoverPosition:!0,measure:()=>50,draw:e=>is(e,e.cell.data,Yn(e.cell),e.cell.maxSize??_o),onDelete:e=>({...e,data:!1}),onClick:e=>{const{cell:t,posX:n,posY:o,bounds:i,theme:r}=e,{width:l,height:s,x:a,y:d}=i,f=t.maxSize??_o,g=Math.floor(i.y+s/2),m=Qo(f,s,r.cellVerticalPadding),u=Jo(t.contentAlign??"center",a,l,r.cellHorizontalPadding,m),c=Go(u,g,m),h=Zo(a+n,d+o,c);if(Yn(t)&&h)return{...t,data:ns(t.data)}},onPaste:(e,t)=>{let n=xn;return e.toLowerCase()==="true"?n=!0:e.toLowerCase()==="false"?n=!1:e.toLowerCase()==="indeterminate"&&(n=Qn),n===t.data?void 0:{...t,data:n}}};function is(e,t,n,o){if(!n&&t===xn)return;const{ctx:i,hoverAmount:r,theme:l,rect:s,highlighted:a,hoverX:d,hoverY:f,cell:{contentAlign:g}}=e,{x:m,y:u,width:c,height:h}=s,y=.35;let b=n?1-y+y*r:.4;t===xn&&(b*=r),b!==0&&(i.globalAlpha=b,io(i,l,t,m,u,c,h,a,d,f,o,g),i.globalAlpha=1)}const rs=gt("div")({name:"BubblesOverlayEditorStyle",class:"bed7b9f",propsAsIs:!1}),ss=e=>{const{bubbles:t}=e;return Je(rs,{children:[t.map((n,o)=>$("div",{className:"boe-bubble",children:n},o)),$("textarea",{className:"gdg-input",autoFocus:!0})]})},ls=ss,as={getAccessibilityString:e=>ei(e.data),kind:ae.Bubble,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,n)=>t.data.reduce((o,i)=>e.measureText(i).width+o+20,0)+2*n.cellHorizontalPadding-4,draw:e=>ds(e,e.cell.data),provideEditor:()=>e=>{const{value:t}=e;return $(ls,{bubbles:t.data})},onPaste:()=>{}},cs=4;function ds(e,t){const{rect:n,theme:o,ctx:i,highlighted:r}=e,{x:l,y:s,width:a,height:d}=n,f=20,g=8,m=cs;let u=l+o.cellHorizontalPadding;const c=[];for(const h of t){if(u>l+a)break;const y=Yt(h,i,o.baseFontFull).width;c.push({x:u,width:y}),u+=y+g*2+m}i.beginPath();for(const h of c)st(i,h.x,s+(d-f)/2,h.width+g*2,f,o.roundingRadius??f/2);i.fillStyle=r?o.bgBubbleSelected:o.bgBubble,i.fill();for(const[h,y]of c.entries())i.beginPath(),i.fillStyle=o.textBubble,i.fillText(t[h],y.x+g,s+d/2+xt(i,o))}const us=gt("div")({name:"DrilldownOverlayEditorStyle",class:"dy18k32",propsAsIs:!1}),fs=e=>{const{drilldowns:t}=e;return $(us,{children:t.map((n,o)=>Je("div",{className:"doe-bubble",children:[n.img!==void 0&&$("img",{src:n.img}),$("div",{children:n.text})]},o))})},hs=fs,gs={getAccessibilityString:e=>ei(e.data.map(t=>t.text)),kind:ae.Drilldown,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,n)=>t.data.reduce((o,i)=>e.measureText(i.text).width+o+20+(i.img!==void 0?18:0),0)+2*n.cellHorizontalPadding-4,draw:e=>vs(e,e.cell.data),provideEditor:()=>e=>{const{value:t}=e;return $(hs,{drilldowns:t.data})},onPaste:()=>{}},ms=4,Ln={};function ys(e,t,n,o){const i=Math.ceil(window.devicePixelRatio),r=5,l=n-r*2,s=4,a=n*i,d=o+r,f=o*3,g=(f+r*2)*i,m=`${e},${t},${i},${n}`;if(Ln[m]!==void 0)return{el:Ln[m],height:a,width:g,middleWidth:s*i,sideWidth:d*i,padding:r*i,dpr:i};const u=document.createElement("canvas"),c=u.getContext("2d");return c===null?null:(u.width=g,u.height=a,c.scale(i,i),Ln[m]=u,c.beginPath(),st(c,r,r,f,l,o),c.shadowColor="rgba(24, 25, 34, 0.4)",c.shadowBlur=1,c.fillStyle=e,c.fill(),c.shadowColor="rgba(24, 25, 34, 0.3)",c.shadowOffsetY=1,c.shadowBlur=5,c.fillStyle=e,c.fill(),c.shadowOffsetY=0,c.shadowBlur=0,c.shadowBlur=0,c.beginPath(),st(c,r+.5,r+.5,f,l,o),c.strokeStyle=t,c.lineWidth=1,c.stroke(),{el:u,height:a,width:g,sideWidth:d*i,middleWidth:o*i,padding:r*i,dpr:i})}function vs(e,t){const{rect:n,theme:o,ctx:i,imageLoader:r,col:l,row:s}=e,{x:a,width:d}=n,f=o.baseFontFull,g=si(i,f),m=Math.min(n.height,Math.max(16,Math.ceil(g*o.lineHeight)*2)),u=Math.floor(n.y+(n.height-m)/2),c=m-10,h=8,y=ms;let b=a+o.cellHorizontalPadding;const k=o.roundingRadius??6,E=ys(o.bgCell,o.drilldownBorder,m,k),A=[];for(const H of t){if(b>a+d)break;const F=Yt(H.text,i,f).width;let W=0;H.img!==void 0&&r.loadOrGetImage(H.img,l,s)!==void 0&&(W=c-8+4);const C=F+W+h*2;A.push({x:b,width:C}),b+=C+y}if(E!==null){const{el:H,height:S,middleWidth:F,sideWidth:W,width:C,dpr:P,padding:B}=E,w=W/P,x=B/P;for(const p of A){const U=Math.floor(p.x),j=Math.floor(p.width),Y=j-(w-x)*2;i.imageSmoothingEnabled=!1,i.drawImage(H,0,0,W,S,U-x,u,w,m),Y>0&&i.drawImage(H,W,0,F,S,U+(w-x),u,Y,m),i.drawImage(H,C-W,0,W,S,U+j-(w-x),u,w,m),i.imageSmoothingEnabled=!0}}i.beginPath();for(const[H,S]of A.entries()){const F=t[H];let W=S.x+h;if(F.img!==void 0){const C=r.loadOrGetImage(F.img,l,s);if(C!==void 0){const P=c-8;let B=0,w=0,x=C.width,p=C.height;x>p?(B+=(x-p)/2,x=p):p>x&&(w+=(p-x)/2,p=x),i.beginPath(),st(i,W,u+m/2-P/2,P,P,o.roundingRadius??3),i.save(),i.clip(),i.drawImage(C,B,w,x,p,W,u+m/2-P/2,P,P),i.restore(),W+=P+4}}i.beginPath(),i.fillStyle=o.textBubble,i.fillText(F.text,W,u+m/2+xt(i,o))}}const bs=gt("div")({name:"ImageOverlayEditorStyle",class:"i1f2fhaz",propsAsIs:!1}),ps=e=>{const{urls:t,canWrite:n,onEditClick:o,renderImage:i}=e,r=t.filter(s=>s!=="");if(r.length===0)return null;const l=r.length>1;return Je(bs,{"data-testid":"GDG-default-image-overlay-editor",children:[$(ji.Carousel,{showArrows:l,showThumbs:!1,swipeable:l,emulateTouch:l,infiniteLoop:l,children:r.map(s=>{const a=(i==null?void 0:i(s))??$("img",{draggable:!1,src:s});return $("div",{className:"gdg-centering-container",children:a},s)})}),n&&o&&$("button",{className:"gdg-edit-icon",onClick:o,children:$(Zn,{})})]})},ws={getAccessibilityString:e=>e.data.join(", "),kind:ae.Image,needsHover:!1,useLabel:!1,needsHoverPosition:!1,draw:e=>xs(e,e.cell.displayData??e.cell.data,e.cell.rounding??e.theme.roundingRadius??4,e.cell.contentAlign),measure:(e,t)=>t.data.length*50,onDelete:e=>({...e,data:[]}),provideEditor:()=>e=>{const{value:t,onFinishedEditing:n,imageEditorOverride:o}=e;return $(o??ps,{urls:t.data,canWrite:t.readonly!==!1,onCancel:n,onChange:r=>{n({...t,data:[r]})}})},onPaste:(e,t)=>{e=e.trim();const o=e.split(",").map(i=>{try{return new URL(i),i}catch{return}}).filter(i=>i!==void 0);if(!(o.length===t.data.length&&o.every((i,r)=>i===t.data[r])))return{...t,data:o}}},Nn=4;function xs(e,t,n,o){const{rect:i,col:r,row:l,theme:s,ctx:a,imageLoader:d}=e,{x:f,y:g,height:m,width:u}=i,c=m-s.cellVerticalPadding*2,h=[];let y=0;for(let k=0;k0&&(a.beginPath(),st(a,b,g+s.cellVerticalPadding,E,c,n),a.save(),a.clip()),a.drawImage(k,b,g+s.cellVerticalPadding,E,c),n>0&&a.restore(),b+=E+Nn}}function ks(e,t){let n=e*49632+t*325176;return n^=n<<13,n^=n>>17,n^=n<<5,n/4294967295*2}const Cs={getAccessibilityString:()=>"",kind:ae.Loading,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:()=>120,draw:e=>{const{cell:t,col:n,row:o,ctx:i,rect:r,theme:l}=e;if(t.skeletonWidth===void 0||t.skeletonWidth===0)return;let s=t.skeletonWidth;t.skeletonWidthVariability!==void 0&&t.skeletonWidthVariability>0&&(s+=Math.round(ks(n,o)*t.skeletonWidthVariability));const a=l.cellHorizontalPadding,d=t.skeletonHeight??Math.min(18,r.height-2*l.cellVerticalPadding);st(i,r.x+a,r.y+(r.height-d)/2,s,d,l.roundingRadius??3),i.fillStyle=sn(l.textDark,.1),i.fill()},onPaste:()=>{}},Ss=gt("div")({name:"MarkdownContainer",class:"m1ec5h7p",propsAsIs:!1});class Is extends Gn.PureComponent{constructor(){super(...arguments);ne(this,"targetElement",null);ne(this,"containerRefHook",n=>{this.targetElement=n,this.renderMarkdownIntoDiv()})}renderMarkdownIntoDiv(){const{targetElement:n,props:o}=this;if(n===null)return;const{contents:i,createNode:r}=o,l=Oi(i),s=document.createRange();s.selectNodeContents(n),s.deleteContents();let a=r==null?void 0:r(l);if(a===void 0){const f=document.createElement("template");f.innerHTML=l,a=f.content}n.append(a);const d=n.getElementsByTagName("a");for(const f of d)f.target="_blank",f.rel="noreferrer noopener"}render(){return this.renderMarkdownIntoDiv(),$(Ss,{ref:this.containerRefHook})}}const Ms=gt("textarea")({name:"InputBox",class:"iotb8b8",propsAsIs:!1}),Es=gt("div")({name:"ShadowBox",class:"s1xtsfdl",propsAsIs:!1}),Bs=gt("div")({name:"GrowingEntryStyle",class:"g1d7u5bt",propsAsIs:!1});let Uo=0;const Cn=e=>{const{placeholder:t,value:n,onKeyDown:o,highlight:i,altNewline:r,validatedSelection:l,...s}=e,{onChange:a,className:d}=s,f=I.useRef(null),g=n??"";ft(a!==void 0,"GrowingEntry must be a controlled input area");const[m]=I.useState(()=>"input-box-"+(Uo=(Uo+1)%1e7));I.useEffect(()=>{const c=f.current;if(c===null||c.disabled)return;const h=g.toString().length;c.focus(),c.setSelectionRange(i?0:h,h)},[]),I.useLayoutEffect(()=>{var c;if(l!==void 0){const h=typeof l=="number"?[l,null]:l;(c=f.current)==null||c.setSelectionRange(h[0],h[1])}},[l]);const u=I.useCallback(c=>{c.key==="Enter"&&c.shiftKey&&r===!0||o==null||o(c)},[r,o]);return Je(Bs,{className:"gdg-growing-entry",children:[$(Es,{className:d,children:g+` -`}),$(Ms,{...s,className:(d??"")+" gdg-input",id:m,ref:f,onKeyDown:u,value:g,placeholder:t,dir:"auto"})]})},Fs=()=>e=>e.targetWidth,qo=gt("div")({name:"MarkdownOverlayEditorStyle",class:"mmv7gx6",propsAsIs:!1,vars:{"mmv7gx6-0":[Fs(),"px"]}}),Ds=e=>{const{value:t,onChange:n,forceEditMode:o,createNode:i,targetRect:r,onFinish:l,validatedSelection:s}=e,a=t.data,d=t.readonly===!0,[f,g]=I.useState(a===""||o),m=I.useCallback(()=>{g(c=>!c)},[]),u=a?"gdg-ml-6":"";return f?Je(qo,{targetWidth:r.width-20,children:[$(Cn,{autoFocus:!0,highlight:!1,validatedSelection:s,value:a,onKeyDown:c=>{c.key==="Enter"&&c.stopPropagation()},onChange:n}),$("div",{className:`gdg-edit-icon gdg-checkmark-hover ${u}`,onClick:()=>l(t),children:$(tr,{})})]}):Je(qo,{targetWidth:r.width,children:[$(Is,{contents:a,createNode:i}),!d&&Je(Xn,{children:[$("div",{className:"spacer"}),$("div",{className:`gdg-edit-icon gdg-edit-hover ${u}`,onClick:m,children:$(Zn,{})})]}),$("textarea",{className:"gdg-md-edit-textarea gdg-input",autoFocus:!0})]})},As={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:ae.Markdown,needsHover:!1,needsHoverPosition:!1,drawPrep:rn,measure:(e,t,n)=>{const o=t.data.split(` -`)[0];return e.measureText(o).width+2*n.cellHorizontalPadding},draw:e=>ht(e,e.cell.data,e.cell.contentAlign),onDelete:e=>({...e,data:""}),provideEditor:()=>e=>{const{onChange:t,value:n,target:o,onFinishedEditing:i,markdownDivCreateNode:r,forceEditMode:l,validatedSelection:s}=e;return $(Ds,{onFinish:i,targetRect:o,value:n,validatedSelection:s,onChange:a=>t({...n,data:a.target.value}),forceEditMode:l,createNode:r})},onPaste:(e,t)=>e===t.data?void 0:{...t,data:e}},Hs={getAccessibilityString:e=>e.row.toString(),kind:tn.Marker,needsHover:!0,needsHoverPosition:!1,drawPrep:Ps,measure:()=>44,draw:e=>Ts(e,e.cell.row,e.cell.checked,e.cell.markerKind,e.cell.drawHandle,e.cell.checkboxStyle),onClick:e=>{const{bounds:t,cell:n,posX:o,posY:i}=e,{width:r,height:l}=t,s=n.drawHandle?7+(r-7)/2:r/2,a=l/2;if(Math.abs(o-s)<=10&&Math.abs(i-a)<=10)return{...n,checked:!n.checked}},onPaste:()=>{}};function Ps(e,t){const{ctx:n,theme:o}=e,i=o.markerFontFull,r=t??{};return(r==null?void 0:r.font)!==i&&(n.font=i,r.font=i),r.deprep=Rs,n.textAlign="center",r}function Rs(e){const{ctx:t}=e;t.textAlign="start"}function Ts(e,t,n,o,i,r){const{ctx:l,rect:s,hoverAmount:a,theme:d}=e,{x:f,y:g,width:m,height:u}=s,c=n?1:o==="checkbox-visible"?.6+.4*a:a;if(o!=="number"&&c>0){l.globalAlpha=c;const h=7*(n?a:1);if(io(l,d,n,i?f+h:f,g,i?m-h:m,u,!0,void 0,void 0,18,"center",r),i){l.globalAlpha=a,l.beginPath();for(const y of[3,6])for(const b of[-5,-1,3])l.rect(f+y,g+u/2+b,2,2);l.fillStyle=d.textLight,l.fill(),l.beginPath()}l.globalAlpha=1}if(o==="number"||o==="both"&&!n){const h=t.toString(),y=d.markerFontFull,b=f+m/2;o==="both"&&a!==0&&(l.globalAlpha=1-a),l.fillStyle=d.textLight,l.font=y,l.fillText(h,b,g+u/2+xt(l,y)),a!==0&&(l.globalAlpha=1)}}const Ws={getAccessibilityString:()=>"",kind:tn.NewRow,needsHover:!0,needsHoverPosition:!1,measure:()=>200,draw:e=>zs(e,e.cell.hint,e.cell.icon),onPaste:()=>{}};function zs(e,t,n){const{ctx:o,rect:i,hoverAmount:r,theme:l,spriteManager:s}=e,{x:a,y:d,width:f,height:g}=i;o.beginPath(),o.globalAlpha=r,o.rect(a+1,d+1,f,g-2),o.fillStyle=l.bgHeaderHovered,o.fill(),o.globalAlpha=1,o.beginPath();const m=t!=="";let u=0;if(n!==void 0){const h=g-8,y=a+8/2,b=d+8/2;s.drawSprite(n,"normal",o,y,b,h,l,m?1:r),u=h}else{u=24;const c=12,h=m?c:r*c,y=m?0:(1-r)*c*.5,b=l.cellHorizontalPadding+4;h>0&&(o.moveTo(a+b+y,d+g/2),o.lineTo(a+b+y+h,d+g/2),o.moveTo(a+b+y+h*.5,d+g/2-h*.5),o.lineTo(a+b+y+h*.5,d+g/2+h*.5),o.lineWidth=2,o.strokeStyle=l.bgIconHeader,o.lineCap="round",o.stroke())}o.fillStyle=l.textMedium,o.fillText(t,u+a+l.cellHorizontalPadding+.5,d+g/2+xt(o,l)),o.beginPath()}const Ls=I.lazy(async()=>await Ki(()=>import("./number-overlay-editor-wZgFM_Mr.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)),Ns={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:ae.Number,needsHover:!1,needsHoverPosition:!1,useLabel:!0,drawPrep:rn,draw:e=>ht(e,e.cell.displayData,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.displayData).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:void 0}),provideEditor:()=>e=>{const{isHighlighted:t,onChange:n,value:o,validatedSelection:i}=e;return $(I.Suspense,{fallback:null,children:$(Ls,{highlight:t,disabled:o.readonly===!0,value:o.data,fixedDecimals:o.fixedDecimals,allowNegative:o.allowNegative,thousandSeparator:o.thousandSeparator,decimalSeparator:o.decimalSeparator,validatedSelection:i,onChange:r=>n({...o,data:Number.isNaN(r.floatValue??0)?0:r.floatValue})})})},onPaste:(e,t,n)=>{const o=typeof n.rawValue=="number"?n.rawValue:Number.parseFloat(typeof n.rawValue=="string"?n.rawValue:e);if(!(Number.isNaN(o)||t.data===o))return{...t,data:o,displayData:n.formattedString??t.displayData}}},Os={getAccessibilityString:()=>"",measure:()=>108,kind:ae.Protected,needsHover:!1,needsHoverPosition:!1,draw:Xs,onPaste:()=>{}};function Xs(e){const{ctx:t,theme:n,rect:o}=e,{x:i,y:r,height:l}=o;t.beginPath();const s=2.5;let a=i+n.cellHorizontalPadding+s;const d=r+l/2,f=Math.cos(Io(30))*s,g=Math.sin(Io(30))*s;for(let m=0;m<12;m++)t.moveTo(a,d-s),t.lineTo(a,d+s),t.moveTo(a+f,d-g),t.lineTo(a-f,d+g),t.moveTo(a-f,d-g),t.lineTo(a+f,d+g),a+=8;t.lineWidth=1.1,t.lineCap="square",t.strokeStyle=n.textLight,t.stroke()}const $s={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:ae.RowID,needsHover:!1,needsHoverPosition:!1,drawPrep:(e,t)=>rn(e,t,e.theme.textLight),draw:e=>ht(e,e.cell.data,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.data).width+n.cellHorizontalPadding*2,provideEditor:()=>e=>{const{isHighlighted:t,onChange:n,value:o,validatedSelection:i}=e;return $(Cn,{highlight:t,autoFocus:o.readonly!==!0,disabled:o.readonly!==!1,value:o.data,validatedSelection:i,onChange:r=>n({...o,data:r.target.value})})},onPaste:()=>{}},Ys={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:ae.Text,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!1,drawPrep:rn,useLabel:!0,draw:e=>{const{cell:t,hoverAmount:n,hyperWrapping:o,ctx:i,rect:r,theme:l,overrideCursor:s}=e,{displayData:a,contentAlign:d,hoverEffect:f,allowWrapping:g}=t;if(f===!0&&n>0){i.textBaseline="alphabetic";const m=l.cellHorizontalPadding,u=l.cellVerticalPadding,c=Yt(a,i,l.baseFontFull,"alphabetic"),h=r.height-u,y=Math.min(h,c.actualBoundingBoxAscent*2.5);i.beginPath(),st(i,r.x+m/2,r.y+(r.height-y)/2+1,c.width+m*3,y-1,l.roundingRadius??4),i.globalAlpha=n,i.fillStyle=sn(l.textDark,.1),i.fill(),i.globalAlpha=1,i.fillStyle=l.textDark,i.textBaseline="middle",s==null||s("text")}ht(e,a,d,g,o)},measure:(e,t,n)=>{const o=t.displayData.split(` -`,t.allowWrapping===!0?void 0:1);let i=0;for(const r of o)i=Math.max(i,e.measureText(r).width);return i+2*n.cellHorizontalPadding},onDelete:e=>({...e,data:""}),provideEditor:e=>({disablePadding:e.allowWrapping===!0,editor:t=>{const{isHighlighted:n,onChange:o,value:i,validatedSelection:r}=t;return $(Cn,{style:e.allowWrapping===!0?{padding:"3px 8.5px"}:void 0,highlight:n,autoFocus:i.readonly!==!0,disabled:i.readonly===!0,altNewline:!0,value:i.data,validatedSelection:r,onChange:l=>o({...i,data:l.target.value})})}}),onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}},_s=gt("div")({name:"UriOverlayEditorStyle",class:"uwr6ffw",propsAsIs:!1}),Us=e=>{const{uri:t,onChange:n,forceEditMode:o,readonly:i,validatedSelection:r,preview:l}=e,[s,a]=I.useState(!i&&(t===""||o)),d=I.useCallback(()=>{a(!0)},[]);return s?$(Cn,{validatedSelection:r,highlight:!0,autoFocus:!0,value:t,onChange:n}):Je(_s,{children:[$("a",{className:"gdg-link-area",href:t,target:"_blank",rel:"noopener noreferrer",children:l}),!i&&$("div",{className:"gdg-edit-icon",onClick:d,children:$(Zn,{})}),$("textarea",{className:"gdg-input",autoFocus:!0})]})},qs=Us;function jo(e,t,n,o){let i=n.cellHorizontalPadding;const r=t.height/2-e.actualBoundingBoxAscent/2,l=e.width,s=e.actualBoundingBoxAscent;return o==="right"?i=t.width-l-n.cellHorizontalPadding:o==="center"&&(i=t.width/2-l/2),{x:i,y:r,width:l,height:s}}const js={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:ae.Uri,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!0,useLabel:!0,drawPrep:rn,draw:e=>{const{cell:t,theme:n,overrideCursor:o,hoverX:i,hoverY:r,rect:l,ctx:s}=e,a=t.displayData??t.data,d=t.hoverEffect===!0;if(o!==void 0&&d&&i!==void 0&&r!==void 0){const f=Yt(a,s,n.baseFontFull),g=jo(f,l,n,t.contentAlign),{x:m,y:u,width:c,height:h}=g;if(i>=m-4&&i<=m-4+c+8&&r>=u-4&&r<=u-4+h+8){const y=xt(s,n.baseFontFull);o("pointer");const b=5,k=u-y;s.beginPath(),s.moveTo(l.x+m,Math.floor(l.y+k+h+b)+.5),s.lineTo(l.x+m+c,Math.floor(l.y+k+h+b)+.5),s.strokeStyle=n.linkColor,s.stroke(),s.save(),s.fillStyle=e.cellFillColor,ht({...e,rect:{...l,x:l.x-1}},a,t.contentAlign),ht({...e,rect:{...l,x:l.x-2}},a,t.contentAlign),ht({...e,rect:{...l,x:l.x+1}},a,t.contentAlign),ht({...e,rect:{...l,x:l.x+2}},a,t.contentAlign),s.restore()}}s.fillStyle=d?n.linkColor:n.textDark,ht(e,a,t.contentAlign)},onClick:e=>{const{cell:t,bounds:n,posX:o,posY:i,theme:r}=e,l=t.displayData??t.data;if(t.hoverEffect!==!0||t.onClickUri===void 0)return;const s=ii(l,r.baseFontFull);if(s===void 0)return;const a=jo(s,n,r,t.contentAlign);en({x:a.x-4,y:a.y-4,width:a.width+8,height:a.height+8},o,i)&&t.onClickUri(e)},measure:(e,t,n)=>e.measureText(t.displayData??t.data).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:""}),provideEditor:e=>t=>{const{onChange:n,value:o,forceEditMode:i,validatedSelection:r}=t;return $(qs,{forceEditMode:o.readonly!==!0&&(i||e.hoverEffect===!0&&e.onClickUri!==void 0),uri:o.data,preview:o.displayData??o.data,validatedSelection:r,readonly:o.readonly===!0,onChange:l=>n({...o,data:l.target.value})})},onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}},wl=[Hs,Ws,os,as,gs,ws,Cs,As,Ns,Os,$s,Ys,js],On=[];class Vs extends ai{constructor(){super(...arguments);ne(this,"imageLoaded",()=>{});ne(this,"loadedLocations",[]);ne(this,"cache",{});ne(this,"sendLoaded",Vi(()=>{this.imageLoaded(new Zt(this.loadedLocations)),this.loadedLocations=[]},20));ne(this,"clearOutOfWindow",()=>{const n=Object.keys(this.cache);for(const o of n){const i=this.cache[o];let r=!1;for(let l=0;l{a||(a=!0,On.length<12?On.unshift(s):l||(s.src=""))}},f=new Promise(g=>s.addEventListener("load",()=>g(null)));requestAnimationFrame(async()=>{try{s.src=n,await f,await s.decode();const g=this.cache[r];if(g!==void 0&&!a){g.img=s;for(const m of g.cells)this.loadedLocations.push(oo(m));l=!0,this.sendLoaded()}}catch{d.cancel()}}),this.cache[r]=d}loadOrGetImage(n,o,i){const r=n,l=this.cache[r];if(l!==void 0){const s=tt(o,i);return l.cells.includes(s)||l.cells.push(s),l.img}else this.loadImage(n,o,i,r)}}const xl=Vs;export{jr as A,hl as B,_n as C,Jn as D,Ji as E,rl as F,ae as G,cl as H,tn as I,yl as J,bl as K,Mo as L,dl as M,pl as N,xl as O,wl as P,ml as Q,Lo as R,Ur as S,fl as T,il as U,Gi as a,ft as b,gl as c,al as d,ll as e,vl as f,ul as g,sn as h,nl as i,tl as j,$t as k,At as l,nn as m,Un as n,No as o,en as p,ar as q,ol as r,Ko as s,ns as t,Ge as u,Qi as v,sl as w,Sr as x,bn as y,Dt as z}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["./number-overlay-editor-wZgFM_Mr.js","./marked.esm-dbrxtycE.js","./index-BMVQvedj.js","./react-number-format.es-2Vaki8Uh.js","./number-overlay-editor-8QJ1sjy4.css"] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} \ No newline at end of file diff --git a/docs/assets/imperative-scroll.stories-RBPWaAQt.js b/docs/assets/imperative-scroll.stories-y3gSc3eQ.js similarity index 88% rename from docs/assets/imperative-scroll.stories-RBPWaAQt.js rename to docs/assets/imperative-scroll.stories-y3gSc3eQ.js index 81ac69c97..1429d6e44 100644 --- a/docs/assets/imperative-scroll.stories-RBPWaAQt.js +++ b/docs/assets/imperative-scroll.stories-y3gSc3eQ.js @@ -1,4 +1,4 @@ -import{j as o,a as n,F as u}from"./marked.esm-dbrxtycE.js";import{R as g}from"./index-BMVQvedj.js";import{D as f}from"./data-editor-all-kwt0I9Kc.js";import{a as C,B as h,D as v,P as A,M as k,d as D}from"./utils-rXlmyYaC.js";import{S as b}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const j={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>o(b,{children:o(e,{})})]},r=e=>{const{cols:c,getCellContent:p,onColumnResize:d,setCellValue:m}=C(),t=g.useRef(null);return o(h,{title:"Imperative scrolling",description:n(u,{children:[n(v,{children:["You can imperatively scroll to a cell by calling ",o(A,{children:"scrollTo"})," on a DataEditor ref."]}),n(k,{children:["Click ",o("button",{onClick:()=>{var l;(l=t.current)==null||l.scrollTo(4,99,"both",e.paddingX,e.paddingY,{vAlign:e.vAlign,hAlign:e.hAlign})},children:"Here"})," to scroll to column 4 row 100"]})]}),children:o(f,{...D,ref:t,rowMarkers:"clickable-number",getCellContent:p,columns:c,onCellEdited:m,onColumnResize:d,rows:1e4})})};r.args={paddingY:0,paddingX:0,vAlign:"start",hAlign:"start"};r.argTypes={paddingY:0,paddingX:0,vAlign:{control:{type:"select"},options:["start","center","end",void 0]},hAlign:{control:{type:"select"},options:["start","center","end",void 0]}};var i,a,s;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`p => { +import{j as o,a as n,F as u}from"./marked.esm-dbrxtycE.js";import{R as g}from"./index-BMVQvedj.js";import{D as f}from"./data-editor-all-3W5wpw6K.js";import{a as C,B as h,D as v,P as A,M as k,d as D}from"./utils--Nf55hQd.js";import{S as b}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const j={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>o(b,{children:o(e,{})})]},r=e=>{const{cols:c,getCellContent:p,onColumnResize:d,setCellValue:m}=C(),t=g.useRef(null);return o(h,{title:"Imperative scrolling",description:n(u,{children:[n(v,{children:["You can imperatively scroll to a cell by calling ",o(A,{children:"scrollTo"})," on a DataEditor ref."]}),n(k,{children:["Click ",o("button",{onClick:()=>{var l;(l=t.current)==null||l.scrollTo(4,99,"both",e.paddingX,e.paddingY,{vAlign:e.vAlign,hAlign:e.hAlign})},children:"Here"})," to scroll to column 4 row 100"]})]}),children:o(f,{...D,ref:t,rowMarkers:"clickable-number",getCellContent:p,columns:c,onCellEdited:m,onColumnResize:d,rows:1e4})})};r.args={paddingY:0,paddingX:0,vAlign:"start",hAlign:"start"};r.argTypes={paddingY:0,paddingX:0,vAlign:{control:{type:"select"},options:["start","center","end",void 0]},hAlign:{control:{type:"select"},options:["start","center","end",void 0]}};var i,a,s;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`p => { const { cols, getCellContent, diff --git a/docs/assets/input-blending.stories-nU-4gQGB.js b/docs/assets/input-blending.stories-05pnBYfU.js similarity index 89% rename from docs/assets/input-blending.stories-nU-4gQGB.js rename to docs/assets/input-blending.stories-05pnBYfU.js index be216592b..bd7cecffa 100644 --- a/docs/assets/input-blending.stories-nU-4gQGB.js +++ b/docs/assets/input-blending.stories-05pnBYfU.js @@ -1,4 +1,4 @@ -import{j as n}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as u}from"./data-editor-all-kwt0I9Kc.js";import{B as s,D as a,u as p,d as m}from"./utils-rXlmyYaC.js";import{S as d}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const E={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>n(d,{children:n(s,{title:"Input blending",description:n(a,{children:"Input blending can be enabled or disable between row, column, and range selections. Multi-selections can also be enabled or disabled with the same level of granularity."}),children:n(e,{})})})]},t=e=>{const{cols:i,getCellContent:c}=p(30);return n(u,{...m,rowMarkers:e.rowMultiSelect==="none"?"number":"both",keybindings:{clear:!0,copy:!0,downFill:!0,rightFill:!0,pageDown:!0,pageUp:!0,paste:!0,search:!0,selectAll:!0,selectColumn:!0,selectRow:!0},getCellsForSelection:!0,rangeSelect:e.rangeMultiSelect,columnSelect:e.columnMultiSelect,rowSelect:e.rowMultiSelect,rangeSelectionBlending:e.rangeBlending,columnSelectionBlending:e.columnBlending,rowSelectionBlending:e.rowBlending,getCellContent:c,columns:i,rows:1e4})};t.args={rangeBlending:"mixed",columnBlending:"mixed",rowBlending:"mixed",rangeMultiSelect:"rect",columnMultiSelect:"multi",rowMultiSelect:"multi"};t.argTypes={rangeBlending:{control:{type:"select"},options:["mixed","exclusive"]},columnBlending:{control:{type:"select"},options:["mixed","exclusive"]},rowBlending:{control:{type:"select"},options:["mixed","exclusive"]},rangeMultiSelect:{control:{type:"select"},options:["none","cell","rect","multi-cell","multi-rect"]},columnMultiSelect:{control:{type:"select"},options:["none","single","multi"]},rowMultiSelect:{control:{type:"select"},options:["none","single","multi"]}};var l,o,r;t.parameters={...t.parameters,docs:{...(l=t.parameters)==null?void 0:l.docs,source:{originalSource:`p => { +import{j as n}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as u}from"./data-editor-all-3W5wpw6K.js";import{B as s,D as a,u as p,d as m}from"./utils--Nf55hQd.js";import{S as d}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const E={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>n(d,{children:n(s,{title:"Input blending",description:n(a,{children:"Input blending can be enabled or disable between row, column, and range selections. Multi-selections can also be enabled or disabled with the same level of granularity."}),children:n(e,{})})})]},t=e=>{const{cols:i,getCellContent:c}=p(30);return n(u,{...m,rowMarkers:e.rowMultiSelect==="none"?"number":"both",keybindings:{clear:!0,copy:!0,downFill:!0,rightFill:!0,pageDown:!0,pageUp:!0,paste:!0,search:!0,selectAll:!0,selectColumn:!0,selectRow:!0},getCellsForSelection:!0,rangeSelect:e.rangeMultiSelect,columnSelect:e.columnMultiSelect,rowSelect:e.rowMultiSelect,rangeSelectionBlending:e.rangeBlending,columnSelectionBlending:e.columnBlending,rowSelectionBlending:e.rowBlending,getCellContent:c,columns:i,rows:1e4})};t.args={rangeBlending:"mixed",columnBlending:"mixed",rowBlending:"mixed",rangeMultiSelect:"rect",columnMultiSelect:"multi",rowMultiSelect:"multi"};t.argTypes={rangeBlending:{control:{type:"select"},options:["mixed","exclusive"]},columnBlending:{control:{type:"select"},options:["mixed","exclusive"]},rowBlending:{control:{type:"select"},options:["mixed","exclusive"]},rangeMultiSelect:{control:{type:"select"},options:["none","cell","rect","multi-cell","multi-rect"]},columnMultiSelect:{control:{type:"select"},options:["none","single","multi"]},rowMultiSelect:{control:{type:"select"},options:["none","single","multi"]}};var l,o,r;t.parameters={...t.parameters,docs:{...(l=t.parameters)==null?void 0:l.docs,source:{originalSource:`p => { const { cols, getCellContent diff --git a/docs/assets/keybindings.stories-pj-qJmK5.js b/docs/assets/keybindings.stories-khzrIeAT.js similarity index 92% rename from docs/assets/keybindings.stories-pj-qJmK5.js rename to docs/assets/keybindings.stories-khzrIeAT.js index 060ce3dc2..d6046c217 100644 --- a/docs/assets/keybindings.stories-pj-qJmK5.js +++ b/docs/assets/keybindings.stories-khzrIeAT.js @@ -1,4 +1,4 @@ -import{j as n,a as s}from"./marked.esm-dbrxtycE.js";import{r as h}from"./index-BMVQvedj.js";import{D as f,k as C}from"./data-editor-all-kwt0I9Kc.js";import{u as x,B as K,D as v,d as w}from"./utils-rXlmyYaC.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const N={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>n(D,{children:n(o,{})})]},i=()=>{const{getCellContent:o,cols:y,setCellValue:g}=x(30,!1),u={display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gridColumnGap:"32px",gridRowGap:"10px",marginBottom:"10px",marginTop:"20px",font:"13px sans-serif"},m={display:"flex",justifyContent:"space-between",alignItems:"center"},{copy:S,cut:G,paste:j,pageDown:E,pageUp:T,first:B,last:M,...a}=C,[r,b]=h.useState(a),l=(e,t)=>{b(k=>({...k,[e]:t}))};return n(K,{title:"Custom Keybindings",description:s(v,{children:["This demo showcases custom keybindings. Modify the keybindings using the controls below.",n("div",{style:u,children:Object.keys(a).map(e=>s("div",{style:m,children:[s("label",{children:[e,": "]}),s("div",{children:[n("input",{type:"checkbox",checked:r[e]===!0,onChange:t=>l(e,!!t.target.checked)}),n("input",{type:"text",style:{width:"100px"},value:r[e]||"",onChange:t=>l(e,t.target.value)})]})]},e))})]}),children:n(f,{...w,getCellContent:o,onCellEdited:g,keybindings:r,columns:y,rangeSelect:"multi-rect",rows:100,rowMarkers:"both"})})};var d,p,c;i.parameters={...i.parameters,docs:{...(d=i.parameters)==null?void 0:d.docs,source:{originalSource:`() => { +import{j as n,a as s}from"./marked.esm-dbrxtycE.js";import{r as h}from"./index-BMVQvedj.js";import{D as f,k as C}from"./data-editor-all-3W5wpw6K.js";import{u as x,B as K,D as v,d as w}from"./utils--Nf55hQd.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const N={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>n(D,{children:n(o,{})})]},i=()=>{const{getCellContent:o,cols:y,setCellValue:g}=x(30,!1),u={display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gridColumnGap:"32px",gridRowGap:"10px",marginBottom:"10px",marginTop:"20px",font:"13px sans-serif"},m={display:"flex",justifyContent:"space-between",alignItems:"center"},{copy:S,cut:G,paste:j,pageDown:E,pageUp:T,first:B,last:M,...a}=C,[r,b]=h.useState(a),l=(e,t)=>{b(k=>({...k,[e]:t}))};return n(K,{title:"Custom Keybindings",description:s(v,{children:["This demo showcases custom keybindings. Modify the keybindings using the controls below.",n("div",{style:u,children:Object.keys(a).map(e=>s("div",{style:m,children:[s("label",{children:[e,": "]}),s("div",{children:[n("input",{type:"checkbox",checked:r[e]===!0,onChange:t=>l(e,!!t.target.checked)}),n("input",{type:"text",style:{width:"100px"},value:r[e]||"",onChange:t=>l(e,t.target.value)})]})]},e))})]}),children:n(f,{...w,getCellContent:o,onCellEdited:g,keybindings:r,columns:y,rangeSelect:"multi-rect",rows:100,rowMarkers:"both"})})};var d,p,c;i.parameters={...i.parameters,docs:{...(d=i.parameters)==null?void 0:d.docs,source:{originalSource:`() => { const { getCellContent, cols, diff --git a/docs/assets/layout-integration.stories-4rqTdFZx.js b/docs/assets/layout-integration.stories-TDasRRdi.js similarity index 82% rename from docs/assets/layout-integration.stories-4rqTdFZx.js rename to docs/assets/layout-integration.stories-TDasRRdi.js index 5edb464e6..c91400d76 100644 --- a/docs/assets/layout-integration.stories-4rqTdFZx.js +++ b/docs/assets/layout-integration.stories-TDasRRdi.js @@ -1,4 +1,4 @@ -import{j as t,a,F as d}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as s}from"./data-editor-all-kwt0I9Kc.js";import{b as m,D as h,u as c,d as n}from"./utils-rXlmyYaC.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const P={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>t(u,{children:a(m,{children:[t("h1",{children:"Layout Integration"}),t(h,{children:"Trying the grid in different situations"}),t(e,{})]})})]},r=()=>{const{cols:e,getCellContent:o}=c(1e3,!0,!0);return a(d,{children:[t(s,{...n,getCellContent:o,columns:e,rows:10,rowMarkers:"both",height:200}),t(s,{...n,getCellContent:o,columns:e,rows:10,rowMarkers:"both"}),a("div",{style:{display:"flex",height:"300px"},children:[t(s,{...n,getCellContent:o,columns:e,rows:10,rowMarkers:"both"}),t("div",{style:{flexShrink:0},children:"This is some text what happens here?"})]})]})};var i,l,p;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`() => { +import{j as t,a,F as d}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as s}from"./data-editor-all-3W5wpw6K.js";import{b as m,D as h,u as c,d as n}from"./utils--Nf55hQd.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const P={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>t(u,{children:a(m,{children:[t("h1",{children:"Layout Integration"}),t(h,{children:"Trying the grid in different situations"}),t(e,{})]})})]},r=()=>{const{cols:e,getCellContent:o}=c(1e3,!0,!0);return a(d,{children:[t(s,{...n,getCellContent:o,columns:e,rows:10,rowMarkers:"both",height:200}),t(s,{...n,getCellContent:o,columns:e,rows:10,rowMarkers:"both"}),a("div",{style:{display:"flex",height:"300px"},children:[t(s,{...n,getCellContent:o,columns:e,rows:10,rowMarkers:"both"}),t("div",{style:{flexShrink:0},children:"This is some text what happens here?"})]})]})};var i,l,p;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/multi-select-columns.stories-df7dzZfN.js b/docs/assets/multi-select-columns.stories-7L1MeFOj.js similarity index 77% rename from docs/assets/multi-select-columns.stories-df7dzZfN.js rename to docs/assets/multi-select-columns.stories-7L1MeFOj.js index 3ca424d1f..1debe0e4f 100644 --- a/docs/assets/multi-select-columns.stories-df7dzZfN.js +++ b/docs/assets/multi-select-columns.stories-7L1MeFOj.js @@ -1,4 +1,4 @@ -import{j as e,a as t,F as m}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as p}from"./data-editor-all-kwt0I9Kc.js";import{B as u,D as d,P as s,M as C,K as n,u as h,d as D}from"./utils-rXlmyYaC.js";import{S as M}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(M,{children:e(u,{title:"Multi select columns",description:t(m,{children:[t(d,{children:["You can select multiple columns by using the ",e(s,{children:"selectedColumns"})," and"," ",e(s,{children:"onSelectedColumnsChange"})," props"]}),t(C,{children:["Here you can multi select columns by using ",e(n,{children:"Ctrl"})," (on Windows) or"," ",e(n,{children:"⌘"})," (on Mac)"]})]}),children:e(r,{})})})]},o=()=>{const{cols:r,getCellContent:c}=h(100);return e(p,{...D,getCellContent:c,rowMarkers:"both",columns:r,rows:1e5})};var l,a,i;o.parameters={...o.parameters,docs:{...(l=o.parameters)==null?void 0:l.docs,source:{originalSource:`() => { +import{j as e,a as t,F as m}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as p}from"./data-editor-all-3W5wpw6K.js";import{B as u,D as d,P as s,M as C,K as n,u as h,d as D}from"./utils--Nf55hQd.js";import{S as M}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(M,{children:e(u,{title:"Multi select columns",description:t(m,{children:[t(d,{children:["You can select multiple columns by using the ",e(s,{children:"selectedColumns"})," and"," ",e(s,{children:"onSelectedColumnsChange"})," props"]}),t(C,{children:["Here you can multi select columns by using ",e(n,{children:"Ctrl"})," (on Windows) or"," ",e(n,{children:"⌘"})," (on Mac)"]})]}),children:e(r,{})})})]},o=()=>{const{cols:r,getCellContent:c}=h(100);return e(p,{...D,getCellContent:c,rowMarkers:"both",columns:r,rows:1e5})};var l,a,i;o.parameters={...o.parameters,docs:{...(l=o.parameters)==null?void 0:l.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/new-column-button.stories-Ukr2c62E.js b/docs/assets/new-column-button.stories-btvWGGLu.js similarity index 83% rename from docs/assets/new-column-button.stories-Ukr2c62E.js rename to docs/assets/new-column-button.stories-btvWGGLu.js index 8466de9c2..e19cb99ee 100644 --- a/docs/assets/new-column-button.stories-Ukr2c62E.js +++ b/docs/assets/new-column-button.stories-btvWGGLu.js @@ -1,4 +1,4 @@ -import{j as t,a as i}from"./marked.esm-dbrxtycE.js";import{R as c}from"./index-BMVQvedj.js";import{D as u}from"./data-editor-all-kwt0I9Kc.js";import{B as d,D as p,P as C,u as f,d as h,C as w}from"./utils-rXlmyYaC.js";import{S as g}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const y={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>t(g,{children:t(d,{title:"New column button",description:i(p,{children:["A new column button can be created using the ",t(C,{children:"rightElement"}),"."]}),children:t(o,{})})})]},e=()=>{const{cols:o,getCellContent:a}=f(10,!0),l=c.useMemo(()=>o.map(m=>({...m,grow:1})),[o]);return t(u,{...h,getCellContent:a,columns:l,rightElement:t(w,{children:t("button",{onClick:()=>window.alert("Add a column!"),children:"+"})}),rightElementProps:{fill:!1,sticky:!1},rows:3e3,rowMarkers:"both"})};var r,n,s;e.parameters={...e.parameters,docs:{...(r=e.parameters)==null?void 0:r.docs,source:{originalSource:`() => { +import{j as t,a as i}from"./marked.esm-dbrxtycE.js";import{R as c}from"./index-BMVQvedj.js";import{D as u}from"./data-editor-all-3W5wpw6K.js";import{B as d,D as p,P as C,u as f,d as h,C as w}from"./utils--Nf55hQd.js";import{S as g}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const y={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>t(g,{children:t(d,{title:"New column button",description:i(p,{children:["A new column button can be created using the ",t(C,{children:"rightElement"}),"."]}),children:t(o,{})})})]},e=()=>{const{cols:o,getCellContent:a}=f(10,!0),l=c.useMemo(()=>o.map(m=>({...m,grow:1})),[o]);return t(u,{...h,getCellContent:a,columns:l,rightElement:t(w,{children:t("button",{onClick:()=>window.alert("Add a column!"),children:"+"})}),rightElementProps:{fill:!1,sticky:!1},rows:3e3,rowMarkers:"both"})};var r,n,s;e.parameters={...e.parameters,docs:{...(r=e.parameters)==null?void 0:r.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/obscured-grid.stories-dzKX0-Va.js b/docs/assets/obscured-grid.stories-Sxr4_hgz.js similarity index 85% rename from docs/assets/obscured-grid.stories-dzKX0-Va.js rename to docs/assets/obscured-grid.stories-Sxr4_hgz.js index b5fa8f191..56679c6cd 100644 --- a/docs/assets/obscured-grid.stories-dzKX0-Va.js +++ b/docs/assets/obscured-grid.stories-Sxr4_hgz.js @@ -1,4 +1,4 @@ -import{j as o,a as n,F as c}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as u}from"./data-editor-all-kwt0I9Kc.js";import{B as C,D as m,M as p,u as g,d as x}from"./utils-rXlmyYaC.js";import{S as h}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const S={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>o(h,{children:n(C,{title:"Obscured Data Grid",description:n(c,{children:[o(m,{children:"The data grid should respect being obscured by other elements"}),o(p,{children:"This is mostly a test area because its hard to test with unit tests."})]}),children:[o(r,{}),o("div",{style:{position:"absolute",top:0,left:"50%",width:"50%",height:"100%",background:"rgba(0,0,0,0.5)",zIndex:100}})]})})]},t=()=>{const{cols:r,getCellContent:i,setCellValue:d}=g(60,!1);return o(u,{...x,getCellContent:i,onItemHovered:e=>console.log("onItemHovered",e),onCellClicked:e=>console.log("onCellClicked",e),onHeaderClicked:e=>console.log("onHeaderClicked",e),onCellContextMenu:e=>console.log("onCellContextMenu",e),onHeaderContextMenu:e=>console.log("onHeaderContextMenu",e),columns:r,rowMarkers:"both",onPaste:!0,onCellEdited:d,trailingRowOptions:{sticky:!0,tint:!0,hint:"New row..."},rows:1e4})};var l,s,a;t.parameters={...t.parameters,docs:{...(l=t.parameters)==null?void 0:l.docs,source:{originalSource:`() => { +import{j as o,a as n,F as c}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as u}from"./data-editor-all-3W5wpw6K.js";import{B as C,D as m,M as p,u as g,d as x}from"./utils--Nf55hQd.js";import{S as h}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const S={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>o(h,{children:n(C,{title:"Obscured Data Grid",description:n(c,{children:[o(m,{children:"The data grid should respect being obscured by other elements"}),o(p,{children:"This is mostly a test area because its hard to test with unit tests."})]}),children:[o(r,{}),o("div",{style:{position:"absolute",top:0,left:"50%",width:"50%",height:"100%",background:"rgba(0,0,0,0.5)",zIndex:100}})]})})]},t=()=>{const{cols:r,getCellContent:i,setCellValue:d}=g(60,!1);return o(u,{...x,getCellContent:i,onItemHovered:e=>console.log("onItemHovered",e),onCellClicked:e=>console.log("onCellClicked",e),onHeaderClicked:e=>console.log("onHeaderClicked",e),onCellContextMenu:e=>console.log("onCellContextMenu",e),onHeaderContextMenu:e=>console.log("onHeaderContextMenu",e),columns:r,rowMarkers:"both",onPaste:!0,onCellEdited:d,trailingRowOptions:{sticky:!0,tint:!0,hint:"New row..."},rows:1e4})};var l,s,a;t.parameters={...t.parameters,docs:{...(l=t.parameters)==null?void 0:l.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/observe-visible-region.stories-VBERjiaI.js b/docs/assets/observe-visible-region.stories-d_K5DrAi.js similarity index 84% rename from docs/assets/observe-visible-region.stories-VBERjiaI.js rename to docs/assets/observe-visible-region.stories-d_K5DrAi.js index 93ba983c5..186671dab 100644 --- a/docs/assets/observe-visible-region.stories-VBERjiaI.js +++ b/docs/assets/observe-visible-region.stories-d_K5DrAi.js @@ -1,4 +1,4 @@ -import{j as e,a as t,F as g}from"./marked.esm-dbrxtycE.js";import{R as p}from"./index-BMVQvedj.js";import{D as d}from"./data-editor-all-kwt0I9Kc.js";import{u as h,B as b,D as u,P as R,M as v,K as n,d as y}from"./utils-rXlmyYaC.js";import{S as f}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const W={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(f,{children:e(r,{})})]},o=()=>{const{cols:r,getCellContent:c}=h(100),[i,m]=p.useState({x:0,y:0,width:0,height:0});return e(b,{title:"Observe Visible Region",description:t(g,{children:[t(u,{children:["The visible region can be observed using ",e(R,{children:"onVisibleRegionChanged"})]}),t(v,{children:["Then current visible region is x:",e(n,{children:i.x})," y:",e(n,{children:i.y})," width:",e(n,{children:i.width})," height:",e(n,{children:i.height})]})]}),children:e(d,{...y,getCellContent:c,columns:r,rows:1e3,onVisibleRegionChanged:m})})};var s,a,l;o.parameters={...o.parameters,docs:{...(s=o.parameters)==null?void 0:s.docs,source:{originalSource:`() => { +import{j as e,a as t,F as g}from"./marked.esm-dbrxtycE.js";import{R as p}from"./index-BMVQvedj.js";import{D as d}from"./data-editor-all-3W5wpw6K.js";import{u as h,B as b,D as u,P as R,M as v,K as n,d as y}from"./utils--Nf55hQd.js";import{S as f}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const W={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(f,{children:e(r,{})})]},o=()=>{const{cols:r,getCellContent:c}=h(100),[i,m]=p.useState({x:0,y:0,width:0,height:0});return e(b,{title:"Observe Visible Region",description:t(g,{children:[t(u,{children:["The visible region can be observed using ",e(R,{children:"onVisibleRegionChanged"})]}),t(v,{children:["Then current visible region is x:",e(n,{children:i.x})," y:",e(n,{children:i.y})," width:",e(n,{children:i.width})," height:",e(n,{children:i.height})]})]}),children:e(d,{...y,getCellContent:c,columns:r,rows:1e3,onVisibleRegionChanged:m})})};var s,a,l;o.parameters={...o.parameters,docs:{...(s=o.parameters)==null?void 0:s.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/one-hundred-thousand-columns.stories-B65s-hu6.js b/docs/assets/one-hundred-thousand-columns.stories-GUGwiwE-.js similarity index 77% rename from docs/assets/one-hundred-thousand-columns.stories-B65s-hu6.js rename to docs/assets/one-hundred-thousand-columns.stories-GUGwiwE-.js index 23d2ded5f..3e67fb5cc 100644 --- a/docs/assets/one-hundred-thousand-columns.stories-B65s-hu6.js +++ b/docs/assets/one-hundred-thousand-columns.stories-GUGwiwE-.js @@ -1,4 +1,4 @@ -import{j as o}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as i}from"./data-editor-all-kwt0I9Kc.js";import{B as l,D as m,u as d,d as p}from"./utils-rXlmyYaC.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const j={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>o(u,{children:o(l,{title:"One Hundred Thousand Columns",description:o(m,{children:"Data grid supports way more columns than you will ever need. Also this is rendering 10 million cells but that's not important."}),children:o(t,{})})})]},r=()=>{const{cols:t,getCellContent:a}=d(1e5);return o(i,{...p,getCellContent:a,columns:t,rows:1e3})};var e,s,n;r.parameters={...r.parameters,docs:{...(e=r.parameters)==null?void 0:e.docs,source:{originalSource:`() => { +import{j as o}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as i}from"./data-editor-all-3W5wpw6K.js";import{B as l,D as m,u as d,d as p}from"./utils--Nf55hQd.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const j={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>o(u,{children:o(l,{title:"One Hundred Thousand Columns",description:o(m,{children:"Data grid supports way more columns than you will ever need. Also this is rendering 10 million cells but that's not important."}),children:o(t,{})})})]},r=()=>{const{cols:t,getCellContent:a}=d(1e5);return o(i,{...p,getCellContent:a,columns:t,rows:1e3})};var e,s,n;r.parameters={...r.parameters,docs:{...(e=r.parameters)==null?void 0:e.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/one-million-rows.stories-siQRN1mD.js b/docs/assets/one-million-rows.stories-ecKFr2fk.js similarity index 77% rename from docs/assets/one-million-rows.stories-siQRN1mD.js rename to docs/assets/one-million-rows.stories-ecKFr2fk.js index 8c2a727f6..2ef40267b 100644 --- a/docs/assets/one-million-rows.stories-siQRN1mD.js +++ b/docs/assets/one-million-rows.stories-ecKFr2fk.js @@ -1,4 +1,4 @@ -import{j as o}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as n}from"./data-editor-all-kwt0I9Kc.js";import{B as l,D as m,u as p,d as c}from"./utils-rXlmyYaC.js";import{S as d}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const S={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>o(d,{children:o(l,{title:"One Million Rows",description:o(m,{children:"Data grid supports over 1 million rows. Your limit is mostly RAM."}),children:o(t,{})})})]},r=()=>{const{cols:t,getCellContent:a}=p(6);return o(n,{...c,getCellContent:a,columns:t,rowHeight:31,rows:1e6,rowMarkers:"number"})};var e,s,i;r.parameters={...r.parameters,docs:{...(e=r.parameters)==null?void 0:e.docs,source:{originalSource:`() => { +import{j as o}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as n}from"./data-editor-all-3W5wpw6K.js";import{B as l,D as m,u as p,d as c}from"./utils--Nf55hQd.js";import{S as d}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const S={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>o(d,{children:o(l,{title:"One Million Rows",description:o(m,{children:"Data grid supports over 1 million rows. Your limit is mostly RAM."}),children:o(t,{})})})]},r=()=>{const{cols:t,getCellContent:a}=p(6);return o(n,{...c,getCellContent:a,columns:t,rowHeight:31,rows:1e6,rowMarkers:"number"})};var e,s,i;r.parameters={...r.parameters,docs:{...(e=r.parameters)==null?void 0:e.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/overscroll.stories-eDnogoJL.js b/docs/assets/overscroll.stories--00iIFjI.js similarity index 78% rename from docs/assets/overscroll.stories-eDnogoJL.js rename to docs/assets/overscroll.stories--00iIFjI.js index 3c563a9d9..351fb4fa7 100644 --- a/docs/assets/overscroll.stories-eDnogoJL.js +++ b/docs/assets/overscroll.stories--00iIFjI.js @@ -1,4 +1,4 @@ -import{j as r,F as m,a as d}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as v}from"./data-editor-all-kwt0I9Kc.js";import{B as u,D as g,P as t,u as h,d as D}from"./utils-rXlmyYaC.js";import{S as f}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>r(f,{children:r(u,{title:"Overscroll",description:r(m,{children:d(g,{children:["You can allocate extra space at the ends of the grid by setting the"," ",r(t,{children:"overscrollX"})," and ",r(t,{children:"overscrollY"})," props"]})}),children:r(e,{})})})]},o=e=>{const{overscrollX:c,overscrollY:n}=e,{cols:i,getCellContent:p}=h(20);return r(v,{...D,getCellContent:p,columns:i,overscrollX:c,overscrollY:n,rows:50})};o.argTypes={overscrollX:{control:{type:"range",min:0,max:600}},overscrollY:{control:{type:"range",min:0,max:600}}};o.args={overscrollX:200,overscrollY:200};var s,l,a;o.parameters={...o.parameters,docs:{...(s=o.parameters)==null?void 0:s.docs,source:{originalSource:`p => { +import{j as r,F as m,a as d}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as v}from"./data-editor-all-3W5wpw6K.js";import{B as u,D as g,P as t,u as h,d as D}from"./utils--Nf55hQd.js";import{S as f}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>r(f,{children:r(u,{title:"Overscroll",description:r(m,{children:d(g,{children:["You can allocate extra space at the ends of the grid by setting the"," ",r(t,{children:"overscrollX"})," and ",r(t,{children:"overscrollY"})," props"]})}),children:r(e,{})})})]},o=e=>{const{overscrollX:c,overscrollY:n}=e,{cols:i,getCellContent:p}=h(20);return r(v,{...D,getCellContent:p,columns:i,overscrollX:c,overscrollY:n,rows:50})};o.argTypes={overscrollX:{control:{type:"range",min:0,max:600}},overscrollY:{control:{type:"range",min:0,max:600}}};o.args={overscrollX:200,overscrollY:200};var s,l,a;o.parameters={...o.parameters,docs:{...(s=o.parameters)==null?void 0:s.docs,source:{originalSource:`p => { const { overscrollX, overscrollY diff --git a/docs/assets/padding.stories-LQeTRVYn.js b/docs/assets/padding.stories-gGAkrL6U.js similarity index 78% rename from docs/assets/padding.stories-LQeTRVYn.js rename to docs/assets/padding.stories-gGAkrL6U.js index 25e915cd8..0d3310a19 100644 --- a/docs/assets/padding.stories-LQeTRVYn.js +++ b/docs/assets/padding.stories-gGAkrL6U.js @@ -1,4 +1,4 @@ -import{j as t,F as g,a as l}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as c}from"./data-editor-all-kwt0I9Kc.js";import{B as h,D as u,P as e,u as D,d as f}from"./utils-rXlmyYaC.js";import{S as x}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const T={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>t(x,{children:t(h,{title:"Padding",description:t(g,{children:l(u,{children:["You can add padding at the ends of the grid by setting the"," ",t(e,{children:"paddingRight"})," and ",t(e,{children:"paddingBottom"})," props"]})}),children:t(r,{})})})]},o=r=>{const{paddingRight:d,paddingBottom:s}=r,{cols:p,getCellContent:m}=D(20);return t(c,{...f,getCellContent:m,columns:p,rowMarkers:"both",experimental:{paddingRight:d,paddingBottom:s},rows:50})};o.argTypes={paddingRight:{control:{type:"range",min:0,max:600}},paddingBottom:{control:{type:"range",min:0,max:600}}};o.args={paddingRight:200,paddingBottom:200};var a,n,i;o.parameters={...o.parameters,docs:{...(a=o.parameters)==null?void 0:a.docs,source:{originalSource:`p => { +import{j as t,F as g,a as l}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as c}from"./data-editor-all-3W5wpw6K.js";import{B as h,D as u,P as e,u as D,d as f}from"./utils--Nf55hQd.js";import{S as x}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const T={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>t(x,{children:t(h,{title:"Padding",description:t(g,{children:l(u,{children:["You can add padding at the ends of the grid by setting the"," ",t(e,{children:"paddingRight"})," and ",t(e,{children:"paddingBottom"})," props"]})}),children:t(r,{})})})]},o=r=>{const{paddingRight:d,paddingBottom:s}=r,{cols:p,getCellContent:m}=D(20);return t(c,{...f,getCellContent:m,columns:p,rowMarkers:"both",experimental:{paddingRight:d,paddingBottom:s},rows:50})};o.argTypes={paddingRight:{control:{type:"range",min:0,max:600}},paddingBottom:{control:{type:"range",min:0,max:600}}};o.args={paddingRight:200,paddingBottom:200};var a,n,i;o.parameters={...o.parameters,docs:{...(a=o.parameters)==null?void 0:a.docs,source:{originalSource:`p => { const { paddingRight, paddingBottom diff --git a/docs/assets/paste-support.stories-YLgQ3BbB.js b/docs/assets/paste-support.stories-00YxhDIm.js similarity index 86% rename from docs/assets/paste-support.stories-YLgQ3BbB.js rename to docs/assets/paste-support.stories-00YxhDIm.js index 86a20d2ee..37ef3e4e6 100644 --- a/docs/assets/paste-support.stories-YLgQ3BbB.js +++ b/docs/assets/paste-support.stories-00YxhDIm.js @@ -1,4 +1,4 @@ -import{j as e,a,F as d}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as m}from"./data-editor-all-kwt0I9Kc.js";import{B as u,D as c,P as g,M as h,u as f,d as C}from"./utils-rXlmyYaC.js";import{S as y}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>e(y,{children:e(u,{title:"Paste support",description:a(d,{children:[a(c,{children:["The data grid can handle paste automatically by returning true from"," ",e(g,{children:"onPaste"}),". You can also return false and handle paste yourself. If paste is undefined the DataEditor will do its best to paste to the current cell."]}),e(h,{children:"Paste supports the copy format of Google Sheets and Excel. Below is an example of data copied from excel with some escaped text."}),e("textarea",{value:`Sunday Dogs https://google.com +import{j as e,a,F as d}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as m}from"./data-editor-all-3W5wpw6K.js";import{B as u,D as c,P as g,M as h,u as f,d as C}from"./utils--Nf55hQd.js";import{S as y}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>e(y,{children:e(u,{title:"Paste support",description:a(d,{children:[a(c,{children:["The data grid can handle paste automatically by returning true from"," ",e(g,{children:"onPaste"}),". You can also return false and handle paste yourself. If paste is undefined the DataEditor will do its best to paste to the current cell."]}),e(h,{children:"Paste supports the copy format of Google Sheets and Excel. Below is an example of data copied from excel with some escaped text."}),e("textarea",{value:`Sunday Dogs https://google.com Monday Cats https://google.com Tuesday Turtles https://google.com Wednesday Bears https://google.com diff --git a/docs/assets/prevent-diagonal-scroll.stories-aYu87AG0.js b/docs/assets/prevent-diagonal-scroll.stories-eyaK6XCn.js similarity index 74% rename from docs/assets/prevent-diagonal-scroll.stories-aYu87AG0.js rename to docs/assets/prevent-diagonal-scroll.stories-eyaK6XCn.js index 3b3d24bb5..123ce105f 100644 --- a/docs/assets/prevent-diagonal-scroll.stories-aYu87AG0.js +++ b/docs/assets/prevent-diagonal-scroll.stories-eyaK6XCn.js @@ -1,4 +1,4 @@ -import{j as r,F as i,a as s}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as p}from"./data-editor-all-kwt0I9Kc.js";import{B as c,D as m,P as d,u as g,d as D}from"./utils-rXlmyYaC.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>r(u,{children:r(c,{title:"Prevent Diagonal Scroll",description:r(i,{children:s(m,{children:["Diagonal scrolling can be prevented by setting"," ",r(d,{children:"preventDiagonalScrolling"}),"."]})}),children:r(o,{})})})]},e=()=>{const{cols:o,getCellContent:l}=g(200);return r(p,{...D,getCellContent:l,columns:o,preventDiagonalScrolling:!0,rows:5e3})};var t,a,n;e.parameters={...e.parameters,docs:{...(t=e.parameters)==null?void 0:t.docs,source:{originalSource:`() => { +import{j as r,F as i,a as s}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as p}from"./data-editor-all-3W5wpw6K.js";import{B as c,D as m,P as d,u as g,d as D}from"./utils--Nf55hQd.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const F={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>r(u,{children:r(c,{title:"Prevent Diagonal Scroll",description:r(i,{children:s(m,{children:["Diagonal scrolling can be prevented by setting"," ",r(d,{children:"preventDiagonalScrolling"}),"."]})}),children:r(o,{})})})]},e=()=>{const{cols:o,getCellContent:l}=g(200);return r(p,{...D,getCellContent:l,columns:o,preventDiagonalScrolling:!0,rows:5e3})};var t,a,n;e.parameters={...e.parameters,docs:{...(t=e.parameters)==null?void 0:t.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/rapid-updates.stories-hZit4TOS.js b/docs/assets/rapid-updates.stories-rfLgmMAI.js similarity index 92% rename from docs/assets/rapid-updates.stories-hZit4TOS.js rename to docs/assets/rapid-updates.stories-rfLgmMAI.js index 710b1c31a..97d13aa52 100644 --- a/docs/assets/rapid-updates.stories-hZit4TOS.js +++ b/docs/assets/rapid-updates.stories-rfLgmMAI.js @@ -1,4 +1,4 @@ -import{j as e,a as h,F as k}from"./marked.esm-dbrxtycE.js";import{R as n}from"./index-BMVQvedj.js";import{u as U,B as M,D as b,M as E,K as I,d as G}from"./utils-rXlmyYaC.js";import{G as v}from"./image-window-loader-aMebukIX.js";import{S as A}from"./story-utils-K2EZnGjM.js";import{D as F}from"./data-editor-all-kwt0I9Kc.js";import"./index-PWBWJyi_.js";import"./_baseIteratee-WTHxv43n.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";import"./flatten-qRvRBp6y.js";import"./throttle-7EuXLZa7.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./scrolling-data-grid-AbyJF5mC.js";const z={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(A,{children:e(r,{})})]};let w=1;function R(){return w=w*16807%2147483647}const a=()=>{const{cols:r,getCellContent:D,setCellValueRaw:s}=U(100),l=n.useRef(null),d=n.useRef(0),o=n.useRef(null);return n.useEffect(()=>{let i=0;const c=()=>{var p;const u=[],x=performance.now();for(let t=0;t<5e3;t++){const f=Math.max(10,R()%100),m=R()%1e4;s([f,m],{kind:v.Text,data:t.toString(),displayData:`${t}k`,themeOverride:t%5!==0?{bgCell:"#f2fff4",textDark:"#00d41c"}:{bgCell:"#fff6f6",textDark:"#d40000"},allowOverlay:!0,lastUpdated:x}),u.push({cell:[f,m]})}d.current+=5e3,o.current!==null&&(o.current.textContent=`${d.current}`),(p=l.current)==null||p.updateCells(u),i=window.requestAnimationFrame(c)};return c(),()=>{cancelAnimationFrame(i)}},[s]),e(M,{title:"Rapid updating",description:h(k,{children:[e(b,{children:"Data grid can support many thousands of updates per seconds. The data grid can easily update data faster than a human can read it, more importantly the faster the data grid can update, the more time your code can spend doing more valuable work."}),h(E,{children:["Updates processed: ",e(I,{ref:o})," We could do this faster but we wrote a really crappy data store for this demo which is actually slowing down the data grid."]})]}),children:e(F,{...G,ref:l,getCellContent:D,columns:r,rows:1e4})})};var C,g,y;a.parameters={...a.parameters,docs:{...(C=a.parameters)==null?void 0:C.docs,source:{originalSource:`() => { +import{j as e,a as h,F as k}from"./marked.esm-dbrxtycE.js";import{R as n}from"./index-BMVQvedj.js";import{u as U,B as M,D as b,M as E,K as I,d as G}from"./utils--Nf55hQd.js";import{G as v}from"./image-window-loader-Hk1rG8Sr.js";import{S as A}from"./story-utils-K2EZnGjM.js";import{D as F}from"./data-editor-all-3W5wpw6K.js";import"./index-PWBWJyi_.js";import"./_baseIteratee-WTHxv43n.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";import"./flatten-qRvRBp6y.js";import"./throttle-7EuXLZa7.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./scrolling-data-grid-6oMlsc5s.js";const z={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(A,{children:e(r,{})})]};let w=1;function R(){return w=w*16807%2147483647}const a=()=>{const{cols:r,getCellContent:D,setCellValueRaw:s}=U(100),l=n.useRef(null),d=n.useRef(0),o=n.useRef(null);return n.useEffect(()=>{let i=0;const c=()=>{var p;const u=[],x=performance.now();for(let t=0;t<5e3;t++){const f=Math.max(10,R()%100),m=R()%1e4;s([f,m],{kind:v.Text,data:t.toString(),displayData:`${t}k`,themeOverride:t%5!==0?{bgCell:"#f2fff4",textDark:"#00d41c"}:{bgCell:"#fff6f6",textDark:"#d40000"},allowOverlay:!0,lastUpdated:x}),u.push({cell:[f,m]})}d.current+=5e3,o.current!==null&&(o.current.textContent=`${d.current}`),(p=l.current)==null||p.updateCells(u),i=window.requestAnimationFrame(c)};return c(),()=>{cancelAnimationFrame(i)}},[s]),e(M,{title:"Rapid updating",description:h(k,{children:[e(b,{children:"Data grid can support many thousands of updates per seconds. The data grid can easily update data faster than a human can read it, more importantly the faster the data grid can update, the more time your code can spend doing more valuable work."}),h(E,{children:["Updates processed: ",e(I,{ref:o})," We could do this faster but we wrote a really crappy data store for this demo which is actually slowing down the data grid."]})]}),children:e(F,{...G,ref:l,getCellContent:D,columns:r,rows:1e4})})};var C,g,y;a.parameters={...a.parameters,docs:{...(C=a.parameters)==null?void 0:C.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/rearrange-columns.stories-tRdCAtaK.js b/docs/assets/rearrange-columns.stories-saNqxbHc.js similarity index 88% rename from docs/assets/rearrange-columns.stories-tRdCAtaK.js rename to docs/assets/rearrange-columns.stories-saNqxbHc.js index d7149cd0a..4ac2e768a 100644 --- a/docs/assets/rearrange-columns.stories-tRdCAtaK.js +++ b/docs/assets/rearrange-columns.stories-saNqxbHc.js @@ -1,4 +1,4 @@ -import{j as t,a as x}from"./marked.esm-dbrxtycE.js";import{R as l}from"./index-BMVQvedj.js";import{D as v}from"./data-editor-all-kwt0I9Kc.js";import{B as h,D as k,P as f,u as I,d as S}from"./utils-rXlmyYaC.js";import{S as w}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const q={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>t(w,{children:t(h,{title:"Rearrange Columns",description:x(k,{children:["Columns can be rearranged by drag and dropping, as long as you respond to the"," ",t(f,{children:"onColumnMoved"})," callback."]}),children:t(e,{})})})]},s=()=>{const{cols:e,getCellContent:d}=I(60),[a,p]=l.useState(e),u=l.useCallback((r,o)=>{p(c=>{const n=[...c],[M]=n.splice(r,1);return n.splice(o,0,M),n})},[]),g=l.useCallback((r,o)=>o!==3,[]),b=l.useCallback(([r,o])=>{const c=e.findIndex(n=>n.title===a[r].title);return d([c,o])},[e,d,a]);return t(v,{...S,freezeColumns:1,rowMarkers:"both",getCellContent:b,onColumnProposeMove:g,columns:a,onColumnMoved:u,columnSelectionBlending:"mixed",rangeSelectionBlending:"mixed",rows:1e3})};var i,C,m;s.parameters={...s.parameters,docs:{...(i=s.parameters)==null?void 0:i.docs,source:{originalSource:`() => { +import{j as t,a as x}from"./marked.esm-dbrxtycE.js";import{R as l}from"./index-BMVQvedj.js";import{D as v}from"./data-editor-all-3W5wpw6K.js";import{B as h,D as k,P as f,u as I,d as S}from"./utils--Nf55hQd.js";import{S as w}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const q={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>t(w,{children:t(h,{title:"Rearrange Columns",description:x(k,{children:["Columns can be rearranged by drag and dropping, as long as you respond to the"," ",t(f,{children:"onColumnMoved"})," callback."]}),children:t(e,{})})})]},s=()=>{const{cols:e,getCellContent:d}=I(60),[a,p]=l.useState(e),u=l.useCallback((r,o)=>{p(c=>{const n=[...c],[M]=n.splice(r,1);return n.splice(o,0,M),n})},[]),g=l.useCallback((r,o)=>o!==3,[]),b=l.useCallback(([r,o])=>{const c=e.findIndex(n=>n.title===a[r].title);return d([c,o])},[e,d,a]);return t(v,{...S,freezeColumns:1,rowMarkers:"both",getCellContent:b,onColumnProposeMove:g,columns:a,onColumnMoved:u,columnSelectionBlending:"mixed",rangeSelectionBlending:"mixed",rows:1e3})};var i,C,m;s.parameters={...s.parameters,docs:{...(i=s.parameters)==null?void 0:i.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/reorder-rows.stories-t9yHLkO8.js b/docs/assets/reorder-rows.stories-3Viw5Csb.js similarity index 87% rename from docs/assets/reorder-rows.stories-t9yHLkO8.js rename to docs/assets/reorder-rows.stories-3Viw5Csb.js index 68e28159e..8082dd3a2 100644 --- a/docs/assets/reorder-rows.stories-t9yHLkO8.js +++ b/docs/assets/reorder-rows.stories-3Viw5Csb.js @@ -1,4 +1,4 @@ -import{j as o,F as C,a as D}from"./marked.esm-dbrxtycE.js";import{l as f}from"./lodash-8jIGfDyZ.js";import{R as t}from"./index-BMVQvedj.js";import{D as h}from"./data-editor-all-kwt0I9Kc.js";import{B as b,D as g,P as v,d as k}from"./utils-rXlmyYaC.js";import{G as x}from"./image-window-loader-aMebukIX.js";import{S as M}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const q={title:"Glide-Data-Grid/DataEditor Demos",decorators:[s=>o(M,{children:o(b,{title:"Reorder Rows",description:o(C,{children:D(g,{children:["Rows can be re-arranged by using the ",o(v,{children:"onRowMoved"})," callback. When set the first row can be used to drag and drop."]})}),children:o(s,{})})})]},a=()=>{const s=t.useMemo(()=>[{title:"Col A",width:150},{title:"Col B",width:150}],[]),[n,m]=t.useState(()=>f.range(0,50).map(e=>[`A: ${e}`,`B: ${e}`])),p=t.useCallback(([e,r])=>({kind:x.Text,allowOverlay:!1,data:n[r][e],displayData:n[r][e]}),[n]),w=t.useCallback((e,r)=>{m(u=>{const l=[...u],R=l.splice(e,1);return l.splice(r,0,...R),l})},[]);return o(h,{...k,rowMarkers:"both",onRowMoved:w,getCellContent:p,columns:s,rows:50})};var d,i,c;a.parameters={...a.parameters,docs:{...(d=a.parameters)==null?void 0:d.docs,source:{originalSource:`() => { +import{j as o,F as C,a as D}from"./marked.esm-dbrxtycE.js";import{l as f}from"./lodash-8jIGfDyZ.js";import{R as t}from"./index-BMVQvedj.js";import{D as h}from"./data-editor-all-3W5wpw6K.js";import{B as b,D as g,P as v,d as k}from"./utils--Nf55hQd.js";import{G as x}from"./image-window-loader-Hk1rG8Sr.js";import{S as M}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const q={title:"Glide-Data-Grid/DataEditor Demos",decorators:[s=>o(M,{children:o(b,{title:"Reorder Rows",description:o(C,{children:D(g,{children:["Rows can be re-arranged by using the ",o(v,{children:"onRowMoved"})," callback. When set the first row can be used to drag and drop."]})}),children:o(s,{})})})]},a=()=>{const s=t.useMemo(()=>[{title:"Col A",width:150},{title:"Col B",width:150}],[]),[n,m]=t.useState(()=>f.range(0,50).map(e=>[`A: ${e}`,`B: ${e}`])),p=t.useCallback(([e,r])=>({kind:x.Text,allowOverlay:!1,data:n[r][e],displayData:n[r][e]}),[n]),w=t.useCallback((e,r)=>{m(u=>{const l=[...u],R=l.splice(e,1);return l.splice(r,0,...R),l})},[]);return o(h,{...k,rowMarkers:"both",onRowMoved:w,getCellContent:p,columns:s,rows:50})};var d,i,c;a.parameters={...a.parameters,docs:{...(d=a.parameters)==null?void 0:d.docs,source:{originalSource:`() => { const cols = React.useMemo(() => [{ title: "Col A", width: 150 diff --git a/docs/assets/resizable-columns.stories-TbP8xy4s.js b/docs/assets/resizable-columns.stories-21_6VX6P.js similarity index 85% rename from docs/assets/resizable-columns.stories-TbP8xy4s.js rename to docs/assets/resizable-columns.stories-21_6VX6P.js index 6e0b3578a..b460e65a4 100644 --- a/docs/assets/resizable-columns.stories-TbP8xy4s.js +++ b/docs/assets/resizable-columns.stories-21_6VX6P.js @@ -1,4 +1,4 @@ -import{j as e,a as t,F as c}from"./marked.esm-dbrxtycE.js";import{R as u}from"./index-BMVQvedj.js";import{D as p}from"./data-editor-all-kwt0I9Kc.js";import{B as d,D as h,P as s,M as C,u as g,d as f}from"./utils-rXlmyYaC.js";import{S as z}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const Y={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(z,{children:e(d,{title:"Resizable columns",description:t(c,{children:[t(h,{children:["You can resize columns by dragging their edges, as long as you respond to the"," ",e(s,{children:"onColumnResize"})," prop."]}),t(C,{children:["By setting the ",e(s,{children:"overscrollX"})," property extra space can be allocated at the end of the grid to allow for easier resizing of the final column. You can highlight multiple columns to resize them all at once."]})]}),children:e(r,{})})})]},o=()=>{const{cols:r,getCellContent:i,onColumnResize:m}=g(60);return e(p,{...f,getCellContent:i,columns:r,rowMarkers:"both",overscrollX:200,overscrollY:200,maxColumnAutoWidth:500,maxColumnWidth:2e3,rows:50,scaleToRem:!0,theme:u.useMemo(()=>({baseFontStyle:"0.8125rem",headerFontStyle:"600 0.8125rem",editorFontSize:"0.8125rem"}),[]),onColumnResize:m})};var a,n,l;o.parameters={...o.parameters,docs:{...(a=o.parameters)==null?void 0:a.docs,source:{originalSource:`() => { +import{j as e,a as t,F as c}from"./marked.esm-dbrxtycE.js";import{R as u}from"./index-BMVQvedj.js";import{D as p}from"./data-editor-all-3W5wpw6K.js";import{B as d,D as h,P as s,M as C,u as g,d as f}from"./utils--Nf55hQd.js";import{S as z}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const Y={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(z,{children:e(d,{title:"Resizable columns",description:t(c,{children:[t(h,{children:["You can resize columns by dragging their edges, as long as you respond to the"," ",e(s,{children:"onColumnResize"})," prop."]}),t(C,{children:["By setting the ",e(s,{children:"overscrollX"})," property extra space can be allocated at the end of the grid to allow for easier resizing of the final column. You can highlight multiple columns to resize them all at once."]})]}),children:e(r,{})})})]},o=()=>{const{cols:r,getCellContent:i,onColumnResize:m}=g(60);return e(p,{...f,getCellContent:i,columns:r,rowMarkers:"both",overscrollX:200,overscrollY:200,maxColumnAutoWidth:500,maxColumnWidth:2e3,rows:50,scaleToRem:!0,theme:u.useMemo(()=>({baseFontStyle:"0.8125rem",headerFontStyle:"600 0.8125rem",editorFontSize:"0.8125rem"}),[]),onColumnResize:m})};var a,n,l;o.parameters={...o.parameters,docs:{...(a=o.parameters)==null?void 0:a.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/right-element.stories-G8MshNdc.js b/docs/assets/right-element.stories-Pu7ka8hk.js similarity index 90% rename from docs/assets/right-element.stories-G8MshNdc.js rename to docs/assets/right-element.stories-Pu7ka8hk.js index eeda75d58..0bd0ac513 100644 --- a/docs/assets/right-element.stories-G8MshNdc.js +++ b/docs/assets/right-element.stories-Pu7ka8hk.js @@ -1,4 +1,4 @@ -import{j as t,a as d}from"./marked.esm-dbrxtycE.js";import{R as l}from"./index-BMVQvedj.js";import{D as g}from"./data-editor-all-kwt0I9Kc.js";import{B as R,D as b,P as y,u as C,d as x}from"./utils-rXlmyYaC.js";import{S as k}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const T={title:"Glide-Data-Grid/DataEditor Demos",decorators:[n=>t(k,{children:t(R,{title:"Right Element",description:d(b,{children:["A DOM element may be added as a trailer to the grid by using the"," ",t(y,{children:"rightElement"})," prop."]}),children:t(n,{})})})]},o=()=>{const{cols:n,getCellContent:m,setCellValue:a}=C(8,!1),u=l.useMemo(()=>n.map(s=>({...s,grow:1})),[n]),[r,w]=l.useState(300),h=l.useCallback(()=>{const s=r;w(e=>e+1);for(let e=0;e<6;e++)a([e,s],{displayData:"",data:""})},[r,a]);return t(g,{...x,getCellContent:m,columns:u,rowMarkers:"both",onCellEdited:a,trailingRowOptions:{hint:"New row...",sticky:!0,tint:!0},rows:r,onRowAppended:h,rightElementProps:{sticky:!0},rightElement:d("div",{style:{height:"100%",padding:"20px 20px 40px 20px",width:200,color:"black",whiteSpace:"pre-wrap",backgroundColor:"rgba(240, 240, 250, 0.2)",display:"flex",justifyContent:"center",alignItems:"center",boxShadow:"0 0 10px rgba(0, 0, 0, 0.15)",backdropFilter:"blur(12px)"},children:["This is a real DOM element. You can put whatever you want here. You can also size it as big as you want. ",` +import{j as t,a as d}from"./marked.esm-dbrxtycE.js";import{R as l}from"./index-BMVQvedj.js";import{D as g}from"./data-editor-all-3W5wpw6K.js";import{B as R,D as b,P as y,u as C,d as x}from"./utils--Nf55hQd.js";import{S as k}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const T={title:"Glide-Data-Grid/DataEditor Demos",decorators:[n=>t(k,{children:t(R,{title:"Right Element",description:d(b,{children:["A DOM element may be added as a trailer to the grid by using the"," ",t(y,{children:"rightElement"})," prop."]}),children:t(n,{})})})]},o=()=>{const{cols:n,getCellContent:m,setCellValue:a}=C(8,!1),u=l.useMemo(()=>n.map(s=>({...s,grow:1})),[n]),[r,w]=l.useState(300),h=l.useCallback(()=>{const s=r;w(e=>e+1);for(let e=0;e<6;e++)a([e,s],{displayData:"",data:""})},[r,a]);return t(g,{...x,getCellContent:m,columns:u,rowMarkers:"both",onCellEdited:a,trailingRowOptions:{hint:"New row...",sticky:!0,tint:!0},rows:r,onRowAppended:h,rightElementProps:{sticky:!0},rightElement:d("div",{style:{height:"100%",padding:"20px 20px 40px 20px",width:200,color:"black",whiteSpace:"pre-wrap",backgroundColor:"rgba(240, 240, 250, 0.2)",display:"flex",justifyContent:"center",alignItems:"center",boxShadow:"0 0 10px rgba(0, 0, 0, 0.15)",backdropFilter:"blur(12px)"},children:["This is a real DOM element. You can put whatever you want here. You can also size it as big as you want. ",` `,"It also does not have to be sticky."]})})};var i,c,p;o.parameters={...o.parameters,docs:{...(i=o.parameters)==null?void 0:i.docs,source:{originalSource:`() => { const { diff --git a/docs/assets/right-to-left.stories-4x8eT4bn.js b/docs/assets/right-to-left.stories-cYrmy-d1.js similarity index 88% rename from docs/assets/right-to-left.stories-4x8eT4bn.js rename to docs/assets/right-to-left.stories-cYrmy-d1.js index bea190136..30f717d7e 100644 --- a/docs/assets/right-to-left.stories-4x8eT4bn.js +++ b/docs/assets/right-to-left.stories-cYrmy-d1.js @@ -1,4 +1,4 @@ -import{j as t,F as m}from"./marked.esm-dbrxtycE.js";import{R as l}from"./index-BMVQvedj.js";import{D as p}from"./data-editor-all-kwt0I9Kc.js";import{B as g,D as E,u as f,d as h}from"./utils-rXlmyYaC.js";import{G as M}from"./image-window-loader-aMebukIX.js";import{S as k}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const V={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>t(k,{children:t(g,{title:"Right to Left support",description:t(m,{children:t(E,{children:"The data editor automatically detects RTL in text cells and respects it."})}),children:t(r,{})})})]},o=()=>{const{cols:r,getCellContent:u,setCellValue:i,onColumnResize:D}=f(60,!1),c=l.useMemo(()=>{const e=[...r];return e[0]={...e[0],title:"גלייד",hasMenu:!0},e},[r]),C=l.useCallback(e=>{const[d,R]=e;return d!==0?u(e):{kind:M.Text,allowOverlay:!0,data:"אני גדעון, מומחה לאפליקציות גלייד.",displayData:"אני גדעון, מומחה לאפליקציות גלייד.",allowWrapping:!0}},[u]);return t(p,{...h,getCellContent:C,columns:c,onColumnResize:D,getCellsForSelection:!0,rowMarkers:"both",onHeaderMenuClick:()=>alert("menu click"),onPaste:!0,onCellEdited:i,rows:1e3})};var n,a,s;o.parameters={...o.parameters,docs:{...(n=o.parameters)==null?void 0:n.docs,source:{originalSource:`() => { +import{j as t,F as m}from"./marked.esm-dbrxtycE.js";import{R as l}from"./index-BMVQvedj.js";import{D as p}from"./data-editor-all-3W5wpw6K.js";import{B as g,D as E,u as f,d as h}from"./utils--Nf55hQd.js";import{G as M}from"./image-window-loader-Hk1rG8Sr.js";import{S as k}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const V={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>t(k,{children:t(g,{title:"Right to Left support",description:t(m,{children:t(E,{children:"The data editor automatically detects RTL in text cells and respects it."})}),children:t(r,{})})})]},o=()=>{const{cols:r,getCellContent:u,setCellValue:i,onColumnResize:D}=f(60,!1),c=l.useMemo(()=>{const e=[...r];return e[0]={...e[0],title:"גלייד",hasMenu:!0},e},[r]),C=l.useCallback(e=>{const[d,R]=e;return d!==0?u(e):{kind:M.Text,allowOverlay:!0,data:"אני גדעון, מומחה לאפליקציות גלייד.",displayData:"אני גדעון, מומחה לאפליקציות גלייד.",allowWrapping:!0}},[u]);return t(p,{...h,getCellContent:C,columns:c,onColumnResize:D,getCellsForSelection:!0,rowMarkers:"both",onHeaderMenuClick:()=>alert("menu click"),onPaste:!0,onCellEdited:i,rows:1e3})};var n,a,s;o.parameters={...o.parameters,docs:{...(n=o.parameters)==null?void 0:n.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/row-and-header-sizes.stories-igQOQ4QY.js b/docs/assets/row-and-header-sizes.stories-3O6D-eJY.js similarity index 78% rename from docs/assets/row-and-header-sizes.stories-igQOQ4QY.js rename to docs/assets/row-and-header-sizes.stories-3O6D-eJY.js index 991efb162..0bd631740 100644 --- a/docs/assets/row-and-header-sizes.stories-igQOQ4QY.js +++ b/docs/assets/row-and-header-sizes.stories-3O6D-eJY.js @@ -1,4 +1,4 @@ -import{j as e,a as o,F as h}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as l}from"./data-editor-all-kwt0I9Kc.js";import{B as p,D as c,P as a,M as g,u as w,d as H}from"./utils-rXlmyYaC.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const R={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>e(u,{children:e(p,{title:"Row and Header sizes",description:o(h,{children:[o(c,{children:["The row size can be controlled with ",e(a,{children:"rowHeight"})," and the header size with ",e(a,{children:"headerHeight"}),"."]}),e(g,{children:"Use the story's controls to resize them"})]}),children:e(t,{})})})]},r=t=>{const{cols:d,getCellContent:m}=w(6);return e(l,{...H,rowHeight:t.rowHeight,headerHeight:t.headerHeight,rowMarkers:"number",getCellContent:m,columns:d,rows:1e3})};r.args={rowHeight:34,headerHeight:34};r.argTypes={rowHeight:{control:{type:"range",min:20,max:200}},headerHeight:{control:{type:"range",min:20,max:200}}};var i,s,n;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`p => { +import{j as e,a as o,F as h}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as l}from"./data-editor-all-3W5wpw6K.js";import{B as p,D as c,P as a,M as g,u as w,d as H}from"./utils--Nf55hQd.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const R={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>e(u,{children:e(p,{title:"Row and Header sizes",description:o(h,{children:[o(c,{children:["The row size can be controlled with ",e(a,{children:"rowHeight"})," and the header size with ",e(a,{children:"headerHeight"}),"."]}),e(g,{children:"Use the story's controls to resize them"})]}),children:e(t,{})})})]},r=t=>{const{cols:d,getCellContent:m}=w(6);return e(l,{...H,rowHeight:t.rowHeight,headerHeight:t.headerHeight,rowMarkers:"number",getCellContent:m,columns:d,rows:1e3})};r.args={rowHeight:34,headerHeight:34};r.argTypes={rowHeight:{control:{type:"range",min:20,max:200}},headerHeight:{control:{type:"range",min:20,max:200}}};var i,s,n;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`p => { const { cols, getCellContent diff --git a/docs/assets/row-grouping.stories-X1TLE1Gz.js b/docs/assets/row-grouping.stories-3v0t01Cd.js similarity index 93% rename from docs/assets/row-grouping.stories-X1TLE1Gz.js rename to docs/assets/row-grouping.stories-3v0t01Cd.js index 57e94b5f0..b9d9d74a4 100644 --- a/docs/assets/row-grouping.stories-X1TLE1Gz.js +++ b/docs/assets/row-grouping.stories-3v0t01Cd.js @@ -1,4 +1,4 @@ -import{j as o,a as v}from"./marked.esm-dbrxtycE.js";import{R as p}from"./index-BMVQvedj.js";import{u as x,D as O}from"./data-editor-all-kwt0I9Kc.js";import{B as y,D as I,P as D,u as P,d as B}from"./utils-rXlmyYaC.js";import{S}from"./story-utils-K2EZnGjM.js";import{G as m}from"./image-window-loader-aMebukIX.js";import"./lodash-8jIGfDyZ.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const U={title:"Glide-Data-Grid/DataEditor Demos",decorators:[l=>o(S,{children:o(y,{title:"Row Grouping",description:v(I,{children:["The ",o(D,{children:"rowGrouping"})," prop can be used to group and even fold rows."]}),children:o(l,{})})})]},s=l=>{const{cols:f,getCellContent:u}=P(100),d=1e3,[r,R]=p.useState(()=>({groups:[{headerIndex:0,isCollapsed:!1},{headerIndex:10,isCollapsed:!0,subGroups:[{headerIndex:15,isCollapsed:!1},{headerIndex:20,isCollapsed:!1}]},{headerIndex:30,isCollapsed:!1}],height:55,navigationBehavior:"block",selectionBehavior:"block-spanning",themeOverride:{bgCell:"rgba(0, 100, 255, 0.1)"}})),{mapper:t,getRowGroupingForPath:g,updateRowGroupingByPath:c}=x(r,d),b=p.useCallback(n=>{const{path:e,isGroupHeader:a}=t(n);if(a&&n[0]===0){const i=g(r.groups,e);R(C=>({...C,groups:c(C.groups,e,{isCollapsed:!i.isCollapsed})}))}},[g,t,r.groups,c]),k=p.useCallback(n=>{const{path:e,isGroupHeader:a,originalIndex:i}=t(n);return n[0]===0?{kind:m.Text,data:`Row ${JSON.stringify(e)}`,displayData:`Row ${JSON.stringify(e)}`,allowOverlay:!1}:a?{kind:m.Loading,allowOverlay:!1}:u(i)},[u,t]);return o(O,{...B,rowGrouping:r,height:"100%",rowMarkers:"both",freezeColumns:l.freezeColumns,getRowThemeOverride:(n,e,a)=>{if(e%2===0)return{bgCell:"rgba(0, 0, 0, 0.1)"}},onCellClicked:b,getCellContent:k,columns:f,rows:d})};var h,w,G;s.parameters={...s.parameters,docs:{...(h=s.parameters)==null?void 0:h.docs,source:{originalSource:`(p: { +import{j as o,a as v}from"./marked.esm-dbrxtycE.js";import{R as p}from"./index-BMVQvedj.js";import{u as x,D as O}from"./data-editor-all-3W5wpw6K.js";import{B as y,D as I,P as D,u as P,d as B}from"./utils--Nf55hQd.js";import{S}from"./story-utils-K2EZnGjM.js";import{G as m}from"./image-window-loader-Hk1rG8Sr.js";import"./lodash-8jIGfDyZ.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const U={title:"Glide-Data-Grid/DataEditor Demos",decorators:[l=>o(S,{children:o(y,{title:"Row Grouping",description:v(I,{children:["The ",o(D,{children:"rowGrouping"})," prop can be used to group and even fold rows."]}),children:o(l,{})})})]},s=l=>{const{cols:f,getCellContent:u}=P(100),d=1e3,[r,R]=p.useState(()=>({groups:[{headerIndex:0,isCollapsed:!1},{headerIndex:10,isCollapsed:!0,subGroups:[{headerIndex:15,isCollapsed:!1},{headerIndex:20,isCollapsed:!1}]},{headerIndex:30,isCollapsed:!1}],height:55,navigationBehavior:"block",selectionBehavior:"block-spanning",themeOverride:{bgCell:"rgba(0, 100, 255, 0.1)"}})),{mapper:t,getRowGroupingForPath:g,updateRowGroupingByPath:c}=x(r,d),b=p.useCallback(n=>{const{path:e,isGroupHeader:a}=t(n);if(a&&n[0]===0){const i=g(r.groups,e);R(C=>({...C,groups:c(C.groups,e,{isCollapsed:!i.isCollapsed})}))}},[g,t,r.groups,c]),k=p.useCallback(n=>{const{path:e,isGroupHeader:a,originalIndex:i}=t(n);return n[0]===0?{kind:m.Text,data:`Row ${JSON.stringify(e)}`,displayData:`Row ${JSON.stringify(e)}`,allowOverlay:!1}:a?{kind:m.Loading,allowOverlay:!1}:u(i)},[u,t]);return o(O,{...B,rowGrouping:r,height:"100%",rowMarkers:"both",freezeColumns:l.freezeColumns,getRowThemeOverride:(n,e,a)=>{if(e%2===0)return{bgCell:"rgba(0, 0, 0, 0.1)"}},onCellClicked:b,getCellContent:k,columns:f,rows:d})};var h,w,G;s.parameters={...s.parameters,docs:{...(h=s.parameters)==null?void 0:h.docs,source:{originalSource:`(p: { freezeColumns: number; }) => { const { diff --git a/docs/assets/row-hover.stories-lVCyLdIV.js b/docs/assets/row-hover.stories-jYpKu5x5.js similarity index 85% rename from docs/assets/row-hover.stories-lVCyLdIV.js rename to docs/assets/row-hover.stories-jYpKu5x5.js index bd971bda3..d36524847 100644 --- a/docs/assets/row-hover.stories-lVCyLdIV.js +++ b/docs/assets/row-hover.stories-jYpKu5x5.js @@ -1,4 +1,4 @@ -import{j as e,a as p}from"./marked.esm-dbrxtycE.js";import{R as n}from"./index-BMVQvedj.js";import{D as w}from"./data-editor-all-kwt0I9Kc.js";import{B as v,D as h,P as R,a as g,d as C}from"./utils-rXlmyYaC.js";import{S as b}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const K={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>e(b,{children:e(v,{title:"Row Hover Effect",description:p(h,{children:["Through careful usage of the ",e(R,{children:"onItemHovered"})," callback it is possible to easily create a row hover effect."]}),children:e(t,{})})})]},r=()=>{const{cols:t,getCellContent:c}=g(),[s,d]=n.useState(void 0),m=n.useCallback(o=>{const[k,f]=o.location;d(o.kind!=="cell"?void 0:f)},[]),u=n.useCallback(o=>{if(o===s)return{bgCell:"#f7f7f7",bgCellMedium:"#f0f0f0"}},[s]);return e(w,{...C,rowMarkers:"both",onItemHovered:m,getCellContent:c,getRowThemeOverride:u,columns:t,rows:300})};var a,i,l;r.parameters={...r.parameters,docs:{...(a=r.parameters)==null?void 0:a.docs,source:{originalSource:`() => { +import{j as e,a as p}from"./marked.esm-dbrxtycE.js";import{R as n}from"./index-BMVQvedj.js";import{D as w}from"./data-editor-all-3W5wpw6K.js";import{B as v,D as h,P as R,a as g,d as C}from"./utils--Nf55hQd.js";import{S as b}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const K={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>e(b,{children:e(v,{title:"Row Hover Effect",description:p(h,{children:["Through careful usage of the ",e(R,{children:"onItemHovered"})," callback it is possible to easily create a row hover effect."]}),children:e(t,{})})})]},r=()=>{const{cols:t,getCellContent:c}=g(),[s,d]=n.useState(void 0),m=n.useCallback(o=>{const[k,f]=o.location;d(o.kind!=="cell"?void 0:f)},[]),u=n.useCallback(o=>{if(o===s)return{bgCell:"#f7f7f7",bgCellMedium:"#f0f0f0"}},[s]);return e(w,{...C,rowMarkers:"both",onItemHovered:m,getCellContent:c,getRowThemeOverride:u,columns:t,rows:300})};var a,i,l;r.parameters={...r.parameters,docs:{...(a=r.parameters)==null?void 0:a.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/row-markers.stories-8WixJ6y1.js b/docs/assets/row-markers.stories-UGSZ8bQr.js similarity index 77% rename from docs/assets/row-markers.stories-8WixJ6y1.js rename to docs/assets/row-markers.stories-UGSZ8bQr.js index 8617e5080..7563ef3ce 100644 --- a/docs/assets/row-markers.stories-8WixJ6y1.js +++ b/docs/assets/row-markers.stories-UGSZ8bQr.js @@ -1,4 +1,4 @@ -import{j as r,F as c,a as l}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as m}from"./data-editor-all-kwt0I9Kc.js";import{B as p,D as d,P as k,u,d as h}from"./utils-rXlmyYaC.js";import{S as b}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const v={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>r(b,{children:r(p,{title:"Row markers",description:r(c,{children:l(d,{children:["Row Markers can be controlled by setting the ",r(k,{children:"rowMarkers"})," prop."]})}),children:r(o,{})})})]},e=o=>{const{cols:n,getCellContent:i}=u(10,!1);return r(m,{...h,getCellContent:i,verticalBorder:!1,rowMarkers:{kind:o.markers,checkboxStyle:"circle"},columns:n,rows:400})};e.args={markers:"both"};e.argTypes={markers:{control:{type:"select"},options:["both","checkbox","number","none","clickable-number","checkbox-visible"]}};var t,s,a;e.parameters={...e.parameters,docs:{...(t=e.parameters)==null?void 0:t.docs,source:{originalSource:`p => { +import{j as r,F as c,a as l}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as m}from"./data-editor-all-3W5wpw6K.js";import{B as p,D as d,P as k,u,d as h}from"./utils--Nf55hQd.js";import{S as b}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const v={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>r(b,{children:r(p,{title:"Row markers",description:r(c,{children:l(d,{children:["Row Markers can be controlled by setting the ",r(k,{children:"rowMarkers"})," prop."]})}),children:r(o,{})})})]},e=o=>{const{cols:n,getCellContent:i}=u(10,!1);return r(m,{...h,getCellContent:i,verticalBorder:!1,rowMarkers:{kind:o.markers,checkboxStyle:"circle"},columns:n,rows:400})};e.args={markers:"both"};e.argTypes={markers:{control:{type:"select"},options:["both","checkbox","number","none","clickable-number","checkbox-visible"]}};var t,s,a;e.parameters={...e.parameters,docs:{...(t=e.parameters)==null?void 0:t.docs,source:{originalSource:`p => { const { cols, getCellContent diff --git a/docs/assets/scaled-view.stories-gTdtubI3.js b/docs/assets/scaled-view.stories-hWOvFuvx.js similarity index 73% rename from docs/assets/scaled-view.stories-gTdtubI3.js rename to docs/assets/scaled-view.stories-hWOvFuvx.js index 271a3a547..9679e9dcc 100644 --- a/docs/assets/scaled-view.stories-gTdtubI3.js +++ b/docs/assets/scaled-view.stories-hWOvFuvx.js @@ -1,4 +1,4 @@ -import{j as e}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as l}from"./data-editor-all-kwt0I9Kc.js";import{B as m,D as p,u as c,d}from"./utils-rXlmyYaC.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const V={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(u,{children:e(m,{title:"Scaled view",description:e(p,{children:"The data editor supports being scaled."}),scale:"0.5",children:e(r,{})})})]},o=()=>{const{cols:r,getCellContent:i,onColumnResize:n}=c(60);return e(l,{...d,getCellContent:i,columns:r,rowMarkers:"both",rows:500,onColumnResize:n})};var t,s,a;o.parameters={...o.parameters,docs:{...(t=o.parameters)==null?void 0:t.docs,source:{originalSource:`() => { +import{j as e}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as l}from"./data-editor-all-3W5wpw6K.js";import{B as m,D as p,u as c,d}from"./utils--Nf55hQd.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const V={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(u,{children:e(m,{title:"Scaled view",description:e(p,{children:"The data editor supports being scaled."}),scale:"0.5",children:e(r,{})})})]},o=()=>{const{cols:r,getCellContent:i,onColumnResize:n}=c(60);return e(l,{...d,getCellContent:i,columns:r,rowMarkers:"both",rows:500,onColumnResize:n})};var t,s,a;o.parameters={...o.parameters,docs:{...(t=o.parameters)==null?void 0:t.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/scroll-offset.stories-qDoSgiMj.js b/docs/assets/scroll-offset.stories-ucbjSxav.js similarity index 75% rename from docs/assets/scroll-offset.stories-qDoSgiMj.js rename to docs/assets/scroll-offset.stories-ucbjSxav.js index a271e2730..08f6cfee1 100644 --- a/docs/assets/scroll-offset.stories-qDoSgiMj.js +++ b/docs/assets/scroll-offset.stories-ucbjSxav.js @@ -1,4 +1,4 @@ -import{j as r,a as n}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as i}from"./data-editor-all-kwt0I9Kc.js";import{B as p,D as c,P as m,u as d,d as f}from"./utils-rXlmyYaC.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./lodash-8jIGfDyZ.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const v={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>r(u,{children:r(p,{title:"Scroll Offset",description:n(c,{children:["The ",r(m,{children:"rowGrouping"})," prop can be used to group and even fold rows."]}),children:r(t,{})})})]},o=()=>{const{cols:t,getCellContent:l}=d(100);return r(i,{...f,height:"100%",rowMarkers:"both",scrollOffsetY:400,getCellContent:l,columns:t,rows:1e3})};var e,s,a;o.parameters={...o.parameters,docs:{...(e=o.parameters)==null?void 0:e.docs,source:{originalSource:`() => { +import{j as r,a as n}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as i}from"./data-editor-all-3W5wpw6K.js";import{B as p,D as c,P as m,u as d,d as f}from"./utils--Nf55hQd.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./lodash-8jIGfDyZ.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const v={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>r(u,{children:r(p,{title:"Scroll Offset",description:n(c,{children:["The ",r(m,{children:"rowGrouping"})," prop can be used to group and even fold rows."]}),children:r(t,{})})})]},o=()=>{const{cols:t,getCellContent:l}=d(100);return r(i,{...f,height:"100%",rowMarkers:"both",scrollOffsetY:400,getCellContent:l,columns:t,rows:1e3})};var e,s,a;o.parameters={...o.parameters,docs:{...(e=o.parameters)==null?void 0:e.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/scroll-shadows.stories-tVRkU660.js b/docs/assets/scroll-shadows.stories-quW1KZP_.js similarity index 90% rename from docs/assets/scroll-shadows.stories-tVRkU660.js rename to docs/assets/scroll-shadows.stories-quW1KZP_.js index 0d7612446..8cdf83877 100644 --- a/docs/assets/scroll-shadows.stories-tVRkU660.js +++ b/docs/assets/scroll-shadows.stories-quW1KZP_.js @@ -1,4 +1,4 @@ -import{j as o,F as S}from"./marked.esm-dbrxtycE.js";import{R as t}from"./index-BMVQvedj.js";import{D as C}from"./data-editor-all-kwt0I9Kc.js";import{B as b,D as R,u as y,d as k}from"./utils-rXlmyYaC.js";import{C as c}from"./image-window-loader-aMebukIX.js";import{S as B}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const L={title:"Glide-Data-Grid/DataEditor Demos",decorators:[a=>o(B,{children:o(b,{title:"Scroll Shadows",description:o(S,{children:o(R,{children:"You can enable and disable the horizontal/vertical scroll shadows."})}),children:o(a,{})})})]},n=()=>{const{cols:a,getCellContent:h}=y(6),[w,f]=t.useState({rows:c.empty(),columns:c.empty()}),p=t.useCallback(e=>{var l;let r=c.empty();e.current!==void 0&&(r=r.add([e.current.range.y,e.current.range.y+e.current.range.height]));for(const s of((l=e.current)==null?void 0:l.rangeStack)??[])r=r.add([s.y,s.y+s.height]);f({...e,rows:r})},[]),u=t.useMemo(()=>({accentLight:"#b1f6ff",horizontalBorderColor:"transparent",headerBottomBorderColor:"rgba(115, 116, 131, 0.16)"}),[]),g=t.useCallback(e=>e%2===0?void 0:{bgCell:"#f5f5f6"},[]);return o(C,{...k,rowMarkers:"number",gridSelection:w,onGridSelectionChange:p,fixedShadowX:!1,headerHeight:26,drawFocusRing:!1,rowHeight:22,fixedShadowY:!1,getRowThemeOverride:g,verticalBorder:!1,getCellContent:h,columns:a,rows:1e3,theme:u})};var i,d,m;n.parameters={...n.parameters,docs:{...(i=n.parameters)==null?void 0:i.docs,source:{originalSource:`() => { +import{j as o,F as S}from"./marked.esm-dbrxtycE.js";import{R as t}from"./index-BMVQvedj.js";import{D as C}from"./data-editor-all-3W5wpw6K.js";import{B as b,D as R,u as y,d as k}from"./utils--Nf55hQd.js";import{C as c}from"./image-window-loader-Hk1rG8Sr.js";import{S as B}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const L={title:"Glide-Data-Grid/DataEditor Demos",decorators:[a=>o(B,{children:o(b,{title:"Scroll Shadows",description:o(S,{children:o(R,{children:"You can enable and disable the horizontal/vertical scroll shadows."})}),children:o(a,{})})})]},n=()=>{const{cols:a,getCellContent:h}=y(6),[w,f]=t.useState({rows:c.empty(),columns:c.empty()}),p=t.useCallback(e=>{var l;let r=c.empty();e.current!==void 0&&(r=r.add([e.current.range.y,e.current.range.y+e.current.range.height]));for(const s of((l=e.current)==null?void 0:l.rangeStack)??[])r=r.add([s.y,s.y+s.height]);f({...e,rows:r})},[]),u=t.useMemo(()=>({accentLight:"#b1f6ff",horizontalBorderColor:"transparent",headerBottomBorderColor:"rgba(115, 116, 131, 0.16)"}),[]),g=t.useCallback(e=>e%2===0?void 0:{bgCell:"#f5f5f6"},[]);return o(C,{...k,rowMarkers:"number",gridSelection:w,onGridSelectionChange:p,fixedShadowX:!1,headerHeight:26,drawFocusRing:!1,rowHeight:22,fixedShadowY:!1,getRowThemeOverride:g,verticalBorder:!1,getCellContent:h,columns:a,rows:1e3,theme:u})};var i,d,m;n.parameters={...n.parameters,docs:{...(i=n.parameters)==null?void 0:i.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/scrolling-data-grid-AbyJF5mC.js b/docs/assets/scrolling-data-grid-6oMlsc5s.js similarity index 99% rename from docs/assets/scrolling-data-grid-AbyJF5mC.js rename to docs/assets/scrolling-data-grid-6oMlsc5s.js index 60a050ff6..2a4c02876 100644 --- a/docs/assets/scrolling-data-grid-AbyJF5mC.js +++ b/docs/assets/scrolling-data-grid-6oMlsc5s.js @@ -1 +1 @@ -import{j as U,a as he,F as me,s as Ce}from"./marked.esm-dbrxtycE.js";import{r as t}from"./index-BMVQvedj.js";import{c as Re}from"./throttle-7EuXLZa7.js";import{Q as Se,R as we,u as ve}from"./image-window-loader-aMebukIX.js";function ae(e,f,m,o){return Re(Math.round(f-(e.growOffset??0)),Math.ceil(m),Math.floor(o))}const De=e=>{const[f,m]=t.useState(),[o,D]=t.useState(),[i,O]=t.useState(),[h,w]=t.useState(),[C,b]=t.useState(!1),[K,c]=t.useState(),[R,X]=t.useState(),[N,oe]=t.useState(),[q,ee]=t.useState(!1),[ne,re]=t.useState(),{onHeaderMenuClick:Y,onHeaderIndicatorClick:te,getCellContent:x,onColumnMoved:j,onColumnResize:S,onColumnResizeStart:$,onColumnResizeEnd:F,gridRef:_,maxColumnWidth:M,minColumnWidth:W,onRowMoved:E,lockColumns:A,onColumnProposeMove:J,onMouseDown:P,onMouseUp:Z,onItemHovered:n,onDragStart:L,canvasRef:H}=e,G=(S??F??$)!==void 0,{columns:a,selection:l}=e,s=l.columns,d=t.useCallback(r=>{const[g,y]=r.location;i!==void 0&&h!==g&&g>=A?(b(!0),w(g)):R!==void 0&&y!==void 0?(ee(!0),oe(Math.max(0,y))):o===void 0&&!C&&!q&&(n==null||n(r))},[i,R,h,n,A,o,C,q]),B=j!==void 0,V=t.useCallback(r=>{var g;if(r.button===0){const[y,v]=r.location;if(r.kind==="out-of-bounds"&&r.isEdge&&G){const T=(g=_==null?void 0:_.current)==null?void 0:g.getBounds(a.length-1,-1);T!==void 0&&(m(T.x),D(a.length-1))}else if(r.kind==="header"&&y>=A){const T=H==null?void 0:H.current;if(r.isEdge&&G&&T){m(r.bounds.x),D(y);const ue=T.getBoundingClientRect().width/T.offsetWidth,le=r.bounds.width/ue;$==null||$(a[y],le,y,le+(a[y].growOffset??0))}else r.kind==="header"&&B&&(c(r.bounds.x),O(y))}else r.kind==="cell"&&A>0&&y===0&&v!==void 0&&E!==void 0&&(re(r.bounds.y),X(v))}P==null||P(r)},[P,G,A,E,_,a,B,$,H]),Q=t.useCallback((r,g)=>{C||q||Y==null||Y(r,g)},[C,q,Y]),se=t.useCallback((r,g)=>{C||q||te==null||te(r,g)},[C,q,te]),k=t.useRef(-1),u=t.useCallback(()=>{k.current=-1,X(void 0),oe(void 0),re(void 0),ee(!1),O(void 0),w(void 0),c(void 0),b(!1),D(void 0),m(void 0)},[]),z=t.useCallback((r,g)=>{if(r.button===0){if(o!==void 0){if((s==null?void 0:s.hasIndex(o))===!0)for(const v of s){if(v===o)continue;const T=a[v],p=ae(T,k.current,W,M);S==null||S(T,p,v,p+(T.growOffset??0))}const y=ae(a[o],k.current,W,M);if(F==null||F(a[o],y,o,y+(a[o].growOffset??0)),s.hasIndex(o))for(const v of s){if(v===o)continue;const T=a[v],p=ae(T,k.current,W,M);F==null||F(T,p,v,p+(T.growOffset??0))}}u(),i!==void 0&&h!==void 0&&(j==null||j(i,h)),R!==void 0&&N!==void 0&&(E==null||E(R,N))}Z==null||Z(r,g)},[Z,o,i,h,R,N,s,F,a,W,M,S,j,E,u]),I=t.useMemo(()=>{if(!(i===void 0||h===void 0)&&i!==h&&(J==null?void 0:J(i,h))!==!1)return{src:i,dest:h}},[i,h,J]),ie=t.useCallback(r=>{const g=H==null?void 0:H.current;if(i!==void 0&&K!==void 0)Math.abs(r.clientX-K)>20&&b(!0);else if(R!==void 0&&ne!==void 0)Math.abs(r.clientY-ne)>20&&ee(!0);else if(o!==void 0&&f!==void 0&&g){const v=g.getBoundingClientRect().width/g.offsetWidth,T=(r.clientX-f)/v,p=a[o],ue=ae(p,T,W,M);if(S==null||S(p,ue,o,ue+(p.growOffset??0)),k.current=T,(s==null?void 0:s.first())===o)for(const le of s){if(le===o)continue;const fe=a[le],ge=ae(fe,k.current,W,M);S==null||S(fe,ge,le,ge+(fe.growOffset??0))}}},[i,K,R,ne,o,f,a,W,M,S,s,H]),ce=t.useCallback((r,g)=>{if(R===void 0||N===void 0)return x(r,g);let[y,v]=r;return v===N?v=R:(v>N&&(v-=1),v>=R&&(v+=1)),x([y,v],g)},[R,N,x]),de=t.useCallback(r=>{L==null||L(r),r.defaultPrevented()||u()},[u,L]);return U(Se,{accessibilityHeight:e.accessibilityHeight,canvasRef:e.canvasRef,cellXOffset:e.cellXOffset,cellYOffset:e.cellYOffset,columns:e.columns,disabledRows:e.disabledRows,drawFocusRing:e.drawFocusRing,drawHeader:e.drawHeader,drawCell:e.drawCell,enableGroups:e.enableGroups,eventTargetRef:e.eventTargetRef,experimental:e.experimental,fillHandle:e.fillHandle,firstColAccessible:e.firstColAccessible,fixedShadowX:e.fixedShadowX,fixedShadowY:e.fixedShadowY,freezeColumns:e.freezeColumns,getCellRenderer:e.getCellRenderer,getGroupDetails:e.getGroupDetails,getRowThemeOverride:e.getRowThemeOverride,groupHeaderHeight:e.groupHeaderHeight,headerHeight:e.headerHeight,headerIcons:e.headerIcons,height:e.height,highlightRegions:e.highlightRegions,imageWindowLoader:e.imageWindowLoader,resizeColumn:o,isDraggable:e.isDraggable,isFilling:e.isFilling,isFocused:e.isFocused,onCanvasBlur:e.onCanvasBlur,onCanvasFocused:e.onCanvasFocused,onCellFocused:e.onCellFocused,onContextMenu:e.onContextMenu,onDragEnd:e.onDragEnd,onDragLeave:e.onDragLeave,onDragOverCell:e.onDragOverCell,onDrop:e.onDrop,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,onMouseMove:e.onMouseMove,prelightCells:e.prelightCells,rowHeight:e.rowHeight,rows:e.rows,selection:e.selection,smoothScrollX:e.smoothScrollX,smoothScrollY:e.smoothScrollY,theme:e.theme,freezeTrailingRows:e.freezeTrailingRows,hasAppendRow:e.hasAppendRow,translateX:e.translateX,translateY:e.translateY,resizeIndicator:e.resizeIndicator,verticalBorder:e.verticalBorder,width:e.width,getCellContent:ce,isResizing:o!==void 0,onHeaderMenuClick:Q,onHeaderIndicatorClick:se,isDragging:C,onItemHovered:d,onDragStart:de,onMouseDown:V,allowResize:G,onMouseUp:z,dragAndDropState:I,onMouseMoveRaw:ie,ref:_})},be=De;function He(e){const f=t.useRef(null),[m,o]=t.useState({width:e==null?void 0:e[0],height:e==null?void 0:e[1]});return t.useLayoutEffect(()=>{const D=O=>{for(const h of O){const{width:w,height:C}=h&&h.contentRect||{};o(b=>b.width===w&&b.height===C?b:{width:w,height:C})}},i=new window.ResizeObserver(D);return f.current&&i.observe(f.current,void 0),()=>{i.disconnect()}},[f.current]),{ref:f,...m}}const ye=(e,f,m)=>{const o=t.useRef(null),D=t.useRef(null),i=t.useRef(null),O=t.useRef(0),h=t.useRef(f);h.current=f;const w=m.current;t.useEffect(()=>{const C=()=>{var c,R;if(D.current===!1&&w!==null){const X=[w.scrollLeft,w.scrollTop];if(((c=i.current)==null?void 0:c[0])===X[0]&&((R=i.current)==null?void 0:R[1])===X[1])if(O.current>10){i.current=null,D.current=null;return}else O.current++;else O.current=0,h.current(X[0],X[1]),i.current=X;o.current=window.setTimeout(C,8.333333333333334)}},b=()=>{D.current=!0,i.current=null,o.current!==null&&(window.clearTimeout(o.current),o.current=null)},K=c=>{c.touches.length===0&&(D.current=!1,O.current=0,o.current=window.setTimeout(C,8.333333333333334))};if(e&&w!==null){const c=w;return c.addEventListener("touchstart",b),c.addEventListener("touchend",K),()=>{c.removeEventListener("touchstart",b),c.removeEventListener("touchend",K),o.current!==null&&window.clearTimeout(o.current)}}},[e,w])},xe=ye,Me=()=>e=>e.isSafari?"scroll":"auto",ke=Ce("div")({name:"ScrollRegionStyle",class:"sj2f20c",propsAsIs:!1,vars:{"sj2f20c-0":[Me()]}});function Te(e){const[f,m]=t.useState(!1),o=typeof window>"u"?null:window,D=t.useRef(0);return ve("touchstart",t.useCallback(()=>{window.clearTimeout(D.current),m(!0)},[]),o,!0,!1),ve("touchend",t.useCallback(i=>{i.touches.length===0&&(D.current=window.setTimeout(()=>m(!1),e))},[e]),o,!0,!1),f}const Ie=e=>{var G,a;const{children:f,clientHeight:m,scrollHeight:o,scrollWidth:D,update:i,draggable:O,className:h,preventDiagonalScrolling:w=!1,paddingBottom:C=0,paddingRight:b=0,rightElement:K,rightElementProps:c,kineticScrollPerfHack:R=!1,scrollRef:X,initialSize:N}=e,oe=[],q=(c==null?void 0:c.sticky)??!1,ee=(c==null?void 0:c.fill)??!1,ne=t.useRef(0),re=t.useRef(0),Y=t.useRef(null),te=typeof window>"u"?1:window.devicePixelRatio,x=t.useRef({scrollLeft:0,scrollTop:0,lockDirection:void 0}),j=t.useRef(null),S=Te(200),[$,F]=t.useState(!0),_=t.useRef(0);t.useLayoutEffect(()=>{if(!$||S||x.current.lockDirection===void 0)return;const l=Y.current;if(l===null)return;const[s,d]=x.current.lockDirection;s!==void 0?l.scrollLeft=s:d!==void 0&&(l.scrollTop=d),x.current.lockDirection=void 0},[S,$]);const M=t.useCallback((l,s)=>{var de;const d=Y.current;if(d===null)return;s=s??d.scrollTop,l=l??d.scrollLeft;const B=x.current.scrollTop,V=x.current.scrollLeft,Q=l-V,se=s-B;S&&Q!==0&&se!==0&&(Math.abs(Q)>3||Math.abs(se)>3)&&w&&x.current.lockDirection===void 0&&(x.current.lockDirection=Math.abs(Q)0&&(Math.abs(ie)>2e3||I===0||I===ce)&&o>d.scrollHeight+5){const r=I/ce,g=(o-z)*r;ne.current=g-I}k!==void 0&&(window.clearTimeout(_.current),F(!1),_.current=window.setTimeout(()=>F(!0),200)),i({x:l,y:I+ne.current,width:u-b,height:z-C,paddingRight:((de=j.current)==null?void 0:de.clientWidth)??0})},[C,b,o,i,w,S]);xe(R&&we.value,M,Y);const W=t.useRef(M);W.current=M;const E=t.useRef(),A=t.useRef(!1);t.useLayoutEffect(()=>{A.current?M():A.current=!0},[M,C,b]);const J=t.useCallback(l=>{Y.current=l,X!==void 0&&(X.current=l)},[X]);let P=0,Z=0;for(oe.push(U("div",{style:{width:D,height:0}},P++));ZW.current(),0),E.current={width:L,height:H}),(L??0)===0||(H??0)===0?U("div",{ref:n}):U("div",{ref:n,children:he(ke,{isSafari:we.value,children:[U("div",{className:"dvn-underlay",children:f}),U("div",{ref:J,style:E.current,draggable:O,onDragStart:l=>{O||(l.stopPropagation(),l.preventDefault())},className:"dvn-scroller "+(h??""),onScroll:()=>M(),children:he("div",{className:"dvn-scroll-inner"+(K===void 0?" dvn-hidden":""),children:[U("div",{className:"dvn-stack",children:oe}),K!==void 0&&he(me,{children:[!ee&&U("div",{className:"dvn-spacer"}),U("div",{ref:j,style:{height:H,maxHeight:m-Math.ceil(te%1),position:"sticky",top:0,paddingLeft:1,marginBottom:-40,marginRight:b,flexGrow:ee?1:void 0,right:q?b??0:void 0,pointerEvents:"auto"},children:K})]})]})})]})})},Oe=e=>{const{columns:f,rows:m,rowHeight:o,headerHeight:D,groupHeaderHeight:i,enableGroups:O,freezeColumns:h,experimental:w,nonGrowWidth:C,clientSize:b,className:K,onVisibleRegionChanged:c,scrollRef:R,preventDiagonalScrolling:X,rightElement:N,rightElementProps:oe,overscrollX:q,overscrollY:ee,initialSize:ne,smoothScrollX:re=!1,smoothScrollY:Y=!1,isDraggable:te}=e,{paddingRight:x,paddingBottom:j}=w??{},[S,$]=b,F=t.useRef(),_=t.useRef(),M=t.useRef(),W=t.useRef(),E=C+Math.max(0,q??0);let A=O?D+i:D;if(typeof o=="number")A+=m*o;else for(let n=0;n{var se,k;if(J.current===void 0)return;const n={...J.current};let L=0,H=n.x<0?-n.x:0,G=0,a=0;n.x=n.x<0?0:n.x;let l=0;for(let u=0;u=z+u.width)L+=u.width,a++,G++;else if(n.x>z)L+=u.width,re?H+=z-n.x:a++,G++;else if(n.x+n.width>z)L+=u.width,G++;else break}let s=0,d=0,B=0;if(typeof o=="number")Y?(d=Math.floor(n.y/o),s=d*o-n.y):d=Math.ceil(n.y/o),B=Math.ceil(n.height/o)+d,s<0&&B++;else{let u=0;for(let z=0;z=u+I)u+=I,d++,B++;else if(n.y>ie)u+=I,Y?s+=ie-n.y:d++,B++;else if(n.y+n.height>I/2+u)u+=I,B++;else break}}const V={x:a,y:d,width:G-a,height:B-d},Q=F.current;(Q===void 0||Q.y!==V.y||Q.x!==V.x||Q.height!==V.height||Q.width!==V.width||_.current!==H||M.current!==s||n.width!==((se=W.current)==null?void 0:se[0])||n.height!==((k=W.current)==null?void 0:k[1]))&&(c==null||c({x:a,y:d,width:G-a,height:B-d},n.width,n.height,n.paddingRight??0,H,s),F.current=V,_.current=H,M.current=s,W.current=[n.width,n.height])},[f,o,m,c,h,re,Y]),Z=t.useCallback(n=>{J.current=n,P()},[P]);return t.useEffect(()=>{P()},[P]),U(Ie,{scrollRef:R,className:K,kineticScrollPerfHack:w==null?void 0:w.kineticScrollPerfHack,preventDiagonalScrolling:X,draggable:te===!0||typeof te=="string",scrollWidth:E+(x??0),scrollHeight:A+(j??0),clientHeight:$,rightElement:N,paddingBottom:j,paddingRight:x,rightElementProps:oe,update:Z,initialSize:ne,children:U(be,{eventTargetRef:R,width:S,height:$,accessibilityHeight:e.accessibilityHeight,canvasRef:e.canvasRef,cellXOffset:e.cellXOffset,cellYOffset:e.cellYOffset,columns:e.columns,disabledRows:e.disabledRows,enableGroups:e.enableGroups,fillHandle:e.fillHandle,firstColAccessible:e.firstColAccessible,fixedShadowX:e.fixedShadowX,fixedShadowY:e.fixedShadowY,freezeColumns:e.freezeColumns,getCellContent:e.getCellContent,getCellRenderer:e.getCellRenderer,getGroupDetails:e.getGroupDetails,getRowThemeOverride:e.getRowThemeOverride,groupHeaderHeight:e.groupHeaderHeight,headerHeight:e.headerHeight,highlightRegions:e.highlightRegions,imageWindowLoader:e.imageWindowLoader,isFilling:e.isFilling,isFocused:e.isFocused,lockColumns:e.lockColumns,maxColumnWidth:e.maxColumnWidth,minColumnWidth:e.minColumnWidth,onHeaderMenuClick:e.onHeaderMenuClick,onHeaderIndicatorClick:e.onHeaderIndicatorClick,onMouseMove:e.onMouseMove,prelightCells:e.prelightCells,rowHeight:e.rowHeight,rows:e.rows,selection:e.selection,theme:e.theme,freezeTrailingRows:e.freezeTrailingRows,hasAppendRow:e.hasAppendRow,translateX:e.translateX,translateY:e.translateY,onColumnProposeMove:e.onColumnProposeMove,verticalBorder:e.verticalBorder,drawFocusRing:e.drawFocusRing,drawHeader:e.drawHeader,drawCell:e.drawCell,experimental:e.experimental,gridRef:e.gridRef,headerIcons:e.headerIcons,isDraggable:e.isDraggable,onCanvasBlur:e.onCanvasBlur,onCanvasFocused:e.onCanvasFocused,onCellFocused:e.onCellFocused,onColumnMoved:e.onColumnMoved,onColumnResize:e.onColumnResize,onColumnResizeEnd:e.onColumnResizeEnd,onColumnResizeStart:e.onColumnResizeStart,onContextMenu:e.onContextMenu,onDragEnd:e.onDragEnd,onDragLeave:e.onDragLeave,onDragOverCell:e.onDragOverCell,onDragStart:e.onDragStart,onDrop:e.onDrop,onItemHovered:e.onItemHovered,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onRowMoved:e.onRowMoved,smoothScrollX:e.smoothScrollX,smoothScrollY:e.smoothScrollY,resizeIndicator:e.resizeIndicator})})},ze=Oe;export{ze as G}; +import{j as U,a as he,F as me,s as Ce}from"./marked.esm-dbrxtycE.js";import{r as t}from"./index-BMVQvedj.js";import{c as Re}from"./throttle-7EuXLZa7.js";import{Q as Se,R as we,u as ve}from"./image-window-loader-Hk1rG8Sr.js";function ae(e,f,m,o){return Re(Math.round(f-(e.growOffset??0)),Math.ceil(m),Math.floor(o))}const De=e=>{const[f,m]=t.useState(),[o,D]=t.useState(),[i,O]=t.useState(),[h,w]=t.useState(),[C,b]=t.useState(!1),[K,c]=t.useState(),[R,X]=t.useState(),[N,oe]=t.useState(),[q,ee]=t.useState(!1),[ne,re]=t.useState(),{onHeaderMenuClick:Y,onHeaderIndicatorClick:te,getCellContent:x,onColumnMoved:j,onColumnResize:S,onColumnResizeStart:$,onColumnResizeEnd:F,gridRef:_,maxColumnWidth:M,minColumnWidth:W,onRowMoved:E,lockColumns:A,onColumnProposeMove:J,onMouseDown:P,onMouseUp:Z,onItemHovered:n,onDragStart:L,canvasRef:H}=e,G=(S??F??$)!==void 0,{columns:a,selection:l}=e,s=l.columns,d=t.useCallback(r=>{const[g,y]=r.location;i!==void 0&&h!==g&&g>=A?(b(!0),w(g)):R!==void 0&&y!==void 0?(ee(!0),oe(Math.max(0,y))):o===void 0&&!C&&!q&&(n==null||n(r))},[i,R,h,n,A,o,C,q]),B=j!==void 0,V=t.useCallback(r=>{var g;if(r.button===0){const[y,v]=r.location;if(r.kind==="out-of-bounds"&&r.isEdge&&G){const T=(g=_==null?void 0:_.current)==null?void 0:g.getBounds(a.length-1,-1);T!==void 0&&(m(T.x),D(a.length-1))}else if(r.kind==="header"&&y>=A){const T=H==null?void 0:H.current;if(r.isEdge&&G&&T){m(r.bounds.x),D(y);const ue=T.getBoundingClientRect().width/T.offsetWidth,le=r.bounds.width/ue;$==null||$(a[y],le,y,le+(a[y].growOffset??0))}else r.kind==="header"&&B&&(c(r.bounds.x),O(y))}else r.kind==="cell"&&A>0&&y===0&&v!==void 0&&E!==void 0&&(re(r.bounds.y),X(v))}P==null||P(r)},[P,G,A,E,_,a,B,$,H]),Q=t.useCallback((r,g)=>{C||q||Y==null||Y(r,g)},[C,q,Y]),se=t.useCallback((r,g)=>{C||q||te==null||te(r,g)},[C,q,te]),k=t.useRef(-1),u=t.useCallback(()=>{k.current=-1,X(void 0),oe(void 0),re(void 0),ee(!1),O(void 0),w(void 0),c(void 0),b(!1),D(void 0),m(void 0)},[]),z=t.useCallback((r,g)=>{if(r.button===0){if(o!==void 0){if((s==null?void 0:s.hasIndex(o))===!0)for(const v of s){if(v===o)continue;const T=a[v],p=ae(T,k.current,W,M);S==null||S(T,p,v,p+(T.growOffset??0))}const y=ae(a[o],k.current,W,M);if(F==null||F(a[o],y,o,y+(a[o].growOffset??0)),s.hasIndex(o))for(const v of s){if(v===o)continue;const T=a[v],p=ae(T,k.current,W,M);F==null||F(T,p,v,p+(T.growOffset??0))}}u(),i!==void 0&&h!==void 0&&(j==null||j(i,h)),R!==void 0&&N!==void 0&&(E==null||E(R,N))}Z==null||Z(r,g)},[Z,o,i,h,R,N,s,F,a,W,M,S,j,E,u]),I=t.useMemo(()=>{if(!(i===void 0||h===void 0)&&i!==h&&(J==null?void 0:J(i,h))!==!1)return{src:i,dest:h}},[i,h,J]),ie=t.useCallback(r=>{const g=H==null?void 0:H.current;if(i!==void 0&&K!==void 0)Math.abs(r.clientX-K)>20&&b(!0);else if(R!==void 0&&ne!==void 0)Math.abs(r.clientY-ne)>20&&ee(!0);else if(o!==void 0&&f!==void 0&&g){const v=g.getBoundingClientRect().width/g.offsetWidth,T=(r.clientX-f)/v,p=a[o],ue=ae(p,T,W,M);if(S==null||S(p,ue,o,ue+(p.growOffset??0)),k.current=T,(s==null?void 0:s.first())===o)for(const le of s){if(le===o)continue;const fe=a[le],ge=ae(fe,k.current,W,M);S==null||S(fe,ge,le,ge+(fe.growOffset??0))}}},[i,K,R,ne,o,f,a,W,M,S,s,H]),ce=t.useCallback((r,g)=>{if(R===void 0||N===void 0)return x(r,g);let[y,v]=r;return v===N?v=R:(v>N&&(v-=1),v>=R&&(v+=1)),x([y,v],g)},[R,N,x]),de=t.useCallback(r=>{L==null||L(r),r.defaultPrevented()||u()},[u,L]);return U(Se,{accessibilityHeight:e.accessibilityHeight,canvasRef:e.canvasRef,cellXOffset:e.cellXOffset,cellYOffset:e.cellYOffset,columns:e.columns,disabledRows:e.disabledRows,drawFocusRing:e.drawFocusRing,drawHeader:e.drawHeader,drawCell:e.drawCell,enableGroups:e.enableGroups,eventTargetRef:e.eventTargetRef,experimental:e.experimental,fillHandle:e.fillHandle,firstColAccessible:e.firstColAccessible,fixedShadowX:e.fixedShadowX,fixedShadowY:e.fixedShadowY,freezeColumns:e.freezeColumns,getCellRenderer:e.getCellRenderer,getGroupDetails:e.getGroupDetails,getRowThemeOverride:e.getRowThemeOverride,groupHeaderHeight:e.groupHeaderHeight,headerHeight:e.headerHeight,headerIcons:e.headerIcons,height:e.height,highlightRegions:e.highlightRegions,imageWindowLoader:e.imageWindowLoader,resizeColumn:o,isDraggable:e.isDraggable,isFilling:e.isFilling,isFocused:e.isFocused,onCanvasBlur:e.onCanvasBlur,onCanvasFocused:e.onCanvasFocused,onCellFocused:e.onCellFocused,onContextMenu:e.onContextMenu,onDragEnd:e.onDragEnd,onDragLeave:e.onDragLeave,onDragOverCell:e.onDragOverCell,onDrop:e.onDrop,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,onMouseMove:e.onMouseMove,prelightCells:e.prelightCells,rowHeight:e.rowHeight,rows:e.rows,selection:e.selection,smoothScrollX:e.smoothScrollX,smoothScrollY:e.smoothScrollY,theme:e.theme,freezeTrailingRows:e.freezeTrailingRows,hasAppendRow:e.hasAppendRow,translateX:e.translateX,translateY:e.translateY,resizeIndicator:e.resizeIndicator,verticalBorder:e.verticalBorder,width:e.width,getCellContent:ce,isResizing:o!==void 0,onHeaderMenuClick:Q,onHeaderIndicatorClick:se,isDragging:C,onItemHovered:d,onDragStart:de,onMouseDown:V,allowResize:G,onMouseUp:z,dragAndDropState:I,onMouseMoveRaw:ie,ref:_})},be=De;function He(e){const f=t.useRef(null),[m,o]=t.useState({width:e==null?void 0:e[0],height:e==null?void 0:e[1]});return t.useLayoutEffect(()=>{const D=O=>{for(const h of O){const{width:w,height:C}=h&&h.contentRect||{};o(b=>b.width===w&&b.height===C?b:{width:w,height:C})}},i=new window.ResizeObserver(D);return f.current&&i.observe(f.current,void 0),()=>{i.disconnect()}},[f.current]),{ref:f,...m}}const ye=(e,f,m)=>{const o=t.useRef(null),D=t.useRef(null),i=t.useRef(null),O=t.useRef(0),h=t.useRef(f);h.current=f;const w=m.current;t.useEffect(()=>{const C=()=>{var c,R;if(D.current===!1&&w!==null){const X=[w.scrollLeft,w.scrollTop];if(((c=i.current)==null?void 0:c[0])===X[0]&&((R=i.current)==null?void 0:R[1])===X[1])if(O.current>10){i.current=null,D.current=null;return}else O.current++;else O.current=0,h.current(X[0],X[1]),i.current=X;o.current=window.setTimeout(C,8.333333333333334)}},b=()=>{D.current=!0,i.current=null,o.current!==null&&(window.clearTimeout(o.current),o.current=null)},K=c=>{c.touches.length===0&&(D.current=!1,O.current=0,o.current=window.setTimeout(C,8.333333333333334))};if(e&&w!==null){const c=w;return c.addEventListener("touchstart",b),c.addEventListener("touchend",K),()=>{c.removeEventListener("touchstart",b),c.removeEventListener("touchend",K),o.current!==null&&window.clearTimeout(o.current)}}},[e,w])},xe=ye,Me=()=>e=>e.isSafari?"scroll":"auto",ke=Ce("div")({name:"ScrollRegionStyle",class:"sj2f20c",propsAsIs:!1,vars:{"sj2f20c-0":[Me()]}});function Te(e){const[f,m]=t.useState(!1),o=typeof window>"u"?null:window,D=t.useRef(0);return ve("touchstart",t.useCallback(()=>{window.clearTimeout(D.current),m(!0)},[]),o,!0,!1),ve("touchend",t.useCallback(i=>{i.touches.length===0&&(D.current=window.setTimeout(()=>m(!1),e))},[e]),o,!0,!1),f}const Ie=e=>{var G,a;const{children:f,clientHeight:m,scrollHeight:o,scrollWidth:D,update:i,draggable:O,className:h,preventDiagonalScrolling:w=!1,paddingBottom:C=0,paddingRight:b=0,rightElement:K,rightElementProps:c,kineticScrollPerfHack:R=!1,scrollRef:X,initialSize:N}=e,oe=[],q=(c==null?void 0:c.sticky)??!1,ee=(c==null?void 0:c.fill)??!1,ne=t.useRef(0),re=t.useRef(0),Y=t.useRef(null),te=typeof window>"u"?1:window.devicePixelRatio,x=t.useRef({scrollLeft:0,scrollTop:0,lockDirection:void 0}),j=t.useRef(null),S=Te(200),[$,F]=t.useState(!0),_=t.useRef(0);t.useLayoutEffect(()=>{if(!$||S||x.current.lockDirection===void 0)return;const l=Y.current;if(l===null)return;const[s,d]=x.current.lockDirection;s!==void 0?l.scrollLeft=s:d!==void 0&&(l.scrollTop=d),x.current.lockDirection=void 0},[S,$]);const M=t.useCallback((l,s)=>{var de;const d=Y.current;if(d===null)return;s=s??d.scrollTop,l=l??d.scrollLeft;const B=x.current.scrollTop,V=x.current.scrollLeft,Q=l-V,se=s-B;S&&Q!==0&&se!==0&&(Math.abs(Q)>3||Math.abs(se)>3)&&w&&x.current.lockDirection===void 0&&(x.current.lockDirection=Math.abs(Q)0&&(Math.abs(ie)>2e3||I===0||I===ce)&&o>d.scrollHeight+5){const r=I/ce,g=(o-z)*r;ne.current=g-I}k!==void 0&&(window.clearTimeout(_.current),F(!1),_.current=window.setTimeout(()=>F(!0),200)),i({x:l,y:I+ne.current,width:u-b,height:z-C,paddingRight:((de=j.current)==null?void 0:de.clientWidth)??0})},[C,b,o,i,w,S]);xe(R&&we.value,M,Y);const W=t.useRef(M);W.current=M;const E=t.useRef(),A=t.useRef(!1);t.useLayoutEffect(()=>{A.current?M():A.current=!0},[M,C,b]);const J=t.useCallback(l=>{Y.current=l,X!==void 0&&(X.current=l)},[X]);let P=0,Z=0;for(oe.push(U("div",{style:{width:D,height:0}},P++));ZW.current(),0),E.current={width:L,height:H}),(L??0)===0||(H??0)===0?U("div",{ref:n}):U("div",{ref:n,children:he(ke,{isSafari:we.value,children:[U("div",{className:"dvn-underlay",children:f}),U("div",{ref:J,style:E.current,draggable:O,onDragStart:l=>{O||(l.stopPropagation(),l.preventDefault())},className:"dvn-scroller "+(h??""),onScroll:()=>M(),children:he("div",{className:"dvn-scroll-inner"+(K===void 0?" dvn-hidden":""),children:[U("div",{className:"dvn-stack",children:oe}),K!==void 0&&he(me,{children:[!ee&&U("div",{className:"dvn-spacer"}),U("div",{ref:j,style:{height:H,maxHeight:m-Math.ceil(te%1),position:"sticky",top:0,paddingLeft:1,marginBottom:-40,marginRight:b,flexGrow:ee?1:void 0,right:q?b??0:void 0,pointerEvents:"auto"},children:K})]})]})})]})})},Oe=e=>{const{columns:f,rows:m,rowHeight:o,headerHeight:D,groupHeaderHeight:i,enableGroups:O,freezeColumns:h,experimental:w,nonGrowWidth:C,clientSize:b,className:K,onVisibleRegionChanged:c,scrollRef:R,preventDiagonalScrolling:X,rightElement:N,rightElementProps:oe,overscrollX:q,overscrollY:ee,initialSize:ne,smoothScrollX:re=!1,smoothScrollY:Y=!1,isDraggable:te}=e,{paddingRight:x,paddingBottom:j}=w??{},[S,$]=b,F=t.useRef(),_=t.useRef(),M=t.useRef(),W=t.useRef(),E=C+Math.max(0,q??0);let A=O?D+i:D;if(typeof o=="number")A+=m*o;else for(let n=0;n{var se,k;if(J.current===void 0)return;const n={...J.current};let L=0,H=n.x<0?-n.x:0,G=0,a=0;n.x=n.x<0?0:n.x;let l=0;for(let u=0;u=z+u.width)L+=u.width,a++,G++;else if(n.x>z)L+=u.width,re?H+=z-n.x:a++,G++;else if(n.x+n.width>z)L+=u.width,G++;else break}let s=0,d=0,B=0;if(typeof o=="number")Y?(d=Math.floor(n.y/o),s=d*o-n.y):d=Math.ceil(n.y/o),B=Math.ceil(n.height/o)+d,s<0&&B++;else{let u=0;for(let z=0;z=u+I)u+=I,d++,B++;else if(n.y>ie)u+=I,Y?s+=ie-n.y:d++,B++;else if(n.y+n.height>I/2+u)u+=I,B++;else break}}const V={x:a,y:d,width:G-a,height:B-d},Q=F.current;(Q===void 0||Q.y!==V.y||Q.x!==V.x||Q.height!==V.height||Q.width!==V.width||_.current!==H||M.current!==s||n.width!==((se=W.current)==null?void 0:se[0])||n.height!==((k=W.current)==null?void 0:k[1]))&&(c==null||c({x:a,y:d,width:G-a,height:B-d},n.width,n.height,n.paddingRight??0,H,s),F.current=V,_.current=H,M.current=s,W.current=[n.width,n.height])},[f,o,m,c,h,re,Y]),Z=t.useCallback(n=>{J.current=n,P()},[P]);return t.useEffect(()=>{P()},[P]),U(Ie,{scrollRef:R,className:K,kineticScrollPerfHack:w==null?void 0:w.kineticScrollPerfHack,preventDiagonalScrolling:X,draggable:te===!0||typeof te=="string",scrollWidth:E+(x??0),scrollHeight:A+(j??0),clientHeight:$,rightElement:N,paddingBottom:j,paddingRight:x,rightElementProps:oe,update:Z,initialSize:ne,children:U(be,{eventTargetRef:R,width:S,height:$,accessibilityHeight:e.accessibilityHeight,canvasRef:e.canvasRef,cellXOffset:e.cellXOffset,cellYOffset:e.cellYOffset,columns:e.columns,disabledRows:e.disabledRows,enableGroups:e.enableGroups,fillHandle:e.fillHandle,firstColAccessible:e.firstColAccessible,fixedShadowX:e.fixedShadowX,fixedShadowY:e.fixedShadowY,freezeColumns:e.freezeColumns,getCellContent:e.getCellContent,getCellRenderer:e.getCellRenderer,getGroupDetails:e.getGroupDetails,getRowThemeOverride:e.getRowThemeOverride,groupHeaderHeight:e.groupHeaderHeight,headerHeight:e.headerHeight,highlightRegions:e.highlightRegions,imageWindowLoader:e.imageWindowLoader,isFilling:e.isFilling,isFocused:e.isFocused,lockColumns:e.lockColumns,maxColumnWidth:e.maxColumnWidth,minColumnWidth:e.minColumnWidth,onHeaderMenuClick:e.onHeaderMenuClick,onHeaderIndicatorClick:e.onHeaderIndicatorClick,onMouseMove:e.onMouseMove,prelightCells:e.prelightCells,rowHeight:e.rowHeight,rows:e.rows,selection:e.selection,theme:e.theme,freezeTrailingRows:e.freezeTrailingRows,hasAppendRow:e.hasAppendRow,translateX:e.translateX,translateY:e.translateY,onColumnProposeMove:e.onColumnProposeMove,verticalBorder:e.verticalBorder,drawFocusRing:e.drawFocusRing,drawHeader:e.drawHeader,drawCell:e.drawCell,experimental:e.experimental,gridRef:e.gridRef,headerIcons:e.headerIcons,isDraggable:e.isDraggable,onCanvasBlur:e.onCanvasBlur,onCanvasFocused:e.onCanvasFocused,onCellFocused:e.onCellFocused,onColumnMoved:e.onColumnMoved,onColumnResize:e.onColumnResize,onColumnResizeEnd:e.onColumnResizeEnd,onColumnResizeStart:e.onColumnResizeStart,onContextMenu:e.onContextMenu,onDragEnd:e.onDragEnd,onDragLeave:e.onDragLeave,onDragOverCell:e.onDragOverCell,onDragStart:e.onDragStart,onDrop:e.onDrop,onItemHovered:e.onItemHovered,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onRowMoved:e.onRowMoved,smoothScrollX:e.smoothScrollX,smoothScrollY:e.smoothScrollY,resizeIndicator:e.resizeIndicator})})},ze=Oe;export{ze as G}; diff --git a/docs/assets/scrolling-data-grid.stories-3LZhQ26y.js b/docs/assets/scrolling-data-grid.stories-Vo-oDGAY.js similarity index 96% rename from docs/assets/scrolling-data-grid.stories-3LZhQ26y.js rename to docs/assets/scrolling-data-grid.stories-Vo-oDGAY.js index 5fc51633c..41aed9aba 100644 --- a/docs/assets/scrolling-data-grid.stories-3LZhQ26y.js +++ b/docs/assets/scrolling-data-grid.stories-Vo-oDGAY.js @@ -1,4 +1,4 @@ -import{j as i,s as y}from"./marked.esm-dbrxtycE.js";import{r as n}from"./index-BMVQvedj.js";import{B as x}from"./story-utils-K2EZnGjM.js";import{G as T}from"./scrolling-data-grid-AbyJF5mC.js";import{G as c,O as D,m as b,g as H,C as l,P as I}from"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";const k=y("div")({name:"InnerContainer",class:"i1iwi3t9",propsAsIs:!1}),G=o=>{if(o.kind!==c.Custom)return I.find(r=>r.kind===o.kind)},$={title:"Subcomponents/ScrollingDataGrid",decorators:[o=>i("div",{children:i(x,{width:1500,height:1e3,children:i(k,{children:i(o,{})})})})]};function d(){const[o,r]=n.useState(0),[g,m]=n.useState(0),[f,h]=n.useState(0),[v,p]=n.useState(0),C=n.useCallback((e,t,R)=>{r(e.x),m(e.y),h(t),p(R)},[]),w=n.useMemo(()=>{let e=0;return["One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten"].map(t=>({title:t,width:122+(e+=50)}))},[]),S=n.useCallback(([e,t])=>({kind:c.Text,displayData:`${e},${t} Testing things that are way too long`,data:`${e},${t} Testing things that are way too long`,allowOverlay:!0}),[]);return i(T,{getCellRenderer:G,onMouseMove:()=>{},rows:1e4,enableGroups:!1,clientSize:[1e3,1e3,0],resizeIndicator:"full",cellXOffset:o,cellYOffset:g,drawHeader:void 0,experimental:void 0,headerIcons:void 0,isDraggable:void 0,nonGrowWidth:1e3,onCanvasBlur:()=>{},onCanvasFocused:()=>{},onCellFocused:()=>{},onContextMenu:()=>{},onDragEnd:()=>{},onDragLeave:()=>{},onDragOverCell:()=>{},onDragStart:()=>{},onDrop:()=>{},onHeaderIndicatorClick:()=>{},onItemHovered:()=>{},onKeyDown:()=>{},onKeyUp:()=>{},onMouseDown:()=>{},onMouseUp:()=>{},canvasRef:void 0,className:void 0,drawCell:void 0,disabledRows:void 0,fillHandle:void 0,fixedShadowX:void 0,fixedShadowY:void 0,getGroupDetails:void 0,getRowThemeOverride:void 0,highlightRegions:void 0,imageWindowLoader:new D,onHeaderMenuClick:void 0,prelightCells:void 0,drawFocusRing:!0,initialSize:void 0,overscrollX:void 0,overscrollY:void 0,preventDiagonalScrolling:void 0,rightElement:void 0,rightElementProps:void 0,scrollRef:void 0,minColumnWidth:50,isFocused:!0,theme:b(H()),isFilling:!1,maxColumnWidth:500,accessibilityHeight:50,translateX:f,translateY:v,lockColumns:0,selection:{current:void 0,rows:l.empty(),columns:l.empty()},firstColAccessible:!0,groupHeaderHeight:34,headerHeight:44,freezeTrailingRows:0,hasAppendRow:!1,rowHeight:34,onVisibleRegionChanged:C,columns:w,getCellContent:S,freezeColumns:0,verticalBorder:()=>!0,smoothScrollX:!0,smoothScrollY:!0})}var a,s,u;d.parameters={...d.parameters,docs:{...(a=d.parameters)==null?void 0:a.docs,source:{originalSource:`function Simplenotest() { +import{j as i,s as y}from"./marked.esm-dbrxtycE.js";import{r as n}from"./index-BMVQvedj.js";import{B as x}from"./story-utils-K2EZnGjM.js";import{G as T}from"./scrolling-data-grid-6oMlsc5s.js";import{G as c,O as D,m as b,g as H,C as l,P as I}from"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";const k=y("div")({name:"InnerContainer",class:"i1iwi3t9",propsAsIs:!1}),G=o=>{if(o.kind!==c.Custom)return I.find(r=>r.kind===o.kind)},$={title:"Subcomponents/ScrollingDataGrid",decorators:[o=>i("div",{children:i(x,{width:1500,height:1e3,children:i(k,{children:i(o,{})})})})]};function d(){const[o,r]=n.useState(0),[g,m]=n.useState(0),[f,h]=n.useState(0),[v,p]=n.useState(0),C=n.useCallback((e,t,R)=>{r(e.x),m(e.y),h(t),p(R)},[]),w=n.useMemo(()=>{let e=0;return["One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten"].map(t=>({title:t,width:122+(e+=50)}))},[]),S=n.useCallback(([e,t])=>({kind:c.Text,displayData:`${e},${t} Testing things that are way too long`,data:`${e},${t} Testing things that are way too long`,allowOverlay:!0}),[]);return i(T,{getCellRenderer:G,onMouseMove:()=>{},rows:1e4,enableGroups:!1,clientSize:[1e3,1e3,0],resizeIndicator:"full",cellXOffset:o,cellYOffset:g,drawHeader:void 0,experimental:void 0,headerIcons:void 0,isDraggable:void 0,nonGrowWidth:1e3,onCanvasBlur:()=>{},onCanvasFocused:()=>{},onCellFocused:()=>{},onContextMenu:()=>{},onDragEnd:()=>{},onDragLeave:()=>{},onDragOverCell:()=>{},onDragStart:()=>{},onDrop:()=>{},onHeaderIndicatorClick:()=>{},onItemHovered:()=>{},onKeyDown:()=>{},onKeyUp:()=>{},onMouseDown:()=>{},onMouseUp:()=>{},canvasRef:void 0,className:void 0,drawCell:void 0,disabledRows:void 0,fillHandle:void 0,fixedShadowX:void 0,fixedShadowY:void 0,getGroupDetails:void 0,getRowThemeOverride:void 0,highlightRegions:void 0,imageWindowLoader:new D,onHeaderMenuClick:void 0,prelightCells:void 0,drawFocusRing:!0,initialSize:void 0,overscrollX:void 0,overscrollY:void 0,preventDiagonalScrolling:void 0,rightElement:void 0,rightElementProps:void 0,scrollRef:void 0,minColumnWidth:50,isFocused:!0,theme:b(H()),isFilling:!1,maxColumnWidth:500,accessibilityHeight:50,translateX:f,translateY:v,lockColumns:0,selection:{current:void 0,rows:l.empty(),columns:l.empty()},firstColAccessible:!0,groupHeaderHeight:34,headerHeight:44,freezeTrailingRows:0,hasAppendRow:!1,rowHeight:34,onVisibleRegionChanged:C,columns:w,getCellContent:S,freezeColumns:0,verticalBorder:()=>!0,smoothScrollX:!0,smoothScrollY:!0})}var a,s,u;d.parameters={...d.parameters,docs:{...(a=d.parameters)==null?void 0:a.docs,source:{originalSource:`function Simplenotest() { const [x, setX] = React.useState(0); const [y, setY] = React.useState(0); const [translateX, setTx] = React.useState(0); diff --git a/docs/assets/search-as-filter.stories-u4X7aSyM.js b/docs/assets/search-as-filter.stories-HebIWnA5.js similarity index 90% rename from docs/assets/search-as-filter.stories-u4X7aSyM.js rename to docs/assets/search-as-filter.stories-HebIWnA5.js index 00b809b62..d1675c28f 100644 --- a/docs/assets/search-as-filter.stories-u4X7aSyM.js +++ b/docs/assets/search-as-filter.stories-HebIWnA5.js @@ -1,4 +1,4 @@ -import{j as e,F as f}from"./marked.esm-dbrxtycE.js";import{R as o}from"./index-BMVQvedj.js";import{C as c,u as V}from"./image-window-loader-aMebukIX.js";import{D as y}from"./data-editor-all-kwt0I9Kc.js";import{B as R,D,a as F,d as v}from"./utils-rXlmyYaC.js";import{S as E}from"./story-utils-K2EZnGjM.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const T={title:"Glide-Data-Grid/DataEditor Demos",decorators:[a=>e(E,{children:e(R,{title:"Filtering down to search results",description:e(f,{children:e(D,{children:"You can update your grid however you want based on search inputs."})}),children:e(a,{})})})]},s=()=>{const{cols:a,getCellContent:m,onColumnResize:p,setCellValue:S}=F(),[d,n]=o.useState(!1),[C,g]=o.useState({rows:c.empty(),columns:c.empty()});V("keydown",o.useCallback(t=>{(t.ctrlKey||t.metaKey)&&t.code==="KeyF"&&(n(w=>!w),t.stopPropagation(),t.preventDefault())},[]),window,!1,!0);const[r,l]=o.useState("");return e(y,{...v,searchResults:[],getCellContent:m,getCellsForSelection:!0,gridSelection:C,onGridSelectionChange:g,columns:a,onCellEdited:S,onColumnResize:p,searchValue:r,onSearchValueChange:l,showSearch:d,onSearchClose:()=>{n(!1),l("")},rows:r.length===0?1e4:r.length})};var i,u,h;s.parameters={...s.parameters,docs:{...(i=s.parameters)==null?void 0:i.docs,source:{originalSource:`() => { +import{j as e,F as f}from"./marked.esm-dbrxtycE.js";import{R as o}from"./index-BMVQvedj.js";import{C as c,u as V}from"./image-window-loader-Hk1rG8Sr.js";import{D as y}from"./data-editor-all-3W5wpw6K.js";import{B as R,D,a as F,d as v}from"./utils--Nf55hQd.js";import{S as E}from"./story-utils-K2EZnGjM.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const T={title:"Glide-Data-Grid/DataEditor Demos",decorators:[a=>e(E,{children:e(R,{title:"Filtering down to search results",description:e(f,{children:e(D,{children:"You can update your grid however you want based on search inputs."})}),children:e(a,{})})})]},s=()=>{const{cols:a,getCellContent:m,onColumnResize:p,setCellValue:S}=F(),[d,n]=o.useState(!1),[C,g]=o.useState({rows:c.empty(),columns:c.empty()});V("keydown",o.useCallback(t=>{(t.ctrlKey||t.metaKey)&&t.code==="KeyF"&&(n(w=>!w),t.stopPropagation(),t.preventDefault())},[]),window,!1,!0);const[r,l]=o.useState("");return e(y,{...v,searchResults:[],getCellContent:m,getCellsForSelection:!0,gridSelection:C,onGridSelectionChange:g,columns:a,onCellEdited:S,onColumnResize:p,searchValue:r,onSearchValueChange:l,showSearch:d,onSearchClose:()=>{n(!1),l("")},rows:r.length===0?1e4:r.length})};var i,u,h;s.parameters={...s.parameters,docs:{...(i=s.parameters)==null?void 0:i.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/server-side-data.stories-VfmvTkjM.js b/docs/assets/server-side-data.stories-eD3RQJ11.js similarity index 93% rename from docs/assets/server-side-data.stories-VfmvTkjM.js rename to docs/assets/server-side-data.stories-eD3RQJ11.js index 27b133837..998c86be4 100644 --- a/docs/assets/server-side-data.stories-VfmvTkjM.js +++ b/docs/assets/server-side-data.stories-eD3RQJ11.js @@ -1,4 +1,4 @@ -import{j as x}from"./marked.esm-dbrxtycE.js";import{g as S,R as l}from"./index-BMVQvedj.js";import{G as y,C as $}from"./image-window-loader-aMebukIX.js";import{S as B}from"./story-utils-K2EZnGjM.js";import{D as W}from"./data-editor-all-kwt0I9Kc.js";import{a as F,b as O,r as C}from"./throttle-7EuXLZa7.js";import{B as V}from"./utils-rXlmyYaC.js";import{a as j}from"./doc-wrapper-m1-LpzDL.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./_baseIteratee-WTHxv43n.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";import"./toConsumableArray-ppDpjNRJ.js";function K(e,t,a){var c=-1,r=e.length;t<0&&(t=-t>r?0:r+t),a=a>r?r:a,a<0&&(a+=r),r=t>a?0:a-t>>>0,t>>>=0;for(var o=Array(r);++cx(B,{children:x(e,{})})]};function te(e,t,a,c,r,o){e=Math.max(e,1);const m=l.useRef($.empty()),h=l.useRef([]),[f,G]=l.useState({x:0,y:0,width:0,height:0}),b=l.useRef(f);b.current=f;const T=l.useCallback(n=>{G(s=>n.x===s.x&&n.y===s.y&&n.width===s.width&&n.height===s.height?s:n)},[]),v=l.useCallback(n=>{const[s,d]=n,i=h.current[d];return i!==void 0?c(i,s):{kind:y.Loading,allowOverlay:!1}},[c]),k=l.useCallback(async n=>{var p;m.current=m.current.add(n);const s=n*e,d=await a([s,(n+1)*e]),i=b.current,u=[],w=h.current;for(const[R,E]of d.entries()){w[R+s]=E;for(let D=i.x;D<=i.x+i.width;D++)u.push({cell:[D,R+s]})}(p=o.current)==null||p.updateCells(u)},[a,o,e]),_=l.useCallback(n=>async()=>{const s=Math.max(0,Math.floor(n.y/e)),d=Math.floor((n.y+n.height)/e);for(const u of ee(C(s,d+1).filter(w=>!m.current.hasIndex(w)),t))await Promise.allSettled(u.map(k));const i=[];for(let u=n.y;u{const n=f,s=Math.max(0,Math.floor((n.y-e/2)/e)),d=Math.floor((n.y+n.height+e/2)/e);for(const i of C(s,d+1))m.current.hasIndex(i)||k(i)},[k,e,f]);const A=l.useCallback((n,s)=>{const[,d]=n,i=h.current[d];if(i===void 0)return;const u=r(n,s,i);u!==void 0&&(h.current[d]=u)},[r]);return{getCellContent:v,onVisibleRegionChanged:T,onCellEdited:A,getCellsForSelection:_}}const g=()=>{const e=l.useRef(null),t=l.useCallback(async r=>(await new Promise(o=>setTimeout(o,300)),C(r[0],r[1]).map(o=>[`1, ${o}`,`2, ${o}`])),[]),a=l.useMemo(()=>[{title:"A",width:150},{title:"B",width:200}],[]),c=te(50,5,t,l.useCallback((r,o)=>({kind:y.Text,data:r[o],allowOverlay:!0,displayData:r[o]}),[]),l.useCallback((r,o,m)=>{const[h]=r;if(o.kind!==y.Text)return;const f=[...m];return f[h]=o.data,f},[]),e);return x(V,{title:"Server Side Data",description:x(j,{children:"Glide data grid is fully ready to handle your server side data needs. This example condenses the implementation into a single custom hook and loads in pages of 50. We are using 300ms sleeps, but network transactions should work the same."}),children:x(W,{ref:e,...c,width:"100%",columns:a,rows:3e3,rowMarkers:"both"})})};g.parameters={options:{showPanel:!1}};var M,I,P;g.parameters={...g.parameters,docs:{...(M=g.parameters)==null?void 0:M.docs,source:{originalSource:`() => { +import{j as x}from"./marked.esm-dbrxtycE.js";import{g as S,R as l}from"./index-BMVQvedj.js";import{G as y,C as $}from"./image-window-loader-Hk1rG8Sr.js";import{S as B}from"./story-utils-K2EZnGjM.js";import{D as W}from"./data-editor-all-3W5wpw6K.js";import{a as F,b as O,r as C}from"./throttle-7EuXLZa7.js";import{B as V}from"./utils--Nf55hQd.js";import{a as j}from"./doc-wrapper-m1-LpzDL.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./_baseIteratee-WTHxv43n.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";import"./toConsumableArray-ppDpjNRJ.js";function K(e,t,a){var c=-1,r=e.length;t<0&&(t=-t>r?0:r+t),a=a>r?r:a,a<0&&(a+=r),r=t>a?0:a-t>>>0,t>>>=0;for(var o=Array(r);++cx(B,{children:x(e,{})})]};function te(e,t,a,c,r,o){e=Math.max(e,1);const m=l.useRef($.empty()),h=l.useRef([]),[f,G]=l.useState({x:0,y:0,width:0,height:0}),b=l.useRef(f);b.current=f;const T=l.useCallback(n=>{G(s=>n.x===s.x&&n.y===s.y&&n.width===s.width&&n.height===s.height?s:n)},[]),v=l.useCallback(n=>{const[s,d]=n,i=h.current[d];return i!==void 0?c(i,s):{kind:y.Loading,allowOverlay:!1}},[c]),k=l.useCallback(async n=>{var p;m.current=m.current.add(n);const s=n*e,d=await a([s,(n+1)*e]),i=b.current,u=[],w=h.current;for(const[R,E]of d.entries()){w[R+s]=E;for(let D=i.x;D<=i.x+i.width;D++)u.push({cell:[D,R+s]})}(p=o.current)==null||p.updateCells(u)},[a,o,e]),_=l.useCallback(n=>async()=>{const s=Math.max(0,Math.floor(n.y/e)),d=Math.floor((n.y+n.height)/e);for(const u of ee(C(s,d+1).filter(w=>!m.current.hasIndex(w)),t))await Promise.allSettled(u.map(k));const i=[];for(let u=n.y;u{const n=f,s=Math.max(0,Math.floor((n.y-e/2)/e)),d=Math.floor((n.y+n.height+e/2)/e);for(const i of C(s,d+1))m.current.hasIndex(i)||k(i)},[k,e,f]);const A=l.useCallback((n,s)=>{const[,d]=n,i=h.current[d];if(i===void 0)return;const u=r(n,s,i);u!==void 0&&(h.current[d]=u)},[r]);return{getCellContent:v,onVisibleRegionChanged:T,onCellEdited:A,getCellsForSelection:_}}const g=()=>{const e=l.useRef(null),t=l.useCallback(async r=>(await new Promise(o=>setTimeout(o,300)),C(r[0],r[1]).map(o=>[`1, ${o}`,`2, ${o}`])),[]),a=l.useMemo(()=>[{title:"A",width:150},{title:"B",width:200}],[]),c=te(50,5,t,l.useCallback((r,o)=>({kind:y.Text,data:r[o],allowOverlay:!0,displayData:r[o]}),[]),l.useCallback((r,o,m)=>{const[h]=r;if(o.kind!==y.Text)return;const f=[...m];return f[h]=o.data,f},[]),e);return x(V,{title:"Server Side Data",description:x(j,{children:"Glide data grid is fully ready to handle your server side data needs. This example condenses the implementation into a single custom hook and loads in pages of 50. We are using 300ms sleeps, but network transactions should work the same."}),children:x(W,{ref:e,...c,width:"100%",columns:a,rows:3e3,rowMarkers:"both"})})};g.parameters={options:{showPanel:!1}};var M,I,P;g.parameters={...g.parameters,docs:{...(M=g.parameters)==null?void 0:M.docs,source:{originalSource:`() => { const ref = React.useRef(null); const getRowData = React.useCallback(async (r: Item) => { await new Promise(res => setTimeout(res, 300)); diff --git a/docs/assets/shadow-dom.stories-VsN2L4WY.js b/docs/assets/shadow-dom.stories-Ky0i0BF3.js similarity index 82% rename from docs/assets/shadow-dom.stories-VsN2L4WY.js rename to docs/assets/shadow-dom.stories-Ky0i0BF3.js index 748b44adb..a70378871 100644 --- a/docs/assets/shadow-dom.stories-VsN2L4WY.js +++ b/docs/assets/shadow-dom.stories-Ky0i0BF3.js @@ -1,4 +1,4 @@ -import{j as e,a as u,F as h}from"./marked.esm-dbrxtycE.js";import{R as l}from"./index-BMVQvedj.js";import{D as f}from"./data-editor-all-kwt0I9Kc.js";import{B as w,D,P as g,u as R,d as S}from"./utils-rXlmyYaC.js";import{S as y}from"./story-utils-K2EZnGjM.js";import{R as C}from"./index-wocATsGp.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";const q={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>e(y,{children:e(w,{title:"Shadow DOM",description:u(D,{children:["Columns in the data grid may be grouped by setting their ",e(g,{children:"group"})," ","property."]}),children:e(t,{})})})]},n=()=>{const{cols:t,getCellContent:o}=R(20,!1,!1);return e(E,{render:()=>e(f,{...S,getCellContent:o,columns:t,rows:1e3,height:"100%",rowMarkers:"both"})})},M=t=>{const o=document.createElement("style");for(const r of document.styleSheets)try{if(r.cssRules!==void 0){const s=[...r.cssRules].map(i=>i.cssText).join(` +import{j as e,a as u,F as h}from"./marked.esm-dbrxtycE.js";import{R as l}from"./index-BMVQvedj.js";import{D as f}from"./data-editor-all-3W5wpw6K.js";import{B as w,D,P as g,u as R,d as S}from"./utils--Nf55hQd.js";import{S as y}from"./story-utils-K2EZnGjM.js";import{R as C}from"./index-wocATsGp.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";const q={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>e(y,{children:e(w,{title:"Shadow DOM",description:u(D,{children:["Columns in the data grid may be grouped by setting their ",e(g,{children:"group"})," ","property."]}),children:e(t,{})})})]},n=()=>{const{cols:t,getCellContent:o}=R(20,!1,!1);return e(E,{render:()=>e(f,{...S,getCellContent:o,columns:t,rows:1e3,height:"100%",rowMarkers:"both"})})},M=t=>{const o=document.createElement("style");for(const r of document.styleSheets)try{if(r.cssRules!==void 0){const s=[...r.cssRules].map(i=>i.cssText).join(` `);o.append(document.createTextNode(s))}}catch(s){console.warn("Cannot access stylesheet rules due to CORS policy",s)}t.append(o)},E=({className:t,render:o})=>{const r=l.useRef(null),s=l.useRef(!0);return l.useEffect(()=>{if(r.current===null||s.current){s.current=!1;return}const c=r.current.attachShadow({mode:"open"});window.glideShadowRoot=c,M(c);const a=document.createElement("div");return a.style.height="100%",c.append(a),C.render(e(h,{children:o()}),a),()=>{a.remove()}},[o]),e("div",{ref:r,className:t,style:{height:"100%"}})};var d,p,m;n.parameters={...n.parameters,docs:{...(d=n.parameters)==null?void 0:d.docs,source:{originalSource:`() => { const { cols, diff --git a/docs/assets/silly-numbers.stories-l1vFF-ko.js b/docs/assets/silly-numbers.stories-dDaRCc9X.js similarity index 78% rename from docs/assets/silly-numbers.stories-l1vFF-ko.js rename to docs/assets/silly-numbers.stories-dDaRCc9X.js index 6c9195d9a..31c69dfea 100644 --- a/docs/assets/silly-numbers.stories-l1vFF-ko.js +++ b/docs/assets/silly-numbers.stories-dDaRCc9X.js @@ -1,4 +1,4 @@ -import{j as r}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as a}from"./data-editor-all-kwt0I9Kc.js";import{B as n,D as m,u as p,d as c}from"./utils-rXlmyYaC.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const G={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>r(u,{children:r(n,{title:"100 Million Rows",description:r(m,{children:"100 million rows is silly. Once we cross about 33 million pixels in height we can no longer trust the browser to scroll accurately."}),children:r(e,{})})})]},o=()=>{const{cols:e,getCellContent:l}=p(6);return r(a,{...c,getCellContent:l,columns:e,rowHeight:31,rows:1e8,rowMarkers:"number"})};var t,s,i;o.parameters={...o.parameters,docs:{...(t=o.parameters)==null?void 0:t.docs,source:{originalSource:`() => { +import{j as r}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as a}from"./data-editor-all-3W5wpw6K.js";import{B as n,D as m,u as p,d as c}from"./utils--Nf55hQd.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const G={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>r(u,{children:r(n,{title:"100 Million Rows",description:r(m,{children:"100 million rows is silly. Once we cross about 33 million pixels in height we can no longer trust the browser to scroll accurately."}),children:r(e,{})})})]},o=()=>{const{cols:e,getCellContent:l}=p(6);return r(a,{...c,getCellContent:l,columns:e,rowHeight:31,rows:1e8,rowMarkers:"number"})};var t,s,i;o.parameters={...o.parameters,docs:{...(t=o.parameters)==null?void 0:t.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/small-editable-grid.stories-1FF4Nr8X.js b/docs/assets/small-editable-grid.stories-HqG9oNiY.js similarity index 78% rename from docs/assets/small-editable-grid.stories-1FF4Nr8X.js rename to docs/assets/small-editable-grid.stories-HqG9oNiY.js index 07bedb971..f73ca1f4a 100644 --- a/docs/assets/small-editable-grid.stories-1FF4Nr8X.js +++ b/docs/assets/small-editable-grid.stories-HqG9oNiY.js @@ -1,4 +1,4 @@ -import{j as e}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as n}from"./data-editor-all-kwt0I9Kc.js";import{B as d,D as m,u as p,d as c}from"./utils-rXlmyYaC.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const v={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>e(u,{children:e(d,{title:"Editable Grid",description:e(m,{children:"Data grid supports overlay editors for changing values. There are bespoke editors for numbers, strings, images, booleans, markdown, and uri."}),children:e(t,{})})})]},r=()=>{const{cols:t,getCellContent:l,setCellValue:i}=p(6,!1);return e(n,{...c,getCellContent:l,columns:t,rows:20,onCellEdited:i})};var o,a,s;r.parameters={...r.parameters,docs:{...(o=r.parameters)==null?void 0:o.docs,source:{originalSource:`() => { +import{j as e}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as n}from"./data-editor-all-3W5wpw6K.js";import{B as d,D as m,u as p,d as c}from"./utils--Nf55hQd.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const v={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>e(u,{children:e(d,{title:"Editable Grid",description:e(m,{children:"Data grid supports overlay editors for changing values. There are bespoke editors for numbers, strings, images, booleans, markdown, and uri."}),children:e(t,{})})})]},r=()=>{const{cols:t,getCellContent:l,setCellValue:i}=p(6,!1);return e(n,{...c,getCellContent:l,columns:t,rows:20,onCellEdited:i})};var o,a,s;r.parameters={...r.parameters,docs:{...(o=r.parameters)==null?void 0:o.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/smooth-scrolling-grid.stories-ac4ZWDTK.js b/docs/assets/smooth-scrolling-grid.stories-YGxA26KD.js similarity index 77% rename from docs/assets/smooth-scrolling-grid.stories-ac4ZWDTK.js rename to docs/assets/smooth-scrolling-grid.stories-YGxA26KD.js index 7406fd682..3324a0eee 100644 --- a/docs/assets/smooth-scrolling-grid.stories-ac4ZWDTK.js +++ b/docs/assets/smooth-scrolling-grid.stories-YGxA26KD.js @@ -1,4 +1,4 @@ -import{j as o,a as c}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as n}from"./data-editor-all-kwt0I9Kc.js";import{B as p,D as d,P as l,u as h,d as S}from"./utils-rXlmyYaC.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const v={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>o(u,{children:o(p,{title:"Smooth scrolling",description:c(d,{children:["You can enable smooth scrolling with the ",o(l,{children:"smoothScrollX"})," and"," ",o(l,{children:"smoothScrollY"})," props. Disabling smooth scrolling can dramatically increase performance and improve visual stability during rapid scrolling."]}),children:o(t,{})})})]},r=t=>{const{cols:i,getCellContent:m}=h(30);return o(n,{...S,smoothScrollX:t.smoothScrollX,smoothScrollY:t.smoothScrollY,getCellContent:m,columns:i,rows:1e4})};r.args={smoothScrollX:!1,smoothScrollY:!1};var s,e,a;r.parameters={...r.parameters,docs:{...(s=r.parameters)==null?void 0:s.docs,source:{originalSource:`p => { +import{j as o,a as c}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as n}from"./data-editor-all-3W5wpw6K.js";import{B as p,D as d,P as l,u as h,d as S}from"./utils--Nf55hQd.js";import{S as u}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const v={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>o(u,{children:o(p,{title:"Smooth scrolling",description:c(d,{children:["You can enable smooth scrolling with the ",o(l,{children:"smoothScrollX"})," and"," ",o(l,{children:"smoothScrollY"})," props. Disabling smooth scrolling can dramatically increase performance and improve visual stability during rapid scrolling."]}),children:o(t,{})})})]},r=t=>{const{cols:i,getCellContent:m}=h(30);return o(n,{...S,smoothScrollX:t.smoothScrollX,smoothScrollY:t.smoothScrollY,getCellContent:m,columns:i,rows:1e4})};r.args={smoothScrollX:!1,smoothScrollY:!1};var s,e,a;r.parameters={...r.parameters,docs:{...(s=r.parameters)==null?void 0:s.docs,source:{originalSource:`p => { const { cols, getCellContent diff --git a/docs/assets/span-cell.stories-iFF9QQON.js b/docs/assets/span-cell.stories-zAFCslGb.js similarity index 89% rename from docs/assets/span-cell.stories-iFF9QQON.js rename to docs/assets/span-cell.stories-zAFCslGb.js index ea0ed8c0f..8b27644b4 100644 --- a/docs/assets/span-cell.stories-iFF9QQON.js +++ b/docs/assets/span-cell.stories-zAFCslGb.js @@ -1,4 +1,4 @@ -import{j as t,a as c}from"./marked.esm-dbrxtycE.js";import{R as d}from"./index-BMVQvedj.js";import{D as f}from"./data-editor-all-kwt0I9Kc.js";import{B as w,D as S,P as C,M as x,u as G,d as v}from"./utils-rXlmyYaC.js";import{G as m}from"./image-window-loader-aMebukIX.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const W={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>t(D,{children:t(w,{title:"Spans",description:c(S,{children:["By setting the ",t(C,{children:"span"})," of a cell you can create spans in your grid. All cells within a span must return consistent data for defined behavior.",c(x,{children:["Spans will always be split if they span frozen and non-frozen columns. By default selections are always expanded to include a span. This can be disabled using the"," ",t(C,{children:"spanRangeBehavior"})," prop."]})]}),children:t(o,{})})})]},a=()=>{const{cols:o,getCellContent:i}=G(100,!0,!0),r=d.useCallback(e=>{const[n,l]=e;return l===6&&n>=3&&n<=4?{kind:m.Text,allowOverlay:!1,data:"Span Cell that is very long and will go past the cell limits",span:[3,4],displayData:"Span Cell that is very long and will go past the cell limits"}:l===5?{kind:m.Text,allowOverlay:!1,data:"Span Cell that is very long and will go past the cell limits",span:[0,99],displayData:"Span Cell that is very long and will go past the cell limits"}:i(e)},[i]),y=d.useCallback(e=>{const n=[];for(let l=e.y;l { +import{j as t,a as c}from"./marked.esm-dbrxtycE.js";import{R as d}from"./index-BMVQvedj.js";import{D as f}from"./data-editor-all-3W5wpw6K.js";import{B as w,D as S,P as C,M as x,u as G,d as v}from"./utils--Nf55hQd.js";import{G as m}from"./image-window-loader-Hk1rG8Sr.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const W={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>t(D,{children:t(w,{title:"Spans",description:c(S,{children:["By setting the ",t(C,{children:"span"})," of a cell you can create spans in your grid. All cells within a span must return consistent data for defined behavior.",c(x,{children:["Spans will always be split if they span frozen and non-frozen columns. By default selections are always expanded to include a span. This can be disabled using the"," ",t(C,{children:"spanRangeBehavior"})," prop."]})]}),children:t(o,{})})})]},a=()=>{const{cols:o,getCellContent:i}=G(100,!0,!0),r=d.useCallback(e=>{const[n,l]=e;return l===6&&n>=3&&n<=4?{kind:m.Text,allowOverlay:!1,data:"Span Cell that is very long and will go past the cell limits",span:[3,4],displayData:"Span Cell that is very long and will go past the cell limits"}:l===5?{kind:m.Text,allowOverlay:!1,data:"Span Cell that is very long and will go past the cell limits",span:[0,99],displayData:"Span Cell that is very long and will go past the cell limits"}:i(e)},[i]),y=d.useCallback(e=>{const n=[];for(let l=e.y;l { const { cols, getCellContent diff --git a/docs/assets/stretch-column-size.stories-7XjTLcUX.js b/docs/assets/stretch-column-size.stories-IX69CyzJ.js similarity index 84% rename from docs/assets/stretch-column-size.stories-7XjTLcUX.js rename to docs/assets/stretch-column-size.stories-IX69CyzJ.js index dd5c11633..0ebcecdfb 100644 --- a/docs/assets/stretch-column-size.stories-7XjTLcUX.js +++ b/docs/assets/stretch-column-size.stories-IX69CyzJ.js @@ -1,4 +1,4 @@ -import{j as e,a as C}from"./marked.esm-dbrxtycE.js";import{R as a}from"./index-BMVQvedj.js";import{D as w}from"./data-editor-all-kwt0I9Kc.js";import{B as z,D as R,P as S,u as f,d as g}from"./utils-rXlmyYaC.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const N={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>e(D,{children:e(z,{title:"Column Grow",description:C(R,{children:["Columns in the data grid may be set to grow to fill space by setting the"," ",e(S,{children:"grow"})," prop."]}),children:e(o,{})})})]},r=()=>{const{cols:o,getCellContent:l,onColumnResize:u}=f(5,!0,!0),s=a.useRef(new Set),p=a.useMemo(()=>o.map((t,n)=>({...t,grow:s.current.has(n)?void 0:(5+n)/5})),[o]);return e(w,{...g,getCellContent:l,columns:p,rows:1e3,onColumnResize:(t,n,d,h)=>{s.current.add(d),u(t,h)},rowMarkers:"both"})};var i,m,c;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`() => { +import{j as e,a as C}from"./marked.esm-dbrxtycE.js";import{R as a}from"./index-BMVQvedj.js";import{D as w}from"./data-editor-all-3W5wpw6K.js";import{B as z,D as R,P as S,u as f,d as g}from"./utils--Nf55hQd.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const N={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>e(D,{children:e(z,{title:"Column Grow",description:C(R,{children:["Columns in the data grid may be set to grow to fill space by setting the"," ",e(S,{children:"grow"})," prop."]}),children:e(o,{})})})]},r=()=>{const{cols:o,getCellContent:l,onColumnResize:u}=f(5,!0,!0),s=a.useRef(new Set),p=a.useMemo(()=>o.map((t,n)=>({...t,grow:s.current.has(n)?void 0:(5+n)/5})),[o]);return e(w,{...g,getCellContent:l,columns:p,rows:1e3,onColumnResize:(t,n,d,h)=>{s.current.add(d),u(t,h)},rowMarkers:"both"})};var i,m,c;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/ten-million-cells.stories-zLJq4q7r.js b/docs/assets/ten-million-cells.stories-d_xrA1LY.js similarity index 76% rename from docs/assets/ten-million-cells.stories-zLJq4q7r.js rename to docs/assets/ten-million-cells.stories-d_xrA1LY.js index 0659f1438..c950088cf 100644 --- a/docs/assets/ten-million-cells.stories-zLJq4q7r.js +++ b/docs/assets/ten-million-cells.stories-d_xrA1LY.js @@ -1,4 +1,4 @@ -import{j as r}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as n}from"./data-editor-all-kwt0I9Kc.js";import{B as a,D as m,u as p,d as c}from"./utils-rXlmyYaC.js";import{S as d}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const b={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>r(d,{children:r(a,{title:"Ten Million Cells",description:r(m,{children:"Data grid supports over 10 million cells. Go nuts with it."}),children:r(o,{})})})]},e=()=>{const{cols:o,getCellContent:l}=p(100);return r(n,{...c,rowMarkers:"number",getCellContent:l,columns:o,rows:1e5})};var t,s,i;e.parameters={...e.parameters,docs:{...(t=e.parameters)==null?void 0:t.docs,source:{originalSource:`() => { +import{j as r}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as n}from"./data-editor-all-3W5wpw6K.js";import{B as a,D as m,u as p,d as c}from"./utils--Nf55hQd.js";import{S as d}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const b={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>r(d,{children:r(a,{title:"Ten Million Cells",description:r(m,{children:"Data grid supports over 10 million cells. Go nuts with it."}),children:r(o,{})})})]},e=()=>{const{cols:o,getCellContent:l}=p(100);return r(n,{...c,rowMarkers:"number",getCellContent:l,columns:o,rows:1e5})};var t,s,i;e.parameters={...e.parameters,docs:{...(t=e.parameters)==null?void 0:t.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/theme-per-column.stories-lurrvglA.js b/docs/assets/theme-per-column.stories-FUXVRk7J.js similarity index 90% rename from docs/assets/theme-per-column.stories-lurrvglA.js rename to docs/assets/theme-per-column.stories-FUXVRk7J.js index c554ce140..1a586a980 100644 --- a/docs/assets/theme-per-column.stories-lurrvglA.js +++ b/docs/assets/theme-per-column.stories-FUXVRk7J.js @@ -1,4 +1,4 @@ -import{j as n,F as m}from"./marked.esm-dbrxtycE.js";import{R as d}from"./index-BMVQvedj.js";import{D as F}from"./data-editor-all-kwt0I9Kc.js";import{B as p,D as A,a as g,d as u}from"./utils-rXlmyYaC.js";import{S as h}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const z={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>n(h,{children:n(p,{title:"Theme per column",description:n(m,{children:n(A,{children:"Each column can provide theme overrides for rendering that column."})}),children:n(t,{})})})]},r=()=>{const{cols:t,getCellContent:l,onColumnResize:s,setCellValue:C}=g(),i=d.useMemo(()=>{const e=[...t];return e[3]={...e[3],themeOverride:{textDark:"#009CA6",bgIconHeader:"#009CA6",accentColor:"#009CA6",accentLight:"#009CA620",fgIconHeader:"#FFFFFF",baseFontStyle:"600 13px"}},e[4]={...e[4],themeOverride:{textDark:"#009CA6",bgIconHeader:"#009CA6",accentColor:"#009CA6",accentLight:"#009CA620",fgIconHeader:"#FFFFFF",baseFontStyle:"600 13px"}},e[9]={...e[9],themeOverride:{textDark:"#009CA6",bgIconHeader:"#009CA6",accentColor:"#009CA6",accentLight:"#009CA620",fgIconHeader:"#FFFFFF"}},e[10]={...e[10],themeOverride:{textDark:"#009CA6",bgIconHeader:"#009CA6",accentColor:"#009CA6",accentLight:"#009CA620",fgIconHeader:"#FFFFFF"}},e},[t]);return n(F,{...u,getCellContent:l,columns:i,onCellEdited:C,onColumnResize:s,rows:1e3})};var o,c,a;r.parameters={...r.parameters,docs:{...(o=r.parameters)==null?void 0:o.docs,source:{originalSource:`() => { +import{j as n,F as m}from"./marked.esm-dbrxtycE.js";import{R as d}from"./index-BMVQvedj.js";import{D as F}from"./data-editor-all-3W5wpw6K.js";import{B as p,D as A,a as g,d as u}from"./utils--Nf55hQd.js";import{S as h}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const z={title:"Glide-Data-Grid/DataEditor Demos",decorators:[t=>n(h,{children:n(p,{title:"Theme per column",description:n(m,{children:n(A,{children:"Each column can provide theme overrides for rendering that column."})}),children:n(t,{})})})]},r=()=>{const{cols:t,getCellContent:l,onColumnResize:s,setCellValue:C}=g(),i=d.useMemo(()=>{const e=[...t];return e[3]={...e[3],themeOverride:{textDark:"#009CA6",bgIconHeader:"#009CA6",accentColor:"#009CA6",accentLight:"#009CA620",fgIconHeader:"#FFFFFF",baseFontStyle:"600 13px"}},e[4]={...e[4],themeOverride:{textDark:"#009CA6",bgIconHeader:"#009CA6",accentColor:"#009CA6",accentLight:"#009CA620",fgIconHeader:"#FFFFFF",baseFontStyle:"600 13px"}},e[9]={...e[9],themeOverride:{textDark:"#009CA6",bgIconHeader:"#009CA6",accentColor:"#009CA6",accentLight:"#009CA620",fgIconHeader:"#FFFFFF"}},e[10]={...e[10],themeOverride:{textDark:"#009CA6",bgIconHeader:"#009CA6",accentColor:"#009CA6",accentLight:"#009CA620",fgIconHeader:"#FFFFFF"}},e},[t]);return n(F,{...u,getCellContent:l,columns:i,onCellEdited:C,onColumnResize:s,rows:1e3})};var o,c,a;r.parameters={...r.parameters,docs:{...(o=r.parameters)==null?void 0:o.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/theme-per-row.stories-txF47PKD.js b/docs/assets/theme-per-row.stories-sPo9HrPn.js similarity index 85% rename from docs/assets/theme-per-row.stories-txF47PKD.js rename to docs/assets/theme-per-row.stories-sPo9HrPn.js index dcc59d19c..a17b6e67a 100644 --- a/docs/assets/theme-per-row.stories-txF47PKD.js +++ b/docs/assets/theme-per-row.stories-sPo9HrPn.js @@ -1,4 +1,4 @@ -import{j as e,F as c,a as p}from"./marked.esm-dbrxtycE.js";import{R as u}from"./index-BMVQvedj.js";import{D as C}from"./data-editor-all-kwt0I9Kc.js";import{B as f,D as h,P as g,u as R,d as w}from"./utils-rXlmyYaC.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const A={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>e(D,{children:e(f,{title:"Theme per row",description:e(c,{children:p(h,{children:["Each row can provide theme overrides for rendering that row using the"," ",e(g,{children:"getRowThemeOverride"})," callback."]})}),children:e(o,{})})})]},t=()=>{const{cols:o,getCellContent:i,onColumnResize:a,setCellValue:m}=R(5),d=u.useMemo(()=>{const r=[...o];return r[3]={...r[3],themeOverride:{bgCell:"#d6fafd"}},r},[o]);return e(C,{...w,getCellContent:i,columns:d,height:"100%",getRowThemeOverride:r=>r%2===0?void 0:{bgCell:"#e0f0ff88"},onCellEdited:m,onColumnResize:a,rows:10})};var n,s,l;t.parameters={...t.parameters,docs:{...(n=t.parameters)==null?void 0:n.docs,source:{originalSource:`() => { +import{j as e,F as c,a as p}from"./marked.esm-dbrxtycE.js";import{R as u}from"./index-BMVQvedj.js";import{D as C}from"./data-editor-all-3W5wpw6K.js";import{B as f,D as h,P as g,u as R,d as w}from"./utils--Nf55hQd.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const A={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>e(D,{children:e(f,{title:"Theme per row",description:e(c,{children:p(h,{children:["Each row can provide theme overrides for rendering that row using the"," ",e(g,{children:"getRowThemeOverride"})," callback."]})}),children:e(o,{})})})]},t=()=>{const{cols:o,getCellContent:i,onColumnResize:a,setCellValue:m}=R(5),d=u.useMemo(()=>{const r=[...o];return r[3]={...r[3],themeOverride:{bgCell:"#d6fafd"}},r},[o]);return e(C,{...w,getCellContent:i,columns:d,height:"100%",getRowThemeOverride:r=>r%2===0?void 0:{bgCell:"#e0f0ff88"},onCellEdited:m,onColumnResize:a,rows:10})};var n,s,l;t.parameters={...t.parameters,docs:{...(n=t.parameters)==null?void 0:n.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/theme-support.stories-FI1Qdj8y.js b/docs/assets/theme-support.stories-zhmcTHHH.js similarity index 93% rename from docs/assets/theme-support.stories-FI1Qdj8y.js rename to docs/assets/theme-support.stories-zhmcTHHH.js index 2db61a03d..cd3230fe6 100644 --- a/docs/assets/theme-support.stories-FI1Qdj8y.js +++ b/docs/assets/theme-support.stories-zhmcTHHH.js @@ -1,4 +1,4 @@ -import{j as e,a as s,F as C}from"./marked.esm-dbrxtycE.js";import{R as i}from"./index-BMVQvedj.js";import{D as R}from"./data-editor-all-kwt0I9Kc.js";import{a as S,B as w,D as k,P as x,M as D,d as H}from"./utils-rXlmyYaC.js";import{S as F}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const _={title:"Glide-Data-Grid/DataEditor Demos",decorators:[n=>e(F,{children:e(n,{})})]},y={accentColor:"#8c96ff",accentLight:"rgba(202, 206, 255, 0.253)",textDark:"#ffffff",textMedium:"#b8b8b8",textLight:"#a0a0a0",textBubble:"#ffffff",bgIconHeader:"#b8b8b8",fgIconHeader:"#000000",textHeader:"#a1a1a1",textHeaderSelected:"#000000",bgCell:"#16161b",bgCellMedium:"#202027",bgHeader:"#212121",bgHeaderHasFocus:"#474747",bgHeaderHovered:"#404040",bgBubble:"#212121",bgBubbleSelected:"#000000",bgSearchResult:"#423c24",borderColor:"rgba(225,225,225,0.2)",drilldownBorder:"rgba(225,225,225,0.4)",linkColor:"#4F5DFF",headerFontStyle:"bold 14px",baseFontStyle:"13px",fontFamily:"Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif"},v={accentColor:"#8c96ff",accentLight:"rgba(202, 206, 255, 0.253)",textDark:"#ffffff",textMedium:"rgba(255, 255, 255, 0.9)",textLight:"rgba(255, 255, 255, 0.7)",textBubble:"#000000",bgIconHeader:"#880000",fgIconHeader:"#ff5555",textHeader:"rgba(0, 0, 0, 0.9)",textHeaderSelected:"#000000",bgCell:"#ff0000",bgCellMedium:"#ff4d4d",bgHeader:"#f3f300",bgHeaderHasFocus:"#eeee00",bgHeaderHovered:"#e0e000",bgBubble:"#ffff00",bgBubbleSelected:"#ffff00",bgSearchResult:"#423c24",borderColor:"#ffff00",drilldownBorder:"#ffff00",linkColor:"#4F5DFF",headerFontStyle:"bold 14px",baseFontStyle:"13px",fontFamily:"Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif",roundingRadius:6},o=()=>{const{cols:n,getCellContent:p,onColumnResize:m,setCellValue:r}=S(),[f,a]=i.useState({}),[l,b]=i.useState(1e3),h=i.useCallback(()=>{const g=l;b(t=>t+1);for(let t=0;t<6;t++)r([t,g],{displayData:"",data:""})},[l,r]);return e(w,{title:"Theme support",description:s(C,{children:[s(k,{children:["DataGrid respects the theme provided by the ",e(x,{children:"theme"})," prop."]}),s(D,{children:[e("button",{onClick:()=>a({}),children:"Light"})," or"," ",e("button",{onClick:()=>a(y),children:"Dark"})," even"," ",e("button",{onClick:()=>a(v),children:"Hotdog Stand"})]})]}),children:e(R,{...H,theme:f,getCellContent:p,columns:n,onRowAppended:h,trailingRowOptions:{tint:!0,sticky:!0},onCellEdited:r,onColumnResize:m,rows:l})})};var d,c,u;o.parameters={...o.parameters,docs:{...(d=o.parameters)==null?void 0:d.docs,source:{originalSource:`() => { +import{j as e,a as s,F as C}from"./marked.esm-dbrxtycE.js";import{R as i}from"./index-BMVQvedj.js";import{D as R}from"./data-editor-all-3W5wpw6K.js";import{a as S,B as w,D as k,P as x,M as D,d as H}from"./utils--Nf55hQd.js";import{S as F}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const _={title:"Glide-Data-Grid/DataEditor Demos",decorators:[n=>e(F,{children:e(n,{})})]},y={accentColor:"#8c96ff",accentLight:"rgba(202, 206, 255, 0.253)",textDark:"#ffffff",textMedium:"#b8b8b8",textLight:"#a0a0a0",textBubble:"#ffffff",bgIconHeader:"#b8b8b8",fgIconHeader:"#000000",textHeader:"#a1a1a1",textHeaderSelected:"#000000",bgCell:"#16161b",bgCellMedium:"#202027",bgHeader:"#212121",bgHeaderHasFocus:"#474747",bgHeaderHovered:"#404040",bgBubble:"#212121",bgBubbleSelected:"#000000",bgSearchResult:"#423c24",borderColor:"rgba(225,225,225,0.2)",drilldownBorder:"rgba(225,225,225,0.4)",linkColor:"#4F5DFF",headerFontStyle:"bold 14px",baseFontStyle:"13px",fontFamily:"Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif"},v={accentColor:"#8c96ff",accentLight:"rgba(202, 206, 255, 0.253)",textDark:"#ffffff",textMedium:"rgba(255, 255, 255, 0.9)",textLight:"rgba(255, 255, 255, 0.7)",textBubble:"#000000",bgIconHeader:"#880000",fgIconHeader:"#ff5555",textHeader:"rgba(0, 0, 0, 0.9)",textHeaderSelected:"#000000",bgCell:"#ff0000",bgCellMedium:"#ff4d4d",bgHeader:"#f3f300",bgHeaderHasFocus:"#eeee00",bgHeaderHovered:"#e0e000",bgBubble:"#ffff00",bgBubbleSelected:"#ffff00",bgSearchResult:"#423c24",borderColor:"#ffff00",drilldownBorder:"#ffff00",linkColor:"#4F5DFF",headerFontStyle:"bold 14px",baseFontStyle:"13px",fontFamily:"Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif",roundingRadius:6},o=()=>{const{cols:n,getCellContent:p,onColumnResize:m,setCellValue:r}=S(),[f,a]=i.useState({}),[l,b]=i.useState(1e3),h=i.useCallback(()=>{const g=l;b(t=>t+1);for(let t=0;t<6;t++)r([t,g],{displayData:"",data:""})},[l,r]);return e(w,{title:"Theme support",description:s(C,{children:[s(k,{children:["DataGrid respects the theme provided by the ",e(x,{children:"theme"})," prop."]}),s(D,{children:[e("button",{onClick:()=>a({}),children:"Light"})," or"," ",e("button",{onClick:()=>a(y),children:"Dark"})," even"," ",e("button",{onClick:()=>a(v),children:"Hotdog Stand"})]})]}),children:e(R,{...H,theme:f,getCellContent:p,columns:n,onRowAppended:h,trailingRowOptions:{tint:!0,sticky:!0},onCellEdited:r,onColumnResize:m,rows:l})})};var d,c,u;o.parameters={...o.parameters,docs:{...(d=o.parameters)==null?void 0:d.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/tooltips.stories-kSHF_53J.js b/docs/assets/tooltips.stories-TRnRsIDs.js similarity index 89% rename from docs/assets/tooltips.stories-kSHF_53J.js rename to docs/assets/tooltips.stories-TRnRsIDs.js index 494bc8619..9320b95d2 100644 --- a/docs/assets/tooltips.stories-kSHF_53J.js +++ b/docs/assets/tooltips.stories-TRnRsIDs.js @@ -1,4 +1,4 @@ -import{j as t,a as m,F as b}from"./marked.esm-dbrxtycE.js";import{R as r}from"./index-BMVQvedj.js";import{u as w}from"./react-laag.esm-PpDllAFI.js";import{D as y}from"./data-editor-all-kwt0I9Kc.js";import{B as T,D as v,P as R,u as x,d as C}from"./utils-rXlmyYaC.js";import{S as k}from"./story-utils-K2EZnGjM.js";import"./index-wocATsGp.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";const N={title:"Glide-Data-Grid/DataEditor Demos",decorators:[i=>t(k,{children:t(T,{title:"Tooltips",className:"double",description:m(v,{children:["Using the ",t(R,{children:"onItemHovered"})," event makes it easy to create tooltips. This story is intentionally forced to scroll vertically so layout in scrolling documents can be confirmed."]}),children:t(i,{})})})]},D={left:0,top:0,width:0,height:0,bottom:0,right:0},s=()=>{const{cols:i,getCellContent:f}=x(6),[o,a]=r.useState(),n=r.useRef(0),g=r.useCallback(e=>{e.kind==="cell"?(window.clearTimeout(n.current),a(void 0),n.current=window.setTimeout(()=>{a({val:`Tooltip for ${e.location[0]}, ${e.location[1]}`,bounds:{left:e.bounds.x,top:e.bounds.y,width:e.bounds.width,height:e.bounds.height,right:e.bounds.x+e.bounds.width,bottom:e.bounds.y+e.bounds.height}})},1e3)):(window.clearTimeout(n.current),n.current=0,a(void 0))},[]);r.useEffect(()=>()=>window.clearTimeout(n.current),[]);const d=o!==void 0,{renderLayer:h,layerProps:l}=w({isOpen:d,triggerOffset:4,auto:!0,container:"portal",trigger:{getBounds:()=>(o==null?void 0:o.bounds)??D}});return m(b,{children:[t(y,{...C,onItemHovered:g,getCellContent:f,columns:i,rowMarkers:"both",rows:1e3}),d&&h(t("div",{...l,style:{...l.style,padding:"8px 12px",color:"white",font:"500 13px Inter",backgroundColor:"rgba(0, 0, 0, 0.85)",borderRadius:9},children:o.val}))]})};var u,c,p;s.parameters={...s.parameters,docs:{...(u=s.parameters)==null?void 0:u.docs,source:{originalSource:`() => { +import{j as t,a as m,F as b}from"./marked.esm-dbrxtycE.js";import{R as r}from"./index-BMVQvedj.js";import{u as w}from"./react-laag.esm-PpDllAFI.js";import{D as y}from"./data-editor-all-3W5wpw6K.js";import{B as T,D as v,P as R,u as x,d as C}from"./utils--Nf55hQd.js";import{S as k}from"./story-utils-K2EZnGjM.js";import"./index-wocATsGp.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";const N={title:"Glide-Data-Grid/DataEditor Demos",decorators:[i=>t(k,{children:t(T,{title:"Tooltips",className:"double",description:m(v,{children:["Using the ",t(R,{children:"onItemHovered"})," event makes it easy to create tooltips. This story is intentionally forced to scroll vertically so layout in scrolling documents can be confirmed."]}),children:t(i,{})})})]},D={left:0,top:0,width:0,height:0,bottom:0,right:0},s=()=>{const{cols:i,getCellContent:f}=x(6),[o,a]=r.useState(),n=r.useRef(0),g=r.useCallback(e=>{e.kind==="cell"?(window.clearTimeout(n.current),a(void 0),n.current=window.setTimeout(()=>{a({val:`Tooltip for ${e.location[0]}, ${e.location[1]}`,bounds:{left:e.bounds.x,top:e.bounds.y,width:e.bounds.width,height:e.bounds.height,right:e.bounds.x+e.bounds.width,bottom:e.bounds.y+e.bounds.height}})},1e3)):(window.clearTimeout(n.current),n.current=0,a(void 0))},[]);r.useEffect(()=>()=>window.clearTimeout(n.current),[]);const d=o!==void 0,{renderLayer:h,layerProps:l}=w({isOpen:d,triggerOffset:4,auto:!0,container:"portal",trigger:{getBounds:()=>(o==null?void 0:o.bounds)??D}});return m(b,{children:[t(y,{...C,onItemHovered:g,getCellContent:f,columns:i,rowMarkers:"both",rows:1e3}),d&&h(t("div",{...l,style:{...l.style,padding:"8px 12px",color:"white",font:"500 13px Inter",backgroundColor:"rgba(0, 0, 0, 0.85)",borderRadius:9},children:o.val}))]})};var u,c,p;s.parameters={...s.parameters,docs:{...(u=s.parameters)==null?void 0:u.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/trailing-row-options.stories-Ib8hE_1a.js b/docs/assets/trailing-row-options.stories-SxTP-5h0.js similarity index 89% rename from docs/assets/trailing-row-options.stories-Ib8hE_1a.js rename to docs/assets/trailing-row-options.stories-SxTP-5h0.js index b598657f6..b84e4ae7e 100644 --- a/docs/assets/trailing-row-options.stories-Ib8hE_1a.js +++ b/docs/assets/trailing-row-options.stories-SxTP-5h0.js @@ -1,4 +1,4 @@ -import{j as n,a as O}from"./marked.esm-dbrxtycE.js";import{R as l}from"./index-BMVQvedj.js";import{D as h}from"./data-editor-all-kwt0I9Kc.js";import{B as x,D as I,P as f,u as D,c as b,d as k}from"./utils-rXlmyYaC.js";import{a}from"./image-window-loader-aMebukIX.js";import{S as T}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const K={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>n(T,{children:n(x,{title:"Trailing row options",description:O(I,{children:["You can customize the trailing row in each column by setting a"," ",n(f,{children:"trailingRowOptions"})," in your columns."]}),children:n(o,{})})})]},A={2:"Smol text",3:"Add",5:"New"},E={2:a.HeaderArray,3:a.HeaderEmoji,5:a.HeaderNumber},S={2:0,3:0,5:0},V={3:!0},y={2:{baseFontStyle:"10px"}},s=()=>{const{cols:o,getCellContent:i,setCellValueRaw:c,setCellValue:d}=D(60,!1),[r,w]=l.useState(50),R=l.useCallback(()=>{const t=r;for(let e=0;e<6;e++){const g=i([e,t]);c([e,t],b(g))}w(e=>e+1)},[i,r,c]),C=l.useMemo(()=>o.map((t,e)=>({...t,trailingRowOptions:{hint:A[e],addIcon:E[e],targetColumn:S[e],disabled:V[e],themeOverride:y[e]}})),[o]);return n(h,{...k,getCellContent:i,columns:C,rowMarkers:"both",onCellEdited:d,trailingRowOptions:{tint:!0,sticky:!0},rows:r,onRowAppended:R})};var m,u,p;s.parameters={...s.parameters,docs:{...(m=s.parameters)==null?void 0:m.docs,source:{originalSource:`() => { +import{j as n,a as O}from"./marked.esm-dbrxtycE.js";import{R as l}from"./index-BMVQvedj.js";import{D as h}from"./data-editor-all-3W5wpw6K.js";import{B as x,D as I,P as f,u as D,c as b,d as k}from"./utils--Nf55hQd.js";import{a}from"./image-window-loader-Hk1rG8Sr.js";import{S as T}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const K={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>n(T,{children:n(x,{title:"Trailing row options",description:O(I,{children:["You can customize the trailing row in each column by setting a"," ",n(f,{children:"trailingRowOptions"})," in your columns."]}),children:n(o,{})})})]},A={2:"Smol text",3:"Add",5:"New"},E={2:a.HeaderArray,3:a.HeaderEmoji,5:a.HeaderNumber},S={2:0,3:0,5:0},V={3:!0},y={2:{baseFontStyle:"10px"}},s=()=>{const{cols:o,getCellContent:i,setCellValueRaw:c,setCellValue:d}=D(60,!1),[r,w]=l.useState(50),R=l.useCallback(()=>{const t=r;for(let e=0;e<6;e++){const g=i([e,t]);c([e,t],b(g))}w(e=>e+1)},[i,r,c]),C=l.useMemo(()=>o.map((t,e)=>({...t,trailingRowOptions:{hint:A[e],addIcon:E[e],targetColumn:S[e],disabled:V[e],themeOverride:y[e]}})),[o]);return n(h,{...k,getCellContent:i,columns:C,rowMarkers:"both",onCellEdited:d,trailingRowOptions:{tint:!0,sticky:!0},rows:r,onRowAppended:R})};var m,u,p;s.parameters={...s.parameters,docs:{...(m=s.parameters)==null?void 0:m.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/uneven-rows.stories-cq3AjEh6.js b/docs/assets/uneven-rows.stories-qXM-7Ikb.js similarity index 73% rename from docs/assets/uneven-rows.stories-cq3AjEh6.js rename to docs/assets/uneven-rows.stories-qXM-7Ikb.js index 57960afa8..06d6ca91e 100644 --- a/docs/assets/uneven-rows.stories-cq3AjEh6.js +++ b/docs/assets/uneven-rows.stories-qXM-7Ikb.js @@ -1,4 +1,4 @@ -import{j as e,a as p}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as m}from"./data-editor-all-kwt0I9Kc.js";import{B as l,D as c,P as d,u,d as w}from"./utils-rXlmyYaC.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./image-window-loader-aMebukIX.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const U={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>e(D,{children:e(l,{title:"Uneven Rows",description:p(c,{children:["Rows can be made uneven by passing a callback to the ",e(d,{children:"rowHeight"})," prop"]}),children:e(o,{})})})]},r=()=>{const{cols:o,getCellContent:i}=u(6);return e(m,{...w,rowHeight:t=>t%3===0?30:t%2?50:60,getCellContent:i,columns:o,rows:1e3})};var s,a,n;r.parameters={...r.parameters,docs:{...(s=r.parameters)==null?void 0:s.docs,source:{originalSource:`() => { +import{j as e,a as p}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as m}from"./data-editor-all-3W5wpw6K.js";import{B as l,D as c,P as d,u,d as w}from"./utils--Nf55hQd.js";import{S as D}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./image-window-loader-Hk1rG8Sr.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const U={title:"Glide-Data-Grid/DataEditor Demos",decorators:[o=>e(D,{children:e(l,{title:"Uneven Rows",description:p(c,{children:["Rows can be made uneven by passing a callback to the ",e(d,{children:"rowHeight"})," prop"]}),children:e(o,{})})})]},r=()=>{const{cols:o,getCellContent:i}=u(6);return e(m,{...w,rowHeight:t=>t%3===0?30:t%2?50:60,getCellContent:i,columns:o,rows:1e3})};var s,a,n;r.parameters={...r.parameters,docs:{...(s=r.parameters)==null?void 0:s.docs,source:{originalSource:`() => { const { cols, getCellContent diff --git a/docs/assets/use-data-source.stories-FbEW0dFJ.js b/docs/assets/use-data-source.stories-5Bzlxi35.js similarity index 99% rename from docs/assets/use-data-source.stories-FbEW0dFJ.js rename to docs/assets/use-data-source.stories-5Bzlxi35.js index ce72b6748..7286c61a4 100644 --- a/docs/assets/use-data-source.stories-FbEW0dFJ.js +++ b/docs/assets/use-data-source.stories-5Bzlxi35.js @@ -1,4 +1,4 @@ -var ce=Object.defineProperty;var ue=(n,e,t)=>e in n?ce(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var z=(n,e,t)=>(ue(n,typeof e!="symbol"?e+"":e,t),t);import{j as w,s as T,a as $}from"./marked.esm-dbrxtycE.js";import{R,g as de,r as l}from"./index-BMVQvedj.js";import{u as pe}from"./index.esm-Ejw8GwRl.js";import{y as x}from"./index-PWBWJyi_.js";import{m as fe,k as me,x as ge,y as Ce,z as ye,A as he,e as oe,a as be,w as G}from"./_baseIteratee-WTHxv43n.js";import{G as g,e as ke,f as N,h as M,D as se}from"./data-editor-all-y1NNmvAL.js";import{e as Se,r as I}from"./throttle-7EuXLZa7.js";import"./index-wocATsGp.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";function ve(n){const[e,t]=R.useState([]),[o,s]=R.useState(void 0),{columns:r,onGroupHeaderClicked:a,onGridSelectionChange:f,getGroupDetails:d,gridSelection:i,freezeColumns:p=0,theme:b}=n,k=i??o,c=R.useMemo(()=>{const u=[];let C=[-1,-1],S;for(let F=p;Fc.length===0?r:r.map((u,C)=>{for(const[S,F]of c)if(C>=S&&C{var F;a==null||a(u,C);const S=((F=y[u])==null?void 0:F.group)??"";S!==""&&(C.preventDefault(),t(A=>A.includes(S)?A.filter(D=>D!==S):[...A,S]))},[y,a]),v=R.useCallback(u=>{if(u.current!==void 0){const C=u.current.cell[0],S=y[C];t(F=>F.includes((S==null?void 0:S.group)??"")?F.filter(A=>A!==S.group):F)}f!==void 0?f(u):s(u)},[y,f]),h=R.useCallback(u=>({...d==null?void 0:d(u),name:u,overrideTheme:e.includes(u??"")?{bgHeader:b.bgHeaderHasFocus}:void 0}),[e,d,b.bgHeaderHasFocus]);return{columns:y,onGroupHeaderClicked:m,onGridSelectionChange:v,getGroupDetails:h,gridSelection:k}}var we=Se,Fe=fe;function xe(n,e){var t=-1,o=Fe(n)?Array(n.length):[];return we(n,function(s,r,a){o[++t]=e(s,r,a)}),o}var Ae=xe;function Re(n,e){var t=n.length;for(n.sort(e);t--;)n[t]=n[t].value;return n}var Me=Re,L=me;function He(n,e){if(n!==e){var t=n!==void 0,o=n===null,s=n===n,r=L(n),a=e!==void 0,f=e===null,d=e===e,i=L(e);if(!f&&!i&&!r&&n>e||r&&a&&d&&!f&&!i||o&&a&&d||!t&&d||!s)return 1;if(!o&&!r&&!i&&n=f)return d;var i=t[o];return d*(i=="desc"?-1:1)}}return n.index-e.index}var Be=Ee,_=ge,Ge=ye,Te=be,Ie=Ae,_e=Me,$e=he,Oe=Be,ze=Ce,Ne=oe;function Le(n,e,t){e.length?e=_(e,function(r){return Ne(r)?function(a){return Ge(a,r.length===1?r[0]:r)}:r}):e=[ze];var o=-1;e=_(e,$e(Te));var s=Ie(n,function(r,a,f){var d=_(e,function(i){return i(r)});return{criteria:d,index:++o,value:r}});return _e(s,function(r,a){return Oe(r,a,t)})}var Ke=Le,Pe=Ke,K=oe;function Ve(n,e,t,o){return n==null?[]:(K(e)||(e=e==null?[]:[e]),t=o?void 0:t,K(t)||(t=t==null?[]:[t]),Pe(n,e,t))}var We=Ve;const P=de(We);function B(n){return n.id??`${n.group??""}/${n.title}`}function V(n,e){return typeof e=="string"?B(n)===e:B(n)===B(e)}function W(n,e,t){const o=e.indexOf(n);if(o===-1)return Number.MAX_SAFE_INTEGER;const s=t.findIndex(r=>V(n,r));if(s!==-1)return s;for(let r=o;r>=0;r--){const a=t.findIndex(f=>V(e[r],f));if(a!==-1)return a+.5}return-1}function je(n){const{columns:e,getCellContent:t,onColumnMoved:o}=n,[s,r]=l.useState(()=>e.map(B)),a=l.useMemo(()=>P(e,p=>W(p,e,s)),[s,e]),f=l.useRef(o);f.current=o;const d=l.useCallback((p,b)=>{var k;r(c=>{const y=[...c],[m]=y.splice(p,1);return y.splice(b,0,m),y}),(k=f.current)==null||k.call(f,p,b)},[]);l.useEffect(()=>{r(p=>P(e,b=>W(b,e,p)).map(B))},[e]);const i=l.useCallback(p=>{const[b,k]=p,c=a[b],y=e.indexOf(c);return t([y,k])},[a,e,t]);return{columns:a,onColumnMoved:d,getCellContent:i}}function Ze(n){var e,t;switch(n.kind){case g.Number:return((e=n.data)==null?void 0:e.toString())??"";case g.Boolean:return((t=n.data)==null?void 0:t.toString())??"";case g.Markdown:case g.RowID:case g.Text:case g.Uri:return n.data??"";case g.Bubble:case g.Image:return n.data.join("");case g.Drilldown:return n.data.map(o=>o.text).join("");case g.Protected:case g.Loading:return"";case g.Custom:return n.copyData}}function j(n){if(typeof n=="number")return n;if(n.length>0){const e=Number(n);isNaN(e)||(n=e)}return n}function Ye(n,e){return n=j(n),e=j(e),typeof n=="string"&&typeof e=="string"?n.localeCompare(e):typeof n=="number"&&typeof e=="number"?n===e?0:n>e?1:-1:n==e?0:n>e?1:-1}function Xe(n,e){return n>e?1:n===e?0:-1}function qe(n){const{sort:e,rows:t,getCellContent:o}=n;let s=e===void 0?void 0:n.columns.findIndex(i=>e.column===i||i.id!==void 0&&e.column.id===i.id);s===-1&&(s=void 0);const r=(e==null?void 0:e.direction)??"asc",a=l.useMemo(()=>{if(s===void 0)return;const i=new Array(t),p=[s,0];for(let k=0;kXe(i[k],i[c])):(e==null?void 0:e.mode)==="smart"?b=I(t).sort((k,c)=>Ye(i[k],i[c])):b=I(t).sort((k,c)=>i[k].localeCompare(i[c])),r==="desc"&&b.reverse(),b},[o,t,e==null?void 0:e.mode,r,s]),f=l.useCallback(i=>a===void 0?i:a[i],[a]),d=l.useCallback(([i,p])=>a===void 0?o([i,p]):(p=a[p],o([i,p])),[o,a]);return a===void 0?{getCellContent:n.getCellContent,getOriginalIndex:f}:{getOriginalIndex:f,getCellContent:d}}const Je={undoHistory:[],redoHistory:[],canUndo:!1,canRedo:!1,isApplyingUndo:!1,isApplyingRedo:!1};function Qe(n,e){const t={...n};switch(e.type){case"undo":if(n.canUndo){t.undoHistory=[...n.undoHistory];const o=t.undoHistory.pop();return t.operation=o,t.canUndo=t.undoHistory.length>0,t.isApplyingUndo=!0,t}return n;case"redo":if(n.canRedo){t.redoHistory=[...n.redoHistory];const o=t.redoHistory.pop();return t.operation=o,t.canRedo=t.redoHistory.length>0,t.isApplyingRedo=!0,t}return n;case"operationApplied":return t.operation=void 0,t.isApplyingRedo=!1,t.isApplyingUndo=!1,t;case"edit":return!n.isApplyingRedo&&!n.isApplyingUndo&&(t.undoHistory=[...n.undoHistory,e.batch],t.redoHistory=[],t.canUndo=!0,t.canRedo=!1),n.isApplyingUndo&&(t.redoHistory=[...n.redoHistory,e.batch],t.canRedo=!0),n.isApplyingRedo&&(t.undoHistory=[...n.undoHistory,e.batch],t.canUndo=!0),t;default:throw new Error("Invalid action")}}function en(n,e,t,o){const[s,r]=l.useReducer(Qe,Je),a=l.useRef(null),f=l.useRef(null),d=l.useRef(!1),i=l.useRef(!1);l.useEffect(()=>{d.current=s.isApplyingUndo,i.current=s.isApplyingRedo},[s.isApplyingUndo,s.isApplyingRedo]);const[p,b]=l.useState(null),k=l.useRef(null),c=l.useCallback(h=>{o&&o(h),b(h),k.current=h},[o]),y=l.useCallback((h,u)=>{if(!(d.current||i.current)&&k.current){clearTimeout(f.current);const S=e(h);a.current===null&&(a.current={edits:[],selection:k.current}),a.current.edits.push({cell:h,newValue:S}),f.current=setTimeout(()=>{a.current&&(r({type:"edit",batch:a.current}),a.current=null)},0)}t(h,u)},[t,e]),m=l.useCallback(()=>{r({type:"undo"})},[r]),v=l.useCallback(()=>{r({type:"redo"})},[r]);return l.useEffect(()=>{if(s.operation&&k.current&&n.current){const h=[],u={edits:[],selection:k.current};for(const C of s.operation.edits){const S=e(C.cell);u.edits.push({cell:C.cell,newValue:S}),t(C.cell,C.newValue),h.push({cell:C.cell})}b(s.operation.selection),k.current=s.operation.selection,n.current.updateCells(h),r({type:"edit",batch:u}),r({type:"operationApplied"})}},[s.operation,n,t,b,e]),l.useEffect(()=>{const h=u=>{u.key==="z"&&(u.metaKey||u.ctrlKey)&&(u.shiftKey?v():m()),u.key==="y"&&(u.metaKey||u.ctrlKey)&&v()};return window.addEventListener("keydown",h),()=>{window.removeEventListener("keydown",h)}},[m,v]),l.useMemo(()=>({undo:m,redo:v,canUndo:s.canUndo,canRedo:s.canRedo,onCellEdited:y,onGridSelectionChange:c,gridSelection:p}),[m,v,y,s.canUndo,s.canRedo,c,p])}x.seed(1337);function nn(n){return!!n}function tn(n,e){var o;const t=n.data;if(typeof t==typeof e.data)return{...e,data:t};switch(e.kind){case g.Uri:return G(t)?{...e,data:t[0]}:{...e,data:(t==null?void 0:t.toString())??""};case g.Boolean:return G(t)?{...e,data:t[0]!==void 0}:n.kind===g.Boolean?{...e,data:n.data}:{...e,data:!!nn(t)};case g.Image:return G(t)?{...e,data:[t[0]]}:{...e,data:[(t==null?void 0:t.toString())??""]};case g.Number:return{...e,data:0};case g.Text:case g.Markdown:return G(t)?{...e,data:t[0].toString()??""}:{...e,data:((o=n.data)==null?void 0:o.toString())??""};case g.Custom:return e}cn()}function rn(n){const{getContent:e,...t}=n;return t}function Z(n,e){const t=[{title:"First name",id:"First name",group:e?"Name":void 0,icon:M.HeaderString,hasMenu:!1,getContent:()=>{const r=x.name.firstName();return{kind:g.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"Last name",id:"Last name",group:e?"Name":void 0,icon:M.HeaderString,hasMenu:!1,getContent:()=>{const r=x.name.lastName();return{kind:g.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"Avatar",id:"Avatar",group:e?"Info":void 0,icon:M.HeaderImage,hasMenu:!1,getContent:()=>{const r=Math.round(Math.random()*100);return{kind:g.Image,data:[`https://picsum.photos/id/${r}/900/900`],displayData:[`https://picsum.photos/id/${r}/40/40`],allowOverlay:!0,readonly:!0}}},{title:"Email",id:"Email",group:e?"Info":void 0,icon:M.HeaderString,hasMenu:!1,getContent:()=>{const r=x.internet.email();return{kind:g.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"Title",id:"Title",group:e?"Info":void 0,icon:M.HeaderString,hasMenu:!1,getContent:()=>{const r=x.name.jobTitle();return{kind:g.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"More Info",id:"More Info",group:e?"Info":void 0,icon:M.HeaderUri,hasMenu:!1,getContent:()=>{const r=x.internet.url();return{kind:g.Uri,displayData:r,data:r,allowOverlay:!0,readonly:!0}}}];if(non(a+t.length,e));return[...t,...s]}function on(n,e){return{title:`Column ${n}`,id:`Column ${n}`,group:e?`Group ${Math.round(n/3)}`:void 0,icon:M.HeaderString,hasMenu:!1,getContent:()=>{const t=x.lorem.word();return{kind:g.Text,data:t,displayData:t,allowOverlay:!0,readonly:!0}}}}class sn{constructor(){z(this,"cachedContent",new Map)}get(e,t){const o=this.cachedContent.get(e);if(o!==void 0)return o[t]}set(e,t,o){let s=this.cachedContent.get(e);s===void 0&&this.cachedContent.set(e,s=[]),s[t]=o}}function an(n,e=!0,t=!1){const o=l.useRef(new sn),[s,r]=l.useState(()=>Z(n,t));l.useEffect(()=>{r(Z(n,t))},[t,n]);const a=l.useCallback((c,y)=>{r(m=>{const v=m.findIndex(u=>u.title===c.title),h=[...m];return h.splice(v,1,{...m[v],width:y}),h})},[]),f=l.useMemo(()=>s.map(rn),[s]),d=l.useRef(s);d.current=s;const i=l.useCallback(([c,y])=>{let m=o.current.get(c,y);return m===void 0&&(m=d.current[c].getContent(),!e&&ke(m)&&(m={...m,readonly:e}),o.current.set(c,y,m)),m},[e]),p=l.useCallback(c=>{const y=[];for(let m=c.y;m{o.current.set(c,y,m)},[]),k=l.useCallback(([c,y],m)=>{let v=o.current.get(c,y);if(v===void 0&&(v=s[c].getContent()),N(m)&&N(v)){const h=tn(m,v);o.current.set(c,y,{...h,displayData:typeof h.data=="string"?h.data:h.displayData,lastUpdated:performance.now()})}},[s]);return{cols:f,getCellContent:i,onColumnResize:a,setCellValue:k,getCellsForSelection:p,setCellValueRaw:b}}function ln(n="This should not happen"){throw new Error(n)}function cn(n){return ln("Hell froze over")}x.seed(1337);const un=T("div")({name:"SimpleWrapper",class:"ss4kmn3",propsAsIs:!1}),dn=n=>w(un,{children:w("div",{className:"content",children:n.children})}),Rn={title:"Extra Packages/Source",decorators:[n=>w(dn,{children:w(n,{})})]},pn=T("div")({name:"BeautifulStyle",class:"bkh67gx",propsAsIs:!1}),ae=n=>{const{title:e,children:t,description:o}=n,{ref:s,width:r,height:a}=pe();return $(pn,{children:[w("h1",{children:e}),o,w("div",{className:"sizer",children:w("div",{className:"sizer-clip",ref:s,children:w("div",{style:{position:"relative",width:r??100,height:a??100},children:t})})})]})},ie=T("p")({name:"Description",class:"d1deot3s",propsAsIs:!1}),H=T("p")({name:"MoreInfo",class:"m1ml0sw1",propsAsIs:!1}),le={smoothScrollX:!0,smoothScrollY:!0,isDraggable:!1,rowMarkers:"none",width:"100%"},fn={accentColor:"#4F5DFF",accentFg:"#FFFFFF",accentLight:"rgba(62, 116, 253, 0.1)",textDark:"#313139",textMedium:"#737383",textLight:"#B2B2C0",textBubble:"#313139",bgIconHeader:"#737383",fgIconHeader:"#FFFFFF",textHeader:"#313139",textGroupHeader:"#313139BB",textHeaderSelected:"#FFFFFF",bgCell:"#FFFFFF",bgCellMedium:"#FAFAFB",bgHeader:"#F7F7F8",bgHeaderHasFocus:"#E9E9EB",bgHeaderHovered:"#EFEFF1",bgBubble:"#EDEDF3",bgBubbleSelected:"#FFFFFF",headerIconSize:20,markerFontStyle:"13px",bgSearchResult:"#fff9e3",borderColor:"rgba(115, 116, 131, 0.16)",horizontalBorderColor:"rgba(115, 116, 131, 0.16)",drilldownBorder:"rgba(0, 0, 0, 0)",linkColor:"#4F5DFF",cellHorizontalPadding:8,cellVerticalPadding:3,headerFontStyle:"600 13px",baseFontStyle:"13px",editorFontSize:"13px",lineHeight:1.4,fontFamily:"Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif"},mn=[{title:"A",width:200,group:"Group 1"},{title:"B",width:200,group:"Group 1"},{title:"C",width:200,group:"Group 2"},{title:"D",width:200,group:"Group 2"},{title:"E",width:200,group:"Group 2"}],U=()=>{const n=l.useRef({}),e=1e5,t=je({columns:mn,getCellContent:l.useCallback(([d,i])=>{if(d===0)return{kind:g.Text,allowOverlay:!0,data:`${i}`,displayData:`${i}`};const p=`${d},${i}`;n.current[p]===void 0&&(n.current[p]=x.name.firstName()+" "+x.name.lastName());const b=n.current[p];return{kind:g.Text,allowOverlay:!0,data:b,displayData:b}},[])}),[o,s]=l.useState(),r=qe({columns:t.columns,getCellContent:t.getCellContent,rows:e,sort:o===void 0?void 0:{column:t.columns[o],direction:"desc",mode:"smart"}}),a=ve({columns:t.columns,theme:fn,freezeColumns:0}),f=l.useCallback(d=>{s(d)},[]);return w(ae,{title:"Custom source extensions",description:w(ie,{children:"Fixme."}),children:w(se,{...le,...t,...r,...a,rows:e,onColumnMoved:t.onColumnMoved,onHeaderClicked:f})})};U.parameters={options:{showPanel:!1}};const E=()=>{const{cols:n,getCellContent:e,setCellValue:t}=an(6),o=l.useRef(null),{gridSelection:s,onCellEdited:r,onGridSelectionChange:a,undo:f,canRedo:d,canUndo:i,redo:p}=en(o,e,t);return w(ae,{title:"Undo / Redo Support",description:$(ie,{children:["A simple undo/redo implementation",$(H,{children:["Use keyboard shortcuts CMD+Z and CMD+SHIFT+Z / CTRL+Z and CTRL+Y. Or click these buttons:",w("button",{onClick:f,disabled:!i,style:{opacity:i?1:.4},children:"Undo"}),w("button",{onClick:p,disabled:!d,style:{opacity:d?1:.4},children:"Redo"})]}),w(H,{children:"It works by taking a snapshot of the content of a cell before it is edited and replaying any edits back."})]}),children:w(se,{...le,ref:o,onCellEdited:r,getCellContent:e,gridSelection:s??void 0,onGridSelectionChange:a,columns:n,rows:1e3})})};E.parameters={options:{showPanel:!1}};var Y,X,q;H.parameters={...H.parameters,docs:{...(Y=H.parameters)==null?void 0:Y.docs,source:{originalSource:`styled.p\` +var ce=Object.defineProperty;var ue=(n,e,t)=>e in n?ce(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var z=(n,e,t)=>(ue(n,typeof e!="symbol"?e+"":e,t),t);import{j as w,s as T,a as $}from"./marked.esm-dbrxtycE.js";import{R,g as de,r as l}from"./index-BMVQvedj.js";import{u as pe}from"./index.esm-Ejw8GwRl.js";import{y as x}from"./index-PWBWJyi_.js";import{m as fe,k as me,x as ge,y as Ce,z as ye,A as he,e as oe,a as be,w as G}from"./_baseIteratee-WTHxv43n.js";import{G as g,e as ke,f as N,h as M,D as se}from"./data-editor-all-ql0Al2pT.js";import{e as Se,r as I}from"./throttle-7EuXLZa7.js";import"./index-wocATsGp.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";function ve(n){const[e,t]=R.useState([]),[o,s]=R.useState(void 0),{columns:r,onGroupHeaderClicked:a,onGridSelectionChange:f,getGroupDetails:d,gridSelection:i,freezeColumns:p=0,theme:b}=n,k=i??o,c=R.useMemo(()=>{const u=[];let C=[-1,-1],S;for(let F=p;Fc.length===0?r:r.map((u,C)=>{for(const[S,F]of c)if(C>=S&&C{var F;a==null||a(u,C);const S=((F=y[u])==null?void 0:F.group)??"";S!==""&&(C.preventDefault(),t(A=>A.includes(S)?A.filter(D=>D!==S):[...A,S]))},[y,a]),v=R.useCallback(u=>{if(u.current!==void 0){const C=u.current.cell[0],S=y[C];t(F=>F.includes((S==null?void 0:S.group)??"")?F.filter(A=>A!==S.group):F)}f!==void 0?f(u):s(u)},[y,f]),h=R.useCallback(u=>({...d==null?void 0:d(u),name:u,overrideTheme:e.includes(u??"")?{bgHeader:b.bgHeaderHasFocus}:void 0}),[e,d,b.bgHeaderHasFocus]);return{columns:y,onGroupHeaderClicked:m,onGridSelectionChange:v,getGroupDetails:h,gridSelection:k}}var we=Se,Fe=fe;function xe(n,e){var t=-1,o=Fe(n)?Array(n.length):[];return we(n,function(s,r,a){o[++t]=e(s,r,a)}),o}var Ae=xe;function Re(n,e){var t=n.length;for(n.sort(e);t--;)n[t]=n[t].value;return n}var Me=Re,L=me;function He(n,e){if(n!==e){var t=n!==void 0,o=n===null,s=n===n,r=L(n),a=e!==void 0,f=e===null,d=e===e,i=L(e);if(!f&&!i&&!r&&n>e||r&&a&&d&&!f&&!i||o&&a&&d||!t&&d||!s)return 1;if(!o&&!r&&!i&&n=f)return d;var i=t[o];return d*(i=="desc"?-1:1)}}return n.index-e.index}var Be=Ee,_=ge,Ge=ye,Te=be,Ie=Ae,_e=Me,$e=he,Oe=Be,ze=Ce,Ne=oe;function Le(n,e,t){e.length?e=_(e,function(r){return Ne(r)?function(a){return Ge(a,r.length===1?r[0]:r)}:r}):e=[ze];var o=-1;e=_(e,$e(Te));var s=Ie(n,function(r,a,f){var d=_(e,function(i){return i(r)});return{criteria:d,index:++o,value:r}});return _e(s,function(r,a){return Oe(r,a,t)})}var Ke=Le,Pe=Ke,K=oe;function Ve(n,e,t,o){return n==null?[]:(K(e)||(e=e==null?[]:[e]),t=o?void 0:t,K(t)||(t=t==null?[]:[t]),Pe(n,e,t))}var We=Ve;const P=de(We);function B(n){return n.id??`${n.group??""}/${n.title}`}function V(n,e){return typeof e=="string"?B(n)===e:B(n)===B(e)}function W(n,e,t){const o=e.indexOf(n);if(o===-1)return Number.MAX_SAFE_INTEGER;const s=t.findIndex(r=>V(n,r));if(s!==-1)return s;for(let r=o;r>=0;r--){const a=t.findIndex(f=>V(e[r],f));if(a!==-1)return a+.5}return-1}function je(n){const{columns:e,getCellContent:t,onColumnMoved:o}=n,[s,r]=l.useState(()=>e.map(B)),a=l.useMemo(()=>P(e,p=>W(p,e,s)),[s,e]),f=l.useRef(o);f.current=o;const d=l.useCallback((p,b)=>{var k;r(c=>{const y=[...c],[m]=y.splice(p,1);return y.splice(b,0,m),y}),(k=f.current)==null||k.call(f,p,b)},[]);l.useEffect(()=>{r(p=>P(e,b=>W(b,e,p)).map(B))},[e]);const i=l.useCallback(p=>{const[b,k]=p,c=a[b],y=e.indexOf(c);return t([y,k])},[a,e,t]);return{columns:a,onColumnMoved:d,getCellContent:i}}function Ze(n){var e,t;switch(n.kind){case g.Number:return((e=n.data)==null?void 0:e.toString())??"";case g.Boolean:return((t=n.data)==null?void 0:t.toString())??"";case g.Markdown:case g.RowID:case g.Text:case g.Uri:return n.data??"";case g.Bubble:case g.Image:return n.data.join("");case g.Drilldown:return n.data.map(o=>o.text).join("");case g.Protected:case g.Loading:return"";case g.Custom:return n.copyData}}function j(n){if(typeof n=="number")return n;if(n.length>0){const e=Number(n);isNaN(e)||(n=e)}return n}function Ye(n,e){return n=j(n),e=j(e),typeof n=="string"&&typeof e=="string"?n.localeCompare(e):typeof n=="number"&&typeof e=="number"?n===e?0:n>e?1:-1:n==e?0:n>e?1:-1}function Xe(n,e){return n>e?1:n===e?0:-1}function qe(n){const{sort:e,rows:t,getCellContent:o}=n;let s=e===void 0?void 0:n.columns.findIndex(i=>e.column===i||i.id!==void 0&&e.column.id===i.id);s===-1&&(s=void 0);const r=(e==null?void 0:e.direction)??"asc",a=l.useMemo(()=>{if(s===void 0)return;const i=new Array(t),p=[s,0];for(let k=0;kXe(i[k],i[c])):(e==null?void 0:e.mode)==="smart"?b=I(t).sort((k,c)=>Ye(i[k],i[c])):b=I(t).sort((k,c)=>i[k].localeCompare(i[c])),r==="desc"&&b.reverse(),b},[o,t,e==null?void 0:e.mode,r,s]),f=l.useCallback(i=>a===void 0?i:a[i],[a]),d=l.useCallback(([i,p])=>a===void 0?o([i,p]):(p=a[p],o([i,p])),[o,a]);return a===void 0?{getCellContent:n.getCellContent,getOriginalIndex:f}:{getOriginalIndex:f,getCellContent:d}}const Je={undoHistory:[],redoHistory:[],canUndo:!1,canRedo:!1,isApplyingUndo:!1,isApplyingRedo:!1};function Qe(n,e){const t={...n};switch(e.type){case"undo":if(n.canUndo){t.undoHistory=[...n.undoHistory];const o=t.undoHistory.pop();return t.operation=o,t.canUndo=t.undoHistory.length>0,t.isApplyingUndo=!0,t}return n;case"redo":if(n.canRedo){t.redoHistory=[...n.redoHistory];const o=t.redoHistory.pop();return t.operation=o,t.canRedo=t.redoHistory.length>0,t.isApplyingRedo=!0,t}return n;case"operationApplied":return t.operation=void 0,t.isApplyingRedo=!1,t.isApplyingUndo=!1,t;case"edit":return!n.isApplyingRedo&&!n.isApplyingUndo&&(t.undoHistory=[...n.undoHistory,e.batch],t.redoHistory=[],t.canUndo=!0,t.canRedo=!1),n.isApplyingUndo&&(t.redoHistory=[...n.redoHistory,e.batch],t.canRedo=!0),n.isApplyingRedo&&(t.undoHistory=[...n.undoHistory,e.batch],t.canUndo=!0),t;default:throw new Error("Invalid action")}}function en(n,e,t,o){const[s,r]=l.useReducer(Qe,Je),a=l.useRef(null),f=l.useRef(null),d=l.useRef(!1),i=l.useRef(!1);l.useEffect(()=>{d.current=s.isApplyingUndo,i.current=s.isApplyingRedo},[s.isApplyingUndo,s.isApplyingRedo]);const[p,b]=l.useState(null),k=l.useRef(null),c=l.useCallback(h=>{o&&o(h),b(h),k.current=h},[o]),y=l.useCallback((h,u)=>{if(!(d.current||i.current)&&k.current){clearTimeout(f.current);const S=e(h);a.current===null&&(a.current={edits:[],selection:k.current}),a.current.edits.push({cell:h,newValue:S}),f.current=setTimeout(()=>{a.current&&(r({type:"edit",batch:a.current}),a.current=null)},0)}t(h,u)},[t,e]),m=l.useCallback(()=>{r({type:"undo"})},[r]),v=l.useCallback(()=>{r({type:"redo"})},[r]);return l.useEffect(()=>{if(s.operation&&k.current&&n.current){const h=[],u={edits:[],selection:k.current};for(const C of s.operation.edits){const S=e(C.cell);u.edits.push({cell:C.cell,newValue:S}),t(C.cell,C.newValue),h.push({cell:C.cell})}b(s.operation.selection),k.current=s.operation.selection,n.current.updateCells(h),r({type:"edit",batch:u}),r({type:"operationApplied"})}},[s.operation,n,t,b,e]),l.useEffect(()=>{const h=u=>{u.key==="z"&&(u.metaKey||u.ctrlKey)&&(u.shiftKey?v():m()),u.key==="y"&&(u.metaKey||u.ctrlKey)&&v()};return window.addEventListener("keydown",h),()=>{window.removeEventListener("keydown",h)}},[m,v]),l.useMemo(()=>({undo:m,redo:v,canUndo:s.canUndo,canRedo:s.canRedo,onCellEdited:y,onGridSelectionChange:c,gridSelection:p}),[m,v,y,s.canUndo,s.canRedo,c,p])}x.seed(1337);function nn(n){return!!n}function tn(n,e){var o;const t=n.data;if(typeof t==typeof e.data)return{...e,data:t};switch(e.kind){case g.Uri:return G(t)?{...e,data:t[0]}:{...e,data:(t==null?void 0:t.toString())??""};case g.Boolean:return G(t)?{...e,data:t[0]!==void 0}:n.kind===g.Boolean?{...e,data:n.data}:{...e,data:!!nn(t)};case g.Image:return G(t)?{...e,data:[t[0]]}:{...e,data:[(t==null?void 0:t.toString())??""]};case g.Number:return{...e,data:0};case g.Text:case g.Markdown:return G(t)?{...e,data:t[0].toString()??""}:{...e,data:((o=n.data)==null?void 0:o.toString())??""};case g.Custom:return e}cn()}function rn(n){const{getContent:e,...t}=n;return t}function Z(n,e){const t=[{title:"First name",id:"First name",group:e?"Name":void 0,icon:M.HeaderString,hasMenu:!1,getContent:()=>{const r=x.name.firstName();return{kind:g.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"Last name",id:"Last name",group:e?"Name":void 0,icon:M.HeaderString,hasMenu:!1,getContent:()=>{const r=x.name.lastName();return{kind:g.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"Avatar",id:"Avatar",group:e?"Info":void 0,icon:M.HeaderImage,hasMenu:!1,getContent:()=>{const r=Math.round(Math.random()*100);return{kind:g.Image,data:[`https://picsum.photos/id/${r}/900/900`],displayData:[`https://picsum.photos/id/${r}/40/40`],allowOverlay:!0,readonly:!0}}},{title:"Email",id:"Email",group:e?"Info":void 0,icon:M.HeaderString,hasMenu:!1,getContent:()=>{const r=x.internet.email();return{kind:g.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"Title",id:"Title",group:e?"Info":void 0,icon:M.HeaderString,hasMenu:!1,getContent:()=>{const r=x.name.jobTitle();return{kind:g.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"More Info",id:"More Info",group:e?"Info":void 0,icon:M.HeaderUri,hasMenu:!1,getContent:()=>{const r=x.internet.url();return{kind:g.Uri,displayData:r,data:r,allowOverlay:!0,readonly:!0}}}];if(non(a+t.length,e));return[...t,...s]}function on(n,e){return{title:`Column ${n}`,id:`Column ${n}`,group:e?`Group ${Math.round(n/3)}`:void 0,icon:M.HeaderString,hasMenu:!1,getContent:()=>{const t=x.lorem.word();return{kind:g.Text,data:t,displayData:t,allowOverlay:!0,readonly:!0}}}}class sn{constructor(){z(this,"cachedContent",new Map)}get(e,t){const o=this.cachedContent.get(e);if(o!==void 0)return o[t]}set(e,t,o){let s=this.cachedContent.get(e);s===void 0&&this.cachedContent.set(e,s=[]),s[t]=o}}function an(n,e=!0,t=!1){const o=l.useRef(new sn),[s,r]=l.useState(()=>Z(n,t));l.useEffect(()=>{r(Z(n,t))},[t,n]);const a=l.useCallback((c,y)=>{r(m=>{const v=m.findIndex(u=>u.title===c.title),h=[...m];return h.splice(v,1,{...m[v],width:y}),h})},[]),f=l.useMemo(()=>s.map(rn),[s]),d=l.useRef(s);d.current=s;const i=l.useCallback(([c,y])=>{let m=o.current.get(c,y);return m===void 0&&(m=d.current[c].getContent(),!e&&ke(m)&&(m={...m,readonly:e}),o.current.set(c,y,m)),m},[e]),p=l.useCallback(c=>{const y=[];for(let m=c.y;m{o.current.set(c,y,m)},[]),k=l.useCallback(([c,y],m)=>{let v=o.current.get(c,y);if(v===void 0&&(v=s[c].getContent()),N(m)&&N(v)){const h=tn(m,v);o.current.set(c,y,{...h,displayData:typeof h.data=="string"?h.data:h.displayData,lastUpdated:performance.now()})}},[s]);return{cols:f,getCellContent:i,onColumnResize:a,setCellValue:k,getCellsForSelection:p,setCellValueRaw:b}}function ln(n="This should not happen"){throw new Error(n)}function cn(n){return ln("Hell froze over")}x.seed(1337);const un=T("div")({name:"SimpleWrapper",class:"ss4kmn3",propsAsIs:!1}),dn=n=>w(un,{children:w("div",{className:"content",children:n.children})}),Rn={title:"Extra Packages/Source",decorators:[n=>w(dn,{children:w(n,{})})]},pn=T("div")({name:"BeautifulStyle",class:"bkh67gx",propsAsIs:!1}),ae=n=>{const{title:e,children:t,description:o}=n,{ref:s,width:r,height:a}=pe();return $(pn,{children:[w("h1",{children:e}),o,w("div",{className:"sizer",children:w("div",{className:"sizer-clip",ref:s,children:w("div",{style:{position:"relative",width:r??100,height:a??100},children:t})})})]})},ie=T("p")({name:"Description",class:"d1deot3s",propsAsIs:!1}),H=T("p")({name:"MoreInfo",class:"m1ml0sw1",propsAsIs:!1}),le={smoothScrollX:!0,smoothScrollY:!0,isDraggable:!1,rowMarkers:"none",width:"100%"},fn={accentColor:"#4F5DFF",accentFg:"#FFFFFF",accentLight:"rgba(62, 116, 253, 0.1)",textDark:"#313139",textMedium:"#737383",textLight:"#B2B2C0",textBubble:"#313139",bgIconHeader:"#737383",fgIconHeader:"#FFFFFF",textHeader:"#313139",textGroupHeader:"#313139BB",textHeaderSelected:"#FFFFFF",bgCell:"#FFFFFF",bgCellMedium:"#FAFAFB",bgHeader:"#F7F7F8",bgHeaderHasFocus:"#E9E9EB",bgHeaderHovered:"#EFEFF1",bgBubble:"#EDEDF3",bgBubbleSelected:"#FFFFFF",headerIconSize:20,markerFontStyle:"13px",bgSearchResult:"#fff9e3",borderColor:"rgba(115, 116, 131, 0.16)",horizontalBorderColor:"rgba(115, 116, 131, 0.16)",drilldownBorder:"rgba(0, 0, 0, 0)",linkColor:"#4F5DFF",cellHorizontalPadding:8,cellVerticalPadding:3,headerFontStyle:"600 13px",baseFontStyle:"13px",editorFontSize:"13px",lineHeight:1.4,fontFamily:"Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif"},mn=[{title:"A",width:200,group:"Group 1"},{title:"B",width:200,group:"Group 1"},{title:"C",width:200,group:"Group 2"},{title:"D",width:200,group:"Group 2"},{title:"E",width:200,group:"Group 2"}],U=()=>{const n=l.useRef({}),e=1e5,t=je({columns:mn,getCellContent:l.useCallback(([d,i])=>{if(d===0)return{kind:g.Text,allowOverlay:!0,data:`${i}`,displayData:`${i}`};const p=`${d},${i}`;n.current[p]===void 0&&(n.current[p]=x.name.firstName()+" "+x.name.lastName());const b=n.current[p];return{kind:g.Text,allowOverlay:!0,data:b,displayData:b}},[])}),[o,s]=l.useState(),r=qe({columns:t.columns,getCellContent:t.getCellContent,rows:e,sort:o===void 0?void 0:{column:t.columns[o],direction:"desc",mode:"smart"}}),a=ve({columns:t.columns,theme:fn,freezeColumns:0}),f=l.useCallback(d=>{s(d)},[]);return w(ae,{title:"Custom source extensions",description:w(ie,{children:"Fixme."}),children:w(se,{...le,...t,...r,...a,rows:e,onColumnMoved:t.onColumnMoved,onHeaderClicked:f})})};U.parameters={options:{showPanel:!1}};const E=()=>{const{cols:n,getCellContent:e,setCellValue:t}=an(6),o=l.useRef(null),{gridSelection:s,onCellEdited:r,onGridSelectionChange:a,undo:f,canRedo:d,canUndo:i,redo:p}=en(o,e,t);return w(ae,{title:"Undo / Redo Support",description:$(ie,{children:["A simple undo/redo implementation",$(H,{children:["Use keyboard shortcuts CMD+Z and CMD+SHIFT+Z / CTRL+Z and CTRL+Y. Or click these buttons:",w("button",{onClick:f,disabled:!i,style:{opacity:i?1:.4},children:"Undo"}),w("button",{onClick:p,disabled:!d,style:{opacity:d?1:.4},children:"Redo"})]}),w(H,{children:"It works by taking a snapshot of the content of a cell before it is edited and replaying any edits back."})]}),children:w(se,{...le,ref:o,onCellEdited:r,getCellContent:e,gridSelection:s??void 0,onGridSelectionChange:a,columns:n,rows:1e3})})};E.parameters={options:{showPanel:!1}};var Y,X,q;H.parameters={...H.parameters,docs:{...(Y=H.parameters)==null?void 0:Y.docs,source:{originalSource:`styled.p\` font-size: 14px; flex-shrink: 0; margin: 0 0 20px 0; diff --git a/docs/assets/utils-rXlmyYaC.js b/docs/assets/utils--Nf55hQd.js similarity index 99% rename from docs/assets/utils-rXlmyYaC.js rename to docs/assets/utils--Nf55hQd.js index a63bb65d3..4102c6f96 100644 --- a/docs/assets/utils-rXlmyYaC.js +++ b/docs/assets/utils--Nf55hQd.js @@ -1,4 +1,4 @@ -var H=Object.defineProperty;var T=(e,t,a)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var x=(e,t,a)=>(T(e,typeof t!="symbol"?t+"":t,a),a);import{s as k,a as B,j as M}from"./marked.esm-dbrxtycE.js";import{r as c}from"./index-BMVQvedj.js";import{S as $,U as R,E as I,G as n,D as U,a as l}from"./image-window-loader-aMebukIX.js";import{y as s}from"./index-PWBWJyi_.js";import{w as b}from"./_baseIteratee-WTHxv43n.js";import{u as G}from"./index.esm-Ejw8GwRl.js";import{n as E}from"./flatten-qRvRBp6y.js";s.seed(1337);function z(e){return!!e}function O(e,t){var i;const a=e.data;if(typeof a==typeof t.data)return{...t,data:a};switch(t.kind){case n.Uri:return b(a)?{...t,data:a[0]}:{...t,data:(a==null?void 0:a.toString())??""};case n.Boolean:return b(a)?{...t,data:a[0]!==void 0}:e.kind===n.Boolean?{...t,data:e.data}:{...t,data:!!z(a)};case n.Image:return b(a)?{...t,data:[a[0]]}:{...t,data:[(a==null?void 0:a.toString())??""]};case n.Number:return{...t,data:0};case n.Text:case n.Markdown:return b(a)?{...t,data:a[0].toString()??""}:{...t,data:((i=e.data)==null?void 0:i.toString())??""};case n.Custom:return t}U()}function S(e){const{getContent:t,...a}=e;return a}const J=k("div")({name:"ColumnAddButton",class:"c4uqbye",propsAsIs:!1}),j=k("div")({name:"BeautifulStyle",class:"b1bsqg7n",propsAsIs:!1}),Q=k("span")({name:"PropName",class:"piiq54i",propsAsIs:!1}),Z=k("p")({name:"Description",class:"d1k3yj19",propsAsIs:!1}),ee=k("p")({name:"MoreInfo",class:"m1j0dy02",propsAsIs:!1}),te=e=>{const{title:t,children:a,description:i,className:d,scale:r}=e,{ref:C,width:v,height:g}=G();return B(j,{className:d+($.value?" firefox":""),children:[M("h1",{children:t}),i,M("div",{style:{scale:r},className:"sizer",children:M("div",{className:"sizer-clip",ref:C,children:M("div",{style:{position:"relative",width:v??100,height:g??100},children:a})})})]})};function P(e,t){return{title:`Column ${e}`,id:`Column ${e}`,group:t?`Group ${Math.round(e/3)}`:void 0,icon:l.HeaderString,hasMenu:!1,getContent:()=>{const a=s.lorem.word();return{kind:n.Text,data:a,displayData:a,allowOverlay:!0,readonly:!0}}}}function N(e,t){const a=[{title:"First name",id:"First name",group:t?"Name":void 0,icon:l.HeaderString,hasMenu:!1,getContent:()=>{const r=s.name.firstName();return{kind:n.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"Last name",id:"Last name",group:t?"Name":void 0,icon:l.HeaderString,hasMenu:!1,getContent:()=>{const r=s.name.lastName();return{kind:n.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"Avatar",id:"Avatar",group:t?"Info":void 0,icon:l.HeaderImage,hasMenu:!1,getContent:()=>{const r=Math.round(Math.random()*100);return{kind:n.Image,data:[`https://picsum.photos/id/${r}/900/900`],displayData:[`https://picsum.photos/id/${r}/40/40`],allowOverlay:!0,readonly:!0}}},{title:"Email",id:"Email",group:t?"Info":void 0,icon:l.HeaderString,hasMenu:!1,getContent:()=>{const r=s.internet.email();return{kind:n.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"Title",id:"Title",group:t?"Info":void 0,icon:l.HeaderString,hasMenu:!1,getContent:()=>{const r=s.name.jobTitle();return{kind:n.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"More Info",id:"More Info",group:t?"Info":void 0,icon:l.HeaderUri,hasMenu:!1,getContent:()=>{const r=s.internet.url();return{kind:n.Uri,displayData:r,data:r,hoverEffect:!0,allowOverlay:!0,readonly:!0,onClickUri:C=>{window.open(r,"_blank"),C.preventDefault()}}}}];if(eP(C+a.length,t));return[...a,...d]}class A{constructor(){x(this,"cachedContent",new Map)}get(t,a){const i=this.cachedContent.get(t);if(i!==void 0)return i[a]}set(t,a,i){let d=this.cachedContent.get(t);d===void 0&&this.cachedContent.set(t,d=[]),d[a]=i}}function ae(e,t=!0,a=!1){const i=c.useRef(new A),[d,r]=c.useState(()=>N(e,a));c.useEffect(()=>{r(N(e,a))},[a,e]);const C=c.useCallback((u,m)=>{r(o=>{const h=o.findIndex(D=>D.title===u.title),y=[...o];return y.splice(h,1,{...o[h],width:m}),y})},[]),v=c.useMemo(()=>d.map(S),[d]),g=c.useRef(d);g.current=d;const p=c.useCallback(([u,m])=>{let o=i.current.get(u,m);return o===void 0&&(o=g.current[u].getContent(),!t&&R(o)&&(o={...o,readonly:t}),i.current.set(u,m,o)),o},[t]),w=c.useCallback(([u,m],o)=>{i.current.set(u,m,o)},[]),f=c.useCallback(([u,m],o)=>{let h=i.current.get(u,m);if(h===void 0&&(h=d[u].getContent()),I(o)&&I(h)){const y=O(o,h);i.current.set(u,m,{...y,displayData:typeof y.data=="string"?y.data:y.displayData,lastUpdated:performance.now()})}},[d]);return{cols:v,getCellContent:p,onColumnResize:C,setCellValue:f,setCellValueRaw:w}}const ne=k("kbd")({name:"KeyName",class:"kcvwzr4",propsAsIs:!1}),re={smoothScrollX:!0,smoothScrollY:!0,getCellsForSelection:!0,width:"100%"};function se(e){switch(e.kind){case n.Boolean:return{...e,data:!1};case n.Image:return{...e,data:[],displayData:[]};case n.Drilldown:case n.Bubble:return{...e,data:[]};case n.Uri:case n.Markdown:return{...e,data:""};case n.Text:return{...e,data:"",displayData:""};case n.Number:return{...e,data:0,displayData:""}}return e}function V(){return[{title:"Row ID",width:120,icon:l.HeaderRowID,hasMenu:!1,getContent:()=>({kind:n.RowID,data:s.datatype.uuid(),allowOverlay:!0})},{title:"Protected",width:120,icon:l.HeaderCode,hasMenu:!1,getContent:()=>({kind:n.Protected,data:s.finance.bitcoinAddress(),allowOverlay:!1})},{title:"Loading",width:120,icon:l.HeaderString,hasMenu:!1,getContent:()=>({kind:n.Loading,allowOverlay:!1,skeletonWidth:70,skeletonWidthVariability:25})},{title:"Text",width:120,icon:l.HeaderCode,hasMenu:!1,getContent:()=>{const e=s.name.firstName();return{kind:n.Text,data:e,displayData:e,allowOverlay:!0}}},{title:"Number",width:120,icon:l.HeaderNumber,hasMenu:!1,getContent:()=>{const e=s.datatype.number(100);return{kind:n.Number,data:e,displayData:`${e}`,allowOverlay:!0}}},{title:"Boolean",width:120,icon:l.HeaderBoolean,hasMenu:!1,getContent:()=>{const e=Math.random(),t=e<.1?void 0:e<.2?null:e<.6;return{kind:n.Boolean,data:t,allowOverlay:!1,readonly:!1}}},{title:"Image",width:120,icon:l.HeaderImage,hasMenu:!1,getContent:()=>({kind:n.Image,data:[`${s.image.animals(40,40)}?random=${s.datatype.number(1e5)}`],allowOverlay:!0,readonly:!0})},{title:"Uri",width:120,icon:l.HeaderUri,hasMenu:!1,getContent:()=>{const e=s.internet.url();return{kind:n.Uri,data:e,allowOverlay:!0}}},{title:"Markdown",width:120,icon:l.HeaderMarkdown,hasMenu:!1,getContent:()=>{const e=`# Title +var H=Object.defineProperty;var T=(e,t,a)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var x=(e,t,a)=>(T(e,typeof t!="symbol"?t+"":t,a),a);import{s as k,a as B,j as M}from"./marked.esm-dbrxtycE.js";import{r as c}from"./index-BMVQvedj.js";import{S as $,U as R,E as I,G as n,D as U,a as l}from"./image-window-loader-Hk1rG8Sr.js";import{y as s}from"./index-PWBWJyi_.js";import{w as b}from"./_baseIteratee-WTHxv43n.js";import{u as G}from"./index.esm-Ejw8GwRl.js";import{n as E}from"./flatten-qRvRBp6y.js";s.seed(1337);function z(e){return!!e}function O(e,t){var i;const a=e.data;if(typeof a==typeof t.data)return{...t,data:a};switch(t.kind){case n.Uri:return b(a)?{...t,data:a[0]}:{...t,data:(a==null?void 0:a.toString())??""};case n.Boolean:return b(a)?{...t,data:a[0]!==void 0}:e.kind===n.Boolean?{...t,data:e.data}:{...t,data:!!z(a)};case n.Image:return b(a)?{...t,data:[a[0]]}:{...t,data:[(a==null?void 0:a.toString())??""]};case n.Number:return{...t,data:0};case n.Text:case n.Markdown:return b(a)?{...t,data:a[0].toString()??""}:{...t,data:((i=e.data)==null?void 0:i.toString())??""};case n.Custom:return t}U()}function S(e){const{getContent:t,...a}=e;return a}const J=k("div")({name:"ColumnAddButton",class:"c4uqbye",propsAsIs:!1}),j=k("div")({name:"BeautifulStyle",class:"b1bsqg7n",propsAsIs:!1}),Q=k("span")({name:"PropName",class:"piiq54i",propsAsIs:!1}),Z=k("p")({name:"Description",class:"d1k3yj19",propsAsIs:!1}),ee=k("p")({name:"MoreInfo",class:"m1j0dy02",propsAsIs:!1}),te=e=>{const{title:t,children:a,description:i,className:d,scale:r}=e,{ref:C,width:v,height:g}=G();return B(j,{className:d+($.value?" firefox":""),children:[M("h1",{children:t}),i,M("div",{style:{scale:r},className:"sizer",children:M("div",{className:"sizer-clip",ref:C,children:M("div",{style:{position:"relative",width:v??100,height:g??100},children:a})})})]})};function P(e,t){return{title:`Column ${e}`,id:`Column ${e}`,group:t?`Group ${Math.round(e/3)}`:void 0,icon:l.HeaderString,hasMenu:!1,getContent:()=>{const a=s.lorem.word();return{kind:n.Text,data:a,displayData:a,allowOverlay:!0,readonly:!0}}}}function N(e,t){const a=[{title:"First name",id:"First name",group:t?"Name":void 0,icon:l.HeaderString,hasMenu:!1,getContent:()=>{const r=s.name.firstName();return{kind:n.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"Last name",id:"Last name",group:t?"Name":void 0,icon:l.HeaderString,hasMenu:!1,getContent:()=>{const r=s.name.lastName();return{kind:n.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"Avatar",id:"Avatar",group:t?"Info":void 0,icon:l.HeaderImage,hasMenu:!1,getContent:()=>{const r=Math.round(Math.random()*100);return{kind:n.Image,data:[`https://picsum.photos/id/${r}/900/900`],displayData:[`https://picsum.photos/id/${r}/40/40`],allowOverlay:!0,readonly:!0}}},{title:"Email",id:"Email",group:t?"Info":void 0,icon:l.HeaderString,hasMenu:!1,getContent:()=>{const r=s.internet.email();return{kind:n.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"Title",id:"Title",group:t?"Info":void 0,icon:l.HeaderString,hasMenu:!1,getContent:()=>{const r=s.name.jobTitle();return{kind:n.Text,displayData:r,data:r,allowOverlay:!0,readonly:!0}}},{title:"More Info",id:"More Info",group:t?"Info":void 0,icon:l.HeaderUri,hasMenu:!1,getContent:()=>{const r=s.internet.url();return{kind:n.Uri,displayData:r,data:r,hoverEffect:!0,allowOverlay:!0,readonly:!0,onClickUri:C=>{window.open(r,"_blank"),C.preventDefault()}}}}];if(eP(C+a.length,t));return[...a,...d]}class A{constructor(){x(this,"cachedContent",new Map)}get(t,a){const i=this.cachedContent.get(t);if(i!==void 0)return i[a]}set(t,a,i){let d=this.cachedContent.get(t);d===void 0&&this.cachedContent.set(t,d=[]),d[a]=i}}function ae(e,t=!0,a=!1){const i=c.useRef(new A),[d,r]=c.useState(()=>N(e,a));c.useEffect(()=>{r(N(e,a))},[a,e]);const C=c.useCallback((u,m)=>{r(o=>{const h=o.findIndex(D=>D.title===u.title),y=[...o];return y.splice(h,1,{...o[h],width:m}),y})},[]),v=c.useMemo(()=>d.map(S),[d]),g=c.useRef(d);g.current=d;const p=c.useCallback(([u,m])=>{let o=i.current.get(u,m);return o===void 0&&(o=g.current[u].getContent(),!t&&R(o)&&(o={...o,readonly:t}),i.current.set(u,m,o)),o},[t]),w=c.useCallback(([u,m],o)=>{i.current.set(u,m,o)},[]),f=c.useCallback(([u,m],o)=>{let h=i.current.get(u,m);if(h===void 0&&(h=d[u].getContent()),I(o)&&I(h)){const y=O(o,h);i.current.set(u,m,{...y,displayData:typeof y.data=="string"?y.data:y.displayData,lastUpdated:performance.now()})}},[d]);return{cols:v,getCellContent:p,onColumnResize:C,setCellValue:f,setCellValueRaw:w}}const ne=k("kbd")({name:"KeyName",class:"kcvwzr4",propsAsIs:!1}),re={smoothScrollX:!0,smoothScrollY:!0,getCellsForSelection:!0,width:"100%"};function se(e){switch(e.kind){case n.Boolean:return{...e,data:!1};case n.Image:return{...e,data:[],displayData:[]};case n.Drilldown:case n.Bubble:return{...e,data:[]};case n.Uri:case n.Markdown:return{...e,data:""};case n.Text:return{...e,data:"",displayData:""};case n.Number:return{...e,data:0,displayData:""}}return e}function V(){return[{title:"Row ID",width:120,icon:l.HeaderRowID,hasMenu:!1,getContent:()=>({kind:n.RowID,data:s.datatype.uuid(),allowOverlay:!0})},{title:"Protected",width:120,icon:l.HeaderCode,hasMenu:!1,getContent:()=>({kind:n.Protected,data:s.finance.bitcoinAddress(),allowOverlay:!1})},{title:"Loading",width:120,icon:l.HeaderString,hasMenu:!1,getContent:()=>({kind:n.Loading,allowOverlay:!1,skeletonWidth:70,skeletonWidthVariability:25})},{title:"Text",width:120,icon:l.HeaderCode,hasMenu:!1,getContent:()=>{const e=s.name.firstName();return{kind:n.Text,data:e,displayData:e,allowOverlay:!0}}},{title:"Number",width:120,icon:l.HeaderNumber,hasMenu:!1,getContent:()=>{const e=s.datatype.number(100);return{kind:n.Number,data:e,displayData:`${e}`,allowOverlay:!0}}},{title:"Boolean",width:120,icon:l.HeaderBoolean,hasMenu:!1,getContent:()=>{const e=Math.random(),t=e<.1?void 0:e<.2?null:e<.6;return{kind:n.Boolean,data:t,allowOverlay:!1,readonly:!1}}},{title:"Image",width:120,icon:l.HeaderImage,hasMenu:!1,getContent:()=>({kind:n.Image,data:[`${s.image.animals(40,40)}?random=${s.datatype.number(1e5)}`],allowOverlay:!0,readonly:!0})},{title:"Uri",width:120,icon:l.HeaderUri,hasMenu:!1,getContent:()=>{const e=s.internet.url();return{kind:n.Uri,data:e,allowOverlay:!0}}},{title:"Markdown",width:120,icon:l.HeaderMarkdown,hasMenu:!1,getContent:()=>{const e=`# Title Hello my name is *${s.name.firstName()}* ## TODO: diff --git a/docs/assets/validate-data.stories-7_b9R9LW.js b/docs/assets/validate-data.stories-XmCJ-hiO.js similarity index 81% rename from docs/assets/validate-data.stories-7_b9R9LW.js rename to docs/assets/validate-data.stories-XmCJ-hiO.js index 07d4295b7..7c7caecb5 100644 --- a/docs/assets/validate-data.stories-7_b9R9LW.js +++ b/docs/assets/validate-data.stories-XmCJ-hiO.js @@ -1,4 +1,4 @@ -import{j as e,a as l,F as c}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as u}from"./data-editor-all-kwt0I9Kc.js";import{B as m,D as p,P as f,M as C,u as D,d as V}from"./utils-rXlmyYaC.js";import{G as h}from"./image-window-loader-aMebukIX.js";import{S as w}from"./story-utils-K2EZnGjM.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const L={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(w,{children:e(m,{title:"Validate data",description:l(c,{children:[l(p,{children:["Data can be validated using the ",e(f,{children:"validateCell"})," callback"]}),e(C,{children:'This example only allows the word "Valid" inside text cells.'})]}),children:e(r,{})})})]},a=()=>{const{cols:r,getCellContent:s,setCellValue:d}=D(60,!1);return e(u,{...V,getCellContent:s,columns:r,rowMarkers:"both",onPaste:!0,onCellEdited:d,rows:100,validateCell:(g,t)=>t.kind!==h.Text||t.data==="Valid"?!0:t.data.toLowerCase()==="valid"?{...t,data:"Valid",selectionRange:[0,3]}:!1})};var o,n,i;a.parameters={...a.parameters,docs:{...(o=a.parameters)==null?void 0:o.docs,source:{originalSource:`() => { +import{j as e,a as l,F as c}from"./marked.esm-dbrxtycE.js";import"./index-BMVQvedj.js";import{D as u}from"./data-editor-all-3W5wpw6K.js";import{B as m,D as p,P as f,M as C,u as D,d as V}from"./utils--Nf55hQd.js";import{G as h}from"./image-window-loader-Hk1rG8Sr.js";import{S as w}from"./story-utils-K2EZnGjM.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./throttle-7EuXLZa7.js";import"./_baseIteratee-WTHxv43n.js";import"./flatten-qRvRBp6y.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index-PWBWJyi_.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const L={title:"Glide-Data-Grid/DataEditor Demos",decorators:[r=>e(w,{children:e(m,{title:"Validate data",description:l(c,{children:[l(p,{children:["Data can be validated using the ",e(f,{children:"validateCell"})," callback"]}),e(C,{children:'This example only allows the word "Valid" inside text cells.'})]}),children:e(r,{})})})]},a=()=>{const{cols:r,getCellContent:s,setCellValue:d}=D(60,!1);return e(u,{...V,getCellContent:s,columns:r,rowMarkers:"both",onPaste:!0,onCellEdited:d,rows:100,validateCell:(g,t)=>t.kind!==h.Text||t.data==="Valid"?!0:t.data.toLowerCase()==="valid"?{...t,data:"Valid",selectionRange:[0,3]}:!1})};var o,n,i;a.parameters={...a.parameters,docs:{...(o=a.parameters)==null?void 0:o.docs,source:{originalSource:`() => { const { cols, getCellContent, diff --git a/docs/assets/wrapping-text.stories-8jiaFcXr.js b/docs/assets/wrapping-text.stories-7xxNmV7x.js similarity index 88% rename from docs/assets/wrapping-text.stories-8jiaFcXr.js rename to docs/assets/wrapping-text.stories-7xxNmV7x.js index c31145339..40ba20071 100644 --- a/docs/assets/wrapping-text.stories-8jiaFcXr.js +++ b/docs/assets/wrapping-text.stories-7xxNmV7x.js @@ -1,4 +1,4 @@ -import{j as n,a as f}from"./marked.esm-dbrxtycE.js";import{R as i}from"./index-BMVQvedj.js";import{D as C}from"./data-editor-all-kwt0I9Kc.js";import{B as h,D as x,P as w,u as y,d as W}from"./utils-rXlmyYaC.js";import{G as D}from"./image-window-loader-aMebukIX.js";import{S as G}from"./story-utils-K2EZnGjM.js";import{r as T}from"./throttle-7EuXLZa7.js";import{y as R}from"./index-PWBWJyi_.js";import"./iframe-lQqvcp2b.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./_baseIteratee-WTHxv43n.js";import"./scrolling-data-grid-AbyJF5mC.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const K={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>n(G,{children:n(h,{title:"Wrapping Text",description:f(x,{children:["Text cells can have wrapping text by setting the ",n(w,{children:"allowWrapping"})," prop to true."]}),children:n(e,{})})})]},t=e=>{const{cols:c,getCellContent:a,onColumnResize:g}=y(6),r=i.useMemo(()=>T(0,100).map(()=>R.lorem.sentence(e.length)),[e.length]),u=i.useCallback(l=>{const[d,o]=l;return d===0?{kind:D.Text,allowOverlay:!0,displayData:`${o}, +import{j as n,a as f}from"./marked.esm-dbrxtycE.js";import{R as i}from"./index-BMVQvedj.js";import{D as C}from"./data-editor-all-3W5wpw6K.js";import{B as h,D as x,P as w,u as y,d as W}from"./utils--Nf55hQd.js";import{G as D}from"./image-window-loader-Hk1rG8Sr.js";import{S as G}from"./story-utils-K2EZnGjM.js";import{r as T}from"./throttle-7EuXLZa7.js";import{y as R}from"./index-PWBWJyi_.js";import"./iframe-MU0yo5By.js";import"../sb-preview/runtime.js";import"./flatten-qRvRBp6y.js";import"./_baseIteratee-WTHxv43n.js";import"./scrolling-data-grid-6oMlsc5s.js";import"./index.esm-Ejw8GwRl.js";import"./index-wocATsGp.js";const K={title:"Glide-Data-Grid/DataEditor Demos",decorators:[e=>n(G,{children:n(h,{title:"Wrapping Text",description:f(x,{children:["Text cells can have wrapping text by setting the ",n(w,{children:"allowWrapping"})," prop to true."]}),children:n(e,{})})})]},t=e=>{const{cols:c,getCellContent:a,onColumnResize:g}=y(6),r=i.useMemo(()=>T(0,100).map(()=>R.lorem.sentence(e.length)),[e.length]),u=i.useCallback(l=>{const[d,o]=l;return d===0?{kind:D.Text,allowOverlay:!0,displayData:`${o}, ${r[o%r.length]}`,data:`${o}, ${r}`,allowWrapping:!0,contentAlign:e.alignment}:a(l)},[a,e.alignment,r]);return n(C,{...W,rowHeight:80,getCellContent:u,columns:c,rows:1e3,onColumnResize:g,experimental:{hyperWrapping:e.hyperWrapping}})};t.args={alignment:"left",length:20,hyperWrapping:!1};t.argTypes={alignment:{control:{type:"select"},options:["left","center","right"]},length:{control:{type:"range",min:2,max:200}}};var s,p,m;t.parameters={...t.parameters,docs:{...(s=t.parameters)==null?void 0:s.docs,source:{originalSource:`p => { const { diff --git a/docs/iframe.html b/docs/iframe.html index be1e0c4f2..deff622c2 100644 --- a/docs/iframe.html +++ b/docs/iframe.html @@ -382,7 +382,7 @@ } - + diff --git a/docs/project.json b/docs/project.json index 92b95d099..c2c43bc40 100644 --- a/docs/project.json +++ b/docs/project.json @@ -1 +1 @@ -{"generatedAt":1707680831492,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"monorepo":"Workspaces","packageManager":{"type":"npm","version":"10.2.3"},"typescriptOptions":{"reactDocgen":false},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","storybookVersion":"7.6.12","storybookVersionSpecifier":"^7.6.12","language":"typescript","storybookPackages":{"@storybook/addon-actions":{"version":"7.6.12"},"@storybook/addon-controls":{"version":"7.6.12"},"@storybook/addon-links":{"version":"7.6.12"},"@storybook/addon-storysource":{"version":"7.6.12"},"@storybook/addons":{"version":"7.6.12"},"@storybook/react":{"version":"7.6.12"},"@storybook/react-vite":{"version":"7.6.12"},"@storybook/react-webpack5":{"version":"7.6.12"},"storybook":{"version":"7.6.12"}},"addons":{"$SNIP/node_modules/@storybook/addon-storysource":{"version":null},"$SNIP/node_modules/@storybook/addon-controls":{"version":null}}} +{"generatedAt":1707883054944,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"monorepo":"Workspaces","packageManager":{"type":"npm","version":"10.2.3"},"typescriptOptions":{"reactDocgen":false},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","storybookVersion":"7.6.12","storybookVersionSpecifier":"^7.6.12","language":"typescript","storybookPackages":{"@storybook/addon-actions":{"version":"7.6.12"},"@storybook/addon-controls":{"version":"7.6.12"},"@storybook/addon-links":{"version":"7.6.12"},"@storybook/addon-storysource":{"version":"7.6.12"},"@storybook/addons":{"version":"7.6.12"},"@storybook/react":{"version":"7.6.12"},"@storybook/react-vite":{"version":"7.6.12"},"@storybook/react-webpack5":{"version":"7.6.12"},"storybook":{"version":"7.6.12"}},"addons":{"$SNIP/node_modules/@storybook/addon-storysource":{"version":null},"$SNIP/node_modules/@storybook/addon-controls":{"version":null}}}