{"version":3,"file":"static/js/8413.eb3cc9d6.js","sources":["webpack://@jotforminc/portal/../../libs/ep-utils/src/api/index.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/hooks/useHubspotTracker.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/components/FeedbackForm.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/components/PrefilledLeadFormAside.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/assetIdentifier/index.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/assetIdentifier/abTest.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/assetIdentifier/campaign.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/assetIdentifier/product.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/assetIdentifier/automation.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/assetIdentifier/webinar.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/constants.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/gaAdFormTrackingItems .js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/gaFormTrackingItems.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/leadFormMap.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/propTypes.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/sdrSources.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/texts.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/urls.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/utils/googleAnalyticsTracking.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/constants/leadFormModifiers.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/utils/prefilledFormUtils.js","webpack://@jotforminc/portal/../../libs/ep-utils/src/utils/utils.js","webpack://@jotforminc/portal/../../../../src/icons/communication/message-ellipsis-pencil-filled.svg","webpack://@jotforminc/portal/../../../../src/icons/finance/tag-percent-filled.svg","webpack://@jotforminc/portal/../../libs/utils/src/cookies.js"],"sourcesContent":["import { RequestLayer, Interceptors } from '@jotforminc/request-layer';\nimport { isEnterprise } from '@jotforminc/enterprise-utils';\nimport { ACTION_PROJECT_NAMES } from '../constants';\nimport { isProd } from '../utils';\n\nconst layer = new RequestLayer('/API', {\n interceptorConfig: {\n teamID: global.teamID,\n customResponseInterceptors: [Interceptors.requestManagerResponseNormalizer]\n }\n});\n\n// set enterprise promotions user settings by key\nexport const setEpUserSettings = (key, value = 1) => {\n return layer.post('ep/user/settings',\n new URLSearchParams({ key, value }));\n};\n\n// get enterprise promotions user settings by key\nexport const getEpUserSettings = key => {\n return layer.get(`ep/user/settings/${key}`);\n};\n\n// get enterprise promotions user settings by key\nexport const getEpUserDetails = () => {\n return layer.get('ep/user-details');\n};\n\n// enterprise promotion assets\nexport const getFirstAvailableEnterprisePromotion = () => {\n const searchParams = new URLSearchParams(window.location.search);\n return layer.get(`ep/user/promotion?${searchParams}`);\n};\n\n// enterprise promotion assets\nexport const getEnterprisePromotionByAssetName = asset => {\n const searchParams = new URLSearchParams(window.location.search);\n return layer.get(`ep/user/promotion/${asset}?${searchParams}`);\n};\n\n// save customer to hubspot as form submission\nexport const saveCustomerAsHubspotFormByUsername = params => {\n if (isEnterprise()) return;\n\n const searchParams = new URLSearchParams();\n\n const { lastProductAssetInteraction } = params;\n\n if (lastProductAssetInteraction) {\n searchParams.append('last_product_asset_interaction', lastProductAssetInteraction);\n }\n\n return layer.post('ep/user/hubspot-contact-form', searchParams);\n};\n\nexport const setEPActions = ({\n asset, target, action, intent\n}) => {\n if (isProd()) {\n const paramsObj = {\n project: ACTION_PROJECT_NAMES.ENTERPRISE_PROMOTIONS,\n asset,\n target,\n action\n };\n\n if (intent) {\n paramsObj.intent = intent;\n }\n\n const params = new URLSearchParams(paramsObj);\n\n return layer.post('ep/user/actions', params);\n }\n};\n","import { useEffect, useState } from 'react';\nimport { isProd } from '../utils';\n\n// demo purpose\nconst useHubspotTracker = ({ isEnabled = false, user = null } = {}) => {\n const [isTrackerLoaded, setIsTrackerLoaded] = useState(false);\n\n useEffect(() => {\n if (!isEnabled || !isProd() || !user || isTrackerLoaded) return;\n\n const handleScript = e => {\n if (e.type === 'load') {\n setIsTrackerLoaded(true);\n }\n };\n\n const scriptEl = document.createElement('script');\n scriptEl.id = 'hs-script-loader';\n scriptEl.type = 'application/javascript';\n scriptEl.src = '//js.hs-scripts.com/4773329.js';\n scriptEl.async = true;\n scriptEl.defer = true;\n document.body.appendChild(scriptEl);\n scriptEl.addEventListener('load', handleScript);\n scriptEl.addEventListener('error', handleScript);\n\n return () => {\n scriptEl.removeEventListener('load', handleScript);\n scriptEl.removeEventListener('error', handleScript);\n scriptEl.remove();\n };\n }, [user]);\n\n return [isTrackerLoaded];\n};\n\nexport default useHubspotTracker;\n","import React, {\n useEffect, useMemo, useState\n} from 'react';\nimport { IconMessageEllipsisPencilFilled, IconXmarkSm } from '@jotforminc/svg-icons';\nimport { checkUserType } from '@jotforminc/utils';\nimport cx from 'classnames';\nimport { Loading } from '@jotforminc/loading';\nimport { string } from 'prop-types';\nimport { userPropType } from '../constants';\nimport './feedbackSection.scss';\nimport {\n getUserPrefillValues\n} from '../utils';\n\nconst FeedbackForm = ({ user, formUiModifier }) => {\n const isUserAdmin = checkUserType('ADMIN', user);\n if (!isUserAdmin) return null;\n\n const [isFeedbackFormOpen, setIsFeedbackFormOpen] = useState(false);\n const [iframeSrc, setIframeSrc] = useState('');\n const [isIframeLoaded, setIsIframeLoaded] = useState(false);\n\n const feedbackFormClasses = cx('feedback-form-wrapper', {\n show: isFeedbackFormOpen\n });\n\n const memoizedIframeSrc = useMemo(() => {\n const { email, nameFirst, nameLast } = getUserPrefillValues(user);\n const pathName = window.location.pathname;\n return `https://form.jotform.com/242121390294955?feedbackEmbedButton&pathName=${pathName}&formUiModifier=${formUiModifier}&yourName[0]=${nameFirst}&yourName[1]=${nameLast}&email=${email}`;\n }, [user]);\n\n useEffect(() => {\n if (isFeedbackFormOpen) {\n setIsIframeLoaded(false);\n setIframeSrc(memoizedIframeSrc);\n } else {\n setIframeSrc('');\n }\n }, [isFeedbackFormOpen, memoizedIframeSrc]);\n\n return (\n