{"version":3,"file":"ContentPageActionsContent-COTgVvbn-chunk.js","sources":["../../../src/components/page/content-page/ContentPageActionsContent.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport ButtonIcon from \"components/utility/button/ButtonIcon\";\nimport ButtonIconDownload from \"components/utility/button/ButtonIconDownload\";\nimport ContentPageActionsShareModal from \"./ContentPageActionsShareModal\";\nimport { isMobile as checkIfIsMobile } from \"components/utility/page-responsive/PageResponsive\";\nimport BodyMask from \"components/utility/body-mask/BodyMask\";\nimport TooltipButton from \"components/utility/tooltip/TooltipButton\";\nimport { v1 as uuidv1 } from \"uuid\";\nimport { extractNameFromPageTitle } from \"components/utility/analytics/util\";\n\ninterface ContentPageActionsContentProps {\n\tdata: {\n\t\tisHeaderCollapsed: \"true\" | \"false\";\n\t\tshare;\n\t};\n\tdataset: {\n\t\thideShare: \"true\" | \"false\";\n\t\thideFavorite: \"true\" | \"false\";\n\t\thideDownload: \"true\" | \"false\";\n\t\tisCollectionPageTop: \"true\" | \"false\";\n\t\tisSupportingAsset: \"true\" | \"false\";\n\t\tcolor: \"teal\" | \"default\" | \"yellow\";\n\t\tdownloadUrl: string;\n\t\tisModule: string;\n\t\tisContentPageTop: string;\n\t\tisHeaderCollapsed: string;\n\t\ttitle: string;\n\t};\n\tisCollection: boolean;\n}\n\nconst ContentPageActionsContent = ({\n\tdata,\n\tdataset,\n\tisCollection\n}: React.PropsWithChildren) => {\n\tconst { share } = data ?? {};\n\tconst { isDisable } = share ?? \"\";\n\tconst {\n\t\tisContentPageTop = \"false\",\n\t\tisCollectionPageTop = \"false\",\n\t\ttitle,\n\t\tisHeaderCollapsed,\n\t\tisModule = \"false\",\n\t\tisSupportingAsset,\n\t\tcolor,\n\t\thideDownload,\n\t\thideFavorite,\n\t\tdownloadUrl = \"\",\n\t\thideShare\n\t} = dataset;\n\tlet className = useMemo(\n\t\t() => (isCollection ? \"collection-page\" : \"content-page\"),\n\t\t[isCollection]\n\t);\n\n\tconst [isLocked, setIsLocked] = useState(false);\n\tconst [isMobile, setIsMobile] = useState(false);\n\tconst [isModalOpen, setIsModalOpen] = useState(false);\n\tconst [toggle, setToggle] = useState(false);\n\tconst [closeButton, setCloseButton] = useState(false);\n\n\tconst handleWindowClick = (e) => {\n\t\tif (!e || !e.target) return;\n\t\tlet currentElement = e.target;\n\n\t\twhile (currentElement) {\n\t\t\tif (currentElement.classList.contains(\"info-popup-content\")) return;\n\t\t\tcurrentElement = currentElement.parentElement;\n\t\t}\n\n\t\tsetIsLocked(false);\n\n\t\twindow.removeEventListener(\"click\", handleWindowClick);\n\t};\n\n\tconst toggleLocked = () => {\n\t\tsetIsLocked(!isLocked);\n\n\t\tif (!isDisable) {\n\t\t\tsetIsModalOpen(!isModalOpen);\n\t\t\tif (isMobile) {\n\t\t\t\tsetToggle(false);\n\t\t\t}\n\t\t}\n\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tif (isLocked) {\n\t\t\t\twindow.addEventListener(\"click\", handleWindowClick);\n\t\t\t} else {\n\t\t\t\twindow.removeEventListener(\"click\", handleWindowClick);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst setOpenFlag = (flag) => {\n\t\tsetIsModalOpen(flag);\n\t};\n\n\tconst closeModal = (flag) => {\n\t\tsetTimeout(function () {\n\t\t\tsetIsModalOpen(!flag);\n\t\t}, 2000);\n\t};\n\n\tconst getButtons = () => {\n\t\tconst { isDisable, metaData } = data?.share ?? {};\n\n\t\tlet buttons: JSX.Element[] = [];\n\t\tlet isTop = isContentPageTop === \"true\" || isCollectionPageTop === \"true\" ? true : false;\n\t\tconst isHeaderCollapsed = dataset.isHeaderCollapsed === \"true\" ? true : false;\n\n\t\tif (hideFavorite.toLowerCase() !== \"true\") {\n\t\t\tbuttons.push(\n\t\t\t\t openModal(\"favorite\")}\n\t\t\t\t\tcolor={color || \"default\"}\n\t\t\t\t\tclassName={isCollection ? \" collection\" : \"\"}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (hideShare.toLowerCase() !== \"true\") {\n\t\t\tlet className = isDisable ? `button-icon-${color}-disable` : \"\";\n\t\t\tbuttons.push(\n\t\t\t\t\n\t\t\t\t\t{metaData && isDisable ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t null}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t openModal(\"share\")}\n\t\t\t\t\t\t\tcolor={color || \"default\"}\n\t\t\t\t\t\t\tclassName={className + (isCollection ? \" collection\" : \"\")}\n\t\t\t\t\t\t\tdataAEvt=\"Share Initiated\"\n\t\t\t\t\t\t\tdataAComp={\n\t\t\t\t\t\t\t\tisCollection\n\t\t\t\t\t\t\t\t\t? \"Utility Card\"\n\t\t\t\t\t\t\t\t\t: isHeaderCollapsed\n\t\t\t\t\t\t\t\t\t\t? \"Utility Navigation\"\n\t\t\t\t\t\t\t\t\t\t: \"Article Header\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdataAName={extractNameFromPageTitle(title)}\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\n\t\tif (hideDownload.toLowerCase() !== \"true\") {\n\t\t\tbuttons.push(\n\t\t\t\t null}\n\t\t\t\t\tdataAComp={\n\t\t\t\t\t\tisCollection\n\t\t\t\t\t\t\t? \"Utility Card\"\n\t\t\t\t\t\t\t: isSupportingAsset === \"true\"\n\t\t\t\t\t\t\t\t? \"Supporting Materials\"\n\t\t\t\t\t\t\t\t: isHeaderCollapsed\n\t\t\t\t\t\t\t\t\t? \"Utility Nav\"\n\t\t\t\t\t\t\t\t\t: \"Article Header\"\n\t\t\t\t\t}\n\t\t\t\t\tdataQASuffix={downloadUrl ? \"url\" : \"pdf-convertor\"}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn buttons;\n\t};\n\n\tconst getMobileButtons = () => {\n\t\tlet more: JSX.Element[] = [];\n\t\tlet isHidden = false;\n\t\tif (\n\t\t\thideFavorite.toLowerCase() === \"true\" &&\n\t\t\thideDownload.toLowerCase() === \"true\" &&\n\t\t\thideShare.toLowerCase() === \"true\"\n\t\t) {\n\t\t\tisHidden = true;\n\t\t}\n\t\tif (isModule === \"true\" && !isHidden) {\n\t\t\tmore.push(\n\t\t\t\t openModal(\"more\")}\n\t\t\t\t\tcolor={color || \"default\"}\n\t\t\t\t\tclassName={isCollection ? \" collection\" : \"\"}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn more;\n\t};\n\n\tconst keyHandler = (e) => {\n\t\tconst key = e.which || e.keyCode || 0;\n\t\tif (key === 13 || key === 32) {\n\t\t\topenModal(\"mask\");\n\t\t}\n\t};\n\n\tconst handleCloseButton = (flag) => {\n\t\tsetCloseButton(flag);\n\t\tif (!isDisable && isMobile && closeButton) {\n\t\t\tsetToggle(false);\n\t\t\tsetTimeout(function () {\n\t\t\t\tsetIsModalOpen(false);\n\t\t\t}, 2000);\n\t\t}\n\t};\n\n\tconst openModal = (type) => {\n\t\tif (type === \"mask\" || type === \"more\") {\n\t\t\tsetToggle(!toggle);\n\t\t} else if (type === \"share\") {\n\t\t\ttoggleLocked();\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tconst onResize = () => {\n\t\t\tsetIsMobile(checkIfIsMobile());\n\t\t};\n\n\t\twindow.addEventListener(\"load\", onResize);\n\t\twindow.addEventListener(\"resize\", onResize);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"load\", onResize);\n\t\t\twindow.removeEventListener(\"resize\", onResize);\n\t\t};\n\t}, []);\n\n\tif (isContentPageTop === \"true\" || isCollectionPageTop === \"true\") {\n\t\treturn (\n\t\t\t
\n\t\t\t\t openModal(\"mask\")}\n\t\t\t\t\tonKeyUp={(e) => keyHandler(e)}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t{getButtons()}\n\t\t\t\t
\n\t\t\t\t
{getMobileButtons()}
\n\t\t\t\t{!isDisable && isModalOpen ? (\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t
\n\t\t\t\t openModal(\"mask\")}\n\t\t\t\t\tonKeyUp={(e) => keyHandler(e)}\n\t\t\t\t/>\n\n\t\t\t\t\n\t\t\t\t\t{getButtons()}\n\t\t\t\t
\n\t\t\t\t
{getMobileButtons()}
\n\t\t\t\t{!isDisable && isModalOpen ? (\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\n\t\t);\n\t}\n};\nexport default ContentPageActionsContent;\n"],"names":["ContentPageActionsContent","data","dataset","isCollection","share","isDisable","isContentPageTop","isCollectionPageTop","title","isHeaderCollapsed","isModule","isSupportingAsset","color","hideDownload","hideFavorite","downloadUrl","hideShare","className","useMemo","isLocked","setIsLocked","useState","isMobile","setIsMobile","isModalOpen","setIsModalOpen","toggle","setToggle","closeButton","setCloseButton","handleWindowClick","currentElement","toggleLocked","setOpenFlag","flag","closeModal","getButtons","metaData","buttons","isTop","jsx","ButtonIcon","openModal","TooltipButton","uuidv1","extractNameFromPageTitle","ButtonIconDownload","getMobileButtons","more","isHidden","keyHandler","key","handleCloseButton","type","useEffect","onResize","checkIfIsMobile","jsxs","BodyMask","ContentPageActionsShareModal"],"mappings":"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"}