{"version":3,"file":"FinChat.bundle.js","mappings":"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","sources":["webpack://advfnweb/webpack/runtime/chunk loaded","webpack://advfnweb/./advfn3/content/_common/finchat/src/js/FinChatIFrame.js","webpack://advfnweb/./advfn3/content/_common/finchat/src/js/FinChatEmbed.js","webpack://advfnweb/./advfn3/content/_common/finchat/src/js/marketing/ProductBox.js","webpack://advfnweb/./advfn3/content/_common/finchat/src/js/marketing/MarketingPage.js","webpack://advfnweb/./advfn3/content/_common/finchat/src/app.js","webpack://advfnweb/./advfn3/content/_common/finchat/src/scss/finchat.scss?c02e","webpack://advfnweb/webpack/bootstrap","webpack://advfnweb/webpack/runtime/define property getters","webpack://advfnweb/webpack/runtime/global","webpack://advfnweb/webpack/runtime/hasOwnProperty shorthand","webpack://advfnweb/webpack/runtime/make namespace object","webpack://advfnweb/webpack/runtime/node module decorator","webpack://advfnweb/webpack/runtime/runtimeId","webpack://advfnweb/webpack/runtime/jsonp chunk loading","webpack://advfnweb/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","class FinChatIFrame\n{\n constructor(element, { origin, token })\n {\n /** @type HTMLIFrameElement */\n this._element = element;\n\n this._frame = this._element.contentWindow;\n\n this._origin = origin;\n this._token = token;\n }\n\n setHeight(newHeight)\n {\n this._element.style.height = `${newHeight}px`;\n }\n\n boot()\n {\n const message = { token: this._token };\n\n this.postMessage(message);\n }\n\n postMessage(message)\n {\n message.token = this._token;\n\n this._frame.postMessage(message, this._origin);\n }\n}\n\nexport default FinChatIFrame;\n","import FinChatIFrame from './FinChatIFrame';\n\nclass FinchatEmbed\n{\n constructor(element, info)\n {\n this._element = element;\n this._info = info;\n\n this._iframe = new FinChatIFrame(this._element.querySelector('iframe'), this._info);\n\n this._initialPrompt = null;\n if (this._info.prompt !== null)\n {\n this._initialPrompt = atob(this._info.prompt);\n }\n\n this._adjustElementHeight();\n this._setUpMessageListener();\n }\n\n _handleMessages(event)\n {\n // We only care about FinChat messages\n if (event.origin !== this._info.origin) return;\n\n if (event.data === 'READY')\n {\n this._iframe.boot();\n setTimeout(() =>\n {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n\n if (this._initialPrompt !== null)\n {\n this._iframe.postMessage({\n query: this._initialPrompt,\n });\n }\n\n }, 150);\n return;\n }\n\n if (typeof event.data.type === 'undefined') return;\n\n switch (event.data.type)\n {\n case 'UserAction':\n if (typeof event.data.action !== 'undefined')\n {\n this._handleUserAction(event.data);\n }\n break;\n case 'paywallTierEvent':\n if (typeof event.data.tier !== 'undefined')\n {\n this._handlePaywallTierEvent(event.data.tier);\n }\n break;\n }\n }\n\n _handleUserAction(data)\n {\n switch (data.action)\n {\n // User clicked one of the company screener results\n case 'CompanyScreener':\n const fullSymbol = `${data.data.exchangeCode}-${data.data.ticker}`;\n const quoteRedirectUrl = `${this._info.quoteRedirect}?symbol=${fullSymbol}`;\n window.open(quoteRedirectUrl, '_blank');\n break;\n }\n }\n\n _handlePaywallTierEvent(tier)\n {\n if (this._info.tierHandling[tier])\n {\n const { action, url } = this._info.tierHandling[tier];\n\n switch (action)\n {\n case 'redirect':\n const site = window.location.host.split('.')[0];\n\n window.dataLayer.push({\n event: 'subscribe_cta_button_click',\n location: `advfn_intelligence_${tier.toLowerCase()}`,\n view: `${site}`,\n });\n window.location.href = url;\n break;\n\n case 'reload':\n window.location.reload();\n break;\n\n default:\n break;\n }\n }\n }\n\n _setUpMessageListener()\n {\n // Attach event to listen for messages\n window.addEventListener('message', this._handleMessages.bind(this));\n\n // Remove event listener when the window is closed\n window.addEventListener('unload', () =>\n {\n window.removeEventListener('message', this._handleMessages);\n });\n }\n\n _adjustElementHeight()\n {\n const y = this._element.offsetTop;\n const windowHeight = window.innerHeight;\n const newHeight = windowHeight - y;\n\n this._element.style.height = `${newHeight}px`;\n\n this._iframe.setHeight(newHeight);\n }\n}\n\nexport default FinchatEmbed;\n","class ProductBox\n{\n constructor(element)\n {\n /** @type {'monthly'|'yearly'} */\n this._mode = 'monthly';\n\n this._element = element;\n this._productId = this._element.dataset.productId;\n\n this._priceContainer = this._element.querySelector('.price');\n this._priceContainer.style.height = `${this._priceContainer.offsetHeight}px`;\n\n this._priceMonthly = this._element.querySelector('.price-monthly');\n this._priceYearly = this._element.querySelector('.price-yearly');\n\n this._ctaContainer = this._element.querySelector('.cta');\n this._ctaContainer.style.height = `${this._ctaContainer.offsetHeight}px`;\n\n this._ctaMonthly = this._element.querySelector('.cta-monthly');\n this._ctaYearly = this._element.querySelector('.cta-yearly');\n }\n\n /**\n * @param {'monthly'|'yearly'} mode\n */\n setMode(mode)\n {\n this._mode = mode;\n\n if (this._mode === 'monthly')\n {\n this._handleMonthlyMode();\n }\n else if (this._mode === 'yearly')\n {\n this._handleYearlyMode();\n }\n }\n\n _handleMonthlyMode()\n {\n this._priceContainer.style.opacity = 0;\n this._ctaContainer.style.opacity = 0;\n\n this._priceYearly.classList.add('hidden');\n this._ctaYearly.classList.add('hidden');\n\n setTimeout(() =>\n {\n this._priceMonthly.classList.remove('hidden');\n this._ctaMonthly.classList.remove('hidden');\n\n this._priceContainer.style.opacity = '';\n this._ctaContainer.style.opacity = '';\n }, 150);\n }\n\n _handleYearlyMode()\n {\n this._priceContainer.style.opacity = 0;\n this._ctaContainer.style.opacity = 0;\n\n this._priceMonthly.classList.add('hidden');\n this._ctaMonthly.classList.add('hidden');\n\n setTimeout(() =>\n {\n this._priceYearly.classList.remove('hidden');\n this._ctaYearly.classList.remove('hidden');\n\n this._priceContainer.style.opacity = '';\n this._ctaContainer.style.opacity = '';\n }, 150);\n }\n}\n\nexport default ProductBox;\n","import ProductBox from './ProductBox';\n\nclass MarketingPage\n{\n constructor(element)\n {\n this._element = element;\n\n this._priceToggle = this._element.querySelector('.price-toggle');\n\n this._btnMonthly = this._priceToggle.querySelector('button.price-monthly');\n this._btnYearly = this._priceToggle.querySelector('button.price-yearly');\n\n this._btnMonthly.addEventListener('click', this._handleMonthlyClick.bind(this));\n this._btnYearly.addEventListener('click', this._handleYearlyClick.bind(this));\n\n this._productBoxes = [];\n\n const productBoxElements = this._element.querySelectorAll('.product-box');\n if (productBoxElements)\n {\n productBoxElements.forEach((productBoxElement) =>\n {\n this._productBoxes.push(new ProductBox(productBoxElement));\n });\n }\n }\n\n _handleMonthlyClick()\n {\n this._btnYearly.classList.remove('active');\n this._btnMonthly.classList.add('active');\n\n this._productBoxes.forEach((productBox) =>\n {\n productBox.setMode('monthly');\n });\n }\n\n _handleYearlyClick()\n {\n this._btnMonthly.classList.remove('active');\n this._btnYearly.classList.add('active');\n\n this._productBoxes.forEach((productBox) =>\n {\n productBox.setMode('yearly');\n });\n }\n}\n\nexport default MarketingPage;\n","import FinchatEmbed from './js/FinChatEmbed';\nimport MarketingPage from './js/marketing/MarketingPage';\nimport './scss/finchat.scss';\n\n/* global FINCHAT_INFO */\n\ndocument.addEventListener('DOMContentLoaded', () =>\n{\n const finchatElement = document.querySelector('[data-app=\"finchat-embed\"]');\n\n if (!finchatElement) return;\n\n if (typeof FINCHAT_INFO === 'undefined')\n {\n throw new Error('FINCHAT_INFO is not defined');\n }\n\n new FinchatEmbed(finchatElement, FINCHAT_INFO);\n});\n\ndocument.addEventListener('DOMContentLoaded', () =>\n{\n const marketingPage = document.querySelector('.marketing-page');\n if (!marketingPage) return;\n new MarketingPage(marketingPage);\n});\n","// style-loader: Adds some css to the DOM by adding a