{"version":3,"sources":["jsdelivr-header.js","/npm/infinite-scrolling-js@1.0.5/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OCNS,YAAa,UAAW,WAAc,uBAEhC,SAAS,kBACtB,EACA,EACA,GAAU,EACV,EACA,EAAU,IAEV,MAAM,EAAW,SAEX,EAAiB,aACpB,IACK,GAAU,SAAS,GAAU,SAAS,aAC1C,EAAS,QAAU,IAAI,sBAAsB,IACvC,IAAU,IAAI,gBAAkB,GAClC,GAAgB,GAAmB,EAAiB,GACtD,IAEE,GAAM,GAAU,SAAS,QAAQ,EAAK,GAG5C,CAAC,EAAS,IAQZ,OALA,WAAU,KACR,GAAe,EAAY,EAAY,GAEtC,CAAC,IAEG,CAAE,iBACX","file":"/npm/infinite-scrolling-js@1.0.5/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/infinite-scrolling-js@1.0.5/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { useCallback, useEffect, useRef } from \"react\";\r\n\r\nexport default function useInfiniteScroll(\r\n  currentPage,\r\n  setCurrentPage,\r\n  hasMore = false,\r\n  callBackAPI,\r\n  results = []\r\n) {\r\n  const observer = useRef();\r\n\r\n  const lastElementRef = useCallback(\r\n    (node) => {\r\n      if (observer?.current) observer?.current?.disconnect();\r\n      observer.current = new IntersectionObserver((entries) => {\r\n        if (entries?.[0]?.isIntersecting && hasMore) {\r\n          setCurrentPage((prevPageNumber) => prevPageNumber + 1);\r\n        }\r\n      });\r\n      if (node) observer?.current?.observe(node);\r\n    },\r\n    // eslint-disable-next-line react-hooks/exhaustive-deps\r\n    [results, hasMore]\r\n  );\r\n\r\n  useEffect(() => {\r\n    callBackAPI && callBackAPI(currentPage);\r\n    // eslint-disable-next-line react-hooks/exhaustive-deps\r\n  }, [currentPage]);\r\n\r\n  return { lastElementRef };\r\n}\r\n"]}