"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("primereact/api"),t=require("primereact/componentbase"),n=require("primereact/hooks"),l=require("primereact/utils");function o(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var a=o(e);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var r=1;re.length)&&(r=e.length);for(var t=0,n=Array(r);t=L.current.length);e++)P.current.push(L.current[e]);0!==L.current.length&&(A.current=A.current+h.rows),O(m(P.current))}},T=function(){A.current=0,P.current=[],O(m(P.current)),R()},U=function(){return{first:A.current,rows:h.rows}},_=function(){h.inline?(z.current=function(){N.current.scrollTop>=N.current.scrollHeight*h.buffer-N.current.clientHeight&&R()},N.current.addEventListener("scroll",z.current)):(z.current=function(){var e=document.body,r=document.documentElement,t=window.pageYOffset||document.documentElement.scrollTop,n=r.clientHeight;t>=Math.max(e.scrollHeight,e.offsetHeight,n,r.scrollHeight,r.offsetHeight)*h.buffer-n&&R()},window.addEventListener("scroll",z.current))},I=function(){z.current&&(h.inline&&N.current?N.current.removeEventListener("scroll",z.current):h.loader||window.removeEventListener("scroll",z.current)),z.current=null};n.useMountEffect((function(){R(),h.loader||_()})),n.useUpdateEffect((function(){h.value&&(L.current=h.value,h.lazy||(A.current=0),P.current=[],h.lazy?(P.current=L.current,O(m(P.current))):R())}),[h.value]),n.useUpdateEffect((function(){h.loader?I():_()}),[h.loader]),n.useUnmountEffect((function(){z.current&&I()})),a.useImperativeHandle(o,(function(){return{props:h,load:R,reset:T,getElement:function(){return M.current},getContent:function(){return N.current}}}));var q,C,D=function(e,r){var t=S("item"),n=h.itemTemplate?h.itemTemplate(e):e;return a.createElement("li",c({},t,{key:r+"_datascrollitem"}),n)},k=function(){var e=s(S("emptyMessage")),t=l.ObjectUtils.getJSXElement(h.emptyMessage,h)||r.localeOption("emptyMessage");return a.createElement("li",e,t)},Y=(q=s({className:x("header")},S("header")),h.header?a.createElement("div",q,h.header):null),B=(C=s({className:x("footer")},S("footer")),h.footer?a.createElement("div",C,h.footer):null),J=function(){var e=s({ref:N,className:x("content"),style:H("content")},S("content")),r=s({className:x("list")},S("list")),t=l.ObjectUtils.isNotEmpty(w)?w.map(D):k();return a.createElement("div",e,a.createElement("ul",r,t))}(),X=s({id:h.id,ref:M,className:l.classNames(h.className,x("root"))},g.getOtherProps(h),S("root"));return a.createElement("div",X,Y,J,B)})));h.displayName="DataScroller",exports.DataScroller=h;