{"version":3,"file":"GeneralDocumentsContainer-Bfzwa7sl-chunk.js","sources":["../../../src/components/public-site/page/document-center/GeneralDocumentsDrawer.jsx","../../../src/components/public-site/page/document-center/GeneralDocumentsContainer.jsx"],"sourcesContent":["import { React, Fragment, useState, useEffect, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport BodyMask from \"components/utility/body-mask/BodyMask\";\nimport AccordionDrawer from \"./AccordionDrawer\";\nimport DocumentLink from \"./DocumentLink\";\nimport ImageDownload from \"components/utility/images/ImageDownload\";\nimport ImageLinkOut from \"components/utility/images/ImageLinkOut\";\nimport { isDesktop } from \"components/utility/page-responsive/PageResponsive\";\n\nconst GeneralDocumentsDrawer = (props) => {\n\tconst [genDocsDrawerHeight, setGenDocsDrawerHeight] = useState(0);\n\tconst [isDesktopWidth, setIsDesktopWidth] = useState(0);\n\tconst [isExpanded, setIsExpanded] = useState(false);\n\tconst [scrollProps, setScrollProperties] = useState({\n\t\tscrollTop: null,\n\t\toriginalStyles: null\n\t});\n\n\tconst data = props.data ? props.data : null;\n\tconst links = props.data ? props.data.links : null;\n\tconst rowRepeatCount = links ? Math.ceil(links.length / 2) : 0;\n\tconst listItemIcon = (type) => {\n\t\tif (type === \"download\") {\n\t\t\treturn ;\n\t\t}\n\t\tif (type === \"external\") {\n\t\t\treturn ;\n\t\t}\n\t\treturn null; // no icon for internal links\n\t};\n\n\tconst toggleDrawer = () => {\n\t\tsetIsExpanded(!isExpanded);\n\t\ttoggleScroll(!isExpanded);\n\t};\n\n\tconst toggleScroll = (disable) => {\n\t\tconst scrollContainer = document.scrollingElement || document.documentElement;\n\t\tif (disable) {\n\t\t\t// disable scroll\n\t\t\tconst scrollTop = scrollContainer.scrollTop;\n\t\t\tconst originalStyles = document.body.style.cssText; // preserve styles for enable scroll\n\t\t\tsetScrollProperties({\n\t\t\t\tscrollTop,\n\t\t\t\toriginalStyles\n\t\t\t});\n\t\t\tdocument.body.style.cssText =\n\t\t\t\t\";\" +\n\t\t\t\t(\"overflow: hidden; position: fixed; height: 100%; width: 100%; top: \" +\n\t\t\t\t\t-scrollTop +\n\t\t\t\t\t\"px; \");\n\t\t} else {\n\t\t\t// enable scroll\n\t\t\tdocument.body.style.cssText = scrollProps.originalStyles;\n\t\t\tscrollContainer.scrollTop = scrollProps.scrollTop;\n\t\t}\n\t};\n\n\tconst page = document.querySelector(\".main\");\n\tconst genDocsDrawerRef = useRef(null);\n\tconst footer = document.querySelector(\"footer\");\n\n\tuseEffect(() => {\n\t\tconst genDocsDrawer = genDocsDrawerRef?.current;\n\t\tconst setResponsive = () => {\n\t\t\tconst widthIsDesktop = isDesktop();\n\t\t\tsetIsDesktopWidth(widthIsDesktop);\n\t\t\tif (widthIsDesktop) {\n\t\t\t\tpage.style.paddingBottom = \"0px\"; // remove bottom page padding when drawer disappears upon resize to desktop\n\t\t\t}\n\t\t};\n\n\t\t// initialize isDesktopWidth on mount/page load\n\t\tif (isDesktopWidth === 0) {\n\t\t\tsetResponsive();\n\t\t}\n\t\twindow.addEventListener(\"resize\", setResponsive);\n\n\t\tconst footerIntersectionObserver = new IntersectionObserver((entries) => {\n\t\t\tentries.forEach((entry) => {\n\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\tpage.style.paddingBottom = \"0px\";\n\t\t\t\t\tgenDocsDrawer.style.position = \"static\";\n\t\t\t\t} else {\n\t\t\t\t\tpage.style.paddingBottom = genDocsDrawerHeight + \"px\";\n\t\t\t\t\tgenDocsDrawer.style.position = \"fixed\";\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tconst genDocsDrawerHeightObserver = new ResizeObserver((entries) => {\n\t\t\tentries.forEach((entry) => {\n\t\t\t\tsetGenDocsDrawerHeight(Math.floor(entry.contentRect.height));\n\t\t\t});\n\t\t});\n\n\t\t// Toggle general docs drawer activation if window width is <1024\n\t\tif (isDesktopWidth === false) {\n\t\t\tif (genDocsDrawer && page) {\n\t\t\t\tfooterIntersectionObserver.observe(footer);\n\t\t\t\tgenDocsDrawerHeightObserver.observe(genDocsDrawer);\n\t\t\t}\n\t\t}\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"resize\", setResponsive);\n\t\t\tfooterIntersectionObserver.disconnect(footer);\n\t\t\tgenDocsDrawerHeightObserver.disconnect(genDocsDrawer);\n\t\t};\n\t}, [genDocsDrawerRef, genDocsDrawerHeight, footer, page, isDesktopWidth]);\n\n\treturn data && links ? (\n\t\t\n\t\t\t toggleDrawer()}\n\t\t\t/>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{links.map((item, index) => {\n\t\t\t\t\t\t\tconst icon = listItemIcon(item.type);\n\t\t\t\t\t\t\treturn ;\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t) : null;\n};\n\nGeneralDocumentsDrawer.propTypes = {\n\tdata: PropTypes.shape({\n\t\ttitle: PropTypes.string,\n\t\tlinks: PropTypes.array\n\t})\n};\n\nexport default GeneralDocumentsDrawer;\n","import React from \"react\";\nimport DataContainer from \"components/utility/data-container/DataContainer\";\nimport GeneralDocumentsDrawer from \"./GeneralDocumentsDrawer\";\n\nconst GeneralDocumentsContainer = () => (\n\t\n\t\t\n\t\n);\n\nexport default GeneralDocumentsContainer;\n"],"names":["GeneralDocumentsDrawer","props","genDocsDrawerHeight","setGenDocsDrawerHeight","useState","isDesktopWidth","setIsDesktopWidth","isExpanded","setIsExpanded","scrollProps","setScrollProperties","data","links","rowRepeatCount","listItemIcon","type","ImageDownload","ImageLinkOut","toggleDrawer","toggleScroll","disable","scrollContainer","scrollTop","originalStyles","page","genDocsDrawerRef","useRef","footer","useEffect","genDocsDrawer","setResponsive","widthIsDesktop","isDesktop","footerIntersectionObserver","entries","entry","genDocsDrawerHeightObserver","jsxs","Fragment","jsx","BodyMask","AccordionDrawer","item","index","icon","DocumentLink","PropTypes","GeneralDocumentsContainer","DataContainer"],"mappings":"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"}