{"version":3,"file":"static/js/5058.485e6f60.js","sources":["webpack://@jotforminc/headerapp/../../../../../../../../src/components/assets/launches/2024/academy/flyin/v1.js","webpack://@jotforminc/headerapp/../../../../../src/components/ui/FlyIn/FlyIn.js","webpack://@jotforminc/headerapp/../../../src/hooks/useActionManager.js","webpack://@jotforminc/headerapp/../../../src/hooks/useCampaignInfo.js","webpack://@jotforminc/headerapp/../../../src/hooks/useUtm.js"],"sourcesContent":["/* eslint-disable max-len */\nimport React from 'react';\nimport { string } from 'prop-types';\n\nimport { t } from '@jotforminc/translation';\n\nimport './v1.scss';\n\nimport FlyIn from '../../../../../ui/FlyIn/FlyIn';\nimport { useUtm } from '../../../../../../hooks/useUtm';\n\nconst AcademyLaunchFlyin = ({ isSticky, ...props }) => {\n const { getUrl } = useUtm({\n directURL: '/blog/announcing-push-notifications-for-jotform-apps'\n });\n\n const redirectUrl = getUrl();\n\n return (\n \n
\n
\n
\n \"Apps\"\n
\n
\n
\n {t('Announcing')}\n
\n
\n {t('Push Notifications for Jotform Apps')}\n
\n
\n \n {t('Discover Now')}\n \n
\n
\n \n );\n};\n\nAcademyLaunchFlyin.propTypes = {\n isSticky: string.isRequired\n};\n\nexport default AcademyLaunchFlyin;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { elementType, node, string } from 'prop-types';\n\nimport { IconXmark } from '@jotforminc/svg-icons';\nimport { t } from '@jotforminc/translation';\nimport { StorageHelper } from '@jotforminc/storage-helper';\n\nimport './flyin.scss';\n\nimport { getDismissStorageItemKey } from '../../../utils/campaign';\n\nimport { useAssetInfo, useAssetType } from '../../../hooks/useCampaignInfo';\nimport { useActionManager } from '../../../hooks/useActionManager';\n\nconst FlyIn = ({\n isSticky,\n onClose,\n children,\n CloseIconRenderer,\n ...props\n}) => {\n const FlyInRef = useRef(null);\n const {\n type: campaignType,\n assetsVersion\n } = useAssetInfo();\n const assetType = useAssetType();\n const { tickAction } = useActionManager();\n\n const [isShow, setIsShow] = useState(true);\n\n const dismissKey = getDismissStorageItemKey({\n assetType,\n assetsVersion,\n campaignType\n });\n\n const handleClose = () => {\n onClose();\n tickAction({ action: 'closed' });\n StorageHelper.setLocalStorageItem({\n key: dismissKey,\n value: '1',\n ttl: 1000 * 60 * 60 * 24\n });\n document.querySelector('body').classList.remove('jf-flyin--isSticky');\n setIsShow(false);\n };\n\n useEffect(() => {\n if (!isSticky) {\n document.querySelector('body').classList.add('jf-flyin--isSticky');\n setIsShow(true);\n } else {\n document.querySelector('body').classList.remove('jf-flyin--isSticky');\n setIsShow(false);\n }\n }, [isSticky]);\n\n useEffect(() => {\n if (isShow) {\n document.querySelector('body').classList.add('jf-flyin');\n }\n }, [isShow]);\n\n useEffect(() => {\n if (isShow) {\n tickAction({ action: 'seen' });\n }\n }, [isShow, tickAction]);\n\n if (!isShow) {\n return null;\n }\n\n return (\n \n
{children}
\n \n \n \n \n );\n};\n\nFlyIn.propTypes = {\n children: node.isRequired,\n isSticky: string.isRequired,\n CloseIconRenderer: elementType,\n onClose: () => {}\n};\n\nFlyIn.defaultProps = {\n onClose: () => {},\n CloseIconRenderer: IconXmark\n};\n\nexport default FlyIn;\n","import { useAssetManagerContext } from '../context/AssetManagerContext';\nimport { useAssetInfo } from './useCampaignInfo';\n\nconst trackOnceActions = ['seen'];\n\n/**\n * Custom hook to manage and register actions with a specific target and tracking behavior.\n *\n * @returns {Object} An object containing helper methods.\n * @returns {Function} return.tickAction - Registers an action with the action manager, optionally modifying the target and tracking behavior.\n *\n * @example\n * const { tickAction } = useActionManager();\n * tickAction({\n * action: \"click\",\n * target: \"btn-upgrade-now\",\n * trackOnce: true\n * });\n */\nexport const useActionManager = () => {\n const {\n actionManager, assetInfo: { type: campaignType }, assetType\n } = useAssetManagerContext();\n const { assetYear, assetsVersion } = useAssetInfo();\n const target = `${campaignType.toLowerCase()}-${assetType}-${assetsVersion}${assetYear ? `-${assetYear}` : ''}`;\n\n /**\n * Registers an action with the action manager.\n *\n * @param {Object} params - Parameters for the action registration.\n * @param {string} params.action - The name of the action to register. (Required)\n * @param {string} [params.target] - An optional custom target to append to the default target. (Optional)\n * @param {boolean} [params.trackOnce=false] - Whether the action should be tracked only once. Defaults to `false`. (Optional)\n *\n * @example\n * const { tickAction } = useActionManager();\n * tickAction({\n * action: \"click\",\n * target: \"btn-upgrade-now\",\n * trackOnce: true\n * });\n */\n const tickAction = ({ action, target: targetParam = '', trackOnce: trackOnceParam = false }) => {\n const trackOnce = trackOnceActions.includes(action) || trackOnceParam;\n let _target = target;\n if (targetParam) {\n _target = `${targetParam}-${target}`;\n }\n actionManager.registerJotformAction({ action, target: _target, trackOnce });\n };\n\n return { tickAction };\n};\n","import { useAssetManagerContext } from '../context/AssetManagerContext';\n\nexport const useCampaignInfo = () => {\n const { campaignInfo } = useAssetManagerContext();\n return campaignInfo;\n};\n\nexport const useAssetInfo = () => {\n const { assetInfo } = useAssetManagerContext();\n return assetInfo;\n};\n\nexport const useAssetType = () => {\n const { assetType } = useAssetManagerContext();\n return assetType;\n};\n","import { useAssetInfo, useAssetType } from './useCampaignInfo';\n\nexport const useFlyinUtm = ({\n directURL,\n customUtmCampaign\n}) => {\n const assetType = useAssetType();\n const {\n utm_campaign: utmCampaign_\n } = useAssetInfo();\n\n const utmCampaign = customUtmCampaign || utmCampaign_;\n const utm = {\n campaign: utmCampaign,\n medium: 'website',\n content: ((window.location.pathname !== '/') ? window.location.pathname.replace(/\\//g, '') : `${utmCampaign}-${assetType}`)\n };\n const { campaign, medium, content } = utm;\n const urlSearchParams = new URLSearchParams();\n\n const utmParams = {\n utm_source: [campaign?.toLowerCase(), assetType].filter(f => !!f).join('-'),\n utm_medium: medium,\n utm_content: content,\n utm_campaign: campaign?.toLowerCase()\n };\n\n Object.keys(utmParams).forEach(paramKey => {\n if (utmParams[paramKey]) {\n urlSearchParams.append(paramKey, utmParams[paramKey]);\n }\n });\n\n const url = `${directURL}?${urlSearchParams.toString()}`;\n\n return {\n url\n };\n};\n\n/**\n * Custom hook to generate UTM-tagged URLs for tracking campaigns and user activity.\n *\n * @param {Object} options - Configuration options for the UTM parameters.\n * @param {string} options.directURL - The base URL where the UTM parameters will be appended.\n * @param {string} [options.customUtmCampaign] - A custom UTM campaign name to override the default.\n *\n * @returns {Object} An object containing helper methods.\n * @returns {Function} return.getUrl - Generates a URL with UTM parameters. Optionally appends a target to the `utm_content` parameter.\n *\n * @example\n * const { getUrl } = useUtm({ directURL: \"https://example.com\", customUtmCampaign: \"holiday-sale\" });\n * const url = getUrl(\"button-click\");\n * console.log(url);\n * // Output: \"https://example.com?utm_source=some-path&utm_medium=website&utm_content=assetType-assetsVersion-button-click&utm_campaign=holiday-sale\"\n */\nexport const useUtm = ({\n directURL,\n customUtmCampaign\n}) => {\n const assetType = useAssetType();\n const {\n utm_campaign: utmCampaign_,\n assetsVersion,\n assetYear\n } = useAssetInfo();\n const utmCampaign = customUtmCampaign || utmCampaign_;\n\n const utm = {\n // entifies the source of your traffic (i.e., where the user came from).\n source: (window.location.pathname !== '/') ? window.location.pathname.replace(/\\//g, '') : `${utmCampaign}-${assetType}`,\n // identifies the specific campaign name, promotion, or product\n campaign: utmCampaign,\n // identifies the medium or channel of your traffic.\n medium: 'website',\n // used to differentiate between similar content or links in the same campaign.\n content: `${assetType}-${assetsVersion}${assetYear ? `-${assetYear}` : ''}`\n };\n\n const {\n source, campaign, medium, content\n } = utm;\n const urlSearchParams = new URLSearchParams();\n\n const utmParams = {\n utm_source: source,\n utm_medium: medium,\n utm_content: content,\n utm_campaign: campaign?.toLowerCase()\n };\n\n Object.keys(utmParams).forEach(paramKey => {\n if (utmParams[paramKey]) {\n urlSearchParams.append(paramKey, utmParams[paramKey]);\n }\n });\n\n const getUrl = (target = '') => {\n if (target) {\n const utmContent = urlSearchParams.get('utm_content');\n urlSearchParams.set('utm_content', `${utmContent}-${target}`);\n }\n return `${directURL}?${urlSearchParams.toString()}`;\n };\n\n return {\n getUrl\n };\n};\n"],"names":["AcademyLaunchFlyin","isSticky","props","getUrl","useUtm","directURL","redirectUrl","_jsx","FlyIn","div","className","data-jfa","_jsxs","img","src","alt","t","a","href","propTypes","string","onClose","children","CloseIconRenderer","FlyInRef","useRef","type","campaignType","assetsVersion","useAssetInfo","assetType","useAssetType","tickAction","useActionManager","isShow","setIsShow","useState","dismissKey","getDismissStorageItemKey","useEffect","document","querySelector","classList","remove","add","action","ref","data-campaign-type","button","aria-label","onClick","StorageHelper","key","value","ttl","node","elementType","defaultProps","IconXmark","trackOnceActions","actionManager","assetInfo","useAssetManagerContext","assetYear","target","toLowerCase","targetParam","trackOnce","trackOnceParam","includes","_target","registerJotformAction","useFlyinUtm","customUtmCampaign","utm_campaign","utmCampaign_","utmCampaign","campaign","medium","content","window","location","pathname","replace","urlSearchParams","URLSearchParams","utmParams","utm_source","filter","f","join","utm_medium","utm_content","Object","keys","forEach","paramKey","append","url","toString","source","utmContent","get","set"],"mappings":"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"}