{"version":3,"sources":["webpack:///./src/js/constants.js","webpack:///./src/js/components/Spinner.js","webpack:///./src/js/modules/document-cart/hooks/useDocumentCart.js","webpack:///./src/js/modules/document-cart/DocumentCart.js","webpack:///./src/js/modules/document-cart/index.js"],"names":["KEYS","END","HOME","LEFT","UP","RIGHT","DOWN","ENTER","ESC","TAB","SPACE","KEYS_DIRECTION","37","38","39","40","Spinner","props","loading","React","className","documentCache","useDocumentCart","docsInCart","current","labels","useRef","JSON","parse","docsBtnString","setDocsBtnString","useState","myDocuments","docs","setDocs","errorMessage","setErrorMessage","isLoading","setIsLoading","showCartModal","setShowCartModal","showDocsButton","setShowDocsButton","showEmailButton","setShowEmailButton","useEffect","documentCartBtn","document","querySelector","chatBotElement","style","transform","blur","getDocsInCart","window","localStorage","getItem","length","errorMessageTooManyDocs","handleKeyDown","keyCode","emailModal","setAttribute","body","_$","overflow","_on","removeEventListener","handleClearAll","e","removeItem","dispatchEvent","Event","handleCloseClick","isCloseButton","currentTarget","classList","contains","isModalBackdrop","target","handleDeleteClick","idx","parseInt","dataset","splice","setItem","stringify","handleEmailClick","modal","getElementById","closeModal","backdrop","addEventListener","replacedEmailTemplate","emailTemplate","replaceAll","documentList","forEach","$doc","url","docUrl","encodeURIComponent","emailContents","replace","open","handleExportClick","zip","JSZip","zipFilename","count","urlArr","split","extension","filename","sanitize","docName","substring","file","binary","generateAsync","type","then","content","saveAs","cacheBustUrl","includes","Date","getTime","JSZipUtils","getBinaryContent","err","data","handleDocsButtonClick","DocumentCart","_b","_a","__spreadValues","config","__objRest","FocusTrap","active","focusTrapOptions","fallbackFocus","activeElement","clickOutsideDeactivates","allowOutsideClick","aria-hidden","onClick","role","aria-label","tabIndex","title","height","viewBox","width","xlinkHref","map","$item","$i","key","docType","removeFromCart","data-idx","String","export","disabled","email","clearAll","id","dangerouslySetInnerHTML","__html","modalMessage","Module"],"mappings":"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","file":"39.3b7275bd9fb7589df898.js?v=342d8be4c2d3922164ca","sourcesContent":["export const KEYS = {\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n ENTER: 13,\n ESC: 27,\n TAB: 9,\n SPACE: 32\n};\n\nexport const KEYS_DIRECTION = {\n 37: -1,\n 38: -1,\n 39: 1,\n 40: 1\n};\n","import React from 'react';\n\nconst Spinner = props => {\n return props.loading ? (\n
\n
\n
\n
\n ) : null;\n};\n\nexport default Spinner;\n","import { useState, useRef, useEffect } from 'react';\nimport Cookies from 'js-cookie';\nimport JSZip from 'jszip';\nimport JSZipUtils from 'jszip-utils';\nimport saveAs from 'save-as';\nimport sanitize from 'sanitize-filename';\nimport { KEYS } from '../../../constants';\n\n// Document cache to avoid redundant downloads\nconst documentCache = {};\n\nfunction useDocumentCart(props) {\n let docsInCart = [];\n\n const { current: labels } = useRef(JSON.parse(props.labels));\n const [docsBtnString, setDocsBtnString] = useState(labels.myDocuments);\n const [docs, setDocs] = useState(docsInCart);\n const [errorMessage, setErrorMessage] = useState(null);\n const [isLoading, setIsLoading] = useState(false);\n const [showCartModal, setShowCartModal] = useState(false);\n const [showDocsButton, setShowDocsButton] = useState(false);\n const [showEmailButton, setShowEmailButton] = useState(true);\n\n useEffect(() => {\n const documentCartBtn = document.querySelector('.document-cart__btn');\n const chatBotElement = document.querySelector('#gaf-genius-widget-root');\n if (!chatBotElement || !documentCartBtn) return;\n\n if (!showCartModal || !showDocsButton) {\n documentCartBtn.blur();\n chatBotElement.style.transform = 'none';\n } else if (showCartModal) {\n chatBotElement.style.transform = 'translateX(0)';\n }\n }, [showDocsButton, showCartModal]);\n\n const getDocsInCart = () => {\n //docsInCart = Cookies.get('siplast_docs');\n docsInCart = window.localStorage.getItem('siplast_docs');\n docsInCart ? (docsInCart = JSON.parse(docsInCart)) : (docsInCart = []);\n\n if (docsInCart?.length >= 1) {\n setShowDocsButton(true);\n } else {\n setShowDocsButton(false);\n setShowCartModal(false);\n }\n\n if (docsInCart?.length <= 10) {\n // The number of 10 max documents was decided by the client to meet the 2000 character limit.\n setShowEmailButton(true);\n setErrorMessage('');\n } else {\n setShowEmailButton(false);\n //TODO: Show error message and disable button\n setErrorMessage(labels.errorMessageTooManyDocs);\n }\n\n setDocs(docsInCart);\n\n setDocsBtnString(`${labels.myDocuments} (${docsInCart?.length})`);\n };\n\n const handleDocsButtonClick = e => {\n setShowCartModal(true);\n };\n\n const handleClearAll = e => {\n //Cookies.set('siplast_docs', JSON.stringify([]), { expires: 36500 });\n window.localStorage.removeItem('siplast_docs');\n window.dispatchEvent(new Event('removedfromcart'));\n getDocsInCart();\n };\n\n const handleCloseClick = e => {\n const isCloseButton = e.currentTarget.classList.contains(\n 'modal__close-button'\n );\n\n const isModalBackdrop = e.target.classList.contains('document-cart');\n if (isCloseButton || isModalBackdrop) {\n setShowCartModal(false);\n }\n };\n\n const handleDeleteClick = e => {\n const idx = parseInt(e.currentTarget.dataset.idx);\n\n setDocs(docs.splice(idx, 1));\n //Cookies.set('siplast_docs', JSON.stringify(docs), { expires: 36500 });\n window.localStorage.setItem('siplast_docs', JSON.stringify(docs));\n window.dispatchEvent(new Event('removedfromcart'));\n getDocsInCart();\n };\n\n const handleEmailClick = e => {\n const modal = document.getElementById('document-cart-modal');\n const closeModal = document.querySelector(\n '#document-cart-modal .modal__close-button'\n );\n const backdrop = document.querySelector(\n '#document-cart-modal .modal__backdrop'\n );\n modal.setAttribute('aria-hidden', 'false');\n\n closeModal.addEventListener(\n 'click',\n () => {\n modal.setAttribute('aria-hidden', 'true');\n },\n false\n );\n\n backdrop.addEventListener('click', e => {\n if (e.target === backdrop) {\n modal.setAttribute('aria-hidden', 'true');\n }\n });\n\n const emailTemplate = labels.emailTemplate;\n const replacedEmailTemplate = emailTemplate.replaceAll('\\n', '%0D%0A'); // %0D%0A is the accepted new line character\n let documentList = '';\n\n docs.forEach($doc => {\n let url = $doc.docUrl;\n url = encodeURIComponent(url);\n documentList += `${url}%0D%0A`;\n });\n\n const emailContents = replacedEmailTemplate.replace(\n 'URL_LIST_TOKEN',\n documentList\n );\n //Use for same page opening\n //window.location.href=`mailto:?body=${emailContents}`;\n //Use for new tab opening\n window.open(`mailto:%20?body=${emailContents}`, '_blank');\n\n //TODO: Show modal here\n };\n\n const handleExportClick = e => {\n const zip = new JSZip();\n const zipFilename = labels.zipFilename;\n let count = 0;\n\n setIsLoading(true);\n\n docs.forEach($doc => {\n const url = $doc.docUrl;\n const urlArr = url.split('.');\n const extension = urlArr[urlArr.length - 1];\n\n // Max length of a pathname usually is 256 characters. As all these files are going to be\n // inside a zip file and we don't know where is going to be extracted, I set a limit of\n // 128 characters (half of max length) for each file inside the zip. Plus, as the filename\n // is taken from the document name, I sanitize in case of not allowed characters\n const filename = `${sanitize($doc.docName).substring(\n 0,\n 124\n )}.${extension}`;\n\n try {\n // Check if document is already in cache\n if (documentCache[url]) {\n // Use cached document data\n zip.file(filename, documentCache[url], { binary: true });\n count++;\n\n if (count === docs.length) {\n zip.generateAsync({ type: 'blob' }).then(content => {\n saveAs(content, zipFilename);\n });\n\n setErrorMessage(null);\n setIsLoading(false);\n }\n } else {\n // Add cache-busting parameter to prevent browser caching issues\n const cacheBustUrl = url.includes('?')\n ? `${url}&_nocache=${new Date().getTime()}`\n : `${url}?_nocache=${new Date().getTime()}`;\n\n // Fetch document and cache it\n JSZipUtils.getBinaryContent(cacheBustUrl, (err, data) => {\n if (err) {\n setErrorMessage(`${labels.errorMessage} (${err})`);\n setIsLoading(false);\n return;\n }\n\n // Store in cache for future use\n documentCache[url] = data;\n zip.file(filename, data, { binary: true });\n count++;\n\n if (count === docs.length) {\n zip.generateAsync({ type: 'blob' }).then(content => {\n saveAs(content, zipFilename);\n });\n\n setErrorMessage(null);\n setIsLoading(false);\n }\n });\n }\n } catch (err) {\n setErrorMessage(`${labels.errorMessage} (${err})`);\n setIsLoading(false);\n }\n });\n };\n\n const handleKeyDown = ({ keyCode }) => {\n if (keyCode === KEYS.ESC) {\n const emailModal = document.querySelector(\n '#document-cart-modal[aria-hidden=\"false\"]'\n );\n if (emailModal) {\n emailModal.setAttribute('aria-hidden', 'true');\n } else {\n setShowCartModal(false);\n }\n }\n };\n\n useEffect(getDocsInCart, []);\n\n // we use this to avoid having two simultaneous scrollbars\n useEffect(() => {\n const body = document._$('body');\n showCartModal\n ? (body.style.overflow = 'hidden')\n : (body.style.overflow = 'visible');\n }, [showCartModal]);\n\n useEffect(() => {\n window._on('addtocartclick', getDocsInCart);\n window._on('keydown', handleKeyDown);\n\n return () => {\n window.removeEventListener('addtocartclick', getDocsInCart);\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n return {\n docsBtnString,\n docs,\n errorMessage,\n isLoading,\n labels,\n showCartModal,\n showDocsButton,\n showEmailButton,\n handleClearAll,\n handleCloseClick,\n handleDeleteClick,\n handleEmailClick,\n handleExportClick,\n handleDocsButtonClick,\n handleKeyDown,\n setShowCartModal\n };\n}\n\nexport default useDocumentCart;\n","import React from 'react';\nimport useDocumentCart from './hooks/useDocumentCart';\nimport FocusTrap from 'focus-trap-react';\nimport Spinner from '../../components/Spinner';\n\nfunction DocumentCart(props) {\n const { labels, ...config } = useDocumentCart({ ...props });\n\n return (\n <>\n \n \n \n
\n

{config.docsBtnString}

\n \n \n \n \n \n
\n
    \n {config.errorMessage ? (
  • {config.errorMessage}
  • ) : ''}\n {\n config.docs?.map(($item, $i) => (\n
  • \n
    \n

    {$item.docType}

    \n \n \n \n \n \n
    \n

    {$item.docName}

    \n
  • \n ))\n }\n
\n
\n
\n \n {labels.export}\n \n \n \n \n \n {labels.email}\n \n \n \n \n
\n {labels.clearAll}\n
\n
\n
\n
\n
\n

\n \n
\n
\n \n
\n
\n
\n
\n \n\n
\n {config.docsBtnString}\n \n \n );\n}\n\nexport default DocumentCart;\n","import Module from './DocumentCart';\n\nexport default Module;\n"],"sourceRoot":""}