{"version":3,"file":"static/js/PublicAppContainer.3e7c68a0.js","sources":["webpack://@jotforminc/portal/./src/modules/containers/PublicAppContainer.js","webpack://@jotforminc/portal/./src/assets/icon_share_iOS.svg","webpack://@jotforminc/portal/../../../../src/icons/forms-files/form-pencil-filled.svg","webpack://@jotforminc/portal/./src/assets/icon_unreachableSentbox.svg","webpack://@jotforminc/portal/./src/assets/icon_emptyCart.svg","webpack://@jotforminc/portal/../../../../src/icons/brand/facebook-filled.svg","webpack://@jotforminc/portal/../../../../src/icons/brand/twitter.svg","webpack://@jotforminc/portal/../../../../src/icons/brand/whatsapp.svg","webpack://@jotforminc/portal/../../../../src/icons/finance/basket-shopping-filled.svg","webpack://@jotforminc/portal/./src/assets/backsoon.svg","webpack://@jotforminc/portal/./src/modules/PublicApp/scPublicApp.js","webpack://@jotforminc/portal/./src/modules/PublicApp/Modals/A2HSModal/ScA2HSModal.js","webpack://@jotforminc/portal/./src/modules/PublicApp/Modals/A2HSModal/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/FormItem/InlineCtxMenu/ScMobileCtxMenu.js","webpack://@jotforminc/portal/./src/modules/PublicApp/MobileCtxMenu.js","webpack://@jotforminc/portal/./src/components/AppProgressBar/ScAppProgressBar.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProgressBar.js","webpack://@jotforminc/portal/./src/components/AppProgressBar/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/ScTopBar.js","webpack://@jotforminc/portal/../../libs/overflowable-list/src/index.tsx","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/PageLink.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/ScNavigationBar.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCartBadge/ScCart.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCartBadge/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/DonateNowBadge/ScDonateNowBadge.js","webpack://@jotforminc/portal/./src/modules/PublicApp/DonateNowBadge/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/ScNavigationPanel.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/NavigationPanelItem.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/NavigationPanel.js","webpack://@jotforminc/portal/./src/components/PortalLoginFlow/scPortalLoginFlow.js","webpack://@jotforminc/portal/./src/components/PortalAccountBox/AccountBoxLinkRenderer.js","webpack://@jotforminc/portal/./src/components/PortalAccountBox/GuestShoppingAccountBox.js","webpack://@jotforminc/portal/./src/components/PortalAccountBox/ContinueAsFlow.js","webpack://@jotforminc/portal/./src/components/PortalAccountBox/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/NavigationBar.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ScPageContentWrapper.js","webpack://@jotforminc/portal/./src/modules/PublicApp/DividerItem/index.js","webpack://@jotforminc/portal/./src/components/ProductListForm/ProductListField.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductListItem/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CardItem/styled.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CardItem/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/List/helper.js","webpack://@jotforminc/portal/./src/modules/PublicApp/List/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ImageField/ScImageField.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ImageField/index.js","webpack://@jotforminc/portal/./src/utils/getItemComponentByTypeForApp.js","webpack://@jotforminc/portal/./src/modules/PublicApp/AppItem/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/withLinkElement.js","webpack://@jotforminc/portal/./src/modules/PublicApp/PublicAppItemContainer/PublicAppItem.js","webpack://@jotforminc/portal/./src/modules/PublicApp/PublicAppItemContainer/index.js","webpack://@jotforminc/portal/./src/components/Items/AppFooter/ScAppFooter.js","webpack://@jotforminc/portal/./src/components/Items/AppFooter/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/AppStyle.js","webpack://@jotforminc/portal/./src/modules/PublicApp/AppPreview.js","webpack://@jotforminc/portal/./src/modules/PublicApp/AppRouter.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/Renderers/FormRenderer.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/Renderers/ReportRenderer.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/Renderers/UnreachableSentbox.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/Renderers/SentboxRenderer.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/Renderers/SignRenderer.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/constants.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/RendererComponent.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/Renderers/constants.js","webpack://@jotforminc/portal/./src/modules/Builder/styles/scSteps.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ScreenRenderer/ScreenTopBar.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/OrderNow/ScOrderNowButton.js","webpack://@jotforminc/portal/./src/modules/PublicApp/OrderNow/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ScreenRenderer/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/PageRenderer.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CheckoutScreen/ScCompleteScreen.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CheckoutScreen/StoreCompleteScreen.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CheckoutScreen/DonationCompleteScreen.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CheckoutScreen/ScCheckoutScreen.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CheckoutScreen/index.js","webpack://@jotforminc/portal/../../libs/portal-components/src/components/AddToCart.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/CartOption.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/CartItemOptionRenderer.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/CartItemActionButton.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/ScProductCartItem.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/CartItem.js","webpack://@jotforminc/portal/./src/components/Toaster/ShoppingNotification/utils.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/CartItemList.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/Carts.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/ScEmptyCart.js","webpack://@jotforminc/portal/./src/modules/PublicApp/OrderNow/ScOrderNowForScreen.js","webpack://@jotforminc/portal/./src/modules/PublicApp/OrderNow/OrderNowForScreen.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Favorites/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/ScProductCart.js","webpack://@jotforminc/portal/./src/components/StoreUnavailable/ScStoreUnavailable.js","webpack://@jotforminc/portal/./src/components/StoreUnavailable/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/TabButton.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductItemDetailsPage/ScDetailsPage.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductItemDetailsPage/ActionButtons.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductItemDetailsPage/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/PushNotificationPermission/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/AiAgent/ScAiAgent.js","webpack://@jotforminc/portal/./src/modules/PublicApp/AiAgent/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/index.js"],"sourcesContent":["import React, {\n useCallback, useEffect, useMemo, useRef, useState\n} from 'react';\nimport { func, string } from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getAppPath } from '@jotforminc/router-bridge';\nimport { useTimeout, useEventListener } from '@jotforminc/hooks';\n\nimport { APP_MODES } from '../../constants';\nimport SELECTORS from '../../store/selectors';\n\nimport {\n fetchPortalAction,\n navigateToAction,\n setModeAction,\n setPWAStatusAction,\n trackEventAction,\n userChangeAction\n} from '../../store/actionCreators';\nimport { isYes, isInJotformKiosk } from '../../utils';\nimport { calculateDisabled } from '../../utils/hooks';\n\nimport BrowserParser from '../../utils/BrowserParser';\nimport { getQueryString } from '../../utils/navigation';\nimport {\n allSocialSharingUtmSources,\n checkPWAInstallation, getLastInstallationDate, isPWA, persistPWAInstallation\n} from '../PublicApp/utils';\nimport PublicApp from '../PublicApp';\nimport appConfig from '../../constants/appConfig';\n\nlet deferredPrompt;\n\n// eslint-disable-next-line max-statements\nconst PublicAppContainer = ({ appID, navigate }) => {\n const dispatch = useDispatch();\n\n const isInApp = useSelector(SELECTORS.isOpenedInApp);\n const isInstalled = useSelector(SELECTORS.isAppInstalled);\n const user = useSelector(SELECTORS.getUser);\n const appProperties = useSelector(SELECTORS.getAppInfoWithDefaults);\n\n const {\n id: storeAppID, redirectToApp, redirectedApp\n } = appProperties;\n\n // Disable Details\n const {\n isDisabledNow: isRedirectedAppDisabledNow,\n isDateVerySoon: redirectedAppWillDisableSoon\n } = calculateDisabled(redirectedApp);\n\n const isRedirectedAppSafe = useMemo(() => { // Dont redirect to apps which gonna be disabled very soon.\n return isYes(redirectToApp) && !isRedirectedAppDisabledNow && !redirectedAppWillDisableSoon;\n }, [redirectToApp, isRedirectedAppDisabledNow, redirectedAppWillDisableSoon]);\n\n const [appJustDisabled, setAppJustDisabled] = useState(false);\n const handleAppRedirection = useCallback(() => {\n const searchParams = getQueryString();\n const qs = searchParams ? `?${searchParams}` : '';\n navigate(`${getAppPath()}/${redirectedApp}${qs}`, { replace: true });\n }, [redirectedApp]);\n\n const handleSocialSharingRedirect = () => {\n const searchParams = new URLSearchParams(window.location.search);\n if (allSocialSharingUtmSources.includes(searchParams.get('utm_source'))) {\n window.history.pushState(null, null, `${getAppPath()}/${appID}`);\n }\n };\n\n const handleAppDisable = useCallback(() => {\n if (isRedirectedAppSafe) {\n handleAppRedirection();\n return;\n }\n setAppJustDisabled(true);\n }, [isRedirectedAppSafe, redirectedApp]);\n\n const { isDisabledNow: isAppDisabledNow, isTrashedNow: isAppTrashedNow } = calculateDisabled(storeAppID, handleAppDisable);\n\n useEffect(() => {\n if (isAppDisabledNow && isRedirectedAppSafe) {\n handleAppRedirection();\n }\n }, [isAppDisabledNow, isRedirectedAppSafe]);\n\n const isInBuilderPreview = window.location.href.includes('#preview');\n\n // TODO: move A2HS Modal logic into a different file\n const isInstalledRef = useRef();\n isInstalledRef.current = isInstalled; // This is a workaround to access updated value in timeouted fn\n\n const [activeModal, setActiveModal] = useState('');\n\n const setPublicApp = (isBuilder = false) => {\n dispatch(setModeAction(APP_MODES.public));\n if (storeAppID !== appID || isBuilder) {\n dispatch(fetchPortalAction(appID));\n }\n dispatch(setPWAStatusAction({ isOpenedInPWA: isPWA(), isPWAInstalled: checkPWAInstallation(appID) }));\n };\n\n useEffect(() => {\n setPublicApp();\n }, [appID]);\n\n useEffect(() => {\n if (user.username) {\n const isEmbedded = window.location.href.includes(appConfig.embeddedAppQS);\n const searchParams = new URLSearchParams(window.location.search);\n switch (true) {\n case isInBuilderPreview:\n dispatch(trackEventAction({ action: 'appPreviewed' }));\n return;\n case isEmbedded:\n dispatch(trackEventAction({ action: 'embeddedAppViewed' }));\n return;\n default:\n dispatch(trackEventAction({ action: 'appViewed', target: { utmSource: searchParams.get('utm_source') } }));\n }\n handleSocialSharingRedirect();\n }\n }, [user]);\n\n const handleAppInstalled = useCallback(() => {\n persistPWAInstallation(appID);\n dispatch(setPWAStatusAction({ isOpenedInPWA: isPWA(), isPWAInstalled: true }));\n dispatch(trackEventAction({ action: 'PWAInstalled' }));\n setActiveModal(false);\n }, [appID]);\n\n const isUnRecognizedIpad = BrowserParser.is('macOS') && window.navigator.maxTouchPoints > 2;\n const isIOS = BrowserParser.is('ios') || isUnRecognizedIpad;\n const isTablet = BrowserParser.is('tablet') || BrowserParser.is('mobile') || isUnRecognizedIpad;\n const makeModalChecks = useCallback(() => {\n let modalName;\n const currentlyInstalled = isInstalledRef.current;\n switch (true) {\n case deferredPrompt && !isInApp && !currentlyInstalled:\n modalName = 'promptableFirstTimeModal';\n break;\n case !deferredPrompt && !isInApp && !currentlyInstalled && isIOS:\n modalName = BrowserParser.is('safari') ? 'iOSModal' : 'iOSNotSafari';\n break;\n case !deferredPrompt && !isInApp && !currentlyInstalled && BrowserParser.is('android'):\n modalName = 'androidModal';\n break;\n case isTablet:\n modalName = 'regularModal';\n break;\n default:\n modalName = false;\n break;\n }\n\n if (currentlyInstalled || isInApp || isPWA() || isInBuilderPreview || isInJotformKiosk()) {\n modalName = false;\n }\n setActiveModal(modalName);\n }, []);\n\n const handleBeforeInstallPrompt = useCallback(e => {\n e.preventDefault();\n const lastInstallationDate = getLastInstallationDate(appID);\n if (lastInstallationDate) {\n const now = Date.now();\n const diff = now - lastInstallationDate;\n if (diff <= 5e3) {\n return false; // App is installed within 5 sec. This will guard immediate trigger of the beforeinstallprompt event after the installation.\n }\n }\n deferredPrompt = e;\n // if this fn is invoked it means the app is not installed yet or uninstalled.\n // Lets update LS value to show A2HS modal\n persistPWAInstallation(appID, false);\n\n makeModalChecks();\n }, [appID]);\n\n useEventListener('beforeinstallprompt', handleBeforeInstallPrompt);\n useEventListener('appinstalled', handleAppInstalled);\n useTimeout(makeModalChecks, 10000);\n\n // Handles after modal interaction: install/dismiss\n const handleOnPrompt = useCallback(() => {\n if (deferredPrompt) {\n deferredPrompt.prompt();\n // added for Chrome install prompter event tracking\n // one day, Safari?\n deferredPrompt.userChoice.then(choiceResult => {\n if (choiceResult.outcome === 'accepted') {\n dispatch(trackEventAction({ action: 'installPromptAccepted' }));\n } else {\n dispatch(trackEventAction({ action: 'installPromptDismissed' }));\n }\n });\n }\n }, []);\n\n const handleUserChanged = action => {\n const { user: changedUser } = action.payload;\n dispatch(userChangeAction(changedUser));\n };\n\n const handleNavigateToPage = action => {\n dispatch(navigateToAction({\n to: action.payload?.destinationType,\n pageID: action.payload?.pageID\n }));\n };\n\n const handleScrollSelectedItem = action => {\n const { itemID } = action.payload;\n const selectedItem = document.getElementById(itemID);\n\n if (!selectedItem) return;\n\n const scrollToCenter = element => {\n const { top, height } = element.getBoundingClientRect();\n const { scrollTop } = document.documentElement;\n const windowHeight = window.innerHeight;\n\n const targetPosition = top + scrollTop - (windowHeight / 2) + (height / 2);\n\n window.scrollTo({\n top: targetPosition,\n behavior: 'smooth'\n });\n };\n\n scrollToCenter(selectedItem);\n };\n\n useEventListener('message', message => {\n const { data: { action = {}, forJFApps } = {} } = message;\n\n switch (action.name) {\n case 'userChanged':\n if (forJFApps) handleUserChanged(action);\n break;\n case 'NAVIGATE_TO_PAGE':\n handleNavigateToPage(action);\n break;\n case 'SELECT_ITEM':\n handleScrollSelectedItem(action);\n break;\n case 'UPDATE_APP':\n setPublicApp(true);\n break;\n default:\n break;\n }\n });\n\n return (\n \n );\n};\n\nPublicAppContainer.propTypes = {\n appID: string,\n navigate: func\n};\n\nPublicAppContainer.defaultProps = {\n appID: '',\n navigate: f => f\n};\n\nexport default PublicAppContainer;\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgIconShareIOs = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#278DFF\",\n d: \"M6.513 6.713v1.433H2.306c-.303 0-.557.192-.61.441l-.01.096v13.374c0 .262.221.482.509.528l.111.01h15.447c.304 0 .558-.192.611-.442l.01-.096V8.683c0-.263-.22-.482-.51-.528l-.11-.01h-4.208V6.714h4.207c1.192 0 2.168.79 2.267 1.8l.01.17v13.374c0 1.031-.914 1.876-2.08 1.962l-.197.008H2.306c-1.191 0-2.167-.79-2.267-1.8l-.01-.17V8.683c0-1.031.913-1.876 2.08-1.962l.197-.009zM9.448.236a.93.93 0 0 1 1.055-.083l.115.083 3.861 3.343c.322.279.322.733-.007 1.019-.16.13-.365.2-.581.2a.9.9 0 0 1-.488-.133l-.1-.073-2.447-2.12v12.48c0 .316-.238.585-.566.68l-.128.026-.133.01c-.41 0-.752-.26-.817-.6l-.01-.116V2.474l-2.45 2.125a.93.93 0 0 1-.929.14l-.124-.064-.11-.083a.647.647 0 0 1-.097-.914l.095-.099z\"\n})));\nexport default SvgIconShareIOs;","\n \n\n","var _circle, _rect, _path, _path2, _path3, _path4, _path5, _path6, _path7;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgIconUnreachableSentbox = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 105 117\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 52.5,\n cy: 64.5,\n r: 52.5,\n fill: \"#E3E5F5\"\n})), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 37,\n height: 33,\n x: 34,\n y: 1,\n fill: \"#249BB4\",\n rx: 4\n})), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#249BB4\",\n d: \"M53.698 27.822a1 1 0 0 0-1.397 0l-4.718 4.61a1 1 0 0 0-.085 1.336l4.718 5.95a1 1 0 0 0 1.567 0l4.718-5.95a1 1 0 0 0-.085-1.337l-4.718-4.61Z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M56.58 17.224q0 3.024-1.104 4.44-.864 1.152-2.4 1.152-1.488 0-2.4-1.152-1.08-1.392-1.08-4.44t1.08-4.44q.912-1.152 2.4-1.152 1.536 0 2.4 1.152 1.104 1.368 1.104 4.44m1.464 5.592q1.392-2.088 1.392-5.592c0-3.504-.464-4.2-1.392-5.592q-1.704-2.544-4.968-2.544-3.24 0-4.944 2.544-1.392 2.088-1.392 5.592c0 3.504.464 4.2 1.392 5.592q1.704 2.544 4.944 2.544 3.264 0 4.968-2.544\"\n})), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#0087E0\",\n strokeLinecap: \"round\",\n strokeWidth: 4.5,\n d: \"M33.313 57.5h-2.25\"\n})), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#FFB629\",\n strokeLinecap: \"round\",\n strokeWidth: 4.5,\n d: \"M33.313 84.5h-2.25\"\n})), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#FF6100\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 4.5,\n d: \"M37.812 71h-4.5\"\n})), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n fillRule: \"evenodd\",\n d: \"M42.734 49.602 74.608 69.08c1.436.878 1.436 2.963 0 3.84L42.734 92.399c-1.816 1.11-4.015-.689-3.288-2.69l5.986-16.459h5.318a2.25 2.25 0 1 0 0-4.5h-5.318l-5.986-16.46c-.727-2 1.472-3.798 3.288-2.688\",\n clipRule: \"evenodd\"\n})), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#B1C3E9\",\n d: \"m74.608 69.08-.44.72zM42.734 49.602l-.44.72zM74.608 72.92l.44.72zM42.734 92.399l.44.72zm-3.288-2.69.793.29zm5.986-16.459v-.844a.84.84 0 0 0-.793.556zm0-4.5-.793.289a.84.84 0 0 0 .793.555zm-5.986-16.46.793-.288zm35.602 16.07L43.174 48.882l-.88 1.44L74.168 69.8zm0 5.28c1.974-1.206 1.974-4.073 0-5.28l-.88 1.44a1.406 1.406 0 0 1 0 2.4zM43.174 93.119 75.048 73.64l-.88-1.44-31.874 19.479zm-4.52-3.697c-1 2.75 2.023 5.223 4.52 3.697l-.88-1.44c-1.135.693-2.51-.43-2.055-1.68zm5.985-16.46-5.986 16.46 1.586.576 5.986-16.46zm6.111-.556h-5.318v1.688h5.318zM52.156 71c0 .777-.63 1.406-1.406 1.406v1.688A3.094 3.094 0 0 0 53.844 71zm-1.406-1.406c.777 0 1.406.63 1.406 1.406h1.688a3.094 3.094 0 0 0-3.094-3.094zm-5.318 0h5.318v-1.688h-5.318zm-6.779-17.015 5.986 16.46 1.586-.577-5.986-16.46-1.585.577Zm4.521-3.697c-2.497-1.526-5.52.947-4.52 3.697l1.585-.577c-.454-1.25.92-2.374 2.055-1.68z\"\n})));\nexport default SvgIconUnreachableSentbox;","var _circle, _rect, _path, _path2, _path3;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgIconEmptyCart = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 105 117\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 52.5,\n cy: 64.5,\n r: 52.5,\n fill: \"#E3E5F5\"\n})), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 37,\n height: 33,\n x: 34,\n y: 1,\n fill: \"#0A1551\",\n rx: 4\n})), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#0A1551\",\n d: \"M53.698 27.822a1 1 0 0 0-1.397 0l-4.718 4.61a1 1 0 0 0-.085 1.336l4.718 5.95a1 1 0 0 0 1.567 0l4.718-5.95a1 1 0 0 0-.085-1.337z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M56.58 17.224c0-1.968-.336-3.48-1.104-4.44-.528-.696-1.272-1.152-2.4-1.152s-1.848.456-2.4 1.152c-.744.96-1.08 2.472-1.08 4.44s.336 3.48 1.08 4.44c.552.696 1.272 1.152 2.4 1.152s1.872-.456 2.4-1.152c.744-.96 1.104-2.472 1.104-4.44m2.856 0c0 2.064-.336 4.008-1.392 5.592-1.008 1.512-2.64 2.544-4.968 2.544s-3.936-1.032-4.944-2.544c-1.056-1.584-1.392-3.528-1.392-5.592s.336-4.008 1.392-5.592c1.008-1.512 2.616-2.544 4.944-2.544s3.96 1.032 4.968 2.544c1.056 1.584 1.392 3.528 1.392 5.592\"\n})), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#6F76A7\",\n fillRule: \"evenodd\",\n d: \"M62.959 61.165h15.397a2.86 2.86 0 1 1 0 5.722h-.515l-4.343 21.709a8.58 8.58 0 0 1-8.416 6.9H40.135a8.58 8.58 0 0 1-8.416-6.9l-4.342-21.71h-.515a2.861 2.861 0 0 1 0-5.721h15.397l7.792-15.584a2.86 2.86 0 0 1 5.118 0zm-6.398 0-3.953-7.907-3.954 7.907zm-9.675 22.887a2.86 2.86 0 0 1-2.86-2.86V75.47a2.86 2.86 0 1 1 5.721 0v5.721a2.86 2.86 0 0 1-2.861 2.861m8.582-2.86a2.861 2.861 0 0 0 5.722 0V75.47a2.86 2.86 0 1 0-5.721 0z\",\n clipRule: \"evenodd\"\n})));\nexport default SvgIconEmptyCart;","\n \n\n","\n \n\n","\n \n \n\n","\n \n\n","var _circle, _circle2, _circle3, _g, _path, _path2, _circle4, _circle5, _circle6, _circle7, _path3, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgBacksoon = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 116 96\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57,\n cy: 48,\n r: 48,\n fill: \"#F3F3FE\"\n})), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 58.008,\n cy: 11.289,\n r: 4.808,\n fill: \"#C8CEED\",\n stroke: \"#0A1551\",\n strokeWidth: 0.962\n})), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 58.008,\n cy: 11.29,\n r: 1.923,\n fill: \"#0A1551\"\n})), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#backsoon_svg__a)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n width: 103.377,\n height: 46.64,\n x: 4,\n y: 41.596,\n fill: \"#6F76A7\",\n rx: 2.885,\n transform: \"rotate(-5.758 4 41.596)\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n width: 102.415,\n height: 45.678,\n x: 4.527,\n y: 42.026,\n stroke: \"#0A1551\",\n strokeWidth: 0.962,\n rx: 2.404,\n transform: \"rotate(-5.758 4.527 42.026)\"\n}))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#C8CEED\",\n stroke: \"#0A1551\",\n strokeWidth: 0.962,\n d: \"m5.347 50.159 101.898-10.276 3.522 34.923a2.405 2.405 0 0 1-2.151 2.633l-97.114 9.793a2.404 2.404 0 0 1-2.633-2.15z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#0A1551\",\n d: \"m17.237 62.583.996 9.876 3.816-.385c1.853-.186 2.934-1.463 2.773-3.065-.124-1.226-.993-2.025-1.978-2.165.794-.361 1.324-1.245 1.222-2.262-.155-1.532-1.355-2.55-3.277-2.357zm2.306 3.89-.249-2.465 1.351-.136c.933-.094 1.469.33 1.544 1.082.076.753-.404 1.293-1.281 1.382zm.422 4.193-.262-2.604 1.588-.16c.96-.097 1.517.395 1.596 1.175.08.794-.428 1.338-1.361 1.432zm13.238.284 2.09-.211-4.757-9.497-2.229.225-2.793 10.258 2.034-.205.594-2.34 4.012-.404zm-3.609-7.46 1.742 3.595-2.73.276zm10.978 6.928c2.772-.28 4.007-2.262 4.23-3.818l-1.851-.362c-.172.946-.883 2.13-2.569 2.3-1.588.16-3.18-.848-3.393-2.951-.226-2.243 1.227-3.459 2.704-3.608 1.713-.173 2.585.795 2.917 1.718l1.753-.753c-.551-1.563-2.127-3.093-4.857-2.817-2.647.267-4.826 2.513-4.509 5.66.318 3.149 2.817 4.909 5.575 4.63m12.162-1.438 2.41-.243-4.504-5.174 3.48-4.7-2.52.255-3.506 4.87-.45-4.471-1.923.194.996 9.876 1.922-.194-.277-2.744 1.09-1.475zm13.036-8.913c-.335-1.092-1.4-2.448-3.796-2.206-1.867.188-3.306 1.684-3.129 3.44.15 1.49 1.27 2.404 2.876 2.566l1.407.139c.782.076 1.259.478 1.316 1.05.07.696-.449 1.269-1.48 1.373-1.393.14-2.164-.669-2.345-1.635l-1.736.653c.295 1.392 1.622 2.96 4.24 2.696 2.299-.231 3.412-1.891 3.259-3.41-.14-1.393-1.22-2.466-3.052-2.633l-1.406-.125c-.738-.067-1.13-.463-1.185-1.007-.066-.654.487-1.315 1.42-1.41 1.254-.126 1.785.68 1.937 1.213zm3.402 2.26c-.225-2.229 1.229-3.444 2.747-3.598 1.532-.154 3.2.747 3.424 2.976.225 2.229-1.229 3.445-2.761 3.599-1.518.153-3.185-.748-3.41-2.977m-1.99.215c.32 3.176 2.914 4.898 5.588 4.629 2.689-.272 4.886-2.477 4.566-5.653-.322-3.19-2.915-4.912-5.604-4.641-2.674.27-4.872 2.475-4.55 5.665m13.226-1.348c-.225-2.229 1.229-3.445 2.747-3.598 1.532-.154 3.2.747 3.424 2.976.225 2.228-1.229 3.444-2.761 3.599-1.518.153-3.185-.748-3.41-2.977m-1.99.215c.32 3.176 2.914 4.898 5.588 4.629 2.689-.272 4.886-2.477 4.566-5.653-.322-3.19-2.915-4.912-5.604-4.641-2.674.27-4.872 2.475-4.55 5.665m20.745 2.889-.996-9.876-1.922.194.659 6.533-4.768-6.119-2.396.242.996 9.876 1.922-.194-.706-7.007 5.191 6.555zM5.777 49.632l101.42-10.228.096.957L5.873 50.589z\"\n})), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 20.27,\n cy: 44.788,\n r: 1.923,\n fill: \"#6F76A7\",\n transform: \"rotate(-5.758 20.27 44.788)\"\n})), _circle5 || (_circle5 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 91.55,\n cy: 37.599,\n r: 1.923,\n fill: \"#6F76A7\",\n transform: \"rotate(-5.758 91.55 37.6)\"\n})), _circle6 || (_circle6 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 91.551,\n cy: 37.599,\n r: 1.349,\n fill: \"#0A1551\",\n transform: \"rotate(-5.758 91.551 37.6)\"\n})), _circle7 || (_circle7 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 20.269,\n cy: 44.788,\n r: 1.302,\n fill: \"#0A1551\",\n transform: \"rotate(-5.758 20.27 44.788)\"\n})), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#0A1551\",\n strokeWidth: 0.962,\n d: \"m19.782 44.947 38.226-33.658m33.177 26.205L58.008 11.289\"\n})), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"backsoon_svg__a\",\n width: 114.985,\n height: 64.228,\n x: 0.275,\n y: 29.498,\n colorInterpolationFilters: \"sRGB\",\n filterUnits: \"userSpaceOnUse\"\n}, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n result: \"hardAlpha\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n}), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 2\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 2\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.329412 0 0 0 0 0.372549 0 0 0 0 0.435294 0 0 0 0.16 0\"\n}), /*#__PURE__*/React.createElement(\"feBlend\", {\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_5074_30431\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n result: \"hardAlpha\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n}), /*#__PURE__*/React.createElement(\"feOffset\", null), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 0.5\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.145098 0 0 0 0 0.176471 0 0 0 0 0.356863 0 0 0 0.04 0\"\n}), /*#__PURE__*/React.createElement(\"feBlend\", {\n in2: \"effect1_dropShadow_5074_30431\",\n result: \"effect2_dropShadow_5074_30431\"\n}), /*#__PURE__*/React.createElement(\"feBlend\", {\n in: \"SourceGraphic\",\n in2: \"effect2_dropShadow_5074_30431\",\n result: \"shape\"\n})))));\nexport default SvgBacksoon;","import Styled, { css } from 'styled-components';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\nimport { mainFontColor } from '../../styles/colors';\n\nexport const ScPublicApp = Styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n\n ${isFeatureEnabled(FEATURE_NAMES.AppFooter) ? css`\n height: 100%;\n margin: 0 auto;\n ` : css`\n height: fit-content;\n margin: 0 auto;\n margin-bottom: calc(2em + ${({ isOrderNowButtonVisible }) => (isOrderNowButtonVisible ? '95px' : '0px')});\n `};\n\n font-size: 1em;\n text-align: center;\n\n .mobileCtxMenu {\n position: fixed;\n z-index: 1001;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: #29355C80;\n overflow: hidden;\n }\n\n .mobileCtxMenu-enter {\n opacity: 0;\n transition: all 400ms;\n }\n\n .mobileCtxMenu-enter-active {\n opacity: 1;\n }\n\n .mobileCtxMenu-exit {\n opacity: 1;\n transition: all 400ms;\n }\n\n .mobileCtxMenu-exit-active {\n opacity: 0;\n }\n\n .contentWithLinkElement {\n text-decoration: none;\n }\n`;\n\nexport const ScPublicAppRoot = Styled.div`\n position: relative;\n margin: auto;\n width: 100%;\n height: 100%;\n scroll-behavior: smooth;\n &:not(.isMobilePreview) {\n overflow-y: auto;\n }\n @media screen and (max-width:768px) {\n scrollbar-width: none;\n\n &::-webkit-scrollbar{\n display: none;\n }\n }\n .forPreview {\n .formAccountBox-line {\n pointer-events: none;\n }\n }\n\n .formAccountBox-wrapper {\n z-index: 3;\n }\n\n .orderNow {\n position: fixed;\n z-index: 1001;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: #29355C80;\n overflow: hidden;\n }\n\n .orderNow-enter {\n opacity: 0;\n transition: all 400ms;\n }\n\n .orderNow-enter-active {\n opacity: 1;\n }\n\n .orderNow-exit {\n opacity: 1;\n transition: all 400ms;\n }\n\n .orderNow-exit-active {\n opacity: 0;\n }\n\n .orderBtn-enter {\n opacity: 0;\n transition: all 400ms;\n }\n\n .orderBtn-enter-active {\n opacity: 1;\n }\n\n .orderBtn-exit {\n opacity: 1;\n transition: all 400ms;\n }\n\n .orderBtn-exit-active {\n opacity: 0;\n }\n`;\n\nexport const ScFormRendererRoot = Styled.div`\n ${({ hasBrandingFooter }) => (hasBrandingFooter ? 'height: calc(100% - 49px);' : 'height: 100%;')}\n width: 100%;\n position: absolute;\n top: 0;\n display: flex;\n flex-direction: column;\n\n .backToApp {\n background: none;\n padding: .5em 0;\n color: #0A155180;\n font-weight: 400;\n color: ${mainFontColor};\n fill: ${mainFontColor};\n\n span {\n display: none;\n margin-left: 2px;\n }\n\n .sm { display: block }\n }\n\n nav {\n ${({ appFontFamily }) => (appFontFamily ? `\n font-family: ${appFontFamily};\n ` : '')}\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n color: ${mainFontColor};\n }\n\n .formAccountBox-wrapper {\n position: relative;\n top: 0;\n right: 0;\n }\n\n .detailsPageNav {\n position: fixed;\n top: 0;\n z-index: 10;\n\n .product-list-item-favLabel {\n right: 60px;\n top: 50%;\n transform: translateY(-50%);\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n\n .dummyDiv {\n width: 150px;\n\n @media screen and (max-width: 480px) {\n width: 80px;\n }\n }\n`;\n\nexport const ScFormRendererFrameContainer = Styled.div`\n -webkit-overflow-scrolling: touch;\n overflow-y: auto;\n position: relative;\n height: 100%;\n\n .accBox-backdrop {\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n overflow-y: auto;\n }\n\n iframe {\n width: 100%;\n height: 100%;\n // height: calc(100% - 49px);\n border: none;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n }\n`;\n","import Styled from 'styled-components';\nimport { appIconBox } from '../../../../styles/scGeneral';\n\nconst ScA2HSModal = Styled.div`\ntext-align: center;\ncolor: #0A1551;\nfont-size: 16px;\n\n.content {\n display: flex;\n align-items: center;\n flex-direction: column;\n padding: 0 32px 32px 32px;\n}\n\n.icon-cont {\n ${appIconBox}\n max-width: 74px;\n max-height: 74px;\n}\n\n.title {\n font-size: 20px;\n line-height: normal;\n font-weight: 500;\n margin: 32px 0 8px;\n width: 100%;\n overflow-wrap: break-word;\n}\n\n.desc {\n margin: 0;\n max-width: 100%;\n color: #6F76A7;\n line-height: normal;\n}\n\n@media screen and (max-width: 480px) {\n .content {\n padding: 0 16px 16px 16px;\n }\n\n .title {\n margin: 24px 0 10px;\n font-size: 18px;\n }\n\n .desc {\n font-size: 14px;\n }\n}\n`;\nexport default ScA2HSModal;\n","import React, {\n forwardRef, useCallback, useEffect, useRef\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { t, translationRenderer } from '@jotforminc/translation';\n\nimport { Hooks } from '@jotforminc/uikit';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { IconXmark, IconEllipsisVertical } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport Modal from '../../../../components/AppModal';\nimport ScA2HSModal from './ScA2HSModal';\n\nimport IconIOS from '../../../../assets/icon_share_iOS.svg';\n\nimport AppIcon from '../../../../components/AppIcon';\nimport {\n ScIMOverlay, ScIMFooter, ScIMContent, ScIMHeader\n} from '../../../../components/AppModal/ScAppModal';\nimport SELECTORS from '../../../../store/selectors';\nimport { useAppDefaults } from '../../../../properties';\nimport { setUIProp, trackEventAction } from '../../../../store/actionCreators';\nimport { UI_PROPS } from '../../../../constants';\n\nconst A2HSModal = forwardRef(({ modalType, onPrompt, appProperties }, ref) => {\n const { title, appIconURL } = appProperties; // eslint-disable-line react/prop-types\n const { logoURL: defaultLogoURL } = useAppDefaults(); // eslint-disable-line react/prop-types\n const dispatch = useDispatch();\n const isShoppingApp = useSelector(SELECTORS.getIsShoppingApp);\n\n const appWording = isShoppingApp ? 'store' : 'app';\n\n // Track install information modal\n useEffect(() => {\n dispatch(trackEventAction({ action: 'installPrompt', target: { modalType } }));\n }, []);\n\n const tapFooter = (\n modalType === 'iOSModal'\n ? (\n
\n
    \n
  1. \n {'1. '}\n {translationRenderer('Tap the share menu below [1[{osIcon}]]')({\n renderer1: () => ()\n })}\n
  2. \n
  3. \n {'2. '}\n {t('Select \\'Add to Home Screen\\'')}\n
  4. \n
\n
\n\n )\n : (\n
\n
    \n
  1. \n {'1. '}\n {translationRenderer('Tap the [1[{osIcon}]] menu icon (More Options).')({\n renderer1: () => ()\n })}\n
  2. \n
  3. \n {'2. '}\n {t('Select \\'Add to Home Screen\\' or \\'Install\\'')}\n
  4. \n
\n
\n )\n );\n\n const buttonFooter = (\n
\n \n {t('Add to Home Screen')}\n \n
\n );\n\n const finalFooter = (modalType === 'iOSModal' || modalType === 'androidModal')\n ? tapFooter\n : (modalType === 'promptableFirstTimeModal' && buttonFooter);\n\n const description = type => {\n switch (type) {\n case 'iOSNotSafari':\n return (translationRenderer('Open this [1[{appWording}]] [2[with Safari]] to install on your Home screen.')({\n renderer1: () => (appWording),\n renderer2: str => ({str})\n }));\n case 'androidModal':\n return (translationRenderer('Add this [1[{appWording}]] on your home screen for quick and easy access when you\\'re on the go. Here\\'s How:')({\n renderer1: () => (appWording)\n }));\n case 'promptableFirstTimeModal':\n return (translationRenderer('Add this [1[{appWording}]] on your home screen for quick and easy access when you\\'re on the go.')({\n renderer1: () => (appWording)\n }));\n default:\n return (translationRenderer('Add this [1[{appWording}]] on your home screen for quick and easy access when you\\'re on the go. Here\\'s How:')({\n renderer1: () => (appWording)\n }));\n }\n };\n\n const innerRef = useRef();\n const rootRef = Hooks.useCombinedRefs(innerRef, ref);\n\n const DialogRenderer = useCallback(({ children }) => (\n {children}\n ), []);\n\n const ContentRenderer = useCallback(({ children }) => (\n \n {children}\n \n ), []);\n\n const HeaderRenderer = useCallback(() => (\n \n rootRef.current.hide()}\n startIcon={IconXmark}\n colorStyle=\"secondary\"\n />\n \n ), [rootRef.current]);\n\n const FooterRenderer = (() => {finalFooter});\n\n const withBorder = defaultLogoURL === appIconURL;\n return (\n dispatch(setUIProp(UI_PROPS.isA2HSModalClosed, true))}\n ref={rootRef}\n >\n \n
\n
\n \n
\n

\n {t('Add {title} to Your Home Screen?').replace('{title}', title)}\n

\n

\n {description(modalType)}\n

\n
\n
\n \n );\n});\n\nA2HSModal.propTypes = {\n modalType: PropTypes.string.isRequired,\n onPrompt: PropTypes.func,\n appProperties: PropTypes.shape({})\n};\n\nA2HSModal.defaultProps = {\n onPrompt: () => {},\n appProperties: {}\n};\n\nexport default A2HSModal;\n","import Styled from 'styled-components';\n\nexport const ScMobileCtxMenu = Styled.div`\n position: absolute;\n bottom: 0;\n background-color: #fefefe;\n padding: 20px 20px 40px 20px;\n width: 100%;\n border-radius: 16px 16px 0 0;\n transform: translateY(20px);\n\n .mobileCtxMenu-enter & {\n animation: rebound .4s cubic-bezier(0.18, 0.89, 0.32, 1.28);\n transform: translateY(20px);\n @keyframes rebound {\n 0%{\n transform: translateY(100%);\n }\n 100%{\n transform: translateY(20px);\n }\n }\n }\n\n .mobileCtxMenu-exit-active & {\n transition: .4s ease-in-out 0s;\n transform: translateY(100%);\n }\n\n .mobileCtxMenuHeader {\n position: relative;\n margin-bottom: 10px;\n padding-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: #0A1551;\n border-bottom: 1px solid #C8CEED;\n\n .formTitle {\n text-align: left;\n font-size: 18px;\n font-weight: 700;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-right: 40px;\n }\n }\n`;\n\nexport default ScMobileCtxMenu;\n","import React, { forwardRef } from 'react';\nimport {\n string, func, bool, arrayOf, shape, oneOfType, number\n} from 'prop-types';\nimport { Modal } from '@jotforminc/uikit';\nimport { CSSTransition } from 'react-transition-group';\nimport { IconAngleDown } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport CtxMenuItems from './CtxMenuItems';\nimport { ScMobileCtxMenu } from './FormItem/InlineCtxMenu/ScMobileCtxMenu';\n\nconst MobileCtxMenu = forwardRef(({\n items,\n formID,\n formTitle,\n onModalClose, isOpen\n}, ref) => {\n const handleModalClose = () => onModalClose();\n\n const MobileCtxMenuHeaderRenderer = () => (\n
\n
{formTitle}
\n \n
\n );\n\n const MobileCtxMenuContentRenderer = ({ children }) => ( // eslint-disable-line react/prop-types\n \n {children}\n
    \n \n
\n
\n );\n const DialogRenderer = ({ children }) => ( // eslint-disable-line react/prop-types\n \n {children}\n \n );\n return (\n \n \n
\n \n \n );\n});\nMobileCtxMenu.propTypes = {\n formID: oneOfType([string, number]).isRequired,\n formTitle: string,\n items: arrayOf(shape({})),\n onModalClose: func,\n isOpen: bool\n};\n\nMobileCtxMenu.defaultProps = {\n items: [],\n formTitle: '',\n onModalClose: f => f,\n isOpen: false\n};\n\nexport default MobileCtxMenu;\n","import Styled, { css } from 'styled-components';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\nimport { mainFontColor } from '../../styles/colors';\n\nexport const ScAppProgressBar = Styled.div`\n${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n position: relative;\n\n .progress {\n &-section {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 16px;\n height: 45px;\n border-bottom: 1px solid #E4E6F4;\n }\n\n &-text {\n font-weight: 400;\n color: #6F76A7;\n\n &.restart {\n font-weight: 700;\n color: ${mainFontColor};\n }\n\n .bold {\n font-weight: 700;\n color: ${mainFontColor};\n }\n }\n\n &-count {\n display: flex;\n align-items: center;\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n\n @media screen and (max-width: 480px) {\n display: none;\n }\n }\n\n &-btn {\n background-color: transparent;\n text-transform: initial;\n font-weight: 500;\n font-family: inherit;\n font-size: 15px;\n padding: 5.5px 10px;\n line-height: unset;\n border-radius: 4px;\n border: 0;\n transition: .3s background-color ease;\n\n &.isGreen {\n background-color: #DDFAAD;\n color: #0D953B;\n\n &:hover {\n background-color: #C6F180; \n }\n\n &:active {\n background-color: #C6F180;\n }\n\n & > span {\n margin-left: 6px;\n }\n\n & > svg {\n width: 14px;\n height: 16px;\n\n & > path {\n fill: #0D953B\n }\n }\n }\n\n &.isBlue {\n background-color: #C3EAFF;\n color: #0087E0;\n padding-right: 2px;\n\n &:hover {\n background-color: #D1EFFF;\n }\n\n &:active {\n background-color: #A3DEFE;\n }\n\n & > span {\n margin-right: 2px;\n }\n\n & > svg > path { \n stroke: #0099FF;\n }\n }\n }\n }\n\n` : css`\nposition: relative;\n\n\n // Progress Section - Bar - Next\n\n\n .isProgressOn.isAccountBox & {\n flex: 0 1 672px;\n\n @media screen and (max-width: 768px) {\n flex: 0 1 480px;\n padding-right: 12px;\n }\n @media screen and (max-width: 480px) {\n flex: 0 1 340px;\n padding-right: 12px;\n }\n }\n\n .progress {\n &-section {\n display: flex;\n margin: 0 auto;\n align-items: center;\n height: 100%;\n }\n\n &-text {\n font-weight: 400;\n ${({ progressBarProperties }) => {\n return css`color: ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor) ? mainFontColor : progressBarProperties.appFontColor};`;\n }}\n\n @media screen and (max-width: 480px) {\n display: none;\n }\n\n &.restart {\n margin: 0 auto;\n\n @media screen and (max-width: 480px) {\n display: flex;\n margin: unset;\n font-weight: 400;\n }\n }\n }\n\n &-count {\n display: flex;\n align-items: center;\n margin-left: auto;\n & > span { \n margin-left: 13.5px;\n ${({ progressBarProperties }) => {\n return css`color: ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor) ? mainFontColor : progressBarProperties.appFontColor};`;\n }}\n }\n\n @media screen and (max-width: 480px) {\n margin-left: unset;\n }\n }\n\n &-restartBtn {\n background-color: transparent;\n text-transform: capitalize;\n font-weight: 400;\n font-family: inherit;\n font-size: 16px;\n padding: 11.5px 10px;\n line-height: unset;\n margin-left: 21px;\n ${({ progressBarProperties }) => {\n return css`color: ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor) ? mainFontColor : progressBarProperties.appFontColor};`;\n }}\n\n ${({ progressBarProperties }) => {\n return css`border: 1px solid ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor) ? mainFontColor : progressBarProperties.appFontColor};`;\n }}\n \n& > svg > path { \n ${({ progressBarProperties }) => {\n return css`fill: ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor) ? mainFontColor : progressBarProperties.appFontColor};`;\n }}\n}\n & > span { margin-left: 10px; }\n\n @media screen and (max-width: 480px) {\n margin-left: auto;\n padding: 10.5px 9.5px;\n\n & > span { display: none; }\n\n }\n }\n }\n`};\n`;\n","import { Hooks } from '@jotforminc/uikit';\nimport {\n number, shape, string\n} from 'prop-types';\nimport React, {\n useCallback, useEffect, useMemo, useState\n} from 'react';\nimport styled, { css } from 'styled-components';\nimport { useDispatch } from 'react-redux';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\nimport { mainFontColor, primaryAccentDefault } from '../../styles/colors';\nimport { applyAlpha } from '../../utils/styleUtils';\nimport { setLastAnimatedDoneCountAction } from '../../store/actionCreators';\n\nconst ScProgressBar = styled.div`\n${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n width: 336px;\n height: 4px;\n z-index: 11;\n border-radius: 8px;\n background-color: #DFE1ED;\n position: relative;\n\n @media screen and (max-width: 480px) {\n display: none;\n }\n\n .bar {\n height: 100%;\n width: ${({ progress }) => progress}%;\n border-radius: 8px;\n background-color: ${primaryAccentDefault};\n\n &.withAnimation{\n transition: .4s width cubic-bezier(0.25, 0.46, 0.45, 0.94) .4s;\n }\n }\n` : css`\n width: 155px;\n height: 9px;\n z-index: 11;\n border-radius: 8px;\n\n ${({ progressBarProperties }) => {\n return css`background-color: ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor)\n ? applyAlpha(mainFontColor, 0.2)\n : applyAlpha(progressBarProperties.appFontColor, 0.2)};`;\n }}\n\n @media screen and (max-width: 480px) {\n width: 80px;\n }\n\n & > div {\n height: 100%;\n width: ${({ progress }) => progress}%;\n border-radius: 8px;\n &.withAnimation{\n transition: .4s width cubic-bezier(0.25, 0.46, 0.45, 0.94) .4s;\n }\n\n ${({ progressBarProperties }) => {\n return css`background-color: ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor) ? mainFontColor : progressBarProperties.appFontColor};`;\n }}\n }\n`};\n`;\n\nconst ScIndicator = styled.div`\n width: 12px;\n height: 12px;\n border-radius: 50%;\n position: absolute;\n transition: background-color 0.2s ease 0.3s;\n top: 50%;\n transform: translate(-5px,-50%);\n z-index: 12;\n left: ${({ leftMargin }) => leftMargin}%;\n background-color: ${({ isCompleted }) => (isCompleted ? primaryAccentDefault : '#DFE1ED')};\n box-shadow: ${({ isCompleted }) => (isCompleted ? '0 0 0 3px #09f3' : 'none')};\n`;\n\nconst ProgressBar = ({\n progress: rawProgress, prevProgress, progressBarProperties, doneCount: _doneCount, todoCount\n}) => {\n const dispatch = useDispatch();\n const [doneItemCount, setDoneCount] = useState(_doneCount);\n\n Hooks.useEffectIgnoreFirst(() => {\n setDoneCount(_doneCount);\n }, [_doneCount]);\n\n const Indicator = useCallback(props => {\n return ;\n }, []);\n\n const indicatorArray = useMemo(() => Array.from(Array(todoCount)).map(() => Indicator), []);\n\n let _doneItemCount = doneItemCount;\n const steerage = 100 / (todoCount - 1);\n const percentage = _doneCount ? steerage * (_doneCount - 1) : 0;\n const progressBar = useMemo(() => indicatorArray.map((ItemIndicator, index) => {\n const leftMargin = steerage * index;\n if (_doneItemCount > 0) {\n _doneItemCount = _doneItemCount - 1;\n return ;\n }\n\n return ;\n }), [indicatorArray, _doneItemCount, steerage]);\n const currentProgress = isFeatureEnabled(FEATURE_NAMES.TopBar) ? percentage : rawProgress;\n const [progress, setProgress] = useState(Math.min(currentProgress, prevProgress));\n const [withAnimation, setWithAnimation] = useState(true);\n useEffect(() => {\n const timer = setTimeout(() => {\n if (currentProgress === prevProgress) return;\n if (currentProgress <= prevProgress) {\n setWithAnimation(false);\n }\n setProgress(currentProgress);\n dispatch(setLastAnimatedDoneCountAction(_doneCount));\n }, 0);\n\n return () => clearTimeout(timer);\n }, [currentProgress, prevProgress]);\n\n return (\n \n
\n {isFeatureEnabled(FEATURE_NAMES.TopBar) && progressBar}\n \n );\n};\n\nProgressBar.propTypes = {\n progress: string,\n prevProgress: string,\n progressBarProperties: shape({}),\n doneCount: number,\n todoCount: number\n};\n\nProgressBar.defaultProps = {\n progress: '0',\n prevProgress: '0',\n progressBarProperties: {},\n doneCount: 0,\n todoCount: 0\n};\n\nexport default ProgressBar;\n","/* eslint-disable camelcase */\nimport React, { useState, useCallback, useMemo } from 'react';\nimport { func, string } from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { usePrevious } from '@jotforminc/hooks';\nimport { t, translationRenderer } from '@jotforminc/translation';\nimport { Hooks } from '@jotforminc/uikit';\nimport sortBy from 'lodash/sortBy';\nimport { IconChevronRight, IconArrowRotateRight } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport {\n checkMobilePhone, checkTablet, getFormCompletion, isYes\n} from '../../utils';\nimport { ScAppProgressBar } from './ScAppProgressBar';\nimport ProgressBar from '../../modules/PublicApp/ProgressBar';\nimport {\n navigateToAction,\n onFilterProductsAction,\n showGenericModalAction\n} from '../../store/actionCreators';\nimport { MODALS } from '../../constants/modals';\nimport SELECTORS from '../../store/selectors';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\n\nimport { DESTINATION_TYPES } from '../../constants/navigation';\nimport { ITEM_TYPES } from '../../constants/itemTypes';\n\nconst AppProgressBar = ({\n handleProductClick, productID\n}) => {\n const dispatch = useDispatch();\n const progressRestartable = useSelector(SELECTORS.getProgressRestartable);\n const activePageID = useSelector(SELECTORS.getActivePageID);\n const appProperties = useSelector(SELECTORS.getAppInfoWithDefaults);\n const timeZone = useSelector(SELECTORS.getUserTimezone);\n const todoItemsProgress = useSelector(SELECTORS.getTodoItemsProgress);\n const [isRestartInfoVisible, setRestartInfoVisible] = useState(false);\n\n const {\n todoCount, doneCount, isAppDone, lastAnimatedDoneCount\n } = todoItemsProgress;\n\n const previouseDoneCount = usePrevious(doneCount);\n\n const {\n items: allItems,\n progressManualRestartDate\n } = appProperties;\n\n const requiredItems = useMemo(() => allItems.filter(item => isYes(item.required_showBadge)), [allItems]);\n\n const orderedRequiredItems = useMemo(() => sortBy(requiredItems, ({ portalOrder }) => parseInt(portalOrder, 10)), [requiredItems]);\n\n const notCompletedItems = useMemo(() => orderedRequiredItems.filter(reqItem => {\n const {\n lastSubmitted,\n completed_showBadge,\n completed_clearBadgeOn,\n completed_clearBadgePeriod,\n required_showBadge\n } = reqItem;\n\n return !getFormCompletion({\n lastSubmitted,\n showBadge: completed_showBadge,\n clearBadgeOn: completed_clearBadgeOn,\n clearBadgePeriod: completed_clearBadgePeriod,\n required_showBadge,\n timeZone,\n progressRestartDate: progressManualRestartDate\n });\n }), [progressManualRestartDate, orderedRequiredItems]);\n\n const handleGoToForm = useCallback(() => {\n const {\n embeddedForm, id: itemID, page, resourceID, type // TODO :: move the pattern to SAGA\n } = notCompletedItems[0];\n\n const nextFormID = (type === ITEM_TYPES.FORM) ? itemID : resourceID;\n\n if (nextFormID && !isYes(embeddedForm)) {\n return handleProductClick(type)(nextFormID);\n }\n\n dispatch(onFilterProductsAction({ itemID: nextFormID })); // ??? @serco :D\n if (page !== activePageID) {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.PAGE, pageID: page }));\n }\n }, [notCompletedItems, handleProductClick, activePageID]);\n\n const isRestartActive = useMemo(() => requiredItems.length > 0 && notCompletedItems.length === 0, [notCompletedItems, requiredItems]);\n\n Hooks.useEffectIgnoreFirst(() => {\n let timeout;\n if (previouseDoneCount > doneCount) {\n setRestartInfoVisible(true);\n timeout = setTimeout(() => setRestartInfoVisible(false), 2000);\n }\n return () => clearTimeout(timeout);\n }, [doneCount]);\n\n const restartProgressDisabled = doneCount === 0;\n const percentage = ((doneCount / todoCount) * 100).toFixed();\n const prevProgress = ((lastAnimatedDoneCount / todoCount) * 100).toFixed();\n\n const {\n appHeaderBgColor, appFontColor, appIconColor, appIconBackground\n } = appProperties;\n const progressBarProperties = useMemo(() => ({\n appFontColor, appHeaderBgColor, appIconColor, appIconBackground\n }));\n\n const showRestartAppModal = useCallback(() => {\n if (!progressRestartable && !isRestartActive) return;\n dispatch(showGenericModalAction({ name: MODALS.RESTART_PROGRESS_MODAL }));\n }, [isRestartActive]);\n\n // eslint-disable-next-line max-len\n const progressText = isFeatureEnabled(FEATURE_NAMES.SignField) ? 'You\\'ve completed [1[{doneCount} of {todoCount}]] required steps.' : 'You\\'ve completed [1[{doneCount} of {todoCount}]] required forms.';\n const mobileProgressText = isFeatureEnabled(FEATURE_NAMES.SignField) ? '[1[{doneCount}/{todoCount}]] required steps.' : '[1[{doneCount}/{todoCount}]] required forms.';\n const isMobile = checkMobilePhone();\n const isTablet = checkTablet();\n // eslint-disable-next-line max-len\n const nextButtonText = isFeatureEnabled(FEATURE_NAMES.SignField) ? t('Go to next step') : t('Go to next form');\n\n const shouldDisableNextButton = productID && notCompletedItems.map(obj => { return obj.type === 'SIGN_LINK' ? obj.resourceID : obj.id; }).includes(productID);\n return (\n \n {isRestartInfoVisible ? (\n
\n
{t('Progress is restarted.')}
\n
\n ) : (\n
\n
\n {(isMobile || isTablet) ? (\n translationRenderer(mobileProgressText)({\n renderer1: str => {\n return (\n \n {str.replace('{doneCount}', doneCount).replace('{todoCount}', todoCount)}\n \n );\n }\n })\n ) : (\n translationRenderer(progressText)({\n renderer1: str => {\n return (\n \n {str.replace('{doneCount}', doneCount).replace('{todoCount}', todoCount)}\n \n );\n }\n })\n )}\n
\n
\n \n
\n {(progressRestartable && isRestartActive) && isAppDone && (\n \n {t('Restart')}\n \n )}\n {(!isRestartActive && notCompletedItems.length > 0) && (\n \n {nextButtonText}\n \n )}\n
\n )}\n
\n );\n};\n\nAppProgressBar.propTypes = {\n handleProductClick: func,\n productID: string\n};\n\nAppProgressBar.defaultProps = {\n handleProductClick: f => f,\n productID: ''\n};\n\nexport default AppProgressBar;\n","import Styled, { css } from 'styled-components';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\nimport { applyAlpha } from '../../../utils/styleUtils';\n\nconst ScTopBar = Styled.div`\n${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n width: 100%;\n user-select: none;\n position: sticky;\n top: 0;\n z-index: 11;\n @media screen and (max-width: 480px) {\n &.showNavigationBar:not(.isMultiPage) + .pageContentWrapper:not(:has(.appHeader)) .app-content-wrapper {\n margin-top: 40px;\n }\n }\n\n ${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n background-color: #fff;\n ` : css`\n ${({ topBarProperties }) => {\n return css`background-color: ${(topBarProperties.appHeaderBgColor === topBarProperties.appFontColor) ? '#fff' : applyAlpha(topBarProperties.appHeaderBgColor, 1)};`;\n }}\n `};\n` : css`\nwidth: 100%;\n height: 75px;\n user-select: none;\n position: relative;\n z-index: 11;\n position: sticky;\n top: 0;\n\n ${({ topBarProperties }) => {\n return css`background-color: ${(topBarProperties.appHeaderBgColor === topBarProperties.appFontColor) ? '#fff' : applyAlpha(topBarProperties.appHeaderBgColor, 1)};`;\n }}\n\n // MultiPageBtn - ProgressBar - AccBox\n &.isMultiPage.isProgressOn.isAccountBox {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 15px;\n height: 75px;\n border-bottom: 1px solid #C9CADD80;\n }\n\n // MultiPageBtn - AccBox\n &.isMultiPage.isAccountBox {\n height: 0;\n border-bottom: none;\n }\n\n // ProgressBar - AccBox\n &.isProgressOn.isAccountBox {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 15px;\n height: 75px;\n border-bottom: 1px solid #C9CADD80;\n\n .dummyDiv {\n position: relative;\n height: 45px;\n width: 45px;\n }\n\n @media screen and (max-width: 480px) {\n .dummyDiv { width: 17.5px }\n }\n }\n\n // AccBox\n &.isAccountBox {\n height: 0;\n border-bottom: none;\n }\n`};\n\n \n`;\n\nexport default ScTopBar;\n","import classNames from 'classnames';\nimport debounce from 'lodash/debounce';\nimport { Popover, Utils } from '@jotforminc/uikit';\nimport React, {\n useRef, useState, useEffect, Fragment\n} from 'react';\n\nimport { RefType, OverflowableListPropType } from './types';\n\nimport './styles/jfOverflowableList.scss';\n\nconst OverflowableList = (props: OverflowableListPropType) => {\n const {\n items,\n itemClassName,\n moreItemComponent,\n wrapperClassName,\n popoverClassName,\n moreItemClassName,\n onHiddenItemIDListChange\n } = props;\n\n const containerRef = useRef() as RefType;\n const moreContainerRef = useRef() as RefType;\n const [moreItems, setMoreItems] = useState([]);\n const [maxItemHeight, setMaxItemHeight] = useState(-1);\n const [isMoreMenuVisible, setMoreMenuVisibility] = useState(false);\n const [firstHiddenItemIndex, setFirstHiddenItemIndex] = useState(-1);\n\n const renderOverflowItems = items.map((item, index) => {\n const isMoreItem = (index + 1) >= firstHiddenItemIndex;\n return isMoreItem && (\n \n {item.content}\n
\n );\n });\n\n const toggleMoreMenuVisibility = () => {\n setMoreMenuVisibility(!isMoreMenuVisible);\n };\n\n const handleMoreMenuKeyPress = e => Utils.isPressedKeyEnter(e) && toggleMoreMenuVisibility();\n\n const renderItems = items.map((item, index) => {\n const isHidden = moreItems?.indexOf(item.id) !== -1;\n const isHiddenAfter = index === (firstHiddenItemIndex - 1) ? 'true' : null;\n\n return (\n \n {isHiddenAfter && (\n \n
\n {moreItemComponent}\n
\n
\n )}\n \n {item.content}\n \n \n );\n });\n\n useEffect(() => {\n if (!containerRef.current) {\n return () => {};\n }\n\n const renewStates = debounce(() => {\n if (!containerRef.current) {\n return;\n }\n\n const { children = [] } = containerRef.current;\n const childList = [...children];\n const maxHeight = childList.reduce((max, currentNode) => {\n return max > currentNode.clientHeight ? max : currentNode.clientHeight;\n }, 0);\n if (maxHeight > 0) {\n setMaxItemHeight(maxHeight);\n }\n\n const containerDimensions = containerRef.current.getBoundingClientRect();\n const containerBottom = containerDimensions.top + maxHeight;\n const hiddenItemIDList = childList\n .filter(childNode => Math.ceil(childNode.getBoundingClientRect().top) >= containerBottom)\n .map(childNode => childNode.id);\n\n const firstHiddenIndex = childList.findIndex(childNode => Math.ceil(childNode.getBoundingClientRect().top) >= containerBottom);\n\n setFirstHiddenItemIndex(firstHiddenIndex);\n onHiddenItemIDListChange(hiddenItemIDList);\n setMoreItems(hiddenItemIDList);\n setMoreMenuVisibility(false);\n }, 25);\n\n renewStates();\n window.addEventListener('resize', renewStates);\n return () => window.removeEventListener('resize', renewStates);\n }, [containerRef.current]); // eslint-disable-line react-hooks/exhaustive-deps\n // ContainerRef.current dependency is added for BUGFIX #3747079 -> https://www.jotform.com/ticket-categorize/3747079\n\n return (\n \n {renderItems}\n {isMoreMenuVisible && (\n \n
\n {renderOverflowItems}\n
\n \n )}\n \n );\n};\n\nOverflowableList.defaultProps = {\n moreItemComponent: 'More â–¼',\n wrapperClassName: null,\n itemClassName: null,\n moreItemClassName: null,\n popoverClassName: null,\n onHiddenItemIDListChange: (f: void) => f\n};\n\nexport default OverflowableList;\n","import React, { memo, useCallback } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { shape, bool } from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport { Utils } from '@jotforminc/uikit';\nimport PageIcon from '../../Builder/components/HomePage/PageIcon';\nimport { navigationItemClickAction } from '../../../store/actionCreators';\n\nconst PageLink = ({ page, isActive }) => {\n const {\n name, id, pageOrder, showPageIcon, pageIcon\n } = page;\n const pageName = name || t('Page {pageOrder}').replace('{pageOrder}', pageOrder);\n\n const dispatch = useDispatch();\n\n const handleClick = useCallback(() => {\n dispatch(navigationItemClickAction(id));\n }, [id]);\n const handleEnterPressed = useCallback(e => Utils.isPressedKeyEnter(e) && handleClick(), []);\n return (\n \n \n \n {pageName}\n \n \n );\n};\n\nPageLink.propTypes = {\n page: shape({}),\n isActive: bool\n};\nPageLink.defaultProps = {\n page: {},\n isActive: false\n};\n\nexport default memo(PageLink);\n","import Styled from 'styled-components';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\n\nconst navigationHeight = '65px';\n\nconst ScNavigationBar = Styled.div`\n width: 100%;\n height: ${navigationHeight};\n background: #fff;\n user-select: none;\n\n .appInfoWrapper {\n padding-top: ${navigationHeight};\n opacity: 0;\n transition: all .25s ease-in-out;\n overflow: hidden;\n\n &.show {\n padding-top: 0;\n opacity: 1;\n }\n }\n\n .appIcon {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n\n & > div {\n margin: 0;\n width: 40px;\n height: 40px;\n\n img {\n width: 39px;\n height: 39px;\n }\n }\n }\n\n .appText {\n color: #0A1551;\n font-size: 18px;\n font-weight: 400;\n line-height: 24px;\n }\n\n .appNavigation {\n margin-left: auto;\n height: 100%;\n\n .jfOverflowableList {\n height: 100%;\n width: 100%;\n\n &-item {\n height: 100%;\n\n .appPageLink {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n padding: 0 15px;\n cursor: pointer;\n fill: #0A1551;\n\n &-icon-svg {\n width: 14px;\n }\n\n &.forMore {\n .appPageLink-container:after {\n display: none;\n }\n }\n\n &-container {\n display: flex;\n align-items: center;\n gap: 8px;\n position: relative;\n transition: .3s;\n\n &:after {\n content: \"\";\n position: absolute;\n left: 0;\n width: 100%;\n bottom: -10px;\n height: 2px;\n background-color: #0099FF;\n opacity: 0;\n transition: .3s;\n border-radius: 30px;\n }\n }\n\n &.isActive, &:hover {\n .appPageLink-container {\n color: #0099FF;\n fill: #0099FF;\n transition: .3s;\n\n &:after {\n opacity: 1;\n }\n }\n }\n }\n }\n }\n\n @media screen and (max-width: 480px) {\n display: none;\n }\n }\n\n .isAccountBox & {\n ${() => (!isFeatureEnabled(FEATURE_NAMES.ProductList) && `\n border-bottom: none;\n\n .appNavigation {\n display: none;\n }\n\n .appIcon,\n .appText {\n display: none;\n }\n `)}\n }\n\n .isAccountBox.isProgressOn & {\n border-bottom: none;\n position: absolute;\n }\n\n .isAccountBox.isProgressOn.isPaymentApp & {\n display: flex;\n position: relative;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #E4E6F4;\n height: ${navigationHeight};\n top: 0;\n }\n\n .isAccountBox.showNavigationBar.isPaymentApp & {\n display: flex;\n position: relative;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #E4E6F4;\n height: ${navigationHeight};\n top: 0;\n\n & > div:last-child {\n .badgeName {\n &:after {\n right: 16px;\n }\n }\n\n > div.cartWrapper {\n margin-right: 16px;\n }\n }\n }\n\n .isAccountBox.showNavigationBar.isPaymentApp.onlyPaymentHeader & {\n .jfOverflowableList, .verticalLine {\n display: none;\n }\n }\n\n .isAccountBox.isMultiPage:not(.showNavigationBar) & {\n border-bottom: none;\n\n .appNavigation {\n display: none;\n }\n\n .appIcon,\n .appText {\n display: none;\n }\n }\n\n .isAccountBox:not(.showNavigationBar) & {\n border-bottom: none;\n\n .appNavigation {\n display: none;\n }\n\n .appIcon,\n .appText {\n display: none;\n }\n }\n\n .isAccountBox.onlyPaymentHeader.isMultiPage:not(.showNavigationBar) & {\n height: ${navigationHeight};\n border-bottom: 1px solid #E4E6F4;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding-right: 75px;\n \n .verticalLine {\n display: none\n }\n }\n\n // AppIcon - Pages - AccBox\n .isMultiPage.showNavigationBar.isAccountBox & {\n display: flex;\n position: relative;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #E4E6F4;\n height: ${navigationHeight};\n top: 0;\n\n .appNavigation {\n display: block;\n }\n\n .appIcon {\n display: flex;\n }\n }\n\n// HamburgerMenu - - AccBox\n @media screen and (max-width: 480px) {\n .isMultiPage.showNavigationBar.isAccountBox & {\n\n position: sticky;\n border-bottom: none;\n\n .appIcon,\n .appText {\n display: none;\n }\n\n .appNavigation {\n display: none;\n }\n }\n\n .isPaymentApp.showNavigationBar.isAccountBox.isProgressOn & {\n position: sticky;\n border-bottom: none;\n z-index: 2;\n }\n\n .isMultiPage.showNavigationBar.isAccountBox.isProgressOn & {\n position: sticky;\n border-bottom: none;\n z-index: 2;\n }\n\n .isAccountBox.showNavigationBar.isPaymentApp & {\n position: sticky;\n border-bottom: none;\n top: 40px;\n z-index: 2;\n padding-right: 44px;\n\n & > div:last-child {\n\n > div.cartWrapper {\n margin-right: 0;\n position: absolute;\n background-color: #ffffff80;\n border-radius: 50%;\n right: -48px;\n }\n }\n }\n\n .isAccountBox.onlyPaymentHeader.isMultiPage:not(.showNavigationBar) & {\n height: 0;\n border-bottom: none;\n }\n\n }\n`;\n\nexport default ScNavigationBar;\n","import Styled from 'styled-components';\n\nconst ScCart = Styled.button`\n text-decoration: none;\n background: transparent;\n cursor: pointer;\n box-shadow: none;\n padding: 0;\n border: 0;\n font-size: 16px;\n font-family: inherit;\n color: inherit;\n display: flex;\n\n .cartWrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n }\n\n .verticalLine {\n height: 40px;\n width: 2px;\n background-color: #E3E5F5;\n border-radius: 100px;\n margin: 0 30px 0 20px;\n display: none;\n }\n .isPaymentApp & div:not(:has(.formAccountBox-wrapper)) {\n margin-right: 16px;\n @media screen and (max-width: 480px) {\n margin-right: 0;\n }\n }\n\n .isPaymentApp.isMultiPage & {\n position: relative;\n transform: unset;\n margin-left: 0;\n\n .verticalLine {\n display: inline-block;\n }\n\n .badgeName {\n &:after {\n left: 50px;\n }\n }\n }\n\n .isPaymentApp & {\n position: relative;\n margin-left: auto;\n }\n\n .icon {\n position: relative;\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n svg path {\n fill: #0A1551;\n }\n\n .badge {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 3px;\n right: 2px;\n min-width: 15px;\n height: 15px;\n font-size: 10px;\n font-weight: 500;\n color: #fff;\n background-color: #D93434;\n border-radius: 99px;\n padding: 4px;\n }\n\n @keyframes zoomIn {\n from {\n opacity: 0;\n transform: scale3d(0.5, 0.5, 0.5);\n }\n\n 50% {\n opacity: 1;\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 100% {\n transform: scale3d(1, 1, 1);\n }\n }\n\n .zoomIn {\n animation-name: zoomIn;\n animation-duration: .5s;\n }\n }\n\n .badgeName {\n margin-left: 5px;\n font-weight: 500;\n font-size: 18px;\n white-space: nowrap;\n\n &:after {\n content: \"\";\n position: absolute;\n left: 0px;\n right: 0px;\n bottom: -6px;\n height: 2px;\n background-color: rgb(0, 153, 255);\n opacity: 0;\n transition: all 0.3s ease 0s;\n border-radius: 30px;\n }\n }\n\n &:hover {\n color: #0099FF;\n\n .badgeName {\n &::after {\n opacity: 1;\n }\n }\n\n svg path {\n fill: #0099FF;\n }\n }\n\n ${({ isCartActive }) => ((isCartActive) ? `\n color: #0099FF;\n transition: .3s;\n\n .badgeName {\n &::after {\n opacity: 1;\n }\n }\n\n .icon {\n svg path {\n fill: #0099FF;\n }\n }\n ` : '')}\n\n @media screen and (max-width: 480px) {\n position: absolute;\n right: 65px;\n top: 12px;\n background-color: #ffffff80;\n border-radius: 50%;\n\n .isMultiPage & {\n position: absolute;\n right: 65px;\n top: 12px;\n }\n\n .detailsPageNav & {\n right: 20px;\n }\n\n .badgeName {\n display: none;\n }\n\n .isPaymentApp.isMultiPage & {\n position: absolute;\n padding-left: 0;\n border-left: 0;\n margin-right: 0;\n\n .verticalLine {\n display: none;\n }\n }\n\n .isPaymentApp & {\n position: absolute;\n }\n }\n`;\nexport default ScCart;\n","import React, { useEffect, useState } from 'react';\nimport { string, func, bool } from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport { t } from '@jotforminc/translation';\nimport cn from 'classnames';\nimport { IconCartShoppingFilled } from '@jotforminc/svg-icons';\nimport ScCart from './ScCart';\nimport SELECTORS from '../../../store/selectors';\n\nconst ProductCartBadge = ({ itemFontColor, onCartClick, isCartActive }) => {\n const cartProductsCount = useSelector(SELECTORS.getCartProductItemCount);\n const [badgeAnimation, setBadgeAnimation] = useState(false);\n\n useEffect(() => {\n setBadgeAnimation(true);\n\n const timeout = setTimeout(() => setBadgeAnimation(false), 500);\n return () => clearTimeout(timeout);\n }, [cartProductsCount]);\n\n return (\n \n \n
\n
\n \n {cartProductsCount > 0 && (\n {cartProductsCount}\n )}\n
\n {t('Cart')}\n
\n \n );\n};\n\nProductCartBadge.propTypes = {\n onCartClick: func,\n itemFontColor: string,\n isCartActive: bool\n};\n\nProductCartBadge.defaultProps = {\n onCartClick: f => f,\n itemFontColor: '',\n isCartActive: false\n};\n\nexport default ProductCartBadge;\n","import Styled from 'styled-components';\nimport { darken } from 'polished';\n\nconst ScDonateNowBadge = Styled.div`\n margin-left: ${({ isMultiPage }) => (isMultiPage ? '0px' : 'auto')};\n margin-right: 10px;\n display: flex;\n align-items: center;\n\n .donateNow {\n height: 40px;\n background-color: ${({ itemButtonBgColor }) => itemButtonBgColor};\n border: none;\n border-radius: 4px;\n color: ${({ itemButtonFontColor }) => itemButtonFontColor};\n font-weight: 500;\n font-size: 14px;\n line-height: 16px;\n padding: 0 12px;\n transition: all .3s ease-in-out;\n\n @media screen and (max-width: 480px) {\n display: none;\n }\n\n &:hover {\n ${({ itemButtonBgColor }) => (itemButtonBgColor) && `background: ${darken(0.10, itemButtonBgColor)}`}; \n }\n }\n\n .verticalLine {\n height: 28px;\n width: 2px;\n background-color: #E3E5F5;\n border-radius: 100px;\n margin: 0 32px 0 20px;\n display: ${({ isMultiPage }) => (isMultiPage ? 'inline-block' : 'none')};\n }\n`;\n\nexport default ScDonateNowBadge;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { t } from '@jotforminc/translation';\nimport { string } from 'prop-types';\nimport SELECTORS from '../../../store/selectors';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport ScDonateNowBadge from './ScDonateNowBadge';\n\nconst DonateNowBadge = ({ wrapperClass }) => {\n const isMultiPage = useSelector(SELECTORS.getIsMultiPage);\n const donationItemID = useSelector(SELECTORS.getDonationItemID);\n const { itemButtonBgColor, itemButtonFontColor } = useSelector(SELECTORS.getItemWithDefaults(donationItemID));\n const dispatch = useDispatch();\n\n const handleDonateNowClick = () => dispatch(ACTION_CREATORS.showDonationItemAction());\n\n return (\n \n \n \n {t('Donate')}\n \n \n );\n};\n\nDonateNowBadge.propTypes = {\n wrapperClass: string\n};\n\nDonateNowBadge.defaultProps = {\n wrapperClass: ''\n};\n\nexport default DonateNowBadge;\n","import Styled, { css } from 'styled-components';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\nimport { mainFontColor, branding21MainBlue } from '../../../styles/colors';\nimport { applyAlpha } from '../../../utils/styleUtils';\n\nconst ScNavigationPanel = Styled.div`\n${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\ndisplay: none;\n\n.isMultiPage.showNavigationBar.isAccountBox & {\n position: absolute;\n top: 13px;\n left: 14px;\n z-index: 6;\n width: calc(100% - 78px);\n\n @media screen and (max-width: 480px) {\n display: block;\n\n .appText {\n display: block;\n opacity: 0;\n\n &.show {\n opacity: 1;\n transition: opacity .2s ease;\n }\n }\n }\n}\n\n.isMultiPage.showNavigationBar.isAccountBox.isPaymentApp & {\n width: calc(100% - 118px);\n}\n\n.isMultiPage.showNavigationBar.isAccountBox.onlyPaymentHeader & {\n display: none;\n}\n\n.navigationPanelWrapper {\n position: fixed;\n z-index: 12;\n width: 100%;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n box-shadow: 0px 0px 4px 0px #0000001A;\n\n ${({ hasBrandingFooter }) => {\n return css`height: ${hasBrandingFooter ? 'calc(100% - 50px)' : '100%'};`;\n }}\n \n padding: 0;\n transform: translateX(-100%);\n transition: transform .4s ease;\n background-color: #FFFFFF;\n\n @media screen and (max-width: 480px) {\n &.isOpen {\n opacity: 1;\n pointer-events: all;\n transform: translateX(0);\n }\n }\n\n .navPanel {\n &-title {\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid #C9CEEA;\n padding: 20px 0;\n position: absolute;\n width: 100%;\n top: 0;\n background-color: #fff;\n max-height: 90px;\n z-index: 1;\n min-height: 67px;\n\n &-content {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 8px;\n padding: 0 70px 0 14px;\n \n & > span {\n font-size: 18px;\n font-weight: 700;\n line-height: 24px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: ${mainFontColor};\n }\n\n & > img {\n width: auto;\n height: 40px;\n object-fit: contain;\n }\n }\n }\n\n &-items {\n overflow-y: auto;\n padding: 0 14px;\n padding-top: 95px;\n height: 100%;\n\n &-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n align-items: flex-start;\n }\n }\n }\n}\n\n.navBackButton {\n padding-left: 0;\n outline: none;\n\n &:hover {\n background: transparent;\n }\n}\nbutton.navClose {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 45px;\n width: 45px;\n background-color: transparent;\n border-radius: 50%;\n border: 0.5px solid #2C334599;\n}\n\nbutton.navPanel-item {\n font-family: inherit;\n transition: .3s background-color ease;\n text-transform: none;\n background-color: transparent;\n color: ${mainFontColor};\n fill: ${mainFontColor};\n border-radius: 8px;\n padding: 12px 0;\n outline: none;\n\n > span {\n font-size: 16px;\n padding: 0;\n }\n\n &:hover {\n color: ${branding21MainBlue};\n }\n\n &.activePage {\n color: ${branding21MainBlue};\n fill: ${branding21MainBlue};\n }\n\n &:first-of-type {\n margin-top: 0;\n }\n\n & > span { \n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; \n }\n}\n\n` : css`\n.isMultiPage.isProgressOn.isAccountBox & {\n position: relative;\n z-index: 12;\n top: unset;\n left: unset;\n}\n\n.isMultiPage.isAccountBox & {\n position: absolute;\n top: 15px;\n left: 15px;\n z-index: 5;\n}\n\nbutton.navBurger {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 45px;\n width: 45px;\n border-radius: 50%;\n border: 0.5px solid;\n\n ${({ themeProperties }) => {\n return css`border-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? applyAlpha(mainFontColor, 0.15) : applyAlpha(themeProperties.appFontColor, 0.15)};`;\n }}\n\n ${({ themeProperties }) => {\n return css`background-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? '#fff' : themeProperties.appHeaderBgColor};`;\n }}\n\n svg {\n width: 16px;\n height: 10px;\n }\n\n & > svg > path {\n ${({ themeProperties }) => {\n return css`stroke: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? mainFontColor : applyAlpha(themeProperties.appFontColor, 1)};`;\n }}\n }\n}\n\n.navigationPanelWrapper {\n position: fixed;\n z-index: 12;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n box-shadow: 0px 0px 4px 0px #0000001A;\n height: 100%;\n width: 343px;\n padding: 0 13px;\n transform: translateX(-100%);\n transition: transform .4s ease;\n ${({ themeProperties }) => {\n return css`background-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? '#fff' : applyAlpha(themeProperties.appHeaderBgColor, 1)};`;\n }}\n\n &.isOpen {\n opacity: 1;\n pointer-events: all;\n transform: translateX(0);\n }\n\n .navPanel {\n &-title {\n display: flex;\n justify-content: space-between;\n border-bottom: 2px solid;\n padding: 20px 0;\n ${({ themeProperties }) => {\n return css`border-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? applyAlpha(mainFontColor, 0.05) : applyAlpha(themeProperties.appFontColor, 0.05)};`;\n }}\n\n & > span {\n font-size: 22px;\n font-weight: 500;\n line-height: 25px;\n text-align: left;\n flex-basis: calc(100% - 20px);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n ${({ themeProperties }) => {\n return css`color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? mainFontColor : themeProperties.appFontColor};`;\n }}\n }\n\n &-close {\n & > svg {\n ${({ themeProperties }) => {\n return css`fill: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? applyAlpha(mainFontColor, 0.8) : applyAlpha(themeProperties.appFontColor, 0.8)};`;\n }}\n }\n }\n }\n\n &-items {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n margin-top: 20px;\n }\n }\n\n @media screen and (max-width: 480px) {\n width: 248px;\n }\n}\n\nbutton.navClose {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 45px;\n width: 45px;\n background-color: transparent;\n border-radius: 50%;\n border: 0.5px solid #2C334599;\n}\n\nbutton.navPanel-item {\n margin-top: 10px;\n font-family: inherit;\n font-size: 16px;\n font-weight: 400;\n transition: .3s background-color ease;\n text-transform: none;\n padding: 10px;\n justify-content: flex-start;\n background-color: transparent;\n\n ${({ themeProperties }) => {\n return css`color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? mainFontColor : themeProperties.appFontColor};`;\n }}\n\n &:hover {\n ${({ themeProperties }) => {\n return css`background-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? applyAlpha(mainFontColor, 0.05) : applyAlpha(themeProperties.appFontColor, 0.05)};`;\n }}\n }\n\n &:active {\n ${({ themeProperties }) => {\n return css`background-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? applyAlpha(mainFontColor, 0.15) : applyAlpha(themeProperties.appFontColor, 0.15)};`;\n }}\n }\n\n &.activePage {\n ${({ themeProperties }) => {\n return css`color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? mainFontColor : themeProperties.appFontColor};`;\n }}\n\n ${({ themeProperties }) => {\n return css`background-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? applyAlpha(mainFontColor, 0.1) : applyAlpha(themeProperties.appFontColor, 0.1)};`;\n }}\n }\n\n\n &:first-of-type {\n margin-top: 0;\n }\n\n & > span { \n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; \n }\n}\n\n.backdrop {\n position: fixed;\n height: 100%;\n width: 100%;\n z-index: 4;\n top: 0;\n left: 0;\n background-color: #394B7A66;\n opacity: 0;\n pointer-events: none;\n\n @media screen and (max-width: 480px) {\n\n &.isOpen { \n opacity: 1;\n pointer-events: all;\n transition: opacity .3s ease;\n }\n }\n}\n`};\n`;\n\nexport default ScNavigationPanel;\n","import React from 'react';\nimport { bool, func, shape } from 'prop-types';\nimport { useParams } from '@reach/router';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Button } from '@jotforminc/magnet';\nimport SELECTORS from '../../../store/selectors';\nimport { checkMobilePhone } from '../../../utils';\nimport PageIcon from '../../Builder/components/HomePage/PageIcon';\nimport { navigationItemClickAction } from '../../../store/actionCreators';\n\nconst NavigationPanelItem = ({ page, closeNavigationPanel, isNavigationPanelOpen }) => {\n const dispatch = useDispatch();\n const routerParams = useParams();\n const isMobilePhone = checkMobilePhone();\n\n const firstPageID = useSelector(SELECTORS.getFirstPageID);\n\n const {\n name, showPageIcon, pageIcon, id\n } = page;\n const { pageID: activePageID = 'homepage' } = routerParams || {};\n const isHomepageActive = activePageID === 'homepage' && id === firstPageID;\n\n const navigationItemCLickHandler = () => {\n dispatch(navigationItemClickAction(id));\n\n if (isMobilePhone) {\n closeNavigationPanel();\n }\n };\n\n const pageIconRenderer = () => ;\n\n return (\n \n {name}\n \n );\n};\n\nNavigationPanelItem.propTypes = {\n page: shape({}),\n closeNavigationPanel: func,\n isNavigationPanelOpen: bool\n};\n\nNavigationPanelItem.defaultProps = {\n page: {},\n closeNavigationPanel: f => f,\n isNavigationPanelOpen: false\n};\n\nexport default NavigationPanelItem;\n","import React, { useCallback } from 'react';\nimport {\n arrayOf,\n bool,\n shape,\n number\n} from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Hooks } from '@jotforminc/uikit';\nimport { t } from '@jotforminc/translation';\nimport { Feature } from '@jotforminc/feature-toggle';\nimport { IconXmark, IconChevronLeft } from '@jotforminc/svg-icons';\nimport { Button, Flex } from '@jotforminc/magnet';\nimport ScNavigationPanel from './ScNavigationPanel';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport NavigationPanelButton from './NavigationPanelButton';\nimport SELECTORS from '../../../store/selectors';\nimport NavigationPanelItem from './NavigationPanelItem';\nimport { UI_PROPS } from '../../../constants';\n\nconst NavigationPanel = ({\n disableButton,\n pages,\n themeProperties,\n scrollDownValue\n}) => {\n const mobileMenuTitle = useSelector(SELECTORS.getMobileMenuTitle);\n const navigationStack = useSelector(SELECTORS.getUIProp(UI_PROPS.navigationStack));\n const { showMobileMenuIcon, mobileMenuIcon } = useSelector(SELECTORS.getMobileMenuIconProperties);\n const hasBrandingFooter = useSelector(SELECTORS.getHasBrandingFooter);\n const appName = useSelector(SELECTORS.getAppName);\n const { logoURL } = useSelector(SELECTORS.getLogoProperties);\n const allPages = useSelector(SELECTORS.getPagesWithNames);\n const activePageID = useSelector(SELECTORS.getActivePageID);\n const isHomepage = useSelector(SELECTORS.getIsHomepage(activePageID));\n const { name: pageName } = allPages.find(page => page.id === activePageID) || '';\n const isScrolledDown = scrollDownValue > 0;\n\n const dispatch = useDispatch();\n\n const [isNavigationPanelOpen, setNavigationPanelOpen] = Hooks.useClickOutsideStateWithSelector(false, '.navigationPanelWrapper, .navBurger');\n\n const openNavigationPanel = useCallback(() => {\n if (!disableButton) return;\n\n setNavigationPanelOpen(true);\n dispatch(ACTION_CREATORS.trackEventAction({ action: 'navMenuOpened' }));\n }, []);\n\n const closeNavigationPanel = useCallback(() => {\n setNavigationPanelOpen(false);\n }, []);\n\n return (\n \n {!isNavigationPanelOpen && (\n \n {navigationStack.length > 0 ? (\n dispatch(ACTION_CREATORS.navigateBack())}\n aria-label={t('Back')}\n variant='ghost'\n colorStyle='secondary'\n startIcon={IconChevronLeft}\n />\n ) : (\n \n )}\n {!isHomepage && {pageName}}\n \n )}\n <>\n
\n
\n
\n {logoURL && {appName}}\n {appName}\n
\n \n
\n
\n
\n {pages.map(page => (\n \n ))}\n
\n
\n
\n \n \n )}\n />\n );\n};\n\nNavigationPanel.propTypes = {\n pages: arrayOf(shape({})),\n themeProperties: shape({}),\n disableButton: bool,\n scrollDownValue: number\n};\n\nNavigationPanel.defaultProps = {\n pages: [],\n themeProperties: {},\n disableButton: true,\n scrollDownValue: 0\n};\n\nexport default NavigationPanel;\n","import Styled, { css } from 'styled-components';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\n\nexport const ScPortalLoginFlow = Styled.div`\n position: absolute;\n top: 15px;\n right: 15px;\n z-index: 5;\n\n .jNewHeader-avatar {\n padding: 0;\n margin: 0;\n border: none;\n display: block;\n\n .jNewHeader-avatarContainer {\n height: unset;\n\n ${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n .jNewHeader-profile {\n width: 40px;\n height: 40px;\n\n &.empty {\n background-color: #D6D7E7;\n }\n }\n ` : css`\n .jNewHeader-profile {\n &.empty {\n background-color: #D6D7E7;\n }\n }\n `};\n }\n }\n\n .jNewHeader-accountBox {\n right: 0;\n top: 56px;\n\n &::before {\n right: 13px;\n }\n\n &::after {\n right: 18px;\n }\n\n @media screen and (max-width: 480px) {\n width: 300px;\n overflow: unset;\n }\n\n @media screen and (max-width: 375px) {\n width: 94vw;\n }\n\n @media only screen and (max-device-width: 1024px) and (orientation: landscape) {\n overflow: scroll;\n }\n }\n\n .formPage & {\n position: relative;\n top: unset;\n right: unset;\n z-index: 5;\n }\n\n ${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n\n // AppIcon - Pages - AccBox\n .isMultiPage.showNavigationBar.isAccountBox & {\n position: relative;\n min-width: 72px;\n height: 65px;\n top: 0;\n right: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n\n .formAccountBox-wrapper { margin: 12.5px 16px; }\n // HamburgerMenu - - AccBox\n @media screen and (max-width: 480px) {\n position: absolute;\n top: 0;\n right: 0;\n }\n }\n\n .isPaymentApp.showNavigationBar.isAccountBox & {\n position: relative;\n min-width: 72px;\n height: 65px;\n top: 0;\n right: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n\n .formAccountBox-wrapper { margin: 12.5px 16px; }\n\n @media screen and (max-width: 480px) {\n position: absolute;\n top: 0;\n right: 0;\n }\n }\n\n ` : css`\n .isMultiPage.isProgressOn.isAccountBox & {\n position: relative;\n min-width: 45px;\n height: 45px;\n top: unset;\n right: unset;\n }\n\n .isProgressOn.isAccountBox & {\n position: relative;\n min-width: 45px;\n height: 45px;\n top: unset;\n right: unset;\n }\n `};\n\n ${isFeatureEnabled(FEATURE_NAMES.ProductList) && css`\n .isGreeting, .isLoginWelcomeText {\n display: none;\n }\n .formAccountBox-tooltip {\n border: 1px solid #c8ceed;\n box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);\n margin-top: 15px;\n\n &:before {\n border-radius: 4px 0 0;\n border: 1px solid #c8ceed;\n border-width: 1px 0 0 1px;\n top: -7px;\n box-shadow: none;\n }\n }\n .formAccountBox-line {\n &.leftAligned {\n text-align: left;\n }\n &.forUserInfo {\n color: #6F76A7;\n border-color: #E3E5F5;\n }\n &.forLogout {\n border-color: #F3F3FE;\n }\n }\n .formAccountBox-logout, .formAccountBox-titleSmall {\n color: #6F76A7;\n }\n .formAccountBox-loginButton {\n width: 100%;\n text-transform: none;\n height: 48px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: .5em 1em;\n border-radius: 4px;\n cursor: pointer;\n border: 0;\n font-size: 1em;\n line-height: 1.5;\n font-weight: 500;\n font-family: inherit;\n color: #fff;\n background-color: #0A1551;\n }\n .formAccountBox-titleSmall {\n font-size: 12px;\n font-weight: 400;\n margin-bottom: 8px;\n line-height: 26px;\n }\n .formAccountBox-signupLine {\n color: #0A1551;\n margin-top: 8px;\n font-weight: 400;\n\n button span {\n padding: 0 4px;\n }\n }\n .formAccountBox-signupLine, .formAccountBox-signupLink {\n font-size: 14px;\n line-height: 26px;\n }\n .formAccountBox-signupLink {\n color: #0099ff;\n font-weight: 500;\n margin-left: 4px;\n }\n .formAccountBox-signupLink, .formAccountBox-footerButton {\n background-color: transparent;\n border: none;\n padding: 0;\n }\n .formAccountBox-footerButton {\n text-align: left;\n }\n `};\n\n .formAccountBox-wrapper {\n top: 0;\n right: 0;\n\n .avatarBox {\n border: 2px solid #fff;\n ${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n ` : css`\n width: 44px;\n height: 44px;\n `};\n }\n\n .formAccountBox-tooltip {\n .formAccountBox-line.forUserInfo {\n cursor: default;\n }\n\n .formAccountBox-line.forLogout {\n cursor: pointer;\n }\n }\n }\n`;\n","import React, { useCallback } from 'react';\nimport { navigate } from '@reach/router';\nimport { string } from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport styled from 'styled-components';\nimport { useDispatch } from 'react-redux';\nimport { trackEventAction } from '../../store/actionCreators';\n\nconst ScAccountBoxLinkRenderer = styled.div`\n cursor: pointer;\n`;\n\nconst AccountBoxLinkRenderer = ({ text, url }) => {\n const dispatch = useDispatch();\n\n const handleOnClick = useCallback(() => {\n if (url && url.includes('previousDonations')) {\n dispatch(trackEventAction({ action: 'previousDonationButtonClickedAtAccountBox' }));\n }\n navigate(url);\n }, [url]);\n\n return (\n \n {t(text)}\n \n );\n};\n\nAccountBoxLinkRenderer.propTypes = {\n text: string,\n url: string\n};\n\nAccountBoxLinkRenderer.defaultProps = {\n text: '',\n url: ''\n};\n\nexport default AccountBoxLinkRenderer;\n","import React from 'react';\nimport { t } from '@jotforminc/translation';\nimport { Button } from '@jotforminc/magnet';\nimport { func } from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport SELECTORS from '../../store/selectors';\n\nconst GuestShoppingAccountBox = ({ onAccountBoxScreen }) => {\n const isDonationApp = useSelector(SELECTORS.getIsDonationApp);\n\n return (\n
\n
\n

{t(`Login in to track your ${isDonationApp ? 'donations' : 'orders'}`)}

\n onAccountBoxScreen('loginOptions')}\n size='large'\n fullWidth\n >\n {t('Log in')}\n \n

\n {t('New customer?')}\n onAccountBoxScreen('signupOptions')}\n className='pl-0'\n >\n {t('Sign up')}\n \n

\n
\n
\n onAccountBoxScreen('signupOptions')}\n className='h-8 pl-0 color-navy-700'\n >\n {t('Profile')}\n \n onAccountBoxScreen('signupOptions')}\n className='h-8 pl-0 color-navy-700'\n >\n {t(`Previous ${isDonationApp ? 'Donations' : 'Orders'}`)}\n \n
\n
\n );\n};\n\nGuestShoppingAccountBox.propTypes = {\n onAccountBoxScreen: func.isRequired\n};\n\nexport default GuestShoppingAccountBox;\n","import React from 'react';\nimport { func } from 'prop-types';\nimport { Button, Flex } from '@jotforminc/magnet';\nimport { t } from '@jotforminc/translation';\nimport { useSelector } from 'react-redux';\nimport SELECTORS from '../../store/selectors';\n\nfunction ContinueAsFlow({ onContinueAs, onUseDifferentAccount }) {\n const currentUser = useSelector(SELECTORS.getUser);\n const {\n name,\n username,\n email,\n avatarUrl\n } = currentUser;\n const userName = name || username;\n\n return (\n
\n \n \n \n

{userName}

\n

{email}

\n
\n \n {t('Continue as {userName} ', { userName })}\n \n

\n {t('Use a different account?')}\n \n {t('Log in')}\n \n

\n \n
\n );\n}\n\nContinueAsFlow.propTypes = {\n onContinueAs: func,\n onUseDifferentAccount: func\n};\n\nContinueAsFlow.defaultProps = {\n onContinueAs: f => f,\n onUseDifferentAccount: f => f\n};\n\nexport default ContinueAsFlow;\n","import React, {\n useCallback, useEffect, useMemo,\n useState\n} from 'react';\nimport { bool, func } from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { handleCustomNavigation } from '@jotforminc/utils';\nimport { getAPIURL } from '@jotforminc/request-layer';\nimport { isEnterprise } from '@jotforminc/enterprise-utils';\nimport { AccountBox as CommonAccountBoxWrapper, FormUserAccountBox } from '@jotforminc/account-box';\nimport { LoginFlow } from '@jotforminc/login-flow';\n\nimport { ScPortalLoginFlow } from '../PortalLoginFlow/scPortalLoginFlow';\nimport { generateAppURL } from '../../utils/navigation';\nimport { isInJotformKiosk } from '../../utils';\nimport * as ACTION_CREATORS from '../../store/actionCreators';\nimport AccountBoxLinkRenderer from './AccountBoxLinkRenderer';\nimport SELECTORS from '../../store/selectors';\nimport GuestShoppingAccountBox from './GuestShoppingAccountBox';\nimport { UI_PROPS } from '../../constants';\nimport ContinueAsFlow from './ContinueAsFlow';\n\nconst PortalAccountBox = ({ isPreview, loginable, onAccountBoxToggle }) => {\n const dispatch = useDispatch();\n const isDonationApp = useSelector(SELECTORS.getIsDonationApp);\n const isPaymentApp = useSelector(SELECTORS.getIsPaymentApp);\n const isAccountBoxOpen = useSelector(SELECTORS.selectAccountBoxStatus);\n const setAccountBoxOpen = val => dispatch(ACTION_CREATORS.setAccountBoxStatus(val));\n const user = useSelector(SELECTORS.getUser);\n const { showContinueAs } = user;\n\n const handleToolTipToggle = useCallback(isTooltipOpen => setAccountBoxOpen(isTooltipOpen), []);\n\n const initialScreen = useSelector(SELECTORS.getAccountBoxScreen);\n\n const handleAccountBoxScreen = useCallback(screen => dispatch(ACTION_CREATORS.setUIProp(UI_PROPS.activeAccountBoxScreen, screen)), []);\n\n const [continueAsDismissed, setContinueAsDismissed] = useState(false);\n\n useEffect(() => {\n onAccountBoxToggle(isAccountBoxOpen);\n if (isPaymentApp && !isAccountBoxOpen) handleAccountBoxScreen('');\n if (!isAccountBoxOpen) setContinueAsDismissed(false);\n }, [isAccountBoxOpen, isPaymentApp]);\n\n const isUserLoggedIn = useMemo(() => user.USER_TYPE && !!user.email && user.username !== 'guest_apiDemo', [user]);\n\n const handleLogout = useCallback(() => {\n const backTo = generateAppURL({ forLogout: true });\n let origin = 'https://www.jotform.com';\n if (window.isDevelopment) {\n origin = window.location.origin;\n } else if (isEnterprise()) {\n origin = `https://${window.companyDomain}`;\n }\n\n // TODO HANDLE ALL NAVIGATIONS!!\n handleCustomNavigation(`${origin}/logout.php?backTo=${backTo}`, '_self', true);\n }, []);\n\n const handleLogAction = useCallback(({ target: actionName }) => dispatch(ACTION_CREATORS.trackEventAction({ action: 'appLoginFlow', target: { act: actionName } })), []);\n\n const additionalPropsForShopping = useMemo(() => {\n const accountBoxAdditionalLinks = isPaymentApp ? [{\n text: `Previous ${isDonationApp ? 'Donations' : 'Orders'}`,\n url: generateAppURL({ pageID: isDonationApp ? 'previousDonations' : 'previousOrders', absolutePath: false }),\n LinkRenderer: AccountBoxLinkRenderer\n }] : [];\n\n return {\n additionalLinks: {\n append: true,\n links: accountBoxAdditionalLinks\n },\n allowMyForms: !isPaymentApp\n };\n }, [isPaymentApp]);\n\n const LoggedInUserAccountBox = useCallback(() => {\n const {\n avatarUrl, name, email, USER_TYPE: userType\n } = user;\n return (\n \n \n \n );\n }, [isUserLoggedIn, user]);\n\n const AccountBoxWrapper = useCallback(() => {\n if (!loginable || isInJotformKiosk()) return
;\n\n const toggleAccountBox = useCallback(() => setAccountBoxOpen(!isAccountBoxOpen), []);\n const apiURL = getAPIURL();\n const greetingMessage = window.JOTFORM_ENV === 'ENTERPRISE' ? 'Welcome' : 'Welcome to Jotform';\n return (\n \n f}\n >\n {\n isAccountBoxOpen && (\n (showContinueAs && !continueAsDismissed && setContinueAsDismissed(true)} onContinueAs={() => dispatch(ACTION_CREATORS.continueAsUser())} />)\n || (isPaymentApp && !initialScreen && ) || (\n
\n
\n dispatch(ACTION_CREATORS.userChangeAction(changedUser))}\n apiURL={apiURL}\n navigationWrapper={
}\n shouldCallNavigate={false}\n additionalScreens={{ epilogue: <> }}\n includeConfirm={true}\n mode='default'\n showLogoOnSignupOptions={false}\n appName=\"portal-apps\"\n greetingMessage={greetingMessage}\n buttonNames={{\n google: 'apps-accountbox-google-login',\n facebook: 'apps-accountbox-facebook-login',\n apple: 'apps-accountbox-apple-login',\n emailLogin: 'apps-accountbox-standart-login-button',\n emailSignup: 'apps-accountbox-header-createmyaccount'\n }}\n initialScreen={initialScreen}\n />\n
\n
\n )\n )\n }\n \n \n );\n }, [isUserLoggedIn, user, isAccountBoxOpen, initialScreen, showContinueAs, continueAsDismissed]);\n\n return isUserLoggedIn && !showContinueAs ? : ;\n};\n\nPortalAccountBox.propTypes = {\n isPreview: bool,\n loginable: bool,\n onAccountBoxToggle: func\n};\n\nPortalAccountBox.defaultProps = {\n isPreview: false,\n loginable: true,\n onAccountBoxToggle: f => f\n};\n\nexport default PortalAccountBox;\n","import React, { useMemo, useState, useEffect } from 'react';\nimport OverflowableList from '@jotforminc/overflowable-list';\nimport { t } from '@jotforminc/translation';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { shape } from 'prop-types';\nimport classNames from 'classnames';\nimport { Utils } from '@jotforminc/uikit';\nimport { Flex } from '@jotforminc/magnet';\nimport { useDebounce } from '@jotforminc/hooks';\nimport PageLink from './PageLink';\nimport ScNavigationBar from './ScNavigationBar';\nimport AppIcon from '../../../components/AppIcon';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport ProductCartContainer from '../ProductCartBadge';\nimport DonateNowBadge from '../DonateNowBadge';\nimport NavigationPanel from './NavigationPanel';\nimport {\n navigationItemClickAction, trackEventAction, navigateToAction\n} from '../../../store/actionCreators';\nimport SELECTORS from '../../../store/selectors';\nimport { isYes, checkMobilePhone } from '../../../utils';\nimport PortalAccountBox from '../../../components/PortalAccountBox';\n\nconst NavigationBar = ({ themeProperties }) => {\n const dispatch = useDispatch();\n const activePageID = useSelector(SELECTORS.getActivePageID);\n const _pages = useSelector(SELECTORS.getPagesWithNames);\n const firstPageID = useSelector(SELECTORS.getFirstPageID);\n const isShoppingApp = useSelector(SELECTORS.getIsShoppingApp);\n const isDonationApp = useSelector(SELECTORS.getIsDonationApp);\n const isGatewayConnected = useSelector(SELECTORS.getIsGatewayConnected);\n const isFastCheckout = useSelector(SELECTORS.getIsFastCheckoutActive);\n const isAppLoginable = useSelector(SELECTORS.selectIsAppLoginable);\n const homepageName = useSelector(SELECTORS.getHomepageName);\n const isMobilePhone = checkMobilePhone();\n const [hiddenItemIDList, setHiddenItemIDList] = React.useState([]);\n const { logoURL } = useSelector(SELECTORS.getLogoProperties);\n const appName = useSelector(SELECTORS.getAppName);\n const isAppHeaderActive = useSelector(SELECTORS.getOpenAppHeader);\n const [scrollDownValue, setScrollDownValue] = useState(false);\n\n const pages = useMemo(() => _pages.filter(p => isYes(p.showPageOnNavigation)), [_pages]);\n const isMultiplePages = _pages && _pages.length >= 2;\n\n const isPreview = window.location.href.includes('#preview');\n\n const allPagesWithRenderContent = pages.map(page => ({\n ...page,\n content: \n }));\n const shouldShowNavigationPart = allPagesWithRenderContent.length >= 2; // Has at least 1 page more besides home page.\n\n const handleBackHomage = () => {\n dispatch(navigationItemClickAction(firstPageID)); // return to homepage but the id of homepage may be different from 0\n dispatch(trackEventAction({ action: 'topbar-appIconClicked' }));\n };\n\n const handleCartClick = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'cart' }));\n };\n\n const onAccessibleClick = e => Utils.isPressedKeyEnter(e) && handleBackHomage();\n\n const handleOnScroll = useDebounce(e => setScrollDownValue(e.target.scrollTop), 100);\n\n useEffect(() => {\n const scrollableEl = document.querySelector('.scrollableItemListWrapper');\n\n scrollableEl?.addEventListener('scroll', handleOnScroll);\n\n return () => scrollableEl?.removeEventListener('scroll', handleOnScroll);\n }, []);\n\n return (\n \n {isMultiplePages && (\n \n )}\n\n {(logoURL || appName) && (\n 250 || !isYes(isAppHeaderActive) ? 'show' : ''} sm:w-auto w-full h-full gap-2 pl-4 pr-16`} alignItems='center'>\n {logoURL && (\n \n \n
\n )}\n {appName && {appName}}\n \n )}\n\n {shouldShowNavigationPart && (\n
\n \n
\n \n {t('More')}\n \n \n \n \n \n \n
\n
\n )}\n />\n
\n )}\n {isShoppingApp && !isFastCheckout && (\n \n )}\n {(isGatewayConnected && isDonationApp && !isMobilePhone && isMultiplePages) && }\n {(!window.isTemplateMode && isAppLoginable) && (\n \n )}\n \n );\n};\n\nNavigationBar.propTypes = {\n themeProperties: shape({})\n};\n\nNavigationBar.defaultProps = {\n themeProperties: {}\n};\n\nexport default NavigationBar;\n","import React, { memo } from 'react';\nimport { func } from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport classnames from 'classnames';\nimport AppProgressBar from '../../../components/AppProgressBar';\nimport ScTopBar from './ScTopBar';\nimport { isYes } from '../../../utils';\nimport SELECTORS from '../../../store/selectors';\nimport NavigationBar from './NavigationBar';\n\nconst TopBar = ({ handleProductClick }) => {\n const isMultiPage = useSelector(SELECTORS.getIsMultiPage);\n const shouldShowProgressBar = useSelector(SELECTORS.getShouldShowProgressBar);\n const themeProperties = useSelector(SELECTORS.getThemeProperties);\n const showNavigationBar = useSelector(SELECTORS.getShowNavigationBar);\n const isPaymentApp = useSelector(SELECTORS.getIsPaymentApp);\n\n return (\n \n {shouldShowProgressBar && (\n \n )}\n \n \n );\n};\n\nTopBar.propTypes = {\n handleProductClick: func\n};\n\nTopBar.defaultProps = {\n handleProductClick: f => f\n};\n\nexport default memo(TopBar);\n","import Styled, { css } from 'styled-components';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\n\nexport const ScPageContentWrapper = Styled.div`\n width: 100%;\n > .app-content-wrapper:only-child {\n margin-top: 40px;\n ${({ isListDetailPage }) => isListDetailPage && `\n @media screen and (max-width: 480px) {\n margin-top: 0;\n }\n `}\n }\n &:not(:has(.itemListWrapper)) .appHeader {\n padding-bottom: 40px;\n }\n\n ${isFeatureEnabled(FEATURE_NAMES.AppFooter) ? css`\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n scroll-behaviour: smooth;\n\n .appStage-body {\n flex: 1 0 auto;\n margin-bottom: 2em;\n }\n\n .appStage-footer {\n flex-shrink: 0;\n }\n ` : css``};\n\n .pageChange-enter-done & {\n transition: opacity .3s ease-in-out;\n opacity: 1;\n }\n \n .pageChange-enter.test-enter-active & {\n transition: opacity .3s ease-in-out;\n opacity: 0;\n }\n \n .pageChange-exit.test-exit-active & {\n transition: opacity .3s ease-in-out;\n opacity: 1;\n\n }\n\n .pageChange-enter & {\n transition: opacity .3s ease-in-out;\n opacity: 1;\n\n }\n \n .pageChange-enter.pageChange-enter-active & {\n transition: opacity .3s ease-in-out;\n opacity: 0;\n }\n \n .pageChange-exit.pageChange-exit-active & {\n transition: opacity .3s ease-in-out;\n opacity: 1;\n }\n`;\n","import { string } from 'prop-types';\nimport React from 'react';\nimport DividerItem from '../../../components/Items/DividerItem';\n\nconst InAppDividerItem = ({ itemFontColor }) => {\n return (\n \n );\n};\n\nInAppDividerItem.propTypes = {\n itemFontColor: string\n};\n\nInAppDividerItem.defaultProps = {\n itemFontColor: ''\n};\n\nexport default InAppDividerItem;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { string } from 'prop-types';\nimport { ProductContainer } from '@jotforminc/product-list';\nimport SELECTORS from '../../store/selectors';\nimport * as ACTION_CREATORS from '../../store/actionCreators';\nimport { MODALS } from '../../constants/modals';\nimport { useProductsToRender } from '../../utils/hooks';\nimport { DefaultDivRenderer } from '../Items/defaultRenderers';\nimport { checkMobilePhone } from '../../utils';\n\nconst ProductListField = ({ itemID }) => {\n const dispatch = useDispatch();\n\n const itemProps = useSelector(SELECTORS.getItemWithDefaults(itemID));\n const ownerProductListLayout = useSelector(SELECTORS.getProductListLayout);\n const showSearch = useSelector(SELECTORS.getShowSearch);\n const currencyInfo = useSelector(SELECTORS.getPortalPaymentCurrencyInfo);\n const {\n formID\n } = itemProps;\n const isFastCheckout = useSelector(SELECTORS.getIsFastCheckoutActive);\n const overridingItemProps = useSelector(SELECTORS.getOverridingProps);\n const productListFavoriteProducts = useSelector(SELECTORS.getFavoriteProductsByItem(itemID));\n const productListLayout = useSelector(SELECTORS.getUserProductListLayout);\n const areThereMultipleProductLists = useSelector(SELECTORS.getAreThereMultipleProductLists);\n // Selector limitations...\n const allCartProducts = useSelector(SELECTORS.getCart);\n const cartProducts = allCartProducts[formID];\n\n const [searchQuery, productsToRender] = useProductsToRender(itemID);\n\n const handleUpdateCart = ({ productID, ...payload }) => {\n dispatch(ACTION_CREATORS.addOrUpdateCartAction(formID, productID, payload));\n };\n\n const handleAddToCart = ({ productID, ...payload }) => {\n dispatch(ACTION_CREATORS.onProductAddToCartAction(productID, itemID, payload));\n };\n\n const handleProductItemClick = productID => {\n dispatch(ACTION_CREATORS.openProductDetailAction({ productID, itemID }));\n };\n\n const handleFavoriteProduct = productID => {\n dispatch(ACTION_CREATORS.favoriteProductAction(itemID, productID, false));\n };\n\n const handleLayoutChange = layout => {\n dispatch(ACTION_CREATORS.updatePortalUserPropsAction({ userProductListLayout: layout }));\n };\n\n const handleSearchInputClick = () => {\n if (areThereMultipleProductLists) {\n dispatch(ACTION_CREATORS.showGenericModalAction({ name: MODALS.SEARCH_IN_PRODUCTS_MODAL }));\n }\n };\n\n const handleFilterProducts = _searchQuery => {\n dispatch(ACTION_CREATORS.onFilterProductsAction({ itemID, searchQuery: _searchQuery }));\n };\n\n const productListActions = {\n onAddToCart: handleAddToCart,\n onUpdateCart: handleUpdateCart,\n onProductItemClick: handleProductItemClick,\n onFavoriteProduct: handleFavoriteProduct,\n onLayoutChange: handleLayoutChange,\n onSearchInputClick: handleSearchInputClick,\n onFilterProducts: handleFilterProducts\n };\n\n const isMobile = checkMobilePhone();\n\n return (\n \n );\n};\n\nProductListField.propTypes = {\n itemID: string\n};\n\nProductListField.defaultProps = {\n itemID: ''\n};\n\nexport default ProductListField;\n","import React from 'react';\nimport { string } from 'prop-types';\nimport { DefaultDivRenderer } from '../../../components/Items/defaultRenderers';\nimport ProductListField from '../../../components/ProductListForm/ProductListField';\nimport ItemOverQuotaWrapper from '../../../components/ItemOverQuotaWrapper';\n\nconst ProductListItem = ({ id, title }) => (\n <>\n {title}\n \n \n \n \n);\n\nProductListItem.propTypes = {\n id: string,\n title: string\n};\n\nProductListItem.defaultProps = {\n id: '',\n title: ''\n};\n\nexport default ProductListItem;\n","import styled from 'styled-components';\nimport { CARD_ACTION_VALUES } from '../../Builder/components/HomePage/RightPanel/constants';\n\nexport const ScCardContainer = styled.div`\n cursor: ${({ buttonRole }) => ((!!buttonRole && buttonRole !== CARD_ACTION_VALUES.NONE) ? 'pointer' : 'auto')};\n`;\n","import React, { useCallback } from 'react';\nimport propTypes from 'prop-types';\nimport { useDispatch } from 'react-redux';\nimport CardItem from '../../../components/Items/CardItem';\nimport { ScCardContainer } from './styled';\nimport ActionHelper from '../../../utils/ActionsHelper';\nimport { ITEM_TYPES } from '../../../constants/itemTypes';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\n\nconst AppCardItem = ({ onFormViewClick, ...props }) => {\n const dispatch = useDispatch();\n const { id, buttonRole, buttonValue } = props;\n const CardActionHelper = ActionHelper.createComponent(ITEM_TYPES.CARD_ITEM);\n\n const handleClick = useCallback(() => {\n if (!buttonRole || !buttonValue) {\n return;\n }\n\n dispatch(ACTION_CREATORS.trackEventAction({ action: 'CardActionTriggered', target: { itemID: id, actionName: buttonRole } }));\n\n CardActionHelper.dispatchAction(\n buttonRole,\n {\n id,\n buttonRole,\n value: buttonValue,\n onFormViewClick,\n dispatch\n }\n );\n }, [buttonRole, buttonValue]);\n\n return (\n \n \n \n );\n};\n\nAppCardItem.propTypes = {\n id: propTypes.string.isRequired,\n buttonRole: propTypes.string,\n buttonValue: propTypes.string,\n onFormViewClick: propTypes.func\n};\n\nAppCardItem.defaultProps = {\n buttonRole: '',\n buttonValue: '',\n onFormViewClick: f => f\n};\n\nexport default AppCardItem;\n","import { ITEM_TYPES } from '../../../constants/itemTypes';\nimport AppCardItem from '../CardItem';\n\nexport const getPublicPresentationItem = type => {\n const comp = {\n [ITEM_TYPES.CARD_ITEM]: AppCardItem\n };\n\n return comp[type] || AppCardItem;\n};\n","import React, { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport string from 'lodash/string';\nimport isEmpty from 'lodash/isEmpty';\nimport List from '../../../components/Items/List';\nimport { getPublicPresentationItem } from './helper';\nimport SELECTORS from '../../../store/selectors';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport { CARD_ACTION_VALUES } from '../../Builder/components/HomePage/RightPanel/constants';\nimport { useInfiniteLoad } from '../../../utils/hooks';\nimport { DS_ITEM_OFFSET } from '../../../store/reducers/dataSource/constants';\nimport { ListWrapper } from '../../../components/Items/List/styled';\nimport CardItemPlaceholder from '../../../assets/cardItemPlaceholder.svg';\n\nconst PublicList = props => {\n const { id, presentationItemID } = props;\n const dispatch = useDispatch();\n const data = useSelector(SELECTORS.dsGetRowsByItemID(id));\n const isLoading = useSelector(SELECTORS.dsGetItemIsLoading(id));\n const hasMore = useSelector(SELECTORS.dsGetThereIsMoreRow(id));\n const presentationItemProps = useSelector(SELECTORS.getPortalItemByIDSelector(presentationItemID));\n const { buttonRole, buttonValue } = presentationItemProps;\n const detailsPage = useSelector(SELECTORS.getDataSourcePage(id));\n const offset = useSelector(SELECTORS.dsGetSourceItemOffset(id));\n const [, setOffset] = useState(offset ?? 0);\n\n const openDetailsPage = rowID => {\n if (buttonRole === CARD_ACTION_VALUES.NAVIGATION && buttonValue === detailsPage?.id) {\n dispatch(ACTION_CREATORS.dsSetActiveListRowIDAndNavigateToDetailsPage({\n id,\n rowID\n }));\n }\n };\n\n const loadMore = () => {\n setOffset(prevOffset => {\n const newOffset = prevOffset + DS_ITEM_OFFSET;\n dispatch(ACTION_CREATORS.dsFetchSourceItemData({ itemID: id, offset: prevOffset }));\n return newOffset;\n });\n };\n\n const [listLastElementRef] = useInfiniteLoad(loadMore, { hasMore: hasMore, isLoading });\n\n if (isEmpty(data)) {\n return null;\n }\n\n return (\n
\n \n {\n\n hasMore && isLoading && (\n
\n \n {\n Array(5).fill(null).map(() => )\n }\n \n
\n )\n }\n
\n );\n};\n\nPublicList.propTypes = {\n id: string.isRequired,\n presentationItemID: string.isRequired\n};\n\nexport default PublicList;\n","import styled, { css } from 'styled-components';\nimport { CARD_ACTION_VALUES } from '../../Builder/components/HomePage/RightPanel/constants';\n\nexport const ScImageField = styled.div`\n cursor: ${({ buttonRole }) => ((!!buttonRole && buttonRole !== CARD_ACTION_VALUES.NONE) ? 'pointer' : 'auto')};\n .imageElementImg{\n width: ${({ width }) => width}px;\n ${({ width, height }) => css` aspect-ratio: ${width}/${height}; `}\n }\n`;\n","import React, { memo } from 'react';\nimport { func, string } from 'prop-types';\nimport { useDispatch } from 'react-redux';\nimport { IconImageFilled } from '@jotforminc/svg-icons';\nimport Image from '../../../components/Image';\nimport ActionHelper from '../../../utils/ActionsHelper';\nimport { ITEM_TYPES } from '../../../constants/itemTypes';\nimport { ScImageField } from './ScImageField';\nimport { isYes } from '../../../utils';\n\nconst ImageField = ({ onFormViewClick, ...props }) => {\n const {\n imageURL, altText, id, buttonRole, buttonValue, width, height, shrink\n } = props;\n const dispatch = useDispatch();\n const ImageActionHelper = ActionHelper.createComponent(ITEM_TYPES.IMAGE);\n\n const handleClick = () => {\n ImageActionHelper.dispatchAction(\n buttonRole,\n {\n id,\n buttonRole,\n value: buttonValue,\n onFormViewClick,\n dispatch\n }\n );\n };\n\n return (\n \n \n \n );\n};\n\nImageField.propTypes = {\n id: string.isRequired,\n imageURL: string,\n altText: string,\n buttonRole: string,\n buttonValue: string,\n width: string,\n height: string,\n onFormViewClick: func,\n shrink: string\n\n};\nImageField.defaultProps = {\n imageURL: '',\n altText: '',\n buttonRole: '',\n buttonValue: '',\n width: '',\n height: '',\n onFormViewClick: f => f,\n shrink: ''\n\n};\n\nexport default memo(ImageField);\n","import { ITEM_TYPES } from '../constants/itemTypes';\nimport InAppFormItem from '../modules/PublicApp/FormItem/index';\nimport FormItem from '../components/Items/FormItem';\nimport HeadingItem from '../components/Items/HeadingItem';\nimport ParagraphItem from '../components/Items/ParagraphItem';\nimport DocumentItem from '../components/Items/DocumentItem';\nimport InAppButtonItem from '../modules/PublicApp/ButtonItem';\nimport WidgetItem from '../components/Items/WidgetItem';\nimport InAppDividerItem from '../modules/PublicApp/DividerItem';\nimport DataElement from '../components/Items/DataElement';\nimport ProductListItem from '../modules/PublicApp/ProductListItem';\nimport SignItem from '../modules/PublicApp/SignItem';\nimport DonationItem from '../components/Items/DonationItem';\nimport List from '../modules/PublicApp/List';\nimport AppListItem from '../modules/PublicApp/CardItem';\nimport LinkFieldItem from '../modules/Builder/components/LinkFieldItem/LinkFieldItem';\nimport ImageField from '../modules/PublicApp/ImageField';\n\n// This will be removed soon.\nexport const getItemComponentByTypeForApp = type => {\n const comp = {\n [ITEM_TYPES.FORM]: InAppFormItem,\n [ITEM_TYPES.HEADING]: HeadingItem,\n [ITEM_TYPES.DONATION]: DonationItem,\n [ITEM_TYPES.PARAGRAPH]: ParagraphItem,\n [ITEM_TYPES.LINK]: LinkFieldItem,\n [ITEM_TYPES.TABLE_LINK]: DataElement,\n [ITEM_TYPES.REPORT_LINK]: DataElement,\n [ITEM_TYPES.SENTBOX_LINK]: DataElement,\n [ITEM_TYPES.SIGN_LINK]: SignItem,\n [ITEM_TYPES.DOCUMENT]: DocumentItem,\n [ITEM_TYPES.IMAGE]: ImageField,\n [ITEM_TYPES.BUTTON]: InAppButtonItem,\n [ITEM_TYPES.DIVIDER]: InAppDividerItem,\n [ITEM_TYPES.WIDGET]: WidgetItem,\n [ITEM_TYPES.PRODUCT_LIST]: ProductListItem,\n [ITEM_TYPES.LIST]: List,\n [ITEM_TYPES.CARD_ITEM]: AppListItem\n };\n return comp[type] || FormItem;\n};\n","import React, { useRef } from 'react';\nimport { oneOf } from 'prop-types';\n\nimport { ItemVisualDefaultProps, ItemVisualPropTypes, renderable } from '../../../constants/propTypes';\nimport { ITEM_TYPES } from '../../../constants/itemTypes';\nimport ScAppItemWrapper from './ScAppItemWrapper';\n\nconst AppItem = props => {\n const {\n type, fileURL,\n children,\n ...rest\n } = props;\n\n const appItemWrapperRef = useRef();\n\n const titleFilteredRest = Object.entries(rest).reduce((prev, [key, value]) => {\n if (key === 'title') {\n return { ...prev };\n }\n return { ...prev, [key]: value };\n }, {});\n\n return (\n \n {children}\n \n );\n};\n\nAppItem.propTypes = {\n type: oneOf(Object.values(ITEM_TYPES)),\n ...ItemVisualPropTypes,\n children: renderable.isRequired\n};\n\nAppItem.defaultProps = {\n type: ITEM_TYPES.FORM,\n ...ItemVisualDefaultProps\n};\n\nexport default AppItem;\n","import React, {\n useCallback, useState, Suspense\n} from 'react';\nimport { Utils } from '@jotforminc/uikit';\n\nimport { safeLazy } from '@jotforminc/safe-lazy-import';\nimport { useDispatch } from 'react-redux';\nimport { ITEM_TYPES } from '../../constants/itemTypes';\nimport { checkAndAddProtocolToTargetLink, isValidLinkTarget } from '../../utils';\nimport { isPWA } from './utils';\nimport { getBaseAppPath } from '../../utils/navigation';\nimport * as ACTION_CREATORS from '../../store/actionCreators';\n// import DocumentPreview from './DocumentPreview';\nconst DocumentPreview = safeLazy(() => import(/* webpackChunkName: \"DocumentPreview\" */'./DocumentPreview'));\n\n/* eslint-disable react/prop-types */\nconst withLinkElement = WrappedComponent => props => {\n const {\n id, type, fileURL, title, resourceURL, behaveAsLink, imageLink\n } = props;\n\n const dispatch = useDispatch();\n\n const linkableElements = [\n ITEM_TYPES.DOCUMENT,\n ITEM_TYPES.LINK,\n ITEM_TYPES.IMAGE\n ];\n\n const checkLinkValueAssigned = () => {\n switch (type) {\n case ITEM_TYPES.DOCUMENT:\n return !!fileURL;\n case ITEM_TYPES.LINK:\n return checkAndAddProtocolToTargetLink(isValidLinkTarget(title));\n case ITEM_TYPES.IMAGE:\n return isValidLinkTarget(imageLink);\n default:\n if (behaveAsLink) {\n return !!resourceURL;\n }\n\n break;\n }\n };\n\n const isLinkValueAssigned = checkLinkValueAssigned();\n\n const isItemTypeLinkable = linkableElements.includes(type) || behaveAsLink;\n\n if (!isItemTypeLinkable || (isItemTypeLinkable && !isLinkValueAssigned)) {\n return ;\n }\n\n // `DocumentItemClicked` should be used for download for data integrity\n const handleTrackEvent = useCallback(() => {\n // Don't ever event.preventDefault(). This handler is only for tracking!\n const ActionNames = {\n [ITEM_TYPES.DOCUMENT]: 'DocumentItemClicked',\n [ITEM_TYPES.LINK]: 'LinkItemClicked',\n [ITEM_TYPES.REPORT_LINK]: 'ReportLinkItemClicked',\n [ITEM_TYPES.IMAGE]: 'ImageItemClicked'\n };\n const action = ActionNames[type];\n dispatch(ACTION_CREATORS.trackEventAction({ action, target: { itemID: id } }));\n }, [type]);\n\n const Hrefs = {\n [ITEM_TYPES.DOCUMENT]: fileURL,\n [ITEM_TYPES.LINK]: checkAndAddProtocolToTargetLink(title),\n [ITEM_TYPES.REPORT_LINK]: resourceURL,\n [ITEM_TYPES.IMAGE]: imageLink\n };\n\n const basePath = getBaseAppPath();\n const openInSameTab = isPWA() && Hrefs[type].startsWith(basePath);\n\n // TODO BETTER ABSTRACTION\n const linkElement = (\n \n \n \n );\n\n const isLinkItem = [\n ITEM_TYPES.LINK\n ].includes(type);\n if (isLinkItem || behaveAsLink) {\n return linkElement;\n }\n\n // Document related things\n const [isPreviewOpened, setPreviewOpened] = useState(false);\n const handlePreviewOpen = useCallback(() => {\n setPreviewOpened(true);\n dispatch(ACTION_CREATORS.trackEventAction({ action: 'DocumentPreviewed', target: { itemID: id } }));\n // Track preview open!\n }, []);\n const handlePreviewClose = useCallback(() => setPreviewOpened(false), []);\n\n const onDownload = useCallback(() => {\n handleTrackEvent(); // `DocumentItemClicked` should be used for download.\n }, []);\n\n const handleKeyPress = useCallback(e => (Utils.isPressedKeyEnter(e) && handlePreviewOpen()), []);\n\n const getAriaLabel = () => {\n switch (type) {\n case ITEM_TYPES.DOCUMENT:\n return 'open file preview';\n default:\n return 'go to link';\n }\n };\n\n return (\n <>\n \n \n \n {isPreviewOpened && (\n }>\n \n \n )}\n \n );\n};\n/* eslint-enable react/prop-types */\n\nexport default withLinkElement;\n","import { shape, string } from 'prop-types';\nimport React, {\n memo, useMemo, useRef\n} from 'react';\nimport { Hooks } from '@jotforminc/uikit';\nimport { useDispatch, useSelector } from 'react-redux';\nimport classnames from 'classnames';\nimport { ITEM_TYPES, LINK_BEHAVIOR_ITEMS } from '../../../constants/itemTypes';\nimport { checkMobilePhone, isShrinkEnabled } from '../../../utils';\nimport { getItemComponentByTypeForApp } from '../../../utils/getItemComponentByTypeForApp';\nimport AppItem from '../AppItem';\nimport withLinkElement from '../withLinkElement';\nimport SELECTORS from '../../../store/selectors';\nimport { onFilterProductsAction } from '../../../store/actionCreators';\n\nconst PublicAppItem = ({\n itemID,\n type,\n shrink,\n clientID,\n embeddedForm,\n decorationProps,\n componentProps,\n appID\n}) => {\n const dispatch = useDispatch();\n const filteredProducts = useSelector(SELECTORS.getFilteredProducts);\n\n const { itemID: filteredItemID } = filteredProducts;\n const WithLinkAppItem = useMemo(() => withLinkElement(AppItem), []);\n\n const { resourceSubType, resourceURL, imageLink } = decorationProps;\n\n const checkItemBehavesAsLink = () => {\n const nonePagedReportTypes = ['csv', 'excel'];\n if (!LINK_BEHAVIOR_ITEMS.includes(type)) {\n return false;\n }\n\n const isNonPagedReport = nonePagedReportTypes.includes(resourceSubType);\n\n switch (true) {\n case type === ITEM_TYPES.REPORT_LINK && isNonPagedReport:\n return true;\n case type === ITEM_TYPES.REPORT_LINK && !isNonPagedReport:\n const { pathname } = new URL(resourceURL);\n const [, _resourceSubType] = pathname.split('/');\n return nonePagedReportTypes.includes(_resourceSubType); // is none paged report or not\n case type === ITEM_TYPES.IMAGE:\n return !!imageLink;\n default:\n return false;\n }\n };\n\n const behaveAsLink = checkItemBehavesAsLink();\n\n const ItemComponent = useMemo(() => getItemComponentByTypeForApp(type));\n\n const itemRef = useRef();\n\n Hooks.useEffectIgnoreFirst(() => {\n if (itemRef.current && filteredItemID === itemID) {\n itemRef.current.scrollIntoView();\n dispatch(onFilterProductsAction({}));\n }\n }, [filteredItemID, itemRef.current]);\n\n const isMobile = checkMobilePhone();\n\n return (\n \n \n \n \n \n );\n};\n\nPublicAppItem.propTypes = {\n itemID: string,\n appID: string,\n type: string,\n shrink: string,\n embeddedForm: string,\n decorationProps: shape({}),\n componentProps: shape({}),\n clientID: string\n};\n\nPublicAppItem.defaultProps = {\n itemID: '',\n appID: '',\n type: '',\n shrink: '',\n embeddedForm: '',\n decorationProps: {},\n componentProps: {},\n clientID: ''\n};\n\nexport default memo(PublicAppItem);\n","import { t } from '@jotforminc/translation';\nimport {\n arrayOf, bool, elementType, func, object, shape, string\n} from 'prop-types';\nimport React, {\n memo, useCallback, useEffect\n} from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Flex } from '@jotforminc/magnet';\nimport { typeHasItem } from '../../../components/Items/SimpleItem/SimpleIcon';\nimport { ITEM_TYPES } from '../../../constants/itemTypes';\nimport { checkMobileOrTablet, isYes } from '../../../utils';\nimport ScItemListWrapper from '../../Builder/components/HomePage/ScItemListWrapper';\nimport ScItemContainer from '../ScItemContainer';\nimport PublicAppItem from './PublicAppItem';\nimport { useItemDefaults } from '../../../properties';\nimport { useDesignatedItemProps } from '../../../utils/hooks';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport SELECTORS from '../../../store/selectors';\nimport { clipPropsWrtCharLimits } from '../../../components/Items/List/helper';\n\nconst PublicAppItemContainer = ({\n MemoIconRenderer,\n getDraft,\n onPrepareCtxMenuItems,\n onItemClick,\n timeZone,\n listBgColor,\n showAppHeader,\n items,\n appVersion,\n isAppLoginable,\n isUserLoggedIn,\n progressManualRestartDate,\n onViewForm,\n appID,\n onShareApp,\n page\n}) => {\n const dispatch = useDispatch();\n const { id: pageID, linkedItemID } = page;\n // const livePreviewStatus = useSelector(SELECTORS.getLivePreviewState);\n\n useEffect(() => {\n if (linkedItemID) {\n dispatch(ACTION_CREATORS.dsFetchDetailPage({ pageID }));\n }\n }, [pageID, linkedItemID, items]);\n\n const { data: dsDetailPageData, isLoading: isDsPageLoading } = useSelector(SELECTORS.dsGetPage(pageID));\n\n const overrideTextAlignmentIfNecessary = elementProps => {\n const isMobileOrTablet = checkMobileOrTablet();\n if (isMobileOrTablet && isYes(elementProps.shrink)) {\n return 'center';\n }\n return elementProps.itemTextAlignment;\n };\n\n const getItemProps = useCallback((itemProps, emptyItem, appLoginable, userLoggedIn) => {\n const {\n id,\n showLinkPreview,\n previewImageURL,\n itemTextAlignment,\n shrink,\n type,\n fileType,\n title,\n showURL,\n showItemIcon,\n itemIcon,\n itemIconColor,\n itemIconBgColor,\n embeddedForm,\n elementSize\n } = itemProps;\n\n const overridedTextAlignment = overrideTextAlignmentIfNecessary(itemProps);\n\n const isIconVisible = (typeHasItem(type)\n && isYes(showItemIcon)) || isYes(showLinkPreview);\n\n const IconRenderer = props => {\n return (\n \n );\n };\n\n const generalProps = {\n ...itemProps,\n itemTextAlignment: overridedTextAlignment,\n showIcon: isIconVisible,\n IconRenderer: IconRenderer,\n getDraft,\n ...(!isYes(showURL) && type === ITEM_TYPES.LINK) ? { DescriptionRenderer: () => null } : {}\n };\n\n const hasThreeDots = appLoginable && userLoggedIn && !window.isTemplateMode;\n\n switch (type) {\n case ITEM_TYPES.FORM:\n const ctxMenuItems = onPrepareCtxMenuItems(id, embeddedForm);\n\n const isEmbeddedForm = isYes(embeddedForm);\n\n const formItemProps = {\n ctxMenuItems,\n hasThreeDots,\n appLoginable,\n userLoggedIn,\n timeZone,\n onClick: formID => onItemClick(formID, ITEM_TYPES.FORM, title, isEmbeddedForm)\n };\n\n Object.assign(generalProps, formItemProps);\n break;\n case ITEM_TYPES.TABLE_LINK:\n const tableProps = {\n onClick: productID => onItemClick(productID, ITEM_TYPES.TABLE_LINK)\n };\n Object.assign(generalProps, tableProps);\n break;\n case ITEM_TYPES.REPORT_LINK:\n const reportProps = {\n onClick: productID => onItemClick(productID, ITEM_TYPES.REPORT_LINK)\n };\n Object.assign(generalProps, reportProps);\n break;\n case ITEM_TYPES.SENTBOX_LINK:\n const sentboxProps = {\n onClick: productID => onItemClick(productID, ITEM_TYPES.SENTBOX_LINK)\n };\n Object.assign(generalProps, sentboxProps);\n break;\n case ITEM_TYPES.SIGN_LINK:\n const signProps = {\n onClick: productID => onItemClick(productID, ITEM_TYPES.SIGN_LINK),\n hasThreeDots\n };\n Object.assign(generalProps, signProps);\n break;\n case ITEM_TYPES.LINK:\n const { title: origTitle, description: origDescription, previewTitle = '' } = generalProps;\n // Swap attributes\n Object.assign(generalProps, {\n title: origDescription || previewTitle || t('Link'),\n description: origTitle\n });\n break;\n case ITEM_TYPES.BUTTON:\n Object.assign(generalProps, { onFormViewClick: onViewForm, onShareAppClick: onShareApp });\n break;\n case ITEM_TYPES.CARD_ITEM: {\n Object.assign(generalProps, { onFormViewClick: onViewForm });\n break;\n }\n case ITEM_TYPES.IMAGE: {\n Object.assign(generalProps, { onFormViewClick: onViewForm });\n break;\n }\n case ITEM_TYPES.PRODUCT_LIST:\n case ITEM_TYPES.WIDGET:\n Object.assign(generalProps, { passive: false });\n break;\n default:\n break;\n }\n\n return generalProps;\n }, [onPrepareCtxMenuItems, getDraft]); // maybe as an argument\n\n const designatedItemProps = useDesignatedItemProps();\n\n return (\n \n \n {\n // eslint-disable-next-line no-nested-ternary\n isDsPageLoading ? (\n \n
\n
\n
\n \n
\n
\n \n
\n \n )\n : items.length\n ? items.map((itemProps => {\n const {\n id: itemID,\n type,\n shrink,\n embeddedForm,\n clientID\n } = itemProps;\n const emptyItem = useItemDefaults(itemProps.type, appVersion);\n const itemPropsWithDefaults = { ...emptyItem, ...itemProps };\n const decorationProps = {\n ...itemPropsWithDefaults,\n ...designatedItemProps,\n itemTextAlignment: overrideTextAlignmentIfNecessary(itemPropsWithDefaults)\n };\n\n const componentProps = getItemProps(decorationProps, emptyItem, isAppLoginable, isUserLoggedIn, progressManualRestartDate);\n const dsItemProps = dsDetailPageData?.[itemID] ?? {};\n const clippedItemProps = clipPropsWrtCharLimits({ ...componentProps, ...dsItemProps });\n\n return (\n \n );\n }))\n :
{t('You don\\'t currently have any items.')}
\n }\n \n \n );\n};\n\nPublicAppItemContainer.propTypes = {\n MemoIconRenderer: elementType,\n getDraft: func,\n onPrepareCtxMenuItems: func,\n timeZone: string,\n listBgColor: string,\n showAppHeader: string,\n items: arrayOf(shape({})),\n appVersion: string,\n isAppLoginable: bool,\n isUserLoggedIn: bool,\n progressManualRestartDate: string,\n onViewForm: func,\n appID: string,\n onItemClick: func,\n onShareApp: func,\n page: object\n};\n\nPublicAppItemContainer.defaultProps = {\n MemoIconRenderer: props =>
,\n getDraft: f => f,\n onPrepareCtxMenuItems: f => f,\n timeZone: '',\n listBgColor: '',\n showAppHeader: '',\n items: [{}],\n appVersion: '',\n isAppLoginable: false,\n isUserLoggedIn: false,\n progressManualRestartDate: '',\n onViewForm: f => f,\n appID: '',\n onItemClick: f => f,\n onShareApp: f => f,\n page: {}\n};\n\nexport default memo(PublicAppItemContainer);\n","import Styled, { css } from 'styled-components';\nimport { responsivenessRules } from '../../../modules/Builder/components/HomePage/ScAppContentWrapper';\n\nconst ScAppFooter = Styled.div`\n ${({ appFontColor }) => (appFontColor ? `\n color: ${appFontColor};\n ` : '')}\n\n ${({ appFooterBgColor }) => (appFooterBgColor ? css`\n background-color: ${appFooterBgColor};\n ` : '')}\n\n ${({ appFontFamily }) => (appFontFamily ? css`\n font-family: ${appFontFamily};\n ` : '')}\n\n text-align: ${({ appFooterTextAlignment }) => appFooterTextAlignment};\n padding: 20px;\n\n .widget {\n margin: 0 auto;\n ${responsivenessRules}\n }\n`;\n\nexport default ScAppFooter;\n","import React from 'react';\nimport { string } from 'prop-types';\nimport ScAppFooter from './ScAppFooter';\n\nconst AppFooter = ({\n appFooterTextAlignment, appFooterBgColor, appFontColor, appFontFamily\n}) => {\n return (\n \n
\n test\n
\n \n );\n};\n\nAppFooter.propTypes = {\n appFooterTextAlignment: string,\n appFooterBgColor: string,\n appFontColor: string,\n appFontFamily: string\n};\n\nAppFooter.defaultProps = {\n appFooterTextAlignment: '',\n appFooterBgColor: '',\n appFontColor: '',\n appFontFamily: ''\n};\n\nexport default AppFooter;\n","import React from 'react';\nimport { createGlobalStyle } from 'styled-components';\nimport { useSelector } from 'react-redux';\nimport SELECTORS from '../../store/selectors';\n\nexport const Styles = createGlobalStyle`\n .page {\n ${({ appBgColor, appBgColorEnd }) => (appBgColor === appBgColorEnd || appBgColor === '') && `background-color: ${appBgColor};`}\n ${({ appBgColor, appBgColorEnd }) => (appBgColor && appBgColorEnd) && `background: linear-gradient(${appBgColor}, ${appBgColorEnd});`}\n ${({ appBgURL }) => appBgURL && `background: url(\"${appBgURL}\") no-repeat center / cover;`}\n ${({ hasBrandingFooter }) => hasBrandingFooter && 'margin-bottom: 48px;'}\n }\n`;\n\nexport default () => {\n const { appBgColor, appBgColorEnd, appBgURL } = useSelector(SELECTORS.getAppBgProperties);\n const hasBrandingFooter = useSelector(SELECTORS.getHasBrandingFooter);\n\n return (\n \n );\n};\n","/* eslint-disable camelcase */\n/* eslint-disable react/prop-types */\nimport React, {\n useState, useRef, useMemo, useEffect, memo, useCallback\n} from 'react';\nimport { t } from '@jotforminc/translation';\nimport { Feature } from '@jotforminc/feature-toggle';\nimport { Hooks } from '@jotforminc/uikit';\nimport { bool, string } from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { IconFormFilled, IconFormPencilFilled, IconProductInboxMono } from '@jotforminc/svg-icons';\nimport { safeJSONParse } from '@jotforminc/utils';\n\nimport { FORM_PRODUCTS, UI_PROPS } from '../../constants';\nimport { isPageHomepage, isValidNumber } from './utils';\n\nimport { ScPublicApp, ScPublicAppRoot } from './scPublicApp';\nimport MobileCtxMenu from './MobileCtxMenu';\nimport { ITEM_TYPES } from '../../constants/itemTypes';\nimport { DESTINATION_TYPES } from '../../constants/navigation';\nimport AppHeader from '../../components/Items/AppHeader';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\nimport ScAppContentWrapper from '../Builder/components/HomePage/ScAppContentWrapper';\nimport {\n checkMobileOrTablet, checkMobilePhone, isInJotformKiosk, isYes\n} from '../../utils';\nimport SimpleIcon from '../../components/Items/SimpleItem/SimpleIcon';\n\nimport { getDrafts } from '../api';\nimport ScAppHeaderWrapper from '../../components/Items/AppHeader/ScAppHeaderWrapper';\nimport LinkThumbnail from '../../components/Items/SimpleItem/LinkThumbnail';\nimport TopBar from './TopBar';\nimport { ScPageContentWrapper } from './ScPageContentWrapper';\nimport SELECTORS from '../../store/selectors';\nimport PublicAppItemContainer from './PublicAppItemContainer';\nimport AppFooter from '../../components/Items/AppFooter';\nimport * as ACTION_CREATORS from '../../store/actionCreators';\nimport AppStyle from './AppStyle';\nimport { useItemDefaults } from '../../properties';\nimport { checkItemAvailable } from '../../utils/itemAvailability';\nimport { replaceTextWithVariables, getUpdatedShareMessage } from '../Builder/components/HomePage/RightPanel/utils';\nimport { MODALS } from '../../constants/modals';\nimport { getDefaultButtonShareObj } from '../Builder/components/HomePage/constants';\nimport { useFormattedPrice } from '../../utils/hooks';\nimport { mutateItems } from '../../utils/mutateItems';\n// eslint-disable-next-line max-statements\nconst AppPreview = ({ pageID, showTopBar, isListDetailPage }) => {\n const appProperties = useSelector(SELECTORS.getAppInfoWithDefaults);\n const pages = useSelector(SELECTORS.getPagesWithNames);\n const firstPageID = useSelector(SELECTORS.getFirstPageID);\n const isUserLoggedIn = useSelector(SELECTORS.selectIsUserLoggedIn);\n const isAppLoginable = useSelector(SELECTORS.selectIsAppLoginable);\n const isOrderNowButtonVisible = useSelector(SELECTORS.getIsOrderNowButtonVisible);\n const isDonationGoalActive = isYes(useSelector(SELECTORS.getDonationItems)[0]?.showDonationGoal);\n const donationItems = useSelector(SELECTORS.getDonationItems) ?? [];\n const targetDonationGoal = useSelector(SELECTORS.getTargetDonationGoal);\n const publicLink = useSelector(SELECTORS.getPublicLink);\n const dispatch = useDispatch();\n\n const activePageID = useMemo(() => (pageID === 'homepage' && isFeatureEnabled(FEATURE_NAMES.SortPages) ? firstPageID : pageID), [pageID, firstPageID]);\n const pageProps = pages.find(pg => parseInt(pg.id, 10) === parseInt(activePageID, 10)) || {};\n const { name: pageName } = pageProps;\n\n const getFormattedPrice = useFormattedPrice();\n\n const {\n id: appID,\n appVersion,\n items: allItems,\n listBgColor,\n showListBg,\n showAppHeader,\n openAppHeader,\n progressManualRestartDate,\n name: appTitle,\n currentDonationGoal: currentDonationAmount\n } = appProperties;\n\n const isSortPagesEnabled = isFeatureEnabled(FEATURE_NAMES.SortPages);\n\n // Handle page not found\n useEffect(() => {\n if (activePageID) {\n const pageIDs = pages.map(p => p.id);\n const isPreview = window.location.hash === '#preview';\n if (!pageIDs.includes(activePageID) && !isPreview) {\n dispatch(ACTION_CREATORS.notFoundFormAction(isValidNumber(false)));\n }\n if (isPreview) {\n window.parent.postMessage({ name: 'PREVIEW_NAVIGATION' });\n }\n }\n }, [appProperties, activePageID]);\n\n const isOldHomepage = useMemo(() => isPageHomepage(pageID), [pageID]);\n const isHomepage = isSortPagesEnabled ? firstPageID === activePageID : isOldHomepage;\n const otherPageItems = useMemo(() => allItems.filter(({ page }) => page === activePageID));\n const homePageItems = useMemo(() => allItems.filter(({ page = 'homepage' }) => isPageHomepage(page)));\n const pageItems = isHomepage && !isSortPagesEnabled ? homePageItems : otherPageItems;\n\n const timeZone = useSelector(SELECTORS.getUserTimezone);\n const items = useMemo(() => {\n const availablePageItems = pageItems.filter(i => {\n const { itemAvailable } = checkItemAvailable({\n appProperties, itemProperties: i, emptyItemProperties: useItemDefaults(i.type, appVersion)\n });\n return itemAvailable;\n });\n\n return mutateItems(availablePageItems);\n }, [pageItems]);\n\n const mobileCtxMenuRef = useRef();\n\n const [mobileCtxMenuFormID, setMobileCtxMenuFormID] = useState(0);\n const [mobileCtxMenuFormIsEmbedded, setMobileCtxMenuFormIsEmbedded] = useState(false);\n const [mobileCtxMenuFormTitle, setMobileCtxMenuFormTitle] = useState('');\n const [mobileContextMenuOpened, setMobileCtxMenuOpened] = Hooks.useClickOutsideState(false, [mobileCtxMenuRef]);\n\n useEffect(() => { dispatch(ACTION_CREATORS.setUIProp(UI_PROPS.mobileContextMenuOpened, mobileContextMenuOpened)); }, [mobileContextMenuOpened]);\n\n const isMobilePhone = checkMobilePhone();\n const [draftInfo, setDraftInfo] = useState({});\n\n useEffect(() => {\n if (isUserLoggedIn) {\n getDrafts(appID).then(resp => setDraftInfo(resp));\n }\n }, [isUserLoggedIn]);\n\n const getDraft = useCallback(formID => {\n return draftInfo[formID] || false;\n }, [draftInfo]);\n\n const handleShareApp = useCallback(buttonValue => {\n const parsedButtonValue = buttonValue === '' ? getDefaultButtonShareObj() : safeJSONParse(buttonValue);\n const donationVarMappings = {\n [t('total amount raised')]: (getFormattedPrice(currentDonationAmount)).trimEnd(),\n [t('goal amount')]: (getFormattedPrice(targetDonationGoal)).trimEnd()\n };\n const variableMappings = {\n ...(isDonationGoalActive && donationVarMappings),\n [t('App Title')]: appTitle\n };\n\n const updatedShareMessageObj = getUpdatedShareMessage(parsedButtonValue, donationItems, isDonationGoalActive);\n let shareMessage = updatedShareMessageObj ? updatedShareMessageObj.text : parsedButtonValue.text;\n shareMessage = replaceTextWithVariables(shareMessage, variableMappings);\n dispatch(ACTION_CREATORS.showGenericModalAction({\n name: MODALS.SHARE_APP,\n shareMessage,\n publicLink,\n appTitle,\n appID\n }));\n }, []);\n\n const handleViewForm = useCallback(formID => {\n if (isInJotformKiosk()) {\n window.sendMessageToJFMobile({\n action: 'openForm',\n formID\n });\n return;\n }\n\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID: formID, productType: FORM_PRODUCTS.FORM\n }));\n }, []);\n\n const handleViewSubmissions = useCallback((formID, isCtxMenuItem) => {\n if (isCtxMenuItem) {\n dispatch(ACTION_CREATORS.setUIProp(UI_PROPS.ctxMenuItemClicked, true));\n }\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID: formID, productType: FORM_PRODUCTS.SENTBOX\n }));\n }, []);\n\n const handleContinueWithDraft = useCallback(formID => {\n const draft = getDraft(formID);\n if (!draft) return;\n\n const { session_id: sessionID, token, saclID } = draft;\n\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID: formID, productType: FORM_PRODUCTS.CONTINUE_DRAFT, sessionID, token, saclID\n }));\n }, [getDraft]);\n\n const handleViewTable = useCallback(productID => {\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID, productType: FORM_PRODUCTS.TABLES\n }));\n }, []);\n\n const handleViewReport = useCallback(productID => {\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID, productType: FORM_PRODUCTS.REPORT\n }));\n }, []);\n\n const handleViewSign = useCallback(productID => {\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID, productType: FORM_PRODUCTS.SIGN\n }));\n }, []);\n\n const handleProductClick = itemType => {\n const PRODUCT_HANDLERS = {\n [ITEM_TYPES.FORM]: handleViewForm,\n [ITEM_TYPES.SIGN_LINK]: handleViewSign\n };\n\n return PRODUCT_HANDLERS[itemType];\n };\n\n const handleItemClick = useCallback((productID, productType, productTitle, isEmbeddedForm = false) => {\n const handlerMap = {\n [ITEM_TYPES.REPORT_LINK]: handleViewReport,\n [ITEM_TYPES.TABLE_LINK]: handleViewTable,\n [ITEM_TYPES.FORM]: handleViewForm,\n [ITEM_TYPES.SENTBOX_LINK]: handleViewSubmissions,\n [ITEM_TYPES.SIGN_LINK]: handleViewSign\n };\n\n const handleViewProduct = handlerMap[productType];\n\n if (isInJotformKiosk() || productType !== ITEM_TYPES.FORM) {\n handleViewProduct(productID);\n return;\n }\n\n const shouldOpenMobileCtxMenu = isMobilePhone && isAppLoginable && isUserLoggedIn && !window.isTemplateMode;\n if (shouldOpenMobileCtxMenu) {\n setMobileCtxMenuFormID(productID);\n setMobileCtxMenuFormTitle(productTitle);\n setMobileCtxMenuFormIsEmbedded(isEmbeddedForm);\n setMobileCtxMenuOpened(true);\n return;\n }\n\n if (isEmbeddedForm) return;\n\n handleViewProduct(productID);\n }, [isMobilePhone, isAppLoginable, isUserLoggedIn]);\n\n const handleCartClick = useCallback(() => {\n dispatch(ACTION_CREATORS.navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'cart' }));\n }, []);\n\n const prepareCtxMenuItems = useCallback((formID, showForm) => {\n const hasDraft = getDraft(formID);\n const isFormEmbedded = isYes(showForm);\n const formItem = items.find(({ id: itemID }) => itemID === formID) || {};\n const { status, submissionCount = 0 } = formItem;\n const hasNoSubmission = submissionCount === 0;\n const isFillAvailable = status !== 'DISABLED';\n const submissionText = t('My Submissions');\n const inboxText = `${submissionText} (${submissionCount})`;\n const list = [\n ...!isFormEmbedded ? [{\n key: 'viewForm',\n text: isFillAvailable ? t('Fill out Form') : t('View Form'),\n handlerFn: handleViewForm,\n Icon: () => \n }] : [],\n {\n key: 'viewSubmissions',\n text: inboxText,\n handlerFn: handleViewSubmissions,\n Icon: () => ,\n isDisabled: hasNoSubmission\n }\n ];\n if (isFillAvailable && !isFormEmbedded) {\n list.push({\n key: 'continueDraft',\n text: t('Continue with Draft'),\n handlerFn: handleContinueWithDraft,\n Icon: () => ,\n isDisabled: !hasDraft\n });\n }\n return list;\n }, [getDraft, items]);\n\n const mobileCtxMenuItems = useMemo(() => {\n if (!isUserLoggedIn) return []; // No ctx menu for non-logged in\n return prepareCtxMenuItems(mobileCtxMenuFormID, mobileCtxMenuFormIsEmbedded);\n }, [isUserLoggedIn, prepareCtxMenuItems, mobileCtxMenuFormID, mobileCtxMenuFormIsEmbedded]);\n\n const overrideTextAlignmentIfNecessary = elementProps => {\n const isMobileOrTablet = checkMobileOrTablet();\n if (isMobileOrTablet && isYes(elementProps.shrink)) {\n return 'center';\n }\n return elementProps.itemTextAlignment;\n };\n\n const MemoIconRenderer = useCallback(props => {\n const {\n // eslint-disable-next-line no-unused-vars\n showLinkPreview, previewImageURL, fileType, type, showItemIcon, iconURL, itemIconColor, itemIconBgColor, elementSize, iconClassName\n } = props;\n if (isYes(showLinkPreview) && previewImageURL) {\n return (\n \n );\n }\n\n if (isYes(showItemIcon)) {\n return (\n \n );\n }\n\n return () => null;\n }, []);\n\n const handleModalClose = () => setMobileCtxMenuOpened(false);\n const itemListWrapperRef = useRef();\n\n const itemGroup = useMemo(() => {\n return (\n \n );\n }, [listBgColor, showListBg, showAppHeader, prepareCtxMenuItems, isUserLoggedIn, items, getDraft]);\n\n const appStageBody = (\n <>\n {isHomepage && (\n \n {isYes(openAppHeader) && (\n \n )}\n \n )}\n \n {items.length ? itemGroup : null}\n \n \n \n );\n\n return (\n
\n \n \n \n {showTopBar && }\n \n
\n {appStageBody}\n
\n \n \n )}\n inactiveComponent={(\n \n {appStageBody}\n \n )}\n />\n
\n
\n
\n );\n};\n\nexport default memo(AppPreview);\n\nAppPreview.propTypes = {\n pageID: string,\n appID: string,\n showTopBar: bool,\n isListDetailPage: bool\n};\n\nAppPreview.defaultProps = {\n pageID: 'homepage',\n appID: '',\n showTopBar: true,\n isListDetailPage: false\n};\n","import React, { memo } from 'react';\nimport { func } from 'prop-types';\nimport { Location, Router } from '@reach/router';\nimport { renderable } from '../../constants/propTypes';\n\n// Reach router's ref blocker to prevent focus:\n// https://github.com/reach/router/blob/d2c9ad06715c9d48c2d16f55f7cd889b626d2521/src/index.js#L342\nconst Comp = props =>
;\n\nconst AppRouter = ({ children, onLocationChange }) => {\n return (\n \n {({ location }) => {\n onLocationChange(location.pathname);\n return (\n \n {children}\n \n );\n }}\n \n );\n};\n\nAppRouter.propTypes = {\n children: renderable.isRequired,\n onLocationChange: func\n};\n\nAppRouter.defaultProps = {\n onLocationChange: f => f\n};\n\nexport default memo(AppRouter);\n","import {\n bool, func, shape, string\n} from 'prop-types';\nimport { getAppPath } from '@jotforminc/router-bridge';\nimport { useEventListener } from '@jotforminc/hooks';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getBasePath } from '../../../../constants/appConfig';\nimport { ITEM_TYPES } from '../../../../constants/itemTypes';\nimport { isAppSubdomain, isYes } from '../../../../utils';\nimport { generateContinueWithDraftPath } from '../../../../utils/navigation';\nimport { generateIframeURL } from '../../utils';\nimport IframeRenderer from './IframeRenderer';\nimport { useFormMessageSender, useFormSubmissionCompleteHandler, useFormMessageHandler } from '../../../../utils/hooks';\nimport { onTodoCompleteAction, trackEventAction } from '../../../../store/actionCreators';\nimport { APP_PREVIEW_URL_HASH } from '../../../../constants';\nimport * as NAVIGATION from '../../../../utils/navigation';\n\nconst FormRenderer = ({\n type: productType,\n productID,\n appID,\n item,\n isAppLoginable,\n isUserLoggedIn,\n navigate,\n user,\n onBackButtonClick,\n ...props\n}) => {\n const {\n type,\n submissionCount,\n completed_showBadge: showCompletedBadge,\n buttonValue\n } = item;\n\n const dispatch = useDispatch();\n\n const formID = ITEM_TYPES.BUTTON === type ? buttonValue : productID;\n\n const _pageURL = generateIframeURL({ appID, id: formID });\n\n const [pageURL, setPageURL] = useState(_pageURL);\n const isPreview = NAVIGATION.getLocationHash() === APP_PREVIEW_URL_HASH;\n\n useEffect(() => {\n setPageURL(_pageURL);\n }, [formID]);\n\n const handleFormCompleted = useCallback(() => {\n if (isAppLoginable && isUserLoggedIn) dispatch(onTodoCompleteAction(productID, submissionCount));\n }, [isAppLoginable, isUserLoggedIn, productID, submissionCount]);\n\n const formMessageSender = useFormMessageSender(formID);\n\n useFormSubmissionCompleteHandler(formID, handleFormCompleted);\n\n useFormMessageHandler(formID, ({ name: actionName, payload }) => {\n switch (actionName) {\n case 'appFlowReady':\n console.log('JF Apps is ready.');\n if (!isPreview) {\n dispatch(trackEventAction({ action: 'formViewed', target: { formID } }));\n }\n break;\n case 'initAppFlow':\n const formIsCompletable = isAppLoginable && isYes(showCompletedBadge);\n formMessageSender('initManager', { user, formIsCompletable });\n break;\n case 'continueWithDraft':\n const { sessionID, token, continueKey } = payload;\n const continuePath = generateContinueWithDraftPath(productID, sessionID, token, continueKey);\n const isStandaloneWithSlug = window?.isStandaloneWithSlug;\n\n if (isStandaloneWithSlug) {\n const basePath = getBasePath();\n navigate(`${basePath}/${continuePath}`);\n } else if (isAppSubdomain()) {\n navigate(`/${appID}/${continuePath}`);\n } else {\n navigate(`${getAppPath()}/${appID}/${continuePath}`);\n }\n setPageURL(generateIframeURL({ appID, id: formID }));\n break;\n case 'thankYouFillAgain':\n const { prefillURL } = payload;\n if (prefillURL) setPageURL(prefillURL);\n break;\n default:\n console.log('Dont know what to do with the message:', { actionName, payload });\n }\n });\n\n // browser back button caching handler for blank iframe issue\n useEventListener('pageshow', event => event.persisted && onBackButtonClick());\n\n return (\n \n );\n};\n\nFormRenderer.propTypes = {\n type: string,\n productID: string,\n appID: string,\n item: shape({}),\n isAppLoginable: bool,\n isUserLoggedIn: bool,\n navigate: func,\n user: shape({}),\n onBackButtonClick: func\n};\n\nFormRenderer.defaultProps = {\n type: '',\n productID: '',\n appID: '',\n item: {},\n isAppLoginable: false,\n isUserLoggedIn: false,\n navigate: f => f,\n user: {},\n onBackButtonClick: f => f\n};\n\nexport default FormRenderer;\n","import { shape, string } from 'prop-types';\nimport React, {\n createRef\n} from 'react';\nimport { getDomainURL } from '@jotforminc/request-layer';\nimport { generateIframeURL } from '../../utils';\nimport IframeRenderer from './IframeRenderer';\nimport { FORM_PRODUCTS } from '../../../../constants';\n\nconst ReportRenderer = ({\n type: productType,\n appID,\n productID,\n item,\n ...props\n}) => {\n const iframeRef = createRef();\n\n const { resourceURL: originalResourceURL } = item;\n\n const resourceURL = new URL(originalResourceURL);\n resourceURL.hostname = getDomainURL().replace(/http[s]:\\/\\//, '');\n\n const pageURL = generateIframeURL({\n appID, id: productID, type: FORM_PRODUCTS.REPORT, resourceURL: resourceURL.toString()\n });\n\n return (\n \n );\n};\n\nReportRenderer.propTypes = {\n type: string,\n appID: string,\n productID: string,\n item: shape({})\n};\n\nReportRenderer.defaultProps = {\n type: '',\n appID: '',\n productID: '',\n item: {}\n};\n\nexport default ReportRenderer;\n","import React from 'react';\nimport { elementType, string } from 'prop-types';\nimport { ErrorScreen as CommonErrorScreen } from '@jotforminc/jotform-common';\n\nimport Styled from 'styled-components';\nimport IconUnreachableSentbox from '../../../../assets/icon_unreachableSentbox.svg';\nimport { mainFontColor } from '../../../../styles/colors';\n\nconst ScWrapper = Styled.div`\n height: 100%;\n background-color: #fff;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 1em;\n`;\n\nconst ScCard = Styled.div`\n text-align: center;\n`;\n\nconst ScTitle = Styled.div`\n color: ${mainFontColor};\n text-transform: uppercase;\n font-weight: 500;\n margin-top: 30px;\n`;\n\nconst ScDescription = Styled.div`\n color: #6F76A7;\n font-size: 14px;\n margin-top: 13px;\n`;\n\nconst UnreachableSentbox = ({ title, description, IconRenderer }) => {\n return (\n ({children})}\n IconWrapper={({ children }) => (<>{children})}\n />\n );\n};\n\nUnreachableSentbox.propTypes = {\n title: string,\n description: string,\n IconRenderer: elementType\n};\n\nUnreachableSentbox.defaultProps = {\n title: '',\n description: '',\n IconRenderer: () => ()\n};\n\nexport default UnreachableSentbox;\n","import { t } from '@jotforminc/translation';\nimport { bool, shape, string } from 'prop-types';\nimport React, { createRef } from 'react';\nimport { useSelector } from 'react-redux';\nimport { generateIframeURL } from '../../utils';\nimport IframeRenderer from './IframeRenderer';\nimport UnreachableSentbox from './UnreachableSentbox';\nimport { FORM_PRODUCTS } from '../../../../constants';\nimport EmptyCartIcon from '../../../../assets/icon_emptyCart.svg';\nimport SELECTORS from '../../../../store/selectors';\n\nconst SentboxRenderer = ({\n type: productType,\n appID,\n productID,\n item,\n checkoutFormID,\n ...props\n}) => {\n const iframeRef = createRef();\n const isPaymentApp = useSelector(SELECTORS.getIsPaymentApp);\n const isDonationApp = useSelector(SELECTORS.getIsDonationApp);\n const hasSentboxAccess = useSelector(SELECTORS.getHasSentboxAccess);\n const isCheckoutForm = (productID === checkoutFormID) && isPaymentApp;\n let pageType;\n let sentboxKeyword;\n switch (true) {\n case isCheckoutForm && isPaymentApp && isDonationApp:\n pageType = FORM_PRODUCTS.PREVIOUS_DONATIONS;\n sentboxKeyword = 'donations';\n break;\n case isCheckoutForm && isPaymentApp:\n pageType = FORM_PRODUCTS.PREVIOUS_ORDERS;\n sentboxKeyword = 'orders';\n break;\n default:\n pageType = FORM_PRODUCTS.SENTBOX;\n sentboxKeyword = 'sentbox';\n break;\n }\n\n const pageURL = generateIframeURL({ appID, id: productID, type: pageType });\n\n const IconRenderer = isCheckoutForm ? () => : undefined;\n const title = `You don't have any previous ${sentboxKeyword}`;\n const translatedTitle = t(title);\n\n if (!hasSentboxAccess) { // Sentbox can not handle no user case\n return (\n \n );\n }\n\n if (isCheckoutForm) { // Previous orders case\n // TODO handle if no-previous-order-yet case too.\n\n return (\n \n );\n }\n\n const { submissionCount = 0 } = item;\n if (!submissionCount) { // Sentbox can not handle unassigned form case because of lack of inbox/sentbox permissions for the user.\n return (\n \n );\n }\n return (\n \n );\n};\n\nSentboxRenderer.propTypes = {\n type: string,\n appID: string,\n productID: string,\n item: shape({}),\n checkoutFormID: string,\n isPreviousOrders: bool\n};\n\nSentboxRenderer.defaultProps = {\n type: '',\n appID: '',\n productID: '',\n item: {},\n checkoutFormID: '',\n isPreviousOrders: false\n};\n\nexport default SentboxRenderer;\n","import {\n bool, number, shape, string\n} from 'prop-types';\nimport React, { createRef } from 'react';\nimport { useDispatch } from 'react-redux';\nimport IframeRenderer from './IframeRenderer';\nimport { generateIframeURL } from '../../utils';\nimport { FORM_PRODUCTS } from '../../../../constants';\nimport { onTodoCompleteAction } from '../../../../store/actionCreators';\nimport { useFormSubmissionCompleteHandler } from '../../../../utils/hooks';\n\nconst SignRenderer = ({\n appID,\n productID,\n item: {\n embedDocumentKey, submissionCount, formID, id\n },\n isAppLoginable,\n isUserLoggedIn,\n ...props\n}) => {\n const dispatch = useDispatch();\n\n const iframeRef = createRef();\n const pageURL = generateIframeURL({\n appID, id: productID, type: FORM_PRODUCTS.SIGN, embedDocumentKey\n });\n\n /*\n Why we use itemID, instead of productID?\n => Checklist app flow is run with the itemID!\n */\n const handleDocumentSigned = () => {\n if (isAppLoginable && isUserLoggedIn) {\n dispatch(onTodoCompleteAction(id, submissionCount));\n }\n };\n\n // if document sign, dependent form will take a submission, so we are tracking this process\n useFormSubmissionCompleteHandler(formID, handleDocumentSigned);\n\n return (\n \n );\n};\n\nSignRenderer.propTypes = {\n appID: string,\n productID: string,\n item: shape({\n embedDocumentKey: string,\n submissionCount: number\n }),\n isAppLoginable: bool,\n isUserLoggedIn: bool\n};\n\nSignRenderer.defaultProps = {\n appID: '',\n productID: '',\n item: {\n embedDocumentKey: '',\n submissionCount: 0\n },\n isAppLoginable: false,\n isUserLoggedIn: false\n};\n\nexport default SignRenderer;\n","import { FORM_PRODUCTS } from '../../../constants';\nimport FormRenderer from './Renderers/FormRenderer';\nimport ReportRenderer from './Renderers/ReportRenderer';\nimport SentboxRenderer from './Renderers/SentboxRenderer';\nimport TablesRenderer from './Renderers/TablesRenderer';\nimport SignRenderer from './Renderers/SignRenderer';\n\nconst RENDERER_COMPONENT_MAP = {\n [FORM_PRODUCTS.FORM]: FormRenderer,\n [FORM_PRODUCTS.CONTINUE_DRAFT]: FormRenderer,\n [FORM_PRODUCTS.TABLES]: TablesRenderer,\n [FORM_PRODUCTS.SENTBOX]: SentboxRenderer,\n [FORM_PRODUCTS.REPORT]: ReportRenderer,\n [FORM_PRODUCTS.SIGN]: SignRenderer\n};\n\nexport const getRendererComponent = type => RENDERER_COMPONENT_MAP[type] || (f => f);\n","import { string } from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { FORM_PRODUCTS } from '../../../constants';\nimport { getRendererComponent } from './constants';\n\nconst RendererComponent = ({\n type, ...rest\n}) => {\n const Renderer = useMemo(() => getRendererComponent(type), [type]);\n\n return (\n \n );\n};\n\nRendererComponent.propTypes = {\n type: string\n};\n\nRendererComponent.defaultProps = {\n type: FORM_PRODUCTS.FORM\n};\n\nexport default RendererComponent;\n","import { ITEM_TYPES } from '../../../../constants/itemTypes';\nimport { FORM_PRODUCTS } from '../../../../constants';\n\nconst ITEM_TYPE_MAP = {\n [FORM_PRODUCTS.FORM]: ITEM_TYPES.FORM,\n [FORM_PRODUCTS.CONTINUE_DRAFT]: ITEM_TYPES.FORM,\n [FORM_PRODUCTS.TABLES]: ITEM_TYPES.TABLE_LINK,\n [FORM_PRODUCTS.SENTBOX]: ITEM_TYPES.SENTBOX_LINK,\n [FORM_PRODUCTS.REPORT]: ITEM_TYPES.REPORT_LINK\n};\n\nexport const getItemType = type => ITEM_TYPE_MAP[type];\n","import Styled from 'styled-components';\nimport { mainFontColor } from '../../../styles/colors';\n\nexport const ScStepsCont = Styled.section`\n width: 100%;\n padding: 8px 12px 8px 12px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n user-select: none;\n border-bottom: 1px solid #C9CADD80;\n min-height: 65px;\n color: ${mainFontColor};\n background-color: #FFF;\n z-index: 1;\n\n .topNav-cont {\n max-width: 640px;\n padding: 10px 0 6px;\n flex-grow: 1;\n position: relative;\n\n &:before,\n &:after {\n content: \"\";\n display: block;\n position: absolute;\n right: 12.5%;\n left: 12.5%;\n top: 14px;\n height: 3px;\n width: auto;\n transition: all 0.3s ease;\n }\n\n &:before {\n background-color: #c2bfcd;\n z-index: 0;\n }\n\n &:after {\n background-color: #54b45c;\n z-index: 1;\n transform: scaleX(0);\n transform-origin: left;\n }\n\n &[data-step=\"1\"]:after { transform: scaleX(0.5); }\n &[data-step=\"2\"]:after { transform: scaleX(1); }\n }\n\n .topNav {\n display: flex;\n align-items: center;\n position: relative;\n z-index: 2;\n justify-content: space-between;\n transition: transform 0.3s ease;\n }\n\n .topNav-item {\n text-align: center;\n flex: 0 0 25%;\n\n a {\n text-decoration: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n &.isActive .item-name { color: #2c3345; font-weight: 700; transition: all 0.2s ease 0.3s; }\n &.isActive ~ .topNav-item .item-ind {\n background-color: #c2bfcd;\n transition: none;\n\n &:after { transform: scale(0); transition: none; }\n }\n }\n\n .item-ind {\n width: 11px;\n height: 11px;\n border-radius: 50%;\n background-color: #54b45c;\n display: block;\n position: relative;\n transition: background-color 0.2s ease 0.3s;\n\n &:after {\n content: \"\";\n display: block;\n box-sizing: border-box;\n position: absolute;\n top: -4px;\n left: -4px;\n z-index: 2;\n transform: scale(1);\n transition: transform 0.2s cubic-bezier(0.19, 1.05, 0.7, 1.39) 0.3s;\n width: 19px;\n height: 19px;\n transform-origin: center;\n border: 2px solid #54b45c;\n border-radius: 50%;\n box-shadow: inset 0 0 0 2px #fff;\n }\n }\n\n .item-name {\n text-transform: uppercase;\n color: #898ba9;\n font-weight: 500;\n margin-top: 9px;\n white-space: nowrap;\n }\n\n .prevStep, .nextStep {\n min-width: 164px;\n min-height: 40px;\n\n span { flex: 1 1 auto; text-align: center; }\n span + svg, svg + span { margin-left: .5em; }\n }\n\n .checkoutTitle {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n\n .appIcon {\n width: 72px;\n height: 65px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n\n & > div {\n margin: 0 16px;\n width: 40px;\n height: 40px;\n\n img {\n width: 39px;\n height: 39px;\n }\n }\n }\n }\n\n .checkoutRight {\n display: flex;\n align-items: center;\n\n .checkoutContShop {\n font-size: 18px;\n font-weight: 400;\n }\n .formAccountBox-wrapper {\n margin-left: 20px;\n }\n }\n\n @media screen and (max-width: 768px) {\n .prevStep, .nextStep {\n min-width: 40px;\n & > span { display: none; }\n span + svg, svg + span { margin-left: 0; }\n }\n }\n\n @media screen and (max-width: 768px) and (orientation: landscape) {\n .item-name { font-size: .875em; line-height: 1.25rem; }\n }\n\n @media screen and (max-width: 480px) {\n .topNav-cont { overflow: hidden; padding-left: 1em; padding-right: 1em; }\n .topNav-item { flex: 0 0 50%; }\n .topNav-item.isActive .item-name {\n opacity: 1;\n font-weight: 500;\n transition: opacity 0.2s ease 0.3s;\n }\n .item-name { opacity: 0; letter-spacing: -.75px; }\n\n .topNav-cont[data-step=\"0\"] {\n .topNav { transform: translateX(25%); }\n &:before, &:after { left: 50%; right: 0%; }\n }\n\n .topNav-cont[data-step=\"1\"] {\n .topNav { transform: translateX(-25%); }\n &:before,\n &:after { left: 0%; right: 0%; }\n &:after { transform: scaleX(0.5); }\n }\n\n .topNav-cont[data-step=\"2\"] {\n .topNav { transform: translateX(-75%); }\n &:before, &:after { left: 0%; right: 50%; }\n &:after { transform: scaleX(1); }\n }\n\n .prevStep, .nextStep {\n z-index: 3;\n position: relative;\n\n &:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -10%;\n height: 120%;\n width: 2em;\n background: rgb(247,247,248);\n }\n }\n\n .prevStep:after { right: -2em; background: linear-gradient(270deg, rgba(247,247,248,0) 0%, rgba(247,247,248,0.7) 40%, rgba(247,247,248,0.9) 100%); }\n .nextStep:after { left: -2em; background: linear-gradient(90deg, rgba(247,247,248,0) 0%, rgba(247,247,248,.7) 40%, rgba(247,247,248,.9) 100%); }\n }\n\n @media screen and (max-width: 480px) {\n font-size: .875em;\n\n nav[title=\"App Header\"] {\n & > div {\n position: relative;\n top: unset;\n right: unset;\n }\n\n .icon .badge {\n top: 7px;\n right: 0;\n }\n\n .badgeName {\n display: block;\n margin-left: 5px;\n }\n }\n\n .checkoutContShop {\n display: none;\n }\n\n .checkoutTitle {\n .appIcon {\n & + span {\n display: none;\n }\n }\n }\n }\n`;\n","import React from 'react';\nimport {\n arrayOf, elementType, func, string\n} from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport { useDispatch, useSelector } from 'react-redux';\nimport classNames from 'classnames';\nimport { IconChevronLeft } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport { ScStepsCont } from '../../Builder/styles/scSteps';\nimport PortalAccountBox from '../../../components/PortalAccountBox';\nimport SELECTORS from '../../../store/selectors';\nimport ProductCartBadge from '../ProductCartBadge';\nimport { navigateToAction } from '../../../store/actionCreators';\nimport ProductFavorite from '../ProductDetailContentRenderer/ProductFavorite';\nimport { DESTINATION_TYPES, SPECIAL_PAGES } from '../../../constants/navigation';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\n\nconst ScreenTopBar = ({\n onBackButtonClick,\n TitleRenderer,\n onAccountBoxToggle,\n topBarClasses\n}) => {\n const dispatch = useDispatch();\n const isCheckoutFormCompleted = useSelector(SELECTORS.getCheckoutFormIsCompleted);\n const isAppLoginable = useSelector(SELECTORS.selectIsAppLoginable);\n const isShoppingApp = useSelector(SELECTORS.getIsShoppingApp);\n const appHeaderBgColor = useSelector(SELECTORS.getAppHeaderBgColor);\n const appFontColor = useSelector(SELECTORS.getAppFontColor);\n const activePageID = useSelector(SELECTORS.getActivePageID);\n const isFastCheckoutActive = useSelector(SELECTORS.getIsFastCheckoutActive);\n const activeProduct = useSelector(SELECTORS.getActiveProductDetails);\n const activeScreen = useSelector(SELECTORS.getActiveScreen);\n const {\n itemID: activeItemID,\n productID: activeProductID\n } = activeProduct;\n const isFavorite = useSelector(SELECTORS.getIsProductFavorite(activeItemID, activeProductID));\n const isCheckoutPage = activeScreen === SPECIAL_PAGES.CHECKOUT;\n\n const handleContinueShopping = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.PAGE, pageID: 'homepage' }));\n };\n\n const ContinueShoppingButton = () => isShoppingApp && !isCheckoutFormCompleted && (\n \n {t('Continue Shopping')}\n \n );\n\n // TODO :: dependency injection!\n\n const accountBox = (\n isAppLoginable ? (\n \n ) : (\n \n {t('Back')}\n \n )\n );\n\n const handleCartClick = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'cart' }));\n };\n\n const shouldFavoriteVisible = activeItemID && activeProductID;\n\n const handleFavorite = () => {\n dispatch(ACTION_CREATORS.favoriteProductAction(activeItemID, activeProductID, false));\n };\n\n const itemDetailsActions = !isFastCheckoutActive ? (\n <>\n {shouldFavoriteVisible && }\n \n \n ) : null;\n\n const topBarButtons = activeScreen === SPECIAL_PAGES.PRODUCT ? itemDetailsActions : accountBox;\n\n return (\n \n \n {t('Back')}\n \n\n {isCheckoutPage ? (\n <>\n
\n {t('Checkout')}\n
\n {isAppLoginable ? (\n
\n \n \n
\n ) : (\n \n )}\n \n ) : (\n <>\n \n {topBarButtons}\n \n )}\n \n );\n};\n\nScreenTopBar.propTypes = {\n onBackButtonClick: func,\n TitleRenderer: elementType,\n onAccountBoxToggle: func,\n topBarClasses: arrayOf(string)\n};\n\nScreenTopBar.defaultProps = {\n onBackButtonClick: f => f,\n TitleRenderer: props =>
,\n onAccountBoxToggle: f => f,\n topBarClasses: []\n};\n\nexport default ScreenTopBar;\n","import React, {\n createRef, useCallback, useEffect, useState\n} from 'react';\nimport {\n bool, func, string\n} from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { useEventListener } from '@jotforminc/hooks';\nimport { FORM_PRODUCTS, UI_PROPS } from '../../../constants';\nimport SELECTORS from '../../../store/selectors';\nimport { isApple, isInJotformKiosk } from '../../../utils';\nimport { useFormProductByPath } from '../../../utils/navigation';\nimport RendererComponent from './RendererComponent';\nimport { ScFormRendererFrameContainer, ScFormRendererRoot } from '../scPublicApp';\nimport { getItemType } from './Renderers/constants';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport ScreenTopBar from '../ScreenRenderer/ScreenTopBar';\nimport { getProductItemProps, isValidNumber } from '../utils';\nimport { checkItemAvailable } from '../../../utils/itemAvailability';\nimport { ITEM_TYPES } from '../../../constants/itemTypes';\nimport AppProgressBar from '../../../components/AppProgressBar';\n\nconst ProductRenderer = ({\n productID, appID, navigate, ...rest\n}) => {\n const pageRef = createRef();\n const dispatch = useDispatch();\n\n const [isIframeBackdropEnabled, setIframeBackdropEnabled] = useState(false);\n\n const isUserLoggedIn = useSelector(SELECTORS.selectIsUserLoggedIn);\n const isAppLoginable = useSelector(SELECTORS.selectIsAppLoginable);\n const user = useSelector(SELECTORS.getUser);\n const appProperties = useSelector(SELECTORS.getAppInfoWithDefaults);\n const hasBrandingFooter = useSelector(SELECTORS.getHasBrandingFooter);\n const isCtxMenuItemClicked = useSelector(SELECTORS.getUIProp(UI_PROPS.ctxMenuItemClicked));\n const shouldShowProgressBar = useSelector(SELECTORS.getShouldShowProgressBar);\n\n const {\n appFontFamily,\n appFontColor,\n appHeaderBgColor,\n checkoutFormID = ''\n } = appProperties;\n\n const productType = useFormProductByPath(appID);\n const actualProductType = isCtxMenuItemClicked ? FORM_PRODUCTS.FORM : productType;\n\n const allItems = useSelector(SELECTORS.getPortalItems);\n\n const actualItem = getProductItemProps(allItems, productID, getItemType(actualProductType)) || {};\n const item = getProductItemProps(allItems, productID, getItemType(productType)) || {};\n\n const isCheckoutFormSentbox = productType === FORM_PRODUCTS.SENTBOX && checkoutFormID === productID && isFeatureEnabled(FEATURE_NAMES.ProductList);\n\n const { page } = actualItem;\n const { title } = isCtxMenuItemClicked ? item : actualItem; // Getting title of Sentbox if exists\n const handleAccountBoxToggle = useCallback(isAccountBoxOpen => setIframeBackdropEnabled(isAccountBoxOpen), []);\n\n const handleBackButtonClick = useCallback(() => {\n dispatch(ACTION_CREATORS.navigateToAction({ to: DESTINATION_TYPES.BACK }));\n dispatch(ACTION_CREATORS.setUIProp(UI_PROPS.ctxMenuItemClicked, false));\n }, []);\n\n useEventListener('popstate', () => {\n if (!isApple()) return;\n if (pageRef && pageRef.current && pageRef.current.style) {\n pageRef.current.style.display = 'none';\n }\n });\n\n useEffect(() => {\n const { itemAvailable: isAvailable } = checkItemAvailable({ appProperties, itemProperties: actualItem });\n\n if (!isAvailable && !isCheckoutFormSentbox) {\n dispatch(ACTION_CREATORS.notFoundResourceAction(productType, isValidNumber(productID)));\n }\n }, [actualItem, productType, isCheckoutFormSentbox]);\n\n const handleViewForm = useCallback(formID => {\n if (isInJotformKiosk()) {\n window.sendMessageToJFMobile({\n action: 'openForm',\n formID\n });\n return;\n }\n\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID: formID, productType: FORM_PRODUCTS.FORM\n }));\n }, []);\n\n const handleViewSign = useCallback(currentProductID => {\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID: currentProductID, productType: FORM_PRODUCTS.SIGN\n }));\n }, []);\n\n const handleProductClick = itemType => {\n const PRODUCT_HANDLERS = {\n [ITEM_TYPES.FORM]: handleViewForm,\n [ITEM_TYPES.SIGN_LINK]: handleViewSign\n };\n\n return PRODUCT_HANDLERS[itemType];\n };\n\n return (\n \n title || ''}\n onAccountBoxToggle={handleAccountBoxToggle}\n />\n {shouldShowProgressBar && (\n \n )}\n \n {isIframeBackdropEnabled && (
)}\n {productType && (\n \n )}\n \n \n\n );\n};\n\nProductRenderer.propTypes = {\n productID: string,\n appID: string,\n navigate: func,\n hasBrandingFooter: bool\n};\n\nProductRenderer.defaultProps = {\n productID: '',\n appID: '',\n navigate: f => f,\n hasBrandingFooter: true\n};\n\nexport default ProductRenderer;\n","import Styled from 'styled-components';\n\nconst ScOrderNowButton = Styled.div`\n position: absolute;\n bottom: 0%;\n z-index: 6;\n display: flex;\n justify-content: center;\n align-items: center;\n background: #F4F5FB;\n box-shadow: 0 -3px 6px rgba(0, 0, 0, 0.15);\n border-radius: 13px 13px 0 0;\n width: 100%;\n\n .orderBtn {\n font-size: 16px;\n width: 100%;\n height: 45px;\n background: #0A1551;\n border-radius: 4px;\n align-items: center;\n color: #FFFFFF;\n margin: 20px 16px 30px;\n border: none;\n cursor: pointer;\n\n span {\n margin-left: 8px;\n color: #fff;\n }\n }\n`;\n\nexport default ScOrderNowButton;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport { Button } from '@jotforminc/magnet';\nimport { t } from '@jotforminc/translation';\nimport SELECTORS from '../../../store/selectors';\nimport * as ACTIONS from '../../../store/actionCreators';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport ScOrderNowButton from './ScOrderNowButton';\nimport { useFormattedPrice } from '../../../utils/hooks';\n\nconst OrderNow = () => {\n const dispatch = useDispatch();\n const isOrderNowButtonVisible = useSelector(SELECTORS.getIsOrderNowButtonVisible);\n const cartTotal = useSelector(SELECTORS.getCartTotal);\n\n const getFormattedPrice = useFormattedPrice();\n\n return (\n <>\n \n \n
\n dispatch(ACTIONS.navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'checkout' }))}\n >\n {t('Order Now')}\n {`${getFormattedPrice(cartTotal)}`}\n \n
\n
\n \n \n );\n};\n\nexport default OrderNow;\n","import {\n string, elementType, node, shape\n} from 'prop-types';\nimport { useEventListener } from '@jotforminc/hooks';\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { ScFormRendererRoot } from '../scPublicApp';\nimport ScreenTopBar from './ScreenTopBar';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport SELECTORS from '../../../store/selectors';\nimport { isApple } from '../../../utils';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport { UI_PROPS } from '../../../constants';\n\nconst ScreenRenderer = ({\n children,\n TitleRenderer,\n classNames,\n itemID,\n productID,\n ...props\n}) => {\n const dispatch = useDispatch();\n const { itemID: activeProductItemID } = useSelector(SELECTORS.getActiveProductDetails);\n\n const pageRef = useRef();\n\n useEventListener('popstate', () => {\n if (!isApple()) return;\n if (pageRef && pageRef.current && pageRef.current.style) {\n pageRef.current.style.display = 'none';\n }\n });\n\n const handleBackButtonClick = useCallback(() => dispatch(ACTION_CREATORS.navigateToAction({ to: DESTINATION_TYPES.BACK })), []);\n\n const topBarClasses = classNames.topBar;\n\n useEffect(() => {\n if (!activeProductItemID && itemID && productID) {\n dispatch(ACTION_CREATORS.setUIProp(UI_PROPS.activeProductDetail, { itemID, productID }));\n }\n }, []);\n\n const childrenWithProps = React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, { ...props });\n }\n return child;\n });\n\n return (\n \n \n {childrenWithProps}\n \n );\n};\n\nScreenRenderer.propTypes = {\n TitleRenderer: elementType,\n children: node,\n classNames: shape({}),\n itemID: string,\n productID: string\n};\n\nScreenRenderer.defaultProps = {\n TitleRenderer: props =>
,\n children:
,\n classNames: {\n topBar: []\n },\n itemID: '',\n productID: ''\n};\n\nexport default ScreenRenderer;\n","import React, { useEffect, useRef } from 'react';\nimport { node } from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport TopBar from './TopBar';\nimport { ScPublicApp, ScPublicAppRoot } from './scPublicApp';\nimport AppStyle from './AppStyle';\nimport { ScPageContentWrapper } from './ScPageContentWrapper';\nimport ANIMATION_TYPES from './AnimationTypes';\nimport { setRouterAnimationTypeAction } from '../../store/actionCreators';\nimport SELECTORS from '../../store/selectors';\n\nconst PageRenderer = ({\n children\n}) => {\n const itemListWrapperRef = useRef();\n const isOrderNowButtonVisible = useSelector(SELECTORS.getIsOrderNowButtonVisible);\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(setRouterAnimationTypeAction(ANIMATION_TYPES.PAGE_CHANGE));\n }, []);\n\n return (\n
\n \n \n \n \n \n {children}\n \n \n \n
\n );\n};\n\nPageRenderer.propTypes = {\n children: node.isRequired\n};\n\nexport default PageRenderer;\n","import styled from 'styled-components';\n\nconst ScCompleteScreen = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n @media screen and (max-width: 480px){\n margin-top: 118px\n }\n @media screen and (min-width: 766px){\n padding-top: 20px;\n }\n\n h2 {\n margin: 20px 0;\n font-size: 18px;\n font-weight: 500;\n }\n\n > .completeScreen-text {\n max-width: 320px;\n font-size: 16px;\n color: #6F76A7;\n text-align: center;\n @media screen and (min-width: 766px) {\n max-width: 480px;\n }\n }\n\n .hr {\n background: #DFDFFF;\n width: 100%;\n height: 1px;\n margin: 20px 0px;\n }\n\n .checkIcon {\n width: 48px;\n height: 48px;\n color: #78BB07;\n }\n\n .completeScreen-btn {\n margin: 20px 0 24px 0;\n min-width: 270px;\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: .5em 1em;\n border-radius: 4px;\n cursor: pointer;\n text-transform: capitalize;\n border: 0;\n font-size: 1em;\n line-height: 1.5;\n font-family: inherit;\n color: #fff;\n background-color: #0A1551;\n }\n\n span.button {\n color: #0099FF;\n font-size: 14px;\n cursor: pointer;\n }\n\n ${({ isDonationApp }) => (isDonationApp ? `\n .completeScreen-price {\n color: #0099FF;\n }\n\n .completeScreen-contBtn {\n margin: 30px 0 24px 0;\n min-width: 270px;\n font-weight: 400;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: .5em 1em;\n border-radius: 4px;\n cursor: pointer;\n text-transform: capitalize;\n border: 0;\n font-size: 14px;\n line-height: 1.5;\n font-family: inherit;\n color: #fff;\n background-color: #0099FF;\n height: 40px;\n }\n\n .line {\n border: 1px solid #DFDFFF;\n width: 130%;\n height: 1px;\n margin: 20px 0 0 0;\n }\n\n h2.share {\n margin: 30px 0 16px 0;\n font-size: 16px;\n font-weight: 700;\n }\n\n .completeScreen-social {\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n display: block;\n width: 22px;\n height: 22px;\n }\n\n a:nth-child(2) {\n margin: 0 8px;\n }\n\n .completeScreen-copyLinkBtn {\n margin-left: 13px;\n min-width: 90px;\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 8px;\n border-radius: 32px;\n cursor: pointer;\n text-transform: capitalize;\n border: 0;\n font-size: 14px;\n font-family: inherit;\n color: #0A1551;\n background-color: #DADEF3;\n height: 32px;\n\n svg {\n width: 16px;\n height: 16px;\n }\n\n span {\n margin-left: 4px;\n }\n }\n }\n ` : '')};\n\n`;\n\nexport default ScCompleteScreen;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { t } from '@jotforminc/translation';\nimport { IconCheckCircleFilled } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport SELECTORS from '../../../store/selectors';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport { navigateToAction } from '../../../store/actionCreators';\nimport ScCompleteScreen from './ScCompleteScreen';\n\nconst StoreCompleteScreen = () => {\n const isAppLoginable = useSelector(SELECTORS.selectIsAppLoginable);\n\n const dispatch = useDispatch();\n\n const handleContinueShopping = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.PAGE, pageID: 'homepage' }));\n };\n\n const handleGoToPreviousOrders = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'previousOrders' }));\n };\n\n return (\n \n \n

\n {t('We\\'ve received your order!')}\n\n

\n {t('We sent a confirmation mail.')}\n {\n isAppLoginable && (\n <>\n
\n {t('Track and edit your order')}\n \n {t('My Previous Orders')}\n \n \n )\n }\n \n {t('Continue Shopping')}\n \n \n );\n};\n\nexport default StoreCompleteScreen;\n","import React, {\n useCallback, useEffect, useMemo, useState\n} from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { t, translationRenderer } from '@jotforminc/translation';\nimport {\n IconCheckCircleFilled,\n IconFacebookFilled,\n IconLinkDiagonal,\n IconLinkedinSquareFilled,\n IconWhatsapp,\n IconTwitter\n} from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport { CopyButton } from '@jotforminc/uikit';\nimport { shareUsingNavigator } from '@jotforminc/utils';\nimport SELECTORS from '../../../store/selectors';\nimport { trackEventAction, navigateToAction } from '../../../store/actionCreators';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport ScCompleteScreen from './ScCompleteScreen';\nimport { useFormattedPrice } from '../../../utils/hooks';\nimport { getSocialMediaOptions, getSocialSharingUtmSources } from '../utils';\nimport { getButtonShareDefMessages } from '../../Builder/components/HomePage/constants';\nimport { replaceTextWithVariables } from '../../Builder/components/HomePage/RightPanel/utils';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\nimport { checkMobileOrTablet, getAppLinkWithUTM } from '../../../utils';\nimport { momentToMilliSeconds } from '../../Builder/components/Settings/utils';\n\nconst DonationCompleteScreen = () => {\n const [isCopied, setCopied] = useState(false);\n const copyButtonText = useMemo(() => (isCopied ? t('Copied to Clipboard!') : t('Copy Link')));\n const dispatch = useDispatch();\n\n useEffect(() => {\n const copyTimer = setTimeout(() => {\n setCopied(false);\n }, 3e3);\n return () => clearTimeout(copyTimer);\n }, [isCopied]);\n\n const handleCopyLink = useCallback(() => {\n setCopied(true);\n dispatch(trackEventAction({ action: 'copyButtonClickedAtTYP' }));\n }, []);\n\n const lastOrderAmount = useSelector(SELECTORS.getLastOrderAmount);\n const publicLink = useSelector(SELECTORS.getPublicLink);\n const appTitle = useSelector(SELECTORS.getAppName);\n const { updated_at: updatedAt, id: appID } = useSelector(SELECTORS.getAppInfoWithDefaults);\n\n const getFormattedPrice = useFormattedPrice();\n\n const variableMapping = { 'App Title': appTitle };\n const shareMessage = replaceTextWithVariables(getButtonShareDefMessages().donationShare, variableMapping);\n const icons = {\n facebookIcon: IconFacebookFilled,\n twitterIcon: IconTwitter,\n linkedinIcon: IconLinkedinSquareFilled,\n whatsappIcon: IconWhatsapp\n };\n const socialMediaOptions = getSocialMediaOptions(shareMessage, publicLink, appID, icons, momentToMilliSeconds(updatedAt), true);\n\n const handleContinueToHomepage = () => dispatch(navigateToAction({ to: DESTINATION_TYPES.PAGE, pageID: 'homepage' }));\n const handlePreviousDonations = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'previousDonations' }));\n dispatch(trackEventAction({ action: 'previousDonationButtonClickedAtTYP' }));\n };\n\n const isDonationApp = useSelector(SELECTORS.getIsDonationApp);\n const isMobileOrTablet = checkMobileOrTablet();\n\n const handleShareButtonClick = option => {\n option.action();\n dispatch(trackEventAction({ action: `shareOn${option.title}ClickedAtTYP` }));\n };\n\n const handleMoreButtonClick = () => {\n shareUsingNavigator(\n { title: appTitle, text: t(shareMessage), url: `${getAppLinkWithUTM(publicLink, appID, getSocialSharingUtmSources('nativeShare', true))}?time=${momentToMilliSeconds(updatedAt)}` }\n );\n dispatch(trackEventAction({ action: 'moreButtonClickedAtTYP' }));\n };\n\n return (\n \n \n

\n {t('Thanks for your support!')}\n

\n \n {translationRenderer('Your donation of [1[price]] will make a big difference.')({\n renderer1: () => {getFormattedPrice(lastOrderAmount)}\n })}\n \n \n {t('Continue to Homepage')}\n {isFeatureEnabled(FEATURE_NAMES.ShareOptions) && (\n
\n

{t('Spread Goodness & Share Your Support')}

\n
\n {socialMediaOptions.map(option => {\n return (\n handleShareButtonClick(option)}\n size=\"small\"\n variant=\"filled\"\n colorStyle=\"teams\"\n startIcon={option.icon}\n rounded={true}\n className=\"ml-2\"\n />\n );\n })}\n {(isMobileOrTablet) ? (\n true && (\n \n {t('More')}\n \n )\n ) : (\n \n {!isCopied && }\n {copyButtonText}\n \n )}\n
\n
\n )}\n
\n );\n};\n\nexport default DonationCompleteScreen;\n","import Styled from 'styled-components';\nimport { mainFontColor } from '../../../styles/colors';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\n\nconst isFeatEnabled = isFeatureEnabled(FEATURE_NAMES.ShareOptions);\n\nconst ScCheckoutScreen = Styled.div`\n display: flex;\n justify-content: center;\n background-color: ${mainFontColor};\n width: 100%;\n position: fixed;\n bottom: 0;\n top: 65px;\n\n .productCart-container {\n max-width: 674px;\n width: 100%;\n height: ${({ hasBrandingFooter, isGatewayRedirectInfoScreen }) => {\n if (isGatewayRedirectInfoScreen) return '364px';\n return hasBrandingFooter ? 'calc(100vh - 165px);' : 'calc(100vh - 115px);';\n }};\n box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);\n border-radius: 6px;\n background-color: #ffffff;\n z-index: 12;\n position: relative;\n margin-top: 50px;\n\n &.complete {\n height: ${({ isDonationApp }) => {\n if (isFeatEnabled && isDonationApp) {\n return '500px';\n } if (isDonationApp) {\n return '365px';\n }\n return '50vh';\n }};\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n @media screen and (max-width: 480px){\n height: 100vh;\n display: flex;\n margin: 0;\n border-radius: 0;\n justify-content: flex-start;\n }\n }\n }\n @media screen and (max-width: 480px) {\n .productCart-container {\n margin-top: 0;\n height: ${({ hasBrandingFooter }) => (hasBrandingFooter ? 'calc(100% - 50px);' : '100%;')};\n border-radius: 0;\n }\n }\n`;\n\nexport default ScCheckoutScreen;\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport classnames from 'classnames';\nimport CheckoutFormRenderer from '../OrderNow/CheckoutFormRenderer';\nimport SELECTORS from '../../../store/selectors';\nimport StoreCompleteScreen from './StoreCompleteScreen';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport { CHECKOUT_FORM_STATUSES } from '../../../constants';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport DonationCompleteScreen from './DonationCompleteScreen';\nimport ScCheckoutScreen from './ScCheckoutScreen';\nimport * as NAVIGATION_CONSTANTS from '../../../constants/navigation';\n\n// TODO: move complete page to another url\n\nconst CheckoutScreen = () => {\n const dispatch = useDispatch();\n const isCheckoutFormCompleted = useSelector(SELECTORS.getCheckoutFormIsCompleted);\n const hasBrandingFooter = useSelector(SELECTORS.getHasBrandingFooter);\n const isDonationApp = useSelector(SELECTORS.getIsDonationApp);\n const isPaymentOverQuota = useSelector(SELECTORS.getIsPaymentOverQuota);\n const cartProductsCount = useSelector(SELECTORS.getCartProductsCount);\n const checkoutFormStatus = useSelector(SELECTORS.getCheckoutFormStatus);\n const isLivePreviewOn = useSelector(SELECTORS.getIsLivePreviewOn);\n const currentUrl = new URL(window.location.href);\n const isCompleteUrl = currentUrl.searchParams.get('complete');\n\n const isComplete = isCompleteUrl || isCheckoutFormCompleted;\n\n const isCheckoutScreenAvailable = (!isPaymentOverQuota && cartProductsCount) || isComplete || isLivePreviewOn;\n\n useEffect(() => {\n if (isCompleteUrl) {\n currentUrl.searchParams.delete('complete');\n window.history.pushState(null, null, currentUrl.toString());\n }\n\n if (!isCheckoutScreenAvailable) {\n dispatch(ACTION_CREATORS.navigateToAction(\n { to: DESTINATION_TYPES[isDonationApp ? 'PAGE' : 'SPECIAL_PAGE'], pageID: isDonationApp ? 'homepage' : 'cart', animationType: NAVIGATION_CONSTANTS.ANIMATION_TYPES.NONE }\n ));\n } else if (!isCompleteUrl) {\n dispatch(ACTION_CREATORS.setCheckoutFormStatus(CHECKOUT_FORM_STATUSES.OPENED));\n }\n }, []);\n\n if (!isCheckoutScreenAvailable) return null;\n\n const CompleteScreen = isDonationApp ? DonationCompleteScreen : StoreCompleteScreen;\n\n const isGatewayRedirectInfoScreen = !isCheckoutFormCompleted && checkoutFormStatus === CHECKOUT_FORM_STATUSES.GATEWAY_REDIRECT_INFO;\n return (\n \n
\n {isCheckoutFormCompleted ? : }\n
\n
\n );\n};\n\nexport default CheckoutScreen;\n","import React from 'react';\nimport { func } from 'prop-types';\nimport '../styles/ProductListButton.scss';\n\nexport const AddToCart = ({\n onClick\n}) => {\n const handleClick = e => {\n e.stopPropagation();\n onClick();\n };\n return (\n \n );\n};\n\nAddToCart.propTypes = {\n onClick: func\n};\n\nAddToCart.defaultProps = {\n onClick: f => f\n};\n","import {\n array, func\n} from 'prop-types';\nimport React from 'react';\n\nimport { Spinner } from '@jotforminc/portal-components';\n\nimport { getOptionProps, getQuantityOptionProps } from '../../../../utils/paymentUtils';\nimport { QUANTITY_PROP } from './constants';\n\nconst CartOption = ({\n options,\n onChange\n}) => {\n if (!options || options.length <= 0) {\n return null;\n }\n\n const quantityOptionProps = getQuantityOptionProps(options);\n const {\n selected\n } = quantityOptionProps;\n\n const spinnerProps = getOptionProps(quantityOptionProps);\n\n const handleChange = newValue => {\n onChange(newValue, QUANTITY_PROP);\n };\n\n return (\n \n );\n};\n\nCartOption.propTypes = {\n options: array,\n onChange: func\n};\n\nCartOption.defaultProps = {\n options: [],\n onChange: f => f\n};\n\nexport default CartOption;\n","import React from 'react';\nimport {\n arrayOf, shape, func, bool, string\n} from 'prop-types';\nimport { AddToCart } from '@jotforminc/portal-components';\nimport { useSelector } from 'react-redux';\nimport { IconCheckCircleFilled } from '@jotforminc/svg-icons';\nimport CartOption from './CartOption';\nimport SELECTORS from '../../../../store/selectors';\n\nconst CartItemOptionsRenderer = ({\n options,\n onChange,\n isFavorite,\n onAddToCart,\n productID,\n itemID,\n hasQuantity\n}) => {\n // Because of selector limitations, we destructure inside component\n const cart = useSelector(SELECTORS.getCart);\n const item = useSelector(SELECTORS.getPortalItemByIDSelector(itemID));\n const { formID } = item;\n const productListCart = cart[formID] || [];\n const isItemSelected = !!productListCart.find(product => product.pid === productID);\n const isSelected = isFavorite && isItemSelected;\n\n switch (true) {\n case isSelected:\n return (\n
\n \n Added To Cart\n
\n );\n case isFavorite:\n return (\n \n );\n case hasQuantity:\n return (\n \n );\n default:\n return null;\n }\n};\n\nCartItemOptionsRenderer.propTypes = {\n options: arrayOf(shape({})),\n onChange: func,\n isFavorite: bool,\n onAddToCart: func,\n productID: string,\n itemID: string,\n hasQuantity: bool\n};\n\nCartItemOptionsRenderer.defaultProps = {\n options: [],\n onChange: f => f,\n isFavorite: false,\n onAddToCart: f => f,\n productID: '',\n itemID: '',\n hasQuantity: true\n};\n\nexport default CartItemOptionsRenderer;\n","import React, { useRef } from 'react';\nimport { bool, func } from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport { Hooks } from '@jotforminc/uikit';\nimport { IconHeartFilled, IconTrashFilled } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\n\nconst CartItemActionButton = ({ onDelete, isFavorite, onFavoriteChange }) => {\n const deleteButtonRef = useRef();\n\n const [areYouSure, setAreYouSure] = Hooks.useClickOutsideState(false, [deleteButtonRef]);\n\n const handleOnDelete = e => {\n e.stopPropagation();\n if (areYouSure) return onDelete();\n\n setAreYouSure(true);\n };\n\n const handleUnfav = e => {\n e.stopPropagation();\n if (areYouSure) return onFavoriteChange();\n\n setAreYouSure(true);\n };\n\n return (\n isFavorite ? (\n \n {t('Remove')}\n \n ) : (\n \n {t('Confirm')}\n \n )\n );\n};\n\nCartItemActionButton.propTypes = {\n onDelete: func,\n isFavorite: bool,\n onFavoriteChange: func\n};\n\nCartItemActionButton.defaultProps = {\n onDelete: f => f,\n isFavorite: false,\n onFavoriteChange: f => f\n};\nexport default CartItemActionButton;\n","/* eslint-disable max-len */\nimport Styled from 'styled-components';\nimport { mainFontColor } from '../../../../styles/colors';\n\nconst ScProductCartItem = Styled.div`\n display: flex;\n flex: 0 0 100%;\n color: ${mainFontColor};\n justify-content: flex-start;\n align-items: center;\n margin: 32px 24px 0px;\n\n .simple-product-item {\n display: flex;\n flex: 1 0 55%;\n justify-content: space-between;\n }\n\n .product-cart-actions {\n display: flex;\n flex: 1 0 27%;\n align-items: center;\n justify-content: space-between;\n margin-left: 16px;\n position: relative;\n\n .form-spinner {\n max-width: 90px;\n\n &-button {\n width: 25px;\n }\n }\n\n .magnet-button > span {\n padding: 0;\n }\n }\n\n .product-image {\n display: flex;\n border: 1px solid #D3DCEF;\n border-radius: 4px;\n flex: 0 0 auto;\n margin-right: 16px;\n\n img {\n width: 196px;\n height: 105px;\n border-radius: 3px;\n }\n }\n\n .product-content {\n display: flex;\n flex-direction: column;\n justify-content: center;\n text-align: left;\n max-width: 180px;\n width: 180px;\n\n &-name {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &-amount {\n font-weight: 700;\n margin-top: 3px;\n }\n }\n\n .form-spinner {\n max-width: 120px;\n }\n\n .product-action {\n border-radius: 64px;\n display: flex;\n align-items: center;\n max-width: 40px;\n overflow: hidden;\n margin-left: auto;\n position: absolute;\n right: 0px;\n z-index: 1;\n\n .icon {\n min-width: 30px;\n height: 30px;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-left: auto;\n cursor: pointer;\n overflow: hidden;\n\n svg {\n display: block;\n margin: auto;\n }\n }\n\n .tooltip {\n color: #fff;\n text-align: left;\n font-size: 14px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n position: absolute;\n opacity: 0;\n padding-right: 12px;\n max-width: 160px;\n pointer-events: none;\n }\n\n &.delete {\n background-color: #6F76A7;\n\n svg {\n fill: #fff;\n width: 14px;\n }\n\n &:hover {\n background-color: #FF3B30;\n transition: background-color ease .3s;\n }\n\n &.clicked {\n max-width: 200px;\n transition: max-width .5s;\n background-color: #FF3B30;\n transition: all ease .3s;\n\n .tooltip {\n position: relative;\n opacity: 1;\n }\n }\n }\n\n &.fav {\n background-color: #E3E5F5;\n\n svg {\n fill: #FF2D55;\n stroke: #FF2D55;\n width: 16px;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n &:hover {\n background-color: #C8CEED;\n transition: background-color ease .3s;\n }\n\n &.clicked {\n max-width: 200px;\n transition: max-width .5s;\n background-color: #FF3B30;\n transition: all ease .3s;\n\n .tooltip {\n position: relative;\n opacity: 1;\n }\n\n svg {\n fill: #FFF;\n stroke: unset;\n width: 14px;\n }\n }\n }\n }\n\n .product-added {\n display: flex;\n color: #78BB07;\n justify-content: space-between;\n align-items: center;\n\n svg {\n margin-right: 5px;\n }\n }\n\n @media screen and (max-width: 480px) {\n .simple-product-item {\n flex: 1 1 0;\n height: 90px;\n justify-content: unset;\n }\n\n .product-cart-actions {\n flex: 1 1 100%;\n margin: 0;\n .addToCartBtn {\n margin: 0;\n height: 35px;\n }\n }\n\n .product-image {\n img {\n width: 88px;\n height: 88px;\n object-fit: cover;\n border-radius: 3px;\n }\n }\n .product-content-mobile-wrapper {\n flex: 1;\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n }\n\n .product-content {\n flex: 1 1 100%;\n }\n\n .product-content-name {\n font-size: 14px;\n }\n\n .product-content-amount {\n margin-top: 0;\n }\n }\n\n`;\nexport default ScProductCartItem;\n","import { string, shape, bool } from 'prop-types';\nimport React, { useCallback } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport CartItemContentRenderer from './CartItemContentRenderer';\nimport CartItemOptionsRenderer from './CartItemOptionRenderer';\nimport CartItemActionButton from './CartItemActionButton';\nimport ScProductCartItem from './ScProductCartItem';\nimport SELECTORS from '../../../../store/selectors';\nimport { QUANTITY_PROP } from './constants';\nimport * as ACTION_CREATORS from '../../../../store/actionCreators';\nimport SimpleProductItem from '../../SimpleProductItem';\nimport { checkMobilePhone } from '../../../../utils';\n\nconst CartItem = ({\n product, totalAmount, isFavorite, itemID, formID\n}) => {\n const dispatch = useDispatch();\n const { options = [], pid: productID } = product;\n const optionsValue = useSelector(SELECTORS.getSelectedOptionsValue(formID, productID));\n\n const handleDelete = useCallback(() => dispatch(ACTION_CREATORS.addOrUpdateCartAction(formID, productID, { quantity: 0 })), [formID, productID]);\n\n const handleFavorite = useCallback((noNotification = false) => {\n dispatch(ACTION_CREATORS.favoriteProductAction(itemID, productID, noNotification));\n }, [itemID, productID]);\n\n const handleOpenProductDetail = useCallback(() => dispatch(ACTION_CREATORS.openProductDetailAction({ productID, itemID })), [productID, itemID]);\n\n const onChange = useCallback(prodID => value => dispatch(ACTION_CREATORS.addOrUpdateCartAction(formID, prodID, { quantity: value })), [formID]);\n\n const getOptionsLengthDifferFromQuantity = () => options.reduce((prev, option) => {\n const { type } = option;\n if (type === QUANTITY_PROP) {\n return prev;\n }\n\n return prev + 1;\n }, 0);\n\n const hasOption = getOptionsLengthDifferFromQuantity() > 0;\n const hasQuantity = !!options.find(({ type }) => type === QUANTITY_PROP);\n\n const handleAddToCart = useCallback(() => {\n // if any option open the detail modal\n if (hasOption) {\n handleOpenProductDetail();\n return;\n }\n\n dispatch(ACTION_CREATORS.onProductItemDetailsAction({ itemID, productProps: { productID, quantity: 1 } }));\n }, [handleOpenProductDetail, hasOption]);\n\n const ActionButton = useCallback(props => (\n \n ), [isFavorite, handleFavorite]);\n\n const Options = useCallback(props => (\n \n ), [isFavorite, handleAddToCart, productID, hasQuantity]);\n\n return (\n \n \n {!checkMobilePhone() && (\n
\n \n \n
\n )}\n
\n );\n};\n\nCartItem.propTypes = {\n product: shape({}),\n totalAmount: string,\n isFavorite: bool,\n itemID: string,\n formID: string\n};\n\nCartItem.defaultProps = {\n product: {},\n totalAmount: '',\n isFavorite: false,\n itemID: '',\n formID: ''\n};\n\nexport default CartItem;\n","import { multiplyMoney, formatPriceObj } from '@jotforminc/money-utils';\nimport { getQuantityOptionProps } from '../../../utils/paymentUtils';\n\nexport const calculateTotalAmount = (product, moneyDetails = {}) => {\n if (!product) return 0;\n\n const { currency, useDecimal, decimalMark } = moneyDetails;\n\n const { price, options } = product;\n if (!options) return price;\n\n const quantityOption = getQuantityOptionProps(options);\n\n const { selected } = quantityOption;\n const numericQuantity = parseInt(selected, 10);\n const result = multiplyMoney({\n price,\n currency,\n useDecimal,\n decimalMark\n }, numericQuantity);\n\n return formatPriceObj(result, moneyDetails);\n};\n","import React from 'react';\nimport {\n string, arrayOf, shape, bool\n} from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport CartItem from './CartItem';\nimport { calculateTotalAmount } from '../../../../components/Toaster/ShoppingNotification/utils';\nimport SELECTORS from '../../../../store/selectors';\nimport { useFormattedPrice } from '../../../../utils/hooks';\n\nconst CartItemList = ({\n itemID, formID, products, isFavorite\n}) => {\n const currencyInfo = useSelector(SELECTORS.getPortalPaymentCurrencyInfo);\n const getFormattedPrice = useFormattedPrice();\n\n return products.map(product => {\n const { pid: productID, price } = product;\n\n const totalAmount = calculateTotalAmount({ ...product, price }, currencyInfo);\n\n return (\n
\n \n
\n );\n });\n};\n\nCartItemList.propTypes = {\n itemID: string,\n formID: string,\n products: arrayOf(shape({})),\n isFavorite: bool\n};\n\nCartItemList.defaultProps = {\n itemID: '',\n formID: '',\n products: [],\n isFavorite: false\n};\n\nexport default CartItemList;\n","import React from 'react';\nimport CartItemList from './CartItemList';\n\nconst Carts = ({ productLists, isFavorite }) => {\n const isMultiProductList = !isFavorite && productLists.length > 1;\n\n return productLists.map(({\n id, formID, cartProducts, title\n }) => (\n
\n {isMultiProductList &&

{title}

}\n \n
\n ));\n};\n\nexport default Carts;\n","import Styled from 'styled-components';\n\nconst ScEmptyCart = Styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n top: 64px;\n\n .empty-favIcon-wrapper {\n width: 104px;\n height: 104px;\n\n span {\n &:after {\n content: '';\n position: absolute;\n z-index: -1;\n bottom: -6px;\n left: 50%;\n transform: translateX(-50%);\n width: 0;\n height: 0;\n border-top: 16px solid #0A1551;\n border-left: 16px solid transparent;\n border-right: 16px solid transparent;\n }\n }\n\n svg {\n width: 52px;\n }\n }\n\n .empty-cart-text {\n margin-top: 34px;\n max-width: 300px;\n text-align: center;\n line-height: 22px;\n\n span {\n display:inline;\n &:after {\n content: ' ';\n display: block;\n }\n }\n }\n`;\n\nexport default ScEmptyCart;\n","import Styled from 'styled-components';\n\nconst ScOrderNowButton = Styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n border-top: 1px solid #DFDFFF;\n padding: 36px 24px;\n\n &.orderNowButton {\n padding: 26px 24px;\n }\n\n .productsInfo {\n font-size: 20px;\n color: #0A1551;\n font-weight: 700;\n line-height: 1;\n margin-right: auto;\n\n .formattedPrice {\n margin-left: 0.75em;\n }\n\n .itemCount {\n font-size: 14px;\n font-weight: 400;\n color: #6F76A7;\n text-align: left;\n margin-top: 8px;\n\n }\n }\n .orderBtn {\n font-size: 16px;\n width: 196px;\n height: 45px;\n background: #0A1551;\n border-radius: 4px;\n align-items: center;\n color: #FFFFFF;\n border: none;\n cursor: pointer;\n\n span {\n margin-left: 8px;\n color: #fff;\n }\n }\n`;\n\nexport default ScOrderNowButton;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Button } from '@jotforminc/magnet';\nimport { t } from '@jotforminc/translation';\nimport SELECTORS from '../../../store/selectors';\nimport { navigateToAction } from '../../../store/actionCreators';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport { useFormattedPrice } from '../../../utils/hooks';\nimport ScOrderNowForScreen from './ScOrderNowForScreen';\n\nconst OrderNowForScreen = () => {\n const dispatch = useDispatch();\n const cartTotal = useSelector(SELECTORS.getCartTotal);\n const cartProductItem = useSelector(SELECTORS.getCartProductItemCount);\n\n const getFormattedPrice = useFormattedPrice();\n\n const openCheckoutPage = () => dispatch(navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'checkout' }));\n\n return (\n \n
\n
\n {t('Total')}\n {cartTotal ? getFormattedPrice(cartTotal) : t('Free')}\n
\n
\n {cartProductItem}\n {' '}\n {cartProductItem > 1 ? t('Items') : t('Item')}\n
\n
\n \n {t('Continue ')}\n {cartTotal ? getFormattedPrice(cartTotal) : t('Free')}\n \n
\n );\n};\n\nexport default OrderNowForScreen;\n","import React, { useEffect } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { t } from '@jotforminc/translation';\nimport { Button } from '@jotforminc/magnet';\nimport { capitalizeFirstLetter } from '@jotforminc/utils';\nimport { IconBasketShoppingFilled } from '@jotforminc/svg-icons';\nimport WarningBox from '@jotforminc/warning-box';\nimport Carts from './Carts';\nimport ScEmptyCart from './ScEmptyCart';\nimport { navigationItemClickAction, setIsChangedPriceInCartAction } from '../../../../store/actionCreators';\nimport OrderNowForScreen from '../../OrderNow/OrderNowForScreen';\nimport SELECTORS from '../../../../store/selectors';\n\nconst ProductCart = () => {\n const dispatch = useDispatch();\n const productListItemsWithCartProducts = useSelector(SELECTORS.getProductListItemsWithCartProducts);\n const isPriceChangedInCart = useSelector(SELECTORS.getIsChangedPriceInCart);\n const firstPageID = useSelector(SELECTORS.getFirstPageID);\n const hasAnyCartProduct = productListItemsWithCartProducts.length > 0;\n\n const handleBackHomage = () => dispatch(navigationItemClickAction(firstPageID));\n\n useEffect(() => {\n return () => dispatch(setIsChangedPriceInCartAction(false));\n });\n\n return (\n <>\n {isPriceChangedInCart && (\n
\n \n {t('Due to changes in products, some products have been removed from your cart.')}\n \n
\n )}\n {!hasAnyCartProduct ? (\n \n
\n 0\n \n
\n \n {capitalizeFirstLetter(t('your cart is empty'))}\n \n
\n \n {t('Start Shopping')}\n \n
\n
\n ) : (\n <>\n
\n \n
\n \n \n )}\n \n );\n};\n\nexport default ProductCart;\n","import React, { useCallback } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { Button } from '@jotforminc/magnet';\nimport { t } from '@jotforminc/translation';\nimport { capitalizeFirstLetter } from '@jotforminc/utils';\nimport { IconHeartFilled } from '@jotforminc/svg-icons';\nimport Carts from '../Cart/Carts';\nimport { navigationItemClickAction } from '../../../../store/actionCreators';\nimport ScEmptyCart from '../Cart/ScEmptyCart';\nimport SELECTORS from '../../../../store/selectors';\n\nconst Favorites = () => {\n const dispatch = useDispatch();\n const favoriteProducts = useSelector(SELECTORS.getFavoriteProductLists);\n const firstPageID = useSelector(SELECTORS.getFirstPageID);\n const hasAnyFavoriteProduct = favoriteProducts.length > 0;\n\n const handleBackHomage = useCallback(() => dispatch(navigationItemClickAction(firstPageID)), [firstPageID]);\n\n return !hasAnyFavoriteProduct ? (\n \n
\n 0\n \n
\n \n {capitalizeFirstLetter(t(\"you haven't favorited any product yet\"))}\n \n
\n \n {t('Start Shopping')}\n \n
\n
\n ) : (\n
\n \n
\n );\n};\n\nexport default Favorites;\n","import Styled, { css } from 'styled-components';\nimport { mainFontColor } from '../../../styles/colors';\n\nexport const ScProductCart = Styled.div`\n display: flex;\n justify-content: center;\n background-color: #f3f3fe;\n width: 100%;\n position: fixed;\n bottom: 0;\n top: 65px;\n\n .productCart-container {\n max-width: 674px;\n width: 100%;\n ${({\n hasBrandingFooter, isPaymentOverQuota\n }) => {\n switch (true) {\n case (isPaymentOverQuota):\n return css`\n height: 385px;\n `;\n case (hasBrandingFooter):\n return css`\n height: calc(100vh - 165px);\n `;\n case (!hasBrandingFooter):\n return css`\n height: calc(100vh - 115px);\n `;\n default:\n return css`\n height: calc(100vh - 115px);\n `;\n }\n }}\n box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);\n border-radius: 6px;\n background-color: #ffffff;\n z-index: 12;\n position: relative;\n margin-top: 50px;\n\n .productCart-title {\n text-align: left;\n margin: 24px 25px 0;\n\n h3 {\n font-size: 20px;\n }\n }\n .cart-tabButtonContainer {\n background-color: #E3E5F5;\n width: calc(100% - 48px);\n margin: 24px 24px 8px 24px;\n display: flex;\n align-items: center;\n border-radius: 4px;\n height: 44px;\n padding: 2px;\n }\n .cart-tabButton {\n height: calc(100% - 2px);\n width: calc(100% - 2px);\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n margin: 1px;\n padding: 2px;\n }\n [data-isactive=\"true\"] {\n background-color: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.04);\n border-radius: 4px;\n transition: background-color ease .3s;\n box-shadow: 0px 3px 1px 0px #0000000A;\n box-shadow: 0px 3px 8px 0px #0000001F;\n }\n .cartContainer {\n display: flex;\n width: 100%;\n height: ${({ hasBrandingFooter }) => (hasBrandingFooter ? 'calc(100vh - 378px);' : 'calc(100vh - 328px);')};\n flex-direction: column;\n background-color: #ffffff;\n overflow-y: scroll;\n padding-bottom: 24px;\n }\n [data-tabid=\"Fav\"] > .cartContainer {\n height: ${({ hasBrandingFooter }) => (hasBrandingFooter ? 'calc(100vh - 290px);' : 'calc(100vh - 240px);')};\n }\n [data-activetab=\"Cart\"] {\n position: relative;\n }\n .orderNowButton {\n position: sticky;\n bottom: 0;\n background-color: #ffffff;\n z-index: 1;\n }\n\n .productList-title {\n background-color: #E3E5F5;\n text-transform: capitalize;\n color: ${mainFontColor};\n margin: 30px 24px 30px 24px;\n border-radius: 4px;\n text-align: left;\n padding: 3px 14px;\n font-weight: 400;\n font-size: 14px;\n line-height: 18px;\n }\n }\n\n @media screen and (max-width: 480px) {\n .productCart {\n &-container {\n margin-top: 0;\n ${({\n hasBrandingFooter, isPaymentOverQuota\n }) => {\n switch (true) {\n case (isPaymentOverQuota):\n return css`\n height: 370px;\n `;\n case (hasBrandingFooter):\n return css`\n height: calc(100% - 50px);\n `;\n case (!hasBrandingFooter):\n return css`\n height: 100%;\n `;\n default:\n return css`\n height: 100%;\n `;\n }\n }}\n .cart {\n &-tabButtonContainer {\n height: 35px;\n border-radius: 9px;\n font-size: 14px;\n }\n\n &-tabButton {\n border-radius: 8px;\n }\n }\n\n .cartContainer {\n height: ${({ hasBrandingFooter }) => (hasBrandingFooter ? 'calc(100vh - 275px);' : 'calc(100vh - 225px)')};\n }\n }\n\n &-title {\n display: none;\n }\n }\n .productCart-container .orderNowButton {\n bottom: ${({ hasBrandingFooter }) => (hasBrandingFooter ? '50px;' : '0')};\n }\n .productCart-container [data-tabid=\"Fav\"] > .cartContainer {\n height: calc(100vh - 158px);\n }\n }\n`;\n","import Styled from 'styled-components';\nimport { mainFontColor } from '../../styles/colors';\n\nexport const ScStoreUnavailable = Styled.div`\n border: 1px solid #D3DCEF;\n color: ${mainFontColor};\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: 24px 25px 0;\n border-radius: 4px;\n text-align: center;\n\n svg {\n width: 116px;\n height: 96px;\n margin-top: 51px;\n }\n\n .storeUnavailable-title {\n margin-top: 12px;\n font-size: 32px;\n font-weight: 700;\n }\n\n .storeUnavailable-desc {\n margin-top: 12px;\n line-height: 36px;\n font-size: 17px;\n margin-bottom: 32px;\n }\n `;\n","import React from 'react';\nimport { t } from '@jotforminc/translation';\nimport BackSoon from '../../assets/backsoon.svg';\nimport { ScStoreUnavailable } from './ScStoreUnavailable';\n\nconst StoreUnavailable = () => (\n \n \n

{t('This store is currently unavailable.')}

\n
{t('Please try again later.')}
\n
\n);\n\nexport default StoreUnavailable;\n","import { bool, func } from 'prop-types';\nimport React from 'react';\nimport { Utils } from '@jotforminc/uikit';\n\nconst TabButton = props => {\n const { onClick } = props;\n const handleKeyDown = e => Utils.isPressedKeyEnter(e) && onClick();\n\n return (\n \n );\n};\n\nTabButton.propTypes = {\n 'data-isactive': bool,\n onClick: func\n};\n\nTabButton.defaultProps = {\n 'data-isactive': false,\n onClick: f => f\n};\n\nexport default TabButton;\n","import { t } from '@jotforminc/translation';\nimport React, { useEffect } from 'react';\nimport { shape } from 'prop-types';\nimport { Tab, TabList } from '@jotforminc/tabs';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ProductCart from './Cart';\nimport Favorites from './Favorites';\nimport { ScProductCart } from './ScProductCart';\nimport { checkMobilePhone } from '../../../utils';\nimport SELECTORS from '../../../store/selectors';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport { navigateToAction } from '../../../store/actionCreators';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\nimport StoreUnavailable from '../../../components/StoreUnavailable';\nimport TabButton from './TabButton';\n\nconst getTabListContants = () => ({\n Cart: {\n label: t('Order Summary')\n },\n Fav: {\n label: t('Favorites')\n }\n});\n\nconst ProductCartContainer = ({ location }) => {\n const isMobile = checkMobilePhone();\n const _isFastCheckout = useSelector(SELECTORS.getIsFastCheckoutActive);\n const hasBrandingFooter = useSelector(SELECTORS.getHasBrandingFooter);\n const _isPaymentOverQuota = useSelector(SELECTORS.getIsPaymentOverQuota);\n const dispatch = useDispatch();\n\n const isPaymentOverQuota = _isPaymentOverQuota && isFeatureEnabled(FEATURE_NAMES.OverQuota);\n const isFastCheckout = _isFastCheckout && !isPaymentOverQuota;\n\n useEffect(() => {\n if (isFastCheckout) {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.BACK }));\n }\n }, [isFastCheckout]);\n\n if (isFastCheckout) return null;\n return (\n \n
\n
\n

{t('Your Cart')}

\n
\n {isPaymentOverQuota ? (\n \n ) : (\n
}\n TabButtonContainer={props =>
}\n TabButton={TabButton}\n TabContainer={props =>
}\n list={getTabListContants()}\n TabListContainer={props =>
}\n >\n \n \n \n \n \n \n \n )}\n
\n \n );\n};\n\nProductCartContainer.propTypes = {\n location: shape({})\n};\n\nProductCartContainer.defaultProps = {\n location: {}\n};\n\nexport default ProductCartContainer;\n","import Styled from 'styled-components';\nimport ScDetailsModal from '../ProductDetailContentRenderer/ScDetailsModal';\n\nconst ScDetailsPage = Styled(ScDetailsModal)`\n height: 100%;\n margin-top: 65px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n`;\n\nexport default ScDetailsPage;\n","import React, { useState } from 'react';\nimport { useDebounce } from '@jotforminc/hooks';\nimport { useDispatch } from 'react-redux';\nimport { func } from 'prop-types';\nimport Styled from 'styled-components';\nimport ProductDetailActionButtons from '../ProductDetailContentRenderer/ProductDetailActionButtons';\nimport { navigateToAction, setCheckoutFormStatus } from '../../../store/actionCreators';\nimport { CHECKOUT_FORM_STATUSES } from '../../../constants';\nimport { useTouch } from '../../../utils/hooks';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\n\nconst ScActionButtons = Styled.div`\n position: sticky;\n top: calc(100% - 132px);\n z-index: 6;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: #fff;\n bottom: ${({ direction }) => (direction === 'bottom' ? '0' : '-132px')};\n transition: .3s all ease;\n`;\n\nconst ActionButtons = ({\n onProductItemChange, onFastCheckout, onNavigateOrderNow, ...rest\n}) => {\n const dispatch = useDispatch();\n\n const redirectToApp = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.BACK }));\n };\n\n const handleOpenCheckoutForm = () => {\n dispatch(setCheckoutFormStatus(CHECKOUT_FORM_STATUSES.OPENED));\n };\n\n const handleProductChange = onDetailsChange => {\n onDetailsChange();\n redirectToApp();\n };\n\n const handleOrder = orderFunc => {\n orderFunc();\n handleOpenCheckoutForm();\n };\n\n const [direction, setDirection] = useState('bottom');\n useTouch(document.querySelector('.appRoot'), useDebounce(setDirection));\n\n return (\n \n handleProductChange(onProductItemChange)}\n onNavigateOrderNow={() => handleOrder(onNavigateOrderNow)}\n onFastCheckout={() => handleOrder(onFastCheckout)}\n {...rest}\n />\n \n );\n};\n\nActionButtons.propTypes = {\n onProductItemChange: func,\n onFastCheckout: func,\n onNavigateOrderNow: func\n};\n\nActionButtons.defaultProps = {\n onProductItemChange: f => f,\n onFastCheckout: f => f,\n onNavigateOrderNow: f => f\n};\n\nexport default ActionButtons;\n","import React, { useCallback, useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ProductItemDetails from '../ProductItemDetails';\nimport SELECTORS from '../../../store/selectors';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport { ErrorScreen } from '../ErrorScreen';\nimport ScDetailsPage from './ScDetailsPage';\nimport ActionButtons from './ActionButtons';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\n\nconst ProductItemDetailsPage = () => {\n const dispatch = useDispatch();\n\n const activeProduct = useSelector(SELECTORS.getActiveProductDetails);\n const {\n itemID,\n productID\n } = activeProduct;\n\n const _isPaymentOverQuota = useSelector(SELECTORS.getIsPaymentOverQuota);\n const pageID = useSelector(SELECTORS.getPageIDByItemID(itemID));\n\n const isPaymentOverQuota = _isPaymentOverQuota && isFeatureEnabled(FEATURE_NAMES.OverQuota);\n useEffect(() => {\n if (isPaymentOverQuota) {\n dispatch(ACTION_CREATORS.navigateToAction({ to: DESTINATION_TYPES.PAGE, pageID }));\n }\n }, [isPaymentOverQuota]);\n\n const CloseButton = useCallback(() => null, []);\n\n if (!itemID || !productID) {\n return ;\n }\n\n if (isPaymentOverQuota) return null;\n\n return (\n <>\n \n \n );\n};\n\nexport default ProductItemDetailsPage;\n","import React from 'react';\nimport { t } from '@jotforminc/translation';\nimport { Button, Flex } from '@jotforminc/magnet';\nimport { useDispatch, useSelector } from 'react-redux';\nimport WarningBox from '@jotforminc/warning-box';\nimport { PUSH_NOTIFICATION_ALLOW, PUSH_NOTIFICATION_DISMISS } from '../../../store/actionTypes';\nimport SELECTORS from '../../../store/selectors';\nimport { getUIProp } from '../../../store/selectors/uiSelectors';\nimport { NOTIFICATION_PERMISSION_STATES, UI_PROPS } from '../../../constants';\nimport { getDefaultPermissionRequestTexts } from '../../Builder/components/Settings/constants';\n\nconst PushNotificationPermission = () => {\n const dispatch = useDispatch();\n const { subscriptionPromptTitle, subscriptionPromptContent } = useSelector(SELECTORS.getAppInfoWithDefaults);\n const { title: fallbackTitle, content: fallbackContent } = getDefaultPermissionRequestTexts();\n const permissionState = useSelector(getUIProp(UI_PROPS.notificationPermissionState));\n\n if (permissionState === NOTIFICATION_PERMISSION_STATES.HIDDEN) return null;\n\n return (\n \n {\n permissionState === NOTIFICATION_PERMISSION_STATES.DENIED && (\n \n {t('Notification permission has been denied by your browser. Please check your browser notification settings.')}\n \n )\n }\n {\n permissionState === NOTIFICATION_PERMISSION_STATES.ERROR && (\n \n {t('Something went wrong.')}\n \n )\n }\n \n \n

{subscriptionPromptTitle || fallbackTitle}

\n

{subscriptionPromptContent || fallbackContent}

\n \n \n dispatch({ type: PUSH_NOTIFICATION_DISMISS })}\n >\n {t('Dismiss')}\n \n dispatch({ type: PUSH_NOTIFICATION_ALLOW })}\n loader={permissionState === NOTIFICATION_PERMISSION_STATES.LOADING}\n >\n {t('Allow')}\n \n \n \n \n );\n};\n\nexport default PushNotificationPermission;\n","import Styled from 'styled-components';\n\nexport const ScAiAgentWrapper = Styled.div`\n width: 100%;\n height:100%;\n\n iframe {\n width: 100%;\n height: 100%;\n }\n`;\n","import { getBaseURL } from '@jotforminc/router-bridge';\nimport { string } from 'prop-types';\nimport React from 'react';\nimport { ScAiAgentWrapper } from './ScAiAgent';\n\nconst AiAgent = ({ agentId }) => {\n const iframeURL = `${getBaseURL()}/agent/${agentId}`;\n\n return (\n \n \n \n );\n};\n\nexport default AiAgent;\n\nAiAgent.propTypes = {\n agentId: string.isRequired\n};\n","import React, { useEffect, useMemo } from 'react';\nimport {\n bool, func, oneOfType, shape, string\n} from 'prop-types';\nimport Helmet from 'react-helmet';\nimport { useSelector } from 'react-redux';\nimport { t } from '@jotforminc/translation';\nimport { ErrorScreen } from './ErrorScreen';\nimport { ScFormRendererFrameContainer, ScPublicAppRoot } from './scPublicApp';\nimport A2HSModal from './Modals/A2HSModal';\n\nimport { FORM_PRODUCTS, PORTAL_ERROR_MAP, UI_PROPS } from '../../constants';\nimport { isPWA, registerServiceWorker } from './utils';\nimport AppPreview from './AppPreview';\nimport FadeTransitionRouter from './AppRouter';\nimport { checkMobileOrTablet, checkMobilePhone, isYes } from '../../utils';\nimport PortalBrandingFooter from '../../components/PortalBrandingFooter';\nimport PublicAppLoading from '../../components/PublicAppLoading';\nimport ProductRenderer from './ProductRenderer';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\nimport OrderNow from './OrderNow';\nimport ScreenRenderer from './ScreenRenderer';\nimport SentboxRenderer from './ProductRenderer/Renderers/SentboxRenderer';\nimport PageRenderer from './PageRenderer';\nimport CheckoutScreen from './CheckoutScreen';\nimport ProductCartContainer from './ProductCart';\nimport SELECTORS from '../../store/selectors';\nimport ProductItemDetailsPage from './ProductItemDetailsPage';\nimport PushNotificationPermission from './PushNotificationPermission';\nimport appConfig from '../../constants/appConfig';\nimport AiAgent from './AiAgent';\n\nconst isCheckoutCompletePage = new URLSearchParams(window.location.search).get('complete') === '1';\nconst isAppPreview = window.location.hash === '#preview';\nconst isEmbeddedApp = window.location.href.includes(appConfig.embeddedAppQS);\n\nconst PublicApp = ({\n id,\n appProperties,\n isAppDisabledNow,\n isAppTrashedNow,\n appJustDisabled,\n activeModal,\n onPrompt\n}) => {\n const {\n id: storeAppID, disabledAppText, showA2HS, checkoutFormID, status\n } = appProperties;\n const routerAnimationType = useSelector(SELECTORS.getRouterAnimationType);\n const isOnline = useSelector(SELECTORS.isOnlineSelector);\n const isAppFailed = useSelector(SELECTORS.isAppFailedSelector);\n const isAppReady = useSelector(SELECTORS.isAppReadySelector);\n const customErrorText = useSelector(SELECTORS.customErrorTextSelector);\n const isShoppingApp = useSelector(SELECTORS.getIsShoppingApp);\n const scope = useSelector(SELECTORS.getScope);\n const cartProductsCount = useSelector(SELECTORS.getCartProductItemCount);\n const isMobile = checkMobilePhone();\n const isAppArchived = status === 'ARCHIVED';\n const isA2HSModalClosed = useSelector(SELECTORS.getUIProp(UI_PROPS.isA2HSModalClosed));\n\n useEffect(() => {\n if (scope && !window.isTemplateMode) {\n registerServiceWorker(scope);\n }\n }, [scope]);\n\n const body = useMemo(() => {\n switch (true) { // the order is important\n case !isOnline && !isFeatureEnabled(FEATURE_NAMES.PWAEnabled):\n return ;\n case isAppTrashedNow:\n return ;\n case (isAppDisabledNow || appJustDisabled || isAppArchived): // TODO handle this kind of things on the router level somehow..\n return ;\n case !!isAppFailed:\n return ();\n case isAppReady:\n const CartScreenRenderer = isMobile ? ScreenRenderer : PageRenderer;\n return (\n <>\n \n \n \n \n
{`${t('Cart')} (${cartProductsCount})`}
}\n >\n \n \n \n \n \n \n\n \n \n \n\n \n {['/previousOrders', '/previousDonations'].map(path => (\n \n \n \n \n \n ))}\n \n
\n \n {isShoppingApp && }\n \n );\n default:\n return ;\n }\n }, [\n isAppFailed, isOnline,\n isAppReady,\n id, isAppDisabledNow, appJustDisabled, storeAppID, disabledAppText,\n routerAnimationType,\n cartProductsCount\n ]);\n\n const modal = useMemo(() => {\n const showA2HSModal = !isAppFailed && activeModal && isYes(showA2HS) && !window.isTemplateMode && !isAppTrashedNow && !isAppDisabledNow && !isCheckoutCompletePage && !isAppArchived;\n\n return showA2HSModal && (\n \n );\n }, [isAppFailed, activeModal, appProperties, showA2HS, isAppTrashedNow, isAppDisabledNow]);\n\n const permissionNotificationPopup = useMemo(() => {\n const isAppActive = !isAppPreview && !isAppFailed && !isAppTrashedNow && !isAppDisabledNow && !isAppArchived;\n const isA2HSModalShown = !isPWA() && isYes(showA2HS) && !isA2HSModalClosed;\n const showPermissionPopup = !isA2HSModalShown && isAppActive && !isCheckoutCompletePage && !isEmbeddedApp;\n return showPermissionPopup && ;\n }, [isAppFailed, isA2HSModalClosed]);\n\n const mobilePreviewClass = isAppPreview && checkMobileOrTablet() ? 'isMobilePreview' : '';\n\n if (appProperties?.createdWithAgentID) {\n return (\n <>\n \n {modal}\n {permissionNotificationPopup}\n \n );\n }\n\n return (\n \n \n \n \n \n \n <>\n {body}\n {modal}\n {permissionNotificationPopup}\n \n \n );\n};\n\nPublicApp.propTypes = {\n id: string,\n appProperties: shape({}),\n isAppDisabledNow: bool,\n appJustDisabled: bool,\n isAppTrashedNow: bool,\n activeModal: oneOfType([string, bool]),\n onPrompt: func\n};\n\nPublicApp.defaultProps = {\n id: '',\n appProperties: {},\n isAppDisabledNow: false,\n appJustDisabled: false,\n isAppTrashedNow: false,\n activeModal: '',\n onPrompt: f => f\n};\n\nexport default PublicApp;\n"],"names":["deferredPrompt","_path","_circle","_rect","_path2","_path3","_path4","_path5","_path6","_path7","_circle2","_circle3","_g","_circle4","_circle5","_circle6","_circle7","_defs","ScPublicApp","Styled","isFeatureEnabled","FEATURE_NAMES","css","isOrderNowButtonVisible","ScPublicAppRoot","ScFormRendererRoot","hasBrandingFooter","mainFontColor","appFontFamily","ScFormRendererFrameContainer","ScA2HSModal","appIconBox","_extends","Object","n","e","arguments","t","r","props","A2HSModal","forwardRef","modalType","onPrompt","appProperties","ref","title","appIconURL","defaultLogoURL","useAppDefaults","dispatch","useDispatch","appWording","isShoppingApp","useSelector","SELECTORS","useEffect","trackEventAction","tapFooter","translationRenderer","IconIOS","IconEllipsisVertical","buttonFooter","Button","finalFooter","innerRef","useRef","rootRef","Hooks","DialogRenderer","useCallback","children","ScIMOverlay","ContentRenderer","ScIMContent","HeaderRenderer","ScIMHeader","IconXmark","Modal","ScIMFooter","setUIProp","UI_PROPS","AppIcon","description","type","str","PropTypes","ScMobileCtxMenu","MobileCtxMenu","items","formID","formTitle","onModalClose","isOpen","handleModalClose","CSSTransition","IconAngleDown","CtxMenuItems","oneOfType","string","number","arrayOf","shape","func","bool","f","ScAppProgressBar","progressBarProperties","ScProgressBar","styled","progress","primaryAccentDefault","applyAlpha","ScIndicator","leftMargin","isCompleted","ProgressBar","rawProgress","prevProgress","_doneCount","todoCount","doneItemCount","setDoneCount","useState","Indicator","indicatorArray","useMemo","Array","_doneItemCount","steerage","percentage","progressBar","ItemIndicator","index","currentProgress","setProgress","Math","withAnimation","setWithAnimation","timer","setTimeout","setLastAnimatedDoneCountAction","clearTimeout","AppProgressBar","handleProductClick","productID","progressRestartable","activePageID","timeZone","todoItemsProgress","isRestartInfoVisible","setRestartInfoVisible","doneCount","isAppDone","lastAnimatedDoneCount","previouseDoneCount","usePrevious","allItems","progressManualRestartDate","requiredItems","item","isYes","orderedRequiredItems","sortBy","portalOrder","parseInt","notCompletedItems","reqItem","lastSubmitted","completed_showBadge","completed_clearBadgeOn","completed_clearBadgePeriod","required_showBadge","getFormCompletion","handleGoToForm","embeddedForm","itemID","page","resourceID","nextFormID","ITEM_TYPES","onFilterProductsAction","navigateToAction","DESTINATION_TYPES","isRestartActive","timeout","restartProgressDisabled","appHeaderBgColor","appFontColor","appIconColor","appIconBackground","showRestartAppModal","showGenericModalAction","MODALS","progressText","mobileProgressText","isMobile","checkMobilePhone","isTablet","checkTablet","nextButtonText","shouldDisableNextButton","obj","IconArrowRotateRight","IconChevronRight","ScTopBar","topBarProperties","OverflowableList","itemClassName","moreItemComponent","wrapperClassName","popoverClassName","moreItemClassName","onHiddenItemIDListChange","containerRef","moreContainerRef","moreItems","setMoreItems","maxItemHeight","setMaxItemHeight","isMoreMenuVisible","setMoreMenuVisibility","firstHiddenItemIndex","setFirstHiddenItemIndex","renderOverflowItems","isMoreItem","toggleMoreMenuVisibility","handleMoreMenuKeyPress","Utils","renderItems","isHidden","isHiddenAfter","Fragment","classNames","renewStates","debounce","childList","maxHeight","max","currentNode","containerBottom","containerDimensions","hiddenItemIDList","childNode","window","Popover","PageLink","isActive","name","id","pageOrder","showPageIcon","pageIcon","pageName","handleClick","navigationItemClickAction","handleEnterPressed","PageIcon","memo","navigationHeight","ScNavigationBar","ScCart","isCartActive","ProductCartBadge","itemFontColor","onCartClick","cartProductsCount","badgeAnimation","setBadgeAnimation","IconCartShoppingFilled","cn","ScDonateNowBadge","isMultiPage","itemButtonBgColor","itemButtonFontColor","darken","DonateNowBadge","wrapperClass","donationItemID","ACTION_CREATORS","ScNavigationPanel","branding21MainBlue","themeProperties","NavigationPanelItem","closeNavigationPanel","isNavigationPanelOpen","routerParams","useParams","isMobilePhone","firstPageID","isHomepageActive","NavigationPanel","disableButton","pages","scrollDownValue","mobileMenuTitle","navigationStack","showMobileMenuIcon","mobileMenuIcon","appName","logoURL","allPages","isHomepage","isScrolledDown","setNavigationPanelOpen","openNavigationPanel","Feature","Flex","IconChevronLeft","NavigationPanelButton","ScPortalLoginFlow","ScAccountBoxLinkRenderer","AccountBoxLinkRenderer","text","url","handleOnClick","navigate","GuestShoppingAccountBox","onAccountBoxScreen","isDonationApp","ContinueAsFlow","onContinueAs","onUseDifferentAccount","username","email","avatarUrl","userName","PortalAccountBox","isPreview","loginable","onAccountBoxToggle","isPaymentApp","isAccountBoxOpen","setAccountBoxOpen","val","user","showContinueAs","handleToolTipToggle","isTooltipOpen","initialScreen","handleAccountBoxScreen","screen","continueAsDismissed","setContinueAsDismissed","isUserLoggedIn","handleLogout","backTo","generateAppURL","origin","isEnterprise","handleCustomNavigation","handleLogAction","actionName","additionalPropsForShopping","LoggedInUserAccountBox","userType","FormUserAccountBox","AccountBoxWrapper","isInJotformKiosk","toggleAccountBox","apiURL","getAPIURL","greetingMessage","CommonAccountBoxWrapper","undefined","LoginFlow","changedUser","NavigationBar","_pages","isGatewayConnected","isFastCheckout","isAppLoginable","homepageName","setHiddenItemIDList","React","isAppHeaderActive","setScrollDownValue","p","isMultiplePages","allPagesWithRenderContent","shouldShowNavigationPart","handleBackHomage","handleOnScroll","useDebounce","scrollableEl","document","ProductCartContainer","TopBar","shouldShowProgressBar","showNavigationBar","classnames","ScPageContentWrapper","isListDetailPage","InAppDividerItem","DividerItem","ProductListField","itemProps","ownerProductListLayout","showSearch","currencyInfo","overridingItemProps","productListFavoriteProducts","productListLayout","areThereMultipleProductLists","cartProducts","allCartProducts","searchQuery","productsToRender","useProductsToRender","ProductContainer","DefaultDivRenderer","payload","layout","_searchQuery","ProductListItem","ItemOverQuotaWrapper","ScCardContainer","buttonRole","CARD_ACTION_VALUES","AppCardItem","onFormViewClick","buttonValue","CardActionHelper","ActionHelper","CardItem","propTypes","getPublicPresentationItem","comp","PublicList","presentationItemID","data","isLoading","hasMore","presentationItemProps","detailsPage","offset","setOffset","listLastElementRef","useInfiniteLoad","prevOffset","newOffset","DS_ITEM_OFFSET","isEmpty","List","rowID","ListWrapper","CardItemPlaceholder","ScImageField","width","height","ImageField","imageURL","altText","shrink","ImageActionHelper","Image","IconImageFilled","getItemComponentByTypeForApp","InAppFormItem","HeadingItem","DonationItem","ParagraphItem","LinkFieldItem","DataElement","SignItem","DocumentItem","InAppButtonItem","WidgetItem","FormItem","AppItem","fileURL","rest","appItemWrapperRef","titleFilteredRest","prev","key","value","ScAppItemWrapper","oneOf","ItemVisualPropTypes","renderable","ItemVisualDefaultProps","DocumentPreview","safeLazy","WrappedComponent","resourceURL","behaveAsLink","imageLink","linkableElements","isLinkValueAssigned","checkLinkValueAssigned","checkAndAddProtocolToTargetLink","isValidLinkTarget","isItemTypeLinkable","handleTrackEvent","action","ActionNames","Hrefs","basePath","getBaseAppPath","openInSameTab","isPWA","linkElement","isLinkItem","isPreviewOpened","setPreviewOpened","handlePreviewOpen","handlePreviewClose","onDownload","handleKeyPress","getAriaLabel","Suspense","PublicAppItem","clientID","decorationProps","componentProps","appID","filteredItemID","WithLinkAppItem","withLinkElement","resourceSubType","checkItemBehavesAsLink","nonePagedReportTypes","LINK_BEHAVIOR_ITEMS","isNonPagedReport","pathname","URL","_resourceSubType","ItemComponent","itemRef","isShrinkEnabled","PublicAppItemContainer","MemoIconRenderer","getDraft","onPrepareCtxMenuItems","onItemClick","listBgColor","showAppHeader","appVersion","onViewForm","onShareApp","pageID","linkedItemID","dsDetailPageData","isDsPageLoading","overrideTextAlignmentIfNecessary","elementProps","isMobileOrTablet","checkMobileOrTablet","getItemProps","emptyItem","appLoginable","userLoggedIn","showLinkPreview","previewImageURL","itemTextAlignment","fileType","showURL","showItemIcon","itemIcon","itemIconColor","itemIconBgColor","elementSize","overridedTextAlignment","isIconVisible","typeHasItem","generalProps","hasThreeDots","ctxMenuItems","isEmbeddedForm","origTitle","origDescription","previewTitle","designatedItemProps","useDesignatedItemProps","ScItemListWrapper","ScItemContainer","_dsDetailPageData_itemID","useItemDefaults","itemPropsWithDefaults","dsItemProps","clippedItemProps","clipPropsWrtCharLimits","elementType","object","ScAppFooter","appFooterBgColor","appFooterTextAlignment","responsivenessRules","AppFooter","Styles","createGlobalStyle","appBgColor","appBgColorEnd","appBgURL","AppPreview","showTopBar","_useSelector_","_useSelector","isDonationGoalActive","donationItems","targetDonationGoal","publicLink","pageProps","pg","getFormattedPrice","useFormattedPrice","showListBg","openAppHeader","appTitle","currentDonationAmount","isSortPagesEnabled","pageIDs","isValidNumber","isOldHomepage","isPageHomepage","otherPageItems","homePageItems","pageItems","availablePageItems","i","itemAvailable","checkItemAvailable","mutateItems","mobileCtxMenuRef","mobileCtxMenuFormID","setMobileCtxMenuFormID","mobileCtxMenuFormIsEmbedded","setMobileCtxMenuFormIsEmbedded","mobileCtxMenuFormTitle","setMobileCtxMenuFormTitle","mobileContextMenuOpened","setMobileCtxMenuOpened","draftInfo","setDraftInfo","getDrafts","resp","handleShareApp","parsedButtonValue","getDefaultButtonShareObj","safeJSONParse","donationVarMappings","variableMappings","updatedShareMessageObj","getUpdatedShareMessage","shareMessage","replaceTextWithVariables","handleViewForm","FORM_PRODUCTS","handleViewSubmissions","isCtxMenuItem","handleContinueWithDraft","draft","sessionID","token","saclID","handleViewTable","handleViewReport","handleViewSign","handleItemClick","productType","productTitle","handleViewProduct","handlerMap","handleCartClick","prepareCtxMenuItems","showForm","hasDraft","isFormEmbedded","status","submissionCount","isFillAvailable","submissionText","inboxText","list","IconFormFilled","IconProductInboxMono","IconFormPencilFilled","mobileCtxMenuItems","iconURL","iconClassName","LinkThumbnail","SimpleIcon","itemListWrapperRef","itemGroup","appStageBody","ScAppHeaderWrapper","AppHeader","ScAppContentWrapper","AppStyle","itemType","PRODUCT_HANDLERS","Comp","AppRouter","onLocationChange","Location","location","Router","FormRenderer","onBackButtonClick","showCompletedBadge","_pageURL","generateIframeURL","pageURL","setPageURL","NAVIGATION","APP_PREVIEW_URL_HASH","handleFormCompleted","onTodoCompleteAction","formMessageSender","useFormMessageSender","useFormSubmissionCompleteHandler","useFormMessageHandler","console","formIsCompletable","_window","continueKey","continuePath","generateContinueWithDraftPath","getBasePath","isAppSubdomain","getAppPath","prefillURL","useEventListener","event","IframeRenderer","ReportRenderer","iframeRef","createRef","originalResourceURL","getDomainURL","ScWrapper","ScCard","ScTitle","ScDescription","UnreachableSentbox","IconRenderer","CommonErrorScreen","IconUnreachableSentbox","SentboxRenderer","pageType","sentboxKeyword","checkoutFormID","hasSentboxAccess","isCheckoutForm","EmptyCartIcon","translatedTitle","SignRenderer","embedDocumentKey","RENDERER_COMPONENT_MAP","TablesRenderer","getRendererComponent","RendererComponent","Renderer","ITEM_TYPE_MAP","getItemType","ScStepsCont","ScreenTopBar","TitleRenderer","topBarClasses","isCheckoutFormCompleted","isFastCheckoutActive","activeProduct","activeScreen","activeItemID","activeProductID","isFavorite","isCheckoutPage","SPECIAL_PAGES","handleContinueShopping","ContinueShoppingButton","accountBox","shouldFavoriteVisible","itemDetailsActions","ProductFavorite","topBarButtons","ProductRenderer","pageRef","isIframeBackdropEnabled","setIframeBackdropEnabled","isCtxMenuItemClicked","useFormProductByPath","actualProductType","actualItem","getProductItemProps","isCheckoutFormSentbox","handleAccountBoxToggle","handleBackButtonClick","isApple","isAvailable","currentProductID","ScOrderNowButton","cartTotal","ACTIONS","ScreenRenderer","activeProductItemID","childrenWithProps","child","node","PageRenderer","setRouterAnimationTypeAction","ANIMATION_TYPES","ScCompleteScreen","IconCheckCircleFilled","isCopied","setCopied","copyButtonText","copyTimer","handleCopyLink","lastOrderAmount","updatedAt","getButtonShareDefMessages","icons","IconFacebookFilled","IconTwitter","IconLinkedinSquareFilled","IconWhatsapp","socialMediaOptions","getSocialMediaOptions","momentToMilliSeconds","handleContinueToHomepage","handleShareButtonClick","option","shareUsingNavigator","getAppLinkWithUTM","getSocialSharingUtmSources","CopyButton","IconLinkDiagonal","isFeatEnabled","ScCheckoutScreen","isGatewayRedirectInfoScreen","isPaymentOverQuota","checkoutFormStatus","isLivePreviewOn","currentUrl","isCompleteUrl","isComplete","isCheckoutScreenAvailable","CHECKOUT_FORM_STATUSES","NAVIGATION_CONSTANTS","DonationCompleteScreen","StoreCompleteScreen","CompleteScreen","CheckoutFormRenderer","AddToCart","onClick","CartOption","options","onChange","quantityOptionProps","getQuantityOptionProps","selected","spinnerProps","getOptionProps","Spinner","newValue","QUANTITY_PROP","array","CartItemOptionsRenderer","onAddToCart","hasQuantity","cart","isItemSelected","productListCart","product","CartItemActionButton","onDelete","onFavoriteChange","deleteButtonRef","areYouSure","setAreYouSure","IconTrashFilled","IconHeartFilled","ScProductCartItem","CartItem","totalAmount","optionsValue","handleDelete","handleFavorite","noNotification","handleOpenProductDetail","prodID","hasOption","getOptionsLengthDifferFromQuantity","handleAddToCart","ActionButton","Options","SimpleProductItem","CartItemContentRenderer","calculateTotalAmount","moneyDetails","currency","useDecimal","decimalMark","price","numericQuantity","result","multiplyMoney","formatPriceObj","CartItemList","products","productLists","isMultiProductList","ScEmptyCart","cartProductItem","ScOrderNowForScreen","productListItemsWithCartProducts","isPriceChangedInCart","hasAnyCartProduct","setIsChangedPriceInCartAction","WarningBox","Carts","OrderNowForScreen","IconBasketShoppingFilled","capitalizeFirstLetter","favoriteProducts","hasAnyFavoriteProduct","ScProductCart","ScStoreUnavailable","BackSoon","TabButton","getTabListContants","_location_state","_isFastCheckout","_isPaymentOverQuota","StoreUnavailable","TabList","Tab","ProductCart","Favorites","ScDetailsPage","ScDetailsModal","ScActionButtons","direction","ActionButtons","onProductItemChange","onFastCheckout","onNavigateOrderNow","redirectToApp","handleOpenCheckoutForm","setCheckoutFormStatus","handleProductChange","onDetailsChange","handleOrder","orderFunc","setDirection","useTouch","ProductDetailActionButtons","CloseButton","ProductItemDetails","ErrorScreen","subscriptionPromptTitle","subscriptionPromptContent","fallbackTitle","fallbackContent","getDefaultPermissionRequestTexts","permissionState","getUIProp","NOTIFICATION_PERMISSION_STATES","PUSH_NOTIFICATION_DISMISS","PUSH_NOTIFICATION_ALLOW","ScAiAgentWrapper","AiAgent","agentId","iframeURL","getBaseURL","isCheckoutCompletePage","URLSearchParams","isAppPreview","isEmbeddedApp","appConfig","PublicApp","isAppDisabledNow","isAppTrashedNow","appJustDisabled","activeModal","storeAppID","disabledAppText","showA2HS","routerAnimationType","isOnline","isAppFailed","isAppReady","customErrorText","scope","isAppArchived","isA2HSModalClosed","registerServiceWorker","body","PORTAL_ERROR_MAP","CartScreenRenderer","FadeTransitionRouter","ProductItemDetailsPage","CheckoutScreen","path","PortalBrandingFooter","OrderNow","PublicAppLoading","modal","showA2HSModal","permissionNotificationPopup","isAppActive","isA2HSModalShown","showPermissionPopup","PushNotificationPermission","mobilePreviewClass","Helmet","PublicAppContainer","isInApp","isInstalled","redirectedApp","isRedirectedAppDisabledNow","redirectedAppWillDisableSoon","calculateDisabled","isRedirectedAppSafe","setAppJustDisabled","handleAppRedirection","searchParams","getQueryString","qs","handleSocialSharingRedirect","allSocialSharingUtmSources","handleAppDisable","isInBuilderPreview","isInstalledRef","setActiveModal","setPublicApp","isBuilder","setModeAction","APP_MODES","fetchPortalAction","setPWAStatusAction","checkPWAInstallation","isEmbedded","handleAppInstalled","persistPWAInstallation","isUnRecognizedIpad","BrowserParser","isIOS","makeModalChecks","modalName","currentlyInstalled","handleBeforeInstallPrompt","lastInstallationDate","getLastInstallationDate","now","Date","diff","useTimeout","handleOnPrompt","choiceResult","handleUserChanged","userChangeAction","handleNavigateToPage","_action_payload","_action_payload1","handleScrollSelectedItem","selectedItem","scrollToCenter","element","top","scrollTop","windowHeight","message","forJFApps"],"mappings":"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"}