{"version":3,"file":"global_messages.c37b39a2.js","mappings":"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","sources":["webpack://fitflop-storefront/./core-app/grails-app/assets/javascripts/app/globalMessages/globalMessagesApp.js","webpack://fitflop-storefront/./core-app/grails-app/assets/javascripts/app/globalMessages/globalMessagesHooks.js","webpack://fitflop-storefront/./core-app/grails-app/assets/javascripts/app/globalMessages/globalMessagesRoot.js","webpack://fitflop-storefront/./core-app/grails-app/assets/javascripts/app/globalMessages/globalMessagesService.js","webpack://fitflop-storefront/./core-app/grails-app/assets/javascripts/app/utils/browserHelpers.js"],"sourcesContent":["import React, { useRef, useState, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport { getElementHeightNoPadding } from 'app/utils/helpers';\nimport { MAX_DISPLAY_TIME } from './globalMessagesConstants';\nimport './alerts.scss';\n\nconst GlobalMessagesApp = ({\n autoHide,\n customClass,\n headerSelector,\n sticky,\n message,\n messageId,\n type,\n onClose,\n stickyClass,\n values,\n showCloseButton,\n customColor,\n displayTime,\n customCloseButton,\n}) => {\n const intl = useIntl();\n const [isFadeOutInProcess, setIsFadeOutInProcess] = useState(false);\n const [isSticking, setIsSticking] = useState(false);\n\n const globalMessageDIV = useRef(null);\n\n const isOpen = !!message || !!messageId;\n\n const headerHeight = useMemo(() => {\n let height = 0;\n if (headerSelector) {\n [...document.querySelectorAll(headerSelector)].forEach(headerElement => {\n height += getElementHeightNoPadding(headerElement);\n });\n }\n return height;\n }, [headerSelector]);\n\n function handleTransition() {\n if (isFadeOutInProcess) {\n setIsFadeOutInProcess(false);\n onClose();\n }\n }\n\n function handleScrollEvent() {\n const shouldBeSticking = window.pageYOffset > headerHeight;\n if (isSticking !== shouldBeSticking) {\n setIsSticking(shouldBeSticking);\n }\n }\n\n function closeAlertBox() {\n setIsFadeOutInProcess(true);\n }\n\n useEffect(() => {\n let timer = null;\n if (autoHide) {\n timer = window.setTimeout(closeAlertBox, displayTime * 1000);\n }\n\n return () => window.clearTimeout(timer);\n }, [autoHide, displayTime]);\n\n useEffect(() => {\n const globalMessageDivEl = globalMessageDIV.current;\n if (sticky && isOpen) {\n document.addEventListener('scroll', handleScrollEvent);\n }\n\n globalMessageDivEl.addEventListener('transitionend', handleTransition);\n\n handleScrollEvent();\n\n return () => {\n document.removeEventListener('scroll', handleScrollEvent);\n globalMessageDivEl.removeEventListener('transitionend', handleTransition);\n };\n });\n\n if (!isOpen) return
;\n\n const dynamicClasses = [];\n\n if (sticky) {\n dynamicClasses.push('is-sticky');\n if (isSticking) {\n dynamicClasses.push(stickyClass);\n }\n }\n\n if (isFadeOutInProcess) {\n dynamicClasses.push('is-closing');\n } else if (isOpen) {\n dynamicClasses.push('is-open');\n } else {\n dynamicClasses.push('is-closed');\n }\n\n let messageElement = null;\n if (messageId) {\n messageElement =