UNPKG

29.5 kBSource Map (JSON)View Raw
1{"mappings":";;;;;;;;;;;;;;;;;;;;;;A;;AEAA;;;;;;;;;;EAUA,GAEA,iEAAA;AACA,IAAI4E;AACJ,IAAI,OAAOnC,WAAW,aACpBmC,qCAAenC;KAGV,IAAI,OAAOoC,SAAS,aACzB,iDAAA;AACAD,qCAAeC;KAEfD,qCAAeE;AAGjB,IAAIC,oCAAc,IAAI;AACtB,IAAIC,qCAAe,IAAI;AAEvB,MAAMC,yCAAmB;AAEzB,MAAMC,uCAAiBN,mCAAaO,YAAY;AAChD,MAAMC,qCAAeR,mCAAad,UAAU;AAE5C,MAAMuB,+CACJT,mCAAaU,oBAAoB,IACjCV,mCAAaW,uBAAuB,IACpCX,mCAAaY,0BAA0B;AAEzC,MAAMC,gDACJb,mCAAac,qBAAqB,IAClCd,mCAAae,wBAAwB,IACrCf,mCAAagB,2BAA2B;AAE1C,IAAIP,gDAA0B,IAAI,IAAII,iDAA2B,IAAI,EAAE;IACrE,uDAAA;IACA,2CAAA;IACAV,oCAAcG;IACdF,qCAAe,SAASa,mCAAmCC,QAAQ,EAAE;QACnE,OAAOV,mCAAaU,UAAUb;IAChC;AACF,OAAO;IACL,mFAAA;IACA,gGAAA;IACA,qEAAA;IACAF,oCAAc,SAASA,YAAY,CAACgB,kBAAkBC,UAAU,EAAE;QAChEX,6CAAuBU;QACvBb,qCAAec;IACjB;IACAhB,qCAAe,SAASiB,4CACtBH,QAAQ,EACR;QACA,MAAMC,mBAAmBN,8CACvB,SAASS,yBAAyB;YAChChB,qCAAec;YACfF;QACF;QAGF,MAAME,YAAYZ,mCAAa,SAASe,kBAAkB;YACxDd,6CAAuBU;YACvBD;QACF,GAAGb;QAEH,OAAO;YAACc;YAAkBC;SAAU;IACtC;AACF,CAAA;AAEA,SAASxF,gDAA0BW,KAAK,EAAE;IACxC,IAAIiF;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IAEJ,MAAMC,cAAc,OAAOC,aAAa,eAAeA,SAASD,WAAW;IAC3E,IAAI,CAACA,aAAa;QAChBF,gBAAgB,SAAU/E,OAAO,EAAE;YACjC,MAAMmF,WAAWnF,QAAQoF,kBAAkB,EACzCC,SAASF,SAASG,iBAAiB,EACnCC,WAAWJ,SAASK,gBAAgB,EACpCC,cAAcJ,OAAOC,iBAAiB;YACxCC,SAASG,UAAU,GAAGH,SAASI,WAAW;YAC1CJ,SAASK,SAAS,GAAGL,SAASM,YAAY;YAC1CJ,YAAY3E,KAAK,CAAC9B,KAAK,GAAGqG,OAAO5D,WAAW,GAAG,IAAI;YACnDgE,YAAY3E,KAAK,CAAC/B,MAAM,GAAGsG,OAAO7D,YAAY,GAAG,IAAI;YACrD6D,OAAOK,UAAU,GAAGL,OAAOM,WAAW;YACtCN,OAAOO,SAAS,GAAGP,OAAOQ,YAAY;QACxC;QAEAf,gBAAgB,SAAU9E,OAAO,EAAE;YACjC,OACEA,QAAQyB,WAAW,KAAKzB,QAAQ8F,cAAc,CAAC9G,KAAK,IACpDgB,QAAQwB,YAAY,KAAKxB,QAAQ8F,cAAc,CAAC/G,MAAM;QAE1D;QAEAiG,iBAAiB,SAAUe,CAAC,EAAE;YAC5B,kFAAA;YACA,IACEA,EAAEC,MAAM,CAACC,SAAS,IAClB,OAAOF,EAAEC,MAAM,CAACC,SAAS,CAACC,OAAO,KAAK,cACtCH,EAAEC,MAAM,CAACC,SAAS,CAACC,OAAO,CAAC,sBAAsB,KACjDH,EAAEC,MAAM,CAACC,SAAS,CAACC,OAAO,CAAC,oBAAoB,GAE/C;YAGF,MAAMlG,UAAU,IAAI;YACpB+E,cAAc,IAAI;YAClB,IAAI,IAAI,CAACoB,aAAa,EACpB9C,kCAAY,IAAI,CAAC8C,aAAa;YAEhC,IAAI,CAACA,aAAa,GAAG7C,mCAAa,SAAS8C,iBAAiB;gBAC1D,IAAItB,cAAc9E,UAAU;oBAC1BA,QAAQ8F,cAAc,CAAC9G,KAAK,GAAGgB,QAAQyB,WAAW;oBAClDzB,QAAQ8F,cAAc,CAAC/G,MAAM,GAAGiB,QAAQwB,YAAY;oBACpDxB,QAAQqG,mBAAmB,CAACC,OAAO,CAAC,SAASC,sBAC3CC,EAAE,EACF;wBACAA,GAAGC,IAAI,CAACzG,SAAS+F;oBACnB;gBACF,CAAA;YACF;QACF;QAEA,qEAAA,GACA,IAAIW,YAAY,KAAK;QACrB,IAAIC,iBAAiB;QACrB/B,sBAAsB;QACtB,MAAMgC,cAAc,kBAAkBC,KAAK,CAAC;QAC5C,IAAIC,cACF,uEAAuED,KAAK,CAC1E;QAEJ,IAAIE,MAAM;QACV;YACE,MAAMC,MAAM9B,SAASxG,aAAa,CAAC;YACnC,IAAIsI,IAAIlG,KAAK,CAAC6D,aAAa,KAAKsC,WAC9BP,YAAY,IAAI;YAGlB,IAAIA,cAAc,KAAK,EAAE;gBACvB,IAAK,IAAIQ,IAAI,GAAGA,IAAIN,YAAYO,MAAM,EAAED,IACtC,IAAIF,IAAIlG,KAAK,CAAC8F,WAAW,CAACM,EAAE,GAAG,gBAAgB,KAAKD,WAAW;oBAC7DF,MAAMH,WAAW,CAACM,EAAE;oBACpBP,iBAAiB,MAAMI,IAAIK,WAAW,KAAK;oBAC3CxC,sBAAsBkC,WAAW,CAACI,EAAE;oBACpCR,YAAY,IAAI;oBAChB,KAAA;gBACF,CAAA;YAEJ,CAAA;QACF;QAEA/B,gBAAgB;QAChBD,qBACE,MACAiC,iBACA,eACAhC,gBACA;QACFE,iBAAiB8B,iBAAiB,oBAAoBhC,gBAAgB;IACxE,CAAA;IAEA,MAAM0C,eAAe,SAAUC,GAAG,EAAE;QAClC,IAAI,CAACA,IAAIC,cAAc,CAAC,wBAAwB;YAC9C,gGAAA;YACA,MAAMC,MACF,AAAC9C,CAAAA,qBAAqBA,qBAAqB,EAAE,AAAF,IAC3C,wBACCG,CAAAA,iBAAiBA,iBAAiB,EAAE,AAAF,IACnC,uCACA,4TACF4C,OAAOH,IAAIG,IAAI,IAAIH,IAAII,oBAAoB,CAAC,OAAO,CAAC,EAAE,EACtD5G,QAAQwG,IAAI5I,aAAa,CAAC;YAE5BoC,MAAM6G,EAAE,GAAG;YACX7G,MAAM8G,IAAI,GAAG;YAEb,IAAInI,SAAS,IAAI,EACfqB,MAAM+G,YAAY,CAAC,SAASpI;YAG9B,IAAIqB,MAAMgH,UAAU,EAClBhH,MAAMgH,UAAU,CAACC,OAAO,GAAGP;iBAE3B1G,MAAMkH,WAAW,CAACV,IAAIW,cAAc,CAACT;YAGvCC,KAAKO,WAAW,CAAClH;QACnB,CAAA;IACF;IAEA,MAAMX,oBAAoB,SAAUH,OAAO,EAAEwG,EAAE,EAAE;QAC/C,IAAIvB,aACFjF,QAAQiF,WAAW,CAAC,YAAYuB;aAC3B;YACL,IAAI,CAACxG,QAAQoF,kBAAkB,EAAE;gBAC/B,MAAMkC,MAAMtH,QAAQgC,aAAa;gBACjC,MAAMkG,eAAehF,mCAAalC,gBAAgB,CAAChB;gBACnD,IAAIkI,gBAAgBA,aAAaC,QAAQ,KAAK,UAC5CnI,QAAQc,KAAK,CAACqH,QAAQ,GAAG;gBAE3Bd,aAAaC;gBACbtH,QAAQ8F,cAAc,GAAG,CAAC;gBAC1B9F,QAAQqG,mBAAmB,GAAG,EAAE;gBAC/BrG,CAAAA,QAAQoF,kBAAkB,GAAGkC,IAAI5I,aAAa,CAAC,MAAK,EAAGuH,SAAS,GAC/D;gBACF,MAAMmC,gBAAgBd,IAAI5I,aAAa,CAAC;gBACxC0J,cAAcnC,SAAS,GAAG;gBAC1BmC,cAAcJ,WAAW,CAACV,IAAI5I,aAAa,CAAC;gBAC5C,MAAM2J,kBAAkBf,IAAI5I,aAAa,CAAC;gBAC1C2J,gBAAgBpC,SAAS,GAAG;gBAC5BjG,QAAQoF,kBAAkB,CAAC4C,WAAW,CAACI;gBACvCpI,QAAQoF,kBAAkB,CAAC4C,WAAW,CAACK;gBACvCrI,QAAQgI,WAAW,CAAChI,QAAQoF,kBAAkB;gBAC9CL,cAAc/E;gBACdA,QAAQsI,gBAAgB,CAAC,UAAUtD,gBAAgB,IAAI;gBAEvD,kEAAA,GACA,IAAIJ,qBAAqB;oBACvB5E,QAAQoF,kBAAkB,CAACmD,qBAAqB,GAC9C,SAASC,kBAAkBzC,CAAC,EAAE;wBAC5B,IAAIA,EAAEpB,aAAa,KAAKA,eACtBI,cAAc/E;oBAElB;oBACFA,QAAQoF,kBAAkB,CAACkD,gBAAgB,CACzC1D,qBACA5E,QAAQoF,kBAAkB,CAACmD,qBAAqB;gBAEpD,CAAA;YACF,CAAA;YACAvI,QAAQqG,mBAAmB,CAACoC,IAAI,CAACjC;QACnC,CAAA;IACF;IAEA,MAAMpG,uBAAuB,SAAUJ,OAAO,EAAEwG,EAAE,EAAE;QAClD,IAAIvB,aACFjF,QAAQ0I,WAAW,CAAC,YAAYlC;aAC3B;YACLxG,QAAQqG,mBAAmB,CAACsC,MAAM,CAChC3I,QAAQqG,mBAAmB,CAACH,OAAO,CAACM,KACpC;YAEF,IAAI,CAACxG,QAAQqG,mBAAmB,CAACc,MAAM,EAAE;gBACvCnH,QAAQ4I,mBAAmB,CAAC,UAAU5D,gBAAgB,IAAI;gBAC1D,IAAIhF,QAAQoF,kBAAkB,CAACmD,qBAAqB,EAAE;oBACpDvI,QAAQoF,kBAAkB,CAACwD,mBAAmB,CAC5ChE,qBACA5E,QAAQoF,kBAAkB,CAACmD,qBAAqB;oBAElDvI,QAAQoF,kBAAkB,CAACmD,qBAAqB,GAAG,IAAI;gBACzD,CAAA;gBACA,IAAI;oBACFvI,QAAQoF,kBAAkB,GAAG,CAACpF,QAAQ6I,WAAW,CAC/C7I,QAAQoF,kBAAkB;gBAE9B,EAAE,OAAOW,GAAG;gBACV,wDAAA;gBAAA;YAEJ,CAAA;QACF,CAAA;IACF;IAEA,OAAO;2BACL5F;8BACAC;IACF;AACF;AAEA0I,4BAAiB;+BAAEhK;AAA0B;;;A,S,sC,G,E,G,E,K,E;I,M,qC;I,I,O,K,O,c,C,K,K;Q,O;Q,Y,I;Q,c,I;Q,U,I;I;S,G,C,I,G;I,O;A;A,S,qC,G,E;I,I,M,mC,K;I,O,O,Q,W,M,O,I;A;A,S,mC,K,E,I,E;I,I,O,U,Y,U,I,E,O;I,I,O,K,C,O,W,C;I,I,S,W;Q,I,M,K,I,C,O,Q;Q,I,O,Q,U,O;Q,M,I,U,gD;I,C;I,O,A,C,S,W,S,M,A,E;A;AD7OtC,MAAMR,iDAAkBG,CAAAA,GAAAA,sBAAS,AAATA;IAAwB4B,YAAA,GAAAC,IAAA,CAAAD;QAAA,KAAA,IAAAC;QAAAC,sCAAA,IAAA,EAAA,SAQ7C;YACNxB,QAAQ,IAAI,CAACyB,KAAK,CAACnB,aAAa,IAAI;YACpCJ,cAAc,IAAI,CAACuB,KAAK,CAACnB,aAAa,IAAI;YAC1CH,aAAa,IAAI,CAACsB,KAAK,CAAClB,YAAY,IAAI;YACxCN,OAAO,IAAI,CAACwB,KAAK,CAAClB,YAAY,IAAI;QACpC;QAACiB,sCAAA,IAAA,EAAA,cAEgC,IAAI;QAAAA,sCAAA,IAAA,EAAA,wBACc,IAAI;QAAAA,sCAAA,IAAA,EAAA,eACrB,IAAI;QAAAA,sCAAA,IAAA,EAAA,mBACG,IAAI;QAAAA,sCAAA,IAAA,EAAA,aAsHjC,IAAM;YAChB,MAAM,iBAAEhB,cAAa,gBAAEC,aAAY,YAAEE,SAAAA,EAAU,GAAG,IAAI,CAACc,KAAK;YAE5D,IAAI,IAAI,CAACC,WAAW,EAAE;gBAAA,IAAAC,oBAAAC,qBAAAC,mBAAAC;gBACpB,8FAAA;gBACA,kGAAA;gBACA,mCAAA;gBAEA,MAAMC,QAAQC,OAAOC,gBAAgB,CAAC,IAAI,CAACP,WAAW,KAAK,CAAC;gBAC5D,MAAMQ,cAAcC,SAAQ,AAAAR,CAAAA,qBAACI,MAAMG,WAAW,AAAXA,MAAW,IAAA,IAAAP,uBAAA,KAAA,IAAAA,qBAAI,GAAG,EAAE;gBACvD,MAAMS,eAAeD,SAAQ,AAAAP,CAAAA,sBAACG,MAAMK,YAAY,AAAZA,MAAY,IAAA,IAAAR,wBAAA,KAAA,IAAAA,sBAAI,GAAG,EAAE;gBACzD,MAAMS,aAAaF,SAAQ,AAAAN,CAAAA,oBAACE,MAAMM,UAAU,AAAVA,MAAU,IAAA,IAAAR,sBAAA,KAAA,IAAAA,oBAAI,GAAG,EAAE;gBACrD,MAAMS,gBAAgBH,SAAQ,AAAAL,CAAAA,uBAACC,MAAMO,aAAa,AAAbA,MAAa,IAAA,IAAAR,yBAAA,KAAA,IAAAA,uBAAI,GAAG,EAAE;gBAE3D,MAAMS,OAAO,IAAI,CAACb,WAAW,CAACc,qBAAqB;gBACnD,MAAMtC,eAAeqC,KAAKvC,MAAM,GAAGqC,aAAaC;gBAChD,MAAMnC,cAAcoC,KAAKtC,KAAK,GAAGiC,cAAcE;gBAE/C,MAAMpC,SAAS,IAAI,CAAC0B,WAAW,CAACe,YAAY,GAAGJ,aAAaC;gBAC5D,MAAMrC,QAAQ,IAAI,CAACyB,WAAW,CAACgB,WAAW,GAAGR,cAAcE;gBAE3D,IACG,CAAC5B,iBACC,CAAA,IAAI,CAACmC,KAAK,CAAC3C,MAAM,KAAKA,UACrB,IAAI,CAAC2C,KAAK,CAACzC,YAAY,KAAKA,YAAAA,KAC/B,CAACO,gBACC,CAAA,IAAI,CAACkC,KAAK,CAAC1C,KAAK,KAAKA,SACpB,IAAI,CAAC0C,KAAK,CAACxC,WAAW,KAAKA,WAAAA,GAC/B;oBACA,IAAI,CAACyC,QAAQ,CAAC;gCACZ5C;+BACAC;sCACAC;qCACAC;oBACF;oBAEA,IAAI,OAAOQ,aAAa,YACtBA,SAAS;gCAAEX;sCAAQE;qCAAcC;+BAAaF;oBAAM;gBAExD,CAAA;YACF,CAAA;QACF;QAACuB,sCAAA,IAAA,EAAA,WAES,CAACqB,YAAkC;YAC3C,IAAI,CAACC,UAAU,GAAGD;QACpB;IAAC;IAjKDE,oBAAoB;QAClB,MAAM,SAAErC,MAAAA,EAAO,GAAG,IAAI,CAACe,KAAK;QAE5B,IACE,IAAI,CAACqB,UAAU,IACf,IAAI,CAACA,UAAU,CAACE,UAAU,IAC1B,IAAI,CAACF,UAAU,CAACE,UAAU,CAACC,aAAa,IACxC,IAAI,CAACH,UAAU,CAACE,UAAU,CAACC,aAAa,CAACC,WAAW,IACpD,IAAI,CAACJ,UAAU,CAACE,UAAU,YACxB,IAAI,CAACF,UAAU,CAACE,UAAU,CAACC,aAAa,CAACC,WAAW,CAAChC,WAAW,EAClE;YACA,0CAAA;YACA,sGAAA;YACA,kFAAA;YACA,IAAI,CAACQ,WAAW,GAAG,IAAI,CAACoB,UAAU,CAACE,UAAU;YAE7C,4EAAA;YACA,gBAAA;YACA,IAAI,IAAI,CAACtB,WAAW,IAAI,IAAI,EAAE;gBAC5B,IAAI,OAAOyB,mBAAmB,aAAa;oBACzC,IAAI,CAACC,eAAe,GAAG,IAAID,eAAe,IAAM;wBAC9C,4DAAA;wBACA,wFAAA;wBACA,wEAAA;wBACAE,WAAW,IAAI,CAACC,SAAS,EAAE;oBAC7B;oBACA,IAAI,CAACF,eAAe,CAACG,OAAO,CAAC,IAAI,CAAC7B,WAAW;gBAC/C,OAAO;oBACL,IAAI,CAAC8B,oBAAoB,GAAGzD,CAAAA,GAAAA,mDAAAA,EAC1BW;oBAEF,IAAI,CAAC8C,oBAAoB,CAACpC,iBAAiB,CACzC,IAAI,CAACM,WAAW,EAChB,IAAI,CAAC4B,SAAS;gBAElB,CAAA;gBAEA,IAAI,CAACA,SAAS;YAChB,CAAA;QACF,CAAA;IACF;IAEAG,uBAAuB;QACrB,IAAI,IAAI,CAAC/B,WAAW,EAAE;YACpB,IAAI,IAAI,CAAC8B,oBAAoB,EAC3B,IAAI,CAACA,oBAAoB,CAACnC,oBAAoB,CAC5C,IAAI,CAACK,WAAW,EAChB,IAAI,CAAC4B,SAAS;YAIlB,IAAI,IAAI,CAACF,eAAe,EAAE;gBACxB,IAAI,CAACA,eAAe,CAACG,OAAO,CAAC,IAAI,CAAC7B,WAAW;gBAC7C,IAAI,CAAC0B,eAAe,CAACM,UAAU;YACjC,CAAA;QACF,CAAA;IACF;IAEAC,SAAuB;QACrB,MAAM,YACJvD,SAAQ,iBACRE,cAAa,gBACbC,aAAY,iBACZC,cAAa,gBACbC,aAAY,SACZC,MAAK,YACLC,SAAQ,SACRoB,MAAK,WACLnB,UAAU,QACV,GAAGgD,MACJ,GAAG,IAAI,CAACnC,KAAK;QAEd,MAAM,UAAEzB,OAAM,gBAAEE,aAAY,eAAEC,YAAW,SAAEF,MAAAA,EAAO,GAAG,IAAI,CAAC0C,KAAK;QAE/D,4FAAA;QACA,mEAAA;QACA,sCAAA;QACA,MAAMkB,aAA4B;YAAEC,UAAU;QAAU;QACxD,MAAMC,cAAoB,CAAC;QAE3B,gFAAA;QACA,6CAAA;QACA,IAAIC,oBAAoB,KAAK;QAE7B,IAAI,CAACxD,eAAe;YAClB,IAAIR,WAAW,GACbgE,oBAAoB,IAAI;YAE1BH,WAAW7D,MAAM,GAAG;YACpB+D,YAAY/D,MAAM,GAAGA;YACrB+D,YAAY7D,YAAY,GAAGA;QAC7B,CAAA;QAEA,IAAI,CAACO,cAAc;YACjB,IAAIR,UAAU,GACZ+D,oBAAoB,IAAI;YAE1BH,WAAW5D,KAAK,GAAG;YACnB8D,YAAY9D,KAAK,GAAGA;YACpB8D,YAAY5D,WAAW,GAAGA;QAC5B,CAAA;QAEA,OAAOR,CAAAA,GAAAA,0BAAa,AAAbA,EACLiB,SACA;YACEqD,KAAK,IAAI,CAACC,OAAO;YACjBnC,OAAO;gBACL,GAAG8B,UAAU;gBACb,GAAG9B,KAAH;YACF;YACA,GAAG6B,IAAH;QACF,GACA,CAACI,qBAAqB5D,SAAS2D;IAEnC;AAgDF;AAACvC,sCAtLYjC,0CAAS,gBACE;IACpBoB,UAAUA,IAAM,CAAC;IACjBH,eAAe,KAAK;IACpBC,cAAc,KAAK;IACnBsB,OAAO,CAAC;AACV;;ADpDF;IAEA,2CAAexC,CAAAA,GAAAA,wCAAAA","sources":["src/index.ts","src/AutoSizer.ts","vendor/detectElementResize.js"],"sourcesContent":["import { AutoSizer, Props, Size } from \"./AutoSizer\";\n\nexport default AutoSizer;\n\nexport type { Props, Size };\n","import {\n Component,\n createElement,\n CSSProperties,\n HTMLAttributes,\n ReactElement,\n} from \"react\";\n\n// @ts-ignore\nimport { createDetectElementResize } from \"../vendor/detectElementResize\";\n\nexport type Size = {\n // Legacy width and height parameters (offsetWidth and offsetHeight)\n height?: number;\n width?: number;\n\n // Take transform:scale into account (getBoundingClientRect)\n scaledHeight?: number;\n scaledWidth?: number;\n};\n\nexport type Props = {\n children: (size: Size) => ReactElement;\n defaultHeight?: number;\n defaultWidth?: number;\n disableHeight?: boolean;\n disableWidth?: boolean;\n nonce?: string;\n onResize?: (size: Size) => void;\n tagName?: string;\n} & Omit<HTMLAttributes<HTMLDivElement>, \"children\" | \"onResize\">;\n\ntype State = {\n height: number;\n scaledHeight: number;\n scaledWidth: number;\n width: number;\n};\n\ntype ResizeHandler = (element: HTMLElement, onResize: () => void) => void;\n\ntype DetectElementResize = {\n addResizeListener: ResizeHandler;\n removeResizeListener: ResizeHandler;\n};\n\nexport class AutoSizer extends Component<Props, State> {\n static defaultProps = {\n onResize: () => {},\n disableHeight: false,\n disableWidth: false,\n style: {},\n };\n\n state = {\n height: this.props.defaultHeight || 0,\n scaledHeight: this.props.defaultHeight || 0,\n scaledWidth: this.props.defaultWidth || 0,\n width: this.props.defaultWidth || 0,\n };\n\n _autoSizer: HTMLElement | null = null;\n _detectElementResize: DetectElementResize | null = null;\n _parentNode: HTMLElement | null = null;\n _resizeObserver: ResizeObserver | null = null;\n\n componentDidMount() {\n const { nonce } = this.props;\n\n if (\n this._autoSizer &&\n this._autoSizer.parentNode &&\n this._autoSizer.parentNode.ownerDocument &&\n this._autoSizer.parentNode.ownerDocument.defaultView &&\n this._autoSizer.parentNode instanceof\n this._autoSizer.parentNode.ownerDocument.defaultView.HTMLElement\n ) {\n // Delay access of parentNode until mount.\n // This handles edge-cases where the component has already been unmounted before its ref has been set,\n // As well as libraries like react-lite which have a slightly different lifecycle.\n this._parentNode = this._autoSizer.parentNode;\n\n // Defer requiring resize handler in order to support server-side rendering.\n // See issue #41\n if (this._parentNode != null) {\n if (typeof ResizeObserver !== \"undefined\") {\n this._resizeObserver = new ResizeObserver(() => {\n // Guard against \"ResizeObserver loop limit exceeded\" error;\n // could be triggered if the state update causes the ResizeObserver handler to run long.\n // See https://github.com/bvaughn/react-virtualized-auto-sizer/issues/55\n setTimeout(this._onResize, 0);\n });\n this._resizeObserver.observe(this._parentNode);\n } else {\n this._detectElementResize = createDetectElementResize(\n nonce\n ) as DetectElementResize;\n this._detectElementResize.addResizeListener(\n this._parentNode,\n this._onResize\n );\n }\n\n this._onResize();\n }\n }\n }\n\n componentWillUnmount() {\n if (this._parentNode) {\n if (this._detectElementResize) {\n this._detectElementResize.removeResizeListener(\n this._parentNode,\n this._onResize\n );\n }\n\n if (this._resizeObserver) {\n this._resizeObserver.observe(this._parentNode);\n this._resizeObserver.disconnect();\n }\n }\n }\n\n render(): ReactElement {\n const {\n children,\n defaultHeight,\n defaultWidth,\n disableHeight,\n disableWidth,\n nonce,\n onResize,\n style,\n tagName = \"div\",\n ...rest\n } = this.props;\n\n const { height, scaledHeight, scaledWidth, width } = this.state;\n\n // Outer div should not force width/height since that may prevent containers from shrinking.\n // Inner component should overflow and use calculated width/height.\n // See issue #68 for more information.\n const outerStyle: CSSProperties = { overflow: \"visible\" };\n const childParams: Size = {};\n\n // Avoid rendering children before the initial measurements have been collected.\n // At best this would just be wasting cycles.\n let bailoutOnChildren = false;\n\n if (!disableHeight) {\n if (height === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.height = 0;\n childParams.height = height;\n childParams.scaledHeight = scaledHeight;\n }\n\n if (!disableWidth) {\n if (width === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.width = 0;\n childParams.width = width;\n childParams.scaledWidth = scaledWidth;\n }\n\n return createElement(\n tagName,\n {\n ref: this._setRef,\n style: {\n ...outerStyle,\n ...style,\n },\n ...rest,\n },\n !bailoutOnChildren && children(childParams)\n );\n }\n\n _onResize = () => {\n const { disableHeight, disableWidth, onResize } = this.props;\n\n if (this._parentNode) {\n // Guard against AutoSizer component being removed from the DOM immediately after being added.\n // This can result in invalid style values which can result in NaN values if we don't handle them.\n // See issue #150 for more context.\n\n const style = window.getComputedStyle(this._parentNode) || {};\n const paddingLeft = parseInt(style.paddingLeft ?? \"0\", 10);\n const paddingRight = parseInt(style.paddingRight ?? \"0\", 10);\n const paddingTop = parseInt(style.paddingTop ?? \"0\", 10);\n const paddingBottom = parseInt(style.paddingBottom ?? \"0\", 10);\n\n const rect = this._parentNode.getBoundingClientRect();\n const scaledHeight = rect.height - paddingTop - paddingBottom;\n const scaledWidth = rect.width - paddingLeft - paddingRight;\n\n const height = this._parentNode.offsetHeight - paddingTop - paddingBottom;\n const width = this._parentNode.offsetWidth - paddingLeft - paddingRight;\n\n if (\n (!disableHeight &&\n (this.state.height !== height ||\n this.state.scaledHeight !== scaledHeight)) ||\n (!disableWidth &&\n (this.state.width !== width ||\n this.state.scaledWidth !== scaledWidth))\n ) {\n this.setState({\n height,\n width,\n scaledHeight,\n scaledWidth,\n });\n\n if (typeof onResize === \"function\") {\n onResize({ height, scaledHeight, scaledWidth, width });\n }\n }\n }\n };\n\n _setRef = (autoSizer: HTMLElement | null) => {\n this._autoSizer = autoSizer;\n };\n}\n","/**\n * Detect Element Resize.\n * https://github.com/sdecima/javascript-detect-element-resize\n * Sebastian Decima\n *\n * Forked from version 0.5.3; includes the following modifications:\n * 1) Guard against unsafe 'window' and 'document' references (to support SSR).\n * 2) Defer initialization code via a top-level function wrapper (to support SSR).\n * 3) Avoid unnecessary reflows by not measuring size for scroll events bubbling from children.\n * 4) Add nonce for style element.\n **/\n\n// Check `document` and `window` in case of server-side rendering\nlet windowObject;\nif (typeof window !== \"undefined\") {\n windowObject = window;\n\n // eslint-disable-next-line no-restricted-globals\n} else if (typeof self !== \"undefined\") {\n // eslint-disable-next-line no-restricted-globals\n windowObject = self;\n} else {\n windowObject = global;\n}\n\nlet cancelFrame = null;\nlet requestFrame = null;\n\nconst TIMEOUT_DURATION = 20;\n\nconst clearTimeoutFn = windowObject.clearTimeout;\nconst setTimeoutFn = windowObject.setTimeout;\n\nconst cancelAnimationFrameFn =\n windowObject.cancelAnimationFrame ||\n windowObject.mozCancelAnimationFrame ||\n windowObject.webkitCancelAnimationFrame;\n\nconst requestAnimationFrameFn =\n windowObject.requestAnimationFrame ||\n windowObject.mozRequestAnimationFrame ||\n windowObject.webkitRequestAnimationFrame;\n\nif (cancelAnimationFrameFn == null || requestAnimationFrameFn == null) {\n // For environments that don't support animation frame,\n // fallback to a setTimeout based approach.\n cancelFrame = clearTimeoutFn;\n requestFrame = function requestAnimationFrameViaSetTimeout(callback) {\n return setTimeoutFn(callback, TIMEOUT_DURATION);\n };\n} else {\n // Counter intuitively, environments that support animation frames can be trickier.\n // Chrome's \"Throttle non-visible cross-origin iframes\" flag can prevent rAFs from being called.\n // In this case, we should fallback to a setTimeout() implementation.\n cancelFrame = function cancelFrame([animationFrameID, timeoutID]) {\n cancelAnimationFrameFn(animationFrameID);\n clearTimeoutFn(timeoutID);\n };\n requestFrame = function requestAnimationFrameWithSetTimeoutFallback(\n callback\n ) {\n const animationFrameID = requestAnimationFrameFn(\n function animationFrameCallback() {\n clearTimeoutFn(timeoutID);\n callback();\n }\n );\n\n const timeoutID = setTimeoutFn(function timeoutCallback() {\n cancelAnimationFrameFn(animationFrameID);\n callback();\n }, TIMEOUT_DURATION);\n\n return [animationFrameID, timeoutID];\n };\n}\n\nfunction createDetectElementResize(nonce) {\n let animationKeyframes;\n let animationName;\n let animationStartEvent;\n let animationStyle;\n let checkTriggers;\n let resetTriggers;\n let scrollListener;\n\n const attachEvent = typeof document !== \"undefined\" && document.attachEvent;\n if (!attachEvent) {\n resetTriggers = function (element) {\n const triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + \"px\";\n expandChild.style.height = expand.offsetHeight + 1 + \"px\";\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n checkTriggers = function (element) {\n return (\n element.offsetWidth !== element.__resizeLast__.width ||\n element.offsetHeight !== element.__resizeLast__.height\n );\n };\n\n scrollListener = function (e) {\n // Don't measure (which forces) reflow for scrolls that happen inside of children!\n if (\n e.target.className &&\n typeof e.target.className.indexOf === \"function\" &&\n e.target.className.indexOf(\"contract-trigger\") < 0 &&\n e.target.className.indexOf(\"expand-trigger\") < 0\n ) {\n return;\n }\n\n const element = this;\n resetTriggers(this);\n if (this.__resizeRAF__) {\n cancelFrame(this.__resizeRAF__);\n }\n this.__resizeRAF__ = requestFrame(function animationFrame() {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n element.__resizeListeners__.forEach(function forEachResizeListener(\n fn\n ) {\n fn.call(element, e);\n });\n }\n });\n };\n\n /* Detect CSS Animations support to detect element display/re-attach */\n let animation = false;\n let keyframeprefix = \"\";\n animationStartEvent = \"animationstart\";\n const domPrefixes = \"Webkit Moz O ms\".split(\" \");\n let startEvents =\n \"webkitAnimationStart animationstart oAnimationStart MSAnimationStart\".split(\n \" \"\n );\n let pfx = \"\";\n {\n const elm = document.createElement(\"fakeelement\");\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (let i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + \"AnimationName\"] !== undefined) {\n pfx = domPrefixes[i];\n keyframeprefix = \"-\" + pfx.toLowerCase() + \"-\";\n animationStartEvent = startEvents[i];\n animation = true;\n break;\n }\n }\n }\n }\n\n animationName = \"resizeanim\";\n animationKeyframes =\n \"@\" +\n keyframeprefix +\n \"keyframes \" +\n animationName +\n \" { from { opacity: 0; } to { opacity: 0; } } \";\n animationStyle = keyframeprefix + \"animation: 1ms \" + animationName + \"; \";\n }\n\n const createStyles = function (doc) {\n if (!doc.getElementById(\"detectElementResize\")) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n const css =\n (animationKeyframes ? animationKeyframes : \"\") +\n \".resize-triggers { \" +\n (animationStyle ? animationStyle : \"\") +\n \"visibility: hidden; opacity: 0; } \" +\n '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = doc.head || doc.getElementsByTagName(\"head\")[0],\n style = doc.createElement(\"style\");\n\n style.id = \"detectElementResize\";\n style.type = \"text/css\";\n\n if (nonce != null) {\n style.setAttribute(\"nonce\", nonce);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(doc.createTextNode(css));\n }\n\n head.appendChild(style);\n }\n };\n\n const addResizeListener = function (element, fn) {\n if (attachEvent) {\n element.attachEvent(\"onresize\", fn);\n } else {\n if (!element.__resizeTriggers__) {\n const doc = element.ownerDocument;\n const elementStyle = windowObject.getComputedStyle(element);\n if (elementStyle && elementStyle.position === \"static\") {\n element.style.position = \"relative\";\n }\n createStyles(doc);\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = doc.createElement(\"div\")).className =\n \"resize-triggers\";\n const expandTrigger = doc.createElement(\"div\");\n expandTrigger.className = \"expand-trigger\";\n expandTrigger.appendChild(doc.createElement(\"div\"));\n const contractTrigger = doc.createElement(\"div\");\n contractTrigger.className = \"contract-trigger\";\n element.__resizeTriggers__.appendChild(expandTrigger);\n element.__resizeTriggers__.appendChild(contractTrigger);\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n element.addEventListener(\"scroll\", scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n if (animationStartEvent) {\n element.__resizeTriggers__.__animationListener__ =\n function animationListener(e) {\n if (e.animationName === animationName) {\n resetTriggers(element);\n }\n };\n element.__resizeTriggers__.addEventListener(\n animationStartEvent,\n element.__resizeTriggers__.__animationListener__\n );\n }\n }\n element.__resizeListeners__.push(fn);\n }\n };\n\n const removeResizeListener = function (element, fn) {\n if (attachEvent) {\n element.detachEvent(\"onresize\", fn);\n } else {\n element.__resizeListeners__.splice(\n element.__resizeListeners__.indexOf(fn),\n 1\n );\n if (!element.__resizeListeners__.length) {\n element.removeEventListener(\"scroll\", scrollListener, true);\n if (element.__resizeTriggers__.__animationListener__) {\n element.__resizeTriggers__.removeEventListener(\n animationStartEvent,\n element.__resizeTriggers__.__animationListener__\n );\n element.__resizeTriggers__.__animationListener__ = null;\n }\n try {\n element.__resizeTriggers__ = !element.removeChild(\n element.__resizeTriggers__\n );\n } catch (e) {\n // Preact compat; see developit/preact-compat/issues/228\n }\n }\n }\n };\n\n return {\n addResizeListener,\n removeResizeListener,\n };\n}\n\nmodule.exports = { createDetectElementResize };\n"],"names":["AutoSizer","Props","Size","Component","createElement","CSSProperties","HTMLAttributes","ReactElement","createDetectElementResize","height","width","scaledHeight","scaledWidth","children","size","defaultHeight","defaultWidth","disableHeight","disableWidth","nonce","onResize","tagName","Omit","HTMLDivElement","State","ResizeHandler","element","HTMLElement","DetectElementResize","addResizeListener","removeResizeListener","constructor","args","_defineProperty","props","_parentNode","_style$paddingLeft","_style$paddingRight","_style$paddingTop","_style$paddingBottom","style","window","getComputedStyle","paddingLeft","parseInt","paddingRight","paddingTop","paddingBottom","rect","getBoundingClientRect","offsetHeight","offsetWidth","state","setState","autoSizer","_autoSizer","componentDidMount","parentNode","ownerDocument","defaultView","ResizeObserver","_resizeObserver","setTimeout","_onResize","observe","_detectElementResize","componentWillUnmount","disconnect","render","rest","outerStyle","overflow","childParams","bailoutOnChildren","ref","_setRef","windowObject","self","global","cancelFrame","requestFrame","TIMEOUT_DURATION","clearTimeoutFn","clearTimeout","setTimeoutFn","cancelAnimationFrameFn","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","requestAnimationFrameFn","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","requestAnimationFrameViaSetTimeout","callback","animationFrameID","timeoutID","requestAnimationFrameWithSetTimeoutFallback","animationFrameCallback","timeoutCallback","animationKeyframes","animationName","animationStartEvent","animationStyle","checkTriggers","resetTriggers","scrollListener","attachEvent","document","triggers","__resizeTriggers__","expand","firstElementChild","contract","lastElementChild","expandChild","scrollLeft","scrollWidth","scrollTop","scrollHeight","__resizeLast__","e","target","className","indexOf","__resizeRAF__","animationFrame","__resizeListeners__","forEach","forEachResizeListener","fn","call","animation","keyframeprefix","domPrefixes","split","startEvents","pfx","elm","undefined","i","length","toLowerCase","createStyles","doc","getElementById","css","head","getElementsByTagName","id","type","setAttribute","styleSheet","cssText","appendChild","createTextNode","elementStyle","position","expandTrigger","contractTrigger","addEventListener","__animationListener__","animationListener","push","detachEvent","splice","removeEventListener","removeChild","module","exports"],"version":3,"file":"react-virtualized-auto-sizer.js.map"}
\No newline at end of file