react-window 2.0.2-alpha.1 → 2.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/react-window.cjs +1 -1
  2. package/dist/react-window.cjs.map +1 -1
  3. package/dist/react-window.d.ts +10 -2
  4. package/dist/react-window.js +442 -386
  5. package/dist/react-window.js.map +1 -1
  6. package/docs/assets/{AriaRolesRoute-rvLAMJGg.js → AriaRolesRoute-Dccdk77z.js} +2 -2
  7. package/docs/assets/{AriaRolesRoute-rvLAMJGg.js.map → AriaRolesRoute-Dccdk77z.js.map} +1 -1
  8. package/docs/assets/{AriaRolesRoute-DUJio_Uq.js → AriaRolesRoute-fNF-9P_q.js} +2 -2
  9. package/docs/assets/{AriaRolesRoute-DUJio_Uq.js.map → AriaRolesRoute-fNF-9P_q.js.map} +1 -1
  10. package/docs/assets/{AriaRolesRoute-Dsxt70zK.js → AriaRolesRoute-mE_5uPdh.js} +2 -2
  11. package/docs/assets/{AriaRolesRoute-Dsxt70zK.js.map → AriaRolesRoute-mE_5uPdh.js.map} +1 -1
  12. package/docs/assets/CellComponent.example-Fvf2fNMJ.js +2 -0
  13. package/docs/assets/{CellComponent.example-CFiu8zNV.js.map → CellComponent.example-Fvf2fNMJ.js.map} +1 -1
  14. package/docs/assets/{ComponentProps-BFVtvKZW.js → ComponentProps-BaSDIyGM.js} +2 -2
  15. package/docs/assets/{ComponentProps-BFVtvKZW.js.map → ComponentProps-BaSDIyGM.js.map} +1 -1
  16. package/docs/assets/ContinueLink-Bt_isYvF.js +2 -0
  17. package/docs/assets/{ContinueLink-DMnSPbdx.js.map → ContinueLink-Bt_isYvF.js.map} +1 -1
  18. package/docs/assets/{FixedRowHeightsRoute-BgFMqZ9J.js → FixedRowHeightsRoute-BWMCEZL9.js} +2 -2
  19. package/docs/assets/{FixedRowHeightsRoute-BgFMqZ9J.js.map → FixedRowHeightsRoute-BWMCEZL9.js.map} +1 -1
  20. package/docs/assets/{FormattedCode-B5NYyy8K.js → FormattedCode-C9MIMH17.js} +2 -2
  21. package/docs/assets/{FormattedCode-B5NYyy8K.js.map → FormattedCode-C9MIMH17.js.map} +1 -1
  22. package/docs/assets/{GettingStartedRoute-OLG6nuHW.js → GettingStartedRoute-0nhyOEdK.js} +2 -2
  23. package/docs/assets/{GettingStartedRoute-OLG6nuHW.js.map → GettingStartedRoute-0nhyOEdK.js.map} +1 -1
  24. package/docs/assets/Grid-CgYC2ncE.js +2 -0
  25. package/docs/assets/Grid-CgYC2ncE.js.map +1 -0
  26. package/docs/assets/{Header-B_onM2vR.js → Header-BdKWSvvb.js} +2 -2
  27. package/docs/assets/{Header-B_onM2vR.js.map → Header-BdKWSvvb.js.map} +1 -1
  28. package/docs/assets/{HorizontalListsRoute-YTu4ru_X.js → HorizontalListsRoute-DBeYXDTd.js} +2 -2
  29. package/docs/assets/{HorizontalListsRoute-YTu4ru_X.js.map → HorizontalListsRoute-DBeYXDTd.js.map} +1 -1
  30. package/docs/assets/{ImperativeApiRoute-D8HOQfr3.js → ImperativeApiRoute-CVproCzF.js} +2 -2
  31. package/docs/assets/{ImperativeApiRoute-D8HOQfr3.js.map → ImperativeApiRoute-CVproCzF.js.map} +1 -1
  32. package/docs/assets/{ImperativeApiRoute-BxC-VyUh.js → ImperativeApiRoute-rlhH1_Qi.js} +2 -2
  33. package/docs/assets/{ImperativeApiRoute-BxC-VyUh.js.map → ImperativeApiRoute-rlhH1_Qi.js.map} +1 -1
  34. package/docs/assets/List-CxgHSppl.js +2 -0
  35. package/docs/assets/List-CxgHSppl.js.map +1 -0
  36. package/docs/assets/{LoadingSpinner-BMzTPwZo.js → LoadingSpinner-tWpMuzoA.js} +2 -2
  37. package/docs/assets/{LoadingSpinner-BMzTPwZo.js.map → LoadingSpinner-tWpMuzoA.js.map} +1 -1
  38. package/docs/assets/{PageNotFound-kFYcmtEM.js → PageNotFound-mw-pBfPL.js} +2 -2
  39. package/docs/assets/{PageNotFound-kFYcmtEM.js.map → PageNotFound-mw-pBfPL.js.map} +1 -1
  40. package/docs/assets/{PlatformRequirementsRoute-D2r4s58b.js → PlatformRequirementsRoute-pGdzRelu.js} +2 -2
  41. package/docs/assets/{PlatformRequirementsRoute-D2r4s58b.js.map → PlatformRequirementsRoute-pGdzRelu.js.map} +1 -1
  42. package/docs/assets/{PropsRoute-B_3n6IE5.js → PropsRoute-DV7EZjjj.js} +2 -2
  43. package/docs/assets/{PropsRoute-B_3n6IE5.js.map → PropsRoute-DV7EZjjj.js.map} +1 -1
  44. package/docs/assets/PropsRoute-UF2eK3lu.js +2 -0
  45. package/docs/assets/{PropsRoute-CUL_CRSw.js.map → PropsRoute-UF2eK3lu.js.map} +1 -1
  46. package/docs/assets/{RTLGridsRoute-BXZTN5aZ.js → RTLGridsRoute-CTps1hK8.js} +2 -2
  47. package/docs/assets/{RTLGridsRoute-BXZTN5aZ.js.map → RTLGridsRoute-CTps1hK8.js.map} +1 -1
  48. package/docs/assets/{RenderingGridRoute-DjDJX4pV.js → RenderingGridRoute-pl69TsxS.js} +2 -2
  49. package/docs/assets/{RenderingGridRoute-DjDJX4pV.js.map → RenderingGridRoute-pl69TsxS.js.map} +1 -1
  50. package/docs/assets/{ScratchpadRoute-BvmbZ6RR.js → ScratchpadRoute-CCWpeXMB.js} +2 -2
  51. package/docs/assets/{ScratchpadRoute-BvmbZ6RR.js.map → ScratchpadRoute-CCWpeXMB.js.map} +1 -1
  52. package/docs/assets/{Select-INFvG4Rz.js → Select-DqyIzw3c.js} +2 -2
  53. package/docs/assets/{Select-INFvG4Rz.js.map → Select-DqyIzw3c.js.map} +1 -1
  54. package/docs/assets/{StickyRowsRoute-D9QBSEk_.js → StickyRowsRoute-DLva-P41.js} +2 -2
  55. package/docs/assets/{StickyRowsRoute-D9QBSEk_.js.map → StickyRowsRoute-DLva-P41.js.map} +1 -1
  56. package/docs/assets/{SupportRoute-DyO6dv_w.js → SupportRoute-Do2-2OX7.js} +2 -2
  57. package/docs/assets/{SupportRoute-DyO6dv_w.js.map → SupportRoute-Do2-2OX7.js.map} +1 -1
  58. package/docs/assets/{TabularDataRoute-CH8QvWD7.js → TabularDataRoute-DPSrWaLN.js} +2 -2
  59. package/docs/assets/{TabularDataRoute-CH8QvWD7.js.map → TabularDataRoute-DPSrWaLN.js.map} +1 -1
  60. package/docs/assets/{VariableRowHeightsRoute--1XN3vDI.js → VariableRowHeightsRoute-Di2prJCD.js} +2 -2
  61. package/docs/assets/{VariableRowHeightsRoute--1XN3vDI.js.map → VariableRowHeightsRoute-Di2prJCD.js.map} +1 -1
  62. package/docs/assets/arePropsEqual-U1Tm1J18.js +2 -0
  63. package/docs/assets/arePropsEqual-U1Tm1J18.js.map +1 -0
  64. package/docs/assets/{index-C6NWGx8D.js → index-0ZXvQVSH.js} +3 -3
  65. package/docs/assets/{index-C6NWGx8D.js.map → index-0ZXvQVSH.js.map} +1 -1
  66. package/docs/assets/{useCitiesByState-rFcDxGxC.js → useCitiesByState-CwP17AWg.js} +2 -2
  67. package/docs/assets/{useCitiesByState-rFcDxGxC.js.map → useCitiesByState-CwP17AWg.js.map} +1 -1
  68. package/docs/assets/{useContacts-Bu0Z6ao9.js → useContacts-BUeepGdf.js} +2 -2
  69. package/docs/assets/{useContacts-Bu0Z6ao9.js.map → useContacts-BUeepGdf.js.map} +1 -1
  70. package/docs/generated/js-docs/Grid.json +2 -2
  71. package/docs/generated/js-docs/List.json +2 -2
  72. package/docs/index.html +1 -1
  73. package/docs/stats.html +1 -1
  74. package/package.json +1 -1
  75. package/docs/assets/CellComponent.example-CFiu8zNV.js +0 -2
  76. package/docs/assets/ContinueLink-DMnSPbdx.js +0 -2
  77. package/docs/assets/Grid-BXEwl59J.js +0 -2
  78. package/docs/assets/Grid-BXEwl59J.js.map +0 -1
  79. package/docs/assets/List-CwFMf7n1.js +0 -2
  80. package/docs/assets/List-CwFMf7n1.js.map +0 -1
  81. package/docs/assets/PropsRoute-CUL_CRSw.js +0 -2
  82. package/docs/assets/arePropsEqual-Czc4-HWX.js +0 -2
  83. package/docs/assets/arePropsEqual-Czc4-HWX.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{j as t,c as e,r as s}from"./index-C6NWGx8D.js";import{L as i}from"./List-CwFMf7n1.js";import{j as a}from"./addresses-CDQyd4n9.js";function r({items:e}){return t.jsx(i,{rowComponent:o,rowCount:e.length,rowHeight:n,rowProps:{items:e}})}function n(t,{items:e}){switch(e[t].type){case"state":return 30;case"zip":return 25}}function o({index:s,items:i,style:a}){const r=i[s],n=function(t){return e("flex items-center justify-between gap-2",{"text-3xl text-sky-300":"state"===t.type})}(r);return t.jsxs("div",{className:n,style:a,children:["state"===r.type?t.jsx("span",{children:r.state}):t.jsxs("span",{children:[r.city,", ",r.zip]}),t.jsx("div",{className:"text-slate-500 text-xs",children:`${s+1} of ${i.length}`})]})}function c(){return s.useMemo(()=>{const t=[];if(a){let e="";a.sort((t,e)=>t.state!==e.state?t.state.localeCompare(e.state):t.city!==e.city?t.city.localeCompare(e.city):t.zip.localeCompare(e.zip)).forEach(s=>{s.state!==e&&(e=s.state,t.push({type:"state",state:s.state})),t.push({type:"zip",city:s.city,zip:s.zip})})}return t},[])}export{r as E,o as R,c as u};
2
- //# sourceMappingURL=useCitiesByState-rFcDxGxC.js.map
1
+ import{j as t,c as e,r as s}from"./index-0ZXvQVSH.js";import{L as i}from"./List-CxgHSppl.js";import{j as a}from"./addresses-CDQyd4n9.js";function r({items:e}){return t.jsx(i,{rowComponent:o,rowCount:e.length,rowHeight:n,rowProps:{items:e}})}function n(t,{items:e}){switch(e[t].type){case"state":return 30;case"zip":return 25}}function o({index:s,items:i,style:a}){const r=i[s],n=function(t){return e("flex items-center justify-between gap-2",{"text-3xl text-sky-300":"state"===t.type})}(r);return t.jsxs("div",{className:n,style:a,children:["state"===r.type?t.jsx("span",{children:r.state}):t.jsxs("span",{children:[r.city,", ",r.zip]}),t.jsx("div",{className:"text-slate-500 text-xs",children:`${s+1} of ${i.length}`})]})}function c(){return s.useMemo(()=>{const t=[];if(a){let e="";a.sort((t,e)=>t.state!==e.state?t.state.localeCompare(e.state):t.city!==e.city?t.city.localeCompare(e.city):t.zip.localeCompare(e.zip)).forEach(s=>{s.state!==e&&(e=s.state,t.push({type:"state",state:s.state})),t.push({type:"zip",city:s.city,zip:s.zip})})}return t},[])}export{r as E,o as R,c as u};
2
+ //# sourceMappingURL=useCitiesByState-CwP17AWg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCitiesByState-rFcDxGxC.js","sources":["../../src/routes/list/examples/ListVariableRowHeights.example.tsx","../../src/routes/list/hooks/useCitiesByState.ts"],"sourcesContent":["import { type Ref } from \"react\";\nimport { cn } from \"../../../utils/cn\";\n\n// <begin>\n\nimport {\n List,\n type ListImperativeAPI,\n type RowComponentProps\n} from \"react-window\";\n\ntype Item =\n | { type: \"state\"; state: string }\n | { type: \"zip\"; city: string; zip: string };\n\ntype RowProps = {\n items: Item[];\n};\n\nfunction Example({ items }: { items: Item[] }) {\n return (\n <List<RowProps>\n rowComponent={RowComponent}\n rowCount={items.length}\n rowHeight={rowHeight}\n rowProps={{ items }}\n />\n );\n}\n\nfunction rowHeight(index: number, { items }: RowProps) {\n switch (items[index].type) {\n case \"state\": {\n return 30;\n }\n case \"zip\": {\n return 25;\n }\n }\n}\n\nfunction RowComponent({ index, items, style }: RowComponentProps<RowProps>) {\n const item = items[index];\n\n const className = getClassName(item);\n\n return (\n <div className={className} style={style}>\n {item.type === \"state\" ? (\n <span>{item.state}</span>\n ) : (\n <span>\n {item.city}, {item.zip}\n </span>\n )}\n <div className=\"text-slate-500 text-xs\">{`${index + 1} of ${items.length}`}</div>\n </div>\n );\n}\n\n// <end>\n\nfunction ExampleWithRef({\n items,\n listRef\n}: {\n items: Item[];\n listRef: Ref<ListImperativeAPI>;\n}) {\n return (\n <List\n listRef={listRef}\n rowComponent={RowComponent}\n rowCount={items.length}\n rowHeight={rowHeight}\n rowProps={{ items }}\n />\n );\n}\n\nfunction getClassName(item: Item) {\n return cn(\"flex items-center justify-between gap-2\", {\n \"text-3xl text-sky-300\": item.type === \"state\"\n });\n}\n\nexport { Example, ExampleWithRef, RowComponent };\nexport type { Item, RowProps };\n","import { useMemo } from \"react\";\nimport json from \"../../../../public/data/addresses.json\";\n\ntype Item =\n | { type: \"state\"; state: string }\n | { type: \"zip\"; city: string; zip: string };\n\nexport function useCitiesByState(): Item[] {\n return useMemo(() => {\n const items: Item[] = [];\n\n if (json) {\n let currentState: string = \"\";\n\n json\n .sort((a, b) => {\n if (a.state !== b.state) {\n return a.state.localeCompare(b.state);\n } else if (a.city !== b.city) {\n return a.city.localeCompare(b.city);\n } else {\n return a.zip.localeCompare(b.zip);\n }\n })\n .forEach((address) => {\n if (address.state !== currentState) {\n currentState = address.state;\n\n items.push({\n type: \"state\",\n state: address.state\n });\n }\n\n items.push({\n type: \"zip\",\n city: address.city,\n zip: address.zip\n });\n });\n }\n\n return items;\n }, []);\n}\n"],"names":["Example","items","jsx","List","rowComponent","RowComponent","rowCount","length","rowHeight","rowProps","index","type","style","item","className","cn","getClassName","jsxs","children","state","city","zip","useCitiesByState","useMemo","json","currentState","sort","a","b","localeCompare","forEach","address","push"],"mappings":"yIAmBA,SAASA,GAAQC,MAAEA,IACjB,OACEC,EAAAA,IAACC,EAAA,CACCC,aAAcC,EACdC,SAAUL,EAAMM,OAChBC,YACAC,SAAU,CAAER,UAGlB,CAEA,SAASO,EAAUE,GAAeT,MAAEA,IAClC,OAAQA,EAAMS,GAAOC,MACnB,IAAK,QACH,OAAO,GAET,IAAK,MACH,OAAO,GAGb,CAEA,SAASN,GAAaK,MAAEA,EAAAT,MAAOA,EAAAW,MAAOA,IACpC,MAAMC,EAAOZ,EAAMS,GAEbI,EAoCR,SAAsBD,GACpB,OAAOE,EAAG,0CAA2C,CACnD,wBAAuC,UAAdF,EAAKF,MAElC,CAxCoBK,CAAaH,GAE/B,SACEI,KAAC,MAAA,CAAIH,YAAsBF,QACxBM,SAAA,CAAc,UAAdL,EAAKF,KACJT,EAAAA,IAAC,OAAA,CAAMgB,WAAKC,eAEX,OAAA,CACED,SAAA,CAAAL,EAAKO,KAAK,KAAGP,EAAKQ,OAGvBnB,EAAAA,IAAC,MAAA,CAAIY,UAAU,yBAA0BI,SAAA,GAAGR,EAAQ,QAAQT,EAAMM,aAGxE,CCnDO,SAASe,IACd,OAAOC,EAAAA,QAAQ,KACb,MAAMtB,EAAgB,GAEtB,GAAIuB,EAAM,CACR,IAAIC,EAAuB,GAE3BD,EACGE,KAAK,CAACC,EAAGC,IACJD,EAAER,QAAUS,EAAET,MACTQ,EAAER,MAAMU,cAAcD,EAAET,OACtBQ,EAAEP,OAASQ,EAAER,KACfO,EAAEP,KAAKS,cAAcD,EAAER,MAEvBO,EAAEN,IAAIQ,cAAcD,EAAEP,MAGhCS,QAASC,IACJA,EAAQZ,QAAUM,IACpBA,EAAeM,EAAQZ,MAEvBlB,EAAM+B,KAAK,CACTrB,KAAM,QACNQ,MAAOY,EAAQZ,SAInBlB,EAAM+B,KAAK,CACTrB,KAAM,MACNS,KAAMW,EAAQX,KACdC,IAAKU,EAAQV,OAGrB,CAEA,OAAOpB,GACN,GACL"}
1
+ {"version":3,"file":"useCitiesByState-CwP17AWg.js","sources":["../../src/routes/list/examples/ListVariableRowHeights.example.tsx","../../src/routes/list/hooks/useCitiesByState.ts"],"sourcesContent":["import { type Ref } from \"react\";\nimport { cn } from \"../../../utils/cn\";\n\n// <begin>\n\nimport {\n List,\n type ListImperativeAPI,\n type RowComponentProps\n} from \"react-window\";\n\ntype Item =\n | { type: \"state\"; state: string }\n | { type: \"zip\"; city: string; zip: string };\n\ntype RowProps = {\n items: Item[];\n};\n\nfunction Example({ items }: { items: Item[] }) {\n return (\n <List<RowProps>\n rowComponent={RowComponent}\n rowCount={items.length}\n rowHeight={rowHeight}\n rowProps={{ items }}\n />\n );\n}\n\nfunction rowHeight(index: number, { items }: RowProps) {\n switch (items[index].type) {\n case \"state\": {\n return 30;\n }\n case \"zip\": {\n return 25;\n }\n }\n}\n\nfunction RowComponent({ index, items, style }: RowComponentProps<RowProps>) {\n const item = items[index];\n\n const className = getClassName(item);\n\n return (\n <div className={className} style={style}>\n {item.type === \"state\" ? (\n <span>{item.state}</span>\n ) : (\n <span>\n {item.city}, {item.zip}\n </span>\n )}\n <div className=\"text-slate-500 text-xs\">{`${index + 1} of ${items.length}`}</div>\n </div>\n );\n}\n\n// <end>\n\nfunction ExampleWithRef({\n items,\n listRef\n}: {\n items: Item[];\n listRef: Ref<ListImperativeAPI>;\n}) {\n return (\n <List\n listRef={listRef}\n rowComponent={RowComponent}\n rowCount={items.length}\n rowHeight={rowHeight}\n rowProps={{ items }}\n />\n );\n}\n\nfunction getClassName(item: Item) {\n return cn(\"flex items-center justify-between gap-2\", {\n \"text-3xl text-sky-300\": item.type === \"state\"\n });\n}\n\nexport { Example, ExampleWithRef, RowComponent };\nexport type { Item, RowProps };\n","import { useMemo } from \"react\";\nimport json from \"../../../../public/data/addresses.json\";\n\ntype Item =\n | { type: \"state\"; state: string }\n | { type: \"zip\"; city: string; zip: string };\n\nexport function useCitiesByState(): Item[] {\n return useMemo(() => {\n const items: Item[] = [];\n\n if (json) {\n let currentState: string = \"\";\n\n json\n .sort((a, b) => {\n if (a.state !== b.state) {\n return a.state.localeCompare(b.state);\n } else if (a.city !== b.city) {\n return a.city.localeCompare(b.city);\n } else {\n return a.zip.localeCompare(b.zip);\n }\n })\n .forEach((address) => {\n if (address.state !== currentState) {\n currentState = address.state;\n\n items.push({\n type: \"state\",\n state: address.state\n });\n }\n\n items.push({\n type: \"zip\",\n city: address.city,\n zip: address.zip\n });\n });\n }\n\n return items;\n }, []);\n}\n"],"names":["Example","items","jsx","List","rowComponent","RowComponent","rowCount","length","rowHeight","rowProps","index","type","style","item","className","cn","getClassName","jsxs","children","state","city","zip","useCitiesByState","useMemo","json","currentState","sort","a","b","localeCompare","forEach","address","push"],"mappings":"yIAmBA,SAASA,GAAQC,MAAEA,IACjB,OACEC,EAAAA,IAACC,EAAA,CACCC,aAAcC,EACdC,SAAUL,EAAMM,OAChBC,YACAC,SAAU,CAAER,UAGlB,CAEA,SAASO,EAAUE,GAAeT,MAAEA,IAClC,OAAQA,EAAMS,GAAOC,MACnB,IAAK,QACH,OAAO,GAET,IAAK,MACH,OAAO,GAGb,CAEA,SAASN,GAAaK,MAAEA,EAAAT,MAAOA,EAAAW,MAAOA,IACpC,MAAMC,EAAOZ,EAAMS,GAEbI,EAoCR,SAAsBD,GACpB,OAAOE,EAAG,0CAA2C,CACnD,wBAAuC,UAAdF,EAAKF,MAElC,CAxCoBK,CAAaH,GAE/B,SACEI,KAAC,MAAA,CAAIH,YAAsBF,QACxBM,SAAA,CAAc,UAAdL,EAAKF,KACJT,EAAAA,IAAC,OAAA,CAAMgB,WAAKC,eAEX,OAAA,CACED,SAAA,CAAAL,EAAKO,KAAK,KAAGP,EAAKQ,OAGvBnB,EAAAA,IAAC,MAAA,CAAIY,UAAU,yBAA0BI,SAAA,GAAGR,EAAQ,QAAQT,EAAMM,aAGxE,CCnDO,SAASe,IACd,OAAOC,EAAAA,QAAQ,KACb,MAAMtB,EAAgB,GAEtB,GAAIuB,EAAM,CACR,IAAIC,EAAuB,GAE3BD,EACGE,KAAK,CAACC,EAAGC,IACJD,EAAER,QAAUS,EAAET,MACTQ,EAAER,MAAMU,cAAcD,EAAET,OACtBQ,EAAEP,OAASQ,EAAER,KACfO,EAAEP,KAAKS,cAAcD,EAAER,MAEvBO,EAAEN,IAAIQ,cAAcD,EAAEP,MAGhCS,QAASC,IACJA,EAAQZ,QAAUM,IACpBA,EAAeM,EAAQZ,MAEvBlB,EAAM+B,KAAK,CACTrB,KAAM,QACNQ,MAAOY,EAAQZ,SAInBlB,EAAM+B,KAAK,CACTrB,KAAM,MACNS,KAAMW,EAAQX,KACdC,IAAKU,EAAQV,OAGrB,CAEA,OAAOpB,GACN,GACL"}
@@ -1,2 +1,2 @@
1
- import{r as e}from"./index-C6NWGx8D.js";import{j as t}from"./contacts-Bxrk2JS2.js";const a=["title","first_name","last_name","email","gender","address","city","state","zip","timezone","company","job_title"];function r(e){return a[e]}function s(e){switch(r(e)){case"address":return 250;case"email":return 300;case"job_title":return 150;case"timezone":return 200;case"zip":return 75;default:return 100}}function n(){return e.useMemo(()=>t?t.sort((e,t)=>e.title!==t.title?e.title.localeCompare(t.title):e.first_name!==t.first_name?e.first_name.localeCompare(t.first_name):e.last_name.localeCompare(t.last_name)):[],[])}export{a as C,s as c,r as i,n as u};
2
- //# sourceMappingURL=useContacts-Bu0Z6ao9.js.map
1
+ import{r as e}from"./index-0ZXvQVSH.js";import{j as t}from"./contacts-Bxrk2JS2.js";const a=["title","first_name","last_name","email","gender","address","city","state","zip","timezone","company","job_title"];function r(e){return a[e]}function s(e){switch(r(e)){case"address":return 250;case"email":return 300;case"job_title":return 150;case"timezone":return 200;case"zip":return 75;default:return 100}}function n(){return e.useMemo(()=>t?t.sort((e,t)=>e.title!==t.title?e.title.localeCompare(t.title):e.first_name!==t.first_name?e.first_name.localeCompare(t.first_name):e.last_name.localeCompare(t.last_name)):[],[])}export{a as C,s as c,r as i,n as u};
2
+ //# sourceMappingURL=useContacts-BUeepGdf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useContacts-Bu0Z6ao9.js","sources":["../../src/routes/grid/examples/shared.ts","../../src/routes/grid/examples/columnWidth.example.ts","../../src/routes/grid/hooks/useContacts.ts"],"sourcesContent":["import type { Contact } from \"./Grid.example\";\n\nexport const COLUMN_KEYS: (keyof Contact)[] = [\n \"title\",\n \"first_name\",\n \"last_name\",\n \"email\",\n \"gender\",\n \"address\",\n \"city\",\n \"state\",\n \"zip\",\n \"timezone\",\n \"company\",\n \"job_title\"\n];\n\nexport function indexToColumn(columnIndex: number): keyof Contact {\n return COLUMN_KEYS[columnIndex];\n}\n","import { indexToColumn } from \"./shared\";\n\n// <begin>\n\nfunction columnWidth(index: number) {\n switch (indexToColumn(index)) {\n case \"address\": {\n return 250;\n }\n case \"email\": {\n return 300;\n }\n case \"job_title\": {\n return 150;\n }\n case \"timezone\": {\n return 200;\n }\n case \"zip\": {\n return 75;\n }\n default: {\n return 100;\n }\n }\n}\n\n// <end>\n\nexport { columnWidth };\n","import { useMemo } from \"react\";\nimport json from \"../../../../public/data/contacts.json\";\n\ntype Contact = (typeof json)[0];\n\nexport function useContacts(): Contact[] {\n return useMemo(() => {\n if (json) {\n return json.sort((a, b) => {\n if (a.title !== b.title) {\n return a.title.localeCompare(b.title);\n } else if (a.first_name !== b.first_name) {\n return a.first_name.localeCompare(b.first_name);\n } else {\n return a.last_name.localeCompare(b.last_name);\n }\n });\n }\n\n return [];\n }, []);\n}\n"],"names":["COLUMN_KEYS","indexToColumn","columnIndex","columnWidth","index","useContacts","useMemo","json","sort","a","b","title","localeCompare","first_name","last_name"],"mappings":"mFAEO,MAAMA,EAAiC,CAC5C,QACA,aACA,YACA,QACA,SACA,UACA,OACA,QACA,MACA,WACA,UACA,aAGK,SAASC,EAAcC,GAC5B,OAAOF,EAAYE,EACrB,CCfA,SAASC,EAAYC,GACnB,OAAQH,EAAcG,IACpB,IAAK,UACH,OAAO,IAET,IAAK,QACH,OAAO,IAET,IAAK,YACH,OAAO,IAET,IAAK,WACH,OAAO,IAET,IAAK,MACH,OAAO,GAET,QACE,OAAO,IAGb,CCpBO,SAASC,IACd,OAAOC,EAAAA,QAAQ,IACTC,EACKA,EAAKC,KAAK,CAACC,EAAGC,IACfD,EAAEE,QAAUD,EAAEC,MACTF,EAAEE,MAAMC,cAAcF,EAAEC,OACtBF,EAAEI,aAAeH,EAAEG,WACrBJ,EAAEI,WAAWD,cAAcF,EAAEG,YAE7BJ,EAAEK,UAAUF,cAAcF,EAAEI,YAKlC,GACN,GACL"}
1
+ {"version":3,"file":"useContacts-BUeepGdf.js","sources":["../../src/routes/grid/examples/shared.ts","../../src/routes/grid/examples/columnWidth.example.ts","../../src/routes/grid/hooks/useContacts.ts"],"sourcesContent":["import type { Contact } from \"./Grid.example\";\n\nexport const COLUMN_KEYS: (keyof Contact)[] = [\n \"title\",\n \"first_name\",\n \"last_name\",\n \"email\",\n \"gender\",\n \"address\",\n \"city\",\n \"state\",\n \"zip\",\n \"timezone\",\n \"company\",\n \"job_title\"\n];\n\nexport function indexToColumn(columnIndex: number): keyof Contact {\n return COLUMN_KEYS[columnIndex];\n}\n","import { indexToColumn } from \"./shared\";\n\n// <begin>\n\nfunction columnWidth(index: number) {\n switch (indexToColumn(index)) {\n case \"address\": {\n return 250;\n }\n case \"email\": {\n return 300;\n }\n case \"job_title\": {\n return 150;\n }\n case \"timezone\": {\n return 200;\n }\n case \"zip\": {\n return 75;\n }\n default: {\n return 100;\n }\n }\n}\n\n// <end>\n\nexport { columnWidth };\n","import { useMemo } from \"react\";\nimport json from \"../../../../public/data/contacts.json\";\n\ntype Contact = (typeof json)[0];\n\nexport function useContacts(): Contact[] {\n return useMemo(() => {\n if (json) {\n return json.sort((a, b) => {\n if (a.title !== b.title) {\n return a.title.localeCompare(b.title);\n } else if (a.first_name !== b.first_name) {\n return a.first_name.localeCompare(b.first_name);\n } else {\n return a.last_name.localeCompare(b.last_name);\n }\n });\n }\n\n return [];\n }, []);\n}\n"],"names":["COLUMN_KEYS","indexToColumn","columnIndex","columnWidth","index","useContacts","useMemo","json","sort","a","b","title","localeCompare","first_name","last_name"],"mappings":"mFAEO,MAAMA,EAAiC,CAC5C,QACA,aACA,YACA,QACA,SACA,UACA,OACA,QACA,MACA,WACA,UACA,aAGK,SAASC,EAAcC,GAC5B,OAAOF,EAAYE,EACrB,CCfA,SAASC,EAAYC,GACnB,OAAQH,EAAcG,IACpB,IAAK,UACH,OAAO,IAET,IAAK,QACH,OAAO,IAET,IAAK,YACH,OAAO,IAET,IAAK,WACH,OAAO,IAET,IAAK,MACH,OAAO,GAET,QACE,OAAO,IAGb,CCpBO,SAASC,IACd,OAAOC,EAAAA,QAAQ,IACTC,EACKA,EAAKC,KAAK,CAACC,EAAGC,IACfD,EAAEE,QAAUD,EAAEC,MACTF,EAAEE,MAAMC,cAAcF,EAAEC,OACtBF,EAAEI,aAAeH,EAAEG,WACrBJ,EAAEI,WAAWD,cAAcF,EAAEG,YAE7BJ,EAAEK,UAAUF,cAAcF,EAAEI,YAKlC,GACN,GACL"}
@@ -357,13 +357,13 @@
357
357
  "required": false,
358
358
  "type": {
359
359
  "name": "enum",
360
- "raw": "((args: { columnStartIndex: number; columnStopIndex: number; rowStartIndex: number; rowStopIndex: number; }) => void) | undefined",
360
+ "raw": "((visibleCells: { columnStartIndex: number; columnStopIndex: number; rowStartIndex: number; rowStopIndex: number; }, allCells: { columnStartIndex: number; columnStopIndex: number; rowStartIndex: number; rowStopIndex: number; }) => void) | undefined",
361
361
  "value": [
362
362
  {
363
363
  "value": "undefined"
364
364
  },
365
365
  {
366
- "value": "(args: { columnStartIndex: number; columnStopIndex: number; rowStartIndex: number; rowStopIndex: number; }) => void",
366
+ "value": "(visibleCells: { columnStartIndex: number; columnStopIndex: number; rowStartIndex: number; rowStopIndex: number; }, allCells: { columnStartIndex: number; columnStopIndex: number; rowStartIndex: number; rowStopIndex: number; }) => void",
367
367
  "description": "",
368
368
  "fullComment": "",
369
369
  "tags": {}
@@ -251,13 +251,13 @@
251
251
  "required": false,
252
252
  "type": {
253
253
  "name": "enum",
254
- "raw": "((args: { startIndex: number; stopIndex: number; }) => void) | undefined",
254
+ "raw": "((visibleRows: { startIndex: number; stopIndex: number; }, allRows: { startIndex: number; stopIndex: number; }) => void) | undefined",
255
255
  "value": [
256
256
  {
257
257
  "value": "undefined"
258
258
  },
259
259
  {
260
- "value": "(args: { startIndex: number; stopIndex: number; }) => void",
260
+ "value": "(visibleRows: { startIndex: number; stopIndex: number; }, allRows: { startIndex: number; stopIndex: number; }) => void",
261
261
  "description": "",
262
262
  "fullComment": "",
263
263
  "tags": {}
package/docs/index.html CHANGED
@@ -26,7 +26,7 @@
26
26
  />
27
27
  <meta property="og:image:width" content="1500" />
28
28
  <meta property="og:image:height" content="500" />
29
- <script type="module" crossorigin src="/assets/index-C6NWGx8D.js"></script>
29
+ <script type="module" crossorigin src="/assets/index-0ZXvQVSH.js"></script>
30
30
  <link rel="stylesheet" crossorigin href="/assets/index-CTUnf-2d.css">
31
31
  </head>
32
32
  <body>